Modèle et expériences pour la visite des musées en réalité augmentée sonore. - Thèse Informatique

Modèle et expériences pour la visite des musées en réalité augmentée sonore. - thèse Informatique - Revenir à l'accueil

 

Thèses en informatique :

[TXT]

 APISENSE-a-distribut..> 04-Jan-2015 21:51  5.7M  

[TXT]

 APISENSE-terminaux-i..> 04-Jan-2015 21:53  5.4M  

[TXT]

 Addition-formulae-on..> 04-Jan-2015 21:26  3.0M  

[TXT]

 Classification-et-ca..> 04-Jan-2015 11:58  1.3M  

[TXT]

 Collaboration-de-tec..> 04-Jan-2015 21:27  2.4M  

[TXT]

 Contributions-a-la-v..> 04-Jan-2015 21:51  5.4M  

[TXT]

 Equilibrage-de-charg..> 04-Jan-2015 21:25  3.2M  

[TXT]

 Faciliter-le-develop..> 04-Jan-2015 21:56  4.4M  

[TXT]

 Factorisation-matric..> 04-Jan-2015 11:59  2.7M  

[TXT]

 Generation-automatiq..> 03-Jan-2015 22:04  2.6M  

[TXT]

 Gestion-de-la-variab..> 04-Jan-2015 21:55  4.8M  

[TXT]

 Idéalisation-d-asse..> 04-Jan-2015 11:57  2.1M  

[TXT]

 Inference-d-invarian..> 04-Jan-2015 11:58  1.5M  

[TXT]

 Integration-de l-inf..> 04-Jan-2015 21:25  3.4M  

[TXT]

 Interrogation-de-gra..> 03-Jan-2015 22:04  2.9M  

[TXT]

 La-gestion-du-trafic..> 03-Jan-2015 22:01  4.1M  

[TXT]

 Langage-de-mashup-Th..> 04-Jan-2015 21:24  4.1M  

[TXT]

 Les-logiciels-de-ges..> 03-Jan-2015 22:03  3.1M  

[TXT]

 Lh-rs-p2p-une-nouvel..> 04-Jan-2015 11:59  2.7M  

[TXT]

 Mesure-de-la-fragili..> 04-Jan-2015 21:24  3.8M  

[TXT]

 Meta-modelisation-du..> 04-Jan-2015 21:56  4.1M  

[TXT]

 Methode-de-classific..> 04-Jan-2015 11:58  1.3M  

[TXT]

 Methodes-sequentiell..> 04-Jan-2015 21:27  2.2M  

[TXT]

 Mise-en-oeuvre-appli..> 04-Jan-2015 21:54  4.4M  

[TXT]

 Modelisation-d-une-a..> 04-Jan-2015 21:53  5.0M  

[TXT]

 Modelisation-et-dete..> 04-Jan-2015 11:57  1.6M  

[TXT]

 Normalisation-et-App..> 03-Jan-2015 22:01  4.1M  

[TXT]

 Prise-en-compte-de-l..> 03-Jan-2015 22:04  2.8M  

[TXT]

 Qualification-system..> 04-Jan-2015 21:26  2.8M  

[TXT]

 Reconnaissance-de-co..> 03-Jan-2015 22:03  3.6M  

[TXT]

 Segmentation-supervi..> 04-Jan-2015 11:58  1.3M  

[TXT]

 Services-de-repartit..> 03-Jan-2015 21:59  4.7M  

[TXT]

 Techniques-visuelles..> 04-Jan-2015 21:27  2.7M  

[TXT]

 The-Emergence-of-Mul..> 03-Jan-2015 22:05  2.5M  

[TXT]

 Trigraphes-de-Berge-..> 03-Jan-2015 22:02  3.9M   

[TXT] Vers-une-capitalisat..> 03-Jan-2015 22:00 4.6M 

Congrès d'informatique :

[TXT]

 Application-Agnostic..> 03-Jan-2015 21:16  2.1M  

[TXT]

 Continuity-Editing-f..> 03-Jan-2015 17:35  4.0M  

[TXT]

 Double-WP-Vers-une-p..> 03-Jan-2015 17:36  4.0M  

[TXT]

 Effective-Reproducib..> 03-Jan-2015 21:18  2.0M  

[TXT]

 Enforcing-reuse-and-..> 03-Jan-2015 21:17  2.0M  

[TXT]

 Extracting-Bounded-s..> 03-Jan-2015 21:19  4.0M  

[TXT]

 Fingerprint-Quality-..> 03-Jan-2015 21:16  2.1M  

[TXT]

 GPU-Load-Balance-Gui..> 03-Jan-2015 21:18  4.0M  

[TXT]

 Minkowski-sum-of-pol..> 03-Jan-2015 21:17  2.0M  

[TXT]

 Quality-Assessment-o..> 03-Jan-2015 21:16  2.1M  

[TXT]

 Rester-statique-pour..> 03-Jan-2015 17:35  4.0M  

[TXT]

 The-Power-of-Polynom..> 03-Jan-2015 21:16  2.1M  
Cours d'informatique :

[TXT]

 Analyse-numerique-Co..> 03-Jan-2015 17:33  3.0M  

[TXT]

 Approches-m-k-firm-p..> 03-Jan-2015 17:27  3.7M  

[TXT]

 COURS-LA-CULTURE-INF..> 03-Jan-2015 17:25  3.8M  

[TXT]

 CRYPTANALYSE-DE-RSA-..> 03-Jan-2015 17:33  3.0M  

[TXT]

 Cours-Interconnexion..> 03-Jan-2015 17:34  3.0M  

[TXT]

 Cours-d-Analyse-et-C..> 03-Jan-2015 17:22  3.9M  

[TXT]

 Efficient-C++finite-..> 03-Jan-2015 17:30  3.5M  

[TXT]

 Efficient-C++finite-..> 03-Jan-2015 17:31  3.2M  

[TXT]

 Fondements-de-l-Info..> 03-Jan-2015 17:22  4.0M  

[TXT]

 INTRODUCTION-A-L-INF..> 03-Jan-2015 17:24  3.8M  

[TXT]

 Informatique-et-Ling..> 03-Jan-2015 17:24  3.8M  

[TXT]

 Initiation-a-l-infor..> 03-Jan-2015 17:26  3.8M  

[TXT]

 Intelligence-Artific..> 03-Jan-2015 15:16  2.5M  

[TXT]

 Introduction-a-l-ana..> 03-Jan-2015 17:27  3.7M  

[TXT]

 Introduction-a-la-ge..> 03-Jan-2015 17:26  3.8M  

[TXT]

 Le-routage-externe-B..> 03-Jan-2015 17:32  3.1M  

[TXT]

 Le-systeme-d-informa..> 03-Jan-2015 17:32  3.1M  

[TXT]

 Lecture1_Linear_SVM_..> 03-Jan-2015 14:57  2.4M  

[TXT]

 Lecture2_Linear_SVM_..> 03-Jan-2015 14:56  2.4M  

[TXT]

 Lecture3_Linear_SVM_..> 03-Jan-2015 14:56  2.4M  

[TXT]

 Lecture4_Kenrels_Fun..> 03-Jan-2015 14:55  2.4M  

[TXT]

 Lecture5_Kernel_SVM...> 03-Jan-2015 14:55  2.4M  

[TXT]

 Lecture6_SVDD.pdf.htm   03-Jan-2015 14:54  2.4M  

[TXT]

 Lecture7_Cross_Valid..> 03-Jan-2015 14:54  2.4M  

[TXT]

 Lecture8_Multi_Class..> 03-Jan-2015 14:57  2.4M  

[TXT]

 Lecture9_Multi_Kerne..> 03-Jan-2015 14:53  2.5M  

[TXT]

 Lecture10_Outilier_L..> 03-Jan-2015 14:53  2.5M  

[TXT]

 Les-reseaux-sans-fil..> 03-Jan-2015 15:17  2.5M  

[TXT]

 NooJ-pour-l-Intellig..> 03-Jan-2015 17:30  3.2M  

[TXT]

 Outils-Logiques-pour..> 03-Jan-2015 15:15  2.8M  

[TXT]

 Presentation-de-la-r..> 03-Jan-2015 17:33  3.0M  

[TXT]

 Projet-IP-SIG-Signal..> 03-Jan-2015 15:16  2.5M  

[TXT]

 Robotique-Mobile-PDF..> 03-Jan-2015 15:16  2.6M  

[TXT]

 Systeme-informatique..> 03-Jan-2015 15:17  2.5M  

[TXT]

 Systemes-Multi-Agent..> 03-Jan-2015 17:28  3.5M  

[TXT]

 Tutoriel-Android-TP-..> 03-Jan-2015 14:57  2.3M  

[TXT]

 Understanding-SVM-th..> 03-Jan-2015 14:57  2.4M  

[TXT]

 Une-histoire-de-la-m..> 03-Jan-2015 17:28  3.5M  

[TXT]

 Une-introduction-aux..> 03-Jan-2015 17:31  3.1M  

[TXT]

 Vers-une-signalisati..> 03-Jan-2015 17:25  3.8M 
Mod`ele et exp´eriences pour la visite des mus´ees en r´ealit´e augment´ee sonore. Fatima-Zahra Azough To cite this version: Fatima-Zahra Azough. Mod`ele et exp´eriences pour la visite des mus´ees en r´ealit´e augment´ee sonore.. Signal and Image Processing. Conservatoire national des arts et metiers - CNAM, 2014. French. . HAL Id: tel-01087127 https://tel.archives-ouvertes.fr/tel-01087127 Submitted on 25 Nov 2014 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destin´ee au d´epˆot et `a la diffusion de documents scientifiques de niveau recherche, publi´es ou non, ´emanant des ´etablissements d’enseignement et de recherche fran¸cais ou ´etrangers, des laboratoires publics ou priv´es.École Doctorale Informatique, Télécommunications et Électronique de Paris Laboratoire Cedric, Equipe ILJ THÈSE DE DOCTORAT présentée par : Fatima Zahra KAGHAT soutenue le : 16 Mai 2014 pour obtenir le grade de : Docteur du Conservatoire National des Arts et Métiers Discipline/ Spécialité : Informatique Modèle et expériences pour la visite de musées en réalité augmentée sonore THÈSE dirigée par : M CUBAUD Pierre Professeur des universités, Cnam Paris RAPPORTEURS : M LEMORDANT Jacques HDR, INRIA Rhône-Alpes M ZREIK Khaldoun Professeur des universités, Université Paris 8 EXAMINATEURS : M BOISSARIE Xavier CEO, Orbe M GRESSIER Eric Professeur des universités, CNAM Paris M NATKIN Stéphane Professeur des universités, CNAM Parisi Remerciements Cette thèse doit beaucoup aux nombreuses personnes qui m’ont encouragé, soutenu et conforté au long de toutes ces années. Qu’elles trouvent dans ce travail l’expression de mes plus sincères remerciements. Je souhaite tout d’abord remercier Pierre Cubaud pour avoir proposé, accepté et encadré cette thèse. J’aimerai le remercier pour la confiance qu’il m’a accordée du début à la fin du travail, pour sa disponibilité, sans oublier son soutien scientifique et psychologique qui m’a aidé à remonter le pont dans plusieurs reprises. Je n’oublie pas enfin son aide précieuse dans la relecture et la correction de ma thèse. La justesse de ses critiques a été très constructive et utile. Sincèrement, j’ai beaucoup appris à ses côtés et je suis chanceuse d’avoir eu l’occasion de travailler sous sa supervision. Je tiens à remercier également tous les membres de mon jury Jacques Lemordant et Khaldoun Zreik d’avoir accepté de rapporter ma thèse et de l’intérêt qu’ils ont manifesté à mon travail. Ainsi que Stephane Natkin, Eric Gressier et Xavier Boissarie pour avoir honoré ma soutenance par leur participations à mon jury en tant qu’examinateurs. Heureusement que mes parents, ma famille et mes amis ont tous étaient là. Ils ont tous cru en moi et maintenant, j’y suis ! Je dois beaucoup à mes parents Najia Berrada et Noureddine Kaghat qui m’ont donné un amour et une confiance indicibles. Ils m’ont éduqué sur l’amour du savoir et le goût de la lecture et de la recherche. Je ne remercierai jamais assez mon époux Ahmed Azough, qui m’avait promis dès le début de notre union un soutien sans faille pour réussir une thèse de doctorat. Je lui dis qu’il a parfaitement tenu sa promesse. Je le remercie pour son soutien au quotidien, sa présence, sa patience, sa compréhension, sa confiance et sa capacité à me faciliter la vie durant ces années de thèse. Je n’oublierai pas non plus le soutien de mes beaux-parents Hayat Hamidi et Ibrahim Azough qui m’ont toujours offert affection et compréhension, mais aussi mon frère Redouane, mes surs Asmae et Firdaous, mes beaux-frères et belles-surs et mes amis. Je suis également reconnaissante à tous ceux qui m’ont aidé pendant l’évaluation de mes travaux : Zacharia Agedach, Cécile Leprado, Christophe Pietry, Stephane Rodovski, ainsi que le personnel du Musée des Arts et Métiers. Sans oublier mes amis du laboratoire Cedric avec qui j’ai passé des agréables moments qui resteront inoubliables : Amélie Lambert, Sourour Layouni, Daniel Enselme, Sami Tak Tak, Viviane Gal, Aréti Damala, Guillaume Levieux et toute l’équipe ILJ. J’en oublie certainement d’autres et je m’en excuse. Encore un grand merci à tous pour m’avoir conduit à ce jour mémorable. Enfin, à mon petit Yacine qui m’a posé une sérieuse date limite, je lui dédie cette thèse.ii Résumé Cette thèse consiste à explorer l’usage de la réalité augmenté sonore pour la visite de musées. Notre objectif est de proposer un audioguide permettant d’immerger le visiteur dans une scène sonore constituée de sons ambiants et de commentaires associés aux objets exposés, et de minimiser ses efforts pour découvrir ces objets et interagir avec cet environnement sonore. La première contribution de cette thèse concerne la mise en place d’une preuve de concept de SARIM (Sound Augmented Reality Interface for visiting Museum). Cette preuve de concept a été développée en utilisant des capteurs de position et d’orientation filaire et non filaire. La deuxième contribution concerne la modélisation de la visite augmentée par la dimension sonore. Après une étude des modèles existants, l’objectif est de concevoir un modèle comprenant une représentation du visiteur, du paysage sonore et de la navigation et offrant une grande flexibilité pour créer l’environnement sonore. Ce modèle a comme finalité de faciliter la conception de différents types de scénarios de visite sur la base de la notion de zone d’audibilité. La troisième contribution de cette thèse est le travail d’évaluation mené dans un environnement réel qu’est le musée des arts et métiers de Paris, et qui a permis de confirmer l’utilisabilité, ainsi que l’apport didactique et ludique que procure la réalité augmentée sonore en général et le système SARIM en particulier pour prolonger et enrichir la visite de musées. Mots clés : Réalité augmentée, visite musée, captation de mouvement, personnalisation, modélisation, spatialisation sonore, audioguide Abstract The goal of this thesis is to explore the use of sound to increase the museum visits. We aim to provide an audioguide to immerse the visitor in a soundstage consisting of ambient sounds and comments associated with the exhibits, and minimize its efforts to discover these objects and interact with the sound environment. The first contribution of this thesis is the implementation of a proof of concept of SARIM (Sound Augmented Reality Interface for visiting Museum). This proof of concept was developed using position sensors and guidance wired and wirelessly. The second contribution concerns the modeling of the augmented visit by the sound dimension. After a review of existing models, the objective is to design a model that includes a representation of the visitor, the soundscape and navigation, offering the flexibility to create the sound environment. This model has the purpose of facilitating the design of different types of scenarios based on the concept of audibility area. The Third contribution of this thesis is the evaluation conducted in a real enrironnement what the Museum of Arts and Crafts in Paris, which confirmed the usability, as well as providing educational and ludic apport of the audio augmented reality in general and the SARIM in particular to extend and enrich the museum visits. Keywords : Augmented reality, museum visit, motion tracking, context aware, adaptive sytem, user modeling, sound spatialization, audioguideTable des matières Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii Table des matières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii 1 Introduction 1 1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Chronologie des travaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Organisation de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 État de l’art 7 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 La réalité augmentée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Le son, un outil d’augmentation de la réalité . . . . . . . . . . . . . . . . 11 2.4 La spatialisation sonore pour la réalité augmentée . . . . . . . . . . . . . 17 2.5 Cas d’étude : la visite et la médiation dans les lieux culturels . . . . . . . 22 2.6 La visite augmentée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3 Dispositif du visiteur 41 3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2 Expérimentations initiales . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3 Captation de mouvement . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.4 Dispositif expérimental final . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4 Modélisation de la visite augmentée 59 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2 Scénarios de visite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.3 Personnalisation du contenu . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.4 Description du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.5 Scène sonore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68iv TABLE DES MATIÈRES 4.6 Visiteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.7 Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.8 Exemple développé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.9 Extension du modèle pour les visiteurs malvoyants . . . . . . . . . . . . 99 4.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5 Evaluation de la visite augmentée 105 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.2 Évaluation des dispositifs de réalité augmentée . . . . . . . . . . . . . . . 106 5.3 Expérience 1 : Étude comparative de deux dispositifs dans la salle des communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.4 Expérience 2 : Étude de deux configurations de scènes sonores dans la salle des automates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 6 Conclusion et travaux futurs 143 6.1 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 A Annexe 153 A.1 Calcul de l’orientation avec Sparkfun IMU-6DOF-V4 . . . . . . . . . . . 153 A.2 Consignes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 A.3 Formulaire de recrutement . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 A.4 Questionnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Bibliographie 1851 Introduction 1.1 Contexte La réalité augmentée permet de mélanger les objets réels et virtuels en utilisant les dispositifs d’interaction 3D de la réalité virtuelle dans un espace réel. La réalité augmentée dans sa dimension visuelle a été depuis longtemps la plus explorée pour amé- liorer la perception. Bien qu’elle ait permis, en l’appliquant à différents domaines, d’enrichir l’environnement visuel de l’utilisateur, elle a cependant le défaut de contraindre ce dernier à regarder constamment un écran mobile qui va superposer des éléments fictifs sur l’environnement observé, et ainsi restreindre le champs de vue de l’utilisateur. Ce travail a pour objectif d’explorer la réalité augmentée, non pas dans sa dimension visuelle, mais auditive, en ajoutant numériquement des sons virtuels à l’espace physique. Par ce procédé, nous faisons profiter l’utilisateur des informations sonores qui accompagnent les objets présentés tout en assurant une interaction fluide entre l’utilisateur et les informations associées aux objets. Une interaction qui a comme objectif de diminuer au maximum la quantité d’attention demandée à l’utilisateur pour interagir avec son environnement. Dans cette thèse, nous décrivons SARIM, un système de réalité augmentée sonore appliqué à la visite du musée des arts et métiers de Paris (MAM) 1 . Le MAM a la particularité d’abriter de nombreuses machines mécaniques, électriques, musicales et autre, qui en cas de marche produisent des sons qui contribuent pleinement à créer leurs identité. Malheureusement, de nombreuses contraintes empêchent la mise en marche de ces 1. http ://www.arts-et-metiers.net/2 Chapitre 1. Introduction machines au sein du musée, ce qui prive les visiteurs d’informations pertinentes sur leur fonctionnement. L’incorporation des sons et des bruits de fonctionnement des machines participera à transformer le musée en une usine en marche, d’éveiller la curiosité des visiteurs et ainsi de les faire voyager dans le temps. L’objectif de ce travail est de proposer, aux visiteurs des musées, une visite à la fois agréable et instructive, en augmentant les œuvres du musée par des sons virtuels. Bien qu’il n’est pas destiné à se restreindre au seul domaine applicatif des musées, SARIM s’inscrit dans la continuité des systèmes de réalité augmentée sonore appliquées à la visite de musée, tels que ec(h)o [Wakkary07, Hatala04], Listen [Zimmermann08, Eckel01a, Eckel01b, Delerue02, GoBmann02], et Sound Delta [Mariette09]. SARIM a été conçu et développé avec le souci de minimiser au maximum le degré d’attention requise de la part de l’utilisateur pour interagir avec son environnement, tout en lui procurant des moyens intuitives d’interaction avec ce dernier. En effet, à la différence des audioguides usuels pour la visite des musée, SARIM ne propose pas de dispositifs manuels pour sé- lectionner et contrôler le paysage sonore. SARIM assure toutefois une interaction fluide et continue en se basant sur la captation de la position et de l’orientation du visiteur. En plus de transmettre au visiteur le contenu audio compatible à son emplacement et son orientation au sein de l’espace sonore, SARIM permet également de détecter essentiellement les gestes des utilisateurs, qui une fois interprétés permettent de contrôler la scène sonore. L’autre objectif du travail est de concevoir un système, sensible aux inté- rêts des visiteurs, capable de les capter au cours de la visite, et pouvant adapter la scène sonore en temps réel pour s’accorder au mieux avec les préférences des visiteurs. Sur le plan architectural, le modèle du système SARIM est conçu d’une manière modulaire qui décompose le système en différente parties disjointes. Chaque partie, est elle même structurée en plusieurs couches. Ceci permet une gestion indépendante des différentes parties, et facilite la paramétrisation du système. La problématique de ce travail est donc dans la croisée de plusieurs domaines : la réalité augmentée, le son et la spatialisation sonore, l’IHM, la géolocalisation, ainsi que la médiation culturelle (figure3.2). 1.2 Chronologie des travaux Notre travail a été mené dans plusieurs directions et a été organisé d’une manière itérative (figure 1.2). En effet, chaque axe est développé selon plusieurs dimensions analytique, théorique, pratique et expérimentale. Le premier axe du travail était la problématique de la captation du mouvement. Nous avons commencé dès le début de l’année 2009 par étudier un module de captation de mouvement filaire, puis nous avons développé un modèle de captation de mouvement basé sur ce module. Ensuite nous avons opté, dès le deuxième semestre 2009, pour les micro-capteurs sans fils de type MEMS (chapitre 3). Nous avons conçuSection 1.2. Chronologie des travaux 3 FIGURE 1.1 – Disciplines concernées par ce travail en premier lieu un modèle de captation de mouvement utilisant les mesures magné- tiques d’un capteur inertiel, puis nous avons conçu et développé des algorithmes de détection de mouvement permettant de combiner les mesures magnétiques et gyroscopiques. Les différents développements des solutions de captation de mouvement ont tous été suivis de phases d’expérimentations. L’axe de l’édition de la scène sonore a pris une part importante dans le travail de thèse, pour ainsi permettre au concepteur de scène sonore de la visualiser et de la contrôler via une interface de rendu visuel 2D ou 3D. Afin d’avoir un retour visuel, nous avons commencé à développer, à partir de 2010, plusieurs versions d’interfaces de visualisation de la scènes sonore, comprenant une interface d’édition et une interface de démonstration. Nous avons également développé une interface de suivi de la navigation du visiteur lors de sa visite au musée. Cette interface à été utilisée dans la phase d’expérimentation qui a été réalisée à partir du deuxième semestre 2012. Un travail d’étude et de conception a été ensuite entrepris avec le but de concevoir une interface homme-machine pour l’édition des scènes sonores adaptées à la visite augmentée de musées basé sur notre modèle de visite. En parallèle, l’axe de la modélisation de la visite augmentée était étudié. Cet axe, développé courant 2011, a permis, après une étude des modèles existants, de concevoir un modèle comprenant une représentation du visiteur, du paysage sonore et de la na-4 Chapitre 1. Introduction vigation du visiteur dans le paysage sonore, suivant plusieurs niveaux d’abstraction. Le développement et l’évaluation d’une partie de ce modèle ont été ensuite réalisés pendant l’année 2012. 1.3 Organisation de la thèse Ce mémoire est composé de cinq autres chapitres. Outre ce chapitre d’introduction, le chapitre suivant décrit un état de l’art (chapitre 2) qui porte sur la notion de réalité augmentée en se concentrant sur l’augmentation sonore. Nous décrivons ensuite les principaux systèmes de réalité augmentée sonore conçus pour le domaine de la visite du musée. Cette partie évoque aussi la problématique de la visite du musée, et les systèmes de guidage et de médiation. Le chapitre 3 présente l’idée de base qui a été le fil conducteur de cette thèse : celle de rajouter numériquement la dimension sonore à la visite de musées. Nous présentons l’architecture matérielle et logicielle d’un premier prototype, du dispositif du visiteur et des expérimentations préliminaires que nous avons menées pour examiner la faisabilité du projet. Le chapitre 4 concerne la modélisation de la visite augmentée, qui repose sur la modélisation des différentes entités qui la composent. Dans ce chapitre, nous commençons par illustrer notre objectif à travers des scénarios types qui ont motivé la modélisation. Puis nous enchaînons avec la description du modèle lui-même. Nous présentons la structure du paysage sonore adoptée, composée de trois couches physique, virtuelle et sémantique. Nous modélisons ensuite le visiteur à travers ses informations d’emplacement et ses gestes mais également à travers ses préférences et ses intérêts (section 4.6), et finalement nous décrivons le modèle de navigation du visiteur dans le paysage sonore (section 4.7). Après avoir proposé une conception du dispositif, des scénarios interactifs, et un modèle de visite, le chapitre 5 décrit la partie expérimentale de notre travail. Elle a pour objectif la mise en application du modèle, des scénarios et du dispositif de l’utilisateur en situation réelle, celle de la visite du MAM. Cette étape d’expérimentation a été nécessaire pour valider nos hypothèses théoriques, et pour pouvoir mesurer l’acceptabilité de notre système (SARIM), jusqu’alors peu connu par les visiteurs du musée. Ce document se termine par une conclusion et un aperçu sur les travaux futurs (chapitre 6). Nous pouvons citer parmi ces travaux futurs l’outil auteur pour lequel nous avons commencé la conception. Il permettra de concevoir les scènes sonores et de tester virtuellement la mise en place de SARIM.Section 1.3. Organisation de la thèse 5 FIGURE 1.2 – Chronologie des travaux de recherche6 Chapitre 1. Introduction 1.4 Publications Plusieurs parties de cette thèse ont été publiées dans quelques articles scientifiques dont voici un résumé. D’autres parties sont ne sont néanmoins pas encore publiées. Année Article 2009 [KlD09] F. Kaghat , C. le Prado , A. Damala , P. Cubaud - Experimenting with Sound Immersion in an Arts and Crafts Museum, ICEC 09, 8th Int. Conf. on Entertainment Computing,Paris-France, September 2009, pp.173-178, Series LNCS 5709. 2010 [KC10] F. Kaghat , P. Cubaud - Fluid interaction in audio-guided museum visit : Authoring tool and visitor device, VAST’10, Virtual Reality, Archaeology and Cultural Heritage, The 8th EUROGRAPHICS Workshop on Graphics and Cultural Heritage, Full Papers, Paris, France, September 21-24, 2010, September 2010, September 2010. 2012 [KSC12] F. Kaghat , F. Sailhan , P. Cubaud - Application de la réalité augmentée sonore pour les visites de musées par les malvoyants, Handicap 2012, 7ème congrès sur les aides techniques pour les personnes handicapées., July 2012, pp.50, Paris, France.2 État de l’art 2.1 Introduction La réalité augmentée occupe de plus en plus de place dans la visite de lieux culturels. Elle permet de mélanger les objets réels et virtuels en utilisant les dispositifs d’interaction 3D de la réalité virtuelle dans un espace réel. Elle offre une expérimentation du monument et une notion de temporalité jusqu’alors imperceptible, sans dénaturer le lieu. Elle permet ainsi de visiter un même lieu de patrimoine à la fois tel qu’il est dans son environnement actuel et, par l’intermédiaire de la réalité augmentée, tel qu’il a été par le passé ou qu’il peut être dans le futur [Durand11]. Cependant, la dimension visuelle a été depuis longtemps la plus explorée en réalité augmentée pour améliorer la perception plus que la dimension sonore. Le son fait partie intégrante de notre perception du monde. Il est en effet très rare de se trouver dans un environnement dénué de toute stimulation sonore. Lorsqu’un évé- nement sonore se produit, par exemple en montagne ou dans le désert, une sensation étrange presque inquiétante est ressentie [Bouvier09]. En règle générale, le son rassure, on se sent moins seul. Ceci constitue une des raisons qui militent pour que la stimulation sonore soit présente dans un environnement virtuel. Deuxièmement, ne pas percevoir de stimulation sonore peut provoquer un effet de manque chez l’utilisateur qui peut être préjudiciable à l’expérience et donc à l’émergence du sentiment de présence. Troisièmement, le son fournit des informations qui, croisées avec les autres perceptions (visuelles notamment) permettent une bonne compréhension de l’environnement.8 Chapitre 2. État de l’art L’objectif de ce chapitre est d’étudier quelques systèmes de réalité augmentée sonore existants dans le domaine de la visite de musées. Ce chapitre est divisé en trois sections principales. La première section aborde la notion de réalité augmentée (Section 1.2), et met l’accent sur la dimension sonore dans l’augmentation de la réalité, une dimension qui est souvent négligée (Section 1.3), en terminant par la réalité augmentée sonore utilisant les techniques de la spatialisation sonore pour orienter et immerger les utilisateurs (Section 1.4). La deuxième section se concentre sur la problématique de la visite, le guidage et les systèmes d’aide à la visite ou audioguides, tout en évoquant la problématique de la géolocalisation dans la visite du musée et la personnalisation des contenus. Nous soulignons également dans cette section le manque constaté dans le développement des outils auteurs pour la visite des musées (Section 1.5). La dernière section s’intéresse elle à la croisée des deux sections précédentes ; celle d’étudier les expériences existantes qui visent à augmenter la visite de musées par la dimension visuelle et sonore (Section 1.6). 2.2 La réalité augmentée La naissance de la réalité augmentée se situerait au milieu des années 1960, avant même que les termes de réalité virtuelle (RV) ou augmentée (RA) aient été envisagés. Elle est survenue au moment où Sutherland [Sutherland68] inventa le premier casque qui combinait la vue de la réalité et une image de synthèse. L’affichage était effectué par des tubes cathodiques miniatures et le suivi des mouvements de la tête de l’utilisateur était assuré par un bras mécanique lié au casque. Un intérêt soudain pour la réalité augmentée s’est révélé. Ainsi, la réalité augmentée est rendue possible par un système capable de faire coexister spatialement et temporellement un monde virtuel avec l’environnement réel. Cette coexistence a pour objectif l’enrichissement de la perception qu’a l’utilisateur de son environnement réel par des augmentations visuelles, sonores ou haptiques [Mallem08]. Quelques définitions Trouver une définition précise et consensuelle de la RA n’est pas une tâche facile. Cela dépend de la provenance des chercheurs qui la définissent et de l’angle d’étude de leurs travaux. En effet la notion de RA couvre plusieurs définitions traduisant différents courants de recherche menés en parallèle dès les années 90. Wendy Mackay [Mackay93] définit la RA comme une manière de réintégrer "l information électronique dans le monde physique". Il s’agit de "permettre aux gens de tirer parti de leurs compétences dans l interaction avec le monde de tous les jours, tout en pro tant de la puissance des réseaux informatiques". Cette définition s’appuie résolument sur la conservation et l’amplification du réel, par exemple, la feuille de papier physique, objet familier, est augmentée de capacités de traitement de l’information [Mackay93, Mackay96]Section 2.2. La réalité augmentée 9 Pour Azuma [Azuma01] un système de RA complète le monde réel avec des objets virtuels qui semblent coexister dans le même espace que le monde réel. Un système de RA a les propriétés suivants : – Il combine des objets réels et virtuels dans un environnement réel, – Il fonctionne de manière interactive en temps réel, – Il fait coïncider des objets réels avec des objets virtuels. La réalité augmentée est alors un moyen d’augmenter les sens de l’utilisateur, de transformer des événements imperceptibles en phénomènes visibles audibles ou touchables, c’est vu comme une symbiose entre l’homme et la machine comme jamais auparavant. De son côté Milgram [Milgram99, Milgram94b, Milgram94a] définit la RA comme l’ensemble des cas où un environnement réel est augmenté au moyen d’objets virtuels. La réalité virtuelle et la réalité augmentée Depuis le début des années 1990, l’évolution des technologies de la réalité virtuelle permet d’immerger complètement l’utilisateur dans un environnement virtuel. Toutefois, cette immersion ne permet pas à l’utilisateur de percevoir et d’interagir avec son environnement réel [Mallem08]. La réalité augmentée est donc parfois définie comme prenant le contre-pied de cette approche immersive, et au lieu d’enfermer les personnes dans un monde artificiel, se propose d’utiliser l’ordinateur pour simplement augmenter le monde réel des utilisateurs [Wellner93]. Ainsi, la réalité augmentée permet justement la perception et l’interaction de l’utilisateur avec les deux environnements. Par conséquent, la réalité augmentée complète la réalité et n’a pas vocation à la remplacer complètement [Azuma97] comme dans le cas de la réalité virtuelle. Afin de clarifier les concepts, Paul Milgram a proposé une unification de ces concepts en considérant un "continuum réel-virtuel" qui va du monde réel jusqu’aux environnements entièrement virtuels tels que proposés par la RV [Milgram94a, Milgram94b, Milgram99]. Ainsi le concept d’environnement de réalité augmentée peut être placé quelque part le long de ce continuum. Les auteurs définissent ainsi le terme plus générique de ”réalité mixte”, qui sous-entend différents degrés de fusion des mondes réels et virtuels. La réalité mixte se décline en deux sous cas : la Réalité Augmentée (RA) et la Virtualité Augmentée (VA) selon la proposition d’objets réels ou virtuels (Figure 2.1). Dubois [Dubois01a] a une approche différente car il distingue la RA et la VA selon deux concepts distincts (Figure 2.2), en considérant l’objet de la tâche qui est soit réel (interaction homme-monde réel) ou virtuel (interaction homme machine) : Le continuum de la Réalité Augmentée : l’interaction se passe dans le monde réel et elle est augmentée par l’ordinateur. Le continuum de la Virtualité Augmentée : l’interaction avec l’ordinateur est augmentée par des objets et des actions dans le monde réel.10 Chapitre 2. État de l’art FIGURE 2.1 – Le continuum réel-virtuel [Milgram94a] FIGURE 2.2 – Triangle de la Réalité Augmentée et la Réalité virtuelle [Dubois01b] Le concept de l’augmentation Une augmentation consiste en la synthèse par ordinateur d’un élément virtuel destiné à l’un des sens de l’utilisateur. Ce virtuel peut être visuel, haptique, sonore, voire olfactif. Par exemple, la réalité augmentée permet la perception d’indices dans l’environnement que l’utilisateur ne pourrait pas percevoir avec ses propres sens, d’où le terme augmentation. Cette assistance permet alors à l’utilisateur de réaliser des tâches complexes qu’il ne pourrait mener à bien autrement [Mallem08]. De son côté Wendy Mackay distingue trois types d’augmentation. Augmentation de l’utilisateur : grâce au dispositif porté par l’utilisateur généralement sur la tête ou sur la main. Augmentation des objets physiques : l’objet physique est modifié en incorporant des périphériques d’entrée ou de sorties dessus. Augmentation de l’environnement des utilisateurs et des objets : ni l’utilisateur ni les objets ne sont directement affectés. A la place, des périphériques indépendants fournissent et collectent de l’information de l’environnement, en affichant l’information sur les objets et en capturant l’information sur l’interaction de l’utilisateur avec ceux-ci.Section 2.3. Le son, un outil d’augmentation de la réalité 11 Thomas Baudel [Baudel95], quant à lui définit ce concept d’augmentation comme visant à augmenter les propriétés des objets de notre entourage de capacité de traitement d’informations. En plus de leurs fonctions matérielles, ils acquièrent une fonction informatique, par leur capacité de réagir non pas aux seuls phénomènes physiques auxquels ils sont soumis, mais aussi aux informations qu’ils captent sur l’état de leur entourage (personnes, environnements, autres objets augmentés...). Gonot [Gonot08] définit l’augmentation comme étant la superposition d’un modèle virtuel 3D ou 2D à la perception (visuelle, auditive, etc.) que nous avons naturellement de la réalité et ceci en temps réel. Nous avons vu que la définition de la notion de l’augmentation n’est pas fixe et dépend des auteurs, de leur communauté scientifique et de leurs intentions. En Graphique, la RA dérive par exemple de vrais pixels d’origine vidéo qui sont fusionnés à des pixels de synthèse [Azuma97]. En interaction homme-machine, la RA, en réaction à l’immersion virtuelle, s’appuie résolument sur la conservation et l’amplification du réel [Chalon04]. Le concept de l’augmentation de la réalité nous paraît encore plus complexe que l’on peut penser, parce qu’il peut s’agir aussi de diminution de la réalité. En effet, si les développeurs de réalité augmentée ont pour but de rajouter de l’information aux objets qui nous entourent. En revanche, les développeurs de la réalité diminuée visent à éliminer les parties du monde qui nous entoure. Même si la réalité diminuée semble être le contraire de la réalité augmentée, elle est souvent considérée comme étant un type de réalité augmentée [Rolim12]. Même si la modalité sensorielle privilégiée par la réalité augmentée est la vision, elle est applicable aux autres sens de l’utilisateur incluant l’audition, le toucher, et l’odorat [Azuma01]. Nous nous focalisons dans cette thèse sur l’audition pour augmenter la réalité en posant les questions suivantes : comment l’audition peut amplifier et augmenter notre perception ? Qu’entendons-nous pas réalité augmenté sonore ? Quel est l’apport du son pour la réalité augmentée ? Et quelle technique de restitution sonore peut-on utiliser pour amplifier la réalité ? 2.3 Le son, un outil d’augmentation de la réalité Un système de réalité augmentée, comme nous avons vu, permet de mixer le virtuel et le réel. Il met en correspondance ces derniers en cas de mobilité de l’utilisateur ou de l’environnement et permet à l’utilisateur d’interagir en temps réel, avec le système. Le concept de réalité augmentée sonore caractérise les techniques qui permettent d’étendre le son d’un composant réel par un environnement sonore virtuel et par des scénarios de communication. La réalité augmentée sonore permet donc d’augmenter la perception sonore, en associant des objets virtuels (notamment des sons) aux objets réels. La différence fondamentale entre un environnement audio réel et virtuel, est que12 Chapitre 2. État de l’art les sons virtuels sont originaires d’un autre environnement où ils sont créés artificiellement. Ainsi, la réalité augmentée sonore combine ces aspects d’une manière que les scènes sonores réelles et virtuelles sont mélangées afin que les sons virtuels soient per- çus comme une extension des sons réels. Il convient de signaler que les premiers travaux sur l’augmentation audio n’utilisaient pas le recalage au sens visuel mais plutôt du son localisé dans l’espace. Il s’agissait de son localisé avec l’utilisateur que celui-ci pouvait déclencher par sa présence à proximité d’un lieu en utilisant des systèmes de radio fréquences dont les descendants sont aujourd’hui le RFID [Lyons00]. Néanmoins, des travaux plus récents tendent à apporter une augmentation audio spatialisée (et donc avec recalage) à l’utilisateur. Dans un premier temps, nous présentons brièvement les phénomènes physiques et physiologiques qui interviennent lors de la perception humaine du son. Ensuite nous allons identifier les multiples apports du son pour la réalité augmentée, en citant quelques systèmes de RA sonores. 2.3.1 De l’audition à la perception L’audition avec la vision sont deux sens humains très utilisés pour s’informer. L’audition est omnidirectionnelle et par là, elle capte tous les sons de l’environnement qu’ils soient utiles ou non. En contrepartie, elle nous permet de réagir extrêmement efficacement à tout événement sonore, y compris lorsque l’origine du son n’est pas directement visible, qu’elle soit derrière nous, ou cachée derrière un obstacle. L’aspect perceptif de l’audition est un facteur de premier plan dans les applications d’acoustique virtuelle, puisqu’elles s’adressent en premier lieu à des auditeurs humains. L’oreille est donc un récepteur exceptionnel qui n’a rien de commun avec les autres récepteurs artificiels comme les microphones. En combinaison avec notre système auditif, elle nous permet d’analyser d’une manière fine tant du point de vue fréquentiel que directionnel, les ondes sonores qui nous atteignent. Le système auditif : anatomie et physiologie Pour mieux comprendre le fonctionnement de notre système auditif, jetons un coup d’œil sur l’anatomie et la physiologie de notre système auditif, afin de comprendre comment une variation de pression est transformée en impulsion électrique compré- hensible par le cerveau. Cette transformation se déroule dans les trois régions anatomiques distinctes qui composent l’oreille : l’oreille externe, l’oreille moyenne et l’oreille interne. L’organisation globale de l’oreille est visible sur la figure (Figure 2.3). Selon [Bourdot06], le processus est traité comme suit : L’oreille externe : l’oreille externe se compose du pavillon et du conduit auditif. Elle fonctionne comme un résonateur qui permet d’amplifier les vibrations qui sontSection 2.3. Le son, un outil d’augmentation de la réalité 13 comprises entre 1500 et 7000 Hz. La forme du pavillon en entonnoir permet une captation du son plus efficace puis concentre l’onde en direction du conduit ou canal auditif. Le pavillon a une configuration particulière faite de bosses et de creux qui est propre à chaque auditeur. Ces reliefs provoquent de multiples réflexions et diffractions qui modifient le spectre du son. Ces modifications du spectre sont exploitées par la suite pour localiser une source sonore. L’onde se propage alors dans le canal auditif jusqu’à rencontrer le tympan. L’oreille moyenne : suite à la rencontre entre l’onde sonore et le tympan, celui-ci va osciller à son tour. Les oscillations du tympan propagent les variations de pression jusqu’à l’oreille interne par l’intermédiaire de trois osselets : le marteau, l’enclume et l’étrier. Jusqu’ici les ondes se propagent dans un milieu d’impédance faible, or dans l’oreille interne se situe l’organe de l’audition appelé cochlée. Celle-ci est un organe creux rempli d’un liquide dont l’impédance est forte. Le tympan transmet donc les vibrations aux osselets dont le rôle est de transmettre et d’amplifier les vibrations sonores afin de contrebalancer l’impédance forte de la cochlée. L’oreille interne : l’oreille interne est composée de la cochlée et du vestibule. La cochlée appelée aussi colimaçon, est un tunnel osseux qui est rempli d’un liquide appelé endolymphe. Elle a la forme d’une spirale tapissée de cils. Ces cils sont mis en mouvement par les vibrations acoustiques transmises par l’oreille moyenne. Chaque cil oscille plus particulièrement pour une fréquence donnée puis transmet une impulsion électrique au cerveau par l’intermédiaire du nerf auditif. La spécialisation d’un cil pour répondre à une fréquence donnée permet par la suite au cerveau de distinguer la hauteur des sons. La perception auditive Il convient de noter qu’il y a une différence entre ce qu’on entend et ce que notre cerveau interprète. Pour traiter cette différence, la psycho-acoustique est née afin d’étudier les sensations auditives chez l’humain. Elle étudie comment les ondes sonores sont captées par le système auditif et la manière dont elles sont interprétées par le cerveau. Il existe des méthodes de quantification de la perception du son chez l’être humain, telle que l’intensité perçue appelée aussi sonie. Elle n’est pas uniquement liée à l’amplitude de la pression acoustique mesurée mais aussi à la fréquence. D’un autre côté, la sensibilité en fréquence varie beaucoup suivant les individus, chez l’enfant le seuil supérieur d’audition se situe autour de 20 kHz. Chez l’adulte, il tombe considérablement jusqu’au-dessus de 15 kHz. L’oreille est particulièrement sensible aux variations de fréquence dans une zone précise entre 1 kHz et 3 kHz, ce sont les fréquences rencontrées dans la voix humaine. Nous rappelons qu’un auditeur moyen peut distinguer environ 2000 changements de hauteur fréquentielle. Comme deuxième méthode de quantification de la perception humaine du son, il y a la sensation de "hauteur" subjective d’un son, appelé aussi tonie, elle évolue en fonction de l’intensité de l’onde sonore [Bourdot06].14 Chapitre 2. État de l’art FIGURE 2.3 – Anatomie de l’oreille humaine [Dubois01b] 2.3.2 L’apport de la modalité sonore pour la réalité augmentée Par rapport à la vision, l’audition possède les caractéristiques suivantes : elle est omnidirectionnelle, ne peut être suspendue (les oreilles n’ont pas de paupières) et il est même possible d’entendre dans l’obscurité. Ainsi, le son contribue pleinement à augmenter notre perception de l’environnement, et ceci est visible à travers le nombre de domaines qui s’appuient sur la dimension auditive pour augmenter la réalité, que ç¸a soit pour la communication, la représentation des données, la compréhension, ou pour favoriser l’immersion, l’émotion ou alors la décoration ou l’effet de surprise. Des exemples d’utilisation du son dans ces différents domaines sont cités dans ce qui suit. La communication Parmi les fonctions du son, nous trouvons la possibilité de communiquer avec des agents (humains ou non) par la voix. Si ces agents sont des machines, la tâche devient alors plus ardue car il faut mettre en place un système de synthèse et/ou de reconnaissance vocale efficace. De plus, si le dialogue est ouvert, une intelligence artificielle performante est nécessaire. La voix de l’utilisateur peut aussi être utilisée comme outil d’interaction. C’est-à-dire que l’utilisateur peut communiquer de l’information au système par l’intermédiaire de sa voix pour indiquer un déplacement par exemple ou manipuler un objet. A priori ce schéma d’interaction ne permet pas d’assumer les affordances perçues. Toutefois, dans certaines conditions une interface à commande vo-Section 2.3. Le son, un outil d’augmentation de la réalité 15 cale peut se révéler utile. La voix peut communiquer une information au système par l’intermédiaire d’un ordre, mais elle peut aussi en communiquer par les intonations présentes. Si le système est capable de détecter les émotions portées par la voix on peut alors imaginer adapter l’environnement virtuel ou les événements à celles-ci. Enfin, le son peut être utilisé comme canal pour communiquer, de façon non parlée, de l’information. C’est par exemple le cas pour signaler des situations d’urgence. La réalité augmentée sonore dans cette utilisation a touché plusieurs domaines, notamment le domaine militaire, la maintenance ou alors des applications de bibliothèques augmentées. La représentation des données Le son comme facteur d’augmentation de la réalité peut être considéré comme une dimension supplémentaire pour représenter des données. Cette fonctionnalité à été testée dans plusieurs domaines comme l’architecture et la bureautique. Dans le domaine de l’architecture : l’application Ariel [Mackay98] est destinée à assister des responsables de chantier qui manipulent des plans d’architecture sur une table à dessin. Les utilisateurs manipulent une tablette tactile pour capturer les annotations et les commandes de l’utilisateur et un vidéoprojecteur pour l’affichage sur la table à dessin. L’utilisateur peut faire des annotations textuelles, audio ou vidéo. La compréhension et la mémorisation Le son est très efficace pour indiquer ou décrire un lieu ou une situation, Deux cas de figure se proposent alors. Soit une perception visuelle est disponible. Il est alors possible de se contenter de sons approximatifs car l’essentiel des informations servant à la compréhension de la situation est fourni par l’image. Soit, du fait du caractère omnidirectionnel de l’audition, l’événement à l’origine du son n’est pas visible, il faut alors proposer des sons parfaitement identifiables par l’utilisateur [Chueng02]. Le fait d’entendre un son en plus de l’image favorise aussi la mémorisation de l’objet en question. La partie sonore fournit des informations supplémentaires qui, combinées ou non avec les autres informations sensorielles reçues par l’utilisateur permettent une meilleure compréhension de l’environnement [Burr06]. L’immersion Lors des visites culturelles, et sans simulation sonore, l’utilisateur risque se ressentir un manque [Gilkey95] qui est préjudiciable à l’immersion [Bouvier09]. Par ailleurs, l’immersion dans un environnement sonore évite (avec un bon matériel de rendu) à l’utilisateur d’entendre les sons inutiles provenant de l’environnement physique. Ceci permet d’augmenter plus efficacement l’environnement réel avec des éléments virtuels plus appropriés.16 Chapitre 2. État de l’art La décoration D’après Crawford [Crawford03], il est assez fréquent que les concepteurs de jeux fassent le choix de privilégier la forme (typiquement, le design graphique et éventuellement sonore) au détriment du fond (i.e. le gameplay). En effet, il semblerait, que les technologies de réalité virtuelle, telles que les synthèses d’image et de son 3D, soient employées dans leur usage le plus commun à des fins essentiellement cosmétiques. Cela n’est pas nécessairement dû à une méconnaissance des capacités expressives et fonctionnelles de la dimension spatiale du son, mais plutôt aux qualités supposées des jeux eux-mêmes [Gonot08]. La surprise Le son possède une forte capacité de suggestion qui laisse une plage de liberté à l’imagination de l’utilisateur. Par exemple, il est courant que les attentes des auditeurs associées à une situation particulière soient différentes des sons que l’on aurait pu enregistrer dans une situation identique réelle. Ceci pointe encore une fois le rôle des attentes que nous avons déjà mentionné. On peut alors s’intéresser au travail des bruiteurs qui usent souvent de moyens détournés pour assurer une identification rapide des sources sonores. L’aide au déplacement Le projet européen Autonomie [Lemordant11], vise à faciliter le déplacement de piétons déficients visuels à l’intérieur et à l’extérieur des bâtiments en milieux urbain. Pour guider les malvoyants, le projet se base sur l’établissement des cartes à l’intérieur ou à l’extérieur des bâtiments, et sur une classification des points d’intérêts (POI). En outre, le guidage des malvoyants est réalisé en utilisant les techniques de localisation de la personne PDR (Pedestrian DeadReconning) basée sur la centrale inertielle disponible sur les smart phones (gyroscope, accéléromètre et magnétomètre). Les auteurs du projet prévoient aussi une synchronisation du système avec des informations de localisation supplémentaires comme le GPS, des bornes BlueTooth ou une infrastructure de RTLS (Real time Localisation System). Le projet développé par Russell Davies, nommé SAP 1 (Situated Audio Platform) [Davies09], repose sur la même finalité qu’est l’aide au déplacement en se basant sur les techniques de réalité augmentée sonore. Il vise à utiliser le son pour guider et donner des indices aux piétons au lieu d’avoir les informations marquées à l’écran. Les auteurs prévoient également une utilisation particulière pour les non-voyants. Le projet a pour but de reprendre toutes les application actuelles qui utilisent la boussole et le 1. http ://www.la-realite-augmentee.fr/videos/la-realite-augmentee-sonoreSection 2.4. La spatialisation sonore pour la réalité augmentée 17 GPS (Global Positioning System) du téléphone et d’y ajouter de la voix pour aiguiller l’utilisateur. Jusqu’à présent, nous nous sommes contentés d’étudier les applications de la modalité sonore sans prendre en compte l’aspect spatial de la diffusion. Dans la section suivante nous étudions la spatialisation sonore en répondant aux questions suivantes : qu’est-ce que c’est que la spatialisation sonore ? À quoi sert-elle ? Comment peut-elle contribuer à l’augmentation de la réalité ? Et quelle sont ses domaines d’application ? 2.4 La spatialisation sonore pour la réalité augmentée La spatialisation du son occupe aujourd’hui une position similaire à celle que l’art d’orchestration occupait au dix-neuvième siècle. Déployer l’espace ou spatialiser revient à chorégraphier le son : positionner les sources sonores et animer le mouvement [Roads07]. Selon les mêmes auteurs, la spatialisation du son possède deux aspects : le virtuel et le physique. Dans la réalité virtuelle du studio, les compositeurs spatialisent le son en imposant des retards, des filtres, des panoramisations et de la réverbération, ce qui conduit à l’illusion du son émergeant d’environnements imaginaires. Dans le monde physique des salles de concert, les sons peuvent être projetés par un système sonore à partir de plusieurs positions : autour, au-dessus, en dessous, ou à l’intérieur du public [Roads07]. Dans cette thèse, c’est plutôt le premier aspect qui nous intéresse en l’occurrence le virtuel pour créer l’illusion que des sons proviennent de diverses directions de l’espace et organiser ainsi des scènes sonores en trois dimensions. Afin d’augmenter la réalité par du son spatialisé, le concepteur sonore ou le musicien se trouve face à trois choix de conception : soit il opte pour une restitution fidèle de la scène sonore d’origine d’une manière à ce qu’elle soit identique à la scène réelle, ou il peut ajouter, en temps réel ou au moment du mixage, des effets artificiels de spatialisation supplémentaires, par exemple pour donner plus de consistance aux instruments et voix : réverbération, écho, chorus, etc. Il peut finalement procéder à une restitution basée sur des sons qui ne sont pas reliés à la scène sonore réelle. La spatialisation résultera ainsi entièrement des effets artificiels visant à synthétiser pour l’auditeur un espace sonore virtuel. 2.4.1 Perception spatiale du son Par perception spatiale d’un son, nous entendons la capacité de déterminer la provenance d’un son. Cela signifie la perception de sa direction et de la distance qui nous sépare de la source sonore. Percevoir la direction c’est connaître son azimut (angle dans le plan horizontal) et son élévation (angle dans le plan vertical). Percevoir la distance c’est connaître la distance qui nous sépare de la source sonore.18 Chapitre 2. État de l’art 2.4.1.1 Perception de la direction Contrairement à notre vue doté d’un champs limité, notre audition nous permet une localisation des sources sonores dans l’ensemble de l’espace. Cette localisation est rendue possible par des mécanismes complexes de diffraction créée par notre tête et notre torse ainsi que des résonances dans nos oreilles [Blauert83, Middlebrooks91]. Ces indices dépendent de la direction d’incidence de l’onde sonore et nous permettent de localiser les sons d’une manière très précise, en particulier dans le plan. En effet, dans les conditions optimales, l’angle minimum audible entre deux directions voisines est d’environ 1 degré. De nombreuses études ont ainsi montré que les deux principaux indices utilisés pour la localisation auditive sont la différence de temps d’arrivé à nos deux oreilles (interaural time difference, ITD), liée à leur écartement, ainsi que la diffé- rence de niveau inter-aurale (interaural level difference ILD), liée à l’ombre acoustique de la tête [Blauert83, Middlebrooks91, Faller04, Zahorik05]. En pratique, les variations d’ILD et d ’ITD ne sont pas liées à la direction de provenance du son de manière simple. Elles dépendent également de la fréquence du son en raison de l’interaction complexe des ondes sonores avec notre corps. Les études [Loomis98, Middlebrooks91, Brungart99] ont montré que le pavillon de l’oreille joue un rôle prépondérant dans notre perception spatiale des sons [Blauert83]. Ces effets se traduisent donc par un filtrage du son émis par les sources suivant la direction d’incidence, les filtres correspondants étant communément référencés dans la littérature sous le nom de "Head Related Transfer Functions", ou HRTFs. Dans le cadre d’applications de réalité virtuelle ou augmentée, les techniques de restitution sonore spatiale visent donc, d’une manière plus ou moins précise, à reproduire aux oreilles de l’auditeur ces indices de localisation fréquentiels pour des sources sonores virtuelles. 2.4.1.2 Perception de la distance La perception de la distance est principalement guidée par deux facteurs : la dé- croissance de l’amplitude de la pression sonore en fonction de la distance à la source et l’atténuation des hautes fréquences due à l’absorption atmosphérique [Coleman68, Loomis98]. D’autres facteurs peuvent venir s’y ajouter, dans le cas d’environnement ré- verbérant. Un son lointain a donc une intensité plus faible et voit ses hautes fréquences atténuées. Néanmoins, ces critères, bien que nécessaires, peuvent être insuffisants pour donner une impression directe de la distance à la source, qui reste très variable suivant les auditeurs [Middlebrooks91, Zahorik05]. En particulier, dans la plupart des cas, la distance à la source tend à être sous-estimée, ce qui pourrait se traduire en pratique par une plus grande marge de manœuvre pour éviter les obstacles potentiels dans notre environnement [Wuestefeld92, Zahorik05]. Il convient de dire que la localisation d’une source sonore est influencée par d’autres sens que l’audition [Murat08]. Par exemple, si la source sonore et le stimulus visuelSection 2.4. La spatialisation sonore pour la réalité augmentée 19 correspondant occupent des positions spatiales décalées, alors la source sonore semble provenir de la position du stimulus visuel. Les stimuli visuels capturent les stimuli sonores. On parle alors d’effet ventriloque [Alais04]. Les mouvements de la tête affinent la localisation, l’homme tend L’oreille pour obtenir en quelque sorte une deuxième image sonore de l’environnement. Les sensations vestibulaires et proprioceptives sont alors combinées avec les différentes images sonores pour déduire une localisation plus pré- cise. 2.4.2 L’apport du son spatialisé à la RA Le son spatialisé ou communément appelé ”le son 3D” peut contribuer à favoriser l’immersion dans un environnement 3D. Écouter le son localisé dans l’espace ressemble au mappage de texture qui est utilisée pour améliorer la qualité des images ombrées. Le son spatialisé offre également une forte capacité à s’orienter dans l’espace. Un calcul de réverbération fournit des informations sur la nature et le volume de l’endroit où se trouve l’utilisateur [Pontus07]. Une cathédrale n’a pas la même réverbération qu’une bibliothèque ou qu’une scène en extérieur. Le son 3D peut également aider l’utilisateur à estimer la position d’objets sonores dans l’espace tant pour la direction que la distance. D’un autre côté, le son 3D offre un canal important de rétroaction (feedback) qui soit peut être utilement redondant pour le cas de la déficience visuelle, et peut aussi fournir une rétroaction pour les actions et les situations qui sont hors du champ de vue de l’auditeur. Il s’agit d’une utilisation du son en 3D pour les domaines axées sur la situation ou le contexte ”situational awarness ou context awarness”. De multiples sources sonores virtuelles peuvent être synthétisées et peuvent se produire n’importe où dans l’espace à 360 degrés autour d’un auditeur. Avec un retour audio, le centre de l’attention entre les sources sonores virtuelles peut être commuté à volonté. Une vision, en revanche, exige le mouvement des yeux ou la tête. Ceci est important en particulier pour l’intelligibilité de la parole au sein de multiples canaux de communication. Enfin, au-delà d’améliorer l’intelligibilité d’une mise en scène sonore complexe, cette spatialisation virtuelle apporte une composante esthétique intégrée à l’œuvre elle-même. 2.4.3 Exemples de systèmes augmentés par le son spatialisé L’histoire de la technologie de la spatialisation sonore est illustrée en détail dans la thèse de Nils Peters [Peters10]. De nos jours, nous la trouvons dans beaucoup d’autres domaines. Dans la téléconférence par exemple, le son spatialisé peut servir comme outil de détection et de suivi des interlocuteurs [Fodróczi08]. Les systèmes virtuels de téléconférence basés sur la spatialisation sonore ont été étudiés par de nombreux auteurs [Virolainen01, Koizumi92]. Généralement, en téléconférence le positionnement de chaque locuteur peut être fait librement, typiquement il est basé sur un "environnement virtuel" prédéfinis [Koizumi92] ou une carte d’une salle de réunion virtuelle [Kang96]. Le système de vidéoconférence de CAR/PE en est un exemple. Il comporte20 Chapitre 2. État de l’art les flux vidéos des participants disposés autour d’une table virtuelle [Regenbrecht04], et permet à trois participants de différents endroits de communiquer au travers d’un réseau dans un environnement simulant une réunion traditionnelle comme si les participants étaient assis autour d’une table réelle. Le son spatialisé est véhiculé à travers des écouteurs stéréophoniques ou par les systèmes de reproduction phonique à huit canaux. En jeux vidéo, la spatialisation sonore permet d’enrichir l’information visuelle en aidant les joueurs à localiser des endroits, des événements et des objets non-visuels, mais également à estimer la distance des objets visuels. Sodnik [Sodnik05] a exploré la capacité des utilisateurs à localiser un son virtuel spatialisé dans un environnement de RA avec différentes configurations spatiales de la scène virtuelle. Afin de réaliser l’expérimentation, une scène de RA a été créée et observée par un dispositif monté sur la tête (HMD pour Head Mounted Device). L’utilisateur porte des écouteurs stéréo afin d’entendre les sons spatialisés. Le logiciel fourni utilise la bibliothèque de la vision par ordinateur ARToolKit. Thomas Gaudy [Gaudy08], quant à lui propose un jeu sonore de labyrinthe accessible aux personnes aveugles, avec un système d’apprentissage non langagier qui permet un démarrage rapide de la partie de jeu. Childs et al [Childs03] exploitent la spatialisation sonore pour représenter des données météorologiques, Taylor et al [Taylor07] utilisent le son 3D pour faciliter la compréhension de la dynamique des fluides. D’autres recherches tentent de remplacer les graphiques visuels par des graphiques sonores [Nees08]. Une façon classique de procé- der est de faire correspondre l’axe des ordonnées à des variations de fréquence et l’axe des abscisses à un décalage temporel. Spatialisation sonore et géolocalisation Outre les systèmes de spatialisation sonore où la position de l’utilisateur est manuellement définie, d’autres travaux de recherche ont combiné les techniques de spatialisation sonore avec celles de la captation du mouvement de l’utilisateur, permettant de mettre à jour automatiquement le contenu sonore avec la position et l’orientation de l’utilisateur à l’intérieur de l’environnement sonore. Dans le projet Bristol CyberJacket [Carro06], un ensemble de sons virtuels sont projetés dans un espace physique. L’utilisateur expérimente l’environnement sonore produit par le biais d’un ensemble d’écouteurs attachés à un ordinateur portable. Une boussole est fixée sur les écouteurs de l’utilisateur afin de fournir les informations sur l’orientation de sa tête. L’ordinateur portable se rend également compte de l’endroit de l’utilisateur. Il emploie le GPS pour les environnements extérieurs et un système de positionnement ultrasonique pour les installations d’intérieur. Avec ces deux sources d’information le dispositif portable peut déterminer où un son devrait être placé par rapport à l’utilisateur.Section 2.4. La spatialisation sonore pour la réalité augmentée 21 RA audio pour les malvoyants Dans l’objectif d’aide au déplacement pour les personnes malvoyantes, plusieurs dispositifs sonores allient géolocalisation des personnes et personnalisation des contenus audio envoyés [Roentgen08]. Un des premiers dispositifs sonores d’aide à la navigation, qui utilise la spatialisation sonore est le système d’orientation personnelle (PGS). Il se base sur un GPS, une boussole et du son spatialisé pour guider les utilisateurs aveugles [Golledge91, Golledge98]. Par ailleurs, d’autres systèmes similaires ont suivi, tels que Drishti [Ran04, Vazquez09] et MOBIC [Petrie96], bien qu’ils n’utilisent pas le son spatialisé. Le projet SWAN [Wilson07] se poursuit dans la veine de PGS, permettant d’expérimenter un rendu sonore qui change avec le déplacement de l’utilisateur dans un monde réel. SWAN requière d’utiliser des périphériques externes tels qu’un capteur monté sur la tête, un système inertiel, ou une boussole numérique pour la détection de l’orientation. Motivés par le besoin des gens d’utiliser leurs appareils électroniques, tout en se promenant, Holland et al. [Holland02] proposent un prototype d’une interface utilisateur audio spatialisée pour les mobile à GPS. Le système a été conçu pour répondre aux besoins des personnes malvoyantes, mais aussi pour permettre aux autres utilisateurs d’effectuer les tâches avec un minimum d’efforts tandis que leurs yeux, leurs mains et leur attention sont engagés ailleurs. Par ailleurs, et dans le but d’augmenter l’autonomie des déficients visuels dans la navigation, le projet ANR NAVIG [Katz10] a été développé. Le projet vise à concevoir un système permettant à des personnes visuellement déficientes de se déplacer plus facilement en intérieur comme en extérieur, ainsi que de pouvoir localiser des objets d’intérêt dans leur environnement. En plus de l’aide à la mobilité et à l’orientation, NAVIG souhaite permettre aux déficients visuels de localiser et de saisir des objets environnants, sans nécessité de marquer ces objets préalablement. Il repose sur la fusion de données de géolocalisation (GNSS) et de vision artificielle en entrée, et sur la synthèse de son spatialisé en sortie. RA audio pour des jeux La spatialisation sonore a également été expérimentée dans le domaine les jeux géolocalisés proposés dans les téléphones mobiles intelligents. Cela permet d’offrir plus de réalisme, d’immersion, et d’engagement émotionnel. Paterson et al. [Paterson10] pré- sentent un prototype de jeu appelé Ghost Hunt Viking (VGH) permettant de localiser et d’interagir avec les vikings virtuels autour des vieux sites de vikings de Dublin. Le jeu s’exécute sur un mobile HTC équipé d’un casque stéréo et d’un GPS. Il offre diverses interfaces visuelles et audio pour localiser les activités paranormales et recueillir des preuves qui se manifestent visuellement ou auditivement. Malgré l’inexactitude du GPS, les perturbations imprévisibles, et les limites de processeur mobile, des ex-22 Chapitre 2. État de l’art périences ont montré l’importance de la spatialisation sonore dans le monde virtuel comme outil à la fois instructif et riche en émotion. D’autres projets se sont également intéressés à une application ludique de la spatialisation sonore et la géolocalisation. Le projet Ambient Horn [Randell04] qui a exploré le potentiel de la réalité augmentée sonore dans les environnements extérieurs, et plus particulièrement lors d’une visite dans une région boisée. Les utilisateurs qui étaient des enfants, se sont déplacés vers un emplacement dans lequel une balise locale RF a été cachée. Un bruit a été déclenché et joué dans des enceintes sans fil à proximité, tandis que d’autres modules mis en œuvre ont permis aux enfants de recueillir et échanger les informations reçues. Un autre système intéressant est le système audio-guide de la visite de zoo présenté par Stahl [Stahl07]. C’est un repère auditif partagé, qui transmet des connaissances spatiales et d’aide à la navigation. En utilisant la spatialisation sonore des enregistrements correspondants aux sons et chants des animaux, l’auditeur est en mesure d’identifier la distance et la direction de l’enclos des animaux. Le système présente également des clips audio avec des informations détaillées sur chaque animal. RA audio pour des applications artistiques Certaines applications artistiques basées sur la réalité augmentée audio ont également été développés. Certaines de ces recherches ont été menées pour la mise en œuvre de la spatialisation du son sur les dispositifs mobiles équipés de systèmes de positionnement. Strachan et al. [Strachan05], ont décrit la mise en œuvre du prototype gpsTunes. C’est un système de navigation qui combine les fonctionnalités d’un lecteur MP3 et d’un capteur GPS, dont la mission est de guider l’utilisateur vers sa destination tout en écoutant la musique. Le dispositif change le volume et l’orientation de la musique avec le déplacement des utilisateurs. Le volume de la musique augmente lorsque l’utilisateur s’approche de sa destination. Les expériences montrent qu’une simple adaptation du volume du son, avec des sources sonores fixes, permet aux gens de naviguer avec succès le long d’une trajectoire spécifié. La nouvelle version du système [Strachan09] vise à améliorer le suivi des orientations des utilisateurs en utilisant un système inertiel combinant des accéléromètres, des magnétomètres et des gyroscopes. 2.5 Cas d’étude : la visite et la médiation dans les lieux culturels La visite du musée permet de mettre les personnes en contact direct avec le passé et le présent et permet également d’éveiller la sensibilité au domaine de l’art et de de l’histoire. Pour les visiteurs, un bon musée ou plutôt une bonne visite de musée est celle qui permet d’informer et de former, en offrant au visiteur les moyens de bien comprendre lui-même l’œuvre exposée, ses mécanismes (comment il marche) et de situer son rôleSection 2.5. Cas d’étude : la visite et la médiation dans les lieux culturels 23 dans une dynamique historique, économique, sociologique et humaine. En plus de son côté pédagogique indéniable, la visite de musée suscite un intérêt émotionnel, elle peut porter une charge affective, manifestée par un sentiment de nostalgie que peut provoquer certains artefacts ou certaines parties du musée. De nos jours, la visite de musée, est devenue également une forme de distraction, grâce aux jeux qui sont proposés de plus en plus pour les visiteurs de musées. En plus, la visite de musée est devenue pour les concepteurs de visite, une occasion pour saisir l’intérêt du visiteur, pour lui proposer du contenu personnalisé. C’est pour cela que la fonction de guidage est de plus en plus présente dans presque tous les musées, et la majorité des musées tente de la développer pour s’adapter aux exigences du public. 2.5.1 Guidage et médiation Pour favoriser l’aspect didactique et pédagogique des visites, bon nombre de musées proposent aujourd’hui des ”prestations” visant à faciliter l’accès des visiteurs aux contenus exposés. On peut citer comme exemples la présence d’un animateur, d’un guide conférencier, ou d’un démonstrateur ; la mise à disposition de cartels, de guides papiers, de catalogues papiers ou numériques, d’ateliers, de réseaux sociaux, de sites web, de guides audio, de guide multimédia, worksheets, de bornes multimédia sur place, d’écran interactif, de feuille d’aide à la visite et la liste est longue. Fauche [Fauche08] distingue deux types d’assistances directe et indirecte. L’aide directe à la visite : incontournable dans la plupart des missions du musée, elle implique la présence physique du guide appelé aussi médiateur. On parle aussi de médiation orale, ou encore de médiation humaine. Pour le médiateur, ce qui s’y joue se situe à la fois sur le plan des savoirs, et sur le plan de sa relation au public. Quant à la relation qui se noue entre le savoir et le public : il s’agit d’abord pour le médiateur d’accueillir l’autre tel qu’il se donne, à la fois en tant qu’individu et en tant que membre d’un groupe qui a sa dynamique propre. L’aide indirecte à la visite : consiste à élaborer divers documents, soit écrits (fiches d’aide à la visite, dossier pédagogique), soit destinés à un autre support (audio ou vidéo). En effet, à côté des visites traditionnelles guidées dispensées par des conférenciers, d’autres programmes d’animation sont parfois mis en œuvre et assument la dimension humaine de la relation. Il s’agit d’une palette de supports de médiation qui visent l’autonomie du visiteur. L’audioguide vient ainsi compléter et pallier d’autres types d’aide à la visite désormais courantes au musée ou en voie de l’être dans les musées d’art rénovés [Deshays02] : – Guides ou petits dépliants papier remis au visiteur à l’entrée. – Dispositifs signalétiques plus ou moins aboutis, avec titres et sous-titres (parfois assortis de courts textes introductifs). – Documentation sélective : des fiches, ou feuillets ou "petit journal", disponibles en salle, aux audiovisuels et aux bornes d’information multimédia.24 Chapitre 2. État de l’art Si l’audioguide peut être proposé comme une aide possible parmi un éventail d’aides, dans certains musées ou exposition il est devenu le principal outil d’assistance, voir le seul [Deshays02]. Pour certains professionnels des musées, l’audioguide est un substitut à la visite guidée. 2.5.2 L’audioguide, une alternative à la visite guidée Au départ, l’introduction de l’audioguide a été liée à la question de l’accessibilité des publics étrangers. Il s’agissait de leur proposer une visite accompagnée dans leur langue. Si la fonction principale de l’audioguide était la traduction. Il est devenu aujourd’hui un outil de médiation à part entière, à destination du grand public. D’après [Vilatte07], l’audioguide peut aussi répondre au problème particulier des personnes handicapées visuelles ou malentendantes. Sophie Deshayes [Deshays02] constate que l’audioguide est perçu par le visiteur comme une alternative à la visite guidée, cette dernière apparaissant comme une visite contraignante et dis-qualifiante dans la mesure où elle situe le visiteur dans une logique de dépendance. L’audioguide, quant à lui, permet une visite individuelle qui épargne la visite en groupe (inscription préalable, heure fixe, problème de visibilité, rythme imposé, etc.). Il permet également d’éviter l’inconfort de la visite guidée : problème de stratégie de positionnement à toujours développer vis-à-vis des œuvres en fonction du groupe, et le problème du rythme de la visite imposé par le guide. La liberté du choix des contenus et le respect du rythme de visite propre à chacun sont des opportunités fortement valorisées par les utilisateurs d’audioguide. Ils se plaisent à se sentir accompagnés, guidés, bien renseignés mais non pas contraints par une visite formatée imposant des arrêts obligés et un circuit prédéterminé. Toutefois d’après l’étude sur les visiteurs menée par Bernard et Hélène Lefebvre [Lefebvre91], deux aspects fondamentaux semblent convaincre les visiteurs des musées des bénéfices de l’audioguide : l’aspect mobilité qui permet aux visiteurs d’écouter le contenu tout en regardant l’œuvre exposée, et l’aspect individualisation du contenu qui donne aux visiteurs le sentiment de solitude de calme et même de détente et qui permet surtout aux visiteurs d’apprendre à leur rythme. 2.5.3 L’audioguide : fonctions et attentes Loin de sa fonction de traduction, la fonction principale de l’audioguide à laquelle les visiteurs s’attendent c’est ”d’apprendre des choses en contexte” [Deshays02, Deshays04]. L’usage de l’audioguide s’affine pour devenir d’une simple aide à la visite, à la contemplation intelligente des œuvres et des collections. Même si, le positionnement de l’audioguide, tel qu’il est perçu par le public, est éminemment pédagogique, les études conduites sur l’usage des audioguides [Lefebvre91], montrent que les visiteurs s’attendent quand même à s’amuser en utilisant l’audioguide. En effet, les utili-Section 2.5. Cas d’étude : la visite et la médiation dans les lieux culturels 25 sateurs d’un audioguide attendent à ce qu’il transmette les savoirs d’une manière ludique, et aussi à transmettre quelque chose d’insoupçonné et peu attendu, qu’il révèle la face cachée des choses et qu’il permette au visiteur d’accéder au sens de l’artefact exposé et donner du sens à sa visite. Pour cela, nous proposons de retenir cinq types de contenus : Contenu qui oriente : les visiteurs ne doivent pas se perdre en repérage. Les éléments d’orientation doivent être définis en situation de visite et ancrés dans l’espace à partir d’éléments de repères visuels susceptibles de structurer le parcours et de guider précisément le regard, par des points cardinaux ou des éléments visuels ou sonores. Contenu qui informe : qui peut être le contexte historique, le sens d’une représentation (une scène par ex, des symboles), l’usage d’un objet, la démarche d’un artiste, l’intention conceptuelle s’il y a lieu, ou alors les hypothèses scientifiques et/ou les sources de questionnement possibles. Contenu qui surprend : le contenu doit toujours avoir une vocation de surprendre le visiteur, en contenant des informations imprévisibles, ce qui épargne le visiteur d’écouter du contenu redondant et prévisible, et qui l’encourage à écouter plus pour en connaître d’avantage. Contenu qui évoque : des extraits littéraires, autres références hors musée, citations, musiques d’ambiance etc. Les extraits musicaux sont appréciés des visiteurs, ils ménagent des pauses à l’écoute et qui peuvent être propices à la rêverie, certains passages musicaux peuvent à l’occasion, réhabiliter la libre déambulation promenade au musée ou au sein de certaines salles. Contenu qui amuse : le contenu doit être de types différents, musique, sons ambiants, voix, dialogues, etc., l’audioguide ne doit pas négliger son aspect ludique tant pour le public jeune que pour les moins jeunes. Le visiteur ne doit pas sentir qu’il est face à un contenu didactique qui le plonge à l’école, le contenu doit amuser le visiteur et rendre sa visite plus agréable. 2.5.4 Types d’audioguides Les systèmes d’audioguide proposés dans les musées sont multiples. Ils varient par rapport au média utilisé, à la navigation, aux technologies de localisation des visiteurs, au contenu délivré, au rôle de l’audioguide et au public ciblé. Nous proposons une classifications des audioguides portables proposés dans les visites de musées. Cette classifi- cation est basée sur le moyen de géolocalisation utilisé dans l’audioguide (manuelle ou automatique), les technologies utilisées pour localiser les visiteurs, ainsi que l’existence ou pas de personnalisation pour chaque visiteur. D’autres classifications d’audioguides ont été proposés dans la littérature [Damala09] selon d’autres aspects non liés à notre travail.26 Chapitre 2. État de l’art 2.5.4.1 La géolocalisation La géolocalisation Nous entendons par géolocalisation la manière avec laquelle le visiteur se déplace dans le musée, communique sa position et interagit avec le contenu proposé. Le visiteur du musée a besoin de savoir comment le contenu qu’il reçoit est lié avec l’objet physique exposé dans le musée. Proctor [Proctor05] a défini le lien entre le contenu délivré et l’objet exposé par trois méthodes, soit il est dans l’environnement physique du musée, soit il est sur ou dans le dispositif d’interprétation (l’audioguide), soit il est présenté dans les deux environnements. Plusieurs techniques de géolocalisation sont utilisées dans la visite de musées, allant des techniques de géolocalisation explicite où le visiteur muni d’un clavier doit saisir un numéro correspondant au numéro affiché devant l’objet exposé, jusqu’aux techniques de géolocalisation qui visent à localiser le visiteur pour lui envoyer automatiquement, le contenu correspondant à son emplacement et éventuellement aussi à son orientation. Géolocalisation explicite De nombreux musées ont opté pour la géolocalisation explicite appelée aussi navigation manuelle. Cette approche repose sur un système d’étiquetage, où les œuvres du musée qui sont sujettes à un commentaire audio se voient munir une étiquette placé à coté. L’étiquette porte un nombre, et pour écouter le contenu audio associé, le visiteur doit saisir le nombre affiché sur l’étiquette à l’aide d’un baladeur fourni au début de sa visite. Cette méthode est utilisée dans l’audioguide proposé par le musée des arts et métiers de Paris 2 . Une autre méthode de navigation est utilisée dans le guide multimé- dia que propose le musée de Louvre de Paris 3 . Elle consiste à associer aux étiquettes, des photos pour aider le visiteur à identifier l’objet exposé. Une troisième méthode utilisée dans ce contexte, consiste à fournir une carte ou un plan digital aux visiteurs pour se repérer. Cette méthode est largement utilisée dans les systèmes d’aide à la visite notamment, dans Tate Modern Gallery 4 qui propose cette méthode dans ses parcours destinés aux adultes et aussi aux enfants. Géolocalisation implicite La géolocalisation implicite ou la navigation automatique est très utile autant pour les visiteurs que pour le personnel du musée. En effet pour les visiteurs, cela permet aux visiteurs de se localiser automatiquement dans le musée, et ainsi de recevoir les contenus audio correspondant au œuvres qui les intéressent. Du point de vue du personnel du musée, cela permet de créer des parcours et des expériences de visite individualisés, sans empêcher de créer des applications pour le groupe. Elle permet aussi de localiser chaque visiteur en temps réel et par conséquent de gérer le flux des visiteurs. 2. http ://www.arts-et-metiers.net/ 3. http ://www.louvre.fr 4. http ://www.tate.org.uk/visit/tate-modernSection 2.5. Cas d’étude : la visite et la médiation dans les lieux culturels 27 Plusieurs technologies et techniques sont expérimentées pour localiser les visiteurs de musée. Le GPS reste largement le plus utilisé pour la navigation en extérieur. Quant à la navigation en intérieure, nous citons d’une manière non exhaustive quelques technologies de localisation utilisées dans le cadre de la visite des lieux culturels. Infrarouge Utilisée par la cité de la science et de l’industrie à Paris, le musée national du cinéma à Turin en Italie 5 et le musée des instruments de musique à Bruxelles 6 . Nécessitant un chemin clair entre le marqueur (émetteur) et le récepteur infrarouge contenu dans le dispositif mobile (par exemple un PDA). Cette technologie est utilisée surtout pour le déclenchement des contenus (stockés localement ou délivrés par un serveur), et pour le transfert de données. Bluetooth Développé comme un protocole à basse puissance et à petite bande passante (1 Mb/s). Le Bluetooth est basé sur les signaux radio et présente plusieurs avantages. Premièrement il n’exige pas de ligne de vue claires entre les outils communiquant. Deuxièmement jusqu’à huit appareils peuvent être connectés simultanément dans un rayon de 10 m. Dans les musées, il est utilisé comme une technologie de déclenchement pour les petites portées. Cependant, Il est incapable de transférer des contenus multimédias riches. C’est pourquoi il a été testé dans le contexte du musée une seule fois (à notre connaissance) par le musée Madame Tussauds 7 à Londres pour déclencher le PDA. RFID C’est un terme générique désignant l’ensemble des technologies qui utilisent les ondes radio pour l’identification automatique des objets. La puce RFID comprend : une micro puce et une antenne minuscule qui transmet les données de la puce au lecteur. La puce peut être attachée aux objets qui sont faciles à transporter notamment un bracelet, une carte ou une montre. Cet item envoie alors son identificateur au réseau par le biais du tranciever posé près de l’objet exposé. Deux types d’RFID existent, les passifs qui nécessitent de rapprocher l’émetteur du récepteur pour qu’il y ait communication, et les actives dotés d’une portée plus importante. Si on utilise des RFID passifs, on est obligé de s’approcher beaucoup de l’objet, d’où l’intérêt des RFID actifs. Quelques musées utilisent la technologie RFID pour la sécurité et la maintenance de leurs objets. Les RFID sont utilisées aussi dans quelques musées notamment au Danemark pour localiser les enfants perdus dans le parc. La puce RFID est utilisée aussi pour garder trace de la visite. Elle a été utilisée aussi dans le musée des arts et métiers en France 8 dans le cadre du projet PLUG [Damala10]. 5. http ://www.museocinema.it/quick_info.php ?l=fr 6. http ://www.mim.be/fr 7. http ://www.madametussauds.com/London/ 8. http ://www.arts-et-metiers.net/28 Chapitre 2. État de l’art WIFI Cette technologie permet à un grand nombre de visiteurs de se connecter à intranet et internet pour une large portée. Sa grande bande passante lui permet de transférer des données et leur mise à jour depuis un serveur central. Le WIFI nécessite un serveur central où les logiciels de positionnement sont installés, et où le calcul de localisation est fait, ainsi que plusieurs points d’accès qui relient le signal radio entre les visiteurs et le serveur. La détection de position du visiteur portant un terminal Wifi passe par une triangulation en se basant sur les mesures d’au moins trois points d’accès. Cependant la technologie souffre d’un manque de précision dans la mesure de localisation, et d’une latence pour délivrer le contenu. Ces deux critères peuvent être améliorés en augmentant le nombre de points d’accès. Le WIFI est déployé dans le musée Tate Modern à Londres et au centre de la science à Singapour. NFC (Pour Near Field Communication), est une technologie de communication sans fil de courte portée qui commence à équiper la majorité des téléphones mobiles intelligents. Avec NFC, la communication se produit entre deux appareils séparés de quelques centimètres. La technologie NFC est basé sur la technologie d’identification par radiofréquence (RFID). Elle peut fonctionner sous plusieurs modes, mode passif ou émulation de carte dans lequel le terminal mobile se comporte comme une carte à puce, mode active dans lequel le terminal mobile devient lecteur de carte, ou en mode pair-à-pair où les terminaux peuvent échanger les informations. Cette technologie est utilisée dans le musée national de Corée 9 , le musée Hecht 10 , le musée national de Cracovie 11, etc. L’idée de base est d’orienter les utilisateurs de téléphones mobiles NFC qui ont aussi une application de navigation intérieure embarqué. Un utilisateur peut ainsi indiquer ou déterminer sa position actuelle à l’intérieur d’un bâtiment en touchant son appareil mobile avec les balises réparties à l’intérieur de bâtiment. UWB La technologie UWB (pour ultra wideband) est une technique de modulation radio qui est basée sur la transmission d’impulsions de très courte durée souvent inférieure à la nanoseconde. Un consortium européen souhaite que cette technologie soit utilisée pour chercher des personnes disparues ou des objets non identifiés. L’UWB peut être utilisé pour le positionnement de mobiles : les récepteurs, qui sont répartis dans l’environnement, peuvent évaluer la distance des balises UWB, situées sur les mobiles, par mesure du temps de propagation des signaux émis par ces balises. Ceci permet au système de calculer la position des mobiles par triangulation. 9. http ://www.museum.go.kr/main/index/index002.jsp 10. http ://mushecht.haifa.ac.il/Defaulteng.aspx 11. http ://www.muzeum.krakow.pl/Section 2.5. Cas d’étude : la visite et la médiation dans les lieux culturels 29 2.5.4.2 La personnalisation La notion de personnalisation est utilisée pour faire référence à un système qui se met à jour et modifie ses caractéristiques selon les besoins de l’utilisateur [Filippini03]. L’origine de la personnalisation du contenu remonte aux premiers jeux de rôles interactifs, où les joueurs choisissent un personnage dont la puissance et les caractéristiques se développent au fur et à mesure de l’avancement du jeu [Gee04]. La personnalisation du contenu peut être statique ou dynamique (appelée aussi interactive). La personnalisation statique signifie que le contenu va être adapté à une catégorie de visiteur, avant ou après la visite. La personnalisation dynamique signifie que le contenu envoyé au visiteur est adapté et est mis à jour durant la visite. Personnalisation statique Damala a répertorié neuf critères de personnalisation statique qui sont généralement utilisés dans les pratiques des audioguides de musées [Damala09]. Nous en citons quelque uns : L’ âge : le contenu de l’audioguide peut être adapté aux différentes tranches d’âge de visiteurs. Nombre de musées offrent ce genre de service en proposant des parcours pour les enfants et des parcours pour les adultes. Le guide de Sycomore 12 présenté dans le grand palais à Paris, en est un exemple. La langue : le contenu de l’audioguide doit s’adapter à la langue du visiteur. C’est pour cette raison que le guide multimédia du musée de Louvre est disponible en sept langues parlées et en langue des signes françaises. La thématique : le contenu de l’audioguide doit proposer plusieurs parcours thématiques. Les capacités spéciales des visiteurs : l’audioguide doit être adapté aux besoins et capacités spéciales des visiteurs, comme dans le cas des visiteurs à déficience visuelles ou auditives. Le groupe de visiteurs/communauté : pour favoriser l’aspect social de la visite d’un musée, certains audioguides sont destinés à être utilisés par plusieurs visiteurs à la fois. La plateforme de livraison de contenu : certains audioguides proposent aux visiteurs d’utiliser leur propres terminaux (MP3, téléphone,...) pour accéder au contenu de l’audioguide. L’adaptation du contenu de l’audioguide aux besoins de visiteurs en amont de la visite aide à personnaliser le contenu. Par exemple le projet HyperAudio [Petrelli99], qui utilise un modèle de visiteur statique à l’aide d’un questionnaire rempli par le visiteur au début de la visite. Cela reste insuffisant, dans la mesure où le visiteur peut changer ses préférences et découvrir d’autres centres d’intérêts pendant sa visite. 12. http ://www.sycomore.eu/index.php/fr/30 Chapitre 2. État de l’art Personnalisation dynamique La personnalisation du contenu selon les intérêts de l’utilisateur est un sujet d’études important qui est une largement étudié dans la littérature, notamment dans la recherché sur internet [Mladenic96]. Nous trouvons également dans la littérature les systèmes qui génèrent des suggestions personnalisées pour les touristes. Nous en citons quelques exemples : Le projet CyberGuide [Abowd97] produit une série de prototypes d’un guide mobile, qui prend en compte le contexte des visiteurs d’un laboratoire de recherche. Les systèmes prennent en compte seulement les informations concernent l’emplacement et l’orientation actuelle de l’utilisateur en compte, et les applications qui nécessitent une connaissance rudimentaire de l’utilisateur (par exemple les langues qu’il parle) sont envisagées aussi. Le système ILEX [Oberlander97, O’donnell01] produit les ”Étiquettes intelligentes” pour les œuvres d’art qui peuvent être sous forme de pages web, dans une galerie électronique, ou de la parole synthétisée dans une galerie physique. Le système prend en compte les objets que l’utilisateur a visité ou qui étaient mentionné à l’avant, et se réfère à eux lors de la génération des étiquettes. GUIDE [Cheverst00, Cheverst02] est un guide touristique électronique portatif qui crée des visites de la ville qui sont adaptés à chaque visiteur. Le système prend en compte les données personnelles des visiteurs (par exemple, nom, âge, sexe) ainsi que leurs intérêts (par exemple maritime, histoire, diététique), leur emplacement actuel, les monuments qu’ils ont déjà visités, et les parcours de visites qu’ils ont emprunté. Le système retrace le parcours de chaque visiteur et met à jour son profil d’intérêts en conséquence. Le projet ”Deep Map” [Fink02] du Laboratoire européen des médias à Heidelberg en Allemagne vise à développer des guides touristiques mobiles et personnels. Afin de permettre à Deep Map de fournir un comportement personnalisé, un modèle de caractéristiques individuelles des utilisateurs (à savoir leurs intérêts et préférences individuels) et des groupes d’utilisateurs est acquis et maintenu par le système de modé- lisation de l’utilisateur. Les auteurs présentent un modèle d’utilisateur et d’adaptation. L’adaptation est basée sur les intérêts explicite et les données d’usage, sans prendre en compte le focus (l’orientation) de l’utilisateur. Les auteurs ne proposent pas de modèle pour la scène sonore. La personnalisation dynamique du contenu de la scène sonore dans le cadre de la visite des musées sera mieux décrite dans la section 4.3.Section 2.6. La visite augmentée 31 2.6 La visite augmentée La réalité augmentée occupe de plus en plus de place dans la visite des lieux culturels. Elle permet par exemple de visiter un même lieu du patrimoine à la fois tel qu’il est visible dans son environnement actuel et, par l’intermédiaire de la réalité augmentée, tel qu’il a été par le passé [Durand11]. La RA peut être utilisée sur des objets réels pour les définir et les compléter. Elle peut aussi être utilisée comme moyen de substitution ou de remplacement des objets réels. Elle permet aux visiteurs de manipuler les objets virtuellement sans avoir besoin de voir l’objet réel. Par conséquent, ils permettent dans certaines applications de manipuler aussi les objets du musées qui ne sont pas exposés [Damala09]. La visite des lieux culturels peut être augmentée par la modalité visuelle, haptique, sonore, olfactive ou même affective. Nous allons citer, dans ce qui suit, des exemples de visites augmentées par les modalités visuelles et sonores. 2.6.1 La visite augmentée par la modalité visuelle La RA pour les visites de musée est encore à ce jour (2013), dans une phase expé- rimentale. Toutefois, plusieurs prototypes ont été développés, dont les résultats sont prometteurs. Nous pouvons distinguer deux types de systèmes de réalité augmentée : les systèmes de RA fixe et les systèmes de RA mobiles. Le qualificatif fixe signifie que le système de RA est indépendant de l’emplacement de l’utilisateur et n’assure pas son suivi. Ce dernier est plutôt assurée dans les systèmes de RA mobiles. La vitrine virtuelle [Bimber03] est un exemple de systèmes de la RA fixes, conçu pour permettre aux visiteurs du musée de visualiser les images stéréoscopiques des expositions augmentées. Le scénario initial visait à montrer aux visiteurs les mesures prises par les paléontologues dans la reconstitution des muscles, des tissus mous et les os du crâne d’un dinosaure. Le concept de la RA fixe a été testé aussi par le centre Ename en Belgique [Owen05]. Le système superpose une représentation 3D sur les objets réels exposés dans le musée. L’inconvénient de cette approche est son caractère invasif et non personnalisable. Ces systèmes nécessitent le déplacement récurant des visiteurs entre le virtuel et le réel. Parmi les système de RA mobiles, nous pouvons citer le projet Archeoguide [Gleue01]. L’objectif de ce système est d’assister les visiteurs pendant leurs visites. Le visiteur porte un HMD (Head Monted Display), des écouteurs, un capteur de position qui détermine son emplacement. Le projet Lifeplus [Papagiannakis02] peut être considéré comme le successeur de Archeoguide. Il permet aux visiteurs de visualiser les aspects de la vie quotidienne des Romains. Le Musée américain d’histoire naturelle à New York , quant à lui, utilise une application gratuite appelée Explorer 13. Cette application permet de naviguer dans le musée, agissant comme un guide personnel 13. http ://www.amnh.org/apps/explorer.php32 Chapitre 2. État de l’art pour une visite personnalisée, tout en permettant aux visiteurs du musée de choisir les pièces qu’ils veulent voir. Au Musée d’Art Moderne de New York, les artistes médiatiques utilisent la réalité augmentée pour créer un spectacle pour le festival Conflux en Octobre 2010. Ils ont utilisé le navigateur de réalité augmentée Layar dans un smartphone, pour montrer aux visiteurs les galeries du musée via la caméra du téléphone. En Australie, le Powerhouse Museum a une application de réalité augmentée mobile qui tire des images du musée provenant de Flickr et les montre à travers le navigateur Layar 14 . Museum Lab s’efforce de trouver des solutions à la problématique de la visite de musées avec une combinaison de panneaux imprimés et des animations projetées. Il propose une visite de musée tout à fait novatrice, en superposant des images virtuelles sur celles qui sont perçues par les visiteurs dans la zone de présentation [Mina10]. Une autre application intéressante est celle de l’institut néerlandais d’architecture à Rotterdam, qui propose une visite de la ville par l’intermédiaire d’une application de réalité augmentée et de la technologie Layar qui décrit l’histoire sur les divers monuments de la ville. Elle utilise des images, des informations audio et des modèles 3D de bâtiments futurs qui montrent à quoi ils peuvent ressembler à l’avenir. Les utilisateurs ont trouvé que, bien que le guide humain était attentif, l’application de réalité augmentée pouvait fournir plus d’informations, offrant plus de flexibilité en fonction des préférences individuelles des visiteurs [Boulin10]. Le projet ARTSENSE (Augmented RealiTy Supported adaptive and personalized Experience in a museum based oN processing real-time Sensor Events) vise quant à lui à appliquer une augmentation visuelle, acoustique et affective à la visite de musée [Stojanovic12, Damala13, Damala12]. Les auteurs introduisent de nouvelles technologies portables pour détecter en continu et de manière non intrusive le contexte de l’utilisateur afin de déterminer l’intérêt actuel de l’utilisateur. Afin de visualiser le contenu augmenté, ils utilisent une paire de lunettes qui contiennent un capteur du mouvement du visiteur. Les événements acoustiques sont captés en temps réel en utilisant des microphones omnidirectionnels et une unité d’acquisition de données portée par le visiteur. Les auteurs analysent aussi les réactions physiologiques des visiteurs en utilisant des biocapteurs pour mesurer les battements du cœur, la conductance de la peau et l’activité cérébrale. 2.6.2 La visite augmentée par la modalité auditive Jacomy a été l’un des premiers à étudier profondément la question de la visite augmentée par la modalité sonore dans le contexte muséographique [Jacomy02]. Il trouve que les spécialistes du patrimoine ont principalement été les conservateurs des musées chargés par la société de collecter, de conserver et de restituer les traces matérielles de notre passé. On a donc avant tout conservé ce qui se voit et se touche. Jacomy estime que la majorité des musées n’ont aucune préoccupation particulière en matière de la 14. http ://www.powerhousemuseum.com/layar/Section 2.6. La visite augmentée 33 dimension sonore et que peu de musées ont une véritable approche sonore des pré- sentations. Cependant notre mémoire est également olfactive, gustative et auditive. En prenant l’exemple des musées techniques, en l’occurrence le Musée des Arts et Métiers (MAM) de Paris, ce musée comporte de grosses machines, par exemple la locomotive à vapeur. Il dit ” il est essentiel que les générations puissent regarder et toucher les machines, mais si les enfants qui les approchent ne peuvent sentir les odeurs de graisse chaude et du fumée, ou entendre les sif ements et les grondements de la vapeur, ils n auront qu une perception partielle d un objet qui a pourtant profondément marqué la vie de leurs ancêtres. Faute de pouvoir appréhender ce patrimoine "total", nous pouvons déjà nous pencher sur l une de ses composantes, importante et pourtant souvent négligée : notre environnement sonore”. Dans cette section nous allons citer quelques tentatives de sonorisation des musées. Nous allons commencer par les systèmes qui offrent le même contenu sonore à tous les visiteurs du musée, et puis les systèmes audio basés sur l’utilisation de casque audio pour une individualisation et une personnalisation du contenu pour chaque visiteur. 2.6.2.1 Vers un musée sonore Comme dans le cas de l’augmentation visuelle, nous distinguons deux types de systèmes augmentés par la modalité auditive : les RA sonores fixes et mobiles. Parmi les systèmes de RA sonores fixes, [Jacomy02] cite quelques exemples d’installations sonores qui ont été effectuées dans certains musées. Un exemple de ces systèmes se trouve dans le musée de la Coutellerie de Thiers, où une salle du sous-sol dégageait un bruit industriel intense. ”Dans cette salle les murs étaient recouverts de photos d ateliers grandeur nature, quelques machines-outils ont été exposées et une bande sonore reconstituait l ambiance de l atelier, avec un niveau acoustique proche du niveau réel. Il cite aussi le cas du musée français du chemin de fer de Mulhouse. Une grosse locomotive à vapeur est présentée avec une bande sonore qui reproduit, le bruit de la locomotive au démarrage. Cette locomotive est montée sur un banc de roulement qui permet de faire tourner les roues. Ces systèmes de RAS fixes souffrent des mêmes inconvénients qui sont l’aspect intrusif et non personnalisable. Pour y remédier, les systèmes de RA sonores mobiles ont été introduits. Ce sont des systèmes qui visent à localiser les visiteurs du musée, et à personnaliser le contenu audio délivré à chaque visiteur en utilisant des casques audio. Bederson [Bederson95] a été parmi les premiers à développer un prototype de guide électronique pour les musées se basant sur l’interaction implicite. Celui-ci permet aux visiteurs de recevoir automatiquement les contenus audio appropriés en fonction de leurs positions individuelles. Ce prototype se compose d’un certain nombre de dispositifs que le visiteur emporte avec lui : une source audio numérique à accès aléatoire (Sony MiniDiscTM), un microprocesseur (Motorola M68332) et un récepteur infrarouge qui indique à l’ordinateur la position du visiteur. Un petit émetteur infrarouge est placé dans le plafond au-dessus de chaque objet à décrire. Il transmet un nombre unique que34 Chapitre 2. État de l’art le système emploie pour identifier l’endroit du visiteur. Ensuite, le système joue ou arrête les sources audio sur le terminal du visiteur en fonction de sa position. Dans le projet européen Hips [Benelli99], le visiteur est également localisé. La position et l’orientation du visiteur sont calculées respectivement grâce à la technologie infrarouge et une boussole électronique. Les données de localisation sont envoyées au serveur central qui se charge de délivrer les informations appropriées aux visiteurs. Dans le projet CyberJacket [Carro06], un ensemble de sons virtuels sont projetés dans un espace physique. L’utilisateur expérimente l’environnement sonore produit par le biais des écouteurs attachés à un ordinateur portable. Une boussole est fixée sur les écouteurs de l’utilisateur afin de fournir les informations sur l’orientation de sa tête. L’ordinateur portable se rend également compte de l’endroit de l’utilisateur. Le système utilise un système GPS pour les environnements extérieurs et un système de positionnement ultrasonique pour les environnements intérieurs. Avec ces deux sources d’information, le dispositif portable peut déterminer où un son devrait être placé par rapport à l’utilisateur. L’un des prototypes que nous avons pu tester est Percepio. C’est un audioguide Percipio (du latin ” percevoir par les sens ”) [Apeloig08] qui permet de déterminer la position du visiteur et aussi ce qu’il regarde, sans intervention manuelle. Percipio (fi- gure 2.4), se présente sous la forme d’un appareil audio relié à un boîtier pendu autour du cou. A son arrivée, à l’accueil, le visiteur reçoit Percipio dans les mêmes conditions qu’un audio guide classique. Il peut alors se promener librement dans le site, qu’il soit intérieur ou extérieur. Ce système est conçu pour calculer le vecteur visuel de l’utilisateur afin de lui envoyer les commentaires audio liés à l’exposition qu’il regarde. Il est relié à une plateforme multimédia (PDA) et peut fournir un contenu personnalisé en fonction de l’intérêt du visiteur. Le système utile la technologie infrarouge pour déterminer la position du porteur dans des environnements intérieurs, et le GPS pour les environnements extérieurs. Pour le calcul de l’orientation de la tête (le lacet), Percipio utilise un compas magnétique. Le Musée de Londres a lancé StreetMuseum [Farman12], une application iPhone gratuite qui utilise ses collections de photos d’archives associées à la géolocalisation et à la réalité augmentée. Cette application, consacrée à la capitale anglaise, permet de retrouver les anciennes photos de lieux actuels, avec en plus un descriptif audio de la photo prise à l’époque. 2.6.2.2 Spatialisation sonore pour la visite des musées En plus de la localisation du visiteur dans le musée, notamment le suivi de sa position et son orientation, quelques chercheurs ont pensé à augmenter la visite du musée par du son spatialisé pour favoriser l’aspect immersif de la visite. Le projet ec(h)o [Hatala05] est conçu comme un audioguide interactif pour le musée.Section 2.6. La visite augmentée 35 FIGURE 2.4 – Le casque PERCIPIO 15 Le système capte la position du visiteur qui se déplace dans le musée en utilisant la technologie RFID et les caméras, et par conséquent, le contenu audio relatif à ce que regarde le visiteur du musée lui est envoyé via le casque. En plus de la captation de mouvement, le visiteur interagit avec le contenu audio à l’aide d’un cube en bois de forme asymétrique qu’il manipule durant sa visite. En dépit de sa fiabilité, l’efficacité de l’approche est discutable car l’utilisateur spécifie manuellement son orientation à l’aide du cube. En outre, le système utilise des fonctionnalités limitées de la spatialisation sonore, notamment l’effet stéréo. Par contre, l’effet binaural n’est pas offert. Le projet Listen [Eckel01b, Delerue02, GoBmann02, Leprado07, Zimmermann08], quant à lui a comme but d’explorer l’immersion dans les environnements augmentés par l’audio, en superposant un environnement sonore virtuel à l’environnement réel. Ce système a été installé au musée Kunstmuseum de Bonn dans le cadre d’une exposition comprenant les œuvres du peintre August Macke. Le suivi du visiteur est effectué en utilisant des caméras infrarouges afin de reconnaître l’objectif monté sur le casque et sur les objets exposés. Une unité centrale recueille les données de chaque visiteur correspondant à sa position absolue et à son orientation. Puis, le contenu auditif est sélectionné, spatialisé en temps réel et envoyé à l’utilisateur à travers un casque d’une manière binaurale. Néanmoins, Le dispositif de suivie ne permet de suivre que huit visiteurs simultanément. Le projet Sound Delta propose, de son coté, une architecture distribuée en combinant deux architectures locale et centralisée. Il s’agit d’une installation artistique pour l’interaction en temps réel et de l’exploration simultanée de paysage sonore [Mariette09, Mariette10]. L’utilisateur porte un ordinateur utilisé comme récepteur au-36 Chapitre 2. État de l’art dio et il est invité à une expérience d’écoute en se déplaçant dans un espace physique. L’utilisateur a l’impression que les sources sont en mouvement grâce au changement des paramètres des sources sonores musicales en fonction de la position et de l’orientation de l’utilisateur. Le système mobile est constitué d’un ordinateur de poche ordinateur (Sony Vaio VGN-UX1XN, Windows XP SP3), La localisation est assurée par le GPS et l’orientation avec le capteur XSens MTi miniature. L’utilisateur porte un casque ouvert (Sennheiser HD485). Le système distant se compose d’un point d’accès Ethernet sans fil et un serveur (Apple PowerMac). Plus récemment, le projet Corona 16 a proposé une visite culturelle en réalité augmentée audio de l’hôtel de ville d’Aachen, en Allemagne. L’espace audio est composé de plusieurs sources sonores virtuelles [Heller11, Heller09], correspondant à des monuments historiques de la ville. Le processus du rendu sonore récupère la position et l’orientation de l’auditeur ainsi que la position des sources sonores virtuelles pour émuler une propagation naturelle du son. Les visiteurs découvrent cet espace virtuel audio en continu uniquement en se déplaçant dans la salle du couronnement. Corona tourne sur iPhone et son système iOS, à travers lequel l’utilisateur séléctionne l’œvre qu’elle l’intéresse. Le tracking de la position et de l’orientation de l’auditeur est réalisé à l’aide d’Ubisense. Il s’agit d’un système de tracking en temps réel qui trace la position de l’auditeur avec des tags RF intégrés dans les écouteurs. Pour suivre l’orientation de sa tête, une boussole numérique est également montée sur les écouteurs. Les informations recueillies sont ensuite remis à un moteur de rendu audio. Apple iOS SDK est livré avec une mise en œuvre d’OpenAL, qui assure l’effet stéréo, les auteurs ont ensuite étendu ce rendu par l’ajout d’un filtre passe-bas pour assurer l’effet devant/derrière, et ajouter des réverbérations. En comparant les projets cité selon le moyen d’interaction avec le paysage sonore. Nous trouvons que dans les projets ec(h)o et Corona le visiteur sélectionne les œuvres dont il souhaite entendre le contenu grâce à une interface manuelle (cube en bois dans ec(h)o et iphone dans Corona). Quant aux projets Listen et Sound Delta. Ils ont opté pour une interaction avec le paysage sonore basée uniquement sur la déambulation des visiteurs dans le musée. Si cette solution a l’avantage de libérer les mains des visiteurs et de les immerger dans le paysage sonore. Elle a toutefois, l’inconvénient de ne pas donner au visiteur le moyen de contrôler le contenu audio qu’il désire entendre (arrêter ou jouer le contenu, augmenter ou diminuer le volume,etc). 2.7 Conclusion Dans ce chapitre, nous avons commencé par définir le concept de la réalité augmentée, qui possède un périmètre de définition très large et mouvant. Nous avons situé la réalité augmentée par rapport à la réalité virtuelle, et nous avons défini le concept de 16. http ://hci.rwth-aachen.de/coronaSection 2.7. Conclusion 37 l’augmentation de la réalité qui peut se faire sur le plan visuel, haptique, sonore, voire olfactif. Nous nous sommes plus particulièrement focalisés sur l’augmentation sonore. Après avoir présenté les concepts de l’audition et de la perception humaine du son. Nous avons présenté l’apport de la dimension sonore dans les systèmes de RA. Dans un deuxième temps nous avons limité nos champs d’étude aux systèmes de RA sonore dans le cas particulier de la visite des lieux culturels. Dans la visite de lieux culturels force est de constater la prolifération d’outils de guidage. Parmi ces outils nous trouvons les guides multimédias qui se chargent d’assurer cette médiation autrefois assurée exclusivement par un médiateur humain. Il convient de noter que plusieurs taxonomies d’audioguides se trouvent dans la littérature. Damala [Damala09] estime que l’on peut avoir huit critères de classification des audioguides. Ils peuvent être classifiés selon le média utilisé, la géolocalisation, le contenu stocké, la personnalisation, le contexte social, la continuité de l’usage et le caractère ludo-éducatif. Nous nous sommes focalisés dans cette étude de l’état de l’art sur les deux critères suivants : la géolocalisation et la personnalisation. Dans la dernière section nous avons fait le lien entre la réalité augmentée et la visite du musée, nous avons vu, à travers des exemples, comment une visite de musée peut être augmentée, que ça soit par la modalité visuelle ou sonore. Les tableaux 2.2, et 2.4 représentent un récapitulatif de quelques systèmes de RA étudiés dans ce chapitre. – La première colonne donne le nom de l’application ou de son auteur principal. – La deuxième colonne indique le domaine couvert par cette application. – La troisième colonne précise la nature de l’augmentation du point de vue de la perception par l’utilisateur. Nous distinguons principalement les augmentations visuelles et sonores. – La quatrième colonne indique les dispositifs utilisateur. Ce qui signifie, le moyen d’interagir avec l’environnement augmenté et le type d’ordinateur pour traiter les données. – La cinquième colonne indique si l’application permet ou pas le suivi de la position de l’utilisateur, et si oui par quelle technologie. – La sixième colonne permet de préciser si l’application permet ou pas le suivi de l’orientation de l’utilisateur et par quel type de capteurs. – La septième colonne précise si la technique de la spatialisation sonore est utilisée ou pas. – Enfin la huitième colonne précise si l’application supporte la mobilité. Nous distinguons : F (l’application est fixe), M (l’application est mobile).38 Chapitre 2. État de l’art Nom de l’application ou de l’auteur Domaine d’application Nature de l’augmentation Dispositif Suivi position Suivi orientation Spatialisation Mobilité Ariel [Mackay98] Architecture Visuelle, sonore Table, localisateur caméras Non Non F Autonomie [Lemordant11] Aide à la navigation Sonore Smartphone GPS centrale inertielle Non M CARE/PE [Regenbrecht04] Télé- conférence Sonore Ecouteurs stéréo, ordinateur Non Non Stéréo M Sodnik [Sodnik06] Jeu vidéo Sonore Ecouteur stéréo, HMD, PC windows caméras Non Binaural F Labyrinthe [Gaudy08] Jeu vidéo Sonore Casque stéréo, PC standard Non Non Binaural F PGS [Golledge98] Aide à la navigation Sonore Casque, tél mobile Nokia GPS Boussole Non M Drishti [Vazquez09] Aide à la navigation Sonore Casque GPS Boussole Non M MOBIC [Petrie96] Aide à la navigation Sonore Casque GPS Boussole Non M SWAN [Wilson07] Aide à la navigation Sonore Casque , micro PC(Sony Vaio) GPS Boussole Non M GpsTunes [Strachan09] Navigation Sonore, visuelle UMPC Sumsung GPS Système inertiel stéréo, panning M VGH [Paterson10] Jeu vidéo Sonore, visuelle casque RFID Non Non M Ambient Horn [Randell04] Promenade ludique Sonore Casque, prototype Ambient Horn Non Non Non F CyberJacket [Carro06] Navigation Sonore, visuelle carte Gumstix GPS Boussole stéréo M Sound Delta [Mariette09] Installation sonore Sonore casque stéréo, micro ordinateur(Sony vaio), serveur GPS Boussole Stéréo M TABLE 2.2 – Tableau de synthèse de la revue des applications de RA (Partie 1)Section 2.7. Conclusion 39 Nom de l’application ou de l’auteur Domaine d’application Nature de l’augmentation Dispositif Suivi position Suivi orientation Spatialisation Mobilité Audio GPS [Holland02] Navigation, aide à la visite Sonore casque, ordinateur standard GPS Boussole Stéréo M Stahl [Stahl07] Visite de zoo Sonore casque GPS Boussole Stéréo M Terracota Warios [Thian12] Visite de musée Visuelle iPhone GPS Boussole Non M Life plus [Papagiannakis02] Visite de musée Sonore, visuelle HMD Non Non Non M Archeo-guide [Gleue01] Visite de musée Visuelle visiocasque Oui Non Non M Emane [Owen05] Visite de musée Visuelle - Non Non Non F Street Museum [Farman12] Visite de la ville Visuelle, sonore iPhone GPS Boussole Oui M Explorer [AMNH] Visite de la ville Visuelle Ipod touch GPS Non Non M Museum Lab [Mina10] Visite de la ville Visuelle Baladeur Non Non Non M Bederson [Bederson95] Visite de la ville Sonore PC portable IR Non Non M Percipio [Apeloig08] Visite du musée Visuelle, sonore PDA GPS , IR Boussole Non M Hips [Oppermann99] Visite du musée Sonore casque IR Boussole Non M Ec(h)o [Hatala05] Visite du musée Sonore casque stéréo, PC fixe RFID Cube, cameras Stéréo M Listen [Zimmermann08] Visite du musée Sonore casque stéréo, ordinateur fixe (serveur) Caméras IR Boussole Binaural M Navig [Katz10] Aide à la visite Sonore casque stéréo, PC portable GPS Boussole Binaural M Corona [Heller11] Visite du musée Sonore casque stéréo, iphone Ubisense Boussole Stéréo M Artsense [Stojanovic12] Visite du musée Sonore, visuelle, affective Caméras, HMD, eye tracking - - Binaural M TABLE 2.4 – Tableau de synthèse de la revue des applications de RA (Partie 2)3 Dispositif du visiteur 3.1 Motivation 3.1.1 Contexte Le Musée des Arts et Métiers (MAM) interpelle par la richesse fonctionnelle et technique des œuvres qu’il abrite. En effet, le MAM de Paris, expose environ 4000 objets de science et de technologie de différents domaines : communication, construction, transport, mécanique et autres (Figure 3.2). Un ensemble d’objets exposés dans le musée est présenté dans la figure 3.1. Des joyaux de technologie uniques aussi bien par leurs formes étonnantes, à la fois les grands (le fardier de Cugnot, l’aéroplane de Clément Ader, etc.) et les moins grands (les automates par exemple), que par les sons qu’ils produisent quand ils se mettent en état de marche. Ces sons peuvent être complexes ou simples, intenses ou légers, tellement caractérisants qu’ils contribuent pleinement à créer l’identité des objets qui les émettent. Bruno Jacomy a structuré les objets qui produisent des sons dans le MAM [Jacomy02]. Il a développé une typologie d’objets sonores se trouvant dans le MAM en les répartissant en quatre catégories : Les objets conçus pour produire des sons agréables comme la musique. Comme exemple nous pouvons citer la salle des automates qui contient plusieurs objets qui produisent de la musique comme "La joueuse de tympanon". Les objets qui produisent des sons fonctionnels (horloge, alarme, télévision, phonographe).42 Chapitre 3. Dispositif du visiteur FIGURE 3.1 – Quelques objets des collections du musée des arts et métiers.Section 3.1. Motivation 43 FIGURE 3.2 – Plan des salles du musée des arts et métiers.44 Chapitre 3. Dispositif du visiteur Les objets dont le fonctionnement produit des sons (moteurs, le métier à tisser, outils, instruments scientifiques). Éléments sonores liées à l’environnement du musée et à ses éléments architecturaux (appareil multimédia, sol, murs d’écho). De nombreuses raisons pratiques empêchent de mettre en marche ces machines, ce qui privent les visiteurs du musée d’informations importantes concernant le fonctionnement de ces machines. Activer les sons associés aux objets exposés par haut-parleurs placé à coté de chaque machine serait également inapproprié. En effet, ceci priverait le visiteur d’une expérience individuelle, et transformerait la visite du musée d’une expérience personnelle vers une excursion en groupe. L’idée est donc d’associer à travers de la RAS un ou plusieurs contenus sonores virtuels aux objets réels exposés au musée, puis de renvoyer à chacun des visiteurs un contenu audio personnalisé approprié à sa position et à son orientation. Le concepteur du scénario de visite peut choisir des sons ambiants qui donnent une idée sur l’objet visité, ou des sons de paroles présentant l’objet exposé, ou même des sons non familiers pour susciter la curiosité des visiteurs et favoriser l’effet de surprise. Ce chapitre vise à présenter la structure générale de SARIM, le système que nous avons conçu et développé pour réaliser notre scénario de spatialisation sonore. Le chapitre commence par décrire les premières conditions expérimentales qui ont motivé le choix du dispositif, puis décrit les dispositifs de captation de mouvement utilisés tout au long de la thèse, avant de finir par présenter le dispositif final retenu. 3.1.2 Choix de conception SARIM est conçu pour permettre au visiteur du musée de naviguer dans un environnement physique augmenté par une scène sonore virtuelle. Cette dernière comporte plusieurs objets sonores liés chacun à une œuvre exposée dans le musée. Pour se faire, le visiteur doit porter un casque audio sur lequel est fixé un capteur d’orientation et de position, ce capteur transmet les informations sur la position et l’orientation du visiteur au système de la spatialisation sonore. Ce dernier consulte les sons contenus dans sa base de données, met à jour les paramètres de la spatialisation sonore, puis transmettre le son spatialisé au moteur audio qui le renvoie à son tour d’une manière binaurale au casque du visiteur. Bien que le système SARIM s’inscrit dans la ligné de quelques systèmes similaires de RAS appliqués à la visite de musées, tels que ec(h)o [Hatala05], Listen [Zimmermann08], Sound Delta [Mariette09, Mariette10] et Corona [Heller11, Heller09], cités dans le chapitre 2. L’approche suivie est différente par rapport aux approches existantes. En effet SARIM se distingue de ces systèmes par quelques caractéristiques. Premièrement, en le comparant à ec(h)o [Hatala05] ou à Corona [Heller11, Heller09] par exemple, SARIM est un dispositif à utilisation main libre. Il est capable de capter l’orientation de la tête du visiteur et de calculer son vecteur visuel, sans aucune action de ceSection 3.2. Expérimentations initiales 45 dernier à l’exception de son déplacement et se ses gestes. Deuxièmement, et en le comparant cette fois à Listen [Zimmermann08] ou à Sound delta [Mariette09, Mariette10], SARIM offre, en plus de l’adaptation de l’espace sonore aux intérêts du visiteur, un moyen d’interaction intuitif basé sur les gestes. Celui ci permet à l’utilisateur de mieux contrôler l’espace sonore. En plus de ça, SARIM est un système entièrement distribué, ce qui signifie qu’il dispose d’un dispositif autonome pour chaque utilisateur, et que la gestion du système est réalisée localement. Par conséquent, SARIM peut être utilisé simultanément par un grand nombre de visiteurs. 3.2 Expérimentations initiales 3.2.1 Scénario : combinaison de l’immersion et la description Les premières expérimentations informelles de notre prototype ont été réalisées en utilisant le capteur de position et d’orientation Polhemus Patriot (voir section 3.3.1). Au sein du laboratoire, dans une salle de 4x4 mètres, trois photos correspondant à des œuvres du musée ont été disposées sur les murs, tandis que la même scène est reproduite en temps réelle sur une interface visuelle 3D. Ces expérimentations ont été menées auprès d’une dizaine de sujets, qui ont expérimenté notre prototype. Par la suite, d’autres expérimentations informelles ont suivi, et ont été réalisées cette fois dans la salle des automates du MAM en utilisant le capteur d’orientation Sparkfun IMU 6 DOF (figure 3.6). L’auditeur porte un casque d’écoute stéréo, sur lequel le capteur de mouvement est fixé. Son mouvement est analysé en permanence. Le scénario de visite que nous avons proposé initialement est un scénario qui combine l’immersion sonore dans le musée à travers des sons ambiants et de la parole dé- crivant les objets. Lorsque le visiteur entre dans l’environnement sonore, sa position et l’orientation de sa tête sont automatiquement envoyées au système de spatialisation sonore. Celui-ci récupère le contenu audio approprié en fonction de la position de l’utilisateur et de son orientation, puis envoie à l’utilisateur le contenu audio sous format binaural via le casque. Les actions suivantes ont été expérimentées : Action 1 : Quand l’utilisateur se dirige vers un objet exposé, il commence à entendre le son ambiant correspondant à cet objet. Le son est envoyé au visiteur d’une manière spatialisée. le volume et l’orientation du son, dépendent de la distance qui sépare le visiteur de l’objet et de l’orientation de la tête du visiteur par rapport à cet objet Action 2 : Quand l’utilisateur se positionne entre deux ou plusieurs objets exposés, il entend simultanément les sons ambiants de toutes les sources sonores correspondants à ces objets, tandis que chaque son est envoyé au visiteur en fonction de sa position et l’orientation de sa tête. Puisque des sons différents proviennent de dif-46 Chapitre 3. Dispositif du visiteur férentes directions et positions, le visiteur doit être capable de localiser les objets qui l’entourent et d’estimer la distance qui le sépare de ces objets. Action 3 : Si l’utilisateur s’approche d’un objet exposé et le fixe durant un certain nombre de secondes (spécifié par le concepteur en utilisant l’outil d’écriture de scènes sonores), il commence à entendre uniquement la description de cet objet. Tous les changements dans le contenu audio que le visiteur entend sont effectués d’une manière fluide et progressive, de sorte que le visiteur ne sente pas de coupures dans le paysage sonore. Lorsqu’on passe d’une action à l’autre et que le contenu sonore doit être changé, le volume du dernier son est diminué progressivement au fur et à mesure que le volume du nouveau son augmente jusqu’à ce que le nouveau son remplace l’ancien. Cette phase de transition dure quelques seconde. 3.2.2 Rendu sonore SARIM est conçu d’une manière modulaire qui exige l’utilisation d’un moteur de rendu sonore binaural. Pour des raisons pratiques, le rendu ”binaural” réalisé dans notre travail s’appuie sur l’API NativeFmodex 1 (la version native de FMOD). FMOD 2 est une API (Application Programming Interface) de programmation et un outil pour la création et la lecture du son interactif. Pour créer ”l’effet binaural”, nous avons utilisé l’HRTF statique de FMOD, à travers le mode FMOD_INIT_SOFTWARE_HRTF qui permet l’initialisation du système sonore FMOD. Ce mode ajoute un effet filtre passe-bas qui fait que le son paresse plus terne lorsque la source sonore se situe derrière l’auditeur. 3.2.3 Rendu visuel Dès le début des développements, nous avons senti le besoin d’avoir un retour visuel : une interface qui montre les conséquences des gestes du visiteur et le retour sonore qu’ils produisent. Pour créer un retour visuel, nous avons commencé par concevoir et réaliser une simulation virtuelle d’une visite du musée guidée par le son. Cela a été réalisé en créant un mini musée virtuel dans le laboratoire. Chaque objet exposé est associé à différents types de contenus audio : une description vocale de l’objet, un son ambiant ou une représentation musicale correspondante à cet objet. Deux modes d’exé- cution sont possibles dans ce système : Un mode "virtuel" où la position et l’orientation du visiteur sont saisies manuellement à l’aide de la souris et du clavier. L’utilisateur peut ainsi simuler un déplacement dans l’environnement virtuel, approcher les objets et entendre le contenu audio qui leur sont liées. Le deuxième mode, est le mode "réel". Il est utilisé pour surveiller et monitorer la visite. La position du visiteur et son orientation sont récupérées à partir du capteur de mouvement. Cet interface n’est pas destinée 1. http ://jerome.jouvie.free.fr/nativefmod/index.php 2. http ://www.fmod.org/Section 3.2. Expérimentations initiales 47 à être utilisée par le visiteur qui aura lui les mains libres, mais plutôt par le concepteur de scénarios de visite. De même, deux interfaces graphiques ont été attachées au système : Une interface 3D et une interface 2D (figure 3.3). L’interface 3D, de vue subjective, reproduit en temps réel le champ de vision du visiteur au même temps que son déplacement. Dans le cas où le mode virtuel est sélectionné, le visiteur peut naviguer en utilisant un dispositif de pointage connecté au système (souris, clavier). Dans l’interface 2D, de vue de dessus, le système affiche la carte des objets sonores et la position et l’orientation du visiteur au sein de l’environnement du musée. Les objets sont représentés sous forme d’icônes visuelles tandis que le visiteur est dépeint par une icône et une flèche. L’interface permet alors au responsable de la visite d’activer ou de désactiver l’émission des son particulier en cliquant simplement sur l’icône associée. Le type du contenu est représenté par une liste pour permettre au responsable de la visite de modifier le type de contenu sonore. FIGURE 3.3 – Interfaces graphiques pour les expérimentations initiales Une autre interface de vue panoramique a été également développée est utilisé dans le cadre des expérimentation informelles réalisées au MAM (figure 3.4). 3.2.4 Perception simultanée des contenus sonores Bien que l’architecture du système prend en charge un nombre illimité de contenus audio, la question d’une perception optimale des sons est fondamentale pour notre sys-48 Chapitre 3. Dispositif du visiteur FIGURE 3.4 – Vue panoramique des trois objets sonorisés tème. Pour cette raison, nous avons effectué un test sur le nombre maximum de sons différents qui peuvent être distingués, s’ils sont joués en même temps et dans la même salle. Les participants devaient se mettre sur un point fixe et être acoustiquement entouré par un nombre variable d’objets audio. Ils avaient le droit de tourner uniquement leurs têtes. La plupart d’entre eux ont été en mesure de percevoir simultanément jusqu’à à six sons à la fois. Au-delà de ce nombre, la localisation des objets audio et leur distinction semblaient être difficile. Pour cette raison, lors de la conception du scénario, le concepteur doit définir et ajuster le nombre maximum d’objets audio qui vont être perçus simultanément. 3.2.5 Création de contenus sonores La création du contenu sonore pour cette première phase a été effectuée par un compositeur de son 3 , qui s’est chargé de préparer le contenu. La préparation repose sur l’enregistrement des sons des objets de l’expérience, ou la création de sons similaires en mixant plusieurs sons, ou en créant des ambiances sonores qui donnent une idée sur l’objet. Dans cette expérience, nous avons choisi une petite salle du musée qui comporte trois objets (figure 3.4) : une grande machine électrostatique du 18ème siècle, un impressionnant moteur de bateau du 19ème siècle. Les deux objets sont placés l’un devant l’autre à l’est et à l’ouest de l’entrée de la salle. Le troisième objet est l’entrée dans une seconde grande salle dédiée aux médias. Elle est situé au nord de l’entrée de la salle. Trois sons ambiants devraient être entendus dans la salle : deux sons provenant des deux machines et un son composé en provenance de la salle des médias. Aucune de ces deux machines ne peut être mise en marche, car elles sont très vielles, 3. Cécile LepradoSection 3.3. Captation de mouvement 49 de ce fait, nous ne pouvions pas enregistrer aucun son dans cette salle. L’ingénieur du son s’est chargé par la suite de composer des sons artificiels correspondants à chaque objet de la salle. Le son du moteur du navire a été créé en sur-échantillonnant, ralentissant, et effectuant un filtrage passe-bas à un son d’un petit bateau contemporain. Le son de la machine électrostatique a été, à son tour, créé en mélangeant un son illustrant le frottement mécanique des disques de verre et de la manivelle, avec le son de certains éclairs électriques. Le son provenant de la salle des médias a été créé par le mélange des sons de certaines technologies des médias connus tels que des imprimantes et des télégraphes. La création du contenu sonore reste tout de même une discipline à part entière qui n’a pas été étudiée comme problématique de recherche dans cette thèse. 3.3 Captation de mouvement De manière générale, la captation du mouvement est employée dans les environnements virtuels pour enregistrer et suivre dans l’espace la position et l’orientation des objets physiques. A la différence de quelques autres systèmes similaires de RAS, qui ont consacré un large espace dans leurs travaux à la problématique de captation de mouvement du visiteur (voir chapitre 2), nous n’avons pas étudié la captation entant que problématique de recherche dans notre travail. Nous avons plutôt testé plusieurs capteurs, en notre possession, tout en se concentrant sur la captation de l’orientation plutôt que sur celle de la position. 3.3.1 Polhemus Patriot Le premier capteur utilisé est le capteur PATRIOT 4 de la société Polhemus 5 , qui permet le suivi de la position et de l’orientation. Bien qu’il s’agit d’un capteur filaire, inadapté à une visite de musée, PATRIOT a été utilisé en premier lieu afin de valider, dans une situation réelle de captation de mouvement, le système de spatialisation sonore développé. PATRIOT comprend, un système d’unité électronique (SEU), une source magnétique, un capteur et un boîtier de contrôle. Lorsque PATRIOT est en fonction, la source émet successivement trois champs magnétiques mutuellement perpendiculaires qui induisent un courant dans les trois bobines du capteur. A partir de l’intensité de ces courants, qui dépend de la position relative du récepteur par rapport à la source, le système calcule la position et l’orientation du capteur. Le champ magnétique étant de faible intensité, il n’est pas possible d’utiliser le système pour le suivi dans des grands espaces. Le PATRIOT, qui est caractérisé par une portée utile (Useful Range) réduite à 60 inches, offre ainsi un espace de travail de la forme d’une sphère de rayon égale à environ 152 mètres. PATRIOT est fournit 4. http ://www.polhemus.com/ ?page=motion_patriot 5. http ://www.Polhemus.com50 Chapitre 3. Dispositif du visiteur avec un logiciel Polhemus PiMgrGUI qui permet la gestion et le transfert des mesures de position et d’orientation du capteur. Ce logiciel est adapté uniquement aux systèmes d’exploitation Windows 2000 et XP. Pendant nos expérimentations informelles (figure 3.5), le temps de latence entre le changement de position et de l’orientation de l’utilisateur et la mise à jour du contenu audio est estimé à 17 millisecondes. Cette valeur est largement inférieure à la perception auditive humaine estimé à 50 millisecondes. En outre, la vitesse du mouvement de l’auditeur n’affecte pas la performance acoustique du système. FIGURE 3.5 – Expérience informelle menée au laboratoire Après avoir passé la première étape de validation de notre prototype avec le PATRIOT, l’étape suivante est de choisir un capteur approprié qui va assurer l’autolocalisation. Ce qui signifie, que le visiteur doit porter sur lui tout le système de localisation, est ce dernier communiquera directement les mesures de localisation au système de spatialisation sonore. Ceci va permettre à plusieurs visiteurs d’utiliser le dispositif simultanément. Nous nous sommes ainsi orientés vers les capteurs inertiels.Section 3.3. Captation de mouvement 51 3.3.2 Centrale inertielle Sparkfun IMU 6 DOF Les capteurs inertiels tirent leur intérêt de l’utilisation conjointe d’accéléromètres et de gyroscopes. L’orientation de l’objet sur lequel le capteur est posé, est calculée en intégrant conjointement les valeurs des gyroscopes, ces dernières étant proportionnelles à la vitesse angulaire autour de chaque axe. Ces capteurs sont rapides, ne nécessitent pas d’éléments extérieurs, et ne souffrent d’aucun problème d’occlusion par un autre objet, ni d’interférences magnétiques, et occupent un espace très réduit. Cependant, ils ne sont pas précis lorsque les changements de positions sont lents, et restent sensibles à des phénomènes de dérives, puisque les erreurs s’accumulent en permanence. Plusieurs modèles de centrales inertielles existent sur le marché. Nous pouvons citer les produits des sociétés Xsens [B.V.09], Intersense [Inc.10], Sparkfun [Sparkfun07], etc. Nous avons choisie la IMU-6DOF-V4 de Sparkfun (figure 3.6) vu qu’elle est peu encombrante, légère, ouverte, documentée et moins onéreuse. En revanche, elle est vendue sans logiciel de traitement de mesures. FIGURE 3.6 – Sparkfun IMU-6DOF-V4 [Sparkfun07] SparkfunIMU-6DOF-V4 combine différents capteurs inertiels. Elle comporte : – Un accéléromètre à triple axe Freescale MMA7260Q, – Deux Gyroscopes InvenSense IDG500, – Deux capteurs magnétiques Honeywell HMC1052L et HMC1051Z. La centrale inertielle délivre des données brutes en 3 dimensions : vitesse angulaire, accélération et champ magnétique. En plus de la connexion filaire, elle supporte aussi la connexion Bluetooth.52 Chapitre 3. Dispositif du visiteur Nous avons utilisé SparkfunIMU-6DOF-V4 dans le cadre de nos expérimentations informelles réalisées au MAM (figure 3.7). Cependant, la performance de la centrale inertielle est limitée en terme de précision et de stabilité du biais sur les mesures, ce qui est le principal facteur de dérive des techniques de navigation à guidage inertiel. Plusieurs essais ont été effectués afin de réaliser le calibrage du capteur et la conversion des mesures brutes vers des mesures fiables d’angles d’orientation (Voir Annexe A.1). FIGURE 3.7 – Expérience informelle en utilisant Sparkfun IMU-6DOF-V4. 3.3.3 InertiaCube Le dernier capteur d’orientation que nous avons utilisé est le InertiaCube BT 6 de la société Intersense (figure 3.10). Il fournit en temps réel les données de l’orientation via une interface Bluetooth standard. L’InertiaCube BT est un capteur à trois degrés de liberté, permettant de mesurer les trois angles d’Euler : le lacet, l’élévation et le roulis, avec une précision annoncée de 1 pour le lacet et 0,5 pour l’élévation et le roulis. La latence moyenne du système serait de 40ms, mais cette dernière peut également varier selon l’équipement sans fil utilisé, à l’OS et à la connexion Bluetooth. Le capteur a une autonomie de 8 à 10 heures et a une connexion Bluetooth avec une porté allant jusqu’à 33m. Le capteur est livré avec un logiciel ISDemo permettant la gestion des mesures du capteur. Il permet de diffuser les données de captation sur le réseau en utilisant le protocole UDP. Il permet également de sauvegarder les données dans un fichier tampon 6. http ://www.intersense.com/pages/18/60/Section 3.4. Dispositif expérimental final 53 en local au fur est à mesure de leur réception. C’est cette dernière solution qui sera utilisée et maintenu pour nos prochaines expérimentations formelles. 3.4 Dispositif expérimental final Après avoir réalisé de multiples expériences informelles, et testé quelques capteurs de mouvements, nous avons réalisé un dispositif du visiteur (logiciel et matériel) sur la base de nos travaux théoriques décrits aux chapitre Model (chapitre 4). Ce même dispositif a été évalué durant des expérimentations formelles décrites au chapitre Évaluation (chapitre 5). L’architecture générale du dispositif est décrite par le schéma présenté par la figure 3.8. FIGURE 3.8 – Architecture générale du dispositif du visiteur de SARIM.54 Chapitre 3. Dispositif du visiteur 3.4.1 Localisation simulée (magicien d’Oz) Puisque nous ne faisons pas de captation de position pour traquer la position des participants, nous avons décidé de simuler l’action de la captation de position par la technique du magicien d’Oz. Le magicien d’Oz est une technique expérimentale. Elle est utilisée pour simuler les fonctionnalités absentes d’un système existant, ou dans un système réel inexistant ou partiellement développé. Elle peut être utilisée également quand la technique est difficile à mettre en place. Dans la technique du magicien d’Oz, les participants sont mis en présence d’un système qu’ils croient réel, où une action ou plusieurs actions sont effectuées par un "magicien" caché. Le comparse doit, tout en restant à distance raisonnable du participant, à la fois observer l’interaction opérée par celui-ci et jouer son rôle, sans pour autant interférer avec la tâche du participant. L’utilisateur pense tester une interface réelle, alors que c’est une personne qui renvoie à l’utilisateur les réponses de l’interface. Dans notre expérience, cette technique a été utilisée pour simuler la captation de la position du participant. La simulation consiste à ce que l’expérimentateur porte l’ordinateur sur lequel l’application de simulation est installée. Il simule la navigation du visiteur en faisant déplacer un avatar qui représente le visiteur, au même temps que celui-ci se déplace. Par conséquent, le visiteur entend le son qui se déplace avec lui sans se rendre compte de ce que fait l’expérimentateur. Pour le visiteur, sa position est traquée automatiquement par le capteur qu’il porte. A la fin de l’expérience, une entrevue est menée par le responsable avec chaque participant à l’expérimentation afin de déterminer si celui-ci s’est aperçu de la manipulation et à quel moment. Il faut signaler qu’aucun participant à cette expérience n’a perçu que l’interaction était simulée par le comparse. 3.4.2 Équipement matériel Nous utilisons un casque 7 stéréo bluetooth de la marque Philips, modèle SHB9100, de dimensions 14,9 x 17,8 x 7 cm et d’un poids de 0,15kg, avec une porté de 15m et une autonomie de plus de 10h. Le format spatialisé du contenu audio qui est envoyé au visiteur justifie le caractère stéréo du casque. Nous avons choisi un casque Bluetooth pour ne pas encombrer les participants avec les fils. Le port du casque est confortable grâce aux coussinets, et peut être porté durant toute la visite du musée. Ce modèle de casque est aussi doté d’un arceau assez large permettant d’accueillir notre capteur d’orientation InertiaCube. Le traitement des données de géolocalisation est effectué par un logiciel installé sur un ordinateur. L’ordinateur doit être porté par le visiteur au cours de sa visite. L’ordinateur où est installé notre application doit être équipé de la technologie Bluetooth pour pouvoir communiquer avec le casque et le capteur d’orientation, d’une carte graphique 7. http ://www.philips.fr/c/ecouteurs/supra-aural-noir-shb9100_00/prd/Section 3.4. Dispositif expérimental final 55 et d’une carte son, d’un processeur puissant, d’une autonomie raisonnable compatible au besoins de l’application et doit être léger (de préférence un netbook). FIGURE 3.9 – Dispositif SARIM FIGURE 3.10 – Capteur InertiaCube BT [Inc.10] 3.4.3 Architecture logicielle Un logiciel a été conçu pour effectuer les tests de SARIM. Ces tests ont été réalisés en se servant du capteur InertiaCube qui permet de capter l’orientation de son porteur mais pas sa position. Il fallait intégrer au logiciel de test un outil permettant de simuler la position suivant la méthode du magicien d’Oz. Le logiciel que nous avons développé est composé de quatre modules principaux : – La captation de mouvement. – La spatialisation sonore. – L’affichage graphique. – La collecte d’informations. – La lecture audio. Le module de captation de mouvement est responsable de la récupération des données de l’orientation de la tête transmises par le capteur InertiaCube. Notre module se charge ainsi de récupérer ces données produits par ISDemo à partir de ce fichier tampon, d’en extraire les trois angles d’Euler (le lacet, le tangage et le roulis) définissant l’orientation du capteur, puis d’appliquer un filtre de Kalman sur chacune de ces trois valeurs. Ce module s’exécute d’une manière parallèle aux autres modules à travers la technique du multithreading. Ceci permet une communication plus efficace et évite le56 Chapitre 3. Dispositif du visiteur blocage des autres modules dû aux latences imprévisibles susceptibles de se produire pendant la récupération du signal. Le module de spatialisation sonore s’occupe lui de la spatialisation du son transmis à l’auditeur suivant sa position et son orientation. Le module se base sur la version native de la bibliothèque FMOD conçue pour Java. Le module offre plusieurs modes de spatialisation sonore : La mode de spatialisation simple qui modifie la nature du son transmis à l’utilisateur suivant sa position et son orientation. La sonorisation par l’orientation dans ce scénario, l’auditeur écoute uniquement le son de l’objet sonore vers lequel il est orienté. Le mode de spatialisation composée dans ce cas, la spatialisation prend en compte la dualité zone d’audibilité partagée/exclusive (voir la définition des zones d’audibilité à la section 4.5.2). Elle permet d’arrêter les sons des zones partagées quand l’auditeur est en train d’écouter le son d’une zone exclusive. Ce mode de spatialisation a été utilisé pour l’expérimentation 1 (section 5.3). La combinaison de la spatialisation et de la sonorisation par l’orientation ici l’auditeur commence par écouter tous les contenus sonores suivant le scénario de la spatialisation simple, puis dès que l’auditeur se focalise vers un objet sonore au delà d’un certain seuil temporel (fixé à 3 secondes), il commence à entendre uniquement le son provenant de cet objet. Puis passé un deuxième seuil temporel, l’auditeur entend le contenu audio correspondant à la description de cet objet. Ce mode de spatialisation a été utilisé pour l’expérimentation 2 (section 5.4). De la même manière que le module précédent, ce module fait usage de la technique de multithreading en faisant en sorte que chaque objet sonore soit géré par un processus indépendant qui n’entrave pas l’exécution des autres traitements sur les autres objets sonores. Le module d’affichage graphique est responsable de la création du rendu visuel 2D de la scène sonore, des zones d’audibilité exclusives et partagées liées à chacun des objets, et de la position et de l’orientation du visiteur en temps réel. Le module récupère l’orientation du visiteur à partir du module de captation de mouvement. Il offre au meneur de l’exécution (dans notre cas l’expérimentateur) la possibilité de spécifier manuellement la position du visiteur et ainsi simuler son déplacement au sein de l’environnement sonore suivant la méthode du magicien d’Oz (Voir Image 5.1). Le module offre deux méthodes pour spécifier la position du visiteur. La première méthode fait usage des flèches directionnelles du clavier pour permettre à l’utilisateur de simuler le déplacement continu du visiteur au sein de la scène sonore. La deuxième méthode permet à travers un clic avec la souris de positionner directement le visiteur sur un endroit particulier dans la scène sonore. Ce module est développé suivant le patron de développement logiciel Modèle-vue-contrôleur (MVC) bien adapté pour ré-Section 3.5. Conclusion 57 pondre aux besoins des applications interactives en séparant les problématiques liées aux trois composants. Le quatrième module est le module de la collecte des informations de l’expérience. Ce module, développé également suivant la technique du multithreading, traque en temps réel l’accès du visiteur aux différentes zones d’audibilité. Il permet ainsi après une visite de produire des fichiers de type tableur retraçant le parcours du visiteur au sein de la scène sonore, et marquant les temps d’entrée et de sortie aux différentes zones visitées. Pour le programme que nous avons développé, nous avons utilisé le langage de programmation java et la librairie NativeFmod pour le rendu sonore. le programme comporte 8966 lignes de code. 3.5 Conclusion Ce chapitre décrit le dispositif du visiteur et les étapes par lesquelles nous sommes passés afin de réaliser notre objectif de base qui concerne l’augmentation de la visite du musée par la dimension sonore. Nous avons choisit la visite du musée des arts et métiers comme cas d’étude pour les raisons suivantes : – Le manque constaté de l’information sonore dans la présentation des œuvres du musée. – L’importance du son pour le type d’ œuvres exposées. – La localisation du musée par rapport à notre lieu de travail, et la facilité d’expérimenter dans ce musée (logistique). – Le contenu sonore qui nous été délivré par le personnel du musée. Nous avons présenté l’architecture matérielle et logicielle des premiers dispositifs utilisés pour les premières expérimentations informelles que nous avons menées, puis nous avons présenté le dispositif final adopté. Ce dispositif a été développé pour réaliser le système de la modélisation de la visite augmentée décrit au chapitre Modèle (chapitre 4), il a servit également pour réaliser les expérimentations et évaluations décrites au chapitre Évaluation (chapitre 5).4 Modélisation de la visite augmentée 4.1 Introduction Modéliser une visite augmentée par la dimension sonore repose sur la description de tous les composants qui entrent en jeu dans cette visite. Cela revient à modéliser la scène sonore, le visiteur et sa navigation dans la scène sonore. Dans la première partie du chapitre, nous illustrons notre objectif par des exemples de scénarios de visite qui ont motivé ce travail. Nous avons choisi des scénarios libres et d’autres prédéfinis à vocation ludo-éducatives. Comme scénario prédéfini, nous donnons l’exemple d’un jeu didactique se déroulant dans la salle des automates ainsi qu’une expérience dans le laboratoire de Lavoisier. Le parcours libre sera, illustré par une visite dans les salles de communication qui abritent plusieurs catégories d’ouvres, une découverte du Fardier de Cugnot, ainsi qu’une visite dans l’escalier d’honneur (section 4.2). Ces scénarios ont pour but de guider la conception d’un modèle le plus général possible de scènes sonores et de scénarios d’interaction pour les visites augmentées. La deuxième partie du chapitre viendra traiter la problématique de la modélisation de la visite augmentée dans le but de personnaliser le contenu envoyé à chaque visiteur du musée. Cette section commence par présenter la problématique le la personnalisation du contenu en citant quelques projets phares. Ensuite nous passons à la présentation des modèles que nous proposons des différentes entités qui composent la visite : l’environnement de la scène sonore sous trois couches : physique, virtuelle et sémantique (section 4.5), le visiteur avec des informations sur son emplacement et ses gestes mais également sur ses pré- férences et ses intérêts (section 4.6), et finalement le modèle de navigation du visiteur dans le paysage sonore(section 4.7).60 Chapitre 4. Modélisation de la visite augmentée 4.2 Scénarios de visite Plusieurs types de scénarios de visite peuvent être proposés. Les scénarios dé- pendent du mode de la visite (visite libre ou prédéfinie) et de sa finalité (visite à vocation ludique ou éducative). La visite libre signifie que le visiteur possède un "degré de liberté" de navigation et qu’il peut choisir librement son parcours. La visite prédéfinie signifie que le visiteur est invité à suivre un parcours guidé et défini par une chronologie (un ordre). Toutefois, la visite prédéfinie peut avoir une part de liberté, comme la visite libre qui peut avoir des indices de guidage. Il en est de même pour les finalités. Une visite peut être à vocation éducative tout en offrant des éléments ou un environnement ludique, et réciproquement. Avec les paramètres mode de la visite et finalité, nous pouvons concevoir un nombre illimité de scénario de visite. Nous illustrons des exemples de parcours libres et prédéfinis avec des vocations ludo-éducatives. Comme parcours prédéfini, nous donnons l’exemple d’un jeu didactique à la salle des automates ainsi qu’une expérience dans le laboratoire de Lavoisier. Le parcours libre, sera illustré par une visite dans les salles de communication qui abritent plusieurs catégories d’œuvres, et une découverte du Fardier de Cugnot, ainsi qu’une visite à l’escalier d’honneur . Ces scénarios de visite peuvent être classés en quatre catégories : visite prédéfinie et éducative (didactique), visite prédéfinie et ludique, visite libre et éducative et visite libre et ludique. Pour la première catégorie de visites : visite prédéfinie didactique, l’objectif est de proposer un parcours où l’ordre de passage devant les œuvres est important à des fins éducatifs. Pour cela on peut privilégier des contenus pédagogiques notamment des enregistrements vocaux correspondant à des explications, des témoignages, ou autre. Nous avons retenu l’exemple du laboratoire de Lavoisier. Pour le parcours prédéfini ludique, nous proposons un jeu ludo-éducatif dans la salle des automates. Jeu ludique parmi les automates Le scénario proposé s’inscrit dans un parcours prédéfini à vocation ludo-éducative. Il s’agit d’un jeu proposé au enfants qui visitent le musée, une occasion pour eux de connaître les automates en jouant. L’expérience permet à l’enfant d’entendre toutes les explications des automates incluses dans le parcours, et c’est également un moyen de s’assurer qu’il n’est pas passé à cté d’un automate phare du musée. En pratique, il est demandé à l’enfant d’identifier l’automate produisant une musique en s’en approchant. Pour faciliter cette identification, la musique est spatialisée : le son s’adapte à la position et à l’orientation de l’enfant. Ainsi, l’enfant est guidé par une musique localisée, ce qui facilite la localisation et l’identification de l’automate qui la produit. Une fois l’automate trouvé, l’enfant se voit décrire l’automate, puis, une autre musique se déclenche (un autre automate devant être localisé).Section 4.2. Scénarios de visite 61 FIGURE 4.1 – Laboratoire de Lavoisier Une expérience didactique dans le laboratoire de Lavoisier Le laboratoire de Lavoisier (Figure 4.1) comporte des instruments scientifiques, notamment deux calorimètres, deux gazomètres, deux balances de précision. Ces instruments ont été utilisés par Antoine Lavoisier pour découvrir la composition de l’eau. Le scénario vise à jouer l’expérience de la découverte de la composition de l’eau, par le son, autrement dit, le visiteur reçoit des sons correspondent à chacune des étapes de l’expérience en entendant le son produit par l’instrument qui est utilisé dans cette étape. Le scénario est une sorte de mise en scène sonore dédiée aux enfants, où des souris font de la chimie pour fabriquer de l’eau. Ce scénario vise à faire connaître aux enfants l’expérience de la découverte de la composition de l’eau menée par Antoine Lavoisier. Dans cette mise en scène, l’enfant entendra différents types de sons : bouillonnement, crépitement et gouttes d’eau ainsi que des commentaires audio. Les différentes étapes de l’expérience sont illustrées par un ordre de déclenchement de son qui provient de l’instrument utilisé dans cette étape. Le son est joué d’une manière spatialisée. Ainsi pour illustrer par exemple l’étape de pesage de l’hydrogène, le visiteur entend un son provenant du gazomètre se trouvant à sa droite, ce son est composé d’une séquence du son produit si on pose une masse sur le fléau d’une balance, puis une voix dit : "on pèse de l hydrogène". Ainsi de suite jusqu’à la fin de l’expérience. Le détail du scénario est donné dans l’annexe.62 Chapitre 4. Modélisation de la visite augmentée FIGURE 4.2 – Le fardier de Cugnot Découvrir le Fardier de Cugnot Le fardier de Cugnot (Figure 4.2) est une œuvre phare du musée, c’est une œuvre complexe qui produit différents sons associés à chacun de ses composants 1. Par exemple la chaudière produit un bruit, le piston et les roues aussi, l’idée est de faire profiter le visiteur des sons produits par ses composants. Ainsi le visiteur entendra le son produit par chaque partie du fardier comme s’il était en marche. En se rendant près du fardier, le visiteur entendra un son mixé. Le mixage est fait à partir des sons produits par les trois composants principaux du fardier : la chaudière, le piston, et les deux grosses roues. Si le visiteur s’approche d’un composant particulier, il n’entendra que le contenu sonore associé. S’il y reste pendant un certain temps, il entendra les commentaires audio associés décrivant le composant en question. Si le visiteur est entre deux ou plusieurs composants, il entendra le contenu audio du composant qu’il regarde. Jouer dans l’escalier d’honneur L’escalier d’honneur (Figure 4.3) du MAM comporte l’aéroplane de Clément Ader accroché au plafond, l’horloge de Constantin (première étage) ainsi que le moteur à vapeur de l’aéroplane (deuxième étage). En bas des escaliers (rez de chaussée), se trouve le fardier de Cugnot. Pour de nombreux visiteurs, cet escalier est un passage obligé entre les étages plutôt qu’un lieu d’exposition. Pour valoriser ce lieu, nous proposons le scénario suivant en associant des contenus sonores et des descriptions didactiques à 1. Une copie fonctionnelle du fardier de Cugnot a été réalisée par l’ENSAM et des entreprises françaises en 2011 : http ://www.dailymotion.com/video/xilowlreconstruction du f ardier de cugnottech.UXj7LL9DQ3hSection 4.3. Personnalisation du contenu 63 ces œuvres. Au pied de l’escalier, le visiteur entend le bruit de l’aéroplane lui provenant par le haut. Lorsque le visiteur s’approche du premier étage (respectivement du deuxième étage), il entend le bruit de l’horloge (respectivement du moteur à vapeur de l’aéroplane) qui lui parvient de haut à gauche. S’il s’approche de l’œuvre, le volume du bruit augmente, et s’il s’y arrête, il entend la description vocale de l’œuvre. Au bruit des œuvres s’ajoute le pas d’une personne qui accompagne le visiteur selon qu’il monte ou descende les escaliers. Le visiteur a la possibilité d’être accompagné : il rajoute une personne en se plaçant à l’endroit où il l’imagine et en hochant sa tête du haut en bas deux fois. Sinon, il continue sa visite seul. Si le visiteur court, il entend un son d’essouf- flement qui accompagne. Ainsi, le son produit dépend des mouvements du visiteur durant sa vitesse. FIGURE 4.3 – Escalier d’honneur. 4.3 Personnalisation du contenu Les systèmes qui assurent la personnalisation du contenu sont les systèmes qui ré- pondent aux besoins de chaque utilisateur, prenant ainsi en compte par exemple ses intérêts, ses préférences et ses connaissances de base. Ces systèmes à personnalisation dynmique doivent être en mesure d’observer l’utilisateur et son comportement et faire des déductions et des prédictions au sujet de ses intérêts pour lui envoyer du contenu personnalisé approprié [Kobsa01]. La personnalisation dynamique en cours de la visite des musées nécessite des systèmes interactifs capables de suivre le visiteur pendant sa visite et d’adapter automatiquement le contenu audio qu’il reçoit selon son comportement.64 Chapitre 4. Modélisation de la visite augmentée Jusqu’à présent, les projets phares modélisant dynamiquement le profil et le comportement du visiteur sont les proejts Hips, Hippie [Petrelli01, Petrelli99, Benelli99, Specht99, Oppermann99], peach [Stock07], ec(h)o [Wakkary07, Hatala04] et Listen [Zimmermann08]. Ces systèmes proposent des modèles dynamiques qui se mettent à jour automatiquement, selon trois critères : le style du visiteur, l’historique de la visite et les intérêts du visiteur. Le style du visiteur : le type de visiteurs dans le contexte du musée a été largement étudié dans la littérature [Dean94, Serrell96, Sparacino02]. Véron et Levasserur [Véron96] classifient les visiteurs selon leurs manières d’explorer une exposition en les assxociant à des animaux. Ils déduisent ainsi le style de la fourmi qui suit le chemin du conservateur, puis le style du poisson qui a une vue holistique (globale), puis le style du papillon qui s’intéresse à toute l’exposition sans suivre le chemin prédéfini par le conservateur, et finalement le style de la sauterelle qui s’inté- resse uniquement à des expositions spécifiques. Le projet Listen [Zimmermann08] adopte cette approche et définit le style du mouvement du visiteur comme un comportement stéréotypé d’un visiteur du musée en définissant quatre styles de visiteur : le visiteur déambulant qui marche doucement avec un regard promeneur, le visiteur guidé par des objectifs qui a un mouvement direct avec la vue dirigée vers un artefact spécifique, le visiteur debout dont le regard reste fixe sur un objet, pui le visiteur debout flou qui demeure debout ou assis et qui est caractérisé par un regard promeneur. Comme dans Listen, le type du visiteur est calculé à partir de la vitesse et de l’uniformité de son mouvement. Le projet ec(h)o [Wakkary07, Hatala04] classe les visiteurs en trois types également. Il définit le visiteur avare, qui n’est pas précipité, et qui aime connaître le plus possible d’information, le visiteur sélectif qui explore uniquement les objets qu’ils l’intéressent, et le visiteur occupé qui préfère faire un tour dans le musée et avoir une idée générale de ce qui est exposé. L’historique de la visite : l’historique de la visite se construit à partir des objets rencontrés par le visiteur et des sons affiliés à ces objets. Il représente le comportement du visiteur, manifesté par son mouvement et/ou sa sélection d’objets. Dans les projets Hippie et ec(h)o, le visiteur est muni d’une interface tangible (cube en bois avec un bouton de sélection dans ec(h)o, et un PDA dans HyperAudio, Hips et Hippie) qui permet au visiteur de sélectionner les objets qui l’intéresse. Concrètement, dans ec(h)o, le système stocke les données de l’historique sous forme d’ensemble de points discrets ( espace-temps). Dans Listen l’historique de la visite dépend de l’œuvre que le visiteur regarde à chaque moment de la visite, et de l’entité sonore que ce dernier écoute. Dans chaque unité de temps, les informations selon ses deux entités sont stockées en base de données. L’intérêt du visiteur : afin d’individualiser et de personnaliser le contenu audio pour chaque visiteur, les chercheurs se sont interrogés sur les intérêts des visiteurs, autrement dit comment détecter les objets du musée qui intéressent plus les vi-Section 4.3. Personnalisation du contenu 65 siteurs. Les projets ec(h)o et Listen adoptent une approche dynamique de l’inté- rêt des visiteurs. En effet, dans le projet ec(h)o, l’intérêt du visiteur sont repré- senté comme des concepts pondérés de l’ontologie des concepts, chaque objet exposé est annoté avec une suite de concepts de la même ontologie. Quant au projet Listen, il adopte l’approche heuristique de Pazzani [Pazzani97] qui suppose que plus le visiteur passe du temps devant un objet, plus il l’intéresse. Toutefois, cette hypothèse peut ne pas être vérifiée car il peut y avoir plusieurs raisons pour lesquelles l’utilisateur s’arrête quelque part (présence d’obstacles par exemple). Ainsi, les déductions erronées peuvent influer négativement sur la détermination de l’intérêt de l’utilisateur. Pour prévenir de cette limitation, le projet ec(h)o [Wakkary07, Hatala04], propose un modèle d’utilisateur permettant au visiteur la sélection manuelle des objets intéressants, en plus de la captation de la position et l’orientation des visiteur En effet, le visiteur peut sélectionner les objets qui l’intéressent et dont il veut écouter le contenu grâce aux boutons se trouvant sur une interface tangible que le visiteur porte durant sa visite. Le fait de sélectionner manuellement des objets peut en effet aider à déterminer avec précision les intérêts des visiteurs, mais l’idée d’avoir les mains libres proposée par Listen se justifie aussi par la volonté de ne pas encombrer le visiteur et de ne pas préoccuper son attention et ses yeux avec des boutons et une interface et de le détourner finalement de son but essentielle qui est de regarder l’œuvre exposée. Afin de trouver un compromis entre la méthode heuristique et la méthode manuelle pour la détermination de l’intérêt du visiteur, nous optons pour une troisième voie pour l’expression des intérêts qui permet de minimiser au maximum le degré d’attention requise de la part de l’utilisateur pour interagir avec son environnement. Le modèle SARIM que nous présentons permet aux visiteurs, qui le souhaitent, d’exprimer leurs intérêts par le moyen de gestes simples et intuitives de tête. Bien que nous nous basant également sur la méthode heuristique, ces gestes qui permettent au visiteur de contrôler la scène sonore seront pris en compte dans la déduction et ainsi la personnalisation de son parcours. Le contrôle de la scène sonore par les gestes constitue l’une des contributions de ce chapitre. En outre la structure du modèle général de la visite augmentée proposée est également novatrice dans la mesure où, une telle modélisation des acteurs majeurs de la visite augmentée n’a pas été proposée auparavant. C’est une structure qui sépare d’une manière modulaire et efficace les trois parties du modèle ; la scène sonore, le visiteur et la navigation. Chacune de ces parties, est elle même structurée en plusieurs couches. Ceci permet une gestion indépendante des différentes parties, et facilite la paramétrisation du système. En effet bien que notre système permet trois niveaux différents de complexité de navigation (la traque, le contrôle et l’adaptation), il est devient plus aisé de choisir le niveau de navigation le plus approprié à chaque visiteur. La troisième contribution est l’introduction du concept de Zones d’Audibilité (ZA) qui permettent une meilleur structuration de la scène sonore. Avec leurs caractéris-66 Chapitre 4. Modélisation de la visite augmentée tiques géométriques et conceptuelles interactives et hiérarchiques, ces ZA permettent de créer des scénarios à la fois riches et surprenants. 4.4 Description du modèle La conception d’une visite augmentée par la dimension sonore nécessite le développement d’un modèle décrit à travers ses différentes composantes. Trois entités essentielles composent ce modèle ; la scène sonore, le visiteur, et la navigation faisant interagir les deux premiers. La scène sonore est l’entité décrivant l’environnement du musée. Elle est constituée de trois différents niveaux d’abstraction. Le premier niveau représente l’environnement physique du musée. Ce niveau est augmenté par un deuxième qui représente l’environnement sonore virtuel. Ce dernier est lui même augmenté par un troisième niveau représentant les caractéristiques sémantiques liées aux objets exposés et aux contenus audio qui leurs sont attribués. Pour sa part, le visiteur est modélisé à travers différents descripteurs personnels et environnementaux qui le caractérisent. Ces caractéristiques sont réparties sur plusieurs niveaux permettant de capter l’emplacement du visiteur, son comportement et ses pré- férences et intérêts déduits à partir de l’analyse de son parcours au sein du musée. Les différents gestes et déplacements du visiteur peuvent être interprétés en tant qu’interactions avec la scène sonore à travers l’entité du navigation. Ce troisième composant relie la scène sonore et le visiteur et permet de définir différents modes d’interactions entre les deux. La complexité des interactions varie de l’analyse simple de la position et de l’orientation du visiteur (niveau traque) pour effectuer la spatialisation sonore, jusqu’à l’adaptation instantanée de la scène sonore (niveau adaptation) suivant les préférences du visiteur, en passant par l’interprétation des gestes du visiteur pour contrôler la scène sonore (niveau contrôle). L’architecture globale du système est décrite par le schéma présenté dans la figure 4.4. L’architecture globale de notre système diffère de celle proposée dans le cadre des projets Hips, ec(h)o et Listen ou encore Deep Map, par la séparation des différents acteurs majeurs de la visite augmentée. En effet, si le projet Deep Map propose un modèle visiteur pour personnaliser le contenu, il ne propose pas de modèle de scène sonore. Les projets Hips, ec(h)o et Listen, quant à eux, proposent des modèles de scène sonore et un modèle visiteur qui mêlent les données concernent le visiteur et sa navigation dans le musée. Notre modèle de visite vise à définir séparément les trois acteurs principaux, à savoir la scène sonore, le visiteur et la navigation. Tout en proposant une spécification pour chaque acteur.Section 4.4. Description du modèle 67 FIGURE 4.4 – Représentation de la structure de la visite68 Chapitre 4. Modélisation de la visite augmentée 4.5 Scène sonore Le paysage sonore (en anglais soundscape), est un néologisme subjectif, résultant de la contraction des mots landscape et sound. A l’origine, il fut défini par le canadien Robert Murray Schafer comme un environnement de sons. Ce terme s’applique aussi bien à un environnements physique (au sens réel) qu’à des constructions abstraites, telles que les compositions musicales ou les montages sur bande, en particulier lorsqu’ils sont considérés comme faisant partie du cadre de vie [Schafer10, Bosseur96]. Dans un musée proposant un système d’audioguidage, la distanciation entre l’espace réel et l’espace virtuel est accentuée du fait de commentaires audio décrivant des groupes d’œuvres, leurs histoires, ou par le son qu’ils produisent. Ainsi, l’entrechoquement d’éprouvettes et les bouillonnements emplissent le laboratoire de Lavoisier au musée du MAM et transportent le visiteur au sein d’une expérience scientifique, ce qui peut faciliter la compréhension non seulement des d’œuvres exposées, mais aussi de leurs histoires, de leurs fonctionnements ou de leurs utilisations. En pratique, ce découplage entre espace réel et espace virtuel est rendu possible grâce à un audioguide équipant le visiteur et incluant plus particulièrement un casque audio. Ce casque offre la flexibilité nécessaire à la création d’un paysage sonore n’obéissant pas forcément aux lois de la nature et non soumis à des distorsions sonores, et au bruit d’environnement. Le contenu audio est ainsi contrôlable et personnalisable. D’un point de vue architectural, et comme proposé par les modèles de Hips, et Listen le paysage sonore peut être décomposé en plusieurs niveaux. Dans notre modèle, nous décomposant la scène sonore en trois couches interdépendantes : La couche physique décrit l’environnement physique où le visiteur peut déambuler et interagir avec le système. Elle contient toutes les informations géométriques sur l’espace physique et les objets qui le composent. La couche virtuelle (ou paysage sonore) est organisée sous une forme hiérarchique qui décrit des zones virtuelles sonores. La couche sémantique correspond à la description sémantique des zones et du son, et à leur annotations qui sont organisées dans un thésaurus. 4.5.1 Couche physique La couche physique est le premier niveau de description de l’environnement du musée. Elle permet de représenter le modèle géométrique du musée, localiser les salles d’exposition, leurs accès et leurs fenêtres. Elle permet également de positionner les objets exposés en spécifiant leurs coordonnées, leurs dimensions et leurs formes. Elle correspond à la couche dite Word model dans les projets Hips et Listen.Section 4.5. Scène sonore 69 4.5.2 Couche virtuelle La notion de base du modèle acoustique du soundscape est la source sonore localisée dans l’espace. Lorsque la position du visiteur le permet, ce dernier perçoit les sons émis par la ou les sources sonores qui les entourent. Dans certains cas particuliers, il paraît utile de dépasser le modèle plaquant strictement la réalité physique. En effet, il pourrait être intéressant de créer des espaces sonores dont la distribution et la forme ne reflète pas la propagation sphérique d’une onde sonore issue d’une source ponctuelle. Pour ceci, et afin de maîtriser l’espace d’écoute du visiteur, nous introduisons la notion de Zone d Audibilité (ZA) qui délimite l’espace dans lequel un son particulier est audible. L’intérêt de cette approche par ZA est la possibilité de personnaliser l’espace d’audibilité lié à une source sonore selon le besoin de l’application. Ainsi, il est possible de créer des zones d’audibilité non conventionnelles (sphériques) telles que des espaces de formes parallélogrammes ou cylindriques qui s’adaptent au mieux à la géométrie du musée. L’autre intérêt de cette approche c’est qu’il peut a priori ne pas y avoir de lien entre les artefacts exposés dans le musée et les ZA, celles-ci peuvent ne correspondre à aucun objet du musé, ou plutôt à des objets "banals" présents dans le musée (porte de secours, escaliers, vestiaire, etc). La disposition des sources sonores au sein du musée peut être libre et aléatoire ou suivant une logique définie. Plusieurs objets exposés peuvent être réunis dans un seul groupe et être représentés par une seule ZA qui peut décrire la fonction ou le thème du groupe. Cette ZA peut également être divisée en plusieurs ZA plus petites représentant chacune un objet ou une partie d’un objet particulier. L’immersion dans un environnement de RAS peut être mieux appréciée lorsque les auditeurs sont capables d’apercevoir simultanément des sons provenant de diverses sources sonores. Ce qui se résume en la création d’une architecture de ZA dans laquelle plusieurs zones sonores se recouvrent. Ces exigences nous orientent vers l’adoption d’un modèle virtuel acoustique hiérarchique sous forme d’arbre pour la représentation des zones d’audibilité. Une zone d’audibilité se caractérise par deux éléments distincts : le son (soundtoplay) et l’espace (area). Cette dualité se retrouve au niveau de la spé- cification d’une zone d’audibilité exprimée dans le langage et formalisée à l’aide de schémas XML (listing 4.1). Listing 4.1 – Schémas XML d’une zone d’audibilité 1 2 3 4 5 7 9 10 11 12 70 Chapitre 4. Modélisation de la visite augmentée 13 14 15 4.5.2.1 Perception sonore L’objectif d’associer un des objets du musé des ZA peut être différent selon la nature des objets exposés et le lieu dans lequel se positionne le visiteur. Dans certains cas, le but du concepteur de systèmes peut être d’immerger le visiteur dans un paysage de sons spatialisés émanant de divers objets sonorisés. Ceci peut être particulièrement intéressant en vue de recréer pour le visiteur l’impression d’être entouré par des machines en marche. Dans d’autres cas de figure, l’objectif pourrait être d’attirer l’attention du visiteur vers un objet en particulier et éviter qu’il soit attiré par d’autres sources sonores moins intéressantes. Ainsi, afin de gérer ces différentes configurations de perceptibilité des sources sonores, nous introduisons la notion de type de perception de la ZA (élément perception du listing 4.2 et de la ligne 6 du listing 4.1. Nous définissons deux types de ZA : – zone partagée (shared) : C’est une zone qui tolère les recouvrements sonores. Si cette zone se recouvre avec une autre zone du même type, les sons provenant des deux zones seront mixés dans leur espace de recouvrement. Le visiteur au sein de l’intersection des deux zones pourra percevoir les contenus audio provenant des deux sources sonores différentes. – zone exclusive (standalone) : le son de cette zone ne peut être mixé avec un autre son provenant d’une autre source sonore. Listing 4.2 – Perception 1 2 3 4 5 6 4.5.2.2 Géométrie de la zone d’audibilité Une zone d’audibilité peut avoir une géométrie particulière au sein de laquelle un contenu audio spécifique est joué. L’espace (area) occupé par cette zone peut prendre différentes formes (shape). Plus généralement, comme le montre son schéma XML (listing 4.3), une surface (de type areatype) peut être dépeinte à partir d’un ensemble (lignes 1-6) de formes simples (de type shapetype). Une ZA prend la forme d’un sphé- roïde, d’un prisme, d’un cylindre, etc (spheroide, prism, cylindroide).Section 4.5. Scène sonore 71 Listing 4.3 – Schémas XML d’une surface 1 2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 4.5.2.3 Organisation des zones d’audibilité Pour chaque objet, on peut attacher une zone dans laquelle un son associé à cet objet est perceptible par un visiteur dans la zone. Une zone peut aussi être associée à un groupe d’objets, le contenu sonore dans ce cas peut être la description de la fonction globale ou du thème de ce groupe. En outre, il peut être utile de pouvoir créer des ZA élémentaires à l’intérieur d’une ZA de groupe où chacune correspondant à une source sonore particulière. Il serait ainsi possible de décomposer la ZA du soundscape du musée en sous éléments correspondant aux salles de ce musée, puis aux îlots d’objets présentés dans les salles, puis éventuellement aux parties de ces objets, si ils sont volumineux et complexes. L’ensemble défini ainsi un arbre, semblable aux graphes de scènes utilisés en synthèse d’image. L’ensemble des zones d’audibilité forment le paysage sonore dans lequel évolue le visiteur. Les zones d’audibilité peuvent se juxtaposer les unes avec les autres. Dans l’absolu, ces zones pourraient être organisées de différentes manières. Chacune des zones est contenue dans une zone mère, à l’exception de la racine de l’arbre. La figure 4.5, illustre un exemple du modèle hiérarchique. Le Fardier est associé à une zone mère (f ardier), qui contient des zones filles qui délimitent les parties du Fardier, notamment la chaudière, le piston, et les roulements. Chacune des zones produit un son particulier, et par conséquent mérite d’être traitée à part.72 Chapitre 4. Modélisation de la visite augmentée FIGURE 4.5 – Représentation hiérarchique des zones d’audibilité sur le fardier de Cugnot 4.5.2.4 Diffusion du son Fondamentalement, la perception spatiale d’un son implique la présence d’un axe de référence qui dans notre cas correspond au visiteur : la spatialisation du son est adaptée en fonction de sa position et de son orientation. Le point de référence à partir duquel sont calculées la direction (les angles) et la distance, se situe au niveau de la tête du visiteur. La source du son est quant à elle, localisée en fonction de la distance la séparant du visiteur (distance perçue) et des angles d’Euler calculés par rapport à son vecteur visuel : lacet, élévation, roulis. La perception d’une source est en cela multidimensionnelle. En pratique, un son se caractérise par une source 2 , un médium dans lequel le son se propage et une destination (listener) correspondant ici au visiteur. Ce médium sous-entend un (voir plusieurs) chemin(s) de propagation entre la source et le visiteur. Le son est de nature omnidirectionnel : il se propage indépendamment de sa direction et tend à former un champ sphérique (le son étant identique sur tous les plans perpendiculaires à sa direction de propagation et s’atténue en fonction de la distance), et cela, à moins qu’une surface réfléchissante ou qu’un bruit n’altère sa propagation. Listing 4.4 – Types de son 1 2 3 4 5 6 2. Bien que plusieurs sources puissent être à l’origine d’un son, il est plus simple de le décrire comme résultant d’une seule source.Section 4.5. Scène sonore 73 Le type de diffusion du contenu audio à l’intérieur de la zone définit si le son est spatialisé ou non (valeurs spatialised ou uniform qualifiant le type de ”sound” dans le listing 4.4). L’option spatialisé signifie que le contenu est délivré de manière binaurale. Il est caractérisé par une source dont la position est donnée (élément location exprimant les coordonnées cartésiennes de la source), ce qui signifie que les paramètres psychoacoustiques du contenu sonore sont adaptés suivant la position de cette source. Listing 4.5 – Types de son 1 2 3 4 5 7 Au contraire, un son uniforme est omnidirectionnel, non localisé, et n’est donc pas délivré au format binaural. Cette diffusion est appropriée dans le cas d’un contenu audio lié à un ensemble d’objets ou à une salle du musée. D’autres caractéristiques du son sont ici définies (comme par exemple, la répétition du son, et la latence entre deux répétitions). L’ensemble des sons forme une collection sonore exploitée pour former un paysage sonore correspondant ici à une visite augmentée. Ces collections composées de zones d’audibilités peuvent être annotées de façon à former un catalogue. Une fois ses collections annotées, classifiées par thème et catégorisées, la description résultante pourra être exploitée pour identifier facilement des groupes distincts de zones d’audibilité. Et ainsi les classifier selon le choix du visiteur. 4.5.3 Couche sémantique L’espace du musée se décline par sujet et thématique plutôt que par une organisation géométrique ou architecturale. Chacune des zones d’audibilité peut être décrite par un ensemble de descripteurs correspondant à la fois à l’objet (aux objets) se trouvant dans cette zone, mais également au son diffusé dans cette zone. Certaines ZA peuvent se partager les mêmes descripteurs, surtout dans le cas où les objets associés à ces ZA assurent les mêmes fonctionnalités, ou quand les sons associés ont les mêmes caractéristiques. Il est ainsi essentiel d’assurer la compatibilité et l’interopérabilité du point de vue de la sémantique de ces descripteurs et de dépasser l’ambiguïté du langage naturel dans la description des ZA. Un thésaurus constitue un élément utile pour décrire de façon structurée des informations sous la forme d’un ensemble de concepts représentés par des termes. Les termes d’un thésaurus sont organisés hiérarchiquement, ce qui permet d’adapter la pré-74 Chapitre 4. Modélisation de la visite augmentée FIGURE 4.6 – Exemple d’un thésaurus cision lors de l’indexation et de la recherche. Les thésaurus sont souvent utilisés pour indexer des documents ou des objets dans une banque de données bibliographiques. Se référer à un thésaurus existant permet d’homogénéiser l’indexation puisque celle-ci ne dépend plus de la culture ou du domaine de l’indexeur. De nombreux thésaurus ont été établis. Parmi les plus connus, nous pouvons citer Motbis 3, un thésaurus édité par le Ministère de l’Éducation nationale en France et portant sur le domaine de l’enseignement général. Trois types de relations unissent les termes d’un thésaurus : – une relation hiérarchique stricto sensu reliant un terme générique à un terme spé- cifique, – une relation d’équivalence reliant deux termes synonymes, – une relation d’association reliant deux termes sémantiquement connexes. A des fins de simplification, et puisque les thésaurus utilisés seront développés pour un nombre limité d’objets, nous utilisons uniquement des relations hiérarchiques pour relier les termes. Nous utilisons la notion de thesaurus pour décrire la structure des concepts décrivant les objets des ZA et aussi les concepts décrivant les contenus audio. La figure 4.6 illustre un exemple de thésaurus composé d’un ensemble de concepts correspondant à une partie des objets exposés dans le musé, et la figure 4.7 représente un thésaurus permettant de donner une idée sur les concepts qui décrivent les différents contenus sonores proposés aux visiteurs. Comme le montre le listing 4.6, un thesaurus portant sur les sujets ou les sons (thesaurus) est organisé hiérarchiquement ; chaque concept dispose donc d’un père (attribut parent du listing 4.7). Listing 4.6 – Schémas XML d’un thésaurus 1 3. http ://www.cndp.fr/thesaurus-motbis/site/index.phpSection 4.5. Scène sonore 75 FIGURE 4.7 – Exemple d’un thésaurus du contenu sonore 2 3 5 6 Listing 4.7 – Schémas XML d’un concept 1 2 3 4 5 6 A titre d’illustration (listing 4.8), la zone d’audibilité correspondant au fardier de Cugnot est décrite par les concepts automobile, transport, moteur à vapeur, 1750-1850. Listing 4.8 – Description XML 1 2 3 4 5 6 La couche physique proposée dans notre modèle de visite est similaire au Word model dans les projets Hips et Listen, quant à la couche virtuelle, elle est basée sur la notion de zone d’audibilité (voir la section 4.5.2), qui constitue le noyau de cette couche. Une76 Chapitre 4. Modélisation de la visite augmentée ZA est définie comme le moyen pour délimiter, dans un espace 3D, la diffusion d’un son. C’est plus sa géométrie en 3D, la capacité d’organisation de ZA (intersection, et d’hiérarchie), ses caractéristiques de diffusion du son (centralisé ou pas autours d’une source sonore), son type (partagée ou exclusive) qui fait de cette ZA une notion novatrice qui n’a pas été traité auparavant dans la littérature. Par ailleurs, une fois annotées et classifiées par thèmes, ces collections sonores formées par l’ensemble des zones d’audibilités et des sons affiliés peuvent être exploitées sous la forme de catalogues (au travers d’un thésaurus). Ainsi, leur exploitation s’en trouve-t-elle facilitée. 4.6 Visiteur Bien qu’il soit impossible de modéliser un visiteur dans son contexte général, il est nécessaire de proposer un modèle comportemental traçant son évolution au sein du musée. Tout comme le projetec(h)o, le modèle du visiteur dans le projet Listen se compose de trois parties : l’historique de la visite, le type du visiteur analysé à partir de son style de mouvement, et les intérêts du visiteur. Dans notre cas, afin d’étudier le comportement du visiteur, il est nécessaire de traquer son activité au sein du musée. C’est à dire son déplacement, ses arrêts, son focus (les objets qu’il regarde), et ses gestes pour pouvoir construire son profil. Nous procédons à la création du modèle du visiteur suivant différents étapes et niveaux. Chaque étape se conclue par la définition de différents descripteurs qui permettent de distinguer les caractéristiques du visiteur (Figure 4.8) : Profil du visiteur. A son arrivée au musée, le visiteur est invité à communiquer des informations le concernant (§4.6.1). Seules quelques informations sont demandées de façon à ce que ce feedback soit limité. A partir de ces informations, qui constituent le profil du visiteur, des hypothèses concernant les caractéristiques de celui-ci sont faites de façon à aiguiller le visiteur vers des parcours de visite qui pourront l’intéresser. Captation spatiotemporelle. La position du visiteur au sein du musée est continuellement analysée sur la base de son déplacement, de son orientation et de sa vitesse du mouvement. Captation gestuelle et acoustique. Sur la base d’un modèle formel de descriptions de gestes, les mesures issues du niveau de la captation spatiotemporelle sont analysées pour inférer les gestes que le visiteur réalise pendant son déplacement. Ses mesures sont également utilisées pour déduire la ZA dans laquelle se trouve le visiteur, ainsi que l’objet que le visiteur regarde. Ceci est réalisé en se basant sur le modèle virtuel acoustique de la section (§4.5.2) Signature d’intérêt. A partir du profil du visiteur et des informations acquises dynamiquement à partir de son comportement, des hypothèses concernant les préfé-Section 4.6. Visiteur 77 rences du visiteur peuvent être inférées. En pratique, ces hypothèses permettent d’établir un modèle de visiteur, appelé signature d’intérêt, (§4.6.4) à partir de laquelle la personnalisation ou l’adaptation du parcours est effectuée au fur et à mesure que le visiteur découvre de nouvelles œuvres (section §4.7). FIGURE 4.8 – Le modèle du visiteur. En outre la couche gestuelle est ajoutée, ce qui permet de capter et interpréter les gestes des visiteurs pour une meilleure personnalisation du contenu envoyé à chaque visiteur. Par ailleurs , si l’historique de visite dans Listen a comme objectif d’empêcher la lecture répétitive du même contenu audio. Dans notre modèle, celui-ci a deux objectifs : recalculer la signature des intérêts du visiteur (voir section 4.6.4) qui permet d’adapter son parcours pendant la visite, puis de garder des traces pour les visites postérieurs. Dans une deuxième visite, le visiteur aura le choix entre prendre en considération ses78 Chapitre 4. Modélisation de la visite augmentée préférence durant la précédente visite, soit de partir sur une nouvelle expérience de visite qui va recalculer à nouveau une nouvelle signature d’intérêts. En outre, dans Listen l’historique est un simple log (fichier) qui trace l’identificateur de l’objet, l’identificateur du son et le temps. Dans notre modèle du visiteur, l’historique constitue une base de donnée qui sauvegarde les comportements du visiteur durant sa visite. 4.6.1 Profil En amont de la visite, le visiteur est invité à communiquer des informations le concernant, telles que son âge, sa langue, ses centres d’intérêts, les domaines qu’ils l’intéressent parmi ceux du musée (comme exprimé au sein du thésaurus), et s’il s’agit ou pas de sa première visite du musée. Ces données sont utilisées afin de sélectionner le parcours le plus adapté comme par exemple le parcours ludique destiné aux enfants, parcours pour adulte, amateur ou expert. Ces informations permettent également de configurer l’audio-guide en fonction de la langue par exemple, et du fait qu’il s’agisse ou non d’une première visite. Notons que le fait qu’un utilisateur ne soit pas porté à effectuer des actions pour lesquelles il ne perçoit pas d’intérêt ou de bénéfice immédiat est un phénomène connu depuis plusieurs décennies dans le domaine des interfaces homme-machine [Carroll87]. Ainsi, la quantité d’informations demandée à l’utilisateur doit-elle être réduite au minimum ou obtenue par des méthodes indirectes. Par ailleurs, les intérêts d’un visiteur sont amenés à varier durant sa visite du fait de sa navigation dans le musée et de ses découvertes. Or, demander un feedback au visiteur durant sa visite, ou encore, requérir qu’il attribue des scores, négatifs ou positifs, aux œuvres l’intéressant ou non, ou encore qu’il mette à jour ses centres d’intérêts ne constitue pas une solution viable. Il est ainsi plus approprié d’observer les interactions, et sa navigation dans le musée, sans pour autant être (ou paraître) intrusif ou encore entraver sa liberté de mouvement, de façon à en inférer dynamiquement les intérêts dudit visiteur. 4.6.2 Captation spatiotemporelle Traquer le visiteur consiste à définir sa position et son orientation de façon à en déduire son vecteur visuel, sa vitesse de déplacement et de rotation. Plus simplement, il s’agit de répondre aux questions suivantes : où est le visiteur ? dans quelle direction regarde-t-il ? à quelle vitesse il se déplace ? et à quelle vitesse il tourne sa tête ? La position du visiteur à l’instant t est exprimée par les coordonnées cartésiennes (x(t), y(t), z(t)). L’orientation quant à elle est définie par les trois angles d’Euler : le lacet, le tangage et le roulis A partir de la position et de l’orientation, sont établies la vitesse de déplacement V(t) et la vitesse angulaire ω(t).Section 4.6. Visiteur 79 4.6.3 Captation gestuelle et acoustique Les différentes mesures calculées au niveau de la captation spatiotemporelle sont analysées pour déduire des informations concernant les gestes que le visiteur réalise avec sa tête. Ces gestes peuvent être utilisés comme moyen d’interaction avec la scène sonore pour contrôler le flux audio ou pour répondre aux questions posées à travers l’audioguide (voir section 4.7.2). L’administrateur du système a ensuite la possibilité de définir autant de gestes qu’il le souhaite en utilisant les descripteurs élémentaires qui sont le temps, et les trois angles d’Euler. Dans notre cas, la définition se fait à travers des diagrammes UML exploitables par le système. Un exemple de définition de gestes est décrit par la figure 4.9. Les gestes sont définis à travers un langage à base de règles qui permet de décrire un geste en se basant sur des indicateurs du niveau inférieur tels que l’orientation, la vitesse, le temps, etc. Par exemple, les gestes suivants peuvent être définis : Réponse négative (dire_non) (Figure 4.9) : mouvement 4 rapide allant de gauche à droite révélé par un changement prononcé du lacet. Réponse affirmative (dire_oui) de haut en bas révélé par un changement de l’élé- vation. Expectative (ou peut être) ((balancerTte)) correspondant à une variation du roulis. En plus des informations de captation gestuelle, les informations sur le positionnement du visiteur au sein de l’environnement acoustique virtuel sont collectées. Deux informations importantes sont requises, la (ou les) zone(s) d’audibilité dans laquelle (lesquelles) se trouve le visiteur, et l’objet le plus proche du vecteur visuel du visiteur (le focus). Ceci est fait en se basant sur le modèle acoustique de la scène sonore défini précédemment. Une fois collectées, ces informations de captation sont sauvegardées dans un historique en vue d’une exploitation on-line c’est-à-dire effectuée au cours de la visite ou de la conception ou encore d’une exploitation off-line c’est-à-dire ultérieure et permettant d’établir des statistiques. Dans les deux cas, cet historique est utile à l’établissement des centres d’intérêt de chaque visiteur. 4.6.4 Signature d’intérêt La signature d’intérêt est une notion introduite pour repérer les préférences du visiteur par rapport aux différentes catégories et classes d’objets et de contenus sonores présentés à travers la couche sémantique du modèle de la scène sonore. En effet, après la constitution d’une première idée sur les intérêts du visiteur lors de la création de son profil, un parcours prédéfinit est proposé au visiteur. Cependant, ce parcours peut contenir des classes d’objets ou de contenus sonores qui n’intéressaient guère le visiteur, et sur lesquels le visiteur n’aimerait pas s’attarder. De la même manière, le par- 4. Une adaptation par rapport à la langue de visite est envisageable afin d’adapter la signification du mouvement à la culture du visiteur.80 Chapitre 4. Modélisation de la visite augmentée FIGURE 4.9 – Diagramme d’états-transitions du geste ”réponse négative”Section 4.6. Visiteur 81 cours pourrait contenir un petit nombre d’objets appartenant à une classe précise qui intéresserait le visiteur et pour laquelle il aimerait découvrir plus d’objets. L’objectif est ainsi d’établir dynamiquement, et pour chaque utilisateur, une liste de préférences détaillant pour chaque classe d’objets ou de contenus sonores un score d’intérêt reflétant l’importance qu’elle représente pour le visiteur. C’est ce que nous avons appelé par la suite une signature d’intérêt. Cette liste est inférée à partir des informations de captation : zone d’audibilité activée, le focus, la durée et aussi les gestes collectés durant la visite (voir la section 4.6.5). Signature d intérêt = {(tag,valeur) où tag {concepts du thésaurus} et val N} La figure 4.10 montre dans un diagramme de classe UML la liaison entre le visiteur et les tags du thésaurus de la couche sémantique de le scène sonore. FIGURE 4.10 – Liaison entre le visiteur et les tags du thésaurus. Nous nous inspirons de l’approche de Pazzani [Pazzani97] qui a observé que l’inté- rêt que porte un visiteur à un objet est déterminé par le temps passé à le regarder. Le fait de fixer un seuil de temps permet de discrétiser les œuvres particulièrement inté- ressantes. En pratique, si le visiteur se trouve dans une zone pendant une durée supé- rieure à un seuil donné, ou encore si le visiteur fixe la zone (pour une durée supérieure au seuil), alors le visiteur est supposé apprécier le contenu de cette zone. Au niveau de la dépréciation, plusieurs choix subsistent et sont sujets à discussion et évaluation. Le fait de ne pas passer de temps devant une œuvre ou quitter l’œuvre avant que le contenu audio associé soit terminé ou d’éviter une salle peut être considéré comme une dépréciation, ainsi que le geste d’interrompre le contenu audio. En tant que telles, ces informations ne peuvent être exploitées afin de déterminer les centres d’intérêts de l’utilisateur. Elles doivent être confrontées à des domaines, et des types de contenus audio. Dans cette optique, nous nous basons sur les concepts définis à priori, organisés dans le thésaurus sous une forme hiérarchique en annotant les zones d’audibilité. L’annotation est effectuée non pas uniquement au niveau des sujets des zones mais aussi au niveau des contenus sonores associés. En effet, le visiteur peut manifester son intérêt ou désintérêt pour une zone sans que le système sache si le visiteur juge le sujet de la82 Chapitre 4. Modélisation de la visite augmentée zone ou le son l’accompagnant. C’est pour cette raison qu’un traitement supplémentaire est effectué pour distinguer l’intérêt/désintérêt du visiteur par rapport au sujet de celui par rapport au son (figure 4.11 ). Ainsi si l’algorithme déduit que l’utilisateur apprécie un sujet (resp. un son) particulier associé à une ZA, les scores d’intérêt des tags décrivant ce sujet (resp. ce son) seront tous relevés de 1. Au contraire, si l’algorithme déduit que l’utilisateur montre un désintérêt, les scores des tags correspondants seront diminués de 1. FIGURE 4.11 – Analyser les préférences. 4.6.5 Historique L’historique du visiteur est analysé et stocké durant et après la visite. Il dépend des paramètres zone, focus et position. L’historique s’alimente à partir des différents descripteurs du visiteur. Comme le profil, qui à son tour, s’alimente dynamiquement de l’historique (relation de va et vient). L’historique de la visite qui n’est rien d’autre qu’une base de données, qui est renseignée au fur et à mesure de la visite. Un démon, qui est exécuté en arrière plan, analyse en permanence les positions et orientations du visiteur. Il se base sur les la couche acoustique de la scène sonore ainsi que sur l’ensemble des définitions de gestes pour calculer directement les descripteurs de la deuxième couche du modèle du visiteur, qui sont la zone ayant le focus, la zone dans laquelle se trouve le visiteur, et le geste effectué par le visiteur. La figure 4.12 représente un diagramme de classe modélisant les classes qui participent dans la création de l’historique. A chaque opération de mise à jour des tables Focus_Vers_Zone,Section 4.7. Navigation 83 ET_Dans_Zone, et E f f ectuer_Geste des préférences du visiteur, le même démon réévalue les valeurs de la table Avoir_score_dInteret suivant l’algorithme de l’analyse des préférence décrit par la figure 4.11. FIGURE 4.12 – Diagramme de classe de l’historique. Ainsi le modèle du visiteur (Figure 4.8) organisé par couches dont les niveaux de descripteurs vont du plus basique (captation, profil) aux niveaux les plus élevés (signature d’intérêt) permet d’adapter et de personnaliser à la fois le paysage sonore mais aussi plus généralement le parcours et la visite. 4.7 Navigation Le modèle de navigation décrit les traitements réalisés en réponse aux comportements du visiteur lors de sa visite du musée. Il vise à interpréter les actions du visiteur pour interagir avec la scène sonore. La navigation du visiteur dans les 2 projets ec(h)o et Listen est structurée en deux niveaux :84 Chapitre 4. Modélisation de la visite augmentée Niveau 0 : appelé aussi macro chez ec(h)o et contrôles continus chez Listen, c’est le niveau où le visiteur interagit avec le paysage sonore uniquement par son mouvement, notamment sa position et/ou son orientation qui sont traquées automatiquement. Niveau 1 : appelé micro chez ec(h)o et événement chez Listen, il s’agit du niveau le visiteur interagit avec le paysage sonore par la sélection directe(ec(h)o), ou passer du temps devant le même objet( Listen). Dans notre modèle de navigation, le flux audio diffusé au visiteur, le paysage sonore dans lequel il évolue, et le parcours de visite qu’il emprunte sont modifiés suivant son déplacement, sa gestuelle et ses préférences. Trois modes d’interaction sont alors définis dans ce modèle : Traque : c’est la mise à jour continue du contenu audio spatialisé diffusé au visiteur qui se base sur la position et l’orientation de ce dernier au sein de la scène sonore. Contrôle : il s’agit du fait de donner à l’utilisateur la possibilité de contrôler, la diffusion sonore indépendamment du fonctionnement prévu par la spatialisation, en lui permettant de contrôler le volume, d’activer ou désactiver des objets de son parcours, ou de stopper la diffusion d’un contenu audio, à travers des gestes. Adaptation : il s’agit de l’exploitation de la signature des intérêts pour adapter le parcours du visiteur sur la base de ses préférences inférés au cours de son parcours. Les trois modes sont organisés de manière concentrique de façon à ce que chaque mode satisfait également la fonction de celui qu’il contient. 4.7.1 Traque La traque est le premier noyau de navigation où le visiteur interagit avec le paysage sonore uniquement à travers son déplacement dans les salles du musée. En effet, la position du visiteur et son orientation, lui permettent de recevoir le contenu spatialisé adapté à son déplacement. L’intérêt de ce mode est d’immerger le visiteur dans le paysage sonore du musée et créer un environnement sonore qui interagit avec le mouvement du visiteur. Le protocole du mode Traque est donné par la figure 4.13 et le diagramme d’activités (figure 4.14). Ce protocole se base sur la notion de zone d’audibilité qui délimite l’espace dans lequel le son est entendu par le visiteur. Si un visiteur se trouve à l’inté- rieur de l’espace géographique délimité par une zone d’audibilité, alors cette dernière est activée. Rappelons que les zones d’audibilité sont appelées à se juxtaposer les unes avec les autres, ce qui requiert de composer les sons en résultant. Ainsi, un visiteur peut se trouver dans une zone géographique à l’intersection de deux zones d’audibilité, Aj et Ak (j = k), qui se juxtaposent et partagent toutes deux la même zone mère Ai, c’est-à-Section 4.7. Navigation 85 dire que visiteur Ai Aj Ak. Dans ce cas (listing 4.9), nous devons différentier deux cas : – Aj et Ak sont de type partagées (lignes 1-3 du listing 4.9). En d’autre termes, Aj.perception = shared et Ak.perception = shared. Dans ce cas, les sons (mixés) correspondant aux deux zones sont entendus par le visiteur (Aj k.sountoplay), – Aj et Ak sont toutes deux exclusives (lignes 5-7 du listing 4.9). Ainsi, Aj.perception = standalone et Ak.perception = standalone. Un seul son est entendu par le visiteur (Aj k.sountoplay), soit celui correspondant à la zone Aj soit celui de Ak : Aj k.sountoplay . Dans les faits, il s’agit de celui regardé par le visiteur. – Dans le cas où l’une des zones serait exclusive (lignes 10-12 du listing 4.9) - notons 5 cette zone Aj - et l’autre zone Ak serait partagée, alors comme dans le cas précédent seule la zone regardée par le visiteur est entendue de façon à se prémunir d’un son non audible provenant par exemple du mixage de deux dialogues. Listing 4.9 – Contrôle des zones d’audibilités 1 IF ( visiteur Aj Ak) Aj.perception = shared 2 Ak.perception = shared 3 DO Aj k.sountoplay 4 5 IF ( visiteur Aj Ak) Aj.perception = standalone 6 Ak.perception = standalone 7 DO Aj k.sountoplay 8 9 IF ( visiteur Aj Ak) Aj.perception = standalone 10 Ak.perception = shared 11 DO Aj.sountoplay Les relations existantes entre une zone parent Ai et une zone fille Aj sont assez proches. – Ai et Aj sont partagées (lignes 1-3 du listing 4.10). Dans ce cas, le son de la zone fille est en premier plan (in Background Ai.sountoplay ) alors que celui de la zone mère est joué en arrière plan (in foreground Ai.sountoplay), – Ai et Aj sont toutes deux exclusives (lignes 5-7 du listing 4.10), le son dont la zone est regardée est entendu. – Si une zone est exclusive (lignes 9-11 du listing 4.10) et l’autre est partagée, seule la zone regardée par le visiteur est entendue. Listing 4.10 – Contrôle des zones d’audibilités 1 IF ( visiteur Ai Aj) Ai.perception = shared 2 Aj.perception = shared 5. sans manque de généralité86 Chapitre 4. Modélisation de la visite augmentée FIGURE 4.13 – Protocole de la navigation en mode Traque dans le paysage sonore 3 DO in Background Ai.sountoplay in foreground Ai.sountoplay 4 5 IF ( visiteur Ai Aj) Ai.perception = standalone 6 Aj.perception = standalone 7 DO Ai j.sountoplay 8 9 IF ( visiteur Ai Aj) Ai.perception = standalone 10 Aj.perception = shared 11 DO Ai j.sountoplay 4.7.2 Contrôle Le mode Contrôle est un mode qui englobe celui de la Traque, mais qui permet un contrôle plus avancé du paysage sonore à travers des interactions volontaires du visiteur. En effet, en plus de réaliser le suivi du déplacement du visiteur et la spatialisation du contenu audio qui lui est diffusé, ce mode autorise le visiteur à contrôler le paysage sonore par des gestes simples de sa tête. Ce mode d’interaction qui est basé sur les gestes de la tête, a été adopté pour sa simplicité et son aspect intuitif. Ainsi, il permet à l’utilisateur de garder ses mains libres sans l’encombrer avec des dispositifs technologiques qui éloigneraient son attention des œuvres exposées et des sons diffusés. Aussi, disposer d’un système qui capterait les trois angles d’Euler correspondant aux diffé-Section 4.7. Navigation 87 FIGURE 4.14 – Protocole de la navigation dans le paysage sonore en mode traque88 Chapitre 4. Modélisation de la visite augmentée rents mouvements de la tête du visiteur offrirait une large expressivité qu’on pourrait exploiter pour définir un pseudo langage d’interaction entre le visiteur et le paysage sonore. Le mode Contrôle est modélisé au travers d’un langage déclaratif (en anglais declarative rule based language for expressing contraints) qui se prête à l’expression de règles et de contraintes. Une règle est exprimée sous le format suivant (listing 4.11) : dans un contexte donné (context), une condition particulière (condition) mène à une action (action) possiblement répétitive (WHILE (parameters)). Listing 4.11 – Règle de contrôle 1 IN ( context ) , IF ( condition ) WHILE ( parameters ) 2 DO ( action ) Nous souhaitons que la visite reste le plus possible naturelle et que l’interaction se rapproche au maximum de l’implicite que de l’explicite. Nous voulons éviter d’exiger des visiteurs la réalisation des gestes complexes qui pourrons les incommoder pendant la visite. En effet, l’objectif est de composer un langage assez expressif qui permet d’exprimer un maximum de commandes. Ceci devra être fait en utilisant des gestes simples et élémentaires que les hommes emploient en général pour exprimer rapidement des prises de positions. Ces gestes, comme expliqué dans la section 4.6.3, peuvent être : dire_oui en levant la tête et baissant la tête, dire_non en tournant la tête de gauche à droite, balancer_Tte en la faisant pencher la tête de droite à gauche. Des arrêts prolongés devant les objets peuvent être également interprétés comme un geste et pourra être utilisé dans l’interaction avec l’environnement sonore. Le concept de contexte est ainsi introduit comme étant un contexte d’interactivité avec l’environnement sonore. Dans chaque contexte l’interprétation des gestes réalisés par le visiteur peut être différente. Le visiteur pourra naviguer par un geste simple et unique balancer la tête. Il peut ensuite sélectionner un contexte par un geste de dire oui après une éventuelle demande de confirmation audio. Il accède ainsi à une interaction par gestes pour contrôler l’environnement sonore. La figure 4.15 montre un exemple d’une carte de navigation par les gestes que le concepteur peut définir à travers les règles de contrôle. Nous définissons 4 contextes : – Le contexte Normal_visit qui renvoie vers le mode par défaut d’une visite. Dans ce contexte, trois gestes du visiteur vont être interprétés comme interactions avec la scène sonore. Le geste dire_Oui permet d’activer la ZA associée à un objet devant lequel est arrêté le visiteur et qui correspond le plus au profil du visiteur. Le geste dire_Non permet de stopper la diffusion du son de la ZA courante. Le geste Arrêt_Prolongé permet d’activer la ZA courante et de l’inclure dans le parcours du visiteur si elle est initialement inactive.Section 4.7. Navigation 89 FIGURE 4.15 – Exemple d’une carte de navigation par les gestes – Le contexte Control_volume qui renvoie vers le mode de contrôle de volume de diffusion. Deux gestes permettent de contrôler le volume : le geste pencher_A_Droite qui permet d’augmenter le volume, et le geste pencher_A_Gauche qui permet de le diminuer. – Le contexte Ambiant_visit qui renvoie vers un mode dans lequel toutes les ZA dont le son à un autre type que l’ambiant sont désactivées. Les gestes interpré- tables restent les mêmes que ceux du contexte Normal_visit, et les actions en dé- coulant sont les mêmes également. – Le contexte Speech_visit qui renvoie vers un mode dans lequel toutes les ZA dont le son à un autre type que l’ambiant sont désactivées. Les gestes interprétables restent les mêmes que ceux du contexte Normal_visit, et les actions en découlant sont les mêmes également. Le concepteur a ensuite le choix de définir d’autres modes d’interaction. Les actions pouvant être utilisées sont principalement celles qui permettent l’arrêt de la diffusion d’un son associé à une ZA (action 1), le déclenchement d’un son associé à une ZA (action 2), l’ajout d’une ZA dans le parcours d’un visiteur (action 3) ou sa suppression du parcours du visiteur (action 4), augmenter le volume de la lecture des contenus audio (action 5) ou le baisser (action 6), le changement du contexte d’interactivité (action 7), et finalement la création d’un nouveau contexte (action 8). Listing 4.12 – Actions entreprises sur le paysage sonore90 Chapitre 4. Modélisation de la visite augmentée 1 1 . setStoped ( V i s i t o r . tour , ZA) 2 2 . s e t P l a y i n g ( V i s i t o r . tour , ZA) 3 3 . add ( V i s i t o r . Tour , ZA) 4 4 . remove ( V i s i t o r . Tour , ZA) 5 5 . volume_up ( V i s i t o r . tour ) 6 6 . volume_down ( V i s i t o r . tour ) 7 7 . setMode ( Control_volume ) 8 8 . createMode (new_Mode) Les exemples suivant décrivent la définition de règles de différents types. Le listing 4.13 sont les règles qui permettent au visiteur de contrôler le volume du son diffusé. Le listing 4.14 décrit les règles qui permettent l’arrêt et le déclenchement de sons associés au ZA visités par le visiteur suite à ses gestes, et éventuellement le rajout des ZA dans son parcours de visite. Finalement, le listing 4.15 décrit les règles qui permettent de naviguer entre les différents contextes d’interactivité tel que définit dans la figure 4.15. Listing 4.13 – Règles de contrôle pour régler le volume 1 IN Control\_volume , IF ( T i l t R i g h t ( V i s i t o r , time ) ) 2 WHILE TRUE DO ( volume\_up ( V i s i t o r . tour ) ) 3 IN Control\_volume , IF ( T i l t R i g h t ( V i s i t o r , time ) ) 4 WHILE TRUE DO ( volume\_down( V i s i t o r . tour ) ) Listing 4.14 – Règles de contrôle pour contrôler la diffusion des sons liés aux ZA 1 IN Normal\ _ v i s i t , IF ( Say\_No( V i s i t o r , timeStart , timeEnd ) ) 2 WHILE ( IN ( V i s i t o r ,ZA, timeStart , timeEnd ) ) 3 DO ( setStoped ( V i s i t o r . tour ,ZA) ) 4 IN Normal\ _ v i s i t , IF ( Say\_Yes ( V i s i t o r , timeStart , timeEnd ) 5 OR Long\_Stand ( V i s i t o r , timeStart , timeEnd ) ) 6 WHILE ( IN ( V i s i t o r ,ZA, timeStart , timeEnd ) ) 7 DO ( 8 IF ( IN ( V i s i t o r . Tour ,ZA) ) DO( 9 IF ( isStopped ( V i s i t o r . tour ,ZA) ) 10 DO s e t P l a y i n g ( V i s i t o r . tour ,ZA) 11 ) 12 ELSE DO (Add( V i s i t o r . Tour ,ZA) ) 13 ) Listing 4.15 – Règles de contrôle pour naviguer entre les contextes d’interactivité 1 IN Normal\ _ v i s i t , IF ( Say\_maybe ( V i s i t o r , time ) ) 2 WHILE TRUE DO ( setMode ( Ambiant\ _ v i s i t ) ) 3 IN Ambiant\ _ v i s i t , IF ( Say\_maybe ( V i s i t o r , time ) ) 4 WHILE TRUE DO ( setMode ( Speech\ _ v i s i t ) ) 5 IN Speech\ _ v i s i t , IF ( Say\_maybe ( V i s i t o r , time ) ) 6 WHILE TRUE DO ( setMode ( Control\_volume ) ) 7 IN Control\_volume , IF ( Say\_maybe ( V i s i t o r , time ) ) 8 WHILE TRUE DO ( setMode ( Normal\ _ v i s i t ) )Section 4.7. Navigation 91 4.7.3 Adaptation L’adaptation est le troisième mode d’interaction. Superposant les deux autres modes, l’adaptation permet en plus de réaliser la Traque et de permettre le Contrôle, d’adapter le parcours de la visite en analysant le comportement antécédent du visiteur et en y déduisant ses préférences. Ce niveau exploite les descripteurs du visiteur fournis par la signature des intérêts. L’algorithme d’adaptation est responsable de décider si les ZAs incluses dans le parcours du visiteur sont toujours intéressantes pour lui et ainsi devront toujours être présentes dans son parcours. Il est aussi responsable de décider si des ZAs qui ne sont pas incluses dans le parcours du visiteur doivent l’être en vue de ses intérêts exprimés dans la signature des intérêts. L’adaptation consiste ainsi à s’inspirer des scores d’intérêt des tags de chaque objet ou son associée à un ZA de la scène sonore, pour inférer si elle est dépréciée ou appréciée et ainsi la supprimer ou la rajouter au parcours du visiteur. Soit une zone d’audibilité ZA a qui correspondent un objet d’art O est un son S. Soit Tags(O) = to1, ..., ton les tags associés à l’objet O, et soit Tags(S) = ts1, ..., tsm les tags associés au son S. Soit Nto = Tags(O) le nombre de tags d’objet, et Nts = Tags(S) le nombre de tags de son associés à cette ZA. Nous définissons : – score_interest(V, ZA) est le score d’intérêt du visiteur V à la zone ZA, – score_interest(V,O) est son score d’intérêt du visiteur V à l’objet O, – score_interest(V, S) est son score d’intérêt du visiteur V au son S – score_interest(V, t) est son score d’intérêt du visiteur V au tag t. Nous considérons que l’objet et le sujet participe chacun à 50% dans la création de l’intérêt du visiteur à une ZA. Ainsi : Score_interest(V, ZA) = ⎧ ⎪⎪⎨ ⎪⎪⎩ score_interest(V,O)+score_interest(V,S) 2 si Nto = 0 et Nts = 0 score_interest(V,O) si Nto = 0 et Nts = 0 score_interest(V, S) si Nto = 0 et Nts = 0 0 si Nto = 0 et Nts = 0 A tout moment pendant le parcours du visiteur, le score d’intérêt à un tag objet s’exprime de la manière suivante : A tout moment pendant le parcours du visiteur, si un objet (resp. un son) d’une ZA est apprécié, les scores d’intérêt à ses tags d’objets (resp. de son) sont incrémentés. De même s’il est déprécié, les scores d’intérêt à ses tags sont dévalués.92 Chapitre 4. Modélisation de la visite augmentée En cas d’appréciation, on incrémente le score d’intérêt à un tag de la manière suivante : score_interesti(V, t) = score_interesti 1(V, t) + 1 score_interest0(V, t) nombre de ZA taguées par t (4.1) En cas de dépréciation, le score est dévalué de la manière suivante : score_interesti(V, t) = score_interesti 1(V, t) score_interest0(V, t) nombre de ZA taguées par t (4.2) avec score_interest0(V, t) le score initial attribué au tag t suivant le profil initial du visiteur. Les valeurs minimales et maximales des scores d’intérêts sont fixées à 0 et 1. L’appréciation de l’objet ou du son est déduite à partir du processus d’analyse des préférences décrit dans la figure 4.11. Le score d’intérêt qu’un visiteur V porte à un objet O (resp. à un son (S)) d’une ZA est définit comme la moyenne des scores d’intérêts que ce visiteur porte à l’ensemble des tags d’objets (tags de son) de cette ZA. Score_interest(V,O) = ∑Nto i=1 Score_interest(V, toi) Nto (4.3) Score_interest(V, S) = ∑Nts i=1 Score_interest(V, tsi) Nts (4.4) Ensuite, on définit deux seuils liés à l’intérêt à une ZA : un seuil de désinté- rêt minInterestT et un seuil d’intérêt maxInterestT. L’objectif est de définir trois plages d’intérêt. [0, minInterestT] où les ZA seront inintéressants pour le visiteur, [minInterestT , maxInterestT] où les ZA seront neutres pour le visiteur, et [maxInterestT,1] où les ZA seront intéressants pour le visiteur. Le score d’intérêt à une ZA sera d’après les équations précédentes entre 0 et 1 : 0 score_interest(V, ZA) 1. Le choix des deux seuils devra respecté l’inégalité suivante : 0 minInterestT maxInterestT 1. Pour initialiser le processus d’adaptation, il faudra définir un seuil d’appréciation Ta, ainsi que les deux seuils minInterestT et maxInterestT. 4.8 Exemple développé Nous prenons comme exemple la salle des communications du musée des arts et métiers (figures 4.20,4.21), qui abrite plusieurs outils de communication et de transmission de l’information. Le nombre impressionnant d’œuvres exposées dans cette salle etSection 4.8. Exemple développé 93 FIGURE 4.16 – Processus d’adaptation du contenu audio appartenant à différents domaines peut facilement désorienter le visiteur. Il serait ainsi judicieux de porter l’attention du visiteur sur un nombre restreint d’œuvres représentatives, puis d’enrichir son parcours avec plus d’œuvres qui rentrent dans son centre d’intérêt. La salle de communication sur laquelle va porter notre cas d’usage comporte des œuvres (des machines) classées par 3 catégories : l’imagerie, l’imprimerie et la télégraphie. Le modèle de scène sonore développé pour cet exemple est constitué de 3 couches : – La couche physique reproduit la répartition des objets exposés dans l’espace réel tel que c’est présenté dans la figure 4.17. Dans le tableau 4.22, les machines 10 qui rentrent dans l’exemple sont identifiées de A à J. Les machines correspondant à l’imprimerie sont de A à D. La machine A (Machine à écrire de Remington) est considérée comme représentative de cette catégorie. Les machines correspondant à la télégraphie sont E et F, F (Télégraphe aérien de Chappe) étant l’œuvre représentative. Les œuvres liés à l’imagerie sont identifiés de G à J. H (Chambre de touriste Enjalbert) et J (Fantasmagories de Robertson) sont considérées comme représentatives. – La couche acoustique décrit les ZAs composant la scène sonore. Vingt ZAs sont créées dans cet exemple. A chaque objet du musée en associe une ZA de type partagé dans laquelle un son Ambiant est joué, et une ZA de type exclusif dans laquelle un son de description est joué. Un exemple la ZA ambiante associée à la machine A (Machine à écrire de Remington) est présenté dans le listing 4.16. – La couche sémantique est choisie d’une telle manière à simplifier les calculs. En effet pour simplifier l’adaptation aux préférences du visiteur, nous allons nous baser sur un thésaurus réduit (figure 4.18) comportant trois descripteurs : imagerie, imprimerie et télégraphie. Chacune des œuvres est décrite par un seul descripteur à la fois. La navigation dans cet exemple se fera selon les trois niveaux ; la traque, le contrôle et l’adaptation. Pour le contrôle, les règles définies dans le listing 4.14 vont être utilisées. Pour l’adaptation nous utilisons le même algorithme définit précédemment pour l’adaptation avec minInterestT = 0.4 et maxInterestT = 0.7.94 Chapitre 4. Modélisation de la visite augmentée FIGURE 4.17 – Scène sonore de l’exemple. FIGURE 4.18 – Thesaurus de l’exemple.Section 4.8. Exemple développé 95 A son arrivée au musée, le visiteur répond à un questionnaire évaluant ces centres d’intérêts. Les réponses à ce questionnaire serviront à choisir les œuvres qui constitueront son parcours, et qui seront ainsi sonorisées. Dans notre cas de figure, ce questionnaire lui demande son avis par rapport aux 3 catégories du thésaurus imagerie, imprimerie et télégraphie. Prenons le cas d’un visiteur dont le profil montre un intérêt pour l’imagerie, et un désintérêt vis à vis de la télégraphie. Ces réponses au questionnaire son présenté dans la figure 4.19. Sur la base de ce profil, le système marque les machines décrites par imagerie comme étant intéressantes pour le visiteur et les inclut toutes à son parcours. De la même manière, les œuvres décrites par télégraphie sont marquées comme inintéressantes pour le visiteur et sont écartées de son parcours. Le visiteur s’exprime neutre concernant l’imprimerie, le système inclut uniquement son élément représentatif, la machine A, au parcours du visiteur. Visitor.tour(t0) = A, G, H, I, J FIGURE 4.19 – Questionnaire présenté au visiteur et ses réponses. Le tableau 4.22 décrit les différents états du parcours du visiteur dans la salle, et le changement de l’état de sonorisation des machines en concordance avec le comportement de l’utilisateur. A partir des réponses du visiteur, nous inférons les scores d’intérêts suivants pour les 3 catégories : – Score_interest(Visiteur,"Imagerie")=1 – Score_interest(Visiteur,"Imprimerie")=0,5 – Score_interest(Visiteur,"Télégraphie")=0 Dès son entrée à la salle, le visiteur reçoit un contenu sonore lui présentant le thème de la salle (Etat 0). Puis, en se déplaçant à travers les couloirs de la salle, le visiteur accède aux différentes zones d’audibilité liées aux objets exposés et sonorisés. Le visiteur commence sa visite par le couloir de droite et passe devant la machine à écrire "Remington" (ZA A). Ce dernier choisit de s’arrêter devant cette machine le temps d’écouter le contenu audio (Etat 1). Ceci ne change rien en terme de score d’intérêt au tag Imprimerie Score_interest(Visiteur,"Imprimerie")=0,5+(1-0,5)/4=0,625 (Formule 1.1). Puis il avance et s’arrête devant le télégraphe aérien de "Chappe" (ZA F). Bien que ce télégraphe n’est pas sonorisé, le visiteur décide d’activer le contenu audio lié à cet objet en utilisant le moyen d’interaction offert par le niveau d’interactivité "Contrôle". Le visiteur lève sa tête de haut en bas, en effectuant un geste direOui, ce qui provoque le déclenchement du contenu audio de la ZA (Etat 2). Le score d’intérêt du visiteur96 Chapitre 4. Modélisation de la visite augmentée FIGURE 4.20 – La salle des communications du musée des arts et métiers (vue 1) FIGURE 4.21 – La salle des communications du musée des arts et métiers (vue 2)Section 4.8. Exemple développé 97 FIGURE 4.22 – Etats de l’exemple.98 Chapitre 4. Modélisation de la visite augmentée au tag "Télégraphie" augmente : alors Score_interest(Visiteur,"Télégraphie")=0+1/2=0,5. Ainsi, pour toute ZA annotée Télégraphie Score_interest(Visiteur, ZA) = 0, 5, ce qui les fait passer de la plage inintéressant [0, 0.4[ à la plage Neutre [0.4, 0.7[. Ceci implique l’activation par Adaptation de ces ZA si elles sont de référence. C’est le cas de la ZA F mais pas celui de la ZA E. Ainsi on inclut la ZA F dans le parcours du visiteur (Etat 3). Visitor.tour(t1) = A, F, G, H, I, J Le visiteur continue sa visite et s’arrête devant la machine à graver "Conté" (ZA C). Cette machine initialement écartée du parcours y sera ajoutée puisque le visiteur reste le temps que le son de la ZA s’active automatiquement par processus du Contrôle (Etat 4). Le score d’intérêt du visiteur au tag "Imprimerie" ainsi augmente : Score_interest(Visiteur,"Imprimerie")=0,62+(1-0,5)/4=0,75. Ainsi toutes les ZA annotées "Imprimerie" auront un score d’intérêt égale à 0,75. Ce qui les fait passer de la plage Neutre [0, 0.0,7[ à la plage Intéressant [0.7, 1] Ainsi on inclue toutes les ZA annotées "Imprimerie" dans le parcours du visiteur (Etat 5). Visitor.tour(t_2)={A,B,C,D,F,G,H,I,J} Le visiteur poursuit sa visite de la salle, et passe devant la ZA de Fantasmagories de Robertson. Bien que cette ZA soit sonorisée car l’imagerie a été marquée comme inté- ressante par le visiteur, ce dernier passe devant l’objet, mais ne reste pas suffisamment de temps pour écouter les contenus audio qui lui sont liés (Etat 6). Le score d’intérêt du visiteur à l’imagerie est ainsi dévalué : Score_interest(Visiteur,"Imagerie")=1-1/4=0,75 (Formule 1.2). A son passage devant la deuxième machine d’imagerie (Chambre de touriste Enjalbert), le visiteur décide d’arrêter le contenu audio en secouant la tête de droite à gauche (geste DireNon) (état 7), puis quitte la ZA correspondante. Ce qui provoque la dégradation du score d’intérêt au tag Imagerie : Score_interest(Visiteur,"Imagerie")=0,75-1/4=0,5. Ainsi toutes les ZA annotées Imagerie se voient dégradées en intérêt pour le visiteur. En effet, pour chaque ZA annotée imagerie : score_interest(V,ZA)=0,5. Ainsi ces ZA deviennent neutres pour le visiteur, et resterons sonorisés uniquement les éléments repré- sentatifs, en l’occurrence les ZA J et H (état 8). Visitor.tour(t_2)={A,B,C,D,F,H,J} Listing 4.16 – Schémas XML de notre cas d’usage 1 2 3 4 5 6 7 8 9 0.5 Section 4.9. Extension du modèle pour les visiteurs malvoyants 99 10 11 12 14 15 shared 16 17 18 19 20 21 4.9 Extension du modèle pour les visiteurs malvoyants Si la dimension sonore est importante pour identifier et comprendre le fonctionnement des œuvres du musée, cette dimension sonore est d’autant plus pertinente si le visiteur ne voit pas l’œuvre, ou la voit mal. Entendre le bruit d’une machine permet au public à déficience visuelle de se faire une idée plus complète de l’œuvre. Malheureusement, de nombreuses contraintes empêchent la mise en marche de ces machines au sein du musée, ce qui prive les visiteurs des informations pertinentes sur le fonctionnement de la machine. Ce défaut est encore plus ressenti chez les visiteurs malvoyant, pour qui, le son pourrait jouer un rôle fondamental facilitant la reconnaissance et la découverte des objets. 4.9.1 Scénario de la visite : objectifs L’objectif d’une visite assistée par un système de RAS pour un malvoyant peut être différent selon la nature des objets qui l’entourent et le lieu dans lequel il se positionne. Le premier objectif est d’accompagner le malvoyant dans un environnement non initialement conçu pour la réception de personnes malvoyantes. L’audioguide est ainsi un accompagnateur du visiteur qui le guidera pour se déplacer entre les différentes salles du musée. Par exemple, il lui permettra d’éviter les obstacles (accompagnement) et émettra des alertes en cas de risque quelconque (signalétique). Le deuxième objectif d’un tel système, est la découverte des œuvres exposées à travers leurs dimensions sonores au lieu de se limiter à la dimension visuelle. Ceci peut se faire par l’augmentation de l’objet avec un son ambiant qui dépeint l’environnement. Il peut correspondre au son fonctionnel produit par l’œuvre. Il s’agit alors de la bandeson originale de l’œuvre ou d’un enregistrement effectué pendant que l’œuvre est en marche. Il peut aussi s’agir d’un son de synthèse imitant celui que produirait une machine en état de marche avec la possibilité de mixer avec d’autres sons. Le contenu sonore ambiant peut être soit de la musique pour les œuvres dont l’objectif est de pro-100 Chapitre 4. Modélisation de la visite augmentée duire un son (Joueuse de tympanon, boîte à musique,...). Il peut aussi être un son de fonctionnement pour les objets qui produisent des sons fonctionnels (horloge, télévision, phonographe), ou un bruit produit lors du fonctionnement d’un objet (moteurs, outils, instruments scientifiques). L’utilisation de la spatialisation de ces contenus audio émanant des diverses œuvres entourant le visiteur procurera à ce dernier un sentiment d’immersion dans le MAM et rendra la visite du musée similaire à celle d’une usine à machine. Le troisième objectif est un objectif informatif. Le système d’audioguide, en fonction de la position et de l’orientation du visiteur, permet l’envoi de la description vocale (parole ou élocution) de l’objet le plus proche du visiteur. Elle peut aussi englober une histoire, un témoignage, un dialogue, etc. 4.9.2 Modèle de la scène sonore : les types de zones d’audibilité Afin d’atteindre les différents objectifs décrits dans la section précédente, nous introduisons quatre types de ZA : Zone d’accompagnement : c’est une ZA qui entoure le visiteur et qui se déplace avec lui au cours de sa visite. Son objectif est de diriger le visiteur malvoyant pour arriver à sa destination. Zone partagée : c’est une ZA qui est associée à chaque œuvre du musée que l’on souhaite intégrer dans le parcours du visiteur. Dans cette zone, le visiteur percevra un son ambiant émanant d’une source sonore assimilée au centre de la ZA. Plusieurs zones ambiantes peuvent se recouvrir. Ces zones peuvent être soit liées à des objets différents, soit à plusieurs composants du même objet. Le visiteur qui se retrouve au sein d’un lieu de recouvrement de deux ou plusieurs zones ambiantes pourra percevoir simultanément les sons spatialisés provenant des sources sonores différentes. Zone exclusive : ce type de ZA est essentiellement dédié à la description des objets exposés. Elle se trouve généralement au plus proche d’un objet. Dans cette zone, le visiteur percevra de la parole décrivant l’œuvre concernée. La particularité de cette zone est que son contenu audio ne peut pas se mixer avec d’autres zones même en cas de recouvrement. Cette condition est volontairement imposée pour garder l’attention du visiteur sur l’objet à décrire. Zone d’alerte : c’est une ZA qui se positionne dans les endroits particulièrement risqués pour un malvoyant ou un aveugle, comme les escaliers, les rampes, etc... Elle entoure également toute œuvre, afin de signaler au visiteur, qu’il s’en approche trop. Le son de cette zone d’alerte est prioritaire sur tous les sons émanant d’une autre source sonore.Section 4.10. Conclusion 101 4.9.3 Modèle de la scène sonore : algorithme de suivi Le scénario du visiteur que nous proposons est un scénario qui combine l’immersion audio dans le bruit ambiant et la description orale des œuvres exposées. Lorsque le visiteur pénètre dans l’environnement sonore, la position et l’orientation de sa tête sont automatiquement traquées par le système de positionnement et envoyées au système de spatialisation sonore. Ce dernier récupère le contenu audio adapté à la position et l’orientation de l’utilisateur, puis l’envoie au visiteur à travers son casque binaural. Les règles suivantes régissent le scénario de la visite et la diffusion des contenus audio : Règle 1 : à chaque accès à une salle d’exposition, le visiteur reçoit un contenu audio lui présentant la thématique de l’exposition et le type d’œuvre qui rentre dans son parcours. Ainsi, il pourra avoir une première idée sur le contenu de la salle. Règle 2 : lorsque le visiteur pénètre dans une zone partagée, il commence à entendre un son ambiant binaural spatialisé lié à l’objet contenu dans la zone. L’intensité et l’orientation du son sont respectivement proportionnelles à la distance séparant le visiteur de la source sonore, et à l’angle entre le vecteur visuel du visiteur et le vecteur ’visiteur-source sonore’. Règle 3 : lorsque le visiteur se retrouve dans le recouvrement de plusieurs zones partagées, il entendra simultanément les sons ambiants spatialisés provenant des différentes sources sonores. Règle 4 : lorsque le visiteur pénètre dans une zone exclusive liée à un objet du musée, le son ambiant lié au même objet est renvoyé progressivement en arrière plan et avec une faible intensité. Ensuite, le texte de description de cet objet commence à s’entendre. Il est également envoyé en binaural. Règle 5 : lorsque le visiteur pénètre une zone d’alerte, tous les autres sons son arrêtés et le visiteur commence à entendre une voix qui l’incite à s’éloigner de la zone à risque en lui indiquant ce qu’il faut faire (reculer, aller à droite, etc...). Un son d’alarme retentit et augmente en volume au fur et à mesure que le visiteur se rapproche de la zone à risque (centre de l’objet, mur, escalier, etc...). Règle 6 : à l’extérieur de toute autre zone, et selon la conception de la scène sonore, une zone d’accompagnement suit le visiteur et le dirige pour naviguer au sein du musée. Elle est notamment utilisée pour se déplacer entre les salles du musée, et entre les espaces de recouvrement des sons ambiants. Les transitions d’une zone à l’autre sont faites d’une manière fluide et progressive, de telle sorte que le visiteur ne sente pas de coupures dans la diffusion des contenus sonores. 4.10 Conclusion Dans ce chapitre, nous avons présenté dans un premier temps quelques exemples de scénarios dans le but de proposer un modèle de visites le plus général possible. Afin102 Chapitre 4. Modélisation de la visite augmentée de modéliser la visite augmentée, nous avons commencé par la structure du paysage sonore en trois couches : la couche physique qui contient les informations géométriques sur l’espace physique et les objets qui le composent, la couche virtuelle et acoustique et la couche sémantique Dans la couche virtuelle et acoustique, nous avons introduit la notion de zone d’audibilité qui délimite l’espace d’écoute de la source sonore et qui permet au concepteur de gérer l’espace d’écoute en le délimitant par des zones d’audibilité de différents formats. L’ensemble des zones d’audibilités forment le paysage sonore dans lequel évolue le visiteur. Les zones d’audibilité peuvent se juxtaposer les unes avec les autres. Ces zones pourraient être organisées de différentes manières (structures p2p ou hiérarchique par exemple). L’organisation choisie a un impact sur l’efficacité du rendu sonore. L’intérêt d’une approche hiérarchique est qu’elle permet de représenter des structures complexes suivant différents niveaux de résolution. Ainsi le visiteur peut être immergé dans un paysage sonore composé de sons ambiants, de musiques et de commentaires en adéquation avec sa position et son orientation. Par ailleurs, dans la couche sémantique, ces ZA une fois annotées et classifiées par concepts sous forme d’un thésaurus, peuvent être facilement exploités pour déterminer ses centres d’intérêt. Le visiteur quant à lui est indexé par différents types d’informations allant des informations de profils, données par le visiteur au début de sa visite aux informations de tracking permettent de donner sa localisation et son focus, aux signatures d’intérêts qui permettent de définir les intérêts des visiteurs. Puisqu’une visite est une navigation dans un paysage sonore, nous avons distingué trois niveaux de navigation du visiteur dans le paysage sonore : – La navigation par le déplacement où le visiteur interagit avec le contenu sonore uniquement par son déplacement et son orientation. – Le contrôle, où le visiteur contrôle le paysage sonore par ses gestes, il peut contrô- ler la lecture du contenu sonore comme il peut activer ou désactiver des ZA. – L’adaptation où le système adapte le parcours du visiteur en cours de sa visite selon ses intérêts. Dans le futur, ce modèle peut être étendu et amélioré dans plusieurs aspects. Un premier aspect concerne celui de la description des zones d’audibilité. D’autres types de ZA autres que exclusives et partagées peuvent voir le jour suivant l’application. En outre, alors que ces ZA sont définies d’une manière statique dans notre modèle, nous pouvons imaginer des ZA créées dynamiquement par le visiteur durant sa visite. L’association des contenus audio aux ZA peut être repensée, nous pouvons proposer un modèle qui associerait plusieurs sons alternatifs à la même ZA, et que le choix du son diffusé soit établi par le visiteur lui-même ou bien désigné automatiquement selon son profil. En plus, un nouveau protocole de navigation peut être défini à travers de nouveaux canaux d’interaction autres que la position et l’orientation du visiteur. En effet, nous pouvons étendre le modèle pour intégrer d’autres types de contrôle de la scène sonore comme, par exemple, de la parole émise par le visiteur ou aussi des gestes qu’ilSection 4.10. Conclusion 103 FIGURE 4.23 – Diagramme de composants du modèle de la visite peut exprimer avec son corps, mais également à travers d’autres dispositifs multimé- dias intelligents. Par ailleurs, le modèle du visiteur pourrait être étendu pour prendre en compte la visite augmentée du groupe auquel le visiteur pourrait appartenir.5 Evaluation de la visite augmentée 5.1 Introduction Ce chapitre décrit la partie expérimentale de notre travail. Elle a pour objectif la mise en application du modèle, des scénarios et du dispositif de l’utilisateur dans une situation réelle : la visite du musée des arts et métiers de Paris. Nous avions besoin de cette étape d’expérimentation pour valider nos hypothèses théoriques, et pour pouvoir évaluer l’acceptabilité de ce genre de système de RAS, jusqu’alors peu connu par les visiteurs du musée. Ce chapitre consiste alors à faire une évaluation empirique de SARIM et de ses fonctionnalités. Comme nous ne pouvons pas évaluer toutes les fonctionnalités que permet le modèle, nous nous sommes donnés pour objectif de mettre en œuvre et d’évaluer quelques scénarios de visite permettant de préfigurer de nouveaux usages et de nouveaux champs applicatifs de la réalité augmentée, dans lesquels la composante auditive jouerait un rôle majeur. Nous nous posons la question de la réalité augmentée sonore d’un point de vue ergonomique, donc de la façon dont elle est mise en œuvre. Dans la première section de ce chapitre, nous aborderons la problématique de l’utilisation d’un dispositif de RAS dans le cadre de la visite de musée. Dans cette section, nous évoquerons les critères évalués dans d’autres systèmes de RA appliqués à la visite de musées. Nous nous positionnons par rapport à ces systèmes, puis nous évoquerons nos questions de recherche. Dans la troisième et la quatrième section, nous décrirons les deux expériences qui ont été menées dans deux salles du musée des arts et métiers.106 Chapitre 5. Evaluation de la visite augmentée Nous décrirons les objectifs de chaque expérience et son déroulement, et nous procéderons finalement à l’analyse des résultats. 5.2 Évaluation des dispositifs de réalité augmentée 5.2.1 Les pratiques courantes dans l’évaluation de la RA Avant de mettre au point une évaluation de SARIM, il s’avère utile d’examiner les pratiques courantes de l’évaluation des systèmes de RA. Nous allons étudier trois travaux que nous estimons importants, et qui décrivent des techniques et des méthodes utilisées dans l’évaluation de la RA. Le premier est celui d’Anastassova [Anastassova07], un état de l’art où sont décrits 48 articles portant sur l’évaluation centrée utilisateur des applications industrielles de la RA. Ses auteurs rapportent que la majorité des articles étudiés (38%) traitent la question de l’utilisabilité et seulement 17% se spécialisent dans l’analyse des besoins de l’utilisateur. En termes de méthodologie, les auteurs qui étudient la question de l’analyse des besoins des utilisateurs, le font souvent à travers des interviews ou des questionnaires. Pour les auteurs qui évaluent l’utilisabilité des systèmes de RA, le but est souvent d’étudier la facilité d’usage des interfaces de RA et leur efficacité, en se servant de la méthode du questionnaire. Une autre remarque très importante est que la majorité des évaluations effectuées sont faites en laboratoire et non pas en conditions réelles. Gabbard et al. [Swan05, Gabbard08] ont aussi proposé une classification des expé- riences centrées utilisateurs liées à la RA. Ils définissent trois axes complémentaires suivant le domaine de recherche : – La perception humaine (profondeur de la perception, coordination entre l’ œil et la main). – La performance de la tâche pour des applications spécifiques de la RA (temps, nombre d’erreurs). – L’environnement collaboratif et le travail coopératif. Dunser et al. [Dünser08] ajoutent un autre axe à la classification de Gabbard qu’ils ont nommé : "étude de l’utilisabilité des interfaces des systèmes de RA". Ils proposent aussi une taxonomie des méthodologies d’évaluation des systèmes de RA en cinq caté- gories : – Les mesures objectives (temps, taux d’erreurs, précision). – Les mesures subjectives, ou la perception de l’utilisateur, souvent recueillies par des questionnaires. – L’analyse qualitative qui inclut l’observation formelle des utilisateurs, l’entretien formel. – La mesure de l’utilisabilité (méthodes heuristiques, analyse des tâches).Section 5.2. Évaluation des dispositifs de réalité augmentée 107 – L’évaluation informelle qui inclut les méthodes d’observation ou les retours informels des utilisateurs. Notre objectif initial était de déterminer les critères évalués dans les tests d’utilisabilité, et les problématiques posées dans l’évaluation des systèmes de RA en général et RA sonore en particulier. Nous avons tenté dans un premier temps de faire le lien avec les interfaces d’IHM mobiles en général et les systèmes de RA mobiles en particulier. Ceci a été entrepris dans le but d’évaluer la possibilité d’utiliser les critères d’utilisabilité de l’IHM pour évaluer les systèmes de RA. Dans un second temps, nous présentons un aperçu des critères évalués dans les audioguides de musée, et comment les chercheurs ont tenté de trouver le lien entre les systèmes de RA mobiles et les audioguides mobiles de musées. 5.2.1.1 RA et utilisabilité Dans cette section, nous passons en revue quelques travaux de recherche concernent l’évaluation des applications de la RA dans le domaine de l’IHM. La question que nous poserons est : est-ce que les critères d’utilisabilité de l’IHM en général peuvent être appliqués aux technologies de la RA ? Afin de répondre à cette question, Gabbard et al. [Swan05, Gabbard08] estiment que la combinaison des critères de l’utilisabilité de l’IHM et les études centrées utilisateur constitue non seulement un défi important, mais aussi une opportunité de recherche. Selon ces auteurs, un bon système doit être à la fois utile et utilisable. Pour faire l’intersection des critères de l’utilisabilité d’une interface homme machine en général et un système de RA mobile, les auteurs définissent les caractéristiques orientées utilisateur suivantes : – La facilité d’apprentissage. – La rapidité d’exécution des tâches utilisateur. – Le taux d’erreurs d’utilisation. – La satisfaction subjective de l’utilisateur. – Le temps passé par l’utilisateur à se servir du dispositif. Ils insistent aussi sur l’étude préalable du domaine de l’application de la RA, ce qui consiste à définir comment doit être l’utilisateur et quel est la tâche qu’il doit accomplir. Dunser et al. [Dünser07a, Dünser07b], tentent aussi de réduire l’écart existant entre le domaine de l’IHM et celui de la RA en matière d’utilisabilité. Ils suggèrent des critères d’utilisabilité de l’IHM qui peuvent être applicables dans le domaine de la RA : – L’affordance. – Réduire l’effort cognitif. – Réduire l’effort physique. – La facilité d’apprentissage. – La satisfaction de l’utilisateur.108 Chapitre 5. Evaluation de la visite augmentée – La réactivité et la tolérance aux erreurs du système. 5.2.1.2 RA et audioguides Les audioguides classiques utilisés pour les visites de musées sont sujets à plusieurs types d’évaluation. Ces évaluations ont permis de tester leur utilisabilité sur plusieurs critères tels que l’amusement, l’utilité, la durée d’usage, la facilité d’usage, la distraction, l’acquisition de connaissances, l’équilibre attentionnel, l’interaction sociale, l’ergonomie, la navigation, le système de positionnement, l’interface, le contenu, la personnalisation, la géolocalisation, l’accessibilité, l’impact cognitif, etc. [Proctor03, Woodruff01, Bellotti02]. Une taxonomie de critères d’évaluation des systèmes de RA a été proposée par Damala et al. [Damala09, Sylaiou05]. Trois groupes de critères d’évaluation ont été définis ; les critères technologiques, les critères d’information et les critères logistiques : – Les critères technologiques : ce sont les critères liés à la technologie choisie pour l’implémentation de l’application du contenu ou de l’interface, ou pour la géolocalisation. – Les critères de l’information : ce sont les critères liés au contenu interactif, notamment la qualité du contenu, sa durée, la nature du contenu par objectif (amusement, distraction, interaction sociale, etc.). – Les critères logistiques : ce sont les critères liés à la logistique et l’administration de l’audioguide, à savoir la maintenabilité, le nombre d’audioguides, la formation du personnel, la distribution de l’audioguide, la durée de vie de la batterie, etc. En outre, Damala a étudié les corrélations entre les critères évalués pour les audioguides classiques et ceux des audioguides de la RA. Elle conclut que le lien est fort concernent les critères suivants : l’orientation et la navigation dans l’environnement du musée, l’orientation et la navigation dans l’application, la facilité d’alterner entre le guide et l’objet, la facilité de l’usage, la distraction et l’équilibre attentionnel, la réaction affective, la transparence, et la facilité de l’utilisation. Ensuite, [Damala09] définit deux groupes de critères d’évaluation : les critères liés à la RA et les critères non liés à la RA, de l’ordre de l’utilisabilité dans le domaine de l’IHM. Le premier groupe lié à la RA, est d’une importance primordiale pour l’acceptation du guide augmenté. Ce groupe inclut la facilité de : – l’orientation et de la navigation dans l’environnement du musée, et la facilité de l’identification des objets commentés. – la navigation dans le contenu interactif du guide. – la compréhension de la manière utilisée dans la métaphore de la RA par les utilisateurs non informaticiens.Section 5.2. Évaluation des dispositifs de réalité augmentée 109 Le deuxième groupe de critères concerne les professionnels du musée et les concepteurs des applications : – L’utilité et l’amusement du visiteur, et la satisfaction générale produite par l’utilisation du guide. – L’impact de la phase post-visite et l’impact de l’apprentissage et aussi l’impact cognitif. – La question de la distraction du visiteur et son équilibre attentionnel. – La préference entre des médias spécifiques. 5.2.1.3 Evaluation centrée utilisateur Des critères spécifiques ont été utilisés par les chercheurs pour évaluer les systèmes de la RA mobiles, et en particulier les systèmes de RA utilisés dans le domaine de la visite du patrimoine culturel. Ayant comme objectif d’offrir aux visiteurs du musée une expérience éducative et ludique améliorée, ARCO (Augmented Representation of Cultural Objects) [Sylaiou05] est un système de RAV qui a été évalué en termes de composants et d’interfaces. Pour cela, une évaluation heuristique et des solutions cognitives sont employées. Les auteurs ont évalué deux composants du système ARCO : la composante liée au contenu, et l’interface de la RA. Afin d’effectuer une évaluation centrée utilisateur, trois catégories d’évaluation principales sont incluses dans cette étude : L’utilisabilité technique qui se réfère aux aspects perceptifs et physiques de l’interface homme machine (facilité d’apprentissage et de mémorisation, efficacité de l’utilisation, nombre d’erreurs, satisfaction). L’adéquation entre le contenu et le domaine qui examine la pertinence du contenu et de sa représentation. L’acceptabilité du système par l’utilisateur qui signifie l’efficacité du système à supporter les besoins cognitifs de la tâche, et la satisfaction fournie. En plus de ces critères, le niveau de présence de l’utilisateur a été également évalué à travers un questionnaire. Sylaiou et al. [Sylaiou08] réévaluent le système ARCO en termes de groupe de participants. Ils visent à étudier l’impact du type de participants sur l’utilisation du dispositif. Deux groupes de participants ont expérimenté le dispositif : les conservateurs (experts) et les visiteurs (non-expert) du musée. Ils concluent que la meilleure configuration est de faire une évaluation avec des participants experts et des vrais visiteurs du musée (non experts). Deux travaux paraissent très intéressants dans ce domaine. La première étude est publiée en 2005 par Swan et Gabbard [Swan05, Gabbard08]. Ils examinent 266 publications sur la RA publiées entre 1998 et 2004. En analysant ces articles, ils trouvent que110 Chapitre 5. Evaluation de la visite augmentée seulement 14% des articles abordent la question de l’IHM, et seulement environ 8% dé- crivent une étude formelle centrée utilisateur. La deuxième étude est publiée en 2008 par HITLab en Nouvelle-Zélande [Dünser08]. Elle cite 557 publications sur la RA qui sont publiées entre 1993 et 2007. Seulement 10% de ces travaux incluent une évaluation centrée utilisateur. D’après ces deux études, nous constatons que les évaluations centrées utilisateurs sont peu présentes dans les évaluations des systèmes de RA. Cependant en 2013 ce constat peut ne plus être vrai. 5.2.2 Critères évalués par la RAS Les auteurs qui ont évalué des applications de RAS dans le cadre de la visite du musée définissent des critères supplémentaires liés au contenu audio, au modèle de la scène sonore et à l’expérience auditive. Dans le projet ech(o) [Hatala05], les auteurs définissent deux groupes d’objectifs à évaluer : des objectifs conceptuels et des objectifs fonctionnels. Les objectifs conceptuels portent sur l’amusement, la quantité de données à tranmettre et la nature du contenu audio (devinette, jeu de mots,...). Les objectifs fonctionnels définissent les critères de l’utilisabilité du système RAS selon les critères suivants : – La satisfaction générale. – Le confort lié à l’utilisation de l’interface tangible de l’utilisateur. – Le confort lié à l’utilisation du casque de RAS. – La facilité d’apprentissage. – La perception de la performance du système (temps de réponse). – La qualité du contenu (informatif/non informatif, surprenant/prévisible, géné- ralisé/ personnalisé, rigide/ludique). – La qualité de l’expérience audio (confusion/clair, expérience mécanique/humaine, inutile/précieuse). – La navigation et le contrôle (capacité de naviguer, se perdre dans le système, certitude de l’état du système). Dans un autre contexte, Paterson et al. [Paterson10], évaluent un jeu en RAS. Ils évaluent : – L’engagement et la présence et l’immersion. – Le contrôle . – L’interaction. – L’utilisabilité. – L’impact de la localisation sur l’engagement et sur l’immersion. Dans le projet Ontrack [Jones08], les auteurs proposent une nouvelle approche pour aider les utilisateurs mobiles dans les tâches de recherche d’itinéraire en intégrant des indices de navigation dans la musique. Ils ont fait passer un test d’utilisabilité en laboratoire, dont les résultats étaient encourageants pour développer la version mobile du prototype. L’étude de l’utilisabilité a porté sur l’efficacité du système, ç.à.d. si lesSection 5.2. Évaluation des dispositifs de réalité augmentée 111 utilisateurs sont capables de compléter les tâches dans un délai raisonnable, ainsi que sur le retour subjectif des utilisateurs. A travers la littérature, on constate un manque au niveau de l’évaluation des systèmes de RA. Les évaluations qui sont faites se passent souvent en laboratoire et pas en situations réelles, ce qui rend difficile la vérification des objectifs de l’expérience en dehors du contexte (musée par exemple), surtout s’il s’agit d’un contexte culturel ou ludique. 5.2.3 Questions de recherche Après avoir passé en revue les questions et critères évalués dans les systèmes de RA étudiés, l’étape suivante consiste à définir les questions de recherche qui vont être étudiées dans la phase d’évaluation. Nous définissons trois groupes de questions de recherche, le premier groupe traite l’apport de la RAS dans la visite de musées. Le deuxième groupe porte sur la manière de l’utilisation de la RAS dans la visite du musée. Le troisième groupe porte sur la conception d’un dispositif de RAS accessible et utilisable. Le premier groupe de questions traite l’apport de la RAS dans la visite de musées, cela inclut : – De quelle manière l’interaction dans la RAS du musée peut être différente des autres interactions homme machine ? – Est ce que la technologie de la RAS peut constituer une alternative intéressante pour l’interaction et la navigation dans les audio guides des musées ? – Est ce que la RAS permet de faciliter la navigation dans l’environnement du musée ? – Est ce que la RAS permet de faciliter l’accès à l’information dans l’environnement du musée ? – Est ce que la RAS permet de : – faciliter l’identification et la localisation des objets sonorisés ? – rendre la visite plus ludique ? – mieux valoriser les objets sonorisés ? – accroître l’intérêt porté aux objets sonorisés ? Le deuxième groupe porte sur l’exploitation de la RAS pour améliorer la visite : – Comment rendre la technologie de la RAS facile et intuitivement compréhensible même par des utilisateurs novices ? – Quels genres de scénarios de visite permettront au visiteur d’interagir intuitivement avec les objets du musée ? – Quel est l’impact de l’interaction directe entre l’utilisateur et les objets sonores sur la visite du musée ? – Est ce qu’elle permet d’accéder à plus d’objets ?112 Chapitre 5. Evaluation de la visite augmentée – Est ce qu’elle permet d’accroître l’intérêt porté aux objets ? (se sentir acteur de la scène plutôt qu’observateur) – Quel impact a l’ajout des sons ambiants à la visite ? – Quel impact pourrait avoir la sonorisation des objets exposés sur la visite du musée et sur le parcours de la visite ? – Quel impact pourrait avoir la sonorisation des objets exposés sur l’intérêt des utilisateurs envers les objets observés ? – Quel est l’impact de la sonorisation du patrimoine sur la charge émotionnelle et nostalgique de la visite du musée ? Le troisième groupe porte sur la conception d’un dispositif de RAS accessible et utilisable. En plus des critères d’utilisabilité traditionnels : la compréhension, la facilité d’apprentissage, la satisfaction, le besoin de flexibilité et de personnalisation, la réactivité, l’amusement de l’utilisateur et l’évaluation subjective de la durée de la visite. Plusieurs questions liées à la RAS sont à aborder : – Quelle doit être la qualité du contenu sonore pour que les utilisateurs acceptent le casque de RAS pendant la durée de la visite ? – Est ce que le système de RAS fournit les mêmes repères spatiaux comme le fait la situation de l’audition normale ? La qualité sonore est un facteur très important dans l’acceptabilité d’un système de RAS. La qualité sonore devrait être assez bonne, pour que les gens puissent porter le casque de RAS pendant de longues périodes sans désagrément ni cacophonie. Ainsi, la représentation pseudoacoustique doit être aussi similaire à l’environnement sonore réel que possible. L’audition spatiale est un autre facteur qui joue un rôle important dans l’acceptabilité du système de RAS. Le système de la RAS doit fournir les mêmes repères spatiaux comme dans une situation d’audition normale. En outre, la portabilité du matériel RAS affecte la facilité d’utilisation. Un système RAS devrait exiger peu d’équipements supplémentaires, et doit être facile à porter. De nos jours, les gens deviennent plus tolérants pour se déplacer au quotidien avec des appareils électroniques, comme les téléphones cellulaires et les lecteurs MP3. Beaucoup d’entre eux sont également habitués à porter des écouteurs assez fréquemment. L’utilisabilité du système a une grande influence sur la compréhension de l’utilisation du système, la facilité d’apprentissage, la satisfaction, le besoin de flexibilité et de personnalisation. Nous proposons une évaluation empirique avec un protocole d’évaluation qui inclut principalement les méthodes quantitatives, basées notamment des questionnaires et des logs. Les méthodes d’évaluation utilisées, notamment le questionnaire et les logs, sont définies plus en détail dans les sections suivantes. Avant la phase d’évaluation, des tests pilotes ont été menés auprès des visiteurs du musée pour vérifier le bon fonctionnement du matériel et du logiciel à expérimenter.Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des communications 113 Notre processus d’évaluation comporte deux expériences dans deux salles diffé- rentes du musée, avec des objectifs et questions différents pour chaque expérience. Nous allons dans ce qui suit décrire chaque expérience, les hypothèses et les variables à vérifier, la procédure suivie et les résultats trouvés. 5.3 Expérience 1 : Étude comparative de deux dispositifs dans la salle des communications L’expérience 1 a pour objectif d’étudier l’utilisabilité de SARIM et son apport à la visite, en le comparant avec l’audioguide actuellement utilisé dans le musée. L’expérience s’est déroulée dans la salle des communications du musée. Le choix s’est porté sur cette salle, parce qu’elle est considérée comme représentative de ce musée. Elle contient des objets qui produisent des sons fonctionnels comme les imprimantes, les téléphones et les télévisions, et d’autres qui, en état de marche, produisent un bruit comme les imprimantes et les appareils photos. C’est une salle rectangulaire qui fait 35m*10m. Les objets qui y sont exposés sont de différentes tailles : les petits objets sont exposés dans des vitrines en verres situées sur les bordures de la salle, et les gros objets sont exposés par terre au centre de la salle. L’audioguide du musée des arts et métiers 1 se compose d’un boîtier bleu, qui comporte 10 boutons noirs chiffrés de 0 à 9, d’un bouton vert pour les fonctions ”mise en marche” et ”arrêt”, d’un bouton rouge pour la fonction ”pause”, de deux boutons noirs pour la lecture rapide et un bouton bleu de la fonction ”en savoir plus”. Le boîtier est équipé également d’un haut parleur permettant d’écouter les commentaires audio et d’une prise jack pour pouvoir utiliser ses propres écouteurs ou casque d’écoute. Il est muni également d’un cordon pour pouvoir l’accrocher autour du cou. Le baladeur est à porter à la main et l’écoute se fait en rapprochant le baladeur à son oreille (sauf si on possède des écouteurs qui ne sont pas fournis). Les objets du musée qui sont commentés, se trouvent munis d’étiquettes de couleurs avec un nombre écris par dessus. Ces couleurs désignent le parcours. En effet, trois parcours sont définis : un parcours pour les enfants, deux parcours pour les adultes et les adolescents qui sont : – Parcours d’1 h : découvrir les objets incontournables du musée en suivant les étiquettes rouges. – Parcours de 2 h 30 : s’initier à l’histoire des sciences et des techniques en suivant les étiquettes rouges et jaunes. – Parcours "Liberté" : découvrir un domaine entier du musée ou déambuler à sa guise en suivant les étiquettes rouges, jaunes et bleues. 1. http ://www.arts-et-metiers.net/musee.php ?P=229114 Chapitre 5. Evaluation de la visite augmentée Dans notre expérience, nous n’avons pas fait de parcours basés sur la couleur des étiquettes, nous avons expérimenté un seul parcours où le visiteur pouvait saisir le numéro correspondant à toutes les étiquettes associées aux objets de la salle des communications quelle que soit leur couleur. 5.3.1 Méthode 5.3.1.1 Tâche des participants La tâche des participants à cette expérience consiste à trouver les objets commentés ou/et sonorisés et les découvrir pendant une durée prédéterminée. Nous nous sommes servi des vignettes colorées associées aux objets du musée pour identifier les objets commentés. Les vignettes sont surtout indispensables pour l’utilisation de l’audioguide du musée, et le sont moins dans le cas où le participant expérimente SARIM. Ce dernier sera surtout guidé par le son qui émane de l’objet. Le participant doit visiter librement la salle et découvrir les informations associées aux objets exposés pour une durée dé- terminée à 10 minutes. Le participant n’est pas sensé connaître la durée de la visite à l’avance. Lorsque le temps imparti est écoulé, l’expérimentateur met fin à la visite, et invite le visiteur à répondre au questionnaire. 5.3.1.2 Contenu sonore Le son ambiant correspondant à un objet peut être : soit le son produit par cet objet (télévision, phonographe), soit le son de fonctionnement de cet objet (imprimante, appareil photo), soit le son de l’environnement ambiant de l’objet (applaudissements, cris), ou encore, le son d’ambiance correspondant à l’époque ou à l’environnement de cet objet. Les commentaires audio se constituent de descriptions vocales des artefacts. Elles sont racontées par les artefacts eux mêmes ou par leurs inventeurs ou encore, par leurs utilisateurs de l’époque qui expliquent leurs fonctionnements. Les commentaires audio peuvent se présenter aussi sous forme d’une narration, d’un témoignage ou d’un dialogue. Comme la plupart des objets exposés dans cette salle sont vieux et ne marchent plus, nous n’avons pas pu enregistrer les sons qu’ils produisaient en cas de fonctionnement. Par conséquent, des sons artificiels ont été créés. La création est effectuée soit à l’aide d’un mixage de plusieurs sons, soit en créant des sons similaires, ou des ambiances sonores qui donnent une idée sur l’objet. Pour cela, il a fallu trouver de la documentation sur les objets exposés pour savoir à quoi pourrait ressembler le son qu’ils produisent. Heureusement, le musée des arts et métiers est équipé d’un centre de documentation où nous avons pu trouver les informations nécessaires à la conception des sons. Le contenu sonore créé a bénéficié ensuite d’une phase de traitement des sons, qui est basée sur des sur-échantillonnages, des filtres passe-bas, des retardements des sons, etc.Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des communications 115 Tous les sons ambiants sont mis à niveau, ils durent 10 secondes et ils sont joués en boucle. Les commentaires audio utilisés dans SARIM sont ceux fournis avec l’audioguide du musée. Ce contenu a été crée par la société Sycomore. Le musée des arts et métiers, étant en possession des droits d’utilisation, nous l’a délivré pour faire nos expériences. En utilisant l’audioguide du musée, le visiteur peut écouter deux niveaux de commentaires audio : ceux accessibles en composant le numéro affiché sur l’étiquette posée sur l’objet et ceux accessibles en cliquant sur la touche ”en savoir plus” du boîtier de l’audioguide. Nous avons intégré tous les commentaires audio de l’audioguide qui correspondent aux objets sélectionnés dans notre parcours de visite. Tous les commentaires durent 1 min 30. Nous avons créé également un son ambiant correspondant à l’entrée de la salle et un commentaire d’introduction sur l’histoire de ce lieu. Au total, 11 objets de cette salle sont sonorisés, chaque objet est décrit par un son ambiant et un commentaire, soit un total de 24 contenus audio et 25 minutes 30 d’enregistrement. 5.3.1.3 Scène sonore L’expérimentation s’est déroulée dans la salle des communications du MAM. Dans cette salle (figure 5.1), le choix a été porté sur 10 objets exposés : la presse à bras , la machine à graver de Conté, le télégraphe électrique, le télégraphe aérien, la presse typographique de Marinoni, la machine à écrire de Remington, le fusil Phonographique, la chambre le touriste, la chambre de Daguerre, et le masque de squelettes. A chacun de ces objets nous avons associé deux ZA d’une forme sphérique, une ZA partagée et une ZA exclusive (figure 5.1). Les objets sont nécessairement contenus dans leurs propres ZA, mais n’étaient pas nécessairement positionnés au centre de ces dernières. En effet la position des ZA a été soigneusement choisie pour créer des zones partagées qui se croisent, et dans lesquelles le visiteur percevra plusieurs sons émanant de différents objets. Le diamètre de toutes les ZA exclusives était de 3 mètres, sauf pour la presse typographique de Marinoni qui était de 5 mètres. Quant aux ZA partagées, le diamètre variait entre 8 et 12 mètres.116 Chapitre 5. Evaluation de la visite augmentée FIGURE 5.1 – Interface de suivi des participants durant l’expérience 1.Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des communications 117 5.3.2 Protocole expérimental 5.3.2.1 Participants Dix huit volontaires non payés ont participé à cette expérience. Ils étaient 9 hommes et 9 femmes. Les participants sont âgés entre 25 et 73 ans avec une moyenne d’âge de 49 ans. Treize participants ont été recrutés sur invitation par mail et 5 participants ont été recrutés sur place parmi les visiteurs du musée. Les participants recrutés au préalable de l’expérience sont invités à passer une condition sur deux pour chaque expérience. Les participants qui sont recrutés sur place sont des visiteurs du musée que l’on a sollicité pour participer à l’expérience. La majorité des visiteurs abordés ont accepté de participer à l’expérience. La moitié des participants avaient déjà visité le musée, mais ils n’avaient pas utilisé auparavant l’audioguide proposé par ce dernier. Aucun des participants recrutés sur place n’avait visité auparavant la salle des communications et tous étaient francophones. 5.3.2.2 Déroulement Afin de participer à l’expérience, les participants sont invités à remplir un formulaire, disponible en annexe (A.3), où ils communiquent leurs nom et prénom, leur âge, leurs coordonnées (mail ou téléphone), et s’ils ont déjà visité le musée des arts et métiers ou non. Si oui, combien de fois ils l’avaient visité au cours des trois dernières années. Afin d’éviter les parasites et les variables secondaires, les participants qui avaient déjà utilisé l’audioguide du musée des Arts et Métiers ne sont pas sélectionnés pour passer l’expérience. Les participants qui ont visité le musée plus de 3 fois au cours des trois dernières années, ne sont également pas sélectionnés pour passer l’expérience. L’expérience se déroule en faisant passer un participant à la fois pour des raisons techniques liées au nombre de prototypes que nous possédions. En effet, nous possé- dons un seul capteur, et pour cela, un seul participant peut passer l’expérience à la fois. Ce qui a été très coûteux en termes de temps. Pour mener l’expérimentation, aucune suspension des visites dans cette salle n’a été exigée auprès des responsables du musée pendant la période de l’expérience. Il convient de noter tout de même qu’il n’y avait pas énormément de visiteurs présents au moment de notre expérience.118 Chapitre 5. Evaluation de la visite augmentée FIGURE 5.2 – Expérience 1 en situation 5.3.2.3 Les variables théoriques Nous rappelons qu’une variable indépendante (VI) est la variable que nous manipulons directement en tant qu’experimentateurs. Elle est appelée ainsi parce qu’elle est indépendante de ce que font les participants durant l’expérience, elle est prédéfinie par l’expérimentateur. La variable qui est observée afin de voir si des changements dans la variable indépendante ont un effet sur elle est appelée variable dépendante (VD). Elle est appelée ainsi, par ce que les changements dans celle-ci sont dépendantes des changements de la variable indépendante [Robson94]. Dans cette expérience, la variable indépendante est le dispositif utilisé. Dans la première condition expérimentale, le dispositif étudié est SARIM, dont nous étudions l’uti-Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des communications 119 lisabilité et l’apport. Dans la seconde condition expérimentale, le dispositif étudié est l’audioguide actuel proposé par le musée. Le but étant de comparer les deux dispositifs d’un point de vue ergonomique. Nous définissons les variables dépendantes suivantes : 1. L’utilisabilité du dispositif. 2. Le caractère informatif 3. Le caractère ludique. 4. La localisation des objets. 5.3.2.4 Plan expérimental et hypothèses opérationnelles La description du plan expérimental consiste à énoncer les VI et leurs modalités, tout en indiquant si elles correspondent à des groupes de participants appariés (plan croisé) ou indépendants (plan emboîté). En l’occurrence, notre expérience utilise des groupes indépendants, nous avons donc utilisé des plans expérimentaux emboîtés. Une hypothèse théorique prévoit une relation de type abstrait entre deux classes de faits, et une hypothèse opérationnelle signifie la traduction de l’hypothèse théorique dans un cas concret précis [Légal07]. Les hypothèses opérationnelles sont les traductions concrètes des hypothèses théoriques. Il s’agit d’essayer de prédire l’influence des VI sur les VD. Le tableau 5.2 présente les hypothèses théoriques et opérationnelles que nous avons formulées et le lien qui les réunit. 5.3.3 Résultats et analyse des données Dans cette section nous présentons les résultats trouvés qui répondent ou pas aux hypothèses formulées précédemment. Comme nous l’avons évoqué précédemment deux méthodes d’évaluation et de recueil de données ont été utilisées, la méthode des logs et le questionnaire . Nous commençons par présenter les résultats par la méthode des logs, et ensuite, nous présentons les réponses subjectives des participants recueillies à travers le questionnaire. 5.3.3.1 Le suivi avec la méthode des logs La méthode des logs fait partie des méthodes empiriques que nous avons utilisées dans notre expérience. Elle consiste à observer le comportement en situation d’utilisation du dispositif évalué. Dans notre expérience, nous avons utilisé cette méthode pour capter logiciellement, en temps réel et de manière non intrusive, quelques traces de la visite de chaque visiteur. En se basant sur ces logs, nous avons pu découvrir le nombre de ZA que le visiteur a traversé durant son parcours, ainsi que la durée passée dans chacune des ZA traversées.120 Chapitre 5. Evaluation de la visite augmentée Hypothèses Théoriques (HT) Hypothèses Opérationnelles (HO) SARIM sera plus utilisable que l’audioguide – La compréhension de l’utilisation du dispositif sera plus facile dans la condition expérimentale de SARIM – Les utilisateurs comprendront plus facilement comment utiliser SARIM. – Le nombre d’erreurs de manipulation sera plus important dans la condition expérimentale de SARIM – L’utilisation du dispositif sera perçue plus amusante dans la condition expérimentale de SARIM – SARIM sera perçu moins encombrant. – Le besoin de flexibilité ressenti sera moins important dans la condition expérimentale de SARIM – Le temps de latence entre l’input et le feedback sera moins important dans la condition expérimentale de SARIM. L’utilisation de SARIM facilitera la localisation et l’identification des artefacts commentés – La localisation des objets sera plus facile en utilisant SARIM. – Les sons de SARIM aideront les visiteurs à se localiser. SARIM renforcera l’aspect informatif de la visite – La durée d’observation des objets cibles sera plus importante dans la condition expérimentale de SARIM. – L’intérêt déclaré aux objets observés sera plus important dans la condition expérimentale de SARIM. – Le nombre d’objets visités sera plus important dans la condition expérimentale de SARIM. SARIM renforcera l’aspect ludique de la visite – L’amusement du visiteur sera plus important dans la condition expérimentale de SARIM. TABLE 5.2 – Corrélation entre les hypothèses théoriques et les hypothèses opérationnellesSection 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des communications 121 Nous constatons qu’avec SARIM, la durée moyenne passée dans les zones exclusives est égale à 7min15 17sec , avec un intervalle de confiance (IC 95%). Dans le cas de l’audioguide classique du MAM, cette durée n’a pas dépassé 5min32 40sec (figure 5.3). Nous pouvons déduire que le visiteur passe plus du temps à écouter le contenu sonore avec SARIM qu’avec l’audioguide. En effet, dans le cas de l’audioguide, le son n’est déclenché qu’à partir du moment où le visiteur arrive à lire le numéro marqué sur la petite vignette posée sur l’objet. En général les visiteurs, n’arrivent à lire ce numéro qu’en étant très proches de l’objet et donc dans son périmètre de ZA exclusive. Nous constatons aussi que la durée moyenne passée dans les zones partagée avec SARIM est égale à 2min33 15sec, avec un intervalle de confiance (IC 95%). Dans le cas de l’audioguide classique du MAM, cette durée est égale à 4min8 38sec (figure 5.4). Ce constat peut être interprété par le fait que le SARIM arrive à attirer les visiteurs à se rapprocher des objets et passer plus de temps à écouter leurs descriptions. Ce qui contribue à leur donner plus d’informations sur les objets exposés et leur permet de visualiser l’objet de plus prêt et d’apercevoir ainsi plus ses détails. Concernant le nombre d’objets visités, nous ne trouvons pas de différences signifi- catives entre les deux dispositifs. En effet, la moyenne du nombre de zones visitées en utilisant SARIM est 5, 8 1, 4 contre 4, 8 0, 7 pour l’audioguide. Cela est dû probablement au scénario de la visite. En revanche, nous pouvons déduire que la simulation de la localisation n’a pas entravé le bon déroulement de l’expérience. Analyse des données Pour chacune des deux systèmes ; Audioguide et SARIM, nous avons effectué trois mesures pour chaque participants : le temps total passé en zones exclusives, le temps total passé en zones partagées et le nombre d’objets visités. Pour mesurer la pertinence de nos résultats, nous avons effectué des analyses de variances (ANOVA) pour chacune des deux systèmes. En comparant le temps total passé en zones exclusives entre les deux systèmes, nous remarquons une différence significative entre les deux systèmes (F=5,090, P=0,041). De même, la comparaison du temps total passé en zones partagées, nous remarquons une différence significative (F=4,762, P=0,048). Par contre, la différence n’est pas significative entre le nombre d’objets visités dans les deux systèmes (F=1,475, P=0,246). Ensuite, nous avons voulu vérifier l’influence sur les résultats des tests effectués, de l’âge des participants et de leurs genres. Pour l’âge, nous avons répartis les participants dans chacun des systèmes en deux groupes : âgés de plus de 30ans et âgés de moins de à 30ans. Pour l’audioguide, la différence entre les deux groupes était significative pour le temps passée en zones exclusives (F=11,494, P=0,014), mais également en zones partagées (F=10,852, P=0,016). Ceci peut soit présager une réelle différence de comportement entre les deux groupes d’âge, soit être causé uniquement par le faites que les deux groupes ne sont pas équilibrés en nombres de participants. En effet le groupe des moins de 30ans et le tiers du122 Chapitre 5. Evaluation de la visite augmentée groupe des plus de 30ans. Pour le nombre d’objet, la différence entre les groupes d’âge n’est pas significative (F=0,036, P=0,854). Pour SARIM, par contre, les différences entre les deux groupes d’âge ne sont pas significatives que ça soit pour le temps passé en zones exclusives (F=1,737, P=0,244), ni pour le temps passé en zones partagés (F=2,360, P=0,185), ni pour le nombre d’objets visités (F=2,184, P=0,199). Pour le genre, nous avons répartis les participants dans chacun des systèmes en deux groupes : hommes et femmes. Pour l’audioguide, la différence entre les deux groupes était non significative que ça soit pour le temps passés en zones exclusives (F=0,003, P=0,955), pour le temps passés en zones partagés (F=0,013, P=0,911), ou pour le nombre d’objet (F=4,668, P=0,074). Pour SARIM, le même constat est fait, puisque la différence entre les deux groupes était non significative que ça soit pour le temps passés en zones exclusives (F=4,437, P=0,089), pour le temps passés en zones partagés (F=4,794, P=0,080), ou pour le nombre d’objet (F=4,263, P=0,093). FIGURE 5.3 – Temps passé dans les zones exclusives pour les deux dispositifs (IC95%).Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des communications 123 FIGURE 5.4 – Temps passé dans les zones partagées pour les deux dispositifs (IC95%) 5.3.3.2 Les données descriptives du questionnaire Les questionnaires et entretiens permettent le recueil de données subjectives relatives aux attitudes, aux opinions des utilisateurs, et à leur satisfaction [Scapin97]. Le questionnaire constitue la deuxième méthode empirique d’évaluation que nous avons utilisée dans cette expérience. Le questionnaire est important pour récolter les données descriptives. Il n’est pas coûteux à mettre en place et permet de donner une vue géné- rale sur les résultats, mais manque cependant de profondeur. C’est pour cette raison que dans notre expérience nous ne nous basons pas uniquement sur cette méthode, mais nous utilisons aussi la méthode des logs. Après avoir passé l’expérience, les participants sont invités à répondre à un questionnaire, disponible en annexe (A.4.1), composé de 25 questions. La plupart des questions sont fermées, où le participant doit choisir entre quatre possibilités de réponse. D’autres questions sont ouvertes. Elles permettent aux participants de s’exprimer librement sur le dispositif évalué. Le questionnaire comporte aussi des questions conditionnelles, des questions dichotomiques dont la réponse est oui ou non, ainsi que des questions directes. Tous les participants doivent répondre aux mêmes questions dans le même ordre et posées par la même personne. Tous les participants répondent au questionnaire immédiatement après l’expérience pour que tous les participants soient dans le même état d’esprit. L’expérimentateur n’est en mesure de répondre aux questions des participants qu’une fois que ces derniers ont répondu au questionnaire. Pour les questions fermées, nous avons choisi d’utiliser l’échelle de Likert à 4 points (choix), et non pas celle à 5 points. En effet, cette dernière contient une réponse neutre qui peut créer une confusion entre les réponses ” je suis neutre” et ”je n’ai pas d’opinion” [Albaum97]. Notre échelle comporte les réponses suivantes : ”Pas du tout d’accord”, ”Pas d’accord”, ”Plutôt d’accord”, ”Tout à fait d’accord”. Nous avons utilisé aussi l’échelle de Likert à 3 points, pour répondre à certaines questions, et donc les ré-124 Chapitre 5. Evaluation de la visite augmentée ponses sont de l’ordre de ”Pas du tout”, ”Je pense que oui”, et ”Absolument”. Avant de choisir les questions qui doivent figurer dans le questionnaire, nous avons défini une série de 25 questions (tableau 5.4)qui nous permettrons de répondre à nos VDT. L’utilisabilité de SARIM Nous avons évalué l’utilisabilité des deux dispositifs en termes de compréhension, de facilité d’apprentissage et d’utilisation, de satisfaction et de réactivité. En termes de compréhension, 77% des participants ont réussi à comprendre l’utilisation des deux dispositifs avec un avantage pour SARIM. En effet, 23% des participants ont été tout à fait d’accord que le fonctionnement de SARIM est compréhensible. En termes de satisfaction, l’avantage est très marqué pour SARIM. En effet, alors que 15% des participants ont été insatisfaits de l’audioguide, ils n’étaient que 4% pour SARIM. De plus, 65% sont très satisfaits de SARIM contre 20% pour l’audioguide, et 4% des participants ont ré- pondu qu’ils ne sont pas du tout satisfaits de l’audioguide contre 0% pour SARIM. La réactivité est également un grand avantage pour SARIM. En effet, la totalité des participants ont trouvé que SARIM est réactif, contre uniquement 56% pour l’audioguide. De plus, 22% répondent que l’audioguide n’est pas du tout réactif. De la même manière, la totalité des participants ont jugé SARIM facile à apprendre. Parmi eux, 63% ont même été tout à fait d’accord pour l’affirmer. Dans le cas de l’audioguide, 26% des participants ne l’ont pas trouvé facile à apprendre. En additionnant ces 4 critères d’utilisabilité des deux dispositifs, nous remarquons que SARIM est jugé plus utilisable que l’audioguide du musée (figure 5.5). FIGURE 5.5 – Résultats du questionnaire sur l’utilisabilite des deux dispositifs, SARIM et l’audioguide du musée Le caractère ludique de SARIM Tous les participants qui ont testé SARIM l’ont trouvé amusant. 44% des participants l’ont même trouvé très amusant. Pour l’audioguide, les réponses étaient miti-Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des communications 125 gées. Alors que 55% des participants ne l’ont pas trouvé amusant, 11% l’ont trouvé très amusant. Le caractère informatif de SARIM Nous entendons par caractère informatif, l’apport informatif que procure le dispositif sur les artefacts observés, ainsi que l’intérêt porté envers ces artefacts. L’objectif est ainsi de comparer la quantité d’informations apportée par SARIM et l’audioguide du musée, puis d’évaluer l’intérêt que procure chacun des dispositifs aux artefacts sonorisés. Cette VD est déjà évaluée dans la méthode des logs. L’objectif de poser des questions sur cette variable dépendante dans le questionnaire, est de valider (ou pas) les résultats des logs. Le nombre de participants ayant trouvé SARIM plus informatif est légèrement plus élevé que celui de l’audioguide. Ils étaient 88% dans le cas de SARIM et 83% dans le cas de l’audioguide. Par contre, 11% des participants ayant testé l’audioguide ne l’ont trouvé pas du tout informatif, alors qu’ils étaient 0% dans le cas de SARIM. Ce qui donne un léger avantage à ce dernier. La localisation des objets du musée par SARIM L’objectif ici est de mesurer la capacité des participants à localiser les objets plus ou moins facilement dans les deux conditions. La totalité des participants ayant testé SARIM ont réussi à localiser les objets facilement. 66% d’entre eux ont même trouvé cela très facile. Dans le cas de l’audioguide, 22% n’ont pas réussi à trouver les objets sonorisés facilement. 11% ont même trouvé cela très difficile. Et, ils étaient 33% à estimer que c’était très facile de localiser les objets. Par ailleurs, la question Q21 (tableau 5.4) a été posée uniquement aux participants qui ont expérimenté SARIM. Elle a pour objectif de mesurer l’impact des sons ambiants spatialisés sur la facilité de la localisation des artefacts. Tous ont trouvé que ce type de contenu sonore les a aidé à localiser les artefacts. Ils étaient 89% à être tout à fait d’accord. 5.3.4 Discussion Dans cette expérience, nous avons voulu évaluer SARIM en le comparant avec l’audioguide du musée. L’évaluation avait pour objectif de vérifier l’utilisabilité des deux dispositifs, leur apport sur le plan informatif et ludique ainsi que sur la facilité de localisation des artefacts commentés. Au niveau de l’utilisabilité, nous avons déduit à partir des réponses du questionnaire que les deux dispositifs sont utilisables avec un avantage pour SARIM sur l’audioguide du musée. Durant la séance du questionnaire, quelques participants ont exprimé leurs avis par rapport à l’utilisabilité de SARIM : ’”C est pratique d avoir les mains libres”. D’autres ont formulé des remarques, comme une participante qui a trouvé que le ni-126 Chapitre 5. Evaluation de la visite augmentée veau de son n’était pas le même pour tous les artefacts ”Pour certaines machines le son est moins fort que pour d autres”, ou encore des remarques sur le parcours ”Plus de zones d intersection serait intéressant”. Quelques participants qui ont testé l’audioguide du musée se sont exprimés sur leur expérience, en le comparant avec la visite classique sans l’audioguide. Un participant a dit : ”Ca donne plus de liberté qu une visite classique de choisir ce qu on veut vraiment voir”. Ils ont également exprimé leurs remarques sur l’audioguide, un participant a dit : ”J avais testé l audioguide géolocalisé du Louvre la semaine précédente. Je suis mécontent. Je n ai pas aimé la forme des commentaires” . Un autre participant a dit : ”C est plus intéressant avec les images projetées sur la borne vidéo”, ou encore sur le contenu ”Les commentaires sont longs ”, et aussi sur la compréhension du fonctionnement de l’audioguide, un participant a dit ”Je n ai pas compris le code de couleurs” et un autre a dit : ”Le bouton bleu ne fonctionnait pas”. En ce qui concerne la facilité de localisation, les résultats du suivi avec les logs ont été consolidés par le questionnaire pour déduire que l’utilisation de SARIM facilite la navigation dans le musée et facilite la localisation des artefacts commentés. Les participants ayant testés SARIM ont été séduits par la manière de navigation qu’il procure. Une participante a dit : ”C est le son qui oriente la visite, et non pas l inverse !”, une autre évoque la navigation en disant : ”Ne pas avoir à taper les numéros des objets est une bonne idée. La visite nous dirige !”. Les résultats prouvent également, que cette manière de navigation a nettement facilité la localisation des artefacts commentés. En effet, l’utilisateur trouve plus rapidement les artefacts commentés vu qu’il est guidé et orienté par les sons. Ce qui n’est pas le cas avec l’audioguide. De là, nous pouvons valider les hypothèses théoriques que nous avons énoncé. Notamment, que l’utilisation de SARIM facilite la localisation et l’identification des artefacts commentés. Concernant l’aspect informatif, les résultats obtenus par la méthode des logs dé- montrent que les participants manifestent plus d’intérêts et passent plus de temps devant les artefacts commentés en utilisant SARIM. Les résultats montrent également que les participants visitent plus de zones en utilisant SARIM qu’en utilisant l’audioguide. Étant donné que chaque zone porte une information sonore particulière, nous déduisons que les participants qui ont utilisé SARIM ont eu accès à plus d’informations. Ces résultats ont été confirmés par les réponses des participants à travers le questionnaire. En effet les participants manifestent plus d’intérêts envers les artefacts observés dans la condition du SARIM. Ils manifestent également plus d’implication en écoutant plus attentivement les commentaires audio en utilisant SARIM. Ce qui nous permet de valider les hypothèses théoriques et opérationnelles liées à l’apport informatif du SARIM. Et enfin, concernent l’aspect ludique, les résultats du questionnaire ont démontré que les participants ont trouvé SARIM nettement plus amusant que l’audioguide. Et par conséquent, l’hypothèse théorique liée à l’aspect ludique de SARIM peut être validée.Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des communications 127 Numéro de la question Question Q1 Êtes-vous habituellement intéressé(e) par ce genre d’exposition ? Q2 La visite vous a-t-elle paru intéressante ? Q3 D’après vous, combien de temps a-t-elle duré ? Q4 La visite vous a-t-elle paru amusante ? Q5 Dans l’ensemble, les objets que vous avez observés vous ont semblé intéressants ? Q6 D’après vous, quel a été l’impact de la presse rotative située au centre de la salle dans l’histoire de l’imprimerie ? Q7 Vous êtes vous senti(e) projeté(e) dans les époques correspondant aux objets que vous avez observés ? Q8 Vous êtes-vous senti(e) à l’aise avec l’utilisation du dispositif ? Q9 Comment avez-vous trouvé la réactivité du système ? Q10 A quelle vitesse pensez-vous que la plupart des gens apprennent à utiliser ce système ? Q11 Personnellement, avez-vous trouvé le dispositif facile à utilisé ? Q12 Avez-vous compris comment écouter les commentaires audio liées aux objets observés ? Q13 Si oui, comment ? Q14 Vous est-il arrivé de faire des erreurs de manipulation du dispositif durant la visite ? Q15 Si oui, vous avez pu corriger vos actions ? Q16 Vous est-il arrivé de déclencher des sons que vous ne vouliez pas écouter ? Q17 Si oui, vous avez pu corriger vos actions ? Q18 Ces erreurs de manipulation vous ont-elles aidé(e) à mieux comprendre le fonctionnement du dispositif ? Q19 Dans l’ensemble, vous avez vous compris comment utiliser le dispositif ? Q20 Vous avez réussi à localiser les objets à observer ? Q21 Les sons du casque vous-ont-ils aidé(e) à trouver les objets à observer ? Q22 Dans l’ensemble, Vous avez trouvé le dispositif ? Q23 Durant la visite, avez-vous ressenti le besoin de pouvoir contrôler le dispositif autrement que par vos déplacements ? Pourquoi et comment ? Q24 D’une manière générale, êtes vous satisfait(e) du dispositif ? Q25 Si un tel système se généralisait, aimeriez-vous pouvoir l’utiliser à nouveau lors de vos futures visites de musées ? TABLE 5.4 – Les Questions du questionnaire de la première expérience128 Chapitre 5. Evaluation de la visite augmentée FIGURE 5.6 – Résultats du questionnaire pour les deux conditions : l’audioguide (en haut) et SARIM (en bas)Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la salle des automates 129 5.4 Expérience 2 : Étude de deux configurations de scènes sonores dans la salle des automates Cette expérience vise à étudier l’impact de deux configurations de zones d’audibilité (ZA) dans la scène sonore en utilisant SARIM. La première condition expérimentale est celle des zones croisées, où le visiteur se situe dans l’intersection de toutes les ZAs. Il est donc invité à écouter les sons correspondants à toutes les zones qui se croisent. Si un son retient son attention, il n’a qu’à fixer l’artefact qui le produit pendant quelques secondes pour que tous les autres sons s’arrêtent s’il manifeste plus d’intérêt pour cet artefact, une bande sonore correspondant à la description vocale de cette artefact lui sera envoyée. Dans la deuxième condition, les zones sont disjointes. Le visiteur se trouve à l’extérieur de toutes ses zones. Il ne pourra entendre qu’un seul son à la fois. Pour ce faire, il est invité à fixer chaque objet quelques secondes pour déclencher le son associé. En s’attardant plus sur le même objet, le contenu audio de sa description lui sera transmis. Les artefacts qui sont exposés dans cette salle sont des automates à musique. Le visiteur ne devant avoir aucune idée préalable du nombre, de la forme ou du nom des automates sonorisés parmi ceux exposés dans cette salle, il aura pour tâche de désigner les automates qui émettent de la musique, de les localiser, et d’écouter les descriptions vocales associées. Les musiques sont envoyées au visiteur d’une manière spatialisée pour l’aider à les localiser, et pour qu’il soit immergé dans l’environnement de cette salle. La salle des automates étant relativement petite, nous n’avons pas eu le besoin de capter la position du visiteur. Les automates sont également disposés d’une manière circulaire. Pour cela, nous avons positionné le visiteur au centre de la salle afin qu’il puisse percevoir tous les automates simplement en tournant sa tête. Le choix a été porté sur cette salle pour plusieurs raisons : – Les sources sonores sont proches géographiquement. – Les automates produisent de la musique. – Les sons produits par les automates sont similaires. – Les sons produits par les automates ne sont pas connus d’avance par les visiteurs. 5.4.1 Méthode Le matériel utilisé est identique à celui de la première expérience (voir image 3.9). Le participant est assis sur les escaliers au centre de la salle, et navigue dans la salle en tournant la tête sur le plan horizontal. L’ordinateur qui servait pour appliquer la technique du magicien d’Oz dans la première expérience est utilisé par l’expérimentateur pour s’assurer du bon déroulement de l’expérience. En effet, un programme a été développé pour simuler la navigation du participant dans la salle. Un avatar représentant le participant change de direction si le participant tourne sa tête.130 Chapitre 5. Evaluation de la visite augmentée Tâche La tâche consiste à trouver les objets correspondant aux musiques écoutées et à les observer pendant une durée prédéterminée. Le participant va entendre des musiques provenant de certains des automates exposés. S’il repère un objet qui l’intéresse, il suf- fira d’orienter sa tête dans sa direction et de le fixer quelques secondes pour écouter le son qu’il émet. Après avoir écouté le morceau de musique d’un automate, il pourrait écouter le commentaire audio qui lui est relatif, s’il continue de regarder dans sa direction. Cependant, s’il en a envie, il peut à tout moment passer à l’observation d’un autre objet en tournant la tête vers celui-ci. Le participant est libre d’explorer la scène comme il le voudra. Au bout de cinq minutes l’expérience s’arrête, pour lui poser des questions sur ce qu’il vient de vivre. Les consignes données aux participants en amont de leurs visite sont disponibles en annexe (A.2). Contenu sonore Les contenus sonores utilisés dans cette expérience sont de deux types : la musique des automates et les commentaires. Les musiques des automates nous ont été transmises par le service communication du musée des arts et métiers. Ces musiques ont été enregistrées par des professionnels en faisant marcher les automates. Il s’agit de 5 enregistrements musicaux correspondants aux cinq automates exposés dans cette salle. Les commentaires audio, ont été préparés et enregistrés par l’expérimentateur en se basant sur les informations fournies par le centre de documentation du musée des arts et métiers. Scène sonore L’expérimentation s’est déroulée dans la salle des automates. Le choix s’est porté sur 4 automates musicaux dont nous possédons les musiques : la joueuse de Tympanon , la boîte à musique, l horloge avec tympanon, et l horloge hollandaise. Dans cette expérience, nous nous intéressons à l’orientation du visiteur envers ces objets. Nous distinguons deux situations : la première est "En focus de l’automate X", qui signifie que le lacet de X par rapport à l’axe de vue du visiteur est inférieur à un seuil θ choisi par le concepteur. On dit dans ce cas que le visiteur est dans la zone de l’automate X. La deuxième situation est "hors focus" dans laquelle le visiteur n’est orienté vers aucun des automates sonorisés. On dit dans ce cas le visiteur est à l’extérieur de toutes les zones. Nous avons choisi pour cette expérience θ = π/9. Deux configurations de sonorisation sont alors comparées. La première est celle appelée "Intersection". Elle stipule qu’en situation de "hors focus", l’utilisateur écoutera un mixage de tous les sons émanant des différents objets sonores, et qu’en situation de "En focus de l’automate X", le visiteur écoutera au début un mixage de tous les sons. Il écoutera après un seuil de temps T1 exclusivement le son ambiant lié à l’automate X, avant d’écouter en-Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la salle des automates 131 suite après un seuil de temps T2 le commentaire de description de cet automate X. La deuxième configuration est celle appelée "indépendance". Elle stipule qu’en situation de "hors focus", le visiteur ne percevra aucun contenu audio. C’est seulement quand il sera "En focus d’un automate X" qu’il percevra le ambiant, puis après un seuil de temps T2 il percevra le commentaire de description de cet automate X. Les seuils de temps T1 et T2 ont été fixés à 4 secondes chacun. 5.4.2 Protocole expérimental 5.4.3 Participants Quatorze sujets non rémunérés ont participé à cette expérience. Ils étaient 8 hommes et 6 femmes. Les participants sont âgés entre 25 et 63 ans avec une moyenne d’âge de 44 ans. Dix participants ont été recrutés sur invitation par mail, et 4 participants ont été recrutés sur place parmi les visiteurs du musée. Les participants recrutés au préalable de l’expérience sont invités à passer une condition sur deux pour chaque expérience. Dix participants sur quatorze ont déjà visité le musée, mais ils n’ont jamais utilisé l’audioguide proposé par le musée. Tous les participants qui sont recrutés sur place n’avaient pas encore visité la salle des automates, n’utilisent pas l’audioguide du musée, et sont des visiteurs francophones. 5.4.3.1 Déroulement Comme dans la première expérience, avant de participer à l’expérience, les participants doivent répondre au formulaire de recrutement, disponible en annexe (A.3). Après avoir passé l’expérience, les participants sont invités à répondre à un questionnaire (voir annexe (A.4.2)), composé de 18 questions. Le questionnaire comporte des questions et des choix de réponses utilisant l’échelle de Likert en 4 points. Par crainte de perturbation de l’expérimentation, les visites ont été suspendues dans la salle des automates pendant l’expérience. L’expérience dure cinq minutes, suivies de cinq minutes pour répondre au questionnaire. 5.4.3.2 Variables et hypothèses Dans cette expérience, la variable théorique indépendante est la disposition des zones d’audibilité (ZA), ou l’intersection des zones d’audibilités (ZA) dans la scène sonore. Nous allons étudier l’utilisabilité et l’apport de chaque configuration de ZA. Dans la première condition de cette expérience toutes les ZA se croisent, et dans la deuxième condition les ZA sont toutes disjointes. Le but étant de comparer SARIM dans les deux conditions d’un point de vue ergonomique. Les variables théoriques dépendantes de cette expérience sont :132 Chapitre 5. Evaluation de la visite augmentée 1. L’utilisabilité de SARIM dans cette salle. 2. Le caractère informatif. 3. Le caractère ludique. 4. La localisation des objets. Comme dans la première expérience, cette expérience utilise des groupes indépendants de participants, et des plans expérimentaux emboîtes. Le tableau 5.6 présente les hypothèses théoriques et opérationnelles que nous avons définies pour cette expé- rience. FIGURE 5.7 – Expérience 2 en situationSection 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la salle des automates 133 Hypothèses Théoriques Hypothèses Opérationnelles SARIM sera plus utilisable si les ZA se croisent – L’utilisation de SARIM sera plus facile à comprendre si les ZA se croisent – Le nombre d’erreurs de manipulation est moins important si les ZA se croisent – L’utilisation de SARIM paraîtra plus facile si les ZA se croisent – L’utilisation de SARIM paraîtra plus amusante si les ZA se croisent – L’utilisation de SARIM paraîtra moins encombrante si les ZA se croisent. – Le visiteur ressentira moins le besoin de flexibilité si les ZA se croisent – Le visiteur trouvera SARIM plus réactif si les ZA se croisent. L’intersection des zones permettra de rendre la visite plus instructive – La durée d’observation des objets cibles sera plus importante si les ZA se croisent. – L’intérêt déclaré aux objets observés sera plus important si les ZA se croisent. – Le nombre d’objets visités sera plus important si les ZA se croisent. L’intersection des zones permettra de rendre la visite plus amusante L’amusement du visiteur sera plus important si les ZA sont croisées. L’intersection des ZA facilitera la localisation et l’identification des objets visités – Les sons joués simultanément lorsque les ZA se croisent aideront les visiteurs à se localiser – Les visiteurs arriveront plus facilement à localiser les objets sonorisés si les ZA se croisent. TABLE 5.6 – Corrélation entre les hypothèses théoriques et les hypothèses opérationnelles134 Chapitre 5. Evaluation de la visite augmentée 5.4.4 Résultats et analyse de données 5.4.4.1 Résultats des logs Dans cette expérience, nous traçons le focus du visiteur pour voir s’il est dans la zone de chaque automate ou s’il est hors zone, ça veut dire qu’il n’est dans la zone d’aucun automate. Les intervalles de confiance affichés sur les figures sont calculés pour un degré de confiance de 95%. Nous calculons le moment où le visiteur est orienté vers un objet (en focus) et le moment où il n’est orienté vers aucun objet (hors focus). La durée moyenne passée hors focus pour les deux conditions expérimentales, montre que les participants passent 2min5s , 16s hors focus dans le cas des zones croisées et seulement 32s 16s dans le cas des zones indépendantes. Cela peut être interprété par une difficulté constatée chez les participants à localiser les œuvres sous cette condition. Dans le cas des zones indépendantes, les participants passent beaucoup plus de temps en focus. Cela signifie qu’ils trouvent plus facilement les automates qui produisent de la musique, et passent plus de temps à les écouter. Le calcul de la durée moyenne passée en focus montre que les participants passent 4min28s 8s dans la condition des zones indépendantes et 2min55s 8s dans la condition des zones croisées. Le fait de passer plus de temps à observer les objets peut être interprété par, premièrement, l’intérêt que portent les participants envers les automates observés dans la condition des zones indépendantes, et deuxièmement, cela confirme le résultat précédent sur la difficulté de localiser les automates dans la condition des zones croisées. Les participants en condition de zones croisées passent moins de temps à observer les automates qu’ils doivent chercher. FIGURE 5.8 – Durée de visite quand le visiteur n’est orienté vers aucun objet (hors focus)Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la salle des automates 135 FIGURE 5.9 – Durée de visite quand le visiteur est orienté vers un objet (en focus) Analyse de données Pour chacune des deux conditions : intersection et indépendance, nous avons effectué deux mesures : le temps total passé hors focus et le temps passé en focus. Dans un premier temps nous avons vérifié l’influence sur les résultats des tests effectués dans la salle des automates de l’âge des participants, de leurs genres, et du fait que certains participants avaient auparavant expérimenté le système dans la salle des communications. Nous avons ainsi effectué des analyses de variances (ANOVA) pour chacune des deux conditions indépendance et intersection. Pour l’âge, nous avons répartis les participants dans chacune des conditions en deux groupes : supérieur à 30ans et inférieur à 30ans. Dans la condition d’indépendance, aucune différence significative n’a été détectée entre les deux groupes d’âge, ni pour le temps en focus (f=0,151, p=0,713), ni pour le temps hors focus (f=0,151, p=0,713). Le même constat est fait pour la condition d’intersection ; (f=0,793, p=0,413) pour le temps en focus, (f=1,147, p=0,332) pour le temps hors focus. Pour le genre, nous avons répartis les participants dans chacune des conditions en deux groupes : femmes et hommes. Dans la condition d’indépendance, aucune diffé- rence significative n’a été détectée entre les femmes et les hommes, ni pour le temps en focus (f=1,567, p=0,265), ni pour le temps hors focus (f=1,567, p=0,265). Le même constat est fait pour la condition d’intersection ; (f=0,174, p=0,693) pour le temps en focus, (f=0,072, p=0,798) pour le temps hors focus. Pour l’impact de l’utilisation du système SARIM dans la salle des communications, nous avons répartis les participants dans chacune des conditions en deux groupes : les participants ayant utilisé auparavant SARIM, et ceux ne l’ayant pas utilisé auparavant. Dans la condition d’indépendance, aucune différence significative n’a été détectée entre les femmes et les hommes, ni pour le temps en focus (f=0,057, p=0,820), ni pour le temps hors focus (f=0,057, p=0,820). Le même constat est fait pour la condition d’intersection ; (f=0,002, p=0,964) pour le temps en focus, (f=0,021, p=0,888) pour le temps hors focus.136 Chapitre 5. Evaluation de la visite augmentée Après avoir vérifié que l’influence des trois facteurs précédents et non significatif sur les mesures, nous avons comparé les deux conditions l’une à l’autre. Ainsi, en comparant la durée d’écoute en focus entre les deux conditions indépendance et intersection, nous remarquons une différence significatif : (f=244,781, p=2,398E-09). De la même manière, la différence est significative entre les deux conditions pour la durée hors focus (f=239,899, p=2,692E-09). 5.4.4.2 Résultats du questionnaire Le dépouillement du questionnaire pour les deux conditions expérimentales est donné par les diagrammes de la figure 5.11. L’utilisabilité de l’intersection des zones Nous avons évalué l’utilisabilité des deux configurations de zones d’audibilité, en termes de compréhension, de facilité d’apprentissage et d’utilisation, de satisfaction, de réactivité et du besoin de flexibilité et de personnalisation. En termes de compréhension, nous considérons que les résultats ont été parasités par l’expérience précédente, donc nous n’allons pas les prendre en compte. En effet, la majorité (11) des participants recrutés commencent par passer la première expérience et 4 parmi eux ont déjà utilisé SARIM dans la salle des communications. En terme de facilité d’apprentissage, la totalité des visiteurs ayant testé SARIM dans la condition de ZA indépendantes ont trouvé le système facile à apprendre (28% très facile, 72% facile). Alors que 14% de ceux ayant testés SARIM dans la condition de ZA croisées l’ont trouvé difficile à apprendre. Le reste des participants en condition de ZA croisées étaient partagés entre très facile (57%) et facile (14%). Par ailleurs, 57% des participants à la condition de ZA croisées disent qu’il leur est arrivé de déclencher des sons qu’ils ne voulaient pas écouter (Q12), alors que personne n’a déclaré cela dans la condition d’indépendance de ZA. On en déduit que l’utilisation de SARIM dans la condition de l’indépendance des zones est plus facile que dans la condition de ZA croisées. En terme de satisfaction, alors que tous les participants à la condition d’indépendance ont trouvé l’expérience intéressante (72%) ou très intéressante (28%), 14% des participants à la condition d’intersection l’ont trouvée moyennement intéressante. En outre, la totalité des participants à la condition d’indépendance ont déclaré être très à l’aise (57%) ou à l’aise (43%) dans l’utilisation du système, contre 14% des participants à la condition d’intersection. Toujours en terme de satisfaction, 72% des participants à la condition d’indépendance trouvent SARIM plutôt pratique dans la condition d’indépendance, et aucun participant dans cette condition ne trouve le système moins pratique, alors qu’ils sont 28% des participants à trouver le système plutôt encombrant dans la condition d’intersection. Finalement, 72% des participants à la condition d’in-Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la salle des automates 137 dépendance aimeraient beaucoup utiliser un tel système dans leurs prochaines visites dans un musée, et 28% aimeraient assez l’utiliser dans le futur, alors qu’ils n’étaient que 43% dans la condition d’intersection à être très motivés contre 28% qui étaient assez motivés. 14% des participants dans la condition d’intersection se sont déclarés neutres par rapport à cette question. En combinant les résultats des réponses liées à la satisfaction, nous trouvons que 33% des participants des deux conditions se disent très satisfaits du dispositif. Mais on décèle une préférence pour la condition d’indépendance puisque aucun des participants ne s’est déclaré insatisfait dans cette condition, alors qu’ils étaient 14% dans la condition d’intersection. Pour la réactivité de SARIM dans les deux conditions expérimentales : 100% des participants aux deux conditions trouvent que le dispositif est très réactif. Besoin de Flexibilité et de personnalisation En ce qui concerne le besoin de flexibilité et de personnalisation, 57% des participants qui ont testé SARIM en condition d’intersection des zones ont eu le besoin de le personnaliser contre 72% dans la condition de l’indépendance des zones. Ceux qui ont eu ce besoin de contrôler le dispositif autrement ont exprimé leur besoin en terme de navigation entre les types de son, le réglage du volume, l’arrêt du son. Parmi les ré- ponses des participants à la condition de l’intersection des zones, nous trouvons : ”oui. Pour arrêter la cacophonie, c est stressant , ”en appuyant sur une touche sur le casque”, ”oui. Pouvoir écouter les sons en se déplaçant dans la salle”, ”oui. Pour déclencher le commentaire avant la n de la musique”, ”avec un boîtier de commande”. Les participants de la condition indépendance se sont exprimés en disant : ”oui. Pour mettre en pause. Mais j ai compris plus tard comment faire”, ”oui. Pour augmenter le volume”, ”oui. Pour le volume. En touchant au casque”, ”oui. Pour couper la musique et passer directement aux commentaires. Avec un bouton sur le casque” A partir des réponses exprimées par les participants dans les deux conditions, nous concluons que 12% des participants à la condition de l’intersection des zones trouvent que SARIM dans cette condition n’est pas très utilisable (Figure 5.10). Alors que la totalité des participants de la condition d’indépendance trouve le système utilisable ou plutôt utilisable. Ce qui montre une préférence pour la condition de l’indé- pendance en termes d’utilisabilité. Nous pouvons déduire, alors, que SARIM est plus utilisable dans la condition des zones indépendantes (figure 5.10).138 Chapitre 5. Evaluation de la visite augmentée FIGURE 5.10 – L’utilisabilité de SARIM dans les deux conditions expérimentales L’apport ludique de la disposition des zones 14 % des participants à la condition de l’intersection des zones trouvent que l’expérience n’est pas du tout amusante, un jugement qui n’a pas été approuvé par les participants à la condition des zones indépendantes(0%). 14 % des participants dans les deux conditions trouvent que l’expérience veçue n’est pas très amusante. 43% des participants à la condition de l’intersection des zones trouvent que l’expérience est plutôt amusante, contre 86% chez les participants de la condition de l’indépendance des zones. 28% des participants à la condition de l’intersection des zones trouvent que l’expérience est très amusante, contre 0% chez les participants de la condition de l’indé- pendance des zones L’apport informatif de la disposition des zones 14 % des participants dans les deux conditions trouvent que les objets observés sont peu intéressants. 14% des participants à la condition de l’intersection des zones trouvent que trouvent que les objets observés sont plutôt intéressants, contre 72% de chez les participants de la condition de l’indépendance des zones. 72% des participants à la condition de l’intersection des zones trouvent que les objets observés sont très inté- ressants, contre 14% chez les participants de la condition de l’indépendance des zones L’apport de la disposition des zones sur la localisation 14 % des participants à la condition de l’intersection des zones répondent qu’ils ont réussi à localiser les objets plutôt difficilement, contre 0% de chez les participants de la condition de l’indépendance des zones. 72% des participants à la condition de l’intersection des zones répondent qu’ils ont réussi à localiser les objets plutôt facilement, contre 43% de chez les participants de la condition de l’indépendance des zones. 14%Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la salle des automates 139 des participants à la condition de l’intersection des zones répondent qu’ils ont réussi à localiser les objets très facilement, contre 57% de chez les participants de la condition de l’indépendance des zones . 5.4.5 Discussion Dans cette expérience, nous avons voulu tester deux configurations de scènes sonores, basées sur la disposition des zones d’audibilité. Nous avons étudié l’utilisabilité et l’apport de deux conditions sonores, la première condition est basée sur des zones d’audibilité qui se croisent, et qui permettent au participant se trouvant dans le recouvrement de plusieurs zones, d’écouter plusieurs sources sonores simultanément. La deuxième condition est basée sur des zones d’audibilité indépendantes qui ne se croisent pas, et dans lesquelles le visiteur entendra une seule source sonore à la fois. L’évaluation avait pour objectif de vérifier l’utilisabilité des deux configurations de scènes sonores, leur apport sur le plan informatif et ludique et sur la facilité de localiser les automates à musique. Au niveau de l’utilisabilité, nous avons trouvé à partir des réponses du questionnaire que les deux dispositifs sont utilisables avec un avantage pour la configuration de zones indépendantes. Durant la séance du questionnaire, quelques participants ont exprimé leurs avis par rapport à l’utilisabilité de SARIM dans les deux conditions : ”C est agréable de ne pas avoir à appuyer sur des boutons !”, ”C est bien de ne pas avoir à appuyer sur un clavier”. Par ailleurs, nous avons eu des avis différents sur le fait d’écouter plusieurs sons à la fois. En effet, il y a des participants à la condition des zones croisées qui ont exprimé leur mécontentement vis à vis de l’écoute simultanée de plusieurs sons : ”Je n ai pas apprécié que les musiques soient jouées en même temps pendant le passage d un objet à un autre !”, et aussi nous avons eu des retours évoquant le mot ”cacophonie”. Nous avons eu également des retours opposés dans la condition des zones indépendantes par des participants qui auraient souhaité écouter plusieurs sons en même temps : ”J aurais aimé pouvoir écouter plusieurs sons en même temps !”. En ce qui concerne la facilité de localisation, les résultats du suivi avec les logs ont été consolidés par le questionnaire pour déduire que la scène sonore avec des zones indépendantes facilite la localisation des automates. Les participants qui ont testé la condition des zones croisées ont eu du mal à localiser les automates : ”C est dif cile de différentier les angles correspondant aux sons !”. Concernant l’aspect informatif et didactique, les résultats obtenus par la mé- thode des logs montrent que les participants manifestent plus d’intérêts et passent plus de temps devant les automates commentés dans la condition des zones indépendantes. Concernent l’aspect ludique, les résultats du questionnaire sont moins clairs et permettent de dire que l’utilisation de SARIM avec la condition des zones indépendantes est légèrement plus amusante que dans le cas des zones croisées. La figures 5.11 repré- sentent les résultats du questionnaire dans les deux conditions expérimentales.140 Chapitre 5. Evaluation de la visite augmentée Numéro de la question Question Q1 Êtes-vous habituellement intéressé(e) par ce genre d’exposition ? Q2 Dans l’ensemble, l’expérience vous a semblé(e) intéressante ? Q3 D’après vous, combien de temps a-t-elle duré ? Q4 La visite vous a-t-elle paru amusante ? Q5 Dans l’ensemble, les objets que vous avez observés vous ont semblé intéressants ? Q6 Vous êtes vous senti(e) projeté(e) dans les époques correspondant aux objets que vous avez observés ? Q7 Vous êtes-vous senti(e) à l’aise avec l’utilisation du dispositif ? Q8 Pourquoi ? Q9 Comment avez-vous trouvé la réactivité du système ? Q10 A quelle vitesse pensez-vous que la plupart des gens apprennent à utiliser ce système ? Q11 Personnellement, avez-vous trouvé le dispositif facile à utilisé ? Q12 Vous est-il arrivé de faire des erreurs de manipulation du dispositif durant la visite ? Q13 Si oui, vous avez pu corriger vos actions ? Q14 Vous avez réussi à localiser les objets à observer ? Q15 Dans l’ensemble, Vous avez trouvé le dispositif encombrant ou pratique ? Q16 Durant la visite, avez-vous ressenti le besoin de pouvoir contrôler le dispositif autrement que par vos déplacements ? Pourquoi et comment ? Q17 D’une manière générale, êtes vous satisfait(e) du dispositif ? Q18 Si un tel système se généralisait, aimeriez-vous pouvoir l’utiliser à nouveau lors de vos futures visites de musées ? TABLE 5.8 – Les Questions du questionnaire de la deuxième expérienceSection 5.5. Conclusion 141 FIGURE 5.11 – Résultats du questionnaire pour les deux conditions : l’intersection des zones (en haut) et indépendance des zones (en bas) 5.5 Conclusion Dans ce chapitre nous avons décrit la partie expérimentale de notre travail. Cette partie vise à évaluer l’application du modèle de la visite proposée, des scénarios de visite et du dispositif de l’utilisateur dans une situation réelle. Il s’agit d’une évaluation empirique de SARIM et de ses fonctionnalités.142 Chapitre 5. Evaluation de la visite augmentée Après avoir défini la problématique de l’utilisation d’un dispositif de RAS dans le cadre de la visite de musée, nous avons décrit les deux expériences qui ont été menées dans deux salles du musée des Arts et métiers. La première expérience vise à étudier l’acceptabilité et l’apport de SARIM dans la visite du musée en le comparant avec un audioguide classique. Les résultats de l’expérience montrent que SARIM est utilisable et offre un apport à la fois informatif et ludique à la visite du musée. Il permet aussi de faciliter la localisation des œuvres et accroît l’intérêt que porte le visiteur sur les œuvres du musée. La deuxième expérience consiste à évaluer SARIM dans une petite salle, où les œuvres sont placées les unes à côté des autres, et produisent de la musique. Dans cette expérience, l’objectif était d’évaluer deux architectures de scènes sonores. Dans la première, la scène sonore est composée de zones d’audibilité qui se chevauchent. Ce qui signifie que plusieurs sources sonores seront activées et donc audibles simultanément. La deuxième architecture est basée sur des zones d’audibilité séparées et disjointes. L’idée est de vérifier si l’intersection des zones sera utilisable dans le cas où les œuvres sont très proches et où les contenus sonores consistent en des documents musicaux du même genre. Les résultats ont montré que la configuration de zones croisées a plutôt gêné les participants qu’elle ne les a amusés. Elle les a partiellement empêchés d’admirer la musique produite par ces œuvres à cause de la cacophonie due au mélange sonore. Les participants ont pu plus facilement localiser les œuvres sonores et ont trouvé qu’ils ont appris plus de choses dans la configuration des zones séparées. Cependant, nous avons eu des participants dans la condition des zones séparées qui auraient préféré entendre plusieurs sources sonores à la fois. Ce qui a laissé prétendre qu’une troisième configuration issue du mélange des deux premières en utilisant la notion de clusters sonores pourrait constituer un bon compromis. Malheureusement, cette troisième configuration n’a pas pu être testée à cause du manque de contenus sonores. Cette idée pourrait également être mieux évaluée dans des environnements qui comportent plusieurs objets sonorisés. Ces expériences nous ont permis de récupérer des premiers retours de visiteurs de SARIM en situation réelle. Nous n’avons pu tester qu’une partie restreinte des scénarios de visites parmi ceux offerts par notre modèle de visite. Toutes les configurations d’intersection des zones d’audibilité n’ont pas pu être évaluées également, surtout la relation d’hiérarchie entre les zones d’audibilité que nous estimons importante pour la scène sonore. Nos travaux futurs doivent porter sur l’évaluation des autres configurations possibles avec notre modèle de visite dans un autre cadre expérimental où la dimension sonore serait capable d’augmenter et d’enrichir la réalité.6 Conclusion et travaux futurs Dans ce travail, nous avons étudié la question de la réalité augmentée sonore dans la visite des musées, en particulier le musée des arts et métiers, en proposant le système SARIM. Le but est d’enrichir la visite du musée avec une expérience individuelle qui immergerait le visiteur dans un environnement sonore créé par des sons spatialisés qui émanent virtuellement des œuvres exposées. Dans ce chapitre, nous dressons un bilan du travail effectué dans cette thèse. Nous évoquons également un logiciel auteur, que nous avons commencé à concevoir. Cet outil auteur vise à concevoir, créer et éditer des scénarios de visite. Enfin, nous abordons d’autres directions de recherche qui nous paraissent intéressantes pour la suite de ce travail. 6.1 Bilan Notre but dans ce travail a été de concevoir un système de RA sonore capable d’améliorer et d’enrichir la visite de musées à travers la dimension sonore grâce à la localisation continue du visiteur. Notre objectif a été également de diminuer au maximum l’effort d’attention requis de la part de l’utilisateur pour interagir avec l’environnement sonore. La visite au musée des arts et métiers a été choisie comme cas d’étude, parce que nous avons constaté un manque d’information sonore dans la présentation des œuvres du musée. En l’occurrence, les sons de fonctionnement liés aux machines exposées qui peuvent être attachants et captivants, mais également porteurs d’information pour le visiteur.144 Chapitre 6. Conclusion et travaux futurs Avant de mener une expérimentation grandeur nature, il a été primordial de commencer par le développement d’une preuve de concept pour notre dispositif du visiteur. Ceci est d’autant plus essentiel vu les défis techniques matériels et logiciels né- cessaires à la mise en place d’un tel système. Une architecture matérielle et logicielle du prototype a été développée, et plusieurs expérimentations ont été menées avec différents capteurs de mouvement. Ces premières expérimentations ont été accomplies au laboratoire mais aussi au musée avec l’objectif de permettre le passage à l’autolocalisation dans l’environnement du musée. La réalisation de cette preuve de ces premières expérimentations nous a été utile, puisqu’elle a orienté notre recherche vers d’autres problématiques majeures. En effet, un système de spatialisation sonore adapté à une visite de musée ne pourrait être développé sans une mise en place d’un modèle théorique permettant de représenter les différents acteurs de ce système. En outre, la mise en place d’un outil auteur permettant à la fois la conception et la simulation de scénarios de visite serait judicieuse. C’est ainsi que nous avons étudié la problématique de modélisation de la visite augmentée. Dans cette partie, nous avons proposé un modèle composé de trois entités. La première entité est le paysage sonore présenté selon trois niveaux d’abstraction : physique, virtuelle et sémantique. Le principal apport introduit par notre modèle de paysage sonore est l’introduction de la notion avancée de la zone d’audibilité. Celle ci, qui représente un espace 3D dans lequel un contenu audio est perceptible, permet de structurer l’espace du musée en un ensemble de zones qui peuvent être croisées, sé- parées ou encore hiérarchiques. Ces zones peuvent également être partagées ou exclusives. Des parcours de visite libres ou guidés peuvent être créés sur la base de ces zones d’audibilité. Ainsi le visiteur peut être immergé dans un paysage sonore composé de sons ambiants, de musiques et de commentaires en adéquation avec sa position et son orientation. Par ailleurs, ces zones peuvent être annotées et classifiées par concepts sous forme d’un thésaurus dans la couche sémantique du modèle de la scène sonore. Elles peuvent ensuite être facilement exploitées pour déterminer les intérêts des visiteurs. La deuxième entité du modèle est le visiteur. Nous l’avons modélisé selon plusieurs niveaux. Le premier niveau est le profil initial du visiteur comportant par exemple son âge et ses centres d’intérêt. Le niveau suivant est celui de la captation spatiotemporelle de son mouvement durant sa visite. Ce niveau permet de décrire le niveau au-dessus qui est celui de la position du visiteur par rapport à la scène sonore mais aussi de la captation des gestes qu’il accompli avec sa tête en guise d’interaction avec l’environnement sonore. A partir de ces niveaux, un quatrième niveau est introduit qui est celui de la signature des intérêts, celle-ci étant une nouvelle notion introduite pour définir les scores d’intérêt du visiteur aux différents descripteurs sémantiques associés au zones d’audibilité de la scène sonore. Un historique de tous les descripteurs du visiteur à ces différents niveaux est maintenu afin de réaliser une adaptation en temps réel du parcours de la visite au intérêts des visiteurs, mais également afin de permettre une étude plus détaillée des intérêts des visiteurs sur l’espace de plusieurs visites successives.Section 6.2. Perspectives 145 La troisième entité du modèle est le moteur de navigation qui constitue le cœur de SARIM. Ce moteur décrit la politique d’interaction du visiteur avec la scène sonore. Ce moteur est organisé selon trois couches concentriques. Chaque couche fournit un niveau d’interactivité particulier, et chacune des deux couches supérieurs du moteur fournit les contenus d’interactivité de la couche qu’elle contient. La couche de la Traque est le noyau du moteur, Celle-ci réalise une spatialisation sonore simple des sons émis par les œuvres suivant la position et l’orientation du visiteur. La couche du contrôle permet au visiteur de contrôler volontairement le paysage sonore à travers différents gestes de têtes prédéfinis et activés par le concepteur du scénario de la visite. La dernière couche est l’adaptation où le système affine automatiquement le parcours du visiteur en cours de sa visite pour l’adapter au mieux à ses intérêts inférés en étudiant ses choix en termes d’œuvres regardées et de sons écoutés. Après avoir proposé un modèle de visite augmentée, nous avons réalisé une évaluation empirique contrôlée du système SARIM et de certaines de ses fonctionnalités. Deux expériences ont été menées dans deux salles du musée des arts et métiers. La première expérience vise à étudier l’acceptabilité et l’apport du système SARIM en le comparant avec l’audioguide classique utilisé dans le musée. La deuxième expérience consiste à évaluer l’utilisabilité de SARIM pour sonoriser des œuvres placées les unes à coté des autres dans un espace restreint. Malgré le nombre restreint des participants, les résultats de l’évaluation montrent que SARIM est utilisable et offre un meilleur apport à la fois informatif et ludique à la visite du musée. Il permet aussi de faciliter la localisation des œuvres et accroît l’intérêt que porte le visiteur sur les œuvres visitées. Les résultats de la deuxième expérience montrent la gène que peut apporter l’activation de plusieurs sources sonores (très rapprochés dans l’espace) lors d’une visite de musée. Elle montre ainsi le besoin de développer une configuration de scène sonore basée sur la notion de clusters pour regrouper les œuvres qui sont très proches géographiquement et similaires fonctionnellement. 6.2 Perspectives Le travail de la thèse étant à la croisé de plusieurs domaines, elle ouvre le chemin vers différentes questions de recherche intéressantes. Durant notre thèse nous avons entamé la conception de quelques solutions qui répondent à des questions associées à notre sujet de thèse. Nous les évoquant ici dans ce chapitre. 6.2.1 Esquisse d’un logiciel auteur pour SARIM Nous entendons par logiciel auteur, l’interface graphique permettant au concepteur de composer des scènes sonores virtuelles et de préciser l’interaction entre le visiteur et le monde réel. Notre outil de création est une interface graphique d’utilisateur conçue spécialement pour la réalité augmentée audio appliquée dans le contexte de musées.146 Chapitre 6. Conclusion et travaux futurs La conception d’outils de création est plus fréquente dans le contexte des jeux et de la réalité virtuelle, mais elle est moins fréquente dans le domaine de la réalité augmentée, et encore moins dans le contexte des visites de musées. Quelques logiciels qui permettent de créer des scènes et des paysages sonores ont été proposés au cours de ces dernières années. Le Spatialisateur [Jot99] développé par l’Ircam 1 est un Framework logiciel dédié à la spatialisation des créations musicales en temps réel, post-production et dans le contexte de concerts. Il permet de spécifier les paramètres de spatialisation indépendamment du mode de restitution électro-acoustique, mais aussi d’identifier intuitivement les paramètres d’effets de salle. Toutefois, ce logiciel est conçu pour les situations générales et présente peu de capacités pour la visualisation et l’expérimentation de la scène créée. Il a donc besoin d’être étendu par des modules spécialement conçus pour l’application finale et offrant plus de facilités pour la conception des scènes sonores. Sur la base de cette observation, ListenSpace [Leprado07, Warusfel04, GoBmann04] a été développé comme une couche haut-niveau de Spat. Il a été conçu comme un outil de création spécialement adapté à la réalisation du projet Listen [Zimmermann08]. ListenSpace permet de décrire les propriétés géométriques de tous les objets qui composent une scène sonore dans Listen, et de combiner les paramètres acoustiques physiques et perceptifs pour définir les sources sonores dans la scène. Cependant, la description de la scène dans ListenSpace est limitée à une représentation bidimensionnelle (2D). Cette limitation prive le concepteur d’informations cruciales, et en particulier la hauteur (altitude) des sources sonores. 6.2.1.1 Concepts de base La conception d’un outil auteur pour la création de paysages augmentés par le son et de scénarios de visite de musée, se compose de plusieurs étapes telles que la création des contenus sonores, la création des rendus visuels et la création de scénarios de visite du musée. Nous avons décidé de concentrer nos efforts sur la conception et le développement de fonctionnalités de base nécessaires à la conception des paysages sonores et des scénarios de visite puisque pour les deux autres tâches, des logiciels plus performants existent déjà. Par conséquent, l’outil actuel n’intègre pas d’outil de conception ou de gestion des contenus sonores, ni de fonctionnalités avancées pour la création des rendus graphiques. Cependant, le concepteur a la possibilité d’utiliser des formes géométriques simples pour créer les pièces du musée et les objets sonores également. En outre, l’outil intègre la possibilité d’importer des paysages graphiques 3D créés à travers des outils logiciels de modélisation 3D (ex. Blender) et permettant d’exporter les environnements 3D en langage standards de description d’univers graphiques virtuels (ex. VRML et Collada). 1. www.ircam.frSection 6.2. Perspectives 147 Bien que l’outil d’auteur soit principalement conçu pour la création du paysage sonore, cet outil serait incomplet sans une fonctionnalité permettant au concepteur de tester virtuellement le résultat de ses scénarios. Ainsi, deux modes d’utilisation sont disponibles : le mode d’édition qui est utilisé pour créer et manipuler les objets graphiques et sonores, tandis que le mode de démonstration est utilisé pour vérifier et démontrer virtuellement le résultat du paysage sonore. 6.2.1.2 Modes utilisateurs Mode d’édition Nous décrivons ici le fonctionnement de l’interface homme machine en mode édition. Ce mode est accessible à travers la fenêtre principale organisée de manière à offrir le maximum d’espace de travail au concepteur du paysage graphique et sonore. L’espace du travail est présenté au centre de la fenêtre. Des menus de paramétrage sont disposés dans des barres d’outils latérales et inférieures pouvant être cachées et affichées en un seul clic. Mode de démonstration Pour tester le paysage sonore qui a été créé, le logiciel offre la possibilité de "jouer" ou de "simuler" une visite grâce à son interface mode de démonstration. Le mode de démonstration est accessible à l’aide du bouton "Play" en bas à droite de l’interface d’édition. Le mode de démonstration offre deux vues, la première est une vue générale dans laquelle la caméra (le point de vue) est située au dessus du visiteur. Ce dernier est représenté par un avatar qui reflète sa position et son orientation. L’utilisateur du logiciel, muni d’un casque stéréo, et d’un dispositif de navigation (souris, joystick) peut simuler une visite dans l’espace du musée et ainsi percevoir les contenus audio que le visiteur devra entendre selon sa position et son orientation. Outre la vue générale, le mode de démonstration offre également une vue subjective qu’on appellera la vue du visiteur.Cette vue est accessible en activant le bouton de la vue subjective en bas à gauche. Elle permet au simulateur d’apercevoir ce que voit et entend le visiteur durant sa visite au musée. C’est la vue la plus idéale pour se mettre à la place du visiteur et faire concorder les deux rendus sonore et visuel. 6.2.1.3 Naviguer dans la scène sonore La navigation dans l’environnement virtuel en 3D nécessite des appareils avancés offrant plusieurs degrés de liberté (DDL). La souris classique n’est pas en mesure de détecter les mouvements de rotation et est exclusivement sensible aux mouvements de translation (2 DDL). Habituellement, les logiciels de CAO et les jeux vidéo permettent la navigation à travers les environnements virtuels en utilisant soit la souris classique combinée au clavier soit en utilisant les boutons et la molette de défilement de la sourie [Almeida09]. Pour148 Chapitre 6. Conclusion et travaux futurs des applications professionnelles, l’interaction bi-manuelle est favorisée en complétant, par exemple, la sourie par un trackball. D’autres dispositifs fournissent également 6 degrés de liberté comme le SpaceNavigator de la compagnie 3DConnection [O’Brien08]. Cependant ce dispositif est fixe et ne tourne pas sur 360 degrés. Cela crée un fossé entre la navigation dans le monde réel est la rotation par la souris. Pour parcourir des environnements destinés aux tests d’applications de réalité augmentée, ceci peut s’avérer contraignant. Ce type de dispositif 3D est plus approprié pour commander la vitesse de la rotation plutôt que la position et l’orientation d’un objet en scène [Almeida09]. Dans le contexte de la navigation au sein de paysages sonores virtuels, un dispositif de capture simultanée de la position et de l’orientation de l’utilisateur serait utile. Dans [Almeida07] un tel dispositif a été évalué pour d’autres applications telles que la sélection de la couleur dans une palette graphique et le mixage de sons avec des widgets rotatifs [Jacob94]. Ces expérimentations étaient faites avec la 4DMouse. La 4DMouse fait partie du kit de la tablette Wacom Intuos 2. Bien que stable et précis (0,2 degré), ce dispositif est plutôt sous-exploité par le monde des interfaces graphiques. La figure 6.1 montre un exemple de trajectoire intégrale réalisée en utilisant la 4D mouse. La navigation dans la scène 3D en utilisant la vitesse peut se faire à travers les analogies suivantes : – La distance (d) séparant la tête de la souris à la ligne rouge horizontale : la vitesse (signée) de déplacement du visiteur – L’angle entre l’orientation de la souris et l’orientation de la ligne verticale : la vitesse angulaire (signée) de l’orientation du visiteur FIGURE 6.1 – La trajectoire intégrale utilisant la souris 4D. 6.2.2 Protocole de description de scènes sonores Étant donné la généralisation de l’utilisation des Smartphones et des dispositifs intelligents permettant la traque et l’accompagnement des utilisateurs en temps réel, pourra-t-on imaginer un langage ou un protocole unifié de description et d’interactionSection 6.2. Perspectives 149 avec les scènes sonores qui pourra assurer l’interopérabilité entre les différents systèmes de RAS appliquée à la visite de musée. Dans ce cadre, TourML a été introduit par Robert Stein, et Nancy Proctor [Stein11] comme étant un langage standard pour la définition des parcours mobiles des musées. C’est un schéma XML qui décrit la structure, le contenu et l’expérience prévue d’un parcours mobile de musée en identifiant ses éléments constitutifs. TourML décrits les éléments qui composent un parcours en utilisant trois identifiants essentiels : 1. L’"Asset" qui décrit un composant élémentaire compris dans le parcours, peut être défini donc par un "Asset" de type vidéo, image, web, etc. Une instance TourML doit au minimum présenter l’ensemble d’"Asset" contenus dans ce parcours. 2. Le "Stop" qui constitue une étape du parcours et qui se compose d’un groupe d’"Asset"perceptibles au mêmes temps. Il peut être par exemple un diaporama de photos joué sur un arrière plan audio. 3. La "Connection" qui définit le sens du parcours et qui relie un "Stop" au "Stop" qui le suit dans le parcours Ceci permet au final de créer un graphe orienté du tour définissant comment le visiteur doit se déplacer entre les "Stop". Ce standard de métadonnées fournit un certain nombre d’avantages pour les musées. En effet, il permettre de faire migrer le contenu et la structure d’un parcours parmi les divers outils mobiles disponibles et futurs, sans nécessité de réadaptation manuelle par le personnel du musée. Il permet également aux musées de choisir les outils auteur qui répondent le mieux à leurs besoins tout en continuant à utiliser les appareils mobiles qui s’adaptent le mieux à leur contenu, et finalement il contribue au à la survie du contenu des parcours des musée au avancés technologique de présentation du contenu multimédia. TourML peut être utilisé, après une personnalisation importante, pour représenter notre modèle de la scène sonore. Ceci nécessite bien le développement de plusieurs assetType, stopType et propertyType associés. Nous pouvons imaginer dans notre cas la définition d’asset "zone d’audibilité" ceci nécessite la définition du assetType "ZoneDAudibiliteAsset", ainsi que plusieurs propertyType qui lui sont liées. Mais pour définir le modèle de navigation et le modèle visiteur, une extension du standard s’impose. En effet un élément "visitor" pourra être rajouté pour décrire le ou les visiteurs évoluant dans le graphe du parcours. Deux éléments "Action" et "State" pourront être introduits pour définir une politique d’interaction. Un "State" représente un état d’un "Visitor" par rapport à un "Asset". Une "Action" représente un acte fait par ce visiteur, soit un geste soit un arrêt prolongé. Cette "Action" peut être définie en utilisant des éléments de temps, de position et d’orientation. Nous pouvons définir également un élément "interaction" qui se compose de deux "State", et une "Action" qui définit l’acte permettant le passage d’un "State" à un autre.150 Chapitre 6. Conclusion et travaux futurs Par contre, le contenu audio qui nous intéresse dans cette thèse, ne peut être repré- senté dans TourML qu’entant que simple contenu média, sans prendre en considération la fonctionnalité de la spatialisation sonore. En outre, le standard ne permet pas de spé- cifier : – à quel objets exposé un son est associé ? – où devrait être joué le son géographiquement, pourrait-il y avoir des superpositions entre les "Stop" ? – comment va être joué le son : en boucle ou une seule fois, émanant d’une source sonore ou réparti régulièrement dans une ZA ? Ainsi d’autres travaux d’extension de TourML doivent être faits pour une représentation complète de notre modèle de scène sonore. 6.2.3 Autres directions de recherche Cette thèse se trouvant au carrefour de différents domaines, elle nous ouvre plusieurs directions de recherche dont l’étude s’avère nécessaire pour une meilleure utilisation de la spatialisation sonore comme moyen d’autoguidage. L’un des sujets importants à étudier serait une analyse approfondie du comportement naturel des visiteurs afin de déduire leurs intérêts et préférences. Outre l’utilisation du profil du visiteur, l’idée la plus basique appliquée dans ce travail est de se référer au temps passé en regardant un objet et en écoutant le son qui lui est associé pour estimer l’intérêt porté à ce dernier. La question est certainement beaucoup plus complexe. L’intérêt peut varier dans le temps. Il peut dépendre de l’expérience du visiteur mais aussi des événements avant et après la visite. Le profil tout seul ne peut pas refléter l’intérêt puisque ce même profil est variable. Le long regard porté vers un objet pourra même dans certaines conditions être interprété comme un désintérêt, une contestation ou un refus. Comment pourra-t-on déduire si l’intérêt concerne la totalité de l’objet ou qu’une seule composante de ce dernier : sa forme, sa couleur, sa fonction, le son associé. Concernent la gestuelle ou le "body language", il convient de noter que les codes ne sont pas similaires pour tout type de public, nous pouvons penser aux indiens par exemple qui balancent leurs tête de droite à gauche pour dire oui, contrairement aux européens par exemple. Le public malvoyant nécessite également une attention particulière pour étudier son propre langage du corps. Une autre direction de recherche serait l’étude de la traque continue de la position et de l’orientation du visiteur sur un plan sociétal. La question de la vie privée a suscité et suscite encore beaucoup d’inquiétude vis à vis des nouvelles technologies qui imposent une traque et un suivi continu de l’activité de l’utilisateur. L’objectif étant d’enrichir la visite, comment évaluer le besoin réel de l’utilisateur et le niveau d’implication du système dans son comportement ? Serait-il plus judicieux de lui laisser un espace de liberté en n’interprétant que certains de ses comportements et pas tous ? Quel serait le seuil au niveau du temps de parcours, du nombre d’objets sonorisé et en termes de contenuSection 6.2. Perspectives 151 sonore à partir duquel l’augmentation sonore gênera la visite ? Dépassant ce seuil cette application de la RAS dans la visite au musée mènera-t-elle vers une surcharge ou une diminution de la réalité ? Empêchera-t-elle le visiteur d’apercevoir quelques détails liés aux objets exposés ? Par ailleurs, étant donné la généralisation de l’utilisation des Smartphones et des dispositifs intelligents permettant la traque des utilisateurs en temps réel, jusqu’où peut-on étendre le modèle SARIM pour qu’il se généralise à d’autres situations de la vie quotidienne ? Pourra-t-on imaginer dans le futur un système basé sur la RAS qui nous assiste dans nos tâches quotidiennes ? La question se pose également pour le public malvoyant pour lequel une assistance généralisée pourra être intéressante. Pourrat-on imaginer un langage ou un protocole unifié de description et d’interaction avec les scènes sonores qui pourront assurer l’interopérabilité entre les différents systèmes de RAS appliquée à la vie quotidienne. Une analogie peut être faite avec le système GSM qui fait passer le téléphone portable d’un relais à l’autre sans interruption et sans nécessité d’adaptation. Quelle sont les défis techniques posés pour une telle approche (architecture client/serveur, p2p,...) La question de la mise en échelle du système et de la granularité des détails de l’environnement que l’on souhaite sonoriser se pose également à ce stade. La vitesse du déplacement mais aussi le domaine d’application joueront nécessairement dans la définition de cette dernière. La question des canaux d’interaction est également intéressante à étudier. Étant donné que l’objectif et de réduire au maximum l’attention requise pour interagir avec l’environnement sonore, comment pourra-t-on enrichir le langage utilisé pour communiquer avec cet environnement ? Devra/pourra-t-on introduire de nouveaux moyens pour interpréter les gestes corporels et surtout manuels ou vocaux des utilisateurs. Nous penserons éventuellement à des systèmes de détection de mouvements à travers l’analyse du son, de l’image, etc. Le modèle pourra être également adapté pour qu’il soit appliqué à une visite d’un groupe de visiteurs. Comment interpréter le comportement du groupe et guider le groupe comme une visite d’un musée dans le cadre d’un voyage organisé. Enfin, plutôt que les visiteurs soient seulement récepteurs du contenu sonore, la visite d’un musée pourrait même devenir participative. Des contenus de la scène sonore pourraient être créés ou commentés en temps réels par les visiteurs eux même tel le Web2.0. D’autres visiteurs pourraient ainsi réagir et interagir avec ces contenus et éventuellement en proposer d’autres. Ceci nécessiterait bien évidemment un procédé de modération et de sélection des contenus et commentaires pertinents.A Annexe Nous présentons dans ce chapitre, dans un premier temps, le calcul effectué pour récupérer les valeurs des angles d’Euler données par le Spark f unIMU 6DOF V4. Dans un second temps, nous présentons le matériel utilisé lors des expériences menées dans le musée des arts et métiers de Paris. A.1 Calcul de l’orientation avec Sparkfun IMU-6DOF-V4 Nous avons utilisé ce capteur dans le but d’obtenir des mesures précises des angles de l’orientation de la tête du visiteur, surtout pour le Lacet aussi appelé Heading, le Tangage ou Elevation et le Roulis ou Roll. Le Lacet est défini comme l’angle dans le plan horizontal local mesuré dans le sens des aiguilles de la montre à partir de la direction du vrai Nord (axe polaire de la Terre). Le Tangage est l’angle formé entre l’axe X et l’horizon/sol, et le Roulis est l’angle formé entre l’axe Y et l’horizon/sol (Figure A.1). A.1.0.1 Le calcul du tangage et du roulis Nous pouvons obtenir des mesures assez fiables du Tangage et du Roulis en utilisant les données fournies par l’accéléromètre embarqué dans le IMU-6DOF-V4. En pratique, au repos, le capteur renvoie les coordonnées du vecteur force de gravité dans un repère local au circuit. Celui-ci ne correspond pas à la verticale quand le capteur est posé à plat. Il faut donc effectuer une calibration. Pour cette fin, la procédure que nous avons suivie est celle décrite pour le calibrage de la Wiimote [Kionix07]. Elle consiste à poser154 Annexe A. Annexe FIGURE A.1 – Dessin des axes de roulis, tangage et lacet sur un avion. le capteur de manière à avoir successivement les trois axes X, Y et Z à la verticale et à collecter les valeurs renvoyées : x1,y1,z1 lorsque l’axe X est vertical, x2,y2, z2 lorsque l’axe Yest vertical et x3,y3, z3 lorsque l’axe Z est vertical. On calcule alors les coordonnées du point origine : x0=(x1 + x2)/2y0=(y1 + y3)/2 z0=(z2 + z3)/2 On obtient ainsi les coordonnées du vecteur force (exprimées en g) : ax=(xraw x0)/(x3 x0) ay=(yraw y0)/(y2 y0) az=(zraw z0)/(z1 z0) où xraw, yraw, zraw sont les mesures de l’accéléromètre. Si l’accéléromètre n’est pas en mouvement accéléré, la mesure des cordonnées du vecteur gravité permet d’obtenir l’orientation dans l’espace du dispositif, les valeurs du Tangage et du Roulis sont donc calculées à partir les formules : Tangage=arctan(ax/sqrt(ay ay + az az)) Roulis=arctan(ay/sqrt(ax ax + az az)) A.1.0.2 Le calcul du lacet Une approche naïve pour calculer le Lacet consiste à une intégration de la vitesse angulaire donnée par le gyroscope. Il peut également être calculé à partir des données du magnétomètre. Toutefois, ces deux méthodes ne donnent pas des résultats exacts. En effet, les capteurs magnétiques sont soumis à des perturbations imprévi-Section A.1. Calcul de l’orientation avec Sparkfun IMU-6DOF-V4 155 sibles. Par ailleurs, les capteurs gyroscopiques sont eux aussi sujets d’une dérive (Drift) de leurs mesures d’origines (Bias) qui augmente de manière non régulière au fil du temps. Afin d’éviter la dérive du gyroscope et les perturbations magnétiques, notre approche consiste à coupler les données du magnétomètre, de l’ accéléromètre et du gyroscope embarquées dans l’IMU afin d’avoir le suivi le plus optimal de l’orientation. Notre approche de couplage consiste à calculer le Lacet fourni par le magnétomètre et le Lacet fourni par le gyroscope, puis à les combiner selon les algorithmes décrits dans ce qui suit. Lacet du magnétomètre : Nous commençons par calculer le Lacet en utilisant uniquement les données du magnétomètre [Caruso00]. La première étape consiste à calibrer la boussole. Pour cela, nous calculons les valeurs minimales et maximales des mesures du magné- tomètre selon les 3 axes (xmin, ymin, zmin, xmax, ymax, zmax). L’objectif est d’inclure les facteurs de corrections ferreux. La proximité des matériaux ferreux peut créer des distorsions, les nouvelles valeurs de la boussole sont : yc = 2 (yi ymin)/(ymax ymin) 1 xc = 2 (xi xmin)/(xmax xmin) 1 zc = 2 (zi zmin)/(zmax zmin) 1 Etant donné que la sensibilité du magnétomètre diminue lorsque le Tangage et le Roulis augmentent, nous les incluons dans le calcul du Lacet : Xh = xc cos( Tangage) +yc sin( Roulis) sin( Tangage) zc cos( Roulis) sin( Tangage); Yh = yc cos( Roulis) + zc sin( Roulis); Ainsi, la formule pour calculer le Lacet à partir du magnétomètre et de l’accéléromètre est : Lacetm = arctan(Yh/Xh) Lacet du gyroscope : Les données fournies par le gyroscope correspondent aux vitesses auxquelles les trois angles (Lacet, Tangage et Roulis) varient. Elles ne nous permettent pas ainsi directement de mesurer l’anglev du Lacet. Nous ne pourrons que calculer les variations d’angles sur des période successives puis calculer le Lace en se basant sur la formule suivante : Lacetg(i) = Lacetg(i 1) + ΔLacetg Théoriquement, la vitesse angulaire est la dérivée de l’angle par rapport au temps. Soit ωLacet(r) la mesure correspondante à la valeur réelle de la vitesse angulaire, et ωLacet(m) correspond à la valeur mesurée de la vitesse angulaire par le gyroscope. Lacetg est la valeur du lacet mesurée par le gyroscope.156 Annexe A. Annexe ωLacet(r) = dLacetg/dt dLacetg = ωLacet(r) dt pour une fonction discrète, cette formule s’écrira ωLacet(r) = ΔLacetg/Δt ΔLacetg = ωLacet(r) Δt Les mesures récupérées par le gyroscope ne sont pas prises dans une échelle réelle, mais bien multipliées par un facteur d’échelle correspondant aux spéci- fications du constructeur. On doit multiplier le résultat par ce facteur d échelle fe pour pouvoir rendre les mesures en degré. ωLacet(r) = ωLacet(m) fe Ce facteur peut être calculé expérimentalement, dans notre cas il correspond à la valeur fe = 4/3. En plus de ce facteur d échelle qui reste fixe dans le temps, Les vitesses mesurées par le gyroscope sont retournées avec un Biais. Ceci signifie que : fe = 4/3 Les vitesses mesurées par le gyroscope sont retournées avec un Biais. Soit ωLacet(mb) correspond à la mesure brute de la vitesse angulaire retournée par le gyroscope. Ceci signifie que : ωLacet(m) = ωLacet(mb) + Biais ΔLacetg = (ωLacet(mb) + Biais) fe Δt La valeur du Biais est égale à la mesure du gyroscope lorsque celui-ci est immobile (ωLacet(r) = 0). Cependant, les gyroscopes souffrent d’une dérive. Plus précisément, le Biais change dans le temps indépendamment des mesures. Cela rend la vitesse angulaire inexacte après quelques secondes. Afin de remédier à cet inconvénient, nous proposons d’utiliser la variance de la vitesse angulaire du Lacet en vue de déterminer si le capteur est en mouvement ou non. Si sa valeur reste proche du zéro pendant une période T0 = 0, 5 secondes (période nécessaire pour faire 100 mesures de gyroscope, sachant que la fréquence des mesures du capteur est de 195 Hz ), nous supposons qu’il n’y a pas de mouvement, et nous mettons à jour le Biais avec la mesure du gyroscope. En fait, la variance de la vitesse angulaire du Lacet peut s’approcher du zéro également en cas d’un mouvement avec une vitesse constante, mais cette situation se produit rarement puisque les mouvements effectués pour tourner la tête sont en général courts et avec une vitesse souvent variable. i f(σ2(ωLacet(m)) < ) pendant une durée spécifiée Biais = E(ωLacet(m)) avec E : l’espérance mesurée sur la période T Les algorithmes que nous avons cités ci-dessus permettent de réduire l’effet des perturbations magnétiques, la dérive du gyroscope, et d’obtenir une estimation fiable de l’angle du Lacet. Nous avons cité ces algorithmes comme étant un premier pas vers une API ”open source” qui traite les fonctionnalités de captation de la position et de l’orientation en utilisant des capteurs IMU.Section A.2. Consignes 157 A.1.1 Couplage du magnétomètre et du gyroscope Après avoir calculé séparément les deux lacets(du magnétomètre Lacetm et du gyroscope Lacetg), nous combinons les deux valeurs pour obtenir une meilleure mesure du Lacetc et surmonter les problèmes de chaque capteur [Roetenberg05]. Nous supposons qu’il existe des perturbations magnétiques lorsqu’il y a une différence importante entre la variance de la vitesse angulaire obtenue par le gyroscope et la variance du la vitesse angulaire obtenue par le magnétomètre. Par conséquent, quand il n’y a pas de perturbation nous mettons Lacetc = Lacetm, si une perturbation est détectée, la diffé- rence entre Lacetg et le dernier Lacetc non perturbé est : Lacetc = Lacetc + ∆(Lacetg) où ∆(Lacetg) est la différence entre le Lacetg et le dernier Lacetg non perturbé. A.2 Consignes Expérience dans la salle des communications « Vous allez visiter cette salle comme vous le feriez en situation réelle. Nous vous demandons simplement de vous concentrer uniquement sur les objets présentant une description audio, indiqués par une vignette de couleur. Allez à votre rythme ; ce n’est pas un jeu de piste, mais une situation de visite ”normale” du musée. Au bout de quelques minutes, nous interromprons la visite pour vous poser des questions sur votre expérience. Je vous suivrai tout au long de la visite pour en observer le déroulement, mais je n’aurai pas le droit d’interagir avec vous. Rappelez vous seulement que ce n’est pas vous que nous évaluons, mais le dispositif que vous utiliserez. » Expérience dans la salle des automates Condition 1 : «En observant cette salle, vous allez entendre des musiques provenant de certains des automates exposés. Si vous repérez un objet qui vous intéresse, il vous suffira d’orienter votre tête dans sa direction et de le fixer quelques secondes pour écouter le sons qu’il émet. Après avoir écouté le morceau de musique d’un automate, vous pourrez écouter les commentaire audio qui lui son relatifs si vous continuez de regarder dans sa direction. Cependant, si vous en avez envie, vous pouvez à tout moment passer à l’observation d’un autre objet en tournant la tête vers celui-ci. Nous vous laissons libre d’explorer la scène comme vous le voudrez. Au bout de quelques minutes nous arrêterons l’expérience pour vous poser des questions sur ce que vous viendrez de vivre. Rappelez vous seulement que ce n’est pas vous que nous évaluons, mais le dispositif que vous utiliserez. » Condition 2 : « En observant cette salle, vous allez entendre des musiques provenant de certains des automates exposés. Si vous repérez un objet qui vous intéresse, il vous suffira d’orienter votre tête dans sa direction pour écouter le sons qu’il émet. Après avoir écouté le morceau de musique d’un automate, vous pourrez écouter les commentaire audio qui lui son relatifs si vous continuez de regarder dans sa direction. Cepen-158 Annexe A. Annexe de recrutement.png FIGURE A.2 – Formulaire de recrutement. dant, si vous en avez envie, vous pouvez à tout moment passer à l’observation d’un autre objet en tournant la tête vers celui-ci. Nous vous laissons libre d’explorer la scène comme vous le voudrez. Au bout de quelques minutes nous arrêterons l ?expérience pour vous poser des questions sur ce que vous viendrez de vivre. Rappelez vous seulement que ce n’est pas vous que nous évaluons, mais le dispositif que vous utiliserez. » A.3 Formulaire de recrutement Afin de recruter les sujets, nous avons mis en place un formulaire (figure A.2) auquel doit répondre les sujets qui souhaitent participer à cette expérimentation. A la base de leurs réponses , nous avons sélectionné ceux qui vont participer à cette expérience.Section A.4. Questionnaires 159 A.4 Questionnaires A.4.1 Questionnaire : salle des communications Condition1 : SARIM Le questionnaire proposé aux participants à la condition de SARIM dans la salle des communications est représenté dans les figures A.3, A.4, A.5, A.6. Condition2 : audioguide Pour la condition de l’audioguide, les participants à l’expérimentation dans la salle des communications, ont répondu au questionnaire suivant (figures A.7, A.8, A.9, A.10) A.4.2 Questionnaire : salle des automates Dans la salle des automates, les sujets qui ont participé à cette expérimentation dans les deux conditions (zones croisées ou indépendantes), ont répondu au questionnaire suivant (A.11, A.12, A.13)160 Annexe A. Annexe FIGURE A.3 – Questionnaire de la salle des communications-condition SARIM (page1).Section A.4. Questionnaires 161 FIGURE A.4 – Questionnaire de la salle des communications-condition SARIM (page2).162 Annexe A. Annexe FIGURE A.5 – Questionnaire de la salle des communications-condition SARIM (page3).Section A.4. Questionnaires 163 FIGURE A.6 – Questionnaire de la salle des communications-condition SARIM (page4).164 Annexe A. Annexe FIGURE A.7 – Questionnaire de la salle des communications-condition de l’audioguide (page1).Section A.4. Questionnaires 165 FIGURE A.8 – Questionnaire de la salle des communications-condition de l’audioguide (page2).166 Annexe A. Annexe FIGURE A.9 – Questionnaire de la salle des communications-condition de l’audioguide (page3).Section A.4. Questionnaires 167 FIGURE A.10 – Questionnaire de la salle des communications-condition de l’audioguide (page4).168 Annexe A. Annexe FIGURE A.11 – Questionnaire de la salle des automates (page1).Section A.4. Questionnaires 169 FIGURE A.12 – Questionnaire de la salle des automates (page2).170 Annexe A. Annexe FIGURE A.13 – Questionnaire de la salle des automates (page3).Bibliographie [Abowd97] Gregory D. Abowd, Christopher G. Atkeson, Jason Hong, Sue Long, Rob Kooper & Mike Pinkerton. Cyberguide : a mobile contextaware tour guide. Wirel. Netw., vol. 3, no. 5, pages 421–433, SpringerVerlag New York, Inc., Secaucus, NJ, USA, October 1997. [Alais04] David Alais & David Burr. The Ventriloquist Effect Results from NearOptimal Bimodal Integration. Current Biology, vol. 14, no. 3, pages 257–262, Cell Press, feb 2004. [Albaum97] Gerald Albaum. The Likert scale revisited : an alternate version.(product preference testing). Journal of the Market Research Society, vol. 39, no. 2, pages 331–343, apr 1997. [Almeida07] Rodrigo Almeida & Pierre Cubaud. Nearly-Integral Manipulation of Rotary Widgets. In INTERACT, pages 489–492, 2007. [Almeida09] Rodrigo Almeida. Thèse de doctorat : Contribution aux techniques pour enrichir l espace moteur et l espace visuel des dispositifs d interaction bureautique. Préparée au : Centre d’étude et de recherche en Informatique du CNAM, Paris, France, 2009. [AMNH] AMNH. AMNH Explorer from the American Museum of Natural History. http://www.amnh.org/apps/explorer.php, consulté le 11/09/2013. [Anastassova07] M. Anastassova, J. M. Burkhardt & C. Mégard. User-Centred Design and Evaluation of Augmented Reality Systems for Industrial Applications : Some Deadlocks and Breakthroughs. Virtual Reality International Conference (VRIC) 2007, April 18-20, Laval, France (Best Paper Award), Virtual Reality International Conference (VRIC) 2007, April 18-20, Laval, France (Best Paper Award), 2007. [Apeloig08] Yves Apeloig. La révolution des audioguides : Eshkar SARL Falard Industrie. 2008. http://www.eurosfaire.prd.fr/7pc/ documents/1329753872_7_eshkarfrv10_2_0.pdf, consulté le 10/09/2013. [Azuma97] Ronald T. Azuma. A survey of augmented reality. Presence : Teleoperators and Virtual Environments, vol. 6, no. 4, pages 355–385, aug 1997.172 BIBLIOGRAPHIE [Azuma01] Ronald Azuma, Yohan Baillot, Reinhold Behringer, Steven Feiner, Simon Julier & Blair MacIntyre. Recent Advances in Augmented Reality. IEEE Comput. Graph. Appl., vol. 21, pages 34–47, IEEE Computer Society Press, Los Alamitos, CA, USA, November 2001. [Baudel95] Thomas Baudel. Thèse de doctorat : Réalité Augmentée : pour une dé nition et une nouvelle dénomination du domaine. préparée à l’Université Paris Sud, 1995. [Bederson95] Benjamin B. Bederson. Audio augmented reality : a prototype automated tour guide. In CHI ’95 : Conf.companion on Human factors in computing systems, pages 210–211, New York, NY, USA, 1995. ACM. [Bellotti02] Francesco Bellotti, Riccardo Berta, Alessandro De Gloria & Massimiliano Margarone. User Testing a Hypermedia Tour Guide. IEEE Pervasive Computing, vol. 1, no. 2, pages 33–41, IEEE Educational Activities Department, Piscataway, NJ, USA, april 2002. [Benelli99] Giuliano Benelli, Alberto Bianchi, Patrizia Marti, David Sennati & E. Not. HIPS : Hyper-Interaction within Physical Space. Multimedia Computing and Systems, International Conference on, vol. 2, page 1075, IEEE Computer Society, Los Alamitos, CA, USA, 1999. [Bimber03] Oliver Bimber, L. Miguel Encarnação & Dieter Schmalstieg. The virtual showcase as a new platform for augmented reality digital storytelling. In Proceedings of the workshop on Virtual environments 2003, EGVE ’03, pages 87–95, New York, NY, USA, 2003. ACM. [Blauert83] Jens Blauert. Spatial Hearing : The Psychophysics of Human Sound Localization. vol. 508, The MIT Press ; revised edition (October 2, 1996), Cambridge, MA, USA, 1983. [Bosseur96] Jean-Yves Bosseur. Vocabulaire de la musique contemporaine. Editions Minerve, 1996. [Boulin10] Jean Luc Boulin. Réalité augmentée et M-tourisme en ville : Rotterdam et Amsterdam en Urban Augmented Reality. mobil’it studio, November 2010. [Bourdot06] Patrick Bourdot, Damien Touraine & Jean-Marc Vézien. Les techniques d intégration multimodale en environnement virtuel. In Traité de la Réalité Virtuelle, Volume 1 : L’interfaçage, l’immersion et l’interaction en environnement virtuel, volume 2 of Collection Sciences mathématiques et informatiques, pages 381–387. Les Presses de l’École des Mines de Paris, 2006. [Bouvier09] Patrice Bouvier. Thèse de doctorat : La présence en réalité virtuelle, une approche centrée sur l utilisateur. Préparée à : L’Université Paris-Est, France, 2009.BIBLIOGRAPHIE 173 [Brungart99] Douglas S. Brungart. Auditory localization of nearby sources. III. Stimulus effects. Journal of the Acoustical Society of America, vol. 106, no. 6, pages 3589–3602, Altera Corporation, 1999. [Burr06] David Burr & David Alais. Combining visual and auditory information. In Visual Perception Fundamentals of Awareness : Multi-Sensory Integration and High-Order Perception, volume 155, Part B of Progress in Brain Research, pages 243 – 258. Elsevier, 2006. [B.V.09] Xsens Technologies B.V. MTi and MTx User Manual and Technical Documentation. The Netherlands, 2009. http://edge.rit. edu/content/P10010/public/PDF/XsensMtx.pdf, consulté le : 11/09/2013. [Carro06] Manuel Carro, José F. Morales, Henk L. Muller, G. Puebla & M. Hermenegildo. High-level languages for small devices : a case study. In CASES ’06 : Proc. of the 2006 int. Conf. on Compilers, architecture and synthesis for embedded systems, pages 271–281, New York, NY, USA, 2006. ACM. [Carroll87] John M. Carroll & Mary Beth Rosson. The paradox of the active user. In Interfacing thought : cognitive aspects of human-computer interaction, pages 80–111. MIT Press, Cambridge, MA, USA, 1987. [Caruso00] Michael J Caruso. Applications of magnetic sensors for low cost compass systems. Position Location and Navigation Symposium, IEEE 2000, pages 177–184, IEEE, 2000. [Chalon04] René Chalon. Thèse de doctorat : Réalité Mixte et Travail Collaboratif : IRVO, un modèle de l Interaction Homme- Machine. Préparée à : L’Ecole Centrale de Lyon, France, 2004. [Cheverst00] Keith Cheverst, Nigel Davies, Keith Mitchell, Adrian Friday & Christos Efstratiou. Developing a context-aware electronic tourist guide : some issues and experiences. In Proceedings of the SIGCHI conference on Human Factors in Computing Systems, CHI ’00, pages 17–24, New York, NY, USA, 2000. ACM. [Cheverst02] Keith Cheverst, Keith Mitchell & Nigel Davies. The role of adaptive hypermedia in a context-aware tourist GUIDE. Communications of the ACM Journal, vol. 45, no. 5, pages 47–51, ACM, New York, NY, USA, may 2002. [Childs03] Edward Childs & Ville Pulkki. Using multi-channel spatialization in soni cation : A case study with meteorological data. Proceedings of the 9th International Conference on Auditory Display (ICAD2003), vol. 2003, Boston University Publications Production Department., Boston, USA, July 2003.174 BIBLIOGRAPHIE [Chueng02] Priscilla Chueng. Designing sound canvas : the role of expectation and discrimination. In CHI ’02 Extended Abstracts on Human Factors in Computing Systems, CHI EA ’02, pages 848–849, New York, NY, USA, 2002. ACM. [Coleman68] Paul D. Coleman. Dual Rôle of Frequency Spectrum in Determination of Auditory Distance. Journal of the Acoustical Society of America, pages 631–632, Altera Corporation, 1968. [Crawford03] Chris Crawford. Chris crawford on game design. New Riders Games, jun 2003. [Damala09] Areti Damala. Thèse de doctorat : Interaction Design and Evaluation of Mobile Guides for the Museum Visit : A Case Study in Multimedia and Mobile Augmented Reality. Préparée au : Centre d’étude et de recherche en Informatique du CNAM, Paris, France, 2009. [Damala10] Areti Damala, Isabelle Astic & Aunis Coline. PLUG, Université Paris Nuit : A Design Reiteration of a Mobile Museum Edutainment Application. In VAST’10, Virtual Reality, Archaeology and Cultural Heritage, The 8th EUROGRAPHICS Workshop on Graphics and Cultural Heritage, Short and Project Papers, Paris, France, September 21- 24, 2010, pages 91–94, September 2010. [Damala12] Areti Damala & Nenad Stojanovic. Tailoring the Adaptive Augmented Reality (A2R) Museum Visit : Identifying Cultural Heritage Professionals ? Motivations and Needs. Atlanta, Georgia, USA, 2012. [Damala13] Areti Damala, Tobias Schuchert, I. Rodriguez, J. Moragues, K. Gilleade & Ljiljana Stojanovic. Exploring the Affective Museum Visiting Experience : Adaptive Augmented Reality (A2R) and Cultural Heritage. International Journal of Heritage in the Digital Era, vol. 2, no. 1, pages 117–141, Multi Science Publishing, 2013. [Davies09] Russell Davies. Blog : La réalité augmentée sonore, 2009. http://www.la-realite-augmentee.fr/videos/ la-realite-augmentee-sonore, consulté le 03/09/2013. [Dean94] David Dean. Museum exhibition : theory and practice. The heritage : care, preservation, management programme. Routledge, Taylor and Francis Group, London, 1994. [Delerue02] Olivier Delerue & Olivier Warusfel. Authoring of virtual sound scenes in the context of the LISTEN project. In Proceedings of the AES 22nd International Conference on Virtual, Synthetic and Entertainment Audio, Helsinki, 2002. [Deshays02] Sophie Deshays. Audioguides et musées. pages 24–31, Office de Coopération et d’Information Muséales (OCIM), 2002.BIBLIOGRAPHIE 175 [Deshays04] Sophie Deshays. L usage des supports mobiles au musée, des audioguides classiques au multimédia nomade. In Digital Culture and Heritage. Partimoine and Culture Numérique (ICHIM 04), Haus der Kulturen der Welt, Berlin, Août 2004. [Dubois01a] Emmanuel Dubois. Thèse de doctorat : Chirurgie Augmentée, un cas de Réalité Augmentée. Conception et réalisation centrées sur l utilisateur. ANRT, Grenoble, 2001. Préparée au Laboratoire de Communication Langagière et Interaction Personne-Système (IMAG), Université Joseph Fourier. [Dubois01b] Emmanuel Dubois, Laurence Nigay & Jocelyne Troccaz. Consistency in Augmented Reality Systems. In Proceedings of the 8th IFIP International Conference on Engineering for Human-Computer Interaction, EHCI ’01, pages 111–122, London, UK, 2001. Springer-Verlag. [Dünser07a] Andreas Dünser, Raphael Grasset, Hartmut. Seichter & Mark Billinghurst. Applying HCI principles to AR systems design. Piscataway, NJ, USA, 2007. University of Canterbury. Human Interface Technology Laboratory. [Dünser07b] Andreas Dünser & Eva Hornecker. An observational study of children interacting with an augmented story book. In Proceedings of the 2nd international conference on Technologies for e-learning and digital entertainment, Edutainment’07, pages 305–315, Berlin, Heidelberg, 2007. Springer-Verlag. [Dünser08] Andreas Dünser, Raphaël Grasset & Mark Billinghurst. A survey of evaluation techniques used in augmented reality studies. In ACM SIGGRAPH ASIA 2008 courses, SIGGRAPH Asia ’08, pages 1–27, New York, NY, USA, 2008. ACM. [Durand11] Peggy Durand. Blog : La réalité augmentée, un nouvel outil au service du patrimoine. 2011. http://www.la-realite-augmentee. fr/videos/la-realite-augmentee-sonore, consulté le 03/09/2013. [Eckel01a] Gerhard Eckel. Immersive Audio-Augmented Environments - The LISTEN Project. In 5th Int. Conf. on Information Visualization (IV2001), Los Alamitos, CA, USA, 2001. [Eckel01b] Gerhard Eckel. The Vision of the LISTEN Project. In Proceedings of the Seventh International Conference on Virtual Systems and Multimedia (VSMM’01), VSMM ’01, pages 393–, Washington, DC, USA, 2001. IEEE Computer Society. [Faller04] Christof Faller & Juha Merimaa. Source localization in complex listening situations : Selection of binaural cues based on interaural coherence. Journal of the Acoustical Society of America, vol. 116, no. 5, pages 3075–3089, ASA, 2004.176 BIBLIOGRAPHIE [Farman12] Jason Farman. Mobile interface theory : Embodied space and locative media. Media studies. Taylor & Francis Group, 2012. [Fauche08] Anne Fauche. La médiation scienti que et culturelle de musée. Laboratoire de Didactique et d’Epistémologie des Sciences, 2008. [Filippini03] Fantoni Silvia Filippini. Personalization through it in museums. Does it really work ? the case of the marble museum web site. Proceedings of ICHIM03 on Cultural Institutions and Digital Technology, Paris, France, 2003. [Fink02] Josef Fink & Alfred Kobsa. User Modeling for Personalized City Tours. Artif. Intell. Rev., vol. 18, no. 1, pages 33–74, Kluwer Academic Publishers, Norwell, MA, USA, September 2002. [Fodróczi08] Zoltán Fodróczi & András Radványi. Localization of directional sound sources supported by a priori information of the acoustic environment. EURASIP J. Adv. Signal Process, vol. 2008, Hindawi Publishing Corp., New York, NY, United States, jan 2008. [Gabbard08] Joseph L. Gabbard & J. Edward Swan II. Usability Engineering for Augmented Reality : Employing User-Based Studies to Inform Design. IEEE Transactions on Visualization and Computer Graphics, vol. 14, no. 3, pages 513–525, IEEE Educational Activities Department, Piscataway, NJ, USA, may 2008. [Gaudy08] Thomas Gaudy. Thèse de doctorat : Etude et développements de jeux vidéo sonores accessibles aux personnes aveugles. Préparée au : Centre d’étude et de recherche en Informatique du CNAM, Paris, France, 2008. [Gee04] James Paul Gee. What video games have to teach us about learning and literacy. Palgrave Macmillan, New York, 2004. [Gilkey95] Robert H. Gilkey & Janet M. Weisenberger. The Sense of Presence for the Suddenly-Deafened Adult : Implications for Virtual Environments. Presence, vol. 4, no. 4, pages 357–363, 1995. [Gleue01] Tim Gleue & Patrick Dáhne. Design and implementation of a mobile device for outdoor augmented reality in the archeoguide project. In Proceedings of the 2001 conference on Virtual reality, archeology, and cultural heritage, VAST ’01, pages 161–168, New York, NY, USA, 2001. ACM. [GoBmann02] Joachim GoBmann & Marcus Specht. Location Models for Augmented Environments. Personal Ubiquitous Computing., vol. 6, pages 334– 340, Springer-Verlag, London, UK, January 2002. [GoBmann04] Joachim GoBmann. Connecting virtual sound and physical space in audioaugmented environments. Proceedings of ICAD 04. Meeting of theBIBLIOGRAPHIE 177 International Conference on Auditory Display, Sydney, Australia, 2004. [Golledge91] Reginald G. Golledge, Jack M. Loomis, Roberta L. Klatzky, Andreas Flury & Xiao-Li Yang. Designing a personal guidance system to aid navigation without sight : progress on the GIS component. International Journal of Geographical Information Science, vol. 5, no. 4, pages 373–395, 1991. [Golledge98] Reginald G. Golledge, Roberta L. Klatzky, Jack M. Loomis, Jon Speigle & Jerome Tietz. A Geographical Information System for a GPS Based Personal Guidance System. International Journal of Geographical Information Science, vol. 12, no. 7, pages 727–749, 1998. [Gonot08] Antoine Gonot. Thèse de doctorat : Conception et évaluation d interfaces de navigation dans les environnements sonores 3D. Préparée au : Centre d’étude et de recherche en Informatique du CNAM, Paris, France, 2008. [Hatala04] Marek Hatala, Leila Kalantari, Ron Wakkary & Kenneth Newby. Ontology and rule based retrieval of sound objects in augmented audio reality system for museum visitors. In ACM symposium on applied computing, SAC ’04, pages 1045–1050, New York, NY, USA, 2004. ACM. [Hatala05] Marek Hatala & Ron Wakkary. Ontology-Based User Modeling in an Augmented Audio Reality System for Museums. User Modeling and User-Adapted Interaction, vol. 15, no. 3-4, pages 339–380, Kluwer Academic Publishers, Hingham, MA, USA, 2005. [Heller09] Florian Heller, Thomas Knott, Malte Weiss & Jan Borchers. Multiuser interaction in virtual audio spaces. pages 4489–4494, ACM, New York, NY, USA, 2009. [Heller11] Florian Heller & Jan Borchers. Corona : Audio Augmented Reality in Historic Sites. MobileHCI 2011 Workshop on Mobile Augmented Reality : Design Issues and Opportunities, pages 51–54, Stockholm, Sweden, August 2011. [Holland02] Simon Holland, David R. Morse & Henrik Gedenryd. AudioGPS : Spatial Audio Navigation with a Minimal Attention Interface. Personal Ubiquitous Comput., vol. 6, no. 4, pages 253–259, Springer-Verlag, London, UK, 2002. [Inc.10] InterSense Inc. INERTIACUBE BT : Dynamic wireless inertial orientation sensor. MA 01821, USA, 2010. http: //www.est-kl.com/fileadmin/media/pdf/InterSense/ InertiaCube_BT_Datasheet.pdf, consulté le 11/09/2013.178 BIBLIOGRAPHIE [Jacob94] Robert J. K. Jacob, Linda E. Sibert, Daniel C. Mcfarlane & M. Preston Mullen. Integrality and Separability of Input Devices. ACM Transactions on Computer-Human Interaction, 1994. [Jacomy02] Bruno Jacomy. L’âge du plip, chroniques de l’innovation technique. Editions du Seuil, Février 2002. [Jones08] Matt Jones, Steve Jones, Gareth Bradley, Nigel Warren & David Bainbridge. ONTRACK : Dynamically adapting music playback to support navigation. Personal and Ubiquitous Computing, pages 513– 525, 2008. [Jot99] Jean-Marc Jot. Real-time spatial processing of sounds for music, multimedia and interactive human-computer interfaces. Multimedia Syst., vol. 7, no. 1, pages 55–69, Springer-Verlag New York, Inc., Secaucus, NJ, USA, January 1999. [Kang96] Seong-Hoon Kang & Sung-Han Kim. Realistic Audio Teleconferencing using Binaural and Auralization Techniques. Etri Journal, vol. 18, pages 41–51, 1996. [Katz10] Brian F.G. Katz, Philippe Truillet, Simon Thorpe & Christophe Jouffrais. NAVIG : Navigation Assisted by Arti cial Vision and GNSS. Workshop on Multimodal Location Based Techniques for Extreme Navigation - Pervasive 2010 conference, ACM, Helsinki, Finland, 2010. [Kionix07] Kionix. Tilt-Sensing with Kionix MEMS Accelerometers. Application Note AN005, 2007. [Kobsa01] Alfred Kobsa, Jürgen Koenemann & Wolfgang Pohl. Personalised hypermedia presentation techniques for improving online customer relationships. Knowl. Eng. Rev., vol. 16, no. 2, pages 111–155, Cambridge University Press, New York, NY, USA, march 2001. [Koizumi92] Nobuo Koizumi, Michael Cohen & Shigeaki Aoki. Design of Virtual Conferencing Environment in Audio Telecommunication. Audio Engineering Society Convention 92, March 1992. [Lefebvre91] Bernard Lefebvre & Hélène Lefebvre. Le visiteur, le guide et l éducation. Revue canadienne de l’éducation, pages 331–337, 1991. [Lemordant11] Jacques Lemordant. Indoor Outdoor AR Navigation - Autonomy Projet (Global Competitive Cluster Minalogic). Free & Open Source Software for GeoSpatial (FOSS4G), Osaka, Japan, 2011. [Leprado07] Cécile Leprado. LISTEN LISBOA : scripting languages for interactive musical installations. 4th Sound and Music Computing Conference (SMC), Lefkada, Greece, July 2007. [Légal07] Jean-Baptiste Légal. Cours universitaire : Métodologie Expérimentale. Université Paris X-Nanterre, 2007. http://j.b.legal.free.BIBLIOGRAPHIE 179 fr/Blog/share/Dynamiques/Methodo.pdf, consulté le : 11/09/2013. [Loomis98] Jack M. Loomis, Roberta L. Klatzky & Reginald G. Golledge. Auditory distance perception in real, virtual, and mixed environments. In Mixed reality : Merging real and virtual worlds, pages 201–214, Tokyo, Japon, 1998. [Lyons00] Kent Lyons, Maribeth Gandy & Thad Starner. Guided by Voices : An Audio Augmented Reality System. In PROCEEDINGS OF INTL. CONF. ON AUDITORY DISPLAY (ICAD) 2000, 2000. [Mackay93] Wendy Mackay, Gilles Velay, Kathy Carter, Chaoying Ma & Daniele Pagani. Augmenting reality : adding computational dimensions to paper. Commun. ACM, vol. 36, pages 96–97, ACM, New York, USA, July 1993. [Mackay96] Wendy Mackay. Réalité augmentée : le meilleur des deux mondes. La recherche, pages 32–37, 1996. http://www.larecherche.fr/savoirs/dossier/ realite-augmentee-meilleur-deux-mondes-01-03-\ \1996-87977, consulté le : 11/09/2013. [Mackay98] Wendy E. Mackay. Augmented reality : linking real and virtual worlds : a new paradigm for interacting with computers. In Proceedings of the working conference on Advanced visual interfaces, AVI ’98, pages 13–21, New York, USA, 1998. ACM. [Mallem08] Malik Mallem & David Roussel. Realite augmentee : Principes, technologies et applications. Ed. Techniques Ingénieur, Référence TE5920, 2008. [Mariette09] Nicholas Mariette & Brian F.G. Katz. Sounddelta - Large scale, Multiuser audio augmented reality. Proc. of the EAA Symposium on Auralization, Espoo, Finland, 2009. [Mariette10] Nicholas Mariette. Navigation performance effects of render method and head-turn latency in mobile audio augmented reality. In Proceedings of the 6th international conference on Auditory Display, CMMR/ICAD’09, pages 239–265, Berlin, Heidelberg, 2010. Springer-Verlag. [Middlebrooks91] John C. Middlebrooks & David M. Green. Sound Localization by Human Listeners. Annual Review of Psychology, vol. 42, no. 1, pages 135–159, Department of Neuroscience, University of Florida, Gainesville 32610., 1991. [Milgram94a] Paul Milgram & Fumio Kishino. A taxonomy of mixed reality visual displays. IEICE Transactions on Information Systems, 1994. [Milgram94b] Paul Milgram, Haruo Takemura, Akira Utsumi & Fumio Kishino. Augmented Reality : A Class of Displays on the Reality-Virtuality Conti-180 BIBLIOGRAPHIE nuum. pages 282–292, ATR Communication Systems Research Laboratories. Kyoto 619-02, Japan, 1994. [Milgram99] Paul Milgram & Herman Colquhoun Jr. A Taxonomy of Real and Virtual World Display Integration. International Symposium on Mixed Reality, 1999. [Mina10] An Xiao Mina. Louvre-DNP Museum Lab : Augmented Reality Dish. 2010. http://www.frequency.com/video/ louvre-dnp-museum-lab-augmented-reality/2260257, consulté le 10/09/2013. [Mladenic96] Dunja Mladenic. Personal WebWatcher : Implementation and Design. Rapport technique IJS-DP-7472, Department for Intelligent Systems, J. Stefan Institute, Slovenia, 1996. [Murat08] Aytekin Murat, Moss Cynthia F. & Simon Jonathan Z. A Sensorimotor Approach to Sound Localization. ACM Trans. Appl. Percept., vol. 20, no. 3, pages 603–635, MIT Press, Cambridge, MA, Etatsunis, 2008. [Nees08] Michael A. Nees & Bruce N. Walker. Data density and trend reversals in auditory graphs : Effects on point-estimation and trend-identi cation tasks. ACM Trans. Appl. Percept., vol. 5, no. 3, pages 13 :1–13 :24, ACM, New York, NY, USA, sep 2008. [Oberlander97] Jon Oberlander, Chris Mellish, Mick O’Donnell & Alistair Knott. Exploring a Gallery with Intelligent Labels. In International Cultural Heritage Informatics Meetings (ICHIM), pages 80–87, 1997. [O’Brien08] Trevor M. O’Brien, Daniel F. Keefe & David H. Laidlaw. A case study in using gestures and bimanual interaction to extend a high-DOF input device. In Proceedings of the 2008 symposium on Interactive 3D graphics and games, I3D ’08, pages 9 :1–9 :1, New York, NY, USA, 2008. ACM. [O’donnell01] Michael O’donnell, Chris Mellish, J Jon Oberlander & Alistair Knott. ILEX : an architecture for a dynamic hypertext generation system. Nat. Lang. Eng., vol. 7, no. 3, pages 225–250, Cambridge University Press, New York, NY, USA, September 2001. [Oppermann99] Reinhard Oppermann, Marcus Specht & Igor Jaceniak. Hippie : a nomadic information system. In 1st international symposium on Handheld and Ubiquitous Computing, HUC ’99, pages 330–333, London, UK, 1999. Springer-Verlag. [Owen05] Ruth Owen, Dimitrios Buhalis & Daniël Pletinckx. Visitors evaluations of ICTs used in cultural heritage. In Proceedings of the 6th International conference on Virtual Reality, Archaeology and Intelligent Cultural Heritage, VAST’05, pages 129–136, Aire-la-Ville, Switzerland, Switzerland, 2005. Eurographics Association.BIBLIOGRAPHIE 181 [Papagiannakis02] George Papagiannakis, Michal Ponder, Tom Molet, Sumedha Kshirsagar, Frederic Cordier, Nadia Magnenat-thalmann & Daniel Thalmann. LIFEPLUS : Revival of life in ancient Pompeii. In In Proceedings of the 8th International Conference on Virtual Systems and Multimedia (VSMM 02), pages 25–27, Gyeongju, Korea, 2002. [Paterson10] Natasa Paterson, Katsiaryna Naliuka, Soren Kristian Jensen, Tara Carrigy, Mads Haahr & Fionnuala Conway. Design, implementation and evaluation of audio for a location aware augmented reality game. In Fun and Games ’10 : Proceedings of the 3rd International Conference on Fun and Games, pages 149–156, New York, NY, USA, 2010. ACM. [Pazzani97] Michael Pazzani & Daniel Billsus. Learning and Revising User Proles : The Identi cation ofInteresting Web Sites. Machine Learning, vol. 27, pages 313–331, Kluwer Academic Publishers, Hingham, MA, USA, June 1997. [Peters10] Nils Peters. Thèse de doctorat : Sweet reproduction : Developing sound spatialization tools for musical applications with emphasis on sweet spot and off-center perception. Préparée à : Music Technology Area, Department of Music Research Schulich School of Music, McGill University Montreal, QC, Canada, 2010. [Petrelli99] Daniela Petrelli, Elena Not, Marcello Sarini, Oliviero Stock, Carlo Strapparava & Massimo Zancanaro. HyperAudio : location-awareness + adaptivity. In extended abstracts on Human factors in computing systems, CHI EA ’99, pages 21–22, New York, NY, USA, 1999. ACM. [Petrelli01] Daniela Petrelli, Elena Not, Massimo Zancanaro, Carlo Strapparava & Oliviero Stock. Modelling and Adapting to Context. Personal Ubiquitous Comput., vol. 5, pages 20–24, Springer-Verlag, London, UK, January 2001. [Petrie96] Helen Petrie, Valerie Johnson, Thomas Strothotte, Andreas Raab, Steffi Fritz & Rainer Michel. MOBIC : Designing a Travel Aid for Blind and Elderly People. The Journal of Navigation, vol. 49, no. 01, pages 45–52, 1996. [Pontus07] Larsson Pontus & Väljamäe Aleksander. Auditory-visual perception of room size in virtual environments. In Proceedings of the 19th International Congress on Acoustics, Madrid, Spain, September 2-7, 2007. [Proctor03] Nancy. Proctor & Jane. Burton. Tate modern multimedia tour pilot. In MLEARN 2003 conference, Learning with Mobile Devices, pages 127–130., The King’s College London & Tate Britain Colloquium, London, May 2003.182 BIBLIOGRAPHIE [Proctor05] Nancy Proctor. Off Base or On Target ? Pros and cons of wireless and location-aware applications in the museum. In Digital Culture and Heritage Patrimoine and Culture Numérique (ICHIM 05), Bibliothèque nationale de France, Paris, Septembre 2005. [Ran04] Lisa Ran, Sumi Helal & Steve Moore. Drishti : An Integrated Indoor/Outdoor Blind Navigation System and Service. In Proceedings of the Second IEEE International Conference on Pervasive Computing and Communications (PerCom’04), PERCOM ’04, page 23, Washington, DC, USA, 2004. IEEE Computer Society. [Randell04] Cliff Randell, Sara Price, Yvonne Rogers, Eric Harris & Geraldine Fitzpatrick. The Ambient Horn : designing a novel audio-based learning experience. Personal Ubiquitous Comput., vol. 8, no. 3-4, pages 177– 183, Springer-Verlag, London, UK, 2004. [Regenbrecht04] H Holger Regenbrecht, T. Lum, P. Kohler, Claudia Ott, Michael Wagner, Wilhelm Wilke & E. Mueller. Using augmented virtuality for remote collaboration. Presence : Teleoper. Virtual Environ., vol. 13, no. 3, pages 338–354, MIT Press, Cambridge, MA, USA, 2004. [Roads07] Curtis Roads. L’audionumérique : Musique et informatique, volume 672. Dunod édition : 2e édition révisée et actualisée (31 octobre 2007), 2007. [Robson94] Colin Robson. Experiment, design and statistics in psychology. Penguin Psychology Books, 1994. [Roentgen08] Uta R Roentgen, Gert Jan Gelderblom, Mathijs Soede & Luc P De Witte. Inventory of Electronic Mobility Aids for Persons with Visual Impairments : A Literature Review. Journal of Visual Impairment and Blindness, vol. 102, no. 11, pages 702–724, American Foundation for the Blind, 2008. [Roetenberg05] Daniel Roetenberg, Henk J. Luinge, Chris T. M. Baten & Peter H. Veltink. Compensation of magnetic disturbances improves inertial and magnetic sensing of human body segment orientation. IEEE Transactions on Neural Systems and Rehabilitation Engineering, vol. 13, pages 395–405, 2005. [Rolim12] Cledja Rolim & Veronica Teichrieb. A Viewpoint about Diminished Reality : Is it Possible Remove Objects in Real Time from Scenes ? pages 141–146, IEEE Computer Society, Washington, DC, USA, 2012. [Scapin97] Dominique L. Scapin & J. M. Christian Bastien. Ergonomic criteria for evaluating the ergonomic quality of interactive systems. Behaviour and Information Technology, pages 220–231, Taylor and Francis Ltd, July 1997. [Schafer10] Raymond Murray Schafer. Le paysage sonore : Le monde comme musique. Wildproject Editions, 2010.BIBLIOGRAPHIE 183 [Serrell96] Beverly Serrell. The Question of Visitor Styles. Jacksonville, Alabama, 1996. Center for Social Design. [Sodnik05] Jaka Sodnik, Rudolf Susnik, Mitja Stular & Saso Tomazic. Spatial sound resolution of an interpolated HRIR library. Applied Acoustics, Elsevier, Kidlington, UK, vol. 66, no. 4, pages 1219–1234, 2005. [Sodnik06] Jaka Sodnik, Saso Tomazic, Raphael Grasset, Andreas Duenser & Mark Billinghurst. Spatial sound localization in an augmented reality environment. In OZCHI ’06 : Proc. of the 18th Australia Conf. on Computer-Human Interaction, pages 111–118, Sydney, Australia, 2006. ACM. [Sparacino02] Flavia Sparacino. The Museum Wearable : Real-Time Sensor-Driven Understanding of Visitors Interests for Personalized Visually-Augmented Museum Experiences. In Museums and the Web, Boston, Massachusetts, U.S.A, 2002. [Sparkfun07] Electronics. Sparkfun. IMU 6 Degrees of Freedom v4 Data Sheet. Colorado, USA, 2007. https://www.sparkfun.com/datasheets/ Sensors/IMU/6DOF-v4-Rev1.pdf, consulté le : 10/09/2013. [Specht99] Marcus Specht, Reinhard Oppermann & Marcus Specht. User modeling and adaptivity in nomadic information systems. In Mimo Caenepeel, David Benyon and Duncan Smith (eds.), Proceedings of the i3 Annual Conference : Community of the Future, pages 65–68, 1999. [Stahl07] Christoph Stahl. The roaring navigator : a group guide for the zoo with shared auditory landmark display. pages 383–386, ACM, New York, NY, USA, 2007. [Stein11] Robert Stein & Nancy Proctor. TourML : An Emerging Speci cation for Museum Mobile Experiences. In Museums and the Web, Philadelphia, PA, U.S.A, April 2011. [Stock07] Oliviero Stock & Massimo Zancanaro. Peach : Intelligent interfaces for museum visits. Springer, Berlin, 2007. [Stojanovic12] Nenad Stojanovic, Areti Damala, Tobias Schuchert, Ljiljana Stojanovic, Stephen Fairclough & John Moores. Tutorial 1 : Adaptive augmented reality (A2R) : Where AR meets user s interest. pages 1–1, IEEE Computer Society, Washington, DC, USA, 2012. [Strachan05] Steven Strachan, Parisa Eslambolchilar, Roderick Murray-Smith, Stephen Hughes & Sile O’Modhrain. GpsTunes : controlling navigation via audio feedback. In MobileHCI ’05 : Proceedings of the 7th international conference on Human computer interaction with mobile devices & services, pages 275–278, New York, NY, USA, 2005. ACM.184 BIBLIOGRAPHIE [Strachan09] Steven Strachan & Roderick Murray-Smith. Bearing-based selection in mobile spatial interaction. Personal Ubiquitous Comput., vol. 13, no. 4, pages 265–280, Springer-Verlag, London, UK, 2009. [Sutherland68] Ivan E. Sutherland. A head-mounted three dimensional display. In Proceedings of the December 9-11, 1968, fall joint computer conference, part I, pages 757–764, New York, NY, USA, 1968. ACM. [Swan05] J. Edward II Swan & Gabbard Joseph L. Survey of User-Based Experimentation in Augmented Reality. In Proceedings of 1st International Conference on Virtual Reality, HCI International 2005, July 22-27 2005. [Sylaiou05] Stella Sylaiou, Fotis Liarokapis, Lazaros Sechidis, Petros Patias & Olga Georgoula. Virtual museums : First results of a survey on methods and tools. In the XXth International Symposium (the ICOMOS ISPRS Committee on Documentation of Cultural Heritage), pages 1138–1143, the CIPA International Archives for Documentation of Cultural Heritage, 2005. [Sylaiou08] Styliani Sylaiou, M. Economou, Athanasis Karoulis & Martin White. The evaluation of ARCO : a lesson in curatorial competence and intuition with new technology. Computers in Entertainment, vol. 6, no. 2, pages 23 :1–23 :18, ACM, New York, NY, USA, July 2008. [Taylor07] Robyn Taylor, Maryia Kazakevich, Pierre Boulanger, Manuel Garcia & Walter F. Bischof. Multi-modal Interface for Fluid Dynamics Simulations Using 3-D Localized Sound. In Proceedings of the 8th international symposium on Smart Graphics, SG ’07, pages 182–187, Berlin, Heidelberg, 2007. Springer-Verlag. [Thian12] Cherry Thian. Augmented Reality ?What Reality Can We Learn From It ? In Museums and the Web, San Diego, CA, USA, 2012. [Vazquez09] Yolanda Vazquez Alvarez & Stephen Brewster. Investigating background and foreground interactions using spatial audio cues. In Proceedings of the 27th international conference extended abstracts on Human factors in computing systems, CHI EA ’09, pages 3823– 3828, New York, NY, USA, 2009. ACM. [Véron96] Eliséo Véron & Martine Levasseur. Ethnographie de l exposition, l espace le corps et le sens. page 179, Bibliothèque publique d’information Du Centre Georges Pompidou, Paris, Mars 1996. [Vilatte07] Jean-Christophe Vilatte. Audioguides et musées. Formation « Evaluation », 2007. [Virolainen01] Jussi Virolainen. Thèse de Master : Design and Implementation of a Stereo Audio Conferencing System. préparée à : Helsinki University of Technology, 2001.BIBLIOGRAPHIE 185 [Wakkary07] Leprado Wakkary & Marek Hatala. Situated play in a tangible interface and adaptive audio museum guide. Personal Ubiquitous Computing, vol. 11, pages 171–191, Springer-Verlag, London, UK, February 2007. [Warusfel04] Olivier Warusfel & Gerhard Eckel. LISTEN - Augmenting everyday environments through interactive soundscapes. 2004. Virtual Reality for Public Consumption, IEEE Virtual Reality 2004 Workshop, Chicago IL 27. [Wellner93] Pierre Wellner. Interacting with paper on the DigitalDesk. Commun. ACM, vol. 36, no. 7, pages 87–96, ACM, New York, NY, USA, jul 1993. [Wilson07] Jeff Wilson, Bruce N. Walker, Jeffrey Lindsay, Craig Cambias & Frank Dellaert. SWAN : System for Wearable Audio Navigation. In Proceedings of the 11th International Syposium on Wearable Computers (ISWC), pages 91–98. IEEE, 2007. [Woodruff01] Allison Woodruff, Paul M. Aoki, Amy Hurst & Margaret H. Szymanski. Electronic Guidebooks and Visitor Attention. In Proceedings of the International Conference on Cultural Heritage and Technologies in the Third Millennium, pages 437–454, 2001. [Wuestefeld92] A. Paige Wuestefeld. Auditory looming perception : In uences on anticipatory judgments. Journal of The Acoustical Society of America, vol. 92, 1992. [Zahorik05] Pavel Zahorik, Douglas S Brungart & Adelbert W Bronkhorst. Auditory distance perception in humans : a summary of past and present research. Acta Acoustica united with Acustica, vol. 91, pages 409 – 420, S. Hirzel Verlag, 2005. [Zimmermann08] Andreas Zimmermann & Andreas Lorenz. LISTEN : a user-adaptive audio-augmented museum guide. User Modeling and User-Adapted Interaction, vol. 18, no. 5, pages 389–416, Kluwer Academic Publishers, Hingham, MA, USA, 2008.Fatima Zahra KAGHAT Modèle et expériences pour la visite de musées en réalité augmentée sonore Résumé Cette thèse consiste à explorer l’usage de la réalité augmenté sonore pour la visite de musées. Notre objectif est de proposer un audioguide permettant d’immerger le visiteur dans une scène sonore constituée de sons ambiants et de commentaires associés aux objets exposés, et de minimiser ses efforts pour découvrir ces objets et interagir avec cet environnement sonore. La première contribution de cette thèse concerne la mise en place d’une preuve de concept de SARIM (Sound Augmented Reality Interface for visiting Museum). Cette preuve de concept a été développée en utilisant des capteurs de position et d’orientation filaire et non filaire. La deuxième contribution concerne la modélisation de la visite augmentée par la dimension sonore. Après une étude des modèles existants, l’objectif est de concevoir un modèle comprenant une représentation du visiteur, du paysage sonore et de la navigation et offrant une grande flexibilité pour créer l’environnement sonore. Ce modèle a comme finalité de faciliter la conception de différents types de scénarios de visite sur la base de la notion de zone d’audibilité. La troisième contribution de cette thèse est le travail d’évaluation mené dans un environnement réel qu’est le musée des arts et métiers de Paris, et qui a permis de confirmer l’utilisabilité, ainsi que l’apport didactique et ludique que procure la réalité augmentée sonore en général et le système SARIM en particulier pour prolonger et enrichir la visite de musées. Mots clés Réalité augmentée, visite musée, captation de mouvement,personnalisation, modélisation, spatialisation sonore, audioguide Abstract The goal of this thesis is to explore the use of sound to enhance the museum visit. We aim to provide an audioguide to immerse the visitor in a soundstage consisting of ambient sounds and comments associated with the exhibits, and minimize its efforts to discover these objects and interact with the sound environment. The first contribution of this thesis is the implementation of a proof of concept of SARIM (Sound Augmented Reality Interface for visiting Museum). This proof of concept was developed using position sensors and guidance wired and wirelessly. The second contribution concerns the modeling of the augmented visit by the sound dimension. After a review of existing models, the objective is to design a model that includes a representation of the visitor, the soundscape and navigation, offering the flexibility to create the sound environment. This model has the purpose of facilitating the design of different types of scenarios based on the concept of audibility area. The Third contribution of this thesis is the evaluation conducted in a real environment what the Museum of Arts and Crafts in Paris, which confirmed the usability, as well as providing educational and ludic impact of the audio augmented reality in general and the SARIM in particular to extend and enrich the museum visits. Keywords Augmented reality, museum visit, motion tracking, context aware, adaptive system, user modeling, sound spatialization, audioguide Cryptographie sur les courbes elliptiques et tol´erance aux pannes dans les r´eseaux de capteurs Yanbo Shou To cite this version: Yanbo Shou. Cryptographie sur les courbes elliptiques et tol´erance aux pannes dans les r´eseaux de capteurs. Performance. Universit´e de Franche-Comt´e, 2014. French. . HAL Id: tel-01089451 https://tel.archives-ouvertes.fr/tel-01089451 Submitted on 1 Dec 2014 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destin´ee au d´epˆot et `a la diffusion de documents scientifiques de niveau recherche, publi´es ou non, ´emanant des ´etablissements d’enseignement et de recherche fran¸cais ou ´etrangers, des laboratoires publics ou priv´es.Thèse de Doctorat é c o l e d o c t o r a l e s c i e n c e s p o u r l ’ i n g é n i e u r e t m i c r o t e c h n i q u e s U N I V E R S I T É D E F R A N C H E - C O M T É n Cryptographie sur les courbes elliptiques et tolérance aux pannes dans les réseaux de capteurs YANBO SHOUThèse de Doctorat é c o l e d o c t o r a l e s c i e n c e s p o u r l ’ i n g é n i e u r e t m i c r o t e c h n i q u e s U N I V E R S I T É D E F R A N C H E - C O M T É THÈSE présentée par YANBO SHOU pour obtenir le Grade de Docteur de l’Université de Franche-Comté Spécialité : Informatique Cryptographie sur les courbes elliptiques et tolérance aux pannes dans les réseaux de capteurs Soutenue publiquement le 10/09/2014 devant le Jury composé de : HERVÉ GUYENNET Directeur de thèse Professeur à l’Université de Franche-Comté J. -C. LAPAYRE Examinateur Professeur à l’Université de Franche-Comté MARC BUI Rapporteur Professeur à l’EPHE - Sorbonne, Paris ABDELHAMID MELLOUK Rapporteur Professeur à l’Université Paris-Est Créteil N ◦ X X XREMERCIEMENTS La réalisation d’une thèse n’est pas le résultat du travail d’un seul homme, mais de son interaction avec tous ceux gravitant autour de lui pour l’aider théoriquement, techniquement et humainement. Ainsi je tiens à remercier tous ceux qui m’ont de prêt ou de loin apporter leur soutien : – en premier lieu Hervé Guyennet, qui par son écoute et ses précieux conseils m’a permis de mener à terme cette aventure. Il aura été au cours de ces 3 ans bien plus qu’un simple directeur de thèse et je le remercie de m’avoir accordé sa confiance et de m’avoir permis de développer mes idées. – Marc Bui et Abdelhamid Mellouk pour avoir accepté de donner de leurs temps libre pour rapporter cette thèse et apporter des critiques pertinentes et constructives. – Jean-Christophe Lapayre pour l’intérêt qu’il a suscité de mon travail et pour avoir accepté de participer à mon jury. – Les membres du Femto-ST/DISC, maîtres de conférences et professeurs qui m’ont accueilli et grâce à qui se rendre au laboratoire n’était pas un fardeau. – Mes collègues de l’équipe CARTOON : Youssou Faye, Mathias Coqblin, Julien Bernard, Adel Elgaber, Violetta Felea pour leur sympathie et les discussions de recherche constructives. – Tous les doctorants et anciens doctorants pour le temps passé ensemble et l’esprit de corps qu’ils ont su maintenir. – Mes parents qui ont été une autre source de soutien et d’encouragement et sans qui je n’aurais jamais pu prétendre atteindre un si haut niveau universitaire. Ils m’ont toujours soutenu dans mes choix et je les en remercie infiniment. – Ma famille et mes amis qui ont toujours été présents pour moi. – Tous ceux que j’ai oublié, qui par des mots ou des actes ont aidé à la construction de cette thèse. vSOMMAIRE 1 Introduction générale 1 2 Réseaux de capteurs et problèmes de sécurité 5 2.1 Les réseaux de capteurs sans fil . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.1 Définition d’un capteur . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.2 Architecture des capteurs . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.3 Réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.4 Domaines d’application . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.4.1 Applications militaires . . . . . . . . . . . . . . . . . . . . . 8 2.1.4.2 Applications environnementales . . . . . . . . . . . . . . . 9 2.1.4.3 Applications médicales . . . . . . . . . . . . . . . . . . . . 9 2.1.4.4 Domotique . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2 Spécificités des réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . 10 2.2.1 Énergie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2 Puissance de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.3 Sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 Problèmes de sécurité dans les réseaux de capteurs . . . . . . . . . . . . . 13 2.3.1 Écoute passive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.2 Analyse du trafic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.3 Brouillage radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.4 Inondation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.5 Trou noir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.6 Réplication des données . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3.7 Vol d’identité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.8 Attaque physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.9 Variations des attaques . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4 Mécanismes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4.1 Clé d’authentification dynamique . . . . . . . . . . . . . . . . . . . . 17 viiviii SOMMAIRE 2.4.2 Réseaux de confiance . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4.3 Stéganographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4.4 Cryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4.4.1 Cryptographie symétrique . . . . . . . . . . . . . . . . . . 19 2.4.4.2 Cryptographie asymétrique . . . . . . . . . . . . . . . . . . 20 2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3 Cryptographie sur les courbes elliptiques 23 3.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.1 Groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.2 Groupe abélien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.3 Groupe cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.4 Anneau unitaire et anneau commutatif . . . . . . . . . . . . . . . . . 25 3.1.5 Corps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.6 Corps fini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.6.1 Corps premier . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.6.2 Corps binaire . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2 Présentation de la courbe elliptique . . . . . . . . . . . . . . . . . . . . . . . 26 3.2.1 Définition de courbe elliptique . . . . . . . . . . . . . . . . . . . . . . 26 3.2.2 Loi de composition sur les courbes elliptiques . . . . . . . . . . . . . 27 3.2.3 Multiplication de point . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.4 Algorithme d’Euclide étendu . . . . . . . . . . . . . . . . . . . . . . 29 3.2.5 Problème du logarithme discret sur les courbes elliptiques . . . . . . 30 3.3 Optimisation de la performance de multiplication scalaire . . . . . . . . . . 31 3.3.1 Méthode NAF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.2 Méthode de la fenêtre . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3.3 Système de coordonnées projectives . . . . . . . . . . . . . . . . . 34 3.3.3.1 Doublement de point . . . . . . . . . . . . . . . . . . . . . 34 3.3.3.2 Addition de point . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3.4 Réduction de scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.5 Multiplication scalaire parallèle . . . . . . . . . . . . . . . . . . . . . 37 3.4 Protocoles cryptographiques basés sur ECC . . . . . . . . . . . . . . . . . 41 3.4.1 Elgamal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.4.1.1 Chiffrement et déchiffrement . . . . . . . . . . . . . . . . . 41 3.4.1.2 Signature numérique . . . . . . . . . . . . . . . . . . . . . 43SOMMAIRE ix 3.4.2 Elliptic Curve Integrated Encryption Scheme (ECIES) . . . . . . . . 44 3.4.3 Elliptic Curve Digital Signature Algorithm (ECDSA) . . . . . . . . . 46 3.4.4 Elliptic Curve Menezes Qu Vanstone (ECMQV) . . . . . . . . . . . . 46 3.4.5 Elliptic Curve Massey-Omura (EC Massey-Omura) . . . . . . . . . . 48 3.5 Comparaison de performance entre ECC et RSA . . . . . . . . . . . . . . . 49 3.5.1 Génération de clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.5.2 Signature numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.5.3 Vérification de signature . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.5.4 Comparaison de performance . . . . . . . . . . . . . . . . . . . . . . 50 3.6 Attaques des cryptosystèmes embarqués basés sur ECC . . . . . . . . . . 51 3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4 Multiplication scalaire parallèle 55 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2 Calcul parallèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.1 Taxonomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.2 Accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.2.3 Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.3 Calcul parallèle dans les réseaux de capteurs . . . . . . . . . . . . . . . . . 62 4.3.1 Accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.3.2 Consommation d’énergie . . . . . . . . . . . . . . . . . . . . . . . . 62 4.3.3 Connexion sans fil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.3.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.4 Parallélisation des multiplications scalaires . . . . . . . . . . . . . . . . . . 64 4.4.1 Décomposition des données . . . . . . . . . . . . . . . . . . . . . . 65 4.4.2 Parallélisation sans points précalculés . . . . . . . . . . . . . . . . . 66 4.4.3 Protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.5 Arithmétique multiprécision . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.5.1 Addition et soustraction . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.5.2 Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.5.3 Réduction modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.6 Evaluation de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.6.1 Parallélisation avec points précalculés . . . . . . . . . . . . . . . . . 77 4.6.2 Parallélisation sans points précalculés . . . . . . . . . . . . . . . . . 80x SOMMAIRE 4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5 Tolérance aux pannes dans les RCSF 83 5.1 Objectif de la tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . 84 5.1.1 Détection de fautes . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.1.2 Restauration de fonctionnalités . . . . . . . . . . . . . . . . . . . . . 85 5.2 Sources de pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.2.1 Nœud défectueux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.2.2 Perturbation de réseaux . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.2.3 Dysfonctionnement de la station de base . . . . . . . . . . . . . . . 87 5.3 Techniques de détection de pannes . . . . . . . . . . . . . . . . . . . . . . 87 5.3.1 Diagnostic local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.3.2 Diagnostic en groupe . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.3.3 Diagnostic hybride . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.3.4 Diagnostic hiérarchique . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.4 Techniques de restauration . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.4.1 Réplication active . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.4.1.1 Redondance de chemin de routage . . . . . . . . . . . . . 93 5.4.1.2 Redondance de données collectées . . . . . . . . . . . . . 93 5.4.2 Réplication passive . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.4.2.1 Sélection de nœud principal . . . . . . . . . . . . . . . . . 95 5.4.2.2 Sélection en groupe . . . . . . . . . . . . . . . . . . . . . . 95 5.4.2.3 Réaffectation de membres . . . . . . . . . . . . . . . . . . 95 5.4.3 Distribution de services . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.4.3.1 Distribution de codes . . . . . . . . . . . . . . . . . . . . . 96 5.4.3.2 Distribution de tâches . . . . . . . . . . . . . . . . . . . . . 96 5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6 Tolérance aux pannes pour le calcul parallèle 99 6.1 Erreurs possibles durant le calcul parallèle . . . . . . . . . . . . . . . . . . . 100 6.1.1 Perte de résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.1.2 Données corrompues . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.1.3 Nœud maître défectueux . . . . . . . . . . . . . . . . . . . . . . . . 101 6.2 Contre-mesures contre les pannes possibles . . . . . . . . . . . . . . . . . 102 6.2.1 Sélection des nœuds de secours . . . . . . . . . . . . . . . . . . . . 102 6.2.2 Détection de perte de résultat . . . . . . . . . . . . . . . . . . . . . . 103SOMMAIRE xi 6.2.3 Vérification de résultat . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.3 Simulation et évaluation de performance . . . . . . . . . . . . . . . . . . . 106 6.3.1 Simulateur et configuration . . . . . . . . . . . . . . . . . . . . . . . 106 6.3.2 Test sans assez de nœuds disponibles (n ≤ 4) . . . . . . . . . . . . 107 6.3.3 Test avec assez de nœuds disponibles (n ≤ 8) . . . . . . . . . . . . 108 6.3.4 Test en présence de pannes . . . . . . . . . . . . . . . . . . . . . . 109 6.3.4.1 Résultat erroné . . . . . . . . . . . . . . . . . . . . . . . . 109 6.3.4.2 Résultat perdu . . . . . . . . . . . . . . . . . . . . . . . . . 110 6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 7 Conclusion 113 Application d’ECC dans un système de surveillance 127 .1 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 .1.1 Architecture du système . . . . . . . . . . . . . . . . . . . . . . . . . 128 .1.2 Processeur embarqué . . . . . . . . . . . . . . . . . . . . . . . . . . 129 .1.3 Réseau de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 .2 Problèmes de sécurité dans notre système . . . . . . . . . . . . . . . . . . 130 .3 Application d’un cryptosystème basé sur ECC . . . . . . . . . . . . . . . . . 131 .3.1 Configuration du cryptosystème . . . . . . . . . . . . . . . . . . . . 132 .3.2 Protocole cryptographique . . . . . . . . . . . . . . . . . . . . . . . 133 .3.3 Calcul parallèle des multiplications scalaires . . . . . . . . . . . . . 134 .4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Déroulement de l’algorithme d’Euclide étendu 137TABLE DES FIGURES 2.1 Architecture d’un nœud sans fil actuel . . . . . . . . . . . . . . . . . . . . . 7 2.2 Exemple de réseaux de capteurs sans fil . . . . . . . . . . . . . . . . . . . . 8 2.3 Capteurs déployés pour la protection d’environnement . . . . . . . . . . . . 9 2.4 Mesure de la tension artérielle et le battement de cœur avec des capteurs . 10 2.5 Attaque d’inondation de message HELLO . . . . . . . . . . . . . . . . . . . 15 2.6 Attaque de trou noir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1 Exemples de courbe elliptique . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2 Addition de points sur les courbes elliptiques . . . . . . . . . . . . . . . . . 28 3.3 Exemples des multiplications scalaires équivalentes . . . . . . . . . . . . . 37 3.4 Architecture double-processeur pour l’algorithme de calcul parallèle proposé 40 3.5 Échange de clés Diffie-Hellman . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.6 Protocole de chiffrement d’Elgamal . . . . . . . . . . . . . . . . . . . . . . . 42 3.7 Protocole de signature numérique d’Elgamal . . . . . . . . . . . . . . . . . 44 3.8 Protocole de chiffrement ECIES . . . . . . . . . . . . . . . . . . . . . . . . 45 3.9 Protocole de signature numérique ECDSA . . . . . . . . . . . . . . . . . . . 47 3.10 Protocole d’échange de clés ECMQV . . . . . . . . . . . . . . . . . . . . . 48 3.11 Machine de chiffrement à rotor . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.12 Attaque par analyse de la consommation électrique . . . . . . . . . . . . . 52 4.1 Accès aux données avec la mémoire partagée . . . . . . . . . . . . . . . . 58 4.2 Accès aux données avec la mémoire distribuée . . . . . . . . . . . . . . . . 59 4.3 Synchronisation d’accès aux données . . . . . . . . . . . . . . . . . . . . . 60 4.4 Tolérance aux pannes avec la redondance de composants . . . . . . . . . 61 4.5 Tolérance aux pannes avec la redondance de résultats . . . . . . . . . . . . 61 4.6 Tolérance aux pannes avec la redondance de nœuds . . . . . . . . . . . . 64 4.7 Clusters dans un réseau de capteurs . . . . . . . . . . . . . . . . . . . . . . 69 4.8 Collection de données dans un réseau de capteurs . . . . . . . . . . . . . . 69 4.9 Procédure de multiplication scalaire parallèle . . . . . . . . . . . . . . . . . 70 4.10 Plate-forme Telosb de Crossbow Technology . . . . . . . . . . . . . . . . . 75 xiiixiv TABLE DES FIGURES 4.11 Déploiement des nœuds pour le test de performance . . . . . . . . . . . . . 77 4.12 Temps de calcul (ms) de notre méthode de parallélisme . . . . . . . . . . . 78 4.13 Speedup S p = T1 Tp de notre méthode de parallélisme . . . . . . . . . . . . . 78 4.14 Surcoût (ms) de notre méthode de parallélisme . . . . . . . . . . . . . . . . 79 4.15 Consommation d’énergie (Joule) de notre méthode de parallélisme . . . . . 80 5.1 Dispositifs utilisés dans le projet MainPreSi . . . . . . . . . . . . . . . . . . 86 5.2 Exemple de la topologie d’arbre . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.3 Déploiement d’un réseau de capteurs hétérogène . . . . . . . . . . . . . . 94 5.4 Exemple d’un réseau hétérogène 3-connecté . . . . . . . . . . . . . . . . . 94 5.5 Structures de données utilisées dans Deluge . . . . . . . . . . . . . . . . . 96 6.1 Multiplication scalaire parallèle avec la détection de perte de résultat . . . . 104 6.2 Multiplication scalaire parallèle avec la vérification de résultat . . . . . . . . 105 6.3 Parallélisation sans assez de nœuds disponibles (n ≤ 4) . . . . . . . . . . . 108 6.4 Parallélisation avec assez de nœuds disponibles (n ≤ 8) . . . . . . . . . . . 109 6.5 Parallélisation avec la détection de résultat erroné . . . . . . . . . . . . . . 110 6.6 Parallélisation avec la détection de résultat perdu . . . . . . . . . . . . . . . 111 1 Un système de purification d’eau alimenté par des panneaux solaires . . . 127 2 Architecture de notre système de purification d’eau . . . . . . . . . . . . . . 128 3 Réseau de capteurs de notre système de purification d’eau . . . . . . . . . 130 4 Attaques dans notre système de purification d’eau . . . . . . . . . . . . . . 131 5 Application de la parallélisation des multiplications scalaires . . . . . . . . . 134LISTE DES TABLES 3.1 Courbe E(Fp) : y 2 = x 3 + ax + b avec un générateur G(xG, yG) de l’ordre n . . 31 3.2 Nombre d’opérations pour calculer une addition et un doublement sur y 2 = x 3 − 3x + b. A : Affine, P : Projective standard, J : Jacobienne, I : Inversion modulaire, M : Multiplication, S : Carré . . . . . . . . . . . . . . . . . . . . . 36 3.3 Longueur de clé en bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.4 Temps d’exécution pour la génération de clés . . . . . . . . . . . . . . . . . 50 3.5 Temps d’exécution pour la signature numérique . . . . . . . . . . . . . . . . 51 3.6 Temps d’exécution pour la vérification de signature . . . . . . . . . . . . . . 51 4.1 Taxonomie de Flynn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2 Comparaison techniques des connexions sans fil . . . . . . . . . . . . . . . 63 4.3 Répartition des coefficients du polynôme c mod p192 . . . . . . . . . . . . . 74 4.4 Caractéristiques techniques de plate-forme Telosb . . . . . . . . . . . . . . 75 4.5 Paramètres recommandés du standard NIS T192 . . . . . . . . . . . . . . . 76 4.6 Temps de calcul (ms) de notre méthode de parallélisme . . . . . . . . . . . 77 4.7 Speedup de notre méthode de parallélisme . . . . . . . . . . . . . . . . . . 78 4.8 Surcoût (ms) moyen de notre méthode de parallélisme . . . . . . . . . . . . 79 4.9 Mémoire nécessaire (octet) pour stocker des points précalculés . . . . . . . 79 4.10 Consommation d’énergie (Joule) de notre méthode de parallélisme . . . . . 80 4.11 Temps de calcul (ms) pour préparer des points 2 xG . . . . . . . . . . . . . . 81 4.12 Temps de calcul (ms) avec le parallélisme sans points précalculés . . . . . 81 6.1 Paramètre de la courbe elliptique utilisée . . . . . . . . . . . . . . . . . . . 106 6.2 Consommation de mémoire pour le stockage des données . . . . . . . . . 106 6.3 Performance sans nœud de secours (n ≤ 4) . . . . . . . . . . . . . . . . . . 107 6.4 Performance avec nœuds de secours (n ≤ 4) . . . . . . . . . . . . . . . . . 108 6.5 Performance avec suffisamment de nœuds de secours (n ≤ 8) . . . . . . . 109 6.6 Performance avec la détection de résultat erroné . . . . . . . . . . . . . . . 110 6.7 Performance avec la détection de résultat perdu . . . . . . . . . . . . . . . 110 1 Comparaison des caractéristiques techniques entre MSC-51 et MSP430 . . 129 xvxvi LISTE DES TABLES 2 Exemple de l’algorithme d’Euclide . . . . . . . . . . . . . . . . . . . . . . . 137 3 Exemple de l’algorithme d’Euclide étendu . . . . . . . . . . . . . . . . . . . 1371 INTRODUCTION GÉNÉRALE Grâce au développement très rapide du domaine de la micro-électronique, ces dernières années ont été marquées par un grand progrès des techniques des réseaux de capteurs sans fil. Ces petits dispositifs compacts, appelés aussi des nœuds intelligents, peuvent être programmés et déployés dans une zone d’intérêt pour mesurer des grandeurs physiques. Ils sont équipés des technologies de communication sans fil qui leur permettent de communiquer entre eux pour former automatiquement des réseaux et envoyer des données collectées. Le nœud intelligent, qui fait partie du domaine de l’électronique, est en effet un nouveau venu du monde informatique. La nécessité d’une couche logicielle a fait intervenir des informaticiens qui essaient de mettre en œuvre tous les moyens possibles pour perfectionner son fonctionnement et diversifier ses fonctionnalités. Aujourd’hui, suite à l’essor des systèmes embarqués et l’arrivée de l’Internet des objets, ce genre de dispositifs sont de plus en plus présents partout dans notre vie quotidienne. Cependant, le déploiement et l’interconnexion massifs des nœuds ont aussi relevés de grands défis technologiques qui ont intéressé de nombreux chercheurs. Ainsi, de nouvelles thématiques de recherche ont été créées par la communauté scientifique pour répondre aux exigences de plusieurs domaines d’application, comme la surveillance des catastrophes naturelles, la protection de l’environnement et le suivi des traitements des patients [2, 112]. Comme les réseaux traditionnels, les réseaux de capteurs subissent aussi de nombreuses attaques, qui consistent à espionner et perturber les communications entre les nœuds. Depuis des siècles, la sécurité d’informations est toujours un des sujets les plus discutés, et l’évolution de la société humaine a aussi renforcé son importance, notamment dans les domaines militaires et industriels. C’est aussi la raison pour laquelle d’importants moyens financiers sont mis en place par les états ou les grandes entreprises pour s’assurer de la confidentialité de leurs informations ou pour contourner ces sécurités et récupérer des informations cruciales. Dans le monde informatique, l’augmentation impressionnante de la puissance de calcul des processeurs permet de déchiffrer un message dans un temps de plus en plus court. De ce fait, afin d’augmenter la sécurité d’un système, la solution la plus adaptée est d’augmenter la taille des clés de chiffrement pour augmenter le temps nécessaire à déchiffrer un message [65]. Dans les réseaux numériques, la cryptographie est toujours considérée comme une des solutions dominantes pour assurer la confidentialité des informations. La nature de cette 12 CHAPITRE 1. INTRODUCTION GÉNÉRALE solution permet de rendre un message illisible en utilisant un ensemble de méthodes mathématiques, qui sont conçues pour réaliser une telle transformation en leur fournissant une clé de chiffrement. Hormis le chiffrement, elle utilise des méthodes complémentaires, qui nous offrent une protection plus sûre en assurant l’authenticité et l’intégrité. L’utilisation de la cryptographie implique souvent des calculs compliqués et intensifs, qui ne posent pas de problèmes sérieux pour les systèmes sans contrainte de ressources. La plupart de cryptosystèmes peuvent montrer une performance satisfaisante sur les processeurs modernes, qui possèdent une puissance de calcul suffisamment élevée pour gérer ce genre de calculs. Cependant l’application de la cryptographie dans les réseaux de capteurs reste encore un challenge à relever. La plupart des nœuds intelligents utilisent des micro-contrôleurs comme unité de traitement, qui est aussi considérée comme le composant le plus important. Un microcontrôleur est chargé de la coordination de toutes les opérations qu’un nœud peut effectuer, c’est un circuit intégré programmable qui rassemble tous les éléments essentiels d’un ordinateur, comme le processeur, la mémoire et les interfaces entrée/sortie. Il possède souvent une puissance de calcul et une mémoire très limitée, son processeur est censé exécuter de petits programmes qui effectuent des opérations simple. Sans optimisation extrême et technique spéciale, un micro-contrôleur n’est pas capable de gérer des calculs mathématiques très compliqués. Il existe 2 types de cryptographie principales, symétrique et asymétrique. La cryptographie symétrique offre une performance de calcul plus intéressante sans utiliser une clé extrêmement longue. Cependant, comme on partage la même clé pour le chiffrement et le déchiffrement, au sein d’un réseau de capteurs contenant un grand nombre de nœuds, la mise en place d’une distribution sûre des clés devient donc un problème urgent et sé- rieux. Contrairement à la cryptographie symétrique, la cryptographie asymétrique offre des protocoles sophistiqués pour la génération de clés, et elle nous permet aussi de signer des messages. Cependant, l’application de cette solution nécessite l’utilisation des clés beaucoup plus longues et des calculs plus complexes. Aujourd’hui, RSA (Ron - Shamir - Adleman) est toujours le cryptosystème asymétrique le plus utilisé, mais pour pouvoir avoir une sécurité assez robuste, il faut utiliser une clé dont la longueur est comprise entre 1024 et 2048. Par rapport à RSA, ECC (Cryptographie sur les Courbes Elliptiques) est un autre cryptosystème asymétrique qui a récemment attiré l’attention des chercheurs, car elle peut offrir la même robustesse que RSA avec une clé beaucoup plus courte, et il existe aussi des méthodes mathématiques qui nous permettent d’améliorer sa performance. Certains chercheurs pensent que ECC deviendra le remplaçant de RSA, notamment dans le domaine des systèmes embarqués. C’est pourquoi pendant nos travaux de cherche, nous avons étudié la possibilité d’appliquer l’ECC dans les réseaux de capteurs d’une manière efficace, car les opérations sur les courbes elliptiques sont encore très compliquées pour les micro-contrôleurs, notamment la multiplication de point, appelée aussi la multiplication scalaire, qui est considérée comme l’opération la plus coûteuse sur les courbes. Dans cette thèse, nous cherchons à accélérer le calcul des multiplications scalaires en utilisant la technique de parallélisation qui consiste à découper le calcul en plusieurs tâches indépendantes qui peuvent être traitées simultanément par des nœuds différents. L’intérêt principal d’un déploiement massif des nœuds est d’avoir beaucoup de nœuds3 disponibles qui peuvent coopérer étroitement pour réaliser un objectif commun. De plus, comme les nœuds sont des dispositifs fragiles qui risquent de tomber en panne pendant le traitement des tâches, dans cette thèse, nous proposons également une technique de tolérance aux pannes pour rendre la procédure du calcul parallèle plus stable. PLAN DE LA THÈSE Cette thèse est composées de 5 chapitres : Le premier chapitre introduit le terme de réseaux de capteurs sans fil en présentant l’architecture des nœuds et les domaines d’application. Ensuite nous présentons les spéci- ficités inhérentes aux réseaux de capteurs, comme la consommation d’énergie, la puissance de calcul etc. La partie la plus importante dans ce chapitre est une taxonomie des attaques qui peuvent sérieusement menacer la sécurité d’informations dans ce genre de réseau. Pour terminer, nous donnons une liste de solutions qui sont fréquemment utilisées dans la littérature pour protéger les réseaux. Dans le chapitre 3, nous présentons un état de l’art de la cryptographie sur les courbes elliptiques. Nous commençons par des concepts mathématiques qui sont indispensables pour comprendre le fonctionnement d’ECC. Ensuite nous donnons la définition de courbe elliptique, les opérations élémentaires, ainsi que le problème du logarithme discret sur lequel se base le cryptosystème. Dans les sections suivantes, nous présentons un ensemble de méthodes mathématiques qui nous permettent d’accélérer les calculs sur les courbes elliptiques, et les protocoles cryptographiques principaux qui sont basés sur ECC. La dernière partie du chapitre est une comparaison entre ECC et RSA, l’autre cryptosystème asymétrique qui est largement utilisé en pratique. Afin d’accélérer le calcul des multiplications scalaires sur les courbes elliptiques, dans le chapitre 4, nous proposons d’appliquer le parallélisme au sein des réseaux de capteurs. Avant de donner notre solution, nous présentons d’abord les facteurs qu’il faut prendre en considération lors du déploiement d’un système de calcul parallèle, ensuite les spécificités des réseaux de capteurs dont il faut tenir compte quand on essaie d’implanter cette architecture dans ce genre de réseau. Puis nous présentons notre technique de parallélisation avec l’ensemble d’algorithmes et de protocoles que nous avons utilisé pour l’implémentation. Enfin, nous validons notre solution avec un test de performance qui montre que la parallélisation peut donner une accélération de calcul importante malgré une augmentation de consommation d’énergie. Le calcul parallèle est une procédure complexe qui risque d’être interrompu par des pannes éventuelles. En outre, les nœuds sont très fragiles face aux environnements dif- ficiles dans lesquels ils sont déployés. C’est pourquoi nous nous intéressons dans le chapitre 5 au problème de tolérance aux pannes. Nous commençons par l’identification des objectifs principaux des mécanismes de tolérance aux pannes, ensuite nous pré- sentons les méthodes de diagnostic qui existent dans la littérature, et puis nous nous rendons compte que la solution la plus efficace et facile à mettre en place est la redondance. Nous étudions donc les différentes techniques qui sont basées sur la redondance que nous pouvons mettre en place pour restaurer les fonctionnalités des réseaux en cas de pannes. Nous avons identifié 3 types de panne qui peuvent éventuellement survenir pendant le4 CHAPITRE 1. INTRODUCTION GÉNÉRALE calcul parallèle des multiplications scalaires : résultat perdu, résultat erroné et nœud maître défectueux. Pour que le réseau puisse détecter les pannes et restaurer le calcul parallèle, nous présentons dans le chapitre 6 la solution de tolérance aux pannes que nous avons proposée. Afin de tester ses performances, nous avons développé un simulateur qui peut exécuter la procédure de calcul parallèle en prenant en compte les mécanismes de tolérance aux pannes proposés. Les résultats ont montré que notre solution peut restaurer le calcul parallèle en cas des pannes sans avoir un impact négatif important. Nous concluons cette thèse dans le dernier chapitre en rappelant les avantages et les inconvénients des solutions proposées, ensuite nous donnons également des perspectives des travaux de recherche en vue d’améliorer leurs performances dans les réseaux de capteurs.2 RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ Sommaire 2.1 Les réseaux de capteurs sans fil . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.1 Définition d’un capteur . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.2 Architecture des capteurs . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.3 Réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.4 Domaines d’application . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Spécificités des réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . 10 2.2.1 Énergie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2 Puissance de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.3 Sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 Problèmes de sécurité dans les réseaux de capteurs . . . . . . . . . . . . . . 13 2.3.1 Écoute passive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.2 Analyse du trafic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.3 Brouillage radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.4 Inondation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.5 Trou noir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.6 Réplication des données . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3.7 Vol d’identité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.8 Attaque physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.9 Variations des attaques . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4 Mécanismes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4.1 Clé d’authentification dynamique . . . . . . . . . . . . . . . . . . . . 17 2.4.2 Réseaux de confiance . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4.3 Stéganographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4.4 Cryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 56 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ 2.1/ LES RÉSEAUX DE CAPTEURS SANS FIL 2.1.1/ DÉFINITION D’UN CAPTEUR Un capteur est un petit dispositif électronique qui peut transformer une mesure physique en une mesure électronique, qui sera ensuite traduite en données binaires compréhensibles pour des systèmes informatiques. Aujourd’hui il existe différents capteurs qui sont conçus pour mesurer des valeurs diverses, par exemple la température, l’humidité, la luminosité, les mouvements, la pression etc. Généralement, les premiers capteurs ne pouvaient lire qu’un seul type de mesure, alors que maintenant plusieurs capteurs sont installés sur un seul nœud pour lire des valeurs diverses. Grâce aux progrès récents du domaine des systèmes micro-électroniques, les nouvelles technologies de la communication sans fil et de l’électronique numérique ont été intégrées dans les nœuds modernes. Hormis la fonctionnalité de base, c’est-à-dire l’acquisition des données ambiantes, les nouveaux nœuds détiennent encore des modules de transmission, d’alimentation, de stockage et de traitement de données, qui leur permettent d’envoyer, stocker et traiter les données collectées. Un autre terme qui est largement utilisé dans la littérature est nœud intelligent, qui dé- signe particulièrement les nœuds programmables. Le développement des technologies des systèmes embarqués a donné la possibilité d’utiliser le même modèle de nœud pour des applications différentes. Les nœuds du même modèle peuvent être déployés pour assurer des missions complètement différentes, et il suffit de changer le programme installé. Par ailleurs, l’apparition des systèmes d’exploitation pour les nœuds a encore facilité la création des applications en divisant la procédure en 2 parties indépendantes : le dé- veloppement des programmes et la conception de la plate-forme matérielle. 2.1.2/ ARCHITECTURE DES CAPTEURS L’architecture des capteurs a beaucoup évolué depuis les années 90. Les capteurs de la première génération ont une architecture très simple, qui ne possède qu’une unité de capture et une unité d’alimentation. Comme les détecteurs de fumée qui sont encore beaucoup utilisés dans les immeubles. Ils sont souvent alimentés par des piles, et la seule fonctionnalité est de déclencher un alarme sonore en présence de fumée. Sur les capteurs un peu plus évolués, on a commencé à intégrer de nouvelles technologies, comme la communication sans fil. Par exemple ; les bouchons de valve de pneu, qui sont utilisés pour mesurer les pressions des pneus et sont aussi alimentés par des piles. De plus, ils peuvent envoyer les valeurs au récepteur qui est installé à l’intérieur de la voiture. L’architecture des nœuds actuels est devenue beaucoup plus complexe après l’ajout des fonctionnalités complémentaires, comme le traitement et le stockage de données. La figure 2.1 illustre une architecture générale des nœuds intelligents actuels. Nous pouvons constater qu’elle est constituée de 4 unités principales.2.1. LES RÉSEAUX DE CAPTEURS SANS FIL 7 FIGURE 2.1 – Architecture d’un nœud sans fil actuel – Unité de traitement : C’est l’unité la plus importante d’un nœud intelligent, comme les autres systèmes embarqués, on utilise généralement un micro-contrôleur qui rassemble tous les éléments essentiels d’un ordinateur, le processeur, la mémoire et les interfaces entrées-sorties. – Unité de capture : C’est l’ensemble de composants matériels qui sont utilisés pour mesurer des grandeurs physiques et générer des signaux analogiques, ils sont couplés d’un ADC 1 qui transforme les signaux analogiques en données numériques pour l’unité de traitement. – Unité de communication : Elle désigne généralement l’antenne radio du nœud, qui est chargée de l’émission et de la réception des signaux radiofréquence. Dans la littérature elle s’appelle aussi transceiver, qui est en effet une contraction des mots anglophones transmitter et receiver. À l’aide de cette unité, on peut construire des réseaux de capteurs en reliant les nœuds qui sont déployés dans la même zone. – Unité d’alimentation : Une unité cruciale pour toute l’architecture, car c’est elle qui fournit l’énergie à toutes les autres unités. elle correspond souvent à une pile et une batterie qui s’épuise graduellement au fil du temps. À cause de la limitation des ressources des nœuds, la consommation d’énergie est devenu un facteur critique dans quasiment toutes les applications de capteurs. La réalisation récente d’unité d’alimentation tend à résoudre le problème en utilisant des panneaux solaires [61, 106]. Sur les nœuds d’usages particuliers, on peut encore ajouter d’autres unités, telle qu’une unité de localisation, comme le GPS, ou une unité de mobilité pour des nœuds qui ont besoin de se déplacer. 2.1.3/ RÉSEAUX DE CAPTEURS Un réseau de capteurs est constitué généralement d’un grand nombre de nœuds pré- sentés dans la section précédente. Ils sont déployés aléatoirement dans une zone pour surveiller et étudier des phénomènes divers. Les nœuds communiquent entre eux via des connexions sans fil pour le partage et le traitement coopératif des données collectées. Après le déploiement, les nœuds lancent une procédure d’auto-configuration qui leur permet de construire des chemins de routage, sans lesquels on ne peut pas envoyer des données à un nœud spécifique. À cause d’un manque d’infrastructure de réseau et d’une limitation des ressources des nœuds, la transmission de données est souvent réalisée avec un mode de communication particulier qui s’appelle multi-saut. Les données 1. Analog-to-Digital Converter8 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ passent d’un nœud à un autre, pas à pas, jusqu’à la destination. FIGURE 2.2 – Exemple de réseaux de capteurs sans fil Dans la figure 2.2 nous avons un exemple de réseaux de capteurs. Les nœuds sont déployés aléatoirement dans une zone d’intérêt et la station de base se situe à distance. En faisant des multi-sauts, les données remontent progressivement jusqu’à la station de base, qui les met à disposition aux utilisateurs finaux. Il existe principalement 2 types de réseaux de capteurs : – Les réseaux actifs, dans lesquels les nœuds envoient périodiquement des données collectées à la station de base. Ce genre de fonctionnement est préférable pour les applications de surveillance à long terme, car il nous permet d’avoir un accès à toutes les historiques des données collectées et de mieux étudier les phénomènes surveillés. – Les réseaux passifs, qui n’envoient aucune donnée tant qu’aucun événement important n’est détecté. On peut trouver ce genre d’application dans des systèmes de pré- alarme qui doivent signaler immédiatement l’arrivée éventuelle d’incidents importants, comme la détection des catastrophes naturelles. 2.1.4/ DOMAINES D’APPLICATION Idéalement les réseaux de capteurs sont censés être construits en utilisant des nœuds à faible coût qui sont déployés en masse. Aujourd’hui ils ne sont pas encore largement utilisés dans notre vie quotidienne, le coût de fabrication des nœuds est toujours très élevé, certaines techniques sont aussi loin d’être matures et fiables. Cependant on peut déjà trouver beaucoup d’applications, dont certaines sont encore expérimentales, dans des domaines divers. 2.1.4.1/ APPLICATIONS MILITAIRES Les caractéristiques attendues des réseaux de capteurs, comme le faible coût, l’autoorganisation, la sécurité et la tolérance aux pannes, ont donné naissance à son utilisation dans les domaines militaires, c’est aussi le domaine dans lequel on trouve souvent les technologies les plus avancées.2.1. LES RÉSEAUX DE CAPTEURS SANS FIL 9 Comme le projet DSN (Distributed Sensor Network) du DARPA (Defense Advanced Research Project Agency) [16], qui était un des premiers projets dans les année 80 à avoir utilisé les réseaux de capteurs. Les nœuds peuvent être déployés rapidement dans un champ de bataille pour assurer, d’une manière discrète, des missions confidentielles, comme la collecte de renseignements, la surveillance des forces ennemies et la détection des attaques biochimiques. 2.1.4.2/ APPLICATIONS ENVIRONNEMENTALES L’industrialisation et l’expansion humaine ont causé des problèmes environnementaux sévères, comme la pollution d’air et d’eau, la disparition des forêts etc. Notamment dans les pays en développement dont les gouvernements font rarement attention aux soucis écologiques. L’utilisation des réseaux de capteurs pour la protection de l’environnement a été beaucoup encouragée par la communauté scientifique. Un déploiement approprié des nœuds nous permet non seulement de collecter précisément des paramètres environnementaux, mais aussi de faciliter la surveillance de la zone d’intérêt et d’économiser l’investissement à long terme. Les nœuds peuvent aussi être déployés dans des zones difficilement accessibles et hostiles, une fois mis en place, ils peuvent fonctionner d’une manière autonome. FIGURE 2.3 – Capteurs déployés pour la protection d’environnement Dans la figure 2.3, nous avons des nœuds qui sont déployés pour surveiller des forêts et l’air. En pratique, les nœuds qui sont utilisés dans ce genre d’applications sont souvent équipés d’une protection physique solide, et afin d’avoir une durée de vie plus longue et rentable, ils sont généralement bien alimentés avec soit un accès aux réseaux électriques, soit des panneaux solaires. A cause d’une augmentation du coût d’installation, on ne peut pas effectuer un véritable déploiement à grande échelle. 2.1.4.3/ APPLICATIONS MÉDICALES Dans le domaine de la médecine, les nœuds sont souvent utilisés pour assurer une surveillance permanente d’un patient ou d’une personne âgée. Ils peuvent être soit attachés au bras du patient, soit implantés directement sous la peau pour mesurer des paramètres physiologiques, comme la tension artérielle et le battement de cœur (voir figure 2.4). Les nœuds peuvent communiquer avec les autres nœuds fixes installés dans l’immeuble pour récupérer les données collectées, qui sont ensuite stockées dans une base de don-10 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ FIGURE 2.4 – Mesure de la tension artérielle et le battement de cœur avec des capteurs nées, avec laquelle on peut avoir un suivi du patient [41]. En outre, dans certaines applications, le patient porte une unité de transmission de données (DTU 2 ) ou un téléphone mobile qui récupère les données mesurées et les renvoie au serveur à distance via les réseaux mobiles. 2.1.4.4/ DOMOTIQUE L’idée est d’intégrer des capteurs dans les appareils électroménagers, tels que le climatiseur, la chauffage, les volets électriques, les thermomètres numériques etc. Ces systèmes embarqués peuvent communiquer entre eux via des connexions sans fil, exactement comme les réseaux de capteurs. Une centrale de contrôle est mise en place pour envoyer des requêtes aux appareils et recevoir des informations. La centrale dispose encore d’un accès internet qui permet aux utilisateurs de contrôler des appareils à distance et de consulter les informations concernant son domicile [78]. Maintenant on utilise le terme Smart Home pour désigner l’ensemble de technologies qui permettent d’automatiser et de faciliter la gestion des immeubles avec les systèmes embarqués [99, 33, 88]. L’objectif est d’apporter aux utilisateurs un confort plus élevé en assurant une vie plus simple et écologique [59, 88]. Par exemple pendant la journée, si les capteurs détectent une forte luminosité, ils vont démarrer le moteur pour ouvrir le volet. Si les capteurs de lumière et de température trouvent que le soleil est suffisamment fort pour chauffer la chambre, ils vont couper la chauffage pour économiser la consommation d’énergie. Suite à l’essor des smartphones, les utilisateurs peuvent envoyer des requêtes depuis leurs téléphones pour contrôler des appareils chez eux. 2.2/ SPÉCIFICITÉS DES RÉSEAUX DE CAPTEURS Un réseau de capteurs est une sorte de réseau ad-hoc, les nœuds déployés communiquent entre elles via des communications sans fil pour former un réseau et créer des chemins de routage. Le réseau ne détient aucune infrastructure, chaque nœud communique directement avec ses voisins, et les données sont envoyées en utilisant la mode de 2. Data Transfer Unit2.2. SPÉCIFICITÉS DES RÉSEAUX DE CAPTEURS 11 communication multi-sauts, elles sont transmises d’un nœud à l’autre jusqu’à ce qu’elles arrivent à destination. Hormis les caractéristiques basiques des réseaux ad-hoc, les réseaux de capteurs possèdent encore d’autres spécificités qu’il faut prendre en compte lors de la conception des applications. 2.2.1/ ÉNERGIE Nous commençons par la consommation d’énergie dans les réseaux de capteurs, car elle est considérée comme un des facteurs les plus cruciaux. Idéalement les réseaux de capteurs sont censés être constitués des nœuds à faible coût, qui peuvent être dé- ployés facilement en masse sans se soucier de l’organisation et de la configuration. Une fois réveillés, les nœuds peuvent fonctionner d’une manière autonome sans intervention humaine. Comme il y a des chances que les réseaux soient déployés dans des zones hostiles, il faut qu’ils permettent un minimum de tolérance aux pannes pour endurer les environnements difficiles. Pour l’instant, la seule source d’énergie des nœuds est la pile dont la durée de vie peut varier entre des heures et des jours en fonction de l’intensité des opérations à effectuer. C’est aussi le seul mode d’alimentation qui donne la possibilité d’effectuer un déploiement aléatoire. Cependant un tel déploiement rend la maintenance manuelle des nœuds très difficile. Il est très coûteux et quasiment impossible de localiser un nœud dont la pile est épuisée. Pour une raison de coût de fabrication et de maintenance, au lieu de chercher à remplacer des piles épuisées ou installer des piles de grande capacité, on préfère plutôt minimiser la consommation d’énergie pendant le fonctionnement des réseaux. Sachant que la plupart de l’énergie est consommée pendant des communications sans fil et que la consommation des autres composants est presque négligeable par rapport à celle de l’antenne radio, quand on conçoit une application, on essaie toujours de limiter le nombre de communications et d’éteindre la radio quand ce n’est pas nécessaire. 2.2.2/ PUISSANCE DE CALCUL Toujours pour une raison de coût, on choisit souvent des micro-contrôleurs comme unité de traitement pour les capteurs [18, 19], comme la plate-forme Telosb de Crossbow qui est équipée d’un micro-contrôleur MSP 430 à 8 MHz. Ils sont petits, moins chers, et programmables. Grâce à ces caractéristiques techniques, les micro-contrôleurs deviennent un choix idéal pour les systèmes embarqués. Un défaut important des micro-contrôleurs est le manque de puissance de calcul. Malgré les progrès récents dans le domaine de l’électronique et de l’informatique industrielle, il y a toujours très peu de micro-contrôleurs puissants qui sont développés et commercialisés. Généralement cela est considéré comme un choix du marché, car aujourd’hui dans la plupart de projets, les micro-contrôleurs n’ont pas besoin d’être puissants. Ils sont initialement inventés et mis en place pour effectuer des tâches simples, comme la coupure et la remise de courant dans les circuits intégrés. Cependant dans les réseaux de capteurs, les fonctionnalités à assurer sont plus com-12 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ pliquées. Dans un vrai réseau, les nœuds doivent mesurer des valeurs environnementales, agréger et compresser les données collectées, même appliquer des mécanismes de sécurité contenant des calculs cryptographiques très complexes. Afin de réaliser une fabrication et un déploiement en grand nombre, il faut que l’unité de traitement soit petite et ait un coût et une consommation d’énergie faibles, mais en même temps, il faut qu’elle puisse gérer beaucoup de tâches différentes dans le réseau. Pour contourner le problème, maintenant dans les applications existantes, on demande aux nœuds de coopérer entre eux pour atteindre un objectif collectif. Le nœud du même modèle peuvent jouer des rôles différents, ou le même nœud peut assurer plusieurs fonctionnalités pendant des périodes différentes. 2.2.3/ SÉCURITÉ Comme tous les réseaux informatiques, les réseaux de capteurs font aussi l’objet de diffé- rentes attaques. La seule solution est de mettre en place des mécanismes de sécurité qui nous permettent de protéger des informations circulant dans le réseau sans consommer trop de ressources. Les techniques appliquées doivent répondre aux exigences principales suivantes : – Confidentialité : les informations ne doivent jamais circuler entre les nœuds en claire, notamment dans les applications militaires et de surveillance. Il faut s’assurer que les informations ne sont pas directement interprétables et compréhensibles aux attaquants. – Intégrité : les données ne doivent pas être altérées pendant la transmission, et il faut que le récepteur puisse vérifier si les données ont subi des altérations. – Fraîcheur : il s’agit d’un test qui vérifie si les informations reçues sont récentes. Parfois, l’attaquant peut tromper les nœuds en renvoyant des commandes qu’il a intercepté auparavant. Par la fraîcheur de données, le récepteur peut tester si la commande reçue a été réutilisée. – Authentification : elle nous permet de protégé le réseau contre des attaques de vol d’identité en vérifiant si l’identité déclarée par un nœud est bien celle du nœud déclaré. Il existe déjà des techniques matures qui peuvent atteindre les objectifs listés ci-dessus, mais la plupart entre elles sont initialement conçues et testées pour les systèmes sans contrainte de ressources. Comme nous avons vu précédemment, les nœuds ne sont pas assez puissants pour gérer des algorithmes et des protocoles très lourds. Il faut les optimiser et modifier pour s’adapter aux réseaux de capteurs. 2.2.4/ TOLÉRANCE AUX PANNES Les nœuds sont des dispositifs électroniques, qui peuvent tomber en panne pendant leur fonctionnement. Le manque de protection solide et de puissance de calcul rendent les nœuds très fragiles et sensibles face aux dysfonctionnements causés principalement par des attaques physiques, des phénomènes climatiques et géologiques. Par exemple un glissement de terre peut détruire, enterrer et déplacer des nœuds dé- ployés, et changer complètement la topologie du réseau. Si les nœuds assurant des fonctionnalités particulières sont endommagés, comme les nœuds de passerelle, une2.3. PROBLÈMES DE SÉCURITÉ DANS LES RÉSEAUX DE CAPTEURS 13 partie du réseau deviendra isolé et inaccessible. L’objectif des techniques de tolérance aux pannes est donc de détecter des anomalies et de restaurer, même partiellement, les fonctionnalités pour que le réseau puisse continuer à fonctionner. Une solution qui est largement utilisée est la redondance. L’idée est d’avoir plusieurs composants prêts pour assurer la même fonctionnalité. Quant aux réseaux de capteurs, le principe reste le même, on peut attribuer la même tâche à plusieurs nœuds. Lorsqu’un nœud tombe en panne, un nœud de secours va prendre le relais et continuer à travailler sur la tâche. Par exemple, lorsque la pile d’un nœud est épuisée, au lieu de se rendre sur place pour le localiser et le changer, il est plus efficace et moins coûteux de laisser le nœud épuisé et en choisir un autre qui peut reprendre son travail. Les techniques de tolérance aux pannes dans les réseaux de capteurs sont présentées en détail dans le chapitre 5. 2.3/ PROBLÈMES DE SÉCURITÉ DANS LES RÉSEAUX DE CAPTEURS Les spécificités des réseaux de capteurs sans fil citées précédemment exposent les nœuds à de nombreuses menaces. Il existe principalement 2 types d’attaques, qui sont l’attaque passive et active. Dans le premier cas, si le réseau ne chiffre pas ses données, l’attaquant pourra récupérer les informations qui circulent entre les nœuds en se mettant discrètement dans le réseau et écoutant les communications radio. Dans le cas d’attaque active, l’attaquant est beaucoup plus offensif, au lieu d’espionner discrètement les données, il cherche à perturber le réseau en modifiant les informations ou en endommageant directement les nœuds. Dans cette section, nous allons voir d’abord une taxonomie des attaques principales au sein des réseaux de capteurs [65], ensuite des mécanismes de sécurité que nous pouvons mettre en place pour les protéger. 2.3.1/ ÉCOUTE PASSIVE Il s’agit de l’interception et de la collection des données qui circulent dans les réseaux. L’attaquant peut obtenir l’accès à l’ensemble d’informations échangées entre les nœuds, si elles ne sont pas correctement chiffrées. L’objectif de l’écoute passive est l’espionnage des données sensibles sans interférer le fonctionnement du réseau. Par sa nature passif, ce genre d’attaque est très difficile à détecter. 2.3.2/ ANALYSE DU TRAFIC L’analyse du trafic est une attaque qui est basée sur l’écoute passive, mais au lieu d’espionner directement des données, elle s’intéresse plutôt aux destinations des paquets envoyés. En analysant les chemins empruntés par les paquets, l’attaquant peut étudier la topologie du réseau et identifier les nœuds les plus importants. Ces informations permettent à l’attaquant de préparer des attaques plus précises qui peuvent gravement menacer les communications dans le réseau. Comme dans le jeu du chasseur de panda [76], les nœuds sont déployés pour tracer la position du panda, et les paquets contenant les informations de localisation sont chiffrées.14 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ Sans accès direct aux données communiquées, l’attaquant peut toujours localiser la zone où se trouve le panda en analysant les chemins de routage des paquets. Généralement dans un réseau de capteurs, les communications intensives se trouvent souvent soit vers la destinations des paquets, soit près de la source d’événement important. Une analyse du trafic permet à l’attaquant de localiser des point d’intérêt au sein d’un réseau, comme la station de base, les nœuds de passerelles etc. 2.3.3/ BROUILLAGE RADIO On utilise souvent le terme anglophone radio jamming pour désigner ce genre d’attaque. L’attaquant peut saturer le réseau en diffusant des ondes ayant exactement la même fréquence que celle utilisée par le réseau de capteurs [109]. Les nœuds utilisent l’air comme médium de communication, qui est en effet accessible à tout le monde, l’attaquant peut brouiller le réseau en plaçant simplement quelques nœuds malicieux dans la zone. 2.3.4/ INONDATION L’idée est de saturer ou de perturber le réseau en diffusant massivement des messages inutiles. Les protocoles de routage permettent souvent au réseau d’ajouter de nouveaux nœuds après le déploiement. Quand un nouveau nœud est déployé et réveillé, il envoie périodiquement des message HELLO pour que les autres nœuds qui se situent dans sa portée radio puissent le détecter. L’attaquant peut déployer des nœuds particuliers ayant une puissance d’émission très forte, qui diffusent constamment des messages HELLO dans le réseau. Lorsqu’un nœud reçoit un HELLO d’un nouvel arrivant, il est obligé de lui renvoyer un message d’accueil qui leur permet de lancer la procédure d’intégration. Si le nœud malicieux répète sans arrêt le message HELLO avec une puissance d’émission assez forte, les autres nœuds dans sa portée radio vont continuer à lui retourner des messages d’accueil (voir figure 2.5). Par conséquent, ces nœuds deviennent indisponibles, car ils sont occupés pour accueillir le nœud malicieux. En plus, la communication radio consomme beaucoup d’énergie, l’attaquant peut vider les piles des nœuds trompés en leur demandant des messages d’accueil. 2.3.5/ TROU NOIR Les nœuds malicieux s’intègrent dans le réseau, et essaient de tromper les autre nœuds en leur faisant croire qu’ils ont découvert un chemin plus fiable. Dans les protocoles de routage, les nœuds évaluent souvent les connexions sans fil avec la puissance des signaux, les nœuds sans protection d’authentification vont abandonner leurs chemins de routage actuels et envoyer les données aux nœuds malicieux qui disposent d’une puissance d’émission plus élevée [42]. De ce fait, les données n’arriveront jamais à la destination prévue (voir figure 2.6).2.3. PROBLÈMES DE SÉCURITÉ DANS LES RÉSEAUX DE CAPTEURS 15 FIGURE 2.5 – Attaque d’inondation de message HELLO FIGURE 2.6 – Attaque de trou noir 2.3.6/ RÉPLICATION DES DONNÉES L’attaquant peut réutiliser ultérieurement des paquets qu’il a capturé et enregistré pour tromper le réseau. Même les paquets sont chiffrés et protégés par des mécanismes d’authentification, et l’attaquant n’a aucun accès aux données qu’ils contiennent, on peut toujours deviner l’usage des paquets en observant le comportement des récepteurs. Par exemple, si l’attaquant s’aperçoit que les nœuds coupent les communications sans fil après la réception d’un paquet, même il ne peut pas lire son contenu, il pourra tout de même déduire que c’est le paquet contenant la commande pour éteindre l’antenne radio. Ensuite l’attaquant peut répliquer et rediffuser le paquet à tous les nœuds autour de lui pour les passer au silence radio [96]. Cette attaque est réalisable si le réseau ne dispose d’aucun mécanisme assurant la fraî- cheur des données, ou l’attaquant peut déchiffrer et modifier les contenus des paquets.16 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ 2.3.7/ VOL D’IDENTITÉ Dans les réseaux de capteurs, le vol d’identité s’appelle aussi une attaque sybile [73]. Les nœuds malicieux se déguisent en nœuds légitimes du réseau en utilisant leurs identités. Quand le nœud malicieux est considéré comme un membre du réseau, il est autorisé à participer à toutes les opérations, pendant lesquelles il peut ensuite soit espionner les données, soit éventuellement perturber le réseau. Un nœud malicieux déguisé peut sévèrement menacer la sécurité du réseau, notamment quand on lui attribue un rôle important, comme le nœud de passerelle qui s’occupe de la communication entre des sous réseaux, ou le cluster-head qui est chargé de la communication inter-cluster. Si le nœud obtient une telle priorité, il pourra prendre des actions qui peuvent gravement interférer le fonctionnement du réseau, comme le refus de routage et la modification de données. 2.3.8/ ATTAQUE PHYSIQUE L’attaquant se rend physiquement dans la zone où les nœuds sont déployés pour les détruire ou les capturer. Dans les réseaux de capteurs, les nœuds sont déployés aléatoirement pour découvrir uniformément une zone d’intérêt, et il est très difficile de surveiller simultanément chacun des nœuds. La plupart des mécanismes de sécurité sont conçus et appliqués pour protéger les données et leur circulation contre des intrusions et des espionnages, comme le chiffrement de données, l’authentification, le test d’intégrité etc. Cependant les nœuds eux-même restent toujours très fragiles face aux attaques physiques. Si l’attaquant effectue une analyse du trafic avant de lancer l’attaque, il va pouvoir viser les nœuds les plus importants dans le réseau. Par exemple si l’attaquant réussit à identifier et détruire les nœuds passerelle, le réseau deviendra complètement inaccessible ou sera coupé en plusieurs sous réseaux qui ne peuvent pas communiquer entre eux. L’attaquant peut aussi capturer et compromettre des nœuds. Un nœud compromis représente une menace très grave pour la sécurité du réseau. L’attaquant peut retrouver des informations sensibles dans la mémoire du nœud capturé, comme les clés cryptographiques, ou modifier carrément le programme installé. Une fois le nœud compromis, l’attaquant le remet dans le réseau pour espionner les données ou interférer les communications [108]. 2.3.9/ VARIATIONS DES ATTAQUES Il existe encore d’autres attaques qui sont en effet des variantes des attaques mentionnées précédemment. On peut faire évoluer leurs fonctionnements ou les combiner ensemble pour en créer une nouvelle. Le but d’une telle variation est de rendre les attaques plus puissantes et précises. Par exemple l’attaque de trou gris, est basée sur l’attaque de trou noir, qui consiste à tromper les autres nœuds du réseau avec une puissance d’émission élevée. Les données attirées et récupérées par le nœud malicieux sont simplement supprimées et n’arriveront jamais à la destination.2.4. MÉCANISMES DE SÉCURITÉ 17 Contrairement au trou noir, un trou gris cherche plutôt à censurer les informations. Les données sont sélectionnées et modifiées avant être renvoyées, ou le nœud malicieux ne laisse passer que des informations moins importantes. Le trou gris peut rendre le réseau beaucoup moins efficace, car les informations importantes sont perdues. Par ailleurs, un trou gris est plus difficile à détecter, car il se comporte comme un nœud normal du réseau. Parfois l’attaquant peut utiliser en même temps plusieurs techniques d’attaquant diffé- rentes. Par exemple, il lance d’abord une analyse du trafic qui lui permet d’identifier les chemins de routage, ainsi que les nœuds de routage qui sont chargés de la transmission de données. Ensuite, il effectue une attaque sybile en déployant des nœuds qui se déguisent en nœud de routage. Au lieu d’envoyer les données vers la station de base, les nœuds malicieux créent une boucle infinie en renvoyant les données vers le début du chemin de routage. Cette attaque peut non seulement perturber le routage des données, mais aussi augmenter considérablement la consommation d’énergie des nœuds qui se situent sur le chemin de routage. 2.4/ MÉCANISMES DE SÉCURITÉ L’ensemble d’attaques présentées dans la section précédente nous a montré la nécessité de mettre en place des mécanismes de sécurité pour protéger les données et les communications sans fil au sein d’un réseau de capteurs. Néanmoins, à cause de la diversité des attaques et le manque de ressources des nœuds, il est très difficile de proposer une solution qui résolve tous les problèmes. La partie suivante présente des solutions de sécurité répandues en prenant en compte les spécificités des réseaux de capteurs, notamment la consommation d’énergie et la puissance de calcul. 2.4.1/ CLÉ D’AUTHENTIFICATION DYNAMIQUE Le principe de cette solution est de demander à la station de base de générer et distribuer périodiquement de nouvelles clés d’authentification [6]. A chaque période, la station de base génère une clé qui est ensuite envoyée à l’ensemble du réseau. Les nœuds utilisent cette clé pour prouver leur appartenance au réseau, et un nœud qui ne possède pas la bonne clé n’est pas autorisé à communiquer avec les autres nœuds. Cette solution offre une protection efficace contre les nœuds malicieux qui essaient de se déguiser en nœuds légitimes, car elle ne demande ni calcul coûteux, ni échange fréquent de données. Même si l’attaquant réussit à capturer et compromettre des nœuds, les nœuds compromis ne pourront toujours pas rentrer dans le réseau, car la nouvelle clé utilisée ne sera plus la même. Cependant cette solution nécessite une distribution de clés sécurisée et fiable, il ne faut pas qu’un attaquant puisse intercepter et interpréter la nouvelle clé utilisée. D’ailleurs, le réseau est indisponible lors de la distribution de nouvelles clés, car les nœuds ne peuvent pas communiquer entre eux tant que la distribution de clés n’est pas terminée. Un autre inconvénient est qu’elle n’autorise pas l’ajout de nouveaux nœuds, car on ne peut pas connaître à priori la prochaine clé d’authentification à utiliser.18 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ 2.4.2/ RÉSEAUX DE CONFIANCE Cette solution est principalement basée sur l’évaluation de la réputation de chaque nœud. Les nœuds donnent à chacun de leurs voisins une indice de réputation qui peut varier en fonction de son comportement [6, 111, 75, 86, 17, 113]. Pendant les communications sans fil, chaque nœud du réseau surveille les réactions de ses voisins, si un voisin réagit comme il faut, le nœud va incrémenter son indice de réputation. Cependant, s’il détecte des comportements suspects du voisin, comme l’absence ou le retard de réponse, alors le nœud va diminuer l’indice du voisin. Les comportements suspects peuvent être dus à plusieurs causes possibles, par exemple pile épuisée, connexion instable, ou éventuellement nœud malicieux. Les nœuds du réseau stockent en mémoire un tableau contenant les indices de réputation de tous les voisins, ils choisissent toujours les voisins ayant de meilleures réputations lors du routage de données. Car ils sont considérés comme les voisins les plus sûrs qui peuvent construire un chemin de routage assez fiable. Cependant, l’utilisation toute seule de cette solution n’est pas suffisante pour protéger le réseau, car elle ne peut pas détecter des attaques passives, comme l’espionnage de données, le nœud réagit correctement comme un nœud légitime, mais toutes les données qui sont passées par lui sont enregistrées localement et accessibles à l’attaquant. 2.4.3/ STÉGANOGRAPHIE La stéganographie est une solution très simple qui peut être mise en place aisément. Au lieu de rendre le message illisible comme la cryptographie, la stéganographie cherche plutôt à cacher les informations sensibles dans les paquets de contrôle ou les données. Généralement, dans les paquets, notamment la partie d’entête, il existe toujours quelques octets qui ne sont pas utilisés, on peut donc les utiliser pour stocker les données [66]. L’attaquant ne peut pas détecter leur existence tant qu’il ne sait pas la technique exacte utilisée. La fiabilité de la stéganographie est en effet un pari sur le fait que l’attaquant ne sait pas où se sont cachées les données. Cependant, une fois la technique utilisée dévoilée, l’attaquant pourra accéder à toutes les données cachées. D’ailleurs, le nombre d’octets non utilisés dans des paquets est très limité, on ne peut pas y stocker des informations très volumineuses. 2.4.4/ CRYPTOGRAPHIE La cryptographie est une solution de sécurité qui est relativement beaucoup plus sûre. L’idée de base est d’utiliser des méthodes mathématiques pour transformer le message original à une suite de données qui ne peuvent pas être directement interprétées par une tierce partie. Elle comprend un ensemble de techniques qui sont fréquemment utilisées dans le monde informatique pour assurer la confidentialité, l’intégrité et l’authenticité des données. L’application de la cryptographie implique souvent des calculs intensifs et la gestion des données volumineuses, qui ne posent aucun problème pour des plate-formes possédant une puissance de calcul suffisante et un accès de mémoire rapide. Quant à la plupart des2.4. MÉCANISMES DE SÉCURITÉ 19 réseaux de capteurs, aucune des conditions n’est satisfaite. La limitation des ressources des nœuds est considérée comme un obstacle principal qui empêche l’utilisation des cryptosystèmes robustes dans les réseaux de capteurs. La communauté scientifique est toujours à la recherche de solutions qui nous permettent d’optimiser et d’adapter des algorithmes et des protocoles cryptographiques pour les réseaux de capteurs. Le temps de calcul, la consommation de mémoire et d’énergie sont donc devenus des facteurs critiques pour évaluer des solutions proposées. Il existe principalement 2 catégories de cryptographie, qui sont respectivement la cryptographie symétrique et la cryptographie asymétrique. Cette section est consacrée à la présentation et la comparaison des 2 types de cryptographie, ainsi que leurs avantages et inconvénients. 2.4.4.1/ CRYPTOGRAPHIE SYMÉTRIQUE La cryptographie symétrique utilise une seule clé pour le chiffrement et le déchiffrement des données, elle est considérée comme une solution moins coûteuse et plus facile à implémenter. Par exemple, la longueur de clé recommandée pour l’algorithme DES est 56 bits, et celle de l’algorithme AES est 128 bits. On suppose que M est le message à chiffrer et k est la clé secrète partagée par l’envoyeur et le récepteur du message. L’envoyeur utilise la fonction de cryptage E() et la clé k pour générer un message chiffré E(M, k) = M′ . Après la réception du message chiffré, le récepteur utilise une fonction de décryptage D() et la même clé k pour déchiffrer le message D(M′ , k) = M. On a montré dans [52] que l’application des algorithmes de cryptographie symétrique est faisable dans les réseaux de capteurs. Cependant cette solution possède aussi des inconvénients inhérents. Pour que 2 nœuds puissent communiquer entre eux, il faut qu’ils utilisent exactement la même clé, et la distribution de clés est devenue un défi inévitable. Il existe dans la littérature 4 types de distribution : – Clé globale : Une seule clé est partagée par tous les nœuds du réseau. C’est la solution la plus facile à mettre en place, et elle offre un minimum de protection contre l’espionnage de données. Cependant, si l’attaque réussit à compromettre un seul nœud, tout le mécanisme de sécurité va échouer. – Clé partagée par paire de nœuds : Chaque nœud possède une clé unique pour chacun de ses voisins. Une telle gestion de clés peut augmenter considérablement le niveau de sécurité du réseau, car chaque pair de nœuds utilise une clé distincte pour sécuriser la communication entre eux. Si un nœud possède n voisins, il faudra qu’il stocke en mé- moire n clés. Premièrement, cette distribution de clés peut engendrer éventuellement des communications radio très fréquentes qui peuvent vider rapidement les piles des nœuds. Deuxièmement, le stockage des clés cause une consommation de mémoire importante. – Clé individuelle : Chaque nœud détient une clé qui est partagée par lui-même et la station de base, mais cette distribution sécurise seulement la communication entre les nœuds et la station de base. Les nœuds ne peuvent pas communiquer entre eux, car ils ne possèdent pas de clé partagée. – Clé partagée par groupes de nœuds. Une clé est partagée entre un groupe de nœuds, par exemple, dans un cluster, le cluster-head est chargé de la génération et de la distribution de clé, et la communication intérieure du cluster est sécurisée avec ces20 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ clés partagées. C’est une solution qui a atteint un compromis entre la consommation des ressources et la sécurité. D’ailleurs, la cryptographie symétrique n’offre pas la signature numérique, sans laquelle les nœuds ne peuvent pas authentifier les messages reçus, et sont vulnérables aux attaques de vol d’identité. 2.4.4.2/ CRYPTOGRAPHIE ASYMÉTRIQUE La cryptographie asymétrique, appelée aussi cryptographie à clé publique, utilise 2 clés différentes respectivement pour le chiffrement et le déchiffrement. Avant l’envoi du message M, on le chiffre avec la clé publique du destinataire kp, qui est diffusée librement dans l’ensemble du réseau, E(M, kp) = M′ où E() est la fonction de cryptage et M′ est le message chiffré. Après la réception du M′ , le destinataire utilise sa clé privée ks , qui est gardée secrète, pour déchiffrer le message, D(M′ , ks) = M où D() est la fonction de décryptage. La cryptographie asymétrique donne aussi la possibilité de signer des messages chiffrés. On suppose que A veut envoyer un message M chiffré et signé à B. A calcule d’abord le condensat du M avec une fonction de hachage H(M), ensuite A génère la signature S M en chiffrant le condensat avec sa clé privée S M = E(ksA , H(M)). Enfin, A chiffre la signature S M et le message original M avec la clé publique de B, M′ = E(kpB , (S M, M)). Quand B reçoit le message chiffré et signé, il déchiffre d’abord M′ avec sa clé privée D(ksB , M′ ) = (S M, M), ensuite pour vérifier la signature, il déchiffre S M avec la clé publique de A, DS M = D(kpA , S M) et calcule le condensat de M avec la même fonction de hachage H(M). Enfin, il teste si DS M = H(M). Si l’authentification échoue, c’est-à-dire DS M , H(H), le message M′ sera rejeté. La signature donne une protection complémentaire au réseau, mais les algorithmes de cryptographie asymétrique sont généralement beaucoup plus coûteux que ceux de cryptographie symétrique, et les clés à manipuler sont plus longues aussi. En pratique, on utilise souvent les 2 solutions en même temps. Par exemple, on utilise la cryptographie asymétrique pour la signature et la génération de clé partagée (voir section 3.4.1 du chapitre 3), ensuite pour le chiffrement et le déchiffrement de données, on utilise la cryptographie symétrique qui offre une rapidité de calcul intéressante. Concernant l’application de la cryptographie asymétrique dans les réseaux de capteurs, il est évident que les nœuds ne sont pas assez puissants pour gérer directement les algorithmes de cryptographie asymétrique. Les travaux de recherche récents ont montré qu’en faisant des optimisations, il est possible d’implémenter des algorithmes de cryptographie asymétrique pour les réseaux de capteurs [107, 62]. 2.5/ CONCLUSION La cryptographie est la solution la plus utilisée pour sécuriser les communications dans les réseaux. Idéalement, il est préférable d’utiliser la cryptographie asymétrique pour protéger les réseaux de capteurs. Hormis son usage basique, le chiffrement de données, la cryptographie asymétrique offre encore la signature numérique et la génération de clé partagée, qui constituent une protection plus complète.2.5. CONCLUSION 21 Néanmoins, par rapport à la cryptographie symétrique, la sécurité basée sur la cryptographie asymétrique implique des calculs beaucoup plus complexes, qui sont dans la plupart des cas très coûteux pour les nœuds. Il existe 2 cryptosystèmes asymétriques principaux, RSA et ECC, dont le premier est le cryptosystème asymétrique le plus utilisé, tandis que le deuxième fait partie des cryptosystèmes asymétriques les plus attractifs. ECC est un cryptosystème asymétrique basé sur le problème de logarithme discret sur les courbes elliptiques. Il peut offrir le même niveau de sécurité que RSA en utilisant des clés beaucoup plus courtes, et ses spécificités ont encouragé les chercheurs à essayer de l’appliquer dans les réseaux de capteur. Une présentation détaillée de ECC se trouve dans le chapitre 3.3 CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES Sommaire 3.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.1 Groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.2 Groupe abélien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.3 Groupe cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.4 Anneau unitaire et anneau commutatif . . . . . . . . . . . . . . . . . . 25 3.1.5 Corps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.6 Corps fini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Présentation de la courbe elliptique . . . . . . . . . . . . . . . . . . . . . . 26 3.2.1 Définition de courbe elliptique . . . . . . . . . . . . . . . . . . . . . . 26 3.2.2 Loi de composition sur les courbes elliptiques . . . . . . . . . . . . . . 27 3.2.3 Multiplication de point . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.4 Algorithme d’Euclide étendu . . . . . . . . . . . . . . . . . . . . . . 29 3.2.5 Problème du logarithme discret sur les courbes elliptiques . . . . . . . 30 3.3 Optimisation de la performance de multiplication scalaire . . . . . . . . . 31 3.3.1 Méthode NAF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.2 Méthode de la fenêtre . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3.3 Système de coordonnées projectives . . . . . . . . . . . . . . . . . . . 34 3.3.4 Réduction de scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.5 Multiplication scalaire parallèle . . . . . . . . . . . . . . . . . . . . . 37 3.4 Protocoles cryptographiques basés sur ECC . . . . . . . . . . . . . . . . . 41 3.4.1 Elgamal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.4.2 Elliptic Curve Integrated Encryption Scheme (ECIES) . . . . . . . . . 44 3.4.3 Elliptic Curve Digital Signature Algorithm (ECDSA) . . . . . . . . . 46 3.4.4 Elliptic Curve Menezes Qu Vanstone (ECMQV) . . . . . . . . . . . . 46 3.4.5 Elliptic Curve Massey-Omura (EC Massey-Omura) . . . . . . . . . . . 48 3.5 Comparaison de performance entre ECC et RSA . . . . . . . . . . . . . . . 49 3.5.1 Génération de clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.5.2 Signature numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.5.3 Vérification de signature . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.5.4 Comparaison de performance . . . . . . . . . . . . . . . . . . . . . . 50 3.6 Attaques des cryptosystèmes embarqués basés sur ECC . . . . . . . . . . . 51 3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2324 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES La cryptographie sur les courbes elliptiques, elliptic curve cryptography (ECC) en Anglais, est proposée indépendamment par Koblitz [44] et Miller [69] dans les années 80. Elle comprend un ensemble de techniques qui nous permettent de sécuriser des données en consommant moins de ressources. Elle attire récemment de plus en plus d’attention des chercheurs du monde entier, notamment pour le domaine de systèmes embarqués dans lequel les dispositifs électroniques ne possèdent qu’une puissance de calcul très limitée. L’avantage le plus important d’ECC par rapport aux autres algorithmes de cryptographie asymétrique, par exemple RSA [89], est que l’on peut avoir un bon niveau de sécurité en utilisant une clé beaucoup plus courte. Les tests de performance de Gura et al. [32] ont montré que pour avoir le même niveau de sécurité qu’une clé RSA de 1024 bits, avec ECC, il suffit d’utiliser une clé de 160 bits. D’ailleurs, l’utilisation d’une clé plus courte implique aussi une consommation de mémoire et d’énergie moins importante et un calcul plus rapide. Pour expliquer le fonctionnement d’ECC, dans ce chapitre nous étudions d’abord les concepts mathématiques fondamentaux de la courbe elliptique, ainsi que l’opération la plus importante sur les courbes, la multiplication scalaire. Ensuite nous présentons l’ensemble d’algorithmes et de techniques proposés dans la littérature qui visent à améliorer la performance de calculs sur les courbes. Enfin nous présentons l’ensemble des protocoles cryptographiques qui sont basés sur les courbes elliptiques. 3.1/ GÉNÉRALITÉS Avant de présenter les courbes elliptiques, nous étudions d’abord les notions mathématiques dont nous avons besoin pour comprendre son fonctionnement. 3.1.1/ GROUPE En mathématique, un groupe est un couple (E, ·) où E est un ensemble et · est une loi de composition interne qui combine deux éléments a et b de E pour obtenir un troisième élément a · b. Il faut que la loi satisfasse les quatre axiomes ci-dessous. – Fermeture : ∀(a, b) ∈ E | a · b ∈ E – Associativité : ∀(a, b) ∈ E | (a · b) · c = a · (b · c) – Élément neutre : ∃e ∈ E | a · e = e · a = a – Symétrique : ∀a ∈ E, ∃b ∈ E | a · b = b · a = e 3.1.2/ GROUPE ABÉLIEN Un groupe abélien, ou un groupe commutatif, est un groupe dont la loi de composition interne est commutative. Un ensemble E est un groupe commutatif lorsque ∀(a, b) ∈ E | a · b = b · a3.1. GÉNÉRALITÉS 25 3.1.3/ GROUPE CYCLIQUE Un groupe fini G est cyclique si tout élément du groupe peut s’exprime sous forme d’une puissance ou d’un multiple d’un élément particulier g, appelé le générateur du groupe, c’est-à-dire G = hgi = {g n | n ∈ Z ∗ }. Par exemple si G = {g 0 , g 1 , g 2 , g 3 , g 4 , g 5 } et g 6 = g 0 , alors G est un groupe cyclique. Tout groupe cyclique est abélien car g ng m = g n+m = g m+n = g mg n . L’ordre d’un élément e d’un groupe cyclique est le nombre entier n positif le plus petit tel que ne = 0 (en notation additive) ou e n = 1 (en notation multiplicative). Reprenons le même groupe G du paragraphe précédent, par exemple l’ordre de l’élément g 2 est 3 car l’élément neutre du groupe est g 0 = 1 et (g 2 ) 3 = g 6 = 1. 3.1.4/ ANNEAU UNITAIRE ET ANNEAU COMMUTATIF Un anneau unitaire, ou simplement anneau, est un ensemble E muni de deux lois de composition, notées + (addition) et · (multiplication). E est un anneau, si – (E, +) est un groupe commutatif – La loi · est associative et distributive par rapport à la loi +. – La loi · possède un élément neutre. Il existe un élément neutre de la loi de composition +, noté 0 tel que ∀a ∈ E | a+0 = 0+a = a et ∀a ∈ E, ∃b ∈ E | a + b = 0. Il existe un autre élément neutre pour la loi de composition ·, noté 1 tel que ∀a ∈ E | a · 1 = 1 · a = a. Un anneau commutatif est un anneau dont la loi de composition · est commutative, c’est- à-dire ∀(a, b) ∈ E | a · b = b · a. 3.1.5/ CORPS Un corps est un ensemble E muni de deux lois de composition, notée respectivement + et ·. Il faut que les deux lois satisfassent les conditions suivantes : – Le couple (E, +) forme un groupe abélien, il existe un élément neutre, noté 0, tel que ∀a ∈ E | a + 0 = 0 + a = a. – Le couple (E\{0}, ·) forme aussi un groupe abélien dont l’élément neutre est 1, ∀a ∈ E | a · 1 = 1 · a = a. – La multiplication · est distributif pour l’addition, c’est-à-dire ∀(a, b, c) ∈ E | a · (b + c) = a · b + a · c et (b + c) · a = b · a + c · a. Autrement dit, un corps est un anneau dont les éléments non nuls forment un groupe abélien pour la multiplication. 3.1.6/ CORPS FINI Un corps fini F est un corps dont le nombre d’éléments est fini. Le nombre d’éléments est l’ordre du corps, noté q, qui peut être représenté par la puissance d’un nombre premier q = p n , où p est un nombre premier, appelé la caractéristique du corps, et n ∈ Z + . Pour26 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES étudier la cryptographie sur les courbes elliptiques, il faut que nous comprenions les deux types de corps ci-dessous. 3.1.6.1/ CORPS PREMIER Un corps est un corps premier, noté Fp lorsque l’ordre du corps q = p n et p est un nombre premier. Le corps est constitué des nombres entiers {0, 1, 2, ..., p − 1}, et ∀a ∈ Z, a mod p donne le reste unique r qui est compris entre [0, p − 1]. 3.1.6.2/ CORPS BINAIRE Un corps fini de l’ordre 2 n est un corps binaire, noté F2 n , qui peut être construit en utilisant une représentation polynomiale. Les éléments du corps sont des polynômes binaires dont les coefficients ai ∈ {0, 1} et les degrés sont inférieurs à n. C’est-à-dire F2 n = {an−1z n−1 + an−2z n−2 + ... + a1z + a0 : ai ∈ {0, 1}}. 3.2/ PRÉSENTATION DE LA COURBE ELLIPTIQUE Après la présentation des notions mathématiques nécessaires, nous allons passer, dans cette section, à la définition des courbes elliptiques avec l’ensemble d’opérations que nous pouvons effectuer sur elles. 3.2.1/ DÉFINITION DE COURBE ELLIPTIQUE La courbe elliptique E est une courbe algébrique qui peut être représentée par l’équation Weierstrass (formule 3.1). E : y 2 + a1 xy + a3y = x 3 + a2 x 2 + a4 x + a6 (3.1) On suppose que la courbe est définie dans un corps K et les paramètres a1, a2, a3, a4, a6 ∈ K. Pour que la courbe soit lisse et ne contienne aucun point de rebroussement, il faut que le discriminant de la courbe ∆ , 0. La définition complète de ∆ se trouve dans la formule 3.2. ∆ = −d 2 2 d8 − 8d 3 4 − 27d 2 6 + 9d2d4d6 d2 = a 2 1 + 4a2 d4 = 2a4 + a1a3 d6 = a 2 3 + 4a6 d8 = a 2 1 a6 + 4a2a6 − a1a3a4 + a2a 2 3 − a 2 4    (3.2) La forme de la courbe peut varier en fonction des paramètres choisis, dans la figure 3.1 nous avons 2 exemples de courbe elliptique. Dans le domaine cryptographique, nous utilisons les courbes elliptiques qui sont définies dans un corps fini dont l’ordre q = p n . Ce corps peut être soit premier, soit binaire, et le3.2. PRÉSENTATION DE LA COURBE ELLIPTIQUE 27 y 2 = x 3 − x y2 = x 3 − x + 2 FIGURE 3.1 – Exemples de courbe elliptique choix de corps n’a pas une influence importante sur la performance du cryptosystème. Dans la littérature, il existe différents algorithmes et techniques qui nous permettent d’optimiser les performances de calcul sur les courbes qui sont définies sur les 2 types de corps [87]. Cependant pour une raison de simplicité d’implémentation et de présentation, durant les travaux de recherche de cette thèse, nous n’avons utilisé que des courbes qui sont définies sur un corps premier. L’équation Weierstrass d’une courbe elliptique peut être simplifiée, si la courbe est définie sur un corps premier Fp dont la caractéristique est différente de 2 et de 3. Nous pouvons transformer la formule 3.1 à l’équation de Weierstrass simplifiée (formule 3.3). y 2 = x 3 + ax + b (3.3) où a, b ∈ Fp. Le discriminant de la courbe ∆ = −16(4a 3 + 27b 2 ), et ∆ , 0. C’est aussi la forme de courbe que nous utilisons dans la suite de cette thèse. 3.2.2/ LOI DE COMPOSITION SUR LES COURBES ELLIPTIQUES Nous supposons qu’une courbe elliptique E est définie dans un corps premier Fp, l’ensemble de points sur la courbe avec le point à l’infini, noté ∞, forment un groupe abélien G dont la loi de composition est l’addition de point satisfaisant les conditions suivantes : – Fermeture : ∀(P1, P2) ∈ G | P1 + P2 ∈ G. – Commutativité : ∀(P1, P2) ∈ G | P1 + P2 = P2 + P1. – Associativité : ∀(P1, P2, P3) ∈ G | (P1 + P2) + P3 = P1 + (P2 + P3). – Élément neutre ∞ : ∀P ∈ G | P + ∞ = ∞ + P = ∞. – Élément symétrique : ∀P ∈ G, ∃Q ∈ G | P + Q = Q + P = ∞. Pour obtenir le point symétrique de P, il suffit de changer le signe de sa coordonnée y, si P = (x, y), alors −P = (x, −y) et P + (−P) = ∞.28 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES Le calcul de l’addition de point est montré dans les formules 3.4 et 3.5. Supposons que P = (x1, y1) ∈ E, Q = (x2, y2) ∈ E et P , ±Q, alors P + Q = (x3, y3) où x3 = ( y2 − y1 x2 − x1 ) 2 − x1 − x2 et y3 = ( y2 − y1 x2 − x1 )(x1 − x3) − y1 (3.4) Si P = (x1, y1) ∈ E et P , −P, alors 2P = (x3, y3) où x3 = ( 3x 2 1 + a 2y1 ) 2 − 2x1 et y3 = ( 3x 2 1 + a 2y1 )(x1 − x3) − y1 (3.5) Une représentation géométrique est donnée dans la figure 3.2. Pour additionner les points P et Q, nous traçons une droite qui passe par ces 2 points, le résultat de l’addition est le point symétrique par rapport à l’axe abscisse du 3e point d’intersection avec la courbe. Pour doubler le point P, c’est-à-dire 2P, il suffit de trouver la tangente à la courbe au point P, et le résultat du doublement est le point symétrique par rapport à l’axe abscisse du 2e point d’intersection avec la courbe. Addition : P + Q = R Doublement : P + P = R FIGURE 3.2 – Addition de points sur les courbes elliptiques 3.2.3/ MULTIPLICATION DE POINT En se basant sur l’addition de point, nous pouvons encore effectuer la multiplication de point, notée Q = kP sur une courbe elliptique E où k ∈ Z + et (P, Q) ∈ E. Cette opération est appelée aussi la multiplication scalaire, qui est considérée comme l’opération la plus coû- teuse et importante sur les courbes elliptiques. Nous allons voir dans la section 3.4 que c’est une opération cruciale dans les protocoles cryptographiques basés sur les courbes elliptiques. Une multiplication de point peut être considérée comme une suite d’additions de point consécutives : Q = kP = P + P + · · · + P | {z } k fois P (3.6)3.2. PRÉSENTATION DE LA COURBE ELLIPTIQUE 29 Nous pouvons voir dans les formules 3.4 et 3.5 que le calcul de l’addition de point est compliqué, notamment quand la courbe est définie dans un corps premier, le temps de calcul de l’inverse modulaire (voir section 3.2.4) n’est pas négligeable non plus. Il est donc inefficace de répéter successivement l’addition de point. La méthode de base pour accélérer la multiplication scalaire est d’utiliser l’algorithme doublement-et-addition (voir algorithme 1). Supposons que P est un point sur une courbe elliptique qui est définie sur un corps premier, notée E(Fp), pour calculer kP où k est un nombre entier positif de longueur l bits, nous représentons k en binaire k = Pl−1 i=0 ki2 i , et ensuite nous parcourons k du bit de poids faible au bit de poids fort. Algorithme 1 : Algorithme doublement-et-addition pour calculer Q = kP Données : k = Pl−1 i=0 ki2 i et P ∈ E(Fp) Résultat : Q = kP 1 Q ← ∞; 2 pour i de 0 à l − 1 faire 3 si ki = 1 alors 4 Q ← Q + P 5 fin 6 P ← 2P 7 fin 8 retourner Q 3.2.4/ ALGORITHME D’EUCLIDE ÉTENDU Nous travaillons avec des courbes qui sont définies dans un corps premier Fp, les calculs modulaires sont donc indispensables pour limiter les coordonnées des points dans l’intervalle [0, p − 1]. Les formules de l’addition de point peuvent être transformées sous forme de congruence. Nous avons maintenant x3 ≡ ( y2 − y1 x2 − x1 ) 2 − x1 − x2 (mod p) y3 ≡ ( y2 − y1 x2 − x1 )(x1 − x3) − y1 (mod p) (3.7) pour l’addition et x3 ≡ ( 3x 2 1 + a 2y1 ) 2 − 2x1 (mod p) y3 ≡ ( 3x 2 1 + a 2y1 )(x1 − x3) − y1 (mod p) (3.8) pour le doublement. Nous constatons que dans les formules 3.7 et 3.8 nous avons besoin d’effectuer des calculs de l’inverse modulaire m ≡ x −1 (mod p) dans un corps premier, noté Z/pZ. L’inverse modulaire existe si et seulement si le Plus Grand Commun Diviseur PGCD(x, p) = 1. Nous pouvons aussi représenter cette condition en utilisant le théorème de Bézout ux + vp = PGCD(x, p) = 1 (3.9) où u est l’inverse multiplicatif de x modulo p, et u, v sont les coefficients de Bézout.30 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES Afin de calculer l’inverse modulaire, nous pouvons utiliser l’algorithme d’Euclide étendu (voir l’algorithme 2) qui est en effet une variante de l’algorithme d’Euclide, et qui permet non seulement de calculer le PGCD de x et p, mais aussi de déterminer les coefficients de Bézout u et v. Un exemple est donné dans l’annexe .4 pour vous montrer le déroulement de l’algorithme. Le calcul de l’inverse modulaire est l’opération la plus coûteuse durant des multiplications scalaires. Dans un véritable cryptosystème d’ECC, la longueur des nombres entiers manipulés peut atteindre facilement quelques centaines de bits, et nous pouvons constater dans l’algorithme 1 que durant une multiplication scalaire, nous avons besoin de calculer au moins 2 inverses modulaires par itération. Nous allons voir dans la section 3.3 des solutions qui nous permettent d’éviter de répéter le calcul de l’inverse modulaire pendant les multiplications scalaires. Algorithme 2 : Algorithme d’Euclide étendu Données : (x, p) ∈ Z Résultat : x −1 (mod p) 1 (r1,r2, u1, u2, q,rs, us) ∈ Z; 2 r1 ← x; 3 r2 ← p; 4 u1 ← 1; 5 u2 ← 0; 6 tant que r2 , 0 faire 7 q ← r1 r2 ; 8 rs ← r1; 9 us ← u1; 10 r1 ← r2; 11 u1 ← u2; 12 r2 ← rs − q × r1; 13 u2 ← us − q × u1; 14 fin 15 si r1 , 1 alors 16 retourner Erreur; 17 sinon 18 retourner u1; 19 fin 3.2.5/ PROBLÈME DU LOGARITHME DISCRET SUR LES COURBES ELLIPTIQUES Nous avons vu les différentes opérations que nous pouvons effectuer sur les courbes elliptiques, notamment la multiplication scalaire qui est utilisée fréquemment pendant les calculs cryptographiques. Dans cette section, nous expliquons la raison pour laquelle la multiplication scalaire est la clé pour assurer la sécurité d’un cryptosystème d’ECC. Le niveau de sécurité d’ECC dépend fortement de la difficulté pour résoudre le problème de logarithme discret sur les courbes elliptiques. Nous supposons que g est le générateur d’un groupe cyclique G de l’ordre n, si la loi de composition du groupe est multiplicative, tout élément e peut être écrit sous forme e = g k où k ∈ Z. En outre deux entiers3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 31 quelconques e et k satisfaisant cette équation sont nécessairement congrus modulo n, c’est-à-dire e ≡ k (mod n). Le problème du logarithme discret est en effet une application réciproque de g k (voir la formule 3.10), qui a pour objectif de trouver le plus petit nombre entier naturel k vérifiant cette propriété. logg : G → Zn (3.10) Nous choisissons, sur une courbe elliptique définie dans un corps premier fini E(Fp), un point P de l’ordre n comme le générateur du groupe cyclique hPi, un autre point Q ∈ hPi. Le problème du logarithme discret sur les courbes elliptiques (ECDLP en Anglais) est de trouver l ∈ [0, n − 1] satisfaisant Q = kP. La solution la plus naïve pour résoudre ce problème est de calculer exhaustivement 1P, 2P, 3P . . . jusqu’à ce que nous trouvions Q, mais le calcul peut devenir extrêmement long si la valeur de k est suffisamment grande (voir tableau 3.1). Il est donc énormément difficile de retrouver la valeur de k à partir de Q et P. Il n’y a pas de preuve mathématique qui peut démontrer que le ECDLP est insoluble, mais la résolution d’un tel problème est toujours considéré comme infaisable en prenant compte de l’état actuel des technologies informatiques [34]. Paramètre de courbe Valeur recommandée a = −3 b = 0x 64210519 E59C80E7 0FA7E9AB 72243049 FEB8DEEC C146B9B1 p = 2 192 − 2 64 − 1 xG = 0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012 yG = 0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811 n = 0x FFFFFFFF FFFFFFFF FFFFFFFF 99DEF836 146BC9B1 B4D22831 TABLE 3.1 – Courbe E(Fp) : y 2 = x 3 + ax + b avec un générateur G(xG, yG) de l’ordre n 3.3/ OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE Un des avantages d’ECC est la rapidité de calcul car nous utilisons des clés plus courtes. ECC est souvent un choix adapté pour les matériels qui ne disposent que d’une mémoire et d’une puissance de calcul limitées (carte à puce, micro-contrôleur etc.). Comme nous avons vu dans les sections précédentes que l’opération la plus complexe sur les courbes elliptiques est la multiplication scalaire, elle est aussi fréquemment utilisée dans les protocoles cryptographiques (voir section 3.4). La performance de la multiplication scalaire a une forte influence sur la performance de l’ensemble de cryptosystème. Dans cette section nous allons voir de différentes techniques mathématiques et algorithmiques qui nous permettent d’accélérer le calcul de multiplication scalaire. 3.3.1/ MÉTHODE NAF Comme nous avons déjà précisé, dans cette thèse, nous travaillons avec des courbes elliptiques E(Fp) qui sont définies dans un corps premier fini dont le caractère est supérieur32 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES à 3. Si P = (x, y) est un point sur E(Fp), alors −P = (x, −y). Ainsi, la soustraction de point est autant efficace que l’addition. Nous pouvons voir dans l’algorithme 1 que le temps de calcul dépend principalement du nombre de bits non-nuls dans k. Si nous pouvons réduire le nombre de bits non-nuls, nous pourrons accélérer le calcul. La première méthode est d’utiliser la forme non adjacente (NAF) qui consiste à représenter un nombre entier positif k de longueur l avec des chiffres binaires signés. C’est-à-dire k = Pl i=0 ki2 i où ki ∈ {0, ±1} et kl−1 , 0. En outre, nous ne pouvons pas trouver deux ki non-nuls consécutifs. La représentation NAF d’un nombre k dispose des propriétés suivantes : – k a une représentation unique de NAF, notée NAF(k). – NAF(k) a moins de bits non-nuls par rapport à toute autre représentation utilisant des chiffres binaires signés. – La longueur maximale de NAF(k) est l + 1 bits. – Si la longueur de NAF(k) = l, alors 2 l 3 < k < 2 l+1 3 . – Par rapport à la représentation binaire de k, le nombre de bits non-nuls est réduit de l 2 à l 3 . NAF(k) peut être calculé efficacement avec l’algorithme 3. Algorithme 3 : Calcul de la forme NAF d’un nombre entier positif Données : k = Pl−1 i=0 ki2 i et k ∈ Z + Résultat : NAF(k) 1 i ← 0; 2 tant que k ≥ 1 faire 3 si k est impair alors 4 ki ← 2 − (k mod 4); 5 k ← k − ki ; 6 sinon 7 ki ← 0; 8 fin 9 k ← k 2 ; 10 i ← i + 1; 11 fin 12 retourner (ki−1, ki−2, . . . , k1, k0) L’algorithme 1 doit aussi être modifié (voir algorithme 4) pour pouvoir prendre en charge des nombres entiers représentés en forme NAF. 3.3.2/ MÉTHODE DE LA FENÊTRE Si nous disposons de mémoire suffisante, nous pouvons encore optimiser la performance de l’algorithme 4 en utilisant la méthode de la fenêtre. Une représentation NAF de taille w d’un nombre entier positif k, notée NAFw(k), est une expression k = Pl−1 i=0 ki2 i où chaque chiffre ki non-nul est impair, |ki | < 2 w−1 et kl−1 , 0. Il y a au plus un chiffre sur w chiffres est non-nul.3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 33 Algorithme 4 : Méthode NAF pour le calcul de multiplication scalaire Données : NAF(k) où k ∈ Z + , et P ∈ E(Fp) Résultat : k.P 1 Q ← ∞; 2 pour i de l − 1 à 0 faire 3 Q ← 2.Q; 4 si ki = 1 alors 5 Q ← Q + P; 6 fin 7 si ki = −1 alors 8 Q ← Q − P; 9 fin 10 fin 11 retourner Q La forme NAFw(k) doit satisfaire des conditions suivantes : – Un nombre entier k a une représentation unique de NAFw(k). – NAF2(k) = NAF(k). – La longueur maximale de NAFw(k) est l + 1. – Le nombre moyen de bits non-nuls est l w+1 . Le calcul de la forme NAFw(k) est montré dans l’algorithme 5. Algorithme 5 : Calcul de la forme NAFw(k) d’un nombre entier positif Données : k,w Résultat : NAFw(k) 1 i ← 0; 2 tant que k ≥ 1 faire 3 si k est impair alors 4 ki ← k mod 2w; 5 k ← k − ki ; 6 sinon 7 ki ← 0; 8 fin 9 k ← k 2 ; 10 i ← i + 1; 11 fin 12 retourner (ki−1, ki−2, . . . , k1, k0) Le calcul de multiplication scalaire en utilisant la méthode de la fenêtre est donné dans l’algorithme 6. Nous pouvons constater qu’avant de lancer la boucle pour parcourir les ki , il faut d’abord calculer et stocker en mémoire Pi = i.P où i ∈ {1, 3, 5, . . . 2 w−1 − 1}. Donc cette méthode est applicable si et seulement si le système possède assez de mémoire pour stocker temporairement l’ensemble de Pi précalculés.34 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES Algorithme 6 : Méthode NAFw(k) pour le calcul de multiplication scalaire Données : NAFw(k), P ∈ E(Fp) Résultat : k.P 1 Calculer Pi = i.P où i ∈ {1, 3, 5, . . . 2 w−1 − 1}; 2 Q ← ∞; 3 pour i de l − 1 à 0 faire 4 Q ← 2Q; 5 si ki , 0 alors 6 si ki > 0 alors 7 Q ← Q + Pki ; 8 sinon 9 Q ← Q − P−ki ; 10 fin 11 fin 12 fin 13 retourner Q 3.3.3/ SYSTÈME DE COORDONNÉES PROJECTIVES Le calcul dont nous avons besoin pour additionner 2 points en coordonnées affines est détaillé dans les formules 3.4 et 3.5. Nous pouvons remarquer que dans les 2 formules, nous avons besoin d’effectuer des calculs de l’inverse modulaire, qui demande beaucoup plus de calculs supplémentaires (voir algorithme 2). Afin d’éviter la répétition du calcul de l’inverse modulaire, il est plus avantageux d’utiliser des coordonnées projectives. Avec le système de coordonnées projectives, un point est représenté par 3 coordonnées (X, Y, Z) qui correspondent à un point affine ( X Z c , Y Z d ), et il est équivalent à un point projectif ( X Z c , Y Z d , 1). Dans un système de coordonnées projectives standards, c = 1 et d = 1, mais nous travaillons souvent avec un cas particulier, le système de coordonnées jacobiennes dans lequel c = 2 et d = 3, et l’équation Weierstrass simplifiée (voir formule 3.3) d’une courbe elliptique peut être transformée en Y 2 = X 3 + aXZ4 + bZ6 (3.11) Le point à l’infini est (1, 1, 0), et la négation d’un point (X, Y, Z) est (X, −Y, Z). 3.3.3.1/ DOUBLEMENT DE POINT Nous supposons que P = (X1, Y1, Z1) ∈ E et P , −P. Il nous suffit de réutiliser la formule 3.5 pour calculer 2P = (X ′ 3 , Y ′ 3 , 1), car le point P = (X1, Y1, Z1) est équivalent à ( X1 Z 2 1 , Y1 Z 3 1 ) en coordonnée affine. Nous substituons donc, dans la formule 3.5, la variable x par X1 Z 2 1 et y par Y1 Z 3 1 , et nous obtenons :3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 35 X ′ 3 = ( 3 X 2 1 Z 4 1 + a 2 Y1 Z 3 1 ) − 2 X1 Z 2 1 = (3X 2 1 + aZ4 1 ) 2 − 8X1Y 2 1 4Y 2 1 Z 2 1 (3.12) et Y ′ 3 = ( 3 X 2 1 Z 4 1 + a 2 Y1 Z 3 1 )( X1 Z 2 1 − X ′ 3 ) − Y1 Z 3 1 = 3X 2 1 + aZ4 1 2Y1Z1 ( X1 Z 2 1 − X ′ 3 ) − Y1 Z 3 1 (3.13) Enfin pour éliminer les dénominateurs, nous calculons le point (X3, Y3, Z3) dont X3 = X ′ 3 .Z 2 3 , Y3 = Y ′ 3 .Z 3 3 et Z3 = 2Y1Z1. Le point (X3, Y3, Z3) est équivalent à (X ′ 3 , Y ′ 3 , 1), car dans un système de coordonnées projectives, (X1, Y1, Z1) est équivalent à (X2, Y2, Z2), si X1 = λ cX2, X1 = λ dY2 et Z1 = λZ2. Les nouvelles coordonnées sont données dans la formule 3.14 : X3 = (3X 2 1 + aZ4 1 ) 2 − 8X1Y 2 1 Y3 = (3X 2 1 + aZ4 1 )(4X1Y 2 1 − X3) − 8Y 4 1 Z3 = 2Y1Z1    (3.14) Nous pouvons remarquer que si le paramètre de la courbe a = −3, (3X 2 1 − 3Z 4 1 ) peut être factorisée sous la forme suivante : 3X 2 1 − 3Z 4 1 = 3(X1 − Z 2 1 )(X1 + Z 2 1 ) (3.15) qui peut être calculée beaucoup plus efficacement. C’est aussi la raison pour laquelle dans les configurations recommandées de courbes elliptiques, on choisit toujours la valeur −3 pour le paramètre a. 3.3.3.2/ ADDITION DE POINT Nous avons deux points P = (X1, Y1, Z1) ∈ E où Z1 , 0, et Q = (X2, Y2, 1). Afin de simplifier l’implémentation de l’algorithme, la coordonnée Z du point Q est toujours égale à 1. Nous supposons que P , ±Q, et nous appliquons la même technique pour le doublement. Comme le point P est équivalent à ( X1 Z 2 1 , Y1 Z 3 1 ) en coordonnée affine, il nous suffit de substituer, dans la formule 3.4, la variable x1 par X1 Z 2 1 et y1 par Y1 Z 3 1 , et nous obtenons donc les nouvelles formules de calcul (voir les formules 3.16 et 3.17). X ′ 3 = ( Y2 − Y1 Z 3 1 X2 − X1 Z 2 1 ) 2 − X1 Z 2 1 − X2 = ( Y2Z 3 1 − Y1 (X2Z 2 1 − X1)Z1 ) 2 − X1 Z 2 1 − X2 (3.16) et Y ′ 3 = ( Y2 − Y1 Z 3 1 X2 − X1 Z 2 1 )( X1 Z 2 1 − X ′ 3 ) − Y1 Z 3 1 = ( Y2Z 3 1 − Y1 (X2Z 2 1 − X1)Z1 )( X1 Z 2 1 − X ′ 3 ) − Y1 Z 3 1 (3.17)36 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES Comme dans le calcul de l’addition, pour éliminer les dénominateurs, nous devons calculer le point équivalent du (X ′ 3 , Y ′ 3 , 1). C’est-à-dire (X3, Y3, Z3) où X3 = X ′ 3 .Z 2 3 , Y3 = Y ′ 3 .Z 3 3 et Z3 = (X2Z 2 1 − X1)Z1, nous obtenons ensuite les formules des nouvelles coordonnées : X3 = (Y2Z 3 1 − Y1) 2 − (X2Z 2 1 − X1) 2 (X1 + X2Z 2 1 ) Y3 = (Y2Z 3 1 − Y1)(X1(X2Z 2 1 − X1) 2 − X3) − Y1(X2Z 2 1 − X1) 3 Z3 = (X2Z 2 1 − X1)Z1    (3.18) Dans le tableau 3.2, nous avons une liste de nombres d’opérations nécessaires pour calculer une addition et un doublement sur les courbes elliptiques. Nous pouvons voir que le système de coordonnées jacobiennes offre une meilleure performance pour le doublement de point, et une addition utilisant des systèmes de coordonnées mixtes (Jacobienne + Affine) demande moins d’opérations. Nous considérons que le calcul de l’inversion modulaire est une opération beaucoup plus coûteuse que les autres. Cependant, si nous utilisons les systèmes de coordonnées projectives, nous pourrons éviter de répéter le calcul de l’inverse modulaire durant la multiplication scalaire. Il nous suffit de l’appliquer une seule fois à la fin de de la multiplication pour convertir le résultat final en coordonnées affines. Doublement Addition Addition mixte 2A → A 1I, 2M, 2S A + A → A 1I, 2M, 1S J + A → J 8M, 3S 2P → P 7M, 3S P + P → P 12M, 2S 2J → J 4M, 4S J + J → J 12M, 4S TABLE 3.2 – Nombre d’opérations pour calculer une addition et un doublement sur y 2 = x 3 − 3x + b. A : Affine, P : Projective standard, J : Jacobienne, I : Inversion modulaire, M : Multiplication, S : Carré 3.3.4/ RÉDUCTION DE SCALAIRE Selon l’algorithme 1, lorsque l’on effectue la multiplication scalaire kP, on doit parcourir les bits du scalaire k. Le nombre d’itération dépend du nombre de digits dans la repré- sentation binaire du scalaire. Autrement dit, si on peut trouver un scalaire équivalent plus petit, il sera possible d’accélérer le calcul de multiplication scalaire en substituant la valeur du scalaire par la nouvelle. Dans [26], Faye et al. ont proposé une méthode qui permet de remplacer la multiplication kP par une représentation équivalente dP, où P est le point de générateur dont ord(P) = n, k > d et k, d ∈ [⌊n/2⌋ + 1, n − 1]. On peut obtenir la valeur de d en suivant les règles cidessous :    ∀k > n, ∃d = (k − ⌊k/2⌋n), kP = dP ∀k ∈]⌊n/2⌋, n − 1], ∃d = k − n, kP = dP ∀k ∈]0,⌊n/2⌋], ∃d = k, kP = dP ∀k ∈ {−n, 0, n}, kP = ∞ ∀k ∈ [−(n − 1), −⌊n/2⌋[, ∃d = (n + k), kP = dP ∀k ∈ [−⌊n/2⌋, 0[, ∃d = k, kP = dP ∀k < −n, ∃d = k + n⌊|k|/2⌋, kP = dP (3.19)3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 37 En cryptographie, la valeur de k est souvent choisie dans l’intevalle ]0, n − 1], donc la formule 3.19 peut être simplifiée de la manière suivante : ( ∀k ∈]⌊n/2⌋, n − 1], ∃d = k − n, kP = dP ∀k ∈]0,⌊n/2⌋], ∃d = k, kP = dP (3.20) Prenons un exemple, E : y 2 = x 3 + x + 1 est une courbe elliptique définie dans un corps premier fini dont le caractéristique p = 23, notée E(F23). P(0, 1) est le point générateur, et les représentations équivalentes des multiplications scalaires sont illustrées dans la figure 3.3. FIGURE 3.3 – Exemples des multiplications scalaires équivalentes Nous pouvons constater que −34P, −6P, 22P et 50P sont équivalentes, si nous voulons calculer le point 50P, il suffira de calculer 6P et changer le signe de sa coordonnée en ordonnée. Les tests de performance ont montré que cette technique peut réduire le temps de calcul, notamment quand la valeur de k est proche de la borne n − 1. 3.3.5/ MULTIPLICATION SCALAIRE PARALLÈLE Une autre technique qui nous permet d’accélérer le calcul des multiplications scalaires est le calcul parallèle. Le principe est découper le calcul en plusieurs sous tâches indé- pendantes qui peut être effectuée séparément par des processeurs différents. Le calcul parallèle des multiplications scalaires est un sujet de recherche très actif dans le domaine de cryptographie, différentes solutions ont été proposées, mais beaucoup entre elles sont conçues pour des implémentations matérielles basées sur les architectures multi-processeurs ou FPGA [80, 77]. Il existe principalement 2 types d’implémentation logicielle, le premier est basé sur la décomposition de scalaire. Nous voulons calculer Q = kP, et nous décomposons d’abord38 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES le scalaire k en plusieurs parties, chacune représente une sous tâche de calcul. Elles sont ensuite distribués aux processeurs différents, qui les traitent simultanément. Dans [8], Brickell et al. ont proposé une méthode d’exponentiation rapide basée sur le tableau précalculé. Par exemple, nous voulons calculer g n où g est un élément de Z/pZ et n est un nombre entier positif de longueur l. Nous pouvons représenter l’exposant n en base h de la manière suivante : n = X l−1 i=0 aixi où 0 ≤ ai ≤ h − 1 et 0 ≤ i < l (3.21) Nous calculons et stockons g x0 , g x1 , . . . , g xi−1 dans un tableau, ainsi g n peut être calculé en utilisant g n = Y h−1 d=1 c d d cd = Y i:ai=d g xi (3.22) Le calcul de g n est constitué de trois étapes principales : 1. Déterminer la représentation de n = Pl−1 i=0 aixi en base h. 2. Calculer cd = Q i:ai=d g xi . 3. Calculer g n = Qh−1 d=1 c d d . Cette méthode peut être appliquée aux multiplications scalaires sur les courbes elliptiques en calculant des points 2 1P, 2 2P, . . . , 2 l−1P. Les étapes 2 et 3 peuvent être parallélisée. Par exemple, si nous possédons h − 1 processeurs, alors nous pouvons paralléliser la 2e étape, et chaque processeur calcule sa propre valeur de cd. Idem pour l’étape 3, si nous avons d processeurs disponibles, chacun peut calculer c d d pour une valeur de d particulière. Lim and Lee ont proposé dans [60] une autre méthode d’exponentiation rapide. Afin de calculer g R , où R est un nombre entier positif de longueur n, on divise R en h parties Ri de longueur ⌊n/h⌋. Ensuite chaque Ri est encore divisé en v segments Ri, j de longueur ⌊b = a/v⌋ (voir la formule 3.23). R = Rh−1Rh−2 . . . R1R0 = Ph−1 i=0 Ri2 ia où Ri = Ri,v−1Ri,v−2 . . . Ri,1Ri,0 = Pv−1 j=0 Ri, j2 jb (3.23) Nous supposons que g0 = g, ainsi gi = g 2 a i−1 = g 2 ia où 0 < i < h. En utilisant la formule 3.23, g R peut être réécrite de la manière suivante g R = Y h−1 i=0 g Ri i = Yv−1 j=0 Y h−1 i=0 (g 2 jb i ) Ri, j (3.24) Si la représentation binaire de Ri est Ri = ei,a−1ei,a−2 . . . ei,0 et celle de Ri, j est Ri, j = ei, jb+b−1ei, jb+b−2 . . . ei, jb+1ei, jb, alors la formule 3.24 peut être transformée à la forme suivante3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 39 g R = Y b−1 k=0 ( Yv−1 j=0 Y h−1 i=0 g 2 jbei, jb+k i ) 2 k (3.25) Si nous calculons et stockons les valeurs suivantes pour tout i ∈ [1, 2 h [ et j ∈ [0, v[, G[0][i] = g eh−1 h−1 g eh−2 h−2 . . . g e0 0 G[j][i] = (G[j − 1][i])2 b = (G[0][i])2 jb (3.26) la formule 3.25 peut encore être réécrite comme ci-dessous : g R = Y b−1 k=0 ( Yv−1 j=0 G[j][Ij,k])2 k (3.27) où Ij,k = eh−1,b j+keh−2,b j+k . . . e1,b j+ke0,b j+k et j ∈ [0, b[. Ainsi, le calcul de g R peut être parallélisé un utilisant les valeurs précalculées. Une autre méthode basée sur des valeurs précalculés est proposée dans [71]. Nous supposons que nous voulons calculer Q = kP où Q et P sont 2 points représentés en coordonnées jacobiennes sur une courbe elliptique, et k est un nombre entier positif de longueur 160. Nous préparons un tableau contenant 62 points précalculés (voir la formule 3.28). A[s] = P4 j=0 as, j2 32 jG B[s] = P4 j=0 as, j2 16+32 jG (3.28) où 1 ≤ s ≤ 31 et as,0, . . . , as,4 est la représentation binaire de s = P4 j=0 as, j2 j . Le calcul parallèle de kP en utilisant des points précalculés est montré dans l’algorithme 7. Algorithme 7 : Multiplication scalaire parallèle basée sur des points précalculés Données : k = Pl−1 i=0 ki2 i , P Résultat : kP 1 pour 0 ≤ j ≤ 15 faire 2 uj = P4 i=0 k32i+j2 i ; 3 vj = P4 i=0 k32i+16+j2 i ; 4 fin 5 A[0] = ∞; 6 B[0] = ∞; 7 T = ∞; 8 pour i de 15 à 0 faire 9 T ← 2T; 10 T ← T + A[ui] + B[vi]; 11 fin 12 return T; Comme cette méthode est basée sur des points précalculés aussi, une fois les points prêts, le calcul qui se situe à l’intérieur de la boucle peut être effectué par des processeurs différents.40 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES Le deuxième type d’implémentation logicielle de multiplication scalaire parallèle est basé sur la décomposition d’opération. C’est-à-dire que chaque processeur s’occupe d’un type d’opération spécifique. Cependant, ce genre d’implémentation nécessite souvent une mémoire partagée entre les processeurs. Dans [4], une architecture de double-processeur est proposée (voir la figure 3.4) pour paralléliser le calcul des multiplications scalaires Q = kP, où Q et P sont 2 points sur une courbe elliptique, et k est un nombre entier positif de longueur n, qui peut être représenté en binaire k = Pn−1 i=0 ki2 i . FIGURE 3.4 – Architecture double-processeur pour l’algorithme de calcul parallèle proposé Le calcul est basé sur l’algorithme 1. Les 2 processeurs partagent une mémoire et un compteur, le premier processeur, noté ECDBL, charge le point P et lit les ki . Après la lecture de chaque bit, le processeur met à jour le compteur et effectue un double de point 2P. S’il s’agit d’un bit non nul, il stocke le point 2 iP dans la mémoire (voir l’algorithme 8). Algorithme 8 : Partie ECADD de la multiplication scalaire parallèle Données : P, k = Pn−1 i=0 ki2 i Résultat : 2 iP, stocké dans la mémoire 1 i ← 0; 2 Q ← P; 3 tant que i < n faire 4 si ki = 1 alors 5 si Mémoire est pleine alors 6 Attendre; 7 sinon 8 Stocker Q dans la mémoire; 9 fin 10 fin 11 Q ← 2Q; 12 i ← i + 1; 13 Compteur ← i; 14 fin Le deuxième processeur, noté ECADD, récupère le point 2 iP depuis la mémoire et effectue l’addition Q = Q + 2 iP. Le calcul est terminé quand tous les bits ki sont scannés et il3.4. PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC 41 n’y a plus de points en mémoire partagée (voir l’algorithme 9). Algorithme 9 : Partie ECDBL de la multiplication scalaire parallèle Données : 2 iP, lu depuis la mémoire Résultat : Q = kP 1 Q ← ∞; 2 i ← Compteur; 3 tant que i < n faire 4 si Mémoire n’est pas pleine alors 5 Lire 2 iP depuis la mémoire; 6 Q ← Q + 2 iP; 7 Effacer 2 iP dans la mémoire; 8 fin 9 i ← Compteur; 10 fin 11 retourner Q 3.4/ PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC Grâce au problème de logarithme discret, plusieurs protocoles cryptographiques ont été proposés. Dans cette section, nous présentons les protocoles principaux (échange de clés, chiffrement et signature numérique) qui existent dans la littérature [55]. 3.4.1/ ELGAMAL Dans [24], ElGamal propose un protocole de chiffrement et de signature numérique basé sur le protocole d’échange de clé Diffie-Hellman [22]. Dans le protocole Diffie-Hellman, A et B veulent partager un secret entre eux, et chacun détient une clé privée appelé respectivement xA et xB, p est un grand nombre premier, et α est la racine primitive modulo p (le générateur). A calcule yA ≡ α xA (mod p) et l’envoie à B, et dans l’autre sens, B calcule yB ≡ α xB (mod p) et l’envoie à A (voir figure 3.5). Le secret partagé KAB est donc KAB ≡ α xAxB (mod p) ≡ y xB A (mod p) ≡ y xA B (mod p) (3.29) Grâce à la difficulté pour résoudre le problème du logarithme discret, A et B peuvent s’envoyer yA et yB sans risque, car il est extrêmement difficile de calculer les valeurs xA et xB. Une fois le secret partagé établi entre A et B, ils peuvent sécuriser la communication entre eux avec un algorithme de cryptographie symétrique qui est moins lourd à gérer. 3.4.1.1/ CHIFFREMENT ET DÉCHIFFREMENT Un algorithme de chiffrement et déchiffrement à clé public est aussi proposé dans [24]. Si A veut envoyer un message m à B où m ∈ [0, p − 1]. A choisit d’abord un nombre entier42 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES A B yA ≡ α xA (mod p) yB ≡ α xB (mod p) KAB ≡ α xAxB (mod p) FIGURE 3.5 – Échange de clés Diffie-Hellman k ∈ [0, p − 1] et on calcule K ≡ y k B (mod p) (3.30) où yB ≡ α xB (mod p) est en effet la clé publique de B. Pour chiffrer le message, A calcule c1 ≡ α k (mod p) c2 ≡ Km (mod p) (3.31) et envoie c1 et c2 à B. Pour déchiffrer le message, B calcule dans un premier temps la valeur de K ≡ (α k ) xB ≡ c xB 1 (mod p), car xB est la clé privée de B, ensuite B divise c2 par K pour récupérer le message m. Le déroulement du protocole est illustré graphiquement dans la figure 3.6. A B c1 ≡ α k (mod p) c2 ≡ K · m (mod p) m ≡ c2/c xB 1 (mod p) yB ≡ α xB (mod p) (c1, c2) FIGURE 3.6 – Protocole de chiffrement d’Elgamal Cet algorithme peut aussi être appliquer sur les courbes elliptiques. Supposons que G soit le point générateur sur une courbe définie dans un corps premier fini, notée E(Fp). A et B disposent chacun d’une clé privée, xA et xB avec lesquelles ils peuvent calculer leurs clés publiques PA et PB. PA = xA.G et PB = xB.G (3.32) Lorsque A veut envoyer un message m à B, il convertit d’abord m en un point, noté M, sur la courbe E(Fp, et prendre un nombre entier aléatoire k ∈ [0, p − 1], ensuite il commence à chiffrer le message en calculant3.4. PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC 43 M1 = k.G M2 = M + k.PB (3.33) Enfin le couple (M1, M2) est envoyé à B qui peut déchiffrer le message de la manière suivante. M = M2 − xB.M1 = M + k.PB − xB.k.G = M + (k.PB − k.PB) (3.34) 3.4.1.2/ SIGNATURE NUMÉRIQUE L’objectif de la signature numérique est de garantir l’intégrité d’un document et d’authenti- fier l’auteur. En vérifiant la signature, le récepteur du document peut identifier le signataire du document et détecter si le document a été modifié pendant la transmission. Pour signer un document, le signataire doit trouver une solution qui lui permette de signer le document un utilisant sa clé privée, et les autres personnes peuvent vérifier la signature avec la clé publique du signataire. Dans la proposition de ElGamal, la signature d’un document m ∈ [0, p − 1] est un couple (r, s) tel que α m ≡ y r r s (mod p) (3.35) où y ≡ α x (mod p) est la clé publique du signataire, et x est sa clé privée. Avant de lancer la procédure de signature, le signataire trouve un nombre entier k ∈ [0, p − 1] tel que PGCD(k, p − 1) = 1. Ensuite il calcule r ≡ α k (mod p) (3.36) et la formule 3.35 peut être transformée à α m ≡ α xrα ks (mod p) (3.37) à partir de laquelle nous pouvons calculer s en utilisant l’équation m ≡ xr + ks (mod p − 1) (3.38) Une fois que le document est arrivé chez destinataire, il suffit que le récepteur calcule les deux côtés de l’équation 3.35 pour voir s’ils sont égaux. Cet algorithme doit être légèrement modifié avant de pouvoir être utilisé avec les courbes elliptiques [81]. Afin de sécuriser la communication entre eux, utilisateurs A et B choisissent la même courbe E(Fp) dont le point de générateur est G. Avant d’envoyer le message M à B, il faut qu’il soit signé par A. Supposons que la clé privée de A soit xA, et avec laquelle on peut calculer facilement sa clé publique PA = xAG. La procédure de signature est constituée de 5 étapes. 1. Choisir d’abord un nombre entier aléatoire k ∈ [0, p − 1].44 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES 2. Calculer R = kG = (xR, yR) et r ≡ xR (mod p). Si r = 0, répéter l’étape précédente. 3. Calculer e = h(M) où h est une fonction de hachage. 4. Calculer s ≡ k −1 (e + rxA) (mod p). Si s = 0, recommencer depuis l’étape 1. 5. Envoyer (R, s) à utilisateur B. Après la réception de (R, s), afin de vérifier la signature du document, B calcule V1 = sR et V2 = h(M)G + rPA. La signature est valide si V1 = V2 (voir figure 3.7). V1 = k −1 (e + rxA)kG = G(h(M) + rxA) V2 = h(M)G + rxAG = G(h(M) + rxA) ) (3.39) A B k ∈ [0, p − 1] R = k · G = (xR, yR) r ≡ xR (mod p) e = h(M) s ≡ k −1 (e + r · xA) (mod p) V1 = s · R V2 = h(M) · G + r · PA PA = xA · G (R, s) FIGURE 3.7 – Protocole de signature numérique d’Elgamal 3.4.2/ ELLIPTIC CURVE INTEGRATED ENCRYPTION SCHEME (ECIES) Le protocole d’Elgamal est rarement utilisé directement avec les courbes elliptiques. Avant de chiffrer un message, il faut d’abord le convertir à un point sur la courbe elliptique utilisée. Il y a différentes techniques qui existent, mais la conversion nécessite plus de calcul. Généralement on utilise les courbes elliptiques pour établir une clé partagée entre les 2 parties d’une conversation [22], ensuite nous pouvons utiliser un algorithme de cryptographie symétrique pour sécuriser la communication entre elles. Le protocole ECIES est en effet une variante d’Elgamal standardisée. Supposons qu’Alice désire envoyer un message M à Bob d’une manière sécurisée, ils doivent d’abord disposer de toutes les informations suivantes : – KDF (Key Derivation Function) : Une fonction de dérivation de clé qui permet de géné- rer plusieurs clés à partir d’une valeur secrète de référence. – MAC (Message Authentication Code) : Code transmis avec les données dans le but d’assurer l’intégrité de ces dernières. – S Y M : Algorithme de chiffrement symétrique. – E(Fp) : La courbe elliptique utilisée avec le point de générateur G dont ordp(G) = n.3.4. PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC 45 – KB : La clé publique de Bob KB = kB.G où kB ∈ [1, n − 1] est sa clé privée. Pour chiffrer le message M, Alice doit effectuer des opérations suivantes : 1. Choisir un nombre entier k ∈ [1, n − 1] et calculer R = k.G. 2. Calculer Z = k.KB. 3. Générer les clés (k1, k2) = KDF(abscisse(Z), R). 4. Chiffrer le message C = S Y M(k1, M). 5. Générer le code MAC t = MAC(k2,C). 6. Envoyer (R,C, t) à Bob. Pour déchiffrer le message (R,C, t), Bob doit effectuer des calculs ci-dessous : 1. Rejeter le message si R < E(Fp). 2. Calculer Z = kB.R = kB.k.G = k.KB. 3. Générer les clés (k1, k2) = KDF(abscisse(Z), R). 4. Générer le code MAC t ′ = MAC(k2,C). 5. Rejeter le message si t ′ , t. 6. Déchiffrer le message M = S Y M−1 (k1,C). Dans ce protocole, la valeur critique est k avec laquelle Bob peut calculer Z = k.KB, et générer le couple (k1, k2) qui est utilisé pour déchiffrer et authentifier le message. Grâce à la difficulté pour résoudre le problème de logarithme discret, Alice peut envoyer R = k.G sans problème. Une représentation graphique du protocole est illustrée dans la figure 3.8, et une description plus détaillée est donnée dans [9] avec les paramètres recommandés dans [87]. A B k ∈ [0, p − 1] R = k · G Z = k · KB = (xZ, yZ) (k1, k2) = KDF(xZ, R) C = S Y M(k1, M) t = MAC(k2,C) Z = kB · R = (xZ, yZ) (k1, k2) = KDF(xZ, R) M = S Y M−1 (k1,C) KB = kB · G (R,C, t) FIGURE 3.8 – Protocole de chiffrement ECIES46 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES 3.4.3/ ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA) Le protocole ECDSA est proposé par Johnson et al. dans [40], il est une variante de DSA qui utilise les techniques de cryptographie sur les courbes elliptiques. Le protocole DSA signifie Digital Signature Algorithm en Anglais, c’est un algorithme de signature numérique standardisé par le NIST aux États-Unis [20]. Le protocole est basé sur l’idée du protocole de signature d’Elgamal. Nous supposons qu’Alice et Bob utilisent la même courbe elliptique E(Fp) pour sécuriser la communication entre eux. Nous supposons que la clé publique d’Alice est KA = kA.G où kA est sa clé privée et G est le point de générateur de l’ordre n. Pour signer un message M, Alice doit suivre les opérations suivantes : 1. Choisir un nombre aléatoire k ∈ [1, n − 1]. 2. Calculer R = k.G. 3. Calculer r ≡ abscisse(R) (mod n). Si r = 0, retourner à l’étape 1. 4. Calculer s ≡ k −1 (H(M) + kAr) (mod n) où H est une fonction de hachage. Si s = 0, retourner à l’étape 1. 5. Envoyer (r, s) à Bob. Après avoir reçu le message signé, Bob vérifie la signature du message : 1. Vérifier si KA , ∞ (point à l’infini) et KA ∈ E(Fp). 2. Vérifier si n.KA = ∞ car n.KA = n.kA.G et ordp(G) = n. 3. Vérifier si (r, s) ∈ [1, n − 1]. 4. Calculer R = (H(M)s −1 mod n)G + (rs−1 mod n)KA (voir la formule 3.40). 5. Vérifier si r ≡ abscisse(R) (mod n). R = (H(M)s −1 )G + (rs−1 )KA (mod n) = (H(M)s −1 )G + (rs−1 )kAG (mod n) = s −1G(H(M) + rkA) (mod n) = k(H(M) + kAr) −1G(H(M) + rkA) (mod n) = kG (3.40) Le déroulement du protocole est montré dans la figure 3.9. 3.4.4/ ELLIPTIC CURVE MENEZES QU VANSTONE (ECMQV) ECMQV est un protocole d’échange de clés authentifié proposé dans [51], car en utilisant Diffie-Hellman, nous ne pouvons pas assurer l’authentification des participants Nous supposons que R(xR, yR) est un point sur une courbe elliptique, et P est le point de générateur dont ord(P) = n. Nous calculons R¯ = (xR mod 2L ) + 2 L où L = ⌈ ⌊log2 n⌋+1 2 ⌉, alors R¯ est en effet les premier L bits de la coordonnée abscisse de R. En outre, (qA, QA) et (qB, QB) sont respectivement la clé privée et la clé publique de Alice et Bob. La procédure d’échange de clés commence par une génération de clés temporaire chez Alice :3.4. PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC 47 A B k ∈ [1, n − 1] R = k · G = (xR, yR) r ≡ xR (mod n) s ≡ k −1 (H(M) + kAr) R = (H(M)s −1 mod n) · G + (r · s −1 mod n) · KA (r, s) FIGURE 3.9 – Protocole de signature numérique ECDSA – Choisir en nombre entier kA ∈ [1, n − 1] et calculer RA = kA.P. – Envoyer RA à Bob. Après la réception de RA, Bob effectue des opérations suivantes : – Choisir un nombre entier aléatoire kB ∈ [1, n − 1] et calculer RB = kB.P. – Calculer sB ≡ (kB + R¯ BqB) (mod n) (Bob signe sa clé temporaire). – Calculer Z = sB(RA + R¯ AQA). – Génération de clés (k1, k2) = KDF(abscisse(Z)) où KDF est une fonction de dérivation de clés. – Génération de MAC tB = MAC(k1, 2, B, A, RB, RA) où 2 est un nonce cryptographique. – Envoyer (RB, tB) à Alice. Alice reçoit (RB, tB) et vérifie l’identité de Bob en faisant : – Calculer sA ≡ (kA + R¯ AqA) (mod n) (Alice signe sa clé temporaire). – Calculer Z ′ = sA(RB + R¯ BQB) (voir la formule 3.41). – Génération de clés (k1, k2) = KDF(abscisse(Z ′ )). – Vérifier si tB = MAC(k1, 2, B, A, RB, RA). – Génération de MAC tA = MAC(k1, 3, A, B, RA, RB). – Envoyer tA à Bob. Bob vérifie l’identité d’Alice : – Vérifier si tA = MAC(k1, 3, A, B, RA, RB). Z = sB(RA + R¯ AQA) = (kB + R¯ BqB)(RA + R¯ AQA) = (kB + R¯ BqB)(kA + R¯ AqA)P Z ′ = sA(RB + R¯ BQB) = (kA + R¯ AqA)(RB + R¯ BQB) = (kA + R¯ AqA)(kB + R¯ BqB)P (3.41) Le secret partagé k2 entre les 2 participants de la communication, et contrairement au protocole de Diffie-Hellman, la clé de session n’est jamais la même. Seulement Alice et Bob peuvent calculer Z, et ils utilisent leurs clés temporaires kA et kB pour prouver leurs identités. Le schéma qui représente l’établissement de la clé de session est donné dans48 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES la figure 3.10. A B kA ∈ [1, n − 1] RA = kA · P sA ≡ (kA + R¯ AqA) (mod n) Z ′ = sA · (RB + R¯ BQB) = (xZ ′, yZ ′) (k1, k2) = KDF(xZ ′) tA = MAC(k1, 3, A, B, RA, RB) kB ∈ [1, n − 1] RB = kB · P sB ≡ (kB + R¯ BqB) (mod n) Z = sB · (RA + R¯ A · QA) = (xZ, yZ) (k1, k2) = KDF(xZ) tB = MAC(k1, 2, B, A, RB, RA) Tester tA = MAC(k1, 3, A, B, RA, RB) RA (RB, tB) tA FIGURE 3.10 – Protocole d’échange de clés ECMQV 3.4.5/ ELLIPTIC CURVE MASSEY-OMURA (EC MASSEY-OMURA) En cryptographie, le protocole à trois passes, permet à Alice d’envoyer un message chiffré à Bob sans avoir besoin d’échanger ou de distribuer des clés. Le premier protocole à trois passes était celui développé par Shamir en 1980. Il est aussi appelé Shamir No-Key Protocol, car l’émetteur et le récepteur n’ont pas besoin d’échanger des clés. Le protocole nécessite néanmoins deux clés privées pour crypter et décrypter les messages. James Masey et Jim K. Omura ont proposé une amélioration du protocole de Shamir en 1982 [67]. La méthode de Massey-Omura utilise l’exponentiation dans le corps de Galois GF(2n ). Le message chiffré est Me et le message déchiffré est Md . Les calculs sont effectués dans le corps de Galois. Quelque soit le nombre entier e utilisé pour chiffrer le message avec 0 < e < 2 n − 1 et PGCD(e, 2 b − 1) = 1, le nombre entier d permettant de déchiffrer le message est tel que de ≡ 1 (mod 2n − 1). Comme le groupe multiplicatif associé au corps de Galois GF(2n ) est de l’ordre 2 n−1, le théorème de Lagrange implique que m de = m pour tout m dans GF(2n ) ∗ . La Théorème de Lagrange montre que pour un groupe G fini et pour tout sous-groupe H de G, l’ordre de H divise l’ordre de G. Dans notre cas, le groupe considéré est le groupe abélien associé à notre courbe elliptique E. Soit N le nombre de points sur la courbe E(Fp), ce nombre est public. Alice et Bob choisissent leur clé secrète : deux nombres entiers aléatoires eA et eB tel que PGCD(eA, n) = 1 et PGCD(eB, n) = 1. Ils calculent dA ≡ e −1 A (mod N) et dB ≡ e −1 B (mod N) en utilisant l’algorithme d’Euclide. Si Alice veut envoyer le message M à Bob, elle envoie d’abord eAM. Toutefois, Bob ne peut pas le déchiffrer, il renvoie eBeAM ) Alice. Alice renvoie alors dAeBeAM à Bob, et comme dAeA ≡ 1 (mod N),3.5. COMPARAISON DE PERFORMANCE ENTRE ECC ET RSA 49 nous avons daeBeAM = eBM et donc Bob peut déchiffrer le message. 3.5/ COMPARAISON DE PERFORMANCE ENTRE ECC ET RSA RSA fait partie des premiers cryptosystèmes asymétriques qui sont largement appliqués, et aujourd’hui, il est toujours considéré comme le cryptosystème asymétrique le plus utilisé, notamment pour échanger des données confidentielles sur internet. Il est proposé en 1977 par Ron Rivest, Adi Shamir et Leonard Adleman [89]. L’algorithme est basé sur l’hypothèse qu’il est extrêmement difficile d’effectuer la factorisation d’un nombre entier en facteurs premiers. Certes, la factorisation n’est pas la seule méthode pour casser RSA, mais pour l’instant, il n’existe pas d’autre attaque qui soit suffisamment efficace. RSA est proposé avec 3 algorithmes qui sont conçus respectivement pour la génération de clés, la signature numérique et la vérification de signature. 3.5.1/ GÉNÉRATION DE CLÉS Avec RSA, la clé publique et la clé privée du système peuvent être générées de la manière suivante : – Choisir 2 nombres premiers aléatoires p et q ayant approximativement la même longueur en nombre de bits. – Calculer n = p · q. – Calculer φ(n) = (p − 1) · (q − 1). – Choisir un nombre entier e ∈]1, φ(n)[ tel que gcd(e, φ(n)) = 1. – Calculer d tel que e · d ≡ 1 (mod n). – (n, e) est la clé publique et d est la clé privée. 3.5.2/ SIGNATURE NUMÉRIQUE La signature numérique permet au destinataire d’assurer l’intégrité du message et d’authentifier son auteur. Afin de signer le message m avec RSA, il suffit de chiffrer le message avec la clé privée. s ≡ hash(m) d (mod n) (3.42) hash est une fonction de hachage, et généralement nous utilisons la fonction SHA-1. Une fois le message est signé, le signataire envoie le message m avec sa signature au destinataire. 3.5.3/ VÉRIFICATION DE SIGNATURE Pour vérifier la signature reçue, le destinataire doit déchiffrer le message avec la clé publique du signataire.50 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES h ≡ s e ≡ (hash(m) d ) e ≡ hash(m) (mod n) (3.43) Pour authentifier l’auteur du message, le destinataire applique la même fonction de hachage au m et tester si le résultat est égal à h. 3.5.4/ COMPARAISON DE PERFORMANCE Afin d’évaluer et de comparer la performance de RSA et ECC, 2 implémentations utilisant respectivement ces 2 cryptosystèmes sont testés dans [39]. Comme nous avons présenté au début du chapitre, ECC peut avoir le même niveau de sécurité que RSA avec une clé beaucoup plus courte. Les longueurs de clé utilisées sont suggérées dans [54] (voir le tableau 3.3), et les longueurs qui se situent dans la même colonne sont censées pouvoir fournir le même niveau de robustesse. D’ailleurs, l’algorithme de signature utilisé pour ECC est ECDSA, une variante de DSA conçue pour les courbes elliptiques, et un texte de longueur 100 Ko est utilisé pour tester la signature. Algorithme Longueur de clé (bit) ECC 163 233 283 409 571 RSA 1024 2240 3072 7680 15360 TABLE 3.3 – Longueur de clé en bit Les résultats de test sont donnés dans les tableaux 3.4, 3.5 et 3.6. Nous pouvons constater que pour atteindre le même niveau de sécurité, premièrement, la consommation de mémoire est beaucoup moins importante avec ECC, car nous utilisons des clés plus courtes. Deuxièmement, les calculs de la génération de clé et de la signature de message sont plus rapide avec ECC. La vérification de signature est plus rapide avec RSA, car il suffit d’effectuer une exponentiation modulaire. Longueur de clé Temps de calcul (s) ECC RSA ECC RSA 163 1024 0.08 0.16 233 2240 0.18 7.47 283 3072 0.27 9.80 409 7680 0.64 133.90 571 15360 1.44 679.06 TABLE 3.4 – Temps d’exécution pour la génération de clés Le même type de test a été effectué dans [32, 43], les résultats de test ont aussi prouvé que ECC était plus avantageux en terme de consommation de mémoire et vitesse de calcul. C’est la raison principale pour laquelle ECC devient de plus en plus le choix préféré pour les systèmes embarqués qui disposent d’une mémoire et d’une puissance de calcul très limitée. Actuellement RSA demeure toujours le cryptosystème asymétrique le plus largement utilisé, car il est sorti beaucoup plus tôt par rapport à ECC. RSA est publié en 1978 [89] et standardisé en 1993 [49], tandis que ECC est proposé dans les années 80 [44, 69] et standardisé vers la fin des années 90. Les 2 cryptosystèmes sont initialement protégés3.6. ATTAQUES DES CRYPTOSYSTÈMES EMBARQUÉS BASÉS SUR ECC 51 Longueur de clé Temps de calcul (s) ECC RSA ECC RSA 163 1024 0.15 0.01 233 2240 0.34 0.15 283 3072 0.59 0.21 409 7680 1.18 1.53 571 15360 3.07 9.20 TABLE 3.5 – Temps d’exécution pour la signature numérique Longueur de clé Temps de calcul (s) ECC RSA ECC RSA 163 1024 0.23 0.01 233 2240 0.51 0.01 283 3072 0.86 0.01 409 7680 1.80 0.01 571 15360 4.53 0.03 TABLE 3.6 – Temps d’exécution pour la vérification de signature par des brevets. Du fait que le brevet de RSA a expiré depuis 2000, il peut être utilisé librement par tout le monde, mais celui de ECC est toujours valable [14]. Une autre raison qui limite l’utilisation de ECC est que mathématiquement RSA est relativement plus simple. De nombreuse spécifications de ECC existent [74], mais les implémentations sont souvent incomplètes, c’est-à-dire que seulement quelques courbes décrites dans les spécifications sont implémentées. 3.6/ ATTAQUES DES CRYPTOSYSTÈMES EMBARQUÉS BASÉS SUR ECC Du point de vue mathématique, les cryptosystèmes embarqués basés sur les courbes elliptiques sont censés être suffisamment sûrs. Cependant, ils peuvent toujours faire l’objet d’attaques matérielles. Il existe 3 types d’attaques selon leur nature : non-invasives, semi-invasive et invasive [28]. Une attaque non-invasive peut être, soit une observation de certains caractéristiques d’un cryptosystème durant la manipulation de sa clé secrète, soit une injection de fautes pour perturber les calculs. Le premier cas s’appelle aussi l’attaque par canaux cachés. Le premier document officiel relatant une utilisation d’un canal caché date de 1956 [110], le service de renseignement britannique a cassé une machine de chiffrement de l’ambassade égyptienne en observant les « clic » produits par des rotors (voir la figure 3.11). Pour les systèmes embarqués modernes, les différences de tension engendrées par les transistors durant un cycle d’horloge dépendent des instructions exécutées et des valeurs utilisées. L’examen de la consommation d’énergie permet de trouver des informations sur la clé secrète [45] (voir la figure 3.12). Une autre possibilité est d’analyser les signaux engendrés par le rayonnement électromagnétique pendant la circulation d’un courant.52 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES FIGURE 3.11 – Machine de chiffrement à rotor Les résultats permettent aussi de récupérer les informations sur les opérations effectuées par le cryptosystème, ainsi que les variables manipulées [104]. FIGURE 3.12 – Attaque par analyse de la consommation électrique Le deuxième type d’attaque non-invasive est d’alterer le fonctionnement du cryptosystème en modifiant l’environnement, e.g. modification de température, injection des pics de tension etc. Ce genre d’attaque est censé être paramétrable pour ne pas endommager le circuit, et lorsque l’attaque cesse, le circuit peut retrouver son état initial. Les attaques semi-invasives sont similaires aux attaques non-invasives. Nous observons les caractéristiques d’un cryptosystème, sauf qu’avec l’attaque semi-invasive, nous devons décapsuler le package pour être plus près possible du circuit. Ainsi, l’attaquant peut altérer le fonctionnement du cryptosystème en créant des circuits additifs ou émettant des ondes électromagnétiques pour perturber temporairement le circuit [94]. Contrairement à l’attaque non-invasive et l’attaque semi-invasive, avec l’attaque invasive, la modification et la perturbation du cryptosystème sont permanentes.3.7. CONCLUSION 53 3.7/ CONCLUSION Dans ce chapitre, nous avons présenté la cryptographie sur les courbes elliptiques, ainsi que l’ensemble de termes mathématiques indispensables pour comprendre son fonctionnement. En faisant des comparaisons de performance avec l’autre cryptosystème largement utilisé, RSA, nous pouvons remarquer que ECC est un cryptosystème plus attractif, notamment pour les systèmes embarqués, comme les capteurs sans fil. Afin d’atteindre un niveau de sécurité suffisant avec RSA, il faut utiliser des clés de longueurs 1024 minimum, et la mémoire du système risque d’être saturée facilement durant les calculs. Cependant avec ECC, une clé de longueur 160 est déjà capable de fournir le même niveau de sécurité. Une autre raison pour laquelle ECC est préférable pour les systèmes embarqués est qu’il existe beaucoup de méthodes mathématiques qui nous permettent d’accélérer les calculs sur les courbes. Les capteurs sans fil ne détiennent qu’une mémoire et une puissance de calcul limitée, et les calculs cryptographiques avec ECC restent toujours très lourds, malgré ses avantages par rapport à RSA. Dans une application de réseaux de capteurs sans fil, les capteurs fonctionnent rarement individuellement, car ils sont censés être déployés en masse et coopérer entre eux. Dans le chapitre suivant, nous présentons notre méthode qui nous permet d’accélérer les calculs sur les courbes elliptiques en parallélisant les tâches de calcul.4 MULTIPLICATION SCALAIRE PARALLÈLE DANS LES RÉSEAUX DE CAPTEURS Sommaire 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2 Calcul parallèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.1 Taxonomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.2 Accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.2.3 Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.3 Calcul parallèle dans les réseaux de capteurs . . . . . . . . . . . . . . . . . 62 4.3.1 Accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.3.2 Consommation d’énergie . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.3.3 Connexion sans fil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.3.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.4 Parallélisation des multiplications scalaires . . . . . . . . . . . . . . . . . . 64 4.4.1 Décomposition des données . . . . . . . . . . . . . . . . . . . . . . . 65 4.4.2 Parallélisation sans points précalculés . . . . . . . . . . . . . . . . . . 66 4.4.3 Protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.5 Arithmétique multiprécision . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.5.1 Addition et soustraction . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.5.2 Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.5.3 Réduction modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.6 Evaluation de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.6.1 Parallélisation avec points précalculés . . . . . . . . . . . . . . . . . . 77 4.6.2 Parallélisation sans points précalculés . . . . . . . . . . . . . . . . . . 80 4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.1/ INTRODUCTION Dans le chapitre 3, nous avons présenté la cryptographie sur les courbes elliptiques, ainsi que l’ensemble de techniques qui nous permettent d’accélérer le calcul des multiplications scalaires, qui est considérée comme l’opération la plus importante et coûteuse sur les courbes elliptiques. Après une étude des protocoles cryptographiques qui sont 5556 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE basés sur ECC, nous pouvons constater que la sécurité de ECC dépend principalement de la difficulté pour résoudre le problème du logarithme discret. Un des avantages de ECC par rapport à RSA est la rapidité de calcul, et beaucoup de méthodes mathématiques sont proposées dans la littérature pour améliorer sa performance au niveau de la vitesse de calcul. D’ailleurs, une autre caractéristique de ECC très importante, notamment pour les plate-formes embarqués disposant d’une mémoire très limitée, est qu’afin d’atteindre le même niveau de robustesse que RSA, il nous suffit d’utiliser une clé beaucoup plus courte. Un réseau de capteurs sans fil est constitué d’un grand nombre de capteurs sans fil, appelés aussi des nœuds, qui sont très limités en termes de puissance de calcul et de mémoire disponible. Ces dispositifs ne sont pas censés être capables de gérer des calculs très complexes, dans les réseaux de capteurs sans fil, les nœuds sont déployés en masse, car il faut qu’ils coopèrent étroitement entre eux pour accomplir un objectif collectif. Revenons sur le sujet du calcul cryptographique. Donc ECC est un choix optimal pour les réseaux de capteurs. C’est un cryptosystème asymétrique qui donne la possibilité de gérer plus facilement les clés, car les clés publiques peuvent être distribuées librement entre les nœuds sans compromettre la sécurité du réseau. En outre, idéalement les nœuds sont censés être déployés aléatoirement dans une zone, si nous utilisons simplement un cryptosystème symétrique, la solution la plus naïve pour gérer des clés sera de générer et de stocker une clé secrète pour chaque paire de nœuds, car nous ne pouvons pas savoir à priori les nœuds voisins qui vont se trouver à la proximité d’un nœud spécifique. Un inconvénient principal des cryptosystèmes asymétriques est qu’ils sont souvent plus coûteux en calcul. Généralement les processeurs modernes sont capables de gérer aisément ce genre de calculs, mais la plupart des capteurs sans fil sont équipés des microcontrôleurs qui tournent à une fréquence très faible [72, 19, 18]. Du fait de leur faiblesse en puissance, il est déconseillé d’appliquer la cryptographie sur les courbes elliptiques, telle quelle, dans les réseaux de capteurs malgré de nombreuses méthodes mathématiques existantes qui sont conçues pour l’optimisation de sa performance. Les nœuds risquent d’être figés durant des calculs à cause d’un épuisement de mémoire ou d’une surcharge de processeur. Afin d’équilibrer la charge entre des nœuds et d’accélérer les calculs sur les courbes elliptiques, dans ce chapitre, nous proposons de paralléliser le calcul des multiplications scalaires entre plusieurs nœuds d’un cluster [36, 35]. En prenant en compte le fonctionnement des réseaux de capteurs, nous avons décidé de décomposer le calcul des multiplications scalaires, l’opération la plus importante sur les courbes elliptiques, en plusieurs tâches complètement indépendantes qui peuvent être traitées simultanément par les membres de cluster. Une fois terminés, les résultats seront renvoyés au cluster-head qui les combinera ensemble pour obtenir le résultat final. Ce dernier peut être ensuite réutilisé dans de différentes phases de calcul des protocoles cryptographiques. Nos travaux de recherche se focalisent principalement sur la parallélisation de la multiplication scalaire. Dans les sections suivantes, nous allons présenter les bases théoriques de la multiplication scalaire parallèle dans les réseaux de capteurs, ainsi que le protocole utilisé. Pour tester la performance de notre méthode, nous l’avons implémentée sur PC et sur les nœuds Telosb [29, 79, 18], les résultats d’expérimentation ont montré que le calcul paral-4.2. CALCUL PARALLÈLE 57 lèle peut permettre une accélération de calcul très importante. 4.2/ CALCUL PARALLÈLE En informatique, le calcul parallèle consiste à utiliser des architectures permettant de traiter des informations simultanément. Cette technique est initialement mise en place pour gérer des tâches complexes et volumineuses qui doivent être réalisées dans un délai le plus court possible. D’un point de vue de la conception de processeurs, pour accélérer le traitement d’informations, la solution la plus simple est d’augmenter sa fréquence d’horloge, c’est-à-dire le nombre d’opérations qu’il peut effectuer en une seconde. Cependant ce dernier est devenu le goulot d’étranglement à cause des limites physiques, notamment dans les domaines du Calcul Haute Performance[1]. Récemment avec l’arrivée des processeurs multi-cœurs qui sont capables de traiter plusieurs instructions en même temps, le calcul parallèle est devenu un paradigme dominant pour tous les ordinateurs. 4.2.1/ TAXONOMIE Selon la taxonomie de Michael J. Flynn [27], les programmes et ordinateurs peuvent être classés 4 catégories suivantes (voir le tableau 4.1) : Un seule instruction Plusieurs instructions Donnée unique SISD MISD Plusieurs données SIMD MIMD TABLE 4.1 – Taxonomie de Flynn – SISD (Single Instruction, Single Data) : C’est l’architecture la plus simple, chaque fois le système ne traite qu’une seule donnée, les instructions sont exécutées l’une après l’autre, d’une manière séquentielle. – SIMD (Single Instruction, Multiple Data) : C’est le cas où les différentes données sont envoyées aux processeurs qui les traitent en répétant les mêmes opérations. – MISD (Multiple Instruction, Single Data) : Plusieurs opérations sont effectuées sur la même donnée, cette architecture est parfois utilisée pour la tolérance aux pannes. – MIMD (Multiple Instruction, Multiple Data) : Plusieurs données sont traitées par des processeurs différents, les systèmes distribués sont généralement considérés comme des architectures MIMD. 2 types de calcul parallèle sont montrés dans cette classification, la parallélisation d’instructions, où plusieurs instructions différentes sont exécutées simultanément par de diffé- rents processeurs (MIMD). Le deuxième est la parallélisation de données, où les mêmes opérations sont effectuées sur de différentes données (SIMD). En fonction de ce que nous devons paralléliser durant les calculs, il est aussi possible de classifier les calculs parallèles en 3 catégories : – Parallélisation de mots : C’est un type de calcul parallèle basé sur l’augmentation de la longueur du mot des processeurs. Par exemple, un processeur de 8-bit n’est pas capable de gérer des données de 16-bit, pour additionner 2 nombres entiers de 16 bits, le processeur doit additionner d’abord les 8 bits de poids faibles, ensuite additionner les 858 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE bits de poids forts avec la retenue. Il faut donc 2 opérations pour effectuer une addition, mais un processeur de 16-bit peut terminer le calcul en une seule opération. Une autre solution est d’avoir 2 processeurs de 8-bit reliés, et additionnent simultanément les bits de poids faibles et de poids forts. – Parallélisation de données : Une grande quantité de données est découpée et distribuée à plusieurs processeurs exécutant les mêmes instructions. Il s’agit d’un calcul parallèle du type SIMD. Par exemple nous disposons d’une base de données contenant d lignes (enregistrements), et de 2 processeurs qui exécutent exactement le même programme. Nous supposons que chaque ligne peut être traitée indépendamment, nous pouvons donc envoyer les d 2 premières lignes au premier processeur, et les d 2 lignes restantes au deuxième. – Parallélisation de tâches : Contrairement à la parallélisation des données, au lieu de distribuer des portions de données, la parallélisation des tâches distribue carrément des procédures ou des threads aux différents processeurs qui les exécutent parallèlement. 4.2.2/ ACCÈS AUX DONNÉES Dans le cadre de calcul parallèle, la mémoire contenant les données qui circulent entre les processeurs peut être soit partagée, soit distribuée. Dans le premier cas, les processeurs sont censés pouvoir accéder aux données avec la même latence et bande passante. Tous les processeurs participant aux calculs parallèles peuvent y déposer et lire des données, et c’est une configuration idéale qui permet au système d’améliorer considérablement ses performances (voir figure 4.1). Car généralement la mémoire partagée peut offrir un accès aux données plus rapide et fiable, la synchronisation entre les processeurs est relativement plus facile à réaliser. FIGURE 4.1 – Accès aux données avec la mémoire partagée En revanche, dans le cas de mémoire distribuée, chaque processeur possède sa propre mémoire locale, et durant des calculs, seulement des données locales sont accessibles. Si un processeur a besoin des données qui se situent chez un autre processeur, il faudra qu’il communique avec ce dernier pour les récupérer (voir figure 4.2). Dans une architecture utilisant la mémoire distribuée, les processeurs doivent souvent communiquer entre eux pour échanger des informations, et un tel accès aux données peut engendrer une baisse de performance importante. D’ailleurs, avant de pouvoir demander des données aux autres, il faut que le processeur connaître la localisation des4.2. CALCUL PARALLÈLE 59 données dont il a besoin, car parfois il est possible que les données en question soient hébergées sur des processeurs différents, et la diffusion des requêtes peut aussi ralentir le calcul. FIGURE 4.2 – Accès aux données avec la mémoire distribuée 4.2.3/ SYNCHRONISATION Des processus peuvent s’exécuter sur des processeurs différents, lorsqu’il existe des interdépendances sur les données partagées entre des processus, des problèmes de synchronisation peuvent donc être relevés. Lorsqu’un processus effectue une mise à jour des données en mémoire, l’objectif de la synchronisation est de la rendre visible aux autres processus. Par exemple, le processus p1 a besoin de la valeur v fournie par le processus p2 pour continuer son calcul, et en même temps, p2 veut effectuer une mis à jour la valeur v en mémoire. Pour que les 2 opérations soient synchronisées, il faut que l’accès à la valeur soit atomique, c’est-à-dire que la lecture de v et la mise à jour de v ne doivent pas se chevaucher. Soit p1 lit v après sa mise à jour, soit p2 met v à jour après la lecture, mais jamais les 2 en même temps (voir figure 4.3). Chaque opération peut correspondre à plusieurs instructions du processeur, si les instructions des 2 opérations sont exécutées simultanément sur la même donnée, les processus risquent de rencontrer des erreurs imprévisibles. Ainsi, lorsque p1 détecte que le bloc mémoire contenant v est momentanément occupées par p2, il est impératif que p1 attend jusqu’à ce que p2 finisse son opération courante. Le mécanisme de gestion de synchronisation à mettre en place peut être différent en fonction du type de mémoire utilisée. Pour une architecture utilisant une mémoire partagée, l’accès à la mémoire est plus facile à surveiller et contrôler, et nous pouvons avoir plus aisément un accès aux données bien synchronisé et cohérent. Cependant, si l’architecture utilise la mémoire distribuée, les processeurs devront donc échanger des messages entre eux pour demander des données. En faisant la comparaison ci-dessus, il est évident que le calcul parallèle utilisant la mé- moire partagée est plus avantageux en termes de performance, car il permet au système60 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE p2 p1 Ecriture de v Lecture de v Mise à jour de v FIGURE 4.3 – Synchronisation d’accès aux données d’avoir un accès aux données plus efficace et cohérent. 4.2.4/ TOLÉRANCE AUX PANNES La tolérance aux pannes est en effet un ensemble de techniques qui permettent à un système de continuer à fonctionner en cas de panne. Au lieu de tomber complètement en panne, le composant peut continuer à délivrer, éventuellement de manière réduite, les services initialement prévus [84]. Cette technique n’est pas utilisée uniquement en informatique, mais aussi dans beaucoup d’autres domaines industriels. Prenons un exemple de l’industrie automobile, les fabricants installent souvent 2 capteurs de pédale, dans le cas où la pédale d’accélérateur soit bloqué (enfoncée), le conducteur peut toujours arrêter la voiture en appuyant sur la pédale de frein. Cependant certains fabricants, pour une raison du coût de fabrication, n’installent qu’un seul capteur, lorsque le capteur est tombé en panne, le conducteur est obligé de trouver d’autres moyens pour arrêter la voiture, car la pédale de frein ne peut plus fonctionner non plus. Idem pour le calcul parallèle, lorsque nous distribuons les tâches aux processeurs, nous n’avons aucune garantie que les processeurs peuvent forcément mener les calculs jusqu’au bout, et que les résultats renvoyés sont toujours corrects. Différents types de pannes pourraient survenir durant le traitement des tâches, coupure de courant, panne matérielle, bogue de programme etc. Particulièrement les architectures distribuées dans lesquelles les processeurs doivent échanger des données pour effectuer les calculs, si des mécanismes de tolérance aux pannes ne sont pas présents, il suffit d’avoir une simple défaillance de réseaux pour interrompre le calcul. D’ailleurs, il faut que le système puisse non seulement détecter des problèmes, mais aussi se restaurer en cas de pannes sé- vères. Pour les plate-formes mobiles et embarquées, les techniques de tolérance aux pannes sont dispensables, car pour minimiser la consommation d’énergie et étendre la durée de vie des réseaux, les nœuds utilisent souvent des antennes radio de faible puissance, qui utilisent les ondes comme le médium de transmission. Ce genre de connexion souffre souvent de l’interférence radio et de conflit d’accès au médium qui rendent la communication moins fiable, et les expérimentations ont montré que lorsque le niveau de batterie4.2. CALCUL PARALLÈLE 61 d’un nœud est très faible, son antenne risque d’envoyer des données erronées [12]. Généralement il existe 2 approches pour implémenter les mécanismes de tolérance aux pannes. La première est d’utiliser des composants qui sont tolérants aux pannes. En cas d’anomalie, le composant peut continuer à fonctionner en ignorant les dysfonctionnements. le système reste toujours opérationnel car l’opération courante n’est pas interrompue malgré la présence des pannes. Cette méthode est déconseillée pour des composants importants, car nous mettons en place des techniques de tolérance aux pannes pour assurer le bon fonctionnement du système, mais pas simplement la continuité des processus. La deuxième méthode est la redondance, plusieurs composants sont utilisés pour une seule tâche, lorsque le premier composant tombe en panne, un deuxième composant prend automatiquement le relais et continue à traiter la tâche (voir figure 4.4). FIGURE 4.4 – Tolérance aux pannes avec la redondance de composants La redondance peut aussi être utilisée pour la détection de fautes et la correction des données erronées. Prenons l’exemple des réseaux de capteurs sans fil, les données risquent d’être perdues ou corrompues pendant la transmission, lorsqu’un nœud renvoie un résultat de calcul, nous ne pouvons pas tester son intégrité, car généralement le calcul de hachage est très coûteux pour les nœuds. Néanmoins, et nous ne pouvons pas tester si le résultat de calcul est correct non plus, car nous n’en avons qu’une seule copie. Cependant si plusieurs nœuds sont mis en place pour le même calcul, nous pouvons effectuer une vérification en faisant une simple comparaison. Si les résultats ne sont pas identiques, seul la valeur la plus présente est retenue (voir figure 4.5). FIGURE 4.5 – Tolérance aux pannes avec la redondance de résultats Un inconvénient de la redondance est l’augmentation de coût. Pour que le système soit62 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE résistant aux différentes pannes, beaucoup de composants redondants doivent être mis en place. C’est la raison principale pour laquelle la redondance est appliquée seulement aux composants ayant une importance cruciale. 4.3/ CALCUL PARALLÈLE DANS LES RÉSEAUX DE CAPTEURS Généralement, un réseau de capteurs est constitué d’un grand nombre de nœuds ayant des ressources (puissance de calcul, mémoire, énergie) très limitées, et reliés entre eux via une connexion sans fil de faible puissance. Certaines caractéristiques d’un tel réseau doivent être soulignées avant d’étudier la faisabilité du calcul parallèle. 4.3.1/ ACCÈS AUX DONNÉES Comme nous avons déjà présenté, les réseaux de capteurs sont constitués des nœuds qui sont physiquement séparés, c’est-à-dire qu’il n’existe pas de mémoires partagés entre les nœuds. Si nous voulons appliquer le calcul parallèle dans les réseaux de capteurs, il faudra que chaque nœud ait en sa mémoire locale toutes les données nécessaires pour la tâche qui lui est assignée. En outre, il faut que ces données soient distribuées aux nœuds participant au calcul parallèle au moment du lancement du calcul, toute échange ultérieure ou distribution séquentielle de données sont très coûteuses en termes d’énergie. Donc les types de parallélisation possibles dans les réseaux de capteurs sont SISD et MISD. 4.3.2/ CONSOMMATION D’ÉNERGIE Les nœuds sont conçus pour être déployés en masse dans des zones hostiles où l’intervention humaine n’est pas toujours possible. Ils sont souvent alimentés par des piles, et une fois déployés, nous ne sommes pas censés retrouver et maintenir les nœuds dont les piles sont épuisées. Selon les résultats expérimentaux [112, 2], la plupart d’énergie d’un nœud est consommée pendant la communication de radio, la consommation du processeur est presque négligeable par rapport à celle de l’antenne. Ainsi, tout protocole doit être soigneusement élaboré pour minimiser la communication sans fil. Idem pour le calcul parallèle, qui fait face au problème de consommation d’énergie depuis son invention. Afin d’alimenter une architecture effectuant des calculs parallèles sur plusieurs processeurs, qui doivent éventuellement communiquer entre eux durant le traitement des tâches, il faut évidemment leur fournir assez d’énergie. Cependant ce problème dévient encore plus crucial dans les réseaux de capteurs où les nœuds ne disposent pas du tout de mémoire partagée, car ils sont obligés de s’envoyer des messages via la connexion sans fil qui peut vider leurs piles très vite. Dans quasiment toutes les application de réseaux de capteurs, les protocoles de communication utilisés sont spécialement élaborés pour minimiser le nombre de messages à envoyer, généralement les nœuds ne communiquent que dans les cas nécessaires.4.3. CALCUL PARALLÈLE DANS LES RÉSEAUX DE CAPTEURS 63 4.3.3/ CONNEXION SANS FIL Dans un réseau de capteurs, les nœuds utilisent des technologies de communication sans fil pour maintenir une connexion en consommant la moins d’énergie possible. Par exemple Zigbee [3] qui est basé sur le standard IEEE 802.15.4 [38]. Caractéristique technique Bluetooth Wifi Zigbee IEEE Spécification 802.15.1 802.11 a/b/g 802.15.4 Besoin de mémoire 250 Ko 1 Mo 4-32 Ko Débit maximal 1 Mo/s 54 Mo/s 250 Ko/s Portée théorique 10 m 100 m 10-100 m Nombre de nœuds max. 7 32 65000+ TABLE 4.2 – Comparaison techniques des connexions sans fil En faisant une comparaison technique de quelques protocoles sans fil [53, 92] (voir tableau 4.2), nous pouvons remarquer que Zigbee est un choix adéquat pour les réseaux de capteurs, car il peut supporter un très grand nombre de nœuds en consommant moins de ressources. Néanmoins, Zigbee n’est pas conçu pour créer un réseau de haut débit. La portée ratio théorique peut aller jusqu’à 100 mètres, mais en réalité, elle est restreinte à une dizaine de mètre pour des raisons de consommation et de durée de vie du réseau. Quant à l’application du calcul parallèle dans les réseaux de capteurs, il faut prendre conscience qu’une telle connexion sans fil de faible puissance est loin d’être fiable. Elle souffre souvent de l’interférence qui peut causer des pertes et des corruptions de données. En outre, généralement la portée radio d’un nœud n’est pas assez longue pour couvrir entièrement le réseau, le calcul parallèle ne peut s’effectuer qu’entre des nœuds proches. 4.3.4/ TOLÉRANCE AUX PANNES Comme pour beaucoup de systèmes informatiques, dans les réseaux de capteurs, la tolérance aux pannes doit aussi être prise en compte durant la conception des applications. En effet, elle permet au système d’effectuer des diagnostics automatiques et de se restaurer en cas de pannes sévères. Un réseau de capteurs peut contenir un grand nombre de nœuds qui sont programmés pour travailler ensemble et atteindre un objectif commun. Les nœuds sont déployés aléatoirement et fonctionnent d’une manière autonome, lorsqu’un nœud tombe en panne, nous ne sommes pas censés nous rendre physiquement sur place pour le localiser et réparer. Il faut que les autres nœuds puissent détecter automatiquement des anomalies et exclure le nœud défectueux du réseau. Un solution efficace et économique pour appliquer des mécanismes de tolérance aux pannes dans les réseaux de capteur est la redondance. Les nœuds déployés sont souvent très nombreux pour couvrir une zone la plus vaste possible. En outre, pour minimiser la consommation d’énergie et prolonger la durée de vie du réseau, les nœuds fonctionnent principalement d’une manière passive, c’est-à-dire qu’ils restent en mode inactive tant qu’ils ne détectent pas d’événement important. C’est la raison pour laquelle dans un tel réseau, il existe plein de nœuds libres pendant la plupart de leur durée de vie.64 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE Il est donc possible d’utiliser plusieurs nœuds pour assurer une seule tâche. Lorsqu’ils détectent que le nœud détenant la tâche ne peut pas terminer son travail correctement, ils vont en choisir automatiquement un autre parmi eux qui va reprendre immédiatement le travail du nœud défectueux et continuer à travailler dessus (voir figure 4.6). Nœud 1 Nœud de Secours Nœud 2 Distrition de tâches Résultat Calcul Calcul Panne FIGURE 4.6 – Tolérance aux pannes avec la redondance de nœuds La tolérance aux pannes est particulièrement indispensable pour le calcul parallèle et la sécurité, car ce dernier est une procédure qui demande une coopération cohérente et des échanges de données fiables entre les nœuds. Une moindre erreur durant le calcul et la transmission de données peut causer un échec complet du calcul. Par exemple, la pile du nœud est déchargée pendant le calcul, ou le nœud n’a pas assez d’énergie pour envoyer le résultat de calcul etc. Il faut prendre en considération toutes ces possibilité lors de la conception de l’application, et il faut que le système soit suffisamment robuste pour résister aux pannes éventuelles et réussir la mission dans un délai raisonnable. 4.4/ PARALLÉLISATION DES MULTIPLICATIONS SCALAIRES Dans cette section, nous présentons notre méthode de calcul parallèle pour accélérer le calcul des multiplications scalaires dans les réseaux de capteurs. Comme nous avons expliqué précédemment, les nœuds d’un réseau de capteurs ne possèdent aucune mémoire partagée. Tout échange de données doit passer par la communication radio qui est considérée comme étant la source principale de consommation d’énergie. D’ailleurs, les nœuds sont programmés avant le déploiement, et ils sont censés être déployés d’une manière aléatoire. Généralement les nœuds exécutent le même programme, et à cause de la limite de mémoire disponible, il est déconseillé d’installer des programmes volumineux qui prennent en considération toutes les circonstances possibles. Ainsi, pour paralléliser les multiplications scalaires, il faut mettre en place un algorithme unique qui demande très peu d’échange de données entre les nœuds participant au calcul parallèle, c’est-à-dire une parallélisation du type SISD (voir tableau 4.1). Après la présentation des protocoles cryptographiques basés sur ECC, nous nous apercevons que la multiplication scalaire est l’opération la plus cruciale dont la complexité est un élément clé de la robustesse du cryptosystème. Elle est considérée comme une opération très coûteuse pour les systèmes embarqués malgré de nombreuse méthodes d’optimisation existantes. Sachant que les processeurs des capteurs sont souvent des4.4. PARALLÉLISATION DES MULTIPLICATIONS SCALAIRES 65 micro-contrôleurs de 8 ou 16 bits, alors que les nombres entiers à manipuler durant des calculs cryptographiques peuvent atteindre facilement quelques centaines de bits, il est donc indispensable d’implémenter en supplément des algorithmes d’arithmétique multiprécision, qui engendre une consommation de ressources très importante. 4.4.1/ DÉCOMPOSITION DES DONNÉES L’objectif du calcul parallèle est de décomposer une tâche en plusieurs parties qui peuvent être traitées indépendamment et simultanément. Nous ne pouvons pas paralléliser des opérations comme dans [4], car il n’y a pas de mémoire partagée dans un réseau de capteurs. Le choix pertinent est donc la parallélisation des données, c’est-à- dire que les données sont décomposées en plusieurs portions qui sont distribuées aux nœuds exécutant un programme unique. Notre méthode est conçue pour des applications événementielles dans lesquelles les nœuds demeurent inactifs pendant la plupart du temps pour minimiser la consommation d’énergie. Néanmoins, lorsqu’un événement crucial est survenu et détecté, il faut que le réseau le signale immédiatement à la station de base d’une manière sécurisée et sûre, même au détriment de la consommation d’énergie. L’idée de la parallélisation est principalement basée sur [60], qui offre une décomposition de données efficace sans nécessiter de mémoire de partagée. L’objectif est de réduire le temps de calcul des multiplications scalaires en impliquant les nœuds de proximité dans le calcul. Nous supposons que la courbe elliptique est chargée sur les nœuds avant le déploiement, et le point de générateur G ne change pas durant toute la durée de vie du réseau. Pour paralléliser une multiplication scalaire Q = kG où G est le point générateur d’une courbe définie dans un corps premier fini, dénotée E(Fp), et k est un nombre entier de longueur l, qui peut être représenté en binaire de la manière ci-dessous : k = X l−1 i=0 ki2 i (4.1) Le nœud qui décompose et distribue des données est le nœud maître, et les autres nœuds participant au calcul parallèle sont des nœuds esclaves. Dans un premier temps, le maître décompose le nombre entier k en n segments S i de longueur b = ⌈l/n⌉ où n est le nombre de nœuds esclaves, et S i peut être représenté en binaire comme dans la formule 4.2. S i = ib X+b−1 j=ib kj2 j (4.2) Sachant que le point générateur G est choisi à priori, et il ne change pas pendant la durée de vie du réseau, le calcul des points Gi = 2 ibG est donc possible. Le calcul de kG peut être décomposé comme suit :66 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE    Q0 = S 0G Q1 = S 12 bG . . . . . . Qn−1 S n−12 b(n−1)G (4.3) Puis le résultat final Q = Q0+Q1+. . . Qn−1, et chaque Qi peut être calculé indépendamment par un esclave. Par exemple nous avons k = kl−1kl−2 . . . k2k1k0 où ki ∈ {1, 0}, et il y a n − 1 esclaves disponibles dans la portée radio du maître, le scalaire k est donc décomposé en n segments (voir la formule 4.4). S 0 = kb−1kb−2kb−3 . . . k2k1k0 S 1 = k2b−1k2b−2k2b−3 . . . kb+2kb+1kb . . . . . . S n−1 = knb−1knb−2knb−3 . . . k((n−1)b+2)k((n−1)b+1)k(n−1)b (4.4) Le maître en laisse une en sa mémoire locale, et les autres n−1 segments sont distribuées aux esclaves. Tous les nœuds préparent et stockent localement un ensemble de points G0 = G G1 = 2 bG . . . . . . Gn−1 = 2 (n−1)G (4.5) Après la réception des données, les esclaves calculent chacun un Qi en utilisant la formule 4.3. Une fois terminé, ils renvoient des Qi au maître, qui va les combiner avec son propre résultat local pour obtenir le résultat final Q = S 0G +S 12 bG +S 22 2bG . . . S n−12 (n−1)G. Cette méthode de décomposition de scalaire nous permet de découper le scalaire en n parties qui peut être traitée indépendamment, aucune échange de données n’est né- cessaire entre esclaves. En outre, selon les paramètres recommandés [87], la taille du corps Fp dans lequel la courbe est définie est souvent comprise entre 112 et 521 bits, et il est possible de diffuser l’ensemble de S i aux esclaves en une seule fois. Cependant, pour qu’un nœud puisse effectuer le calcul, il faut qu’il stocke en mémoire locale tous les points Gi précalculés, car il ne peut pas prévoir l’indice i du S i qui lui sera affecté. 4.4.2/ PARALLÉLISATION SANS POINTS PRÉCALCULÉS La méthode que nous avons présenté dans la section précédente nous permet de paralléliser le calcul des multiplications scalaires sur les courbes elliptiques, mais les nœuds participant doivent stocker en mémoire locale un ensemble de points précalculés pour pouvoir traiter indépendamment les tâches. Dans cette section, nous présentons une autre méthode qui peut paralléliser le calcul sans points précalculés. Pour pouvoir paralléliser le calcul de Q = kG, le scalaire k est découpé en n segments S i , et chacun doit être multiplié avec un point correspondant, noté Gi = 2 ibG où i est l’indice du segment et b est sa longueur.4.4. PARALLÉLISATION DES MULTIPLICATIONS SCALAIRES 67 Néanmoins, cette méthode engendre une consommation de mémoire non négligeable et souffre de manque de flexibilité. Par exemple, les nœuds utilisent une courbe elliptique qui est définie dans un corps de taille 160, s’ils veulent paralléliser le calcul entre 4 nœuds, il faudra que tous les nœuds aient les points 2 40G, 2 80G et 2 120G préparés et stockés en mémoire. Cependant s’il n’y a que 3 nœuds disponibles, il faudra donc avoir 2 nœuds qui traitent chacun une tâche de longueur 53, et le 3e nœud traite une tâche de longueur 54, et les points à préparer sont respectivement 2 53G et 2 106G. Nous pouvons constater qu’il est difficile de définir et préparer un ensemble de points satisfaisant toutes les circonstances. Nous proposons donc une méthode alternative qui peut préparer rapidement en temps réel les points nécessaire[30, 93]. La préparation d’un point 2 xG est aussi une multiplication scalaire qui peut être calculée en utilisant l’algorithme Doublement-et-Addition (voir algorithme 1). D’ailleurs, nous pouvons remarquer que – L’algorithme Doublement-et-Addition ne fait que répéter le doublement de point tant qu’il n’y a pas de bit non-zéro ; – Le même algorithme ne peut lire qu’un seul bit à chaque itération ; – Le scalaire 2 x du point à préparer ne détient qu’un seul bit non-zéro qui est aussi le bit le plus significatif dans sa représentation binaire ; – Le scalaire 2 x est plus court que la taille du corps dans lequel la courbe utilisée est définie. Afin d’accélérer la préparation du point 2 xG, nous proposons d’utiliser l’algorithme de quadruplement (voir algorithme 10 où a est le paramètre de la courbe utilisée) qui nous permet de parcourir 2 bits à chaque itération, et l’algorithme 11 qui peut calculer directement le point 2 xG en donnant le paramètre x. Algorithme 10 : Algorithme de quadruplement en coordonnées Jacobiennes Données : G ′ (X1, Y1, Z1) Résultat : 2 2G ′ (X4, Y4, Z4) 1 α = 3X 2 1 + aZ4 1 ; 2 β = α 2 − 8X1Y 2 1 ; 3 γ = −8Y 4 1 + α(12X1Y 2 1 − α 2 ); 4 ω = 16aY4 1 Z 4 1 + 3β 2 ; 5 X4 = −8βγ2 + ω 2 ; 6 Y4 = −8γ 4 + ω(12βγ2 − ω 2 ); 7 Z4 = 4Y1Z1γ; Les 2 algorithmes sont conçus pour le système de coordonnées Jacobiennes, avant de les utiliser, il faut d’abord convertir le point affine G(X, Y) en point Jacobien G ′ (X, Y, 1). Ces algorithmes nous permettent de préparer en temps réel les points nécessaires en fonction du nombre de tâches, et les nœuds n’ont plus besoin de stocker en mémoire l’ensemble de points précalculés. Nous supposons que la courbe utilisée est définie dans un corps de 160 bits, pour pouvoir paralléliser le calcul entre 2, 3 et 4 nœuds, il faut stocker dans chaque nœud 6 points précalculés : 2 120G, 2 80G, 2 54G, 2 53G, 2 40G et G. Si chaque point est représenté par 2 coordonnées affines, il faudra donc (160 × 2 × 6)/8 = 240 octets pour les stocker. Sachant que généralement les systèmes embarqués ne détiennent qu’une mémoire de68 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE Algorithme 11 : Algorithme de 2 xG ′ en coordonnées Jacobiennes Données : G ′ (X1, Y1, Z1), x ∈ Z + Résultat : 2 xG ′ (X2 x , Y2 x , Z2 x ) 1 α1 = X1; 2 β1 = 3X 2 1 + a; 3 γ1 = −Y1; 4 pour i ∈ [2, x] faire 5 αi = β 2 i−1 − 8αi−1γ 2 i−1 ; 6 βi = 3α 2 i + 16i−1a( Qi−1 j=1 γj) 4 ; 7 γi = −8γ 4 i−1 − βi−1(αi − 4αi−1γ 2 i−1 ); 8 fin 9 ωx = 12αxγ 2 x − β 2 x ; 10 X2 x = β 2 x − 8αxγ 2 x ; 11 Y2 x = 8γ 4 x − βxωx; 12 Z2 x = 2x Qx i=1 γi ; quelques dizaines de kilo octets, la quantité de mémoire requise pour le stockage de points précalculés est donc non négligeable. Pour évaluer leur aptitude à l’utilisation, les résultats de test de performance sont donnés dans la section 4.6, car il faut que les algorithmes soient assez efficaces pour ne pas ralentir la procédure du calcul parallèle. 4.4.3/ PROTOCOLE Nous avons déjà présenté les algorithmes qui nous permettent de décomposer les tâches de calcul, et dans cette section, nous présentons donc le protocole qui est chargé de la coordination de la communication entre les nœuds. Nous supposons que de déploiement de capteurs est basé sur les clusters (voir fi- gure 4.7), car une telle topologie est prouvée plus efficace en termes de consommation d’énergie [36, 35]. D’ailleurs, un algorithme de cryptographie symétrique peut être appliqué pour sécuriser la distribution et la récupération des données. Nous avons déjà expliqué dans la section 2.4.4.1 que la gestion de clés dans un cluster peut être un choix adéquat pour la cryptographie symétrique. Chaque cluster dispose au maximum d’un cluster-head qui est élu par les autres membres du cluster. Les membres d’un cluster ne sont pas censés communiquer directement avec les membres des autres clusters, ils ne dialoguent qu’avec leur cluster-head, qui est chargé de la communication inter-cluster. Comme la plupart des communications passent par le cluster-head, le cluster doit changer périodiquement le cluster-head pour équilibrer la consommation d’énergie intérieure. Nous supposons que dans une application de surveillance, les nœuds sont déployés et regroupés dans des clusters. Les membres sont programmés pour collecter et envoyer périodiquement des données au cluster-head, qui les agrège, compresse, chiffre et envoie à la station de base (voir figure 4.8). Lorsque le cluster-head détecte des données révélant un évènement critique, qui doit être signalé immédiatement à la station de base d’une manière sécurisée, nous pouvons demander aux autres membres disponibles du même cluster de participer au calcul4.4. PARALLÉLISATION DES MULTIPLICATIONS SCALAIRES 69 FIGURE 4.7 – Clusters dans un réseau de capteurs FIGURE 4.8 – Collection de données dans un réseau de capteurs cryptographique pour accélérer la procédure de chiffrement, qui est représentée graphiquement dans la figure 4.9 dont les explications sont données ci-dessous : 1. Les membres du cluster envoient périodiquement des données collectées au cluster-head qui est chargé de traitement d’informations (agrégation, compression, chiffrement etc.) ; 2. Le cluster-head détecte un événement important, et il veut utiliser le parallélisme pour accélérer le chiffrement des informations sensibles. Pour demander de l’aide aux autres membres, il leur diffuse une demande de participation pour identifier les nœuds disponibles dans le cluster ; 3. Après la réception de la demande, un membre retourne une réponse {i, a} où i est son identifiant et r est une valeur booléenne représentant sa disponibilité ; 4. Le cluster-head sélectionne, parmi les membres disponibles, les nœuds qui vont participer au calcul parallèle. Les nœuds sélectionnés deviennent les nœuds esclaves, alors que le cluster-head devient le nœud maître. Le maître décompose d’abord le calcul en n parties indépendantes, ensuite il diffuse aux eslaves les70 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE Membre cluster Cluster-head 1 : Données 2 : Demande de participation 3 : Disponibilité : {i, a} 4 : Tâche de calcul : {i, t} 5 : Résultat : {r} Calcul Calcul FIGURE 4.9 – Procédure de multiplication scalaire parallèle tâches de calcul {{i1, t1}, {i2, t2}, . . . , {in−1, tn−1}} où ti représente les tâches confiées et n est le nombre de nœuds sélectionnés. 5. Les nœuds disposent maintenant les informations nécessaires pour effectuer le traitement des tâches, une fois terminé, les esclaves renvoient les résultats {r1,r2, . . . ,rn−1} à leur maître. Ce dernier combine l’ensemble de ri pour obtenir le résultat final de la multiplication scalaire R, qui peut ensuite être utilisé pour chiffrer ou signer le message à envoyer. Après l’étude du protocole, nous pouvons remarquer que les nœuds doivent s’envoyer un certain nombre de messages pour procéder au calcul parallèle. La gestion des communications sans fil dans les réseaux de capteurs est une procédure compliquée qui implique l’utilisation des autres protocoles, e.g. le protocole de gestion d’accès au médium qui a pour objectif d’éviter des collisions durant les transmissions des paquets. Cependant, pendant nos travaux de recherche, nous nous centralisons uniquement sur le protocole de la couche application. 4.5/ ARITHMÉTIQUE MULTIPRÉCISION Selon les paramètres recommandés [87], les courbes elliptiques utilisées doivent être définies dans un corps fini dont la taille est comprise entre 112 et 521 bits, il faut donc que les nœuds puissent gérer l’arithmétique modulaire et des nombres entiers de très grande taille. Cependant, les systèmes embarqués sont souvent équipés des processeurs de 8 et 16-bit, qui ne peuvent pas gérer directement de grandes valeurs dont la longueur dépasse largement leur capacité. Des algorithmes particuliers sont donc indispensables pour implémenter les protocoles cryptographiques [34].4.5. ARITHMÉTIQUE MULTIPRÉCISION 71 4.5.1/ ADDITION ET SOUSTRACTION Nous supposons la longueur de mot de notre processeur est W. υ est un grand nombre entier quelconque, et υ ∈ [2W, ∞[. Sa longueur en nombre de bits est m = ⌈log2 υ⌉, et celle en nombre de mots est t = ⌈m/W⌉. Ainsi, pour stocker υ en mémoire, il faut utiliser un tableau A[i] où i ∈ [0, t − 1] et la longueur totale m = Wt bits. L’affectation de valeur d’un élément peut s’écrire sous forme d’un couple (ε,z) ← ω dont z ← ω mod 2W ε ← 0 si ω ∈ [0, 2 W[, sinon ε ← 1 (4.6) Les algorithmes 12 et 13 montrent les opérations à effectuer pour additionner et soustraire 2 grands nombres entiers A et B qui sont représentés de la manière ci-dessus. Nous supposons que A, B ∈ [0, 2 Wt − 1] et leurs longueurs en nombre de mots t sont identique. Le bit de retenue ε = 1 lorsque le résultat C < [0, 2 Wt − 1]. Algorithme 12 : Addition multiprécision A + B (mod 2Wt) Données : A, B ∈ [0, 2 Wt[ Résultat : (ε,C) où C = A + B mod 2Wt et ε est le bit de retenue 1 (ε,C[0]) ← A[0] + B[0]; 2 pour i ← 1 a (t − 1) faire 3 (ε,C[i]) ← A[i] + B[I] + ε; 4 fin 5 retourner (ε,C) Algorithme 13 : Soustraction multiprécision A − B (mod 2Wt) Données : A, B ∈ [0, 2 Wt[ Résultat : (ε,C) où C = A − B mod 2Wt et ε 1 (ε,C[0]) ← A[0] − B[0]; 2 pour i ← 1 a (t − 1) faire 3 (ε,C[i]) ← A[i] − B[i] − ε 4 fin 5 retourner (ε,C) Pendant nos travaux de recherche, nous avons choisi des courbes qui sont définies dans un corps premier fini, noté Fp, et toute les valeurs à gérer sont donc comprises entre 0 et p − 1. Le calcul de l’addition et de la soustraction dans Fp est détaillé dans les algorithmes 15 et 16. Nous pouvons constater qu’ils sont basés sur les 2 premiers algorithmes, à l’issue de l’exécution, nous devons tester si la valeur C ∈ [0, p − 1]. Si C < 0, alors C = C + p, mais C = C − p si C ≥ p. 4.5.2/ MULTIPLICATION La multiplication multiprécision est un peu plus compliquée (voir algorithme 17), mais le principe arithmétique reste le même, au lieu de parcourir les chiffres des 2 opérandes,72 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE Algorithme 15 : Addition multiprécision A + B (mod p) Données : p et A, B ∈ [0, p − 1] Résultat : C = A + B (mod p) 1 (ε,C) ← Algorithme 12 où C = A + B (mod 2Wt); 2 si ε = 1 alors 3 C ← C − p; 4 sinon si C ≥ p alors 5 C ← C − p; 6 retourner C Algorithme 16 : Soustraction multiprécision A − B (mod p) Données : p et A, B ∈ [0, p − 1] Résultat : C = A − B (mod p) 1 (ε,C) ← Algorithme 13 où C = A − B (mod 2Wt); 2 si ε = 1 alors 3 C ← C + p; 4 retourner C nous parcourons les éléments des 2 tableaux A[i], B[i] où i ∈ [0, t − 1]. La longueur du résultat C[i] peut aller jusqu’à 2t. (UV) est une nombre de longueur 2W, car c’est le produit de 2 opérandes de longueur W (voir ligne 7 de l’algorithme 17), mais seulement les W bits de poids fort sont stockés dans U. Algorithme 17 : Multiplication multiprécision C = A · B où A, B ∈ [0, p − 1] Données : A, B ∈ [0, p − 1] Résultat : C = A · B 1 pour tous les i ∈ [0, t − 1] faire 2 C[i] ← 0; 3 fin 4 pour tous les i ∈ [0, t − 1] faire 5 U ← 0; 6 pour tous les j ∈ [0, t − 1] faire 7 (UV) ← C[i + j] + A[i] · B[j] + U; 8 C[i + j] ← V; 9 fin 10 C[i + t] ← U; 11 fin 12 retourner C Après la multiplication, le résultat C doit encore passer à la réduction modulo p dont l’algorithme utilisé est présenté dans plus bas dans la section suivante. L’algorithme de division n’est pas donné, car dans les cryptosystèmes qui sont basés sur les courbes elliptiques, nous choisissons les systèmes de coordonnées permettant d’éviter l’inverse modulaire (voir algorithme 2) qui est considéré comme une opération extrêmement coûteuse.4.5. ARITHMÉTIQUE MULTIPRÉCISION 73 4.5.3/ RÉDUCTION MODULO Comme les courbes elliptiques utilisées sont définies dans un corps premier fini Fp, nous devons donc effectuer des opérations r ≡ z (mod p) tout au long du calcul des multiplications scalaires. Nous avons choisi l’algorithme de réduction Barrett [5] qui permet d’estimer le quotient de ⌊z/p⌋ avec des opérations moins coûteuses. L’idée de la réduction barrett est très simple. Nous supposons que tous les nombres sont représenté en base b, k = ⌊logb p⌋ + 1 est le plus petit nombre tel que b k > p, puis z mod p peut être calculé en utilisant l’algorithme 18. Algorithme 18 : Réduction Barrett Données : p, b ≥ 3, z ∈ [0, b 2k − 1], µ = ⌊b 2k /p⌋ Résultat : z mod p 1 qˆ ← ⌊⌊z/b k−1 ⌋ · µ/b b+1 ⌋; 2 r ← (z mod b k+1 ) − ( ˆq · p mod b b+1 ); 3 si r < 0 alors 4 r ← r + b b+1 ; 5 fin 6 tant que r ≥ p faire 7 r ← r − p; 8 fin 9 retourner r Quelques caractéristiques de l’algorithme qui nous permettent d’accélérer le calcul de modulo p sont listées ci-dessous : – Généralement la taille p du corps dans lequel la courbe est définie et la base b ne changent pas pendant toute la durée de vie du système, donc nous pouvons stocker et réutiliser la valeur de µ = ⌊b 2k /p⌋; – La base choisie b = 2 L où L est souvent la longueur de mot du processeur, par exemple, si nous essayons d’implémenter l’algorithme sur un processeur de 16-bit, alors L = 16 ; – Les calculs de ⌊z/b k−1 ⌋ et de ⌊µ/b k+1 ⌋ peuvent être réalisés en faisant simplement un décalage de bits vers la droite. Par exemple, pour calculer 10110101112/10002, il suffit que 10110101112 décale 3 bits vers la droite, et le résultat de la division est 10110102. Une autre méthode qui nous permet de calculer encore plus efficacement le modulo p est proposée dans [10]. L’idée est basée sur les paramètres recommandés de NIST 1 qui propose un ensemble de paramètres pour configurer proprement les courbes elliptiques utilisées dans de cryptosystèmes. p192 = 2 192 − 2 64 − 1 p224 = 2 224 − 2 96 + 1 p256 = 2 256 − 2 224 + 2 192 + 2 96 − 1 p384 = 2 384 − 2 128 − 2 96 + 2 32 − 1 p521 = 2 521 − 1 (4.7) 5 corps premier fini sont donnés (voir formule 4.7), et à part celui de p521, les exposants 1. National Institute of Standards and Technology74 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE dans les autre polynômes sont des multiples de 16, et cette propriété rend l’algorithme de réduction modulo extrêmement efficace sur des processeurs de 16-bit. Par exemple, nous voulons calculer c mod p où p = p192 = 2 192 −2 64 −1 et c ∈ [0, p 2 −1]. Le nombre c peut être écrit sous forme d’un polynôme en base 32, comme la formule 4.8. c = c112 352 + c102 320 + c92 288 + c82 256 + c72 224 + c62 192+ c52 160 + c42 128 + c32 96 + c22 64 + c12 32 + c0 (4.8) Nous pouvons calculer le modulo p des puissances de 2 dont les exposants sont supé- rieurs à 192 avec la congruence (voir formule 4.9). 2 192 ≡ 2 64 + 1 (mod p) 2 224 ≡ 2 96 + 2 32 (mod p) 2 256 ≡ 2 128 + 2 64 (mod p) 2 288 ≡ 2 160 + 2 96 (mod p) 2 320 ≡ 2 128 + 2 64 + 1 (mod p) 2 352 ≡ 2 160 + 2 96 + 2 32 (mod p) (4.9) Ainsi, le calcul de c mod p192 peut être réécrit comme la formule 4.10, et les coefficients du polynôme sont aussi donnés dans le tableau 4.3. 2 160 2 128 2 96 2 64 2 32 2 0 c11 c11 c11 c10 c10 c10 c9 c9 c8 c8 c7 c7 c6 c6 c5 c4 c3 c2 c1 c0 TABLE 4.3 – Répartition des coefficients du polynôme c mod p192 c ≡ c112 160 + c112 96 + c112 32 +c102 128 + c102 64 + c10 +c92 160 + c92 96 +c82 128 + c82 64 +c72 96 + c72 32 +c62 64 + c6 +c52 160 + c42 128 + c32 96 + c22 64 + c12 32 + c0 (mod p) (4.10) La procédure de calcul est présentée dans l’algorithme 19. Nous pouvons constater que pour calculer c mod p192 où c ∈ [0, p 2 192 −1], nous découpons d’abord c en 12 segments de 32 bits ci , i ∈ [0, 11], qui peuvent reconstituer ensuite 8 nombres de 192 bits sj , j ∈ [0, 7]. Enfin, pour terminer, il suffit d’additionner tous ces nombre P7 j=1 sj . Après chaque addition, nous comparons la somme temporaire stmp avec p192, si stmp > p192, nous devrons faire stmp − p192 avant de passer à l’addition suivante. Nous nous apercevons que cette méthode ne nécessite aucun calcul complexe, il suf- fit d’effectuer quelques opérations bit-à-bit et un certain nombre de soustractions pour4.6. EVALUATION DE PERFORMANCE 75 Algorithme 19 : Réduction rapide de modulo p192 = 2 192 − 2 64 − 1 Données : c = (c11, c10, . . . , c1, c0) en base 32, et c ∈ [0, p 2 − 1] Résultat : c mod p192 1 Définir un ensemble de nombres entiers de longueur 192 : ; 2 s1 = (c11, 0, c11, 0, c11, 0); 3 s2 = (0, c10, 0, c10, 0, c10); 4 s3 = (c9, 0, c9, 0, 0, 0); 5 s4 = (0, c8, 0, c8, 0, 0); 6 s5 = (0, 0, c7, 0, c7, 0); 7 s6 = (0, 0, 0, c6, 0, c6); 8 s7 = (c5, c4, c3, c2, c1, c0); 9 retourner ( P7 i=1 si mod p192) calculer le modulo dans un corps premier de 192-bit. Cependant cette méthode ne fonctionne qu’avec les corps proposés par NIST, et ne permet pas de calculer le modulo dans un corps premier fini quelconque. 4.6/ EVALUATION DE PERFORMANCE Afin d’évaluer la performance de notre méthode de parallélisme, nous l’avons implémentée sur des capteurs Telosb (voir figure 4.10), un modèle conçu par Crossbow Technology pour des usages de recherche, et les caractéristiques techniques principales de la plateforme sont données dans le tableau 4.4. FIGURE 4.10 – Plate-forme Telosb de Crossbow Technology Nous pouvons constater qu’elles correspondent bien aux nœuds dont nous parlons dans la littérature : une puissance de calcul relativement faible, accompagnée d’une mémoire très limitée. Processeur : 8 MHz MSP 430 16-bit MCU Antenne Radio : CC2420 (802.15.4/Zigbee) ROM : 48 Ko RAM : 10 Ko TABLE 4.4 – Caractéristiques techniques de plate-forme Telosb Nous avons choisi nesC [29] comme langage de programmation, qui signifie network embedded system C en Anglais, c’est un langage spécifiquement créé pour la pro-76 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE grammation événementielle, c’est aussi le langage de développement par défaut sous Tinyos [57]. Un des avantages d’un tel programme est que son exécution est entièrement pilotée par des événements, tant qu’il n’y a pas d’événement important, l’exécution est automatiquement mis en pause, et cette propriété permet au nœud de minimiser la consommation d’énergie, qui est considérée comme un des facteurs cruciaux pendant la conception d’une application pour les réseaux de capteurs. Tinyos est un système d’exploitation développé et maintenu par l’Université de Berkeley, l’objectif du projet est d’insérer une couche de virtuelle pour faciliter la communication entre la couche matérielle et la couche application. Certes, nous pouvons créer des applications en assembleur et en C qui manipulent directement des composants maté- riels. Cependant, premièrement, elles sont souvent difficile à maintenir, car il faut que le développeur dispose non seulement des compétences en informatique, mais aussi des connaissances fondamentales en électronique. Deuxièmement, ce genre de programmes est moins portable. L’avantage principale de Tinyos est que les programmes ne sont pas censés accéder directement aux composants matériels, toute communication doit passer par des interfaces fournies par Tinyos, qui est chargé de l’association entre le programme et le pilote correspondant en fonction de la plate-forme utilisée. Prenons l’exemple du langage Java, les programmes sont compilés pour générer des bytecodes, qui peuvent être ensuite interprétés par des machines virtuelles différentes. Comme le but de nos travaux de recherche est d’accélérer le calcul des multiplications scalaires sur les courbes elliptiques, notre programme essaie donc de paralléliser la tâche de calcul Q = kG entre plusieurs nœuds voisins, le temps de calcul et la consommation d’énergie sont respectivement mesurés et estimée. Afin d’avoir une réduction modulo efficace, les nœuds utilisent la même courbe qui est définie dans le corps premier fini NIS T192 [10] dont les paramètres recommandés sont donnés dans le tableau 4.5. a et b sont les paramètres de la forme de Weierstrass simplifiée (voir formule 3.3), (xG, yG) est le point de générateur dont l’ordre est n. Le scalaire k utilisé est un nombre entier de longueur 160, qui est censé pouvoir fournir le même niveau de sécurité qu’une clé de 1024 bits avec RSA. Paramètre Valeur recommandée p 2 192 − 2 64 − 1 a −3 b 0x 6421 0519 e59c 80e7 0fa7 e9ab 7224 3049 feb8 deec c146 b9b1 xG 0x 188d a80e b030 90f6 7cbf 20eb 43a1 8800 f4ff 0afd 82ff 1012 yG 0x 0719 2b95 ffc8 da78 6310 11ed 6b24 cdd5 73f9 77a1 1e79 4811 n 0x ffff ffff ffff ffff ffff ffff 99de f836 146b c9b1 b4d2 2831 TABLE 4.5 – Paramètres recommandés du standard NIS T192 Les nœuds sont déployés dans une zone de 10m × 10m pour former un cluster dont le cluster-head est connecté directement à un PC (voir figure 4.11), une fois allumé, les nœuds continuent à répéter des multiplications scalaires parallèles avec des valeurs de k aléatoires. La communication à l’intérieur du cluster, comme la distribution de tâches et la récupération des résultats sont sécurisées avec Trivium [21], un algorithme de cryptographie symétrique très léger qui est capable de chiffrer et déchiffrer des messages en moins de 1 ms.4.6. EVALUATION DE PERFORMANCE 77 FIGURE 4.11 – Déploiement des nœuds pour le test de performance 4.6.1/ PARALLÉLISATION AVEC POINTS PRÉCALCULÉS La première partie du test consiste à évaluer la performance de notre méthode de parallélisme avec des points précalculés et stockés en mémoire locale. Les temps de calcul en millisecondes avec et sans calcul parallèle sont donnés dans le tableau 4.6. Il est difficile de comparer les valeurs absolues des résultats avec celles des autres implémentations à cause des différences de technique utilisé et de scénario de test. Nous nous intéressons seulement aux gains obtenus. Nombre de nœuds Affine Gain Jacobien Gain 1 2307.27 1003.55 2 1189.96 48.43% 549.71 45.22% 3 861.48 62.66% 424.60 57.69% 4 665.68 71.15% 342.51 65.87% 5 583.29 74.72% 309.93 69.12% 6 581.32 74.80% 311.87 68.92% TABLE 4.6 – Temps de calcul (ms) de notre méthode de parallélisme Nous pouvons voir dans la figure 4.12 que le temps de calcul diminue progressivement lorsque plus de nœuds participent au calcul parallèle. Nous supposons que le temps de calcul avec p nœuds est Tp, nous pouvons encore évaluer la performance de notre mé- thode avec son speedup S p qui est défini dans la formule 4.11, et les résultats de speedup sont donnés dans le tableau 4.7 et représentés graphiquement dans la figure 4.13.78 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE FIGURE 4.12 – Temps de calcul (ms) de notre méthode de parallélisme S p = T1 Tp (4.11) Nombre de nœuds : 1 2 3 4 5 6 Affine : 1.00 1.94 2.68 3.47 3.96 3.97 Jacobien : 1.00 1.83 2.36 2.93 3.24 3.22 TABLE 4.7 – Speedup de notre méthode de parallélisme FIGURE 4.13 – Speedup S p = T1 Tp de notre méthode de parallélisme Nous pouvons remarquer une baisse d’accélération importante dès que nous utilisons plus de 5 nœuds. Car le cluster-head a besoin de temps supplémentaire, nommé surcoût, pour coordonner les communications radio, combiner les résultats reçus et calculer le résultat final. Les surcoûts mesurés durant notre expérimentation sont présentés dans le tableau 4.8 et la figure 4.14. Nous nous apercevons qu’à partir du moment où nous utilisons plus de 5 nœuds, il y a une augmentation significative de surcoût. Ainsi, nous4.6. EVALUATION DE PERFORMANCE 79 pouvons donc en conclure que le nombre de nœuds participant au calcul parallèle doit être limité à moins de 5. Nombre de nœuds : 1 2 3 4 5 6 Surcoût moyen : 0.00 36.33 92.39 88.86 121.84 196.78 TABLE 4.8 – Surcoût (ms) moyen de notre méthode de parallélisme FIGURE 4.14 – Surcoût (ms) de notre méthode de parallélisme Pendant notre test, la courbe elliptique utilisée est définie dans un corps de 192-bit, et les points précalculés et stockés sont représentés en coordonnées Affines (x, y) qui nous permettent de minimiser la consommation de mémoire, car chaque point est représenté par 2 nombres entiers de 192-bit, et il peut être transformé facilement à un point en coordonnées Jacobiennes (x, y) → (x, y, 1) qui offre généralement un calcul plus efficace. Nombre de nœuds : 1 2 3 4 5 6 Mémoire : 0 48 96 144 192 240 TABLE 4.9 – Mémoire nécessaire (octet) pour stocker des points précalculés La mémoire nécessaire pour stocker des points précalculés sont donnée dans le tableau 4.9. Les plate-formes Telosb [18] et Micaz [19] disposent respectivement d’une mémoire de données de 48 Ko et 128 Ko, qui est largement suffisante pour stoker les points. Un des inconvénients principaux du parallélisme est la consommation d’énergie, et ce problème devient plus crucial pour les réseaux de capteurs, car les piles des nœuds ne peuvent pas être changées après le déploiement, et nous accélérons le traitement de tâches en détriment de la durée de vie du système. Nous avons déjà présenté précé- demment que durant le calcul parallèle, plus de nœuds sont impliqués dans le calcul, et par conséquent, plus d’énergie est consommée car les nœuds doivent échanger des données entre eux. Il est difficile de mesurer précisément la consommation d’énergie de chaque nœud, géné- ralement dans la littérature, nous utilisons des simulateurs pour estimer la consommation d’énergie. Avrora [102] est un simulateur qui est largement utilisé dans la communauté de80 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE recherche. Il est développé pour simuler le comportement des plate-formes de la famille Mica, e.g. Mica1, Mica2 et MicaZ. Nous l’avons utilisé pour évaluer la consommation d’énergie de notre méthode, c’est vrai qu’il n’est pas initialement conçu pour la plateforme Telosb, mais les résultats produits (voir tableau 4.10) sont déjà suffisants pour étudier l’impact de notre méthode sur le réseau. Nombre de nœuds : 1 2 3 4 5 6 Énergie : 0.889 2.125 3.156 4.192 5.225 6.256 TABLE 4.10 – Consommation d’énergie (Joule) de notre méthode de parallélisme FIGURE 4.15 – Consommation d’énergie (Joule) de notre méthode de parallélisme Dans la figure 4.15, nous pouvons constater que lorsque le calcul est effectué sur un seul nœud, très peu d’énergie est consommée. Cependant, quand le calcul parallèle est utilisé, comme les esclaves doivent recevoir des tâches de leur maître et lui renvoyer des résultats, il y a une augmentation importante de la consommation d’énergie. Pour conclure la première partie de notre test, nous avons parallélisé le calcul des multiplications scalaires en utilisant jusqu’à 6 nœuds, et nous avons obtenu un gain maximal de 74.8%. Néanmoins, les résultats de simulation ont montré que le calcul parallèle consomme trop d’énergie par rapport au calcul local. Ainsi, une utilisation abusive d’une telle technique risque de réduire la durée de vie du réseau, et nous proposons donc de n’utiliser le calcul parallèle que dans des cas urgents, par exemple, la détection d’un événement crucial. 4.6.2/ PARALLÉLISATION SANS POINTS PRÉCALCULÉS La deuxième partie consiste à tester la performance de la méthode qui nous permet de préparer en temps réel les points 2 xG dont nous avons besoin le calcul parallèle et de ne pas les stocker en permanence. L’idée est d’utiliser des algorithmes qui peuvent théoriquement calculer plus rapidement que Doublement-et-Addition les points pour le traitement de tâche. La configuration de la courbe elliptique est exactement la même que la première partie (voir tableau 4.5).4.7. CONCLUSION 81 Nombre de nœuds : 2 3 4 5 Point calculé : 2 80G 2 53G 2 40G 2 32G Algorithme de 2 xG : 1293 654 421 301 Algorithme de 2 2G : 465 297 228 182 TABLE 4.11 – Temps de calcul (ms) pour préparer des points 2 xG Les temps de calcul utilisant l’algorithme de 2 xG (11) et l’algorithme de 2 2G (10) sont donnés dans le tableau 4.11. Par exemple, nous voulons paralléliser le calcul de kG entre 2 nœuds où k est un nombre entier de 160 bits qui est décomposé en 2 segments s1 et s2, et k = 2 80 s1 + s2. Chaque nœud doit traiter une tâche de 80 bits, et le calcul peut être réécrit comme suit kG = s12 80G + s2G. Comme le point 2 80G n’est pas précalculé et stocké en mémoire, avant de passer au traitement de la tâche, un des 2 nœuds doit d’abord passer 465 ms pour préparer le point. D’ailleurs, nous pouvons remarquer que l’algorithme de 2 xG n’est pas assez efficace, il lui faut 1293 pour préparer le point 2 80G, ce n’est donc pas un choix adéquat pour notre méthode de parallélisme. Nombre de nœuds : 1 2 3 4 5 Temps de calcul : 1003.55 1011.04 719.93 659.51 491.26 Gain : -0.75% 28.26% 34.28% 51.05 % TABLE 4.12 – Temps de calcul (ms) avec le parallélisme sans points précalculés Les temps de calcul utilisant le parallélisme sans points précalculés sont donnés dans le tableau 4.12. Les résultats ont montré que quand nous parallélisons le calcul entre 2 nœuds, il n’y a aucune accélération, le calcul a même été ralenti. Nous commençons à avoir un gain positif lorsque plus de 3 nœuds participent au calcul, si nous comparons avec les résultats dans le tableau 4.6, nous pourrons remarquer qu’il y a une baisse de performance de presque 50%. 4.7/ CONCLUSION Pour conclure la deuxième partie du test, les résultats ont montré que les algorithmes de 2 xG et de 2 2G ne sont pas aussi efficaces que prévus, notamment celui de 2 XG. En outre, l’algorithme de 2 2G est créé pour parcourir 2 bits à la fois, mais la vitesse de calcul n’est clairement pas doublée. Certes, le calcul parallèle avec cet algorithme peut accélérer le calcul des multiplications scalaires sans stocker les points précalculés, il offre un gain positif lorsque plus de 2 nœuds sont impliqués dans le calcul, mais la préparation en temps réel du point engendre une baisse de performance importante. Sachant que nous sacrifions l’énergie du réseau pour essayer d’atteindre une accélération la plus élevée possible, lors que le parallélisme sans points précalculés offre un gain beaucoup moins intéressant. Donc l’utilisation de cette méthode en pratique doit être soigneusement étudiée, nous conseillons de l’utiliser quand la consommation de mémoire est considérée comme un facteur important. Par exemple une application dans laquelle les nœuds n’ont pas assez de mémoire disponible pour stocker des points précalculés.5 TOLÉRANCE AUX PANNES DANS LES RÉSEAUX DE CAPTEURS SANS FIL Sommaire 5.1 Objectif de la tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . 84 5.1.1 Détection de fautes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.1.2 Restauration de fonctionnalités . . . . . . . . . . . . . . . . . . . . . . 85 5.2 Sources de pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.2.1 Nœud défectueux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.2.2 Perturbation de réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.2.3 Dysfonctionnement de la station de base . . . . . . . . . . . . . . . . . 87 5.3 Techniques de détection de pannes . . . . . . . . . . . . . . . . . . . . . . . 87 5.3.1 Diagnostic local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.3.2 Diagnostic en groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.3.3 Diagnostic hybride . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.3.4 Diagnostic hiérarchique . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.4 Techniques de restauration . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.4.1 Réplication active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.4.2 Réplication passive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.4.3 Distribution de services . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 La tolérance aux pannes est un ensemble de techniques qui sont conçues et mises en place pour pallier aux différents dysfonctionnements dans un système informatique. Concrètement, un mécanisme de tolérance aux pannes peut être représenté sous différentes formes, que ce soit un programme, un protocole ou un composant matériel, il permet au système de continuer à fonctionner même en présence d’anomalies. Suite au développement des technologies informatiques, d’une part, les systèmes deviennent de plus en plus puissants pour offrir de meilleurs services aux utilisateurs. D’autre part, la complexité des fonctionnalités fournies rendent en même temps les systèmes plus fragiles face aux différentes pannes inattendues. Parfois un système sans protection risque d’être complètement suspendu à cause d’une petite erreur pendant son fonctionnement. Ainsi, aujourd’hui la tolérance aux pannes est devenue une partie incontournable durant la conception de tout système informatique moderne. Par rapport aux systèmes qui fonctionnement totalement en local, la tolérance aux pannes dans des architectures distribuées est un problème beaucoup plus difficile. Notamment dans les réseaux de capteurs, qui sont constitués d’un grand nombre de nœuds 8384 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF ayant une puissance de calcul faible et des ressources très limitées. D’ailleurs, dans un tel réseau, toute échange de données doit passer par des connexions sans fil, qui ne sont généralement pas suffisamment fiables et souffrent des interférences et des attaques extérieures. Des mécanismes traditionnels de tolérance aux pannes ne sont pas directement applicables aux réseaux de capteurs. Comme nous l’avons présenté précédemment, les nœuds ne sont pas assez puissants pour gérer des algorithmes et des protocoles très complexes. En outre, les réseaux de capteurs sont initialement conçus pour être dé- ployés dans des zones où l’intervention humaine n’est pas toujours possible, et il n’y a aucun intérêt à construire un tel réseau, s’il n’est pas assez robuste pour endurer des environnements inconnus et potentiellement hostiles. Il est donc important de développer spécifiquement de nouvelles techniques moins coûteuses pour assurer la fiabilité des réseaux de capteurs. Une autre raison pour laquelle la tolérance aux pannes est une technique indispensable est que les réseaux de capteurs sans fil sont un domaine de recherche et d’ingénierie relativement récent. Certaines applications développées pour ce domaine ne sont pas encore matures et stables, et beaucoup de problèmes sont encore en discussion pour trouver la meilleure solution [46]. Dans ce chapitre, nous présentons d’abord les objectifs de la tolérance aux pannes et les sources possibles des pannes, ensuite nous donnons un état de l’art de l’ensemble de techniques existantes qui nous permettent de détecter des pannes et de restaurer le bon fonctionnement du système dans les réseaux de capteurs. 5.1/ OBJECTIF DE LA TOLÉRANCE AUX PANNES L’objectif de la tolérance aux pannes est constitué principalement de 2 parties, qui est respectivement la détection de pannes et la restauration de fonctionnalité. Avant de donner des explications détaillées, il faut d’abord comprendre la différence entre faute, erreur et faillite [105]. En effet, les pannes dans les réseaux de capteurs peuvent être classifiées en 3 niveaux : – Faute : il s’agit d’une sorte de dysfonctionnement matériel ou logiciel qui peut causer des erreurs, par exemple, un défaut matériel ou un bogue de programme. – Erreur : une erreur représente un état anormal du système qui peut éventuellement conduire le système à une faillite totale. – Faillite : la manifestation des erreurs qui se produit lorsque le système a dévié de sa spécification et ne peut plus livrer des fonctionnalités prévues. 5.1.1/ DÉTECTION DE FAUTES Théoriquement, il est impossible d’éviter complètement des fautes, et les anomalies qui surviennent durant le fonctionnement du réseau ne sont pas toujours prévisibles. Par contre, il est possible de capturer un état erroné du système et de faire le nécessaire pour qu’il puisse continuer à fonctionner, même d’une manière réduite. Après le déploiement et le mise en service d’un réseau, les nœuds doivent effectuer pé-5.2. SOURCES DE PANNES 85 riodiquement des opérations diagnostiques pendant la transmission et traitement de données. Lorsqu’une erreur est détectée, ils la signalent immédiatement aux autres nœuds qui s’en occupent pour réagir le plus vite possible. Plusieurs techniques sont proposées pour gérer efficacement la procédure de diagnostic, une présentation plus détaillées sur la détection d’erreurs est donnée dans la section 5.3. 5.1.2/ RESTAURATION DE FONCTIONNALITÉS Une fois l’erreur détectée et localisée, il faut que le réseau réagisse rapidement, il peut soit isoler la partie en panne, soit essayer de la réparer. Le but est de laisser le ré- seau continuer de fonctionner. Une méthode qui est largement utilisée est la redondance. C’est-à-dire que les composants qui sont essentiels pour le bon fonctionnement du système sont répliqués pour augmenter sa fiabilité en cas de pannes sévères. Dans un réseau de capteur, les composants à répliquer sont souvent des nœuds assurant des services particuliers, par exemple les nœuds passerelles dans des protocoles de routage. Les nœuds ne sont pas capables de gérer des mécanismes très complexes, c’est aussi la raison pour laquelle les nœuds sont censés être déployés en masse, car nous pouvons souvent trouver un grand nombre de nœuds qui sont disponibles. Nous pouvons les utiliser pour soit substituer les nœuds en panne, soit assurer simultanément une seule fonctionnalité. 5.2/ SOURCES DE PANNES Nous donnons dans cette section une liste de sources principales des différentes pannes dans les réseaux de capteurs [70] avec une expérimentation réalisée sur capteurs SAW. 5.2.1/ NŒUD DÉFECTUEUX Un nœud est composé de différents composants matériels et piloté par des logiciels, qui subit éventuellement des pannes tout au long de son fonctionnement. Par exemple le boitier du nœud risque d’être cassé suite à des impacts physiques, qui peuvent endommager des matériels encapsulés dedans [64, 100, 98]. Dans [50], durant le déploiement des nœuds dans un champs de pommes de terre, les chercheurs ont trouvé que les antennes des nœuds sont tellement fragiles qu’elles émettent de temps en temps des signaux erronés. En outre, lorsque le niveau de pile d’un nœud devient faible, il y a des chances que ses composants ne puissent plus fonctionner correctement. Dans [103], les nœuds sont déployés dans une forêt pour mesurer la température. Pendant les expérimentations, les chercheurs ont détecté beaucoup de données incohé- rentes. Certains nœuds ne produisent aucune donnée correcte pendant tout le test, les autres peuvent fonctionner au début du test, mais produisent aussi des données erronées avant l’épuisement de pile. On peut donc en déduire que la génération des données erronées est fortement corrélée à l’épuisement de la pile. Dans cette application, les chercheurs ont trouvé que lorsque le voltage de la pile n’est pas compris entre 3 et 2.4 volts,86 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF le nœud commence à produire des données incohérentes. Certains nœuds envoient des températures de plus de 150 degrés quand le voltage est en dessous de 2.4 volts. Dans notre projet européen INTERREG MainPreSi [68], on a installé des capteurs dans une machine pour aider l’entreprise TORNOS à mieux gérer son outil de production. On a utilisé 2 types de dispositif (voir figure 5.1) : – Capteur SAW 1 qui fonctionne d’une manière passive, sans alimentation, et il peut être interrogé par des ondes radiofréquence à distance pour mesurer la température, la pression et les vibrations. – Interrogateur qui émet des requêtes aux capteurs passifs et reçoit des données. Il est équipé d’un micro-contrôleur STM32, et il communique avec le capteur passif et les autres interrogateurs par la technique de multi-saut. Interrogateur Capteur SAW FIGURE 5.1 – Dispositifs utilisés dans le projet MainPreSi Pendant les tests, on a constaté aussi des valeurs de température aberrantes. Après l’analyse des données générées, on a trouvé que les données erronées sont dues à une irrégularité des puissances des ondes qui interrogent les capteurs SAW. Pour que le capteur lise correctement la température, il faut que PRX > 800 pour les capteurs mobiles, et PT X ≤ 31∧PRX = 3000 pour les capteurs fixes, où PT X représente la puissance d’émission et PRX est celle de réception. Des pannes matérielles peuvent causer aussi des anomalies du logiciel installé. Par exemple, dans une application de collection de données, le programme ne peut pas effectuer correctement des traitements, si les composants de capture ne renvoient pas de données correctes. Une autre possibilité est le bogue, si le programme utilisé n’est pas strictement débogué avant l’installation, et il est installé sur les nœuds avec des bogues cachés, il y a des chances que le réseau tombe en panne bout d’un certain temps. 5.2.2/ PERTURBATION DE RÉSEAUX Le routage est une fonctionnalité essentielle des réseaux de capteurs, c’est une technique fondamentale dont nous avons besoin pour la transmission de données. Des dys- 1. Surface Acoustic Wave5.3. TECHNIQUES DE DÉTECTION DE PANNES 87 fonctionnements au niveau de routage peuvent engendrer des pertes et le retard de messages. Généralement, dans un réseau de capteurs, les connexions entre les nœuds ne sont pas considérées comme très fiables, et le taux de délivrance des messages varie fortement selon les conditions ambiantes. L’expérimentation effectuée dans un champ agricole [101] montre aussi qu’il y a une baisse du taux de délivrance lorsque les plantes commencent à pousser. Dans [97], les chercheurs ont construit un réseau de capteurs pour surveiller l’habitat des goélands. L’expérimentation a duré 115 jours avec 650,000 lectures effectuées par 98 nœuds déployés. Les fichiers de log ont montré un taux de délivrance des paquets très faible et une instabilité des connexions sans fil. Pendant le premier jour, les nœuds qui se situaient à un saut de la station de base ont assuré un taux de délivrance de 70%, alors que celui des nœuds à multi-sauts était seulement 58%. Pendant les jours restants, presque un quart des nœuds ont fonctionné avec un taux de délivrance de 35%. Le protocole de routage utilisé est considéré comme la cause principale de cette inefficacité du réseau, car il demande aux nœuds de choisir toujours le chemin le plus sûr. De ce fait, 80% des paquets sont passés par les 20% des chemins disponibles. Les piles des nœuds qui se situe sur ces chemins ont été épuisées au bout d’un jour et demi. Il existe encore beaucoup d’autres causes possibles, par exemple la collision, comme les nœuds partagent le même médium pour la transmission de données, des collisions peuvent se produire lorsque plusieurs nœuds essayent d’émettre des signaux en même temps [98]. 5.2.3/ DYSFONCTIONNEMENT DE LA STATION DE BASE Toujours dans une application de collection de données, afin de faciliter et fluidifier la communication radio, l’ensemble d’informations collectées est agrégée au fur et à mesure durant leur transmission. Elles se propagent d’un nœud à l’autre pour aller jusqu’à leur destination finale, la station de base. Cette dernière peut aussi être victime des attaques extérieures et vulnérable aux différentes pannes. Si aucun mécanisme de protection n’est appliqué, le réseau risque d’être complètement isolé. La station de base est la seule interface entre les nœuds et les utilisateurs, lorsqu’elle tombe en panne, les utilisateurs ne pourront plus accéder aux services fournis par le réseau, et dans l’autre sens, les nœuds ne pourront plus à envoyer données ou recevoir des commandes des utilisateurs. Comme celles des nœuds déployés à distance, les pannes au niveau de la station de base peuvent aussi être causées par des dysfonctionnements matériels, ou des bogues qui se cachent dans le programme exécuté. 5.3/ TECHNIQUES DE DÉTECTION DE PANNES La détection de pannes est une procédure cruciale, sans laquelle le système ne peut pas choisir et prendre la réaction adaptée pour minimiser les impacts, et les services qu’il fournit risque d’être suspendus. Il s’agit généralement d’un diagnostic du fonctionnement d’un composant spécifique, parfois, nous essayons aussi d’avoir une prédiction de88 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF pannes, c’est-à-dire une analyse des symptômes observés. Dans un réseau de capteurs, les nœuds sont censés être déployés en masse, et une maintenance manuelle n’est pas intéressante du tout, car trop coûteuse et compliquée. Dans cette section, nous présentons un ensemble de techniques qui nous permettent d’automatiser la procédure de détection de pannes dans les réseaux de capteurs. 5.3.1/ DIAGNOSTIC LOCAL Dans certains cas, un nœud est capable de détecter des erreurs en faisant un diagnostic local. Afin de tester les connexions avec ses voisins, une table de routage contenant les identifiants des voisins est crée en mémoire locale, le nœud diffuse périodiquement des paquets de test aux voisins et attend des réponses. Le nœud est soupçonné d’être isolé, si aucun voisin ne lui répond, ou ils répondent, mais avec une puissance de signal très faible. Un autre paramètre important qui peut être testé en local est le niveau de pile. Un nœud peut prévoir des pannes en mesurant régulièrement le voltage de la pile [7, 83]. Il existe des algorithmes qui permettent d’estimer la durée de vie d’un nœuds en analysant la courbe de décharge de la pile et son taux de décharge, comme sur les téléphones mobiles, le système peut afficher à l’utilisateur le niveau de batterie actuel. Lorsqu’un nœud détecte que sa pile est bientôt épuisée, il peut diffuser un message d’avertissement à ses voisins qui effectuent ensuite un ensemble d’opérations nécessaires pour l’exclure du réseau. Dans certains cas, les données aberrantes peuvent être corrigées immédiatement après la détection. Comme dans [103], on sait que le composant de capture fonctionne correctement si le voltage de pile v ∈ [2.4, 3.0]. On peut donc demander aux nœuds de lire des données en parallèle avec le voltage, si v < [2.4, 3.0], la donnée sera éliminée et la lecture sera refaite. Idem dans [68], on a les intervalles des puissances PT X et PRX, dans lesquels les capteurs peuvent fonctionner correctement, durant la réception des données, celles qui sont mesurées avec des puissances inappropriées sont éliminées. 5.3.2/ DIAGNOSTIC EN GROUPE Il est aussi possible de détecter des erreurs du système causées par des valeurs erronées, si les nœuds disposent d’une valeur de référence. Une application qui est largement utilisée est la collection de données, nous supposons que les nœuds qui se trouvent dans la même zone sont censés capturer des valeurs similaires. Si nous trouvons une valeur qui possède une grande différence par rapport aux autres, cela est souvent considéré comme un symptôme d’erreur. Des algorithmes sont proposés dans [23, 48], ils peuvent calculer la probabilité qu’un nœud soit défectueux en se basant sur les données collectées. Dans [82], les auteurs proposent de détecter des erreurs en testant l’incohérence des données collectées. Par exemple nous déployons des nœuds dans une chambre pour mesure la température ambiante. Un nœud est soupçonné être en panne, s’il renvoie des valeurs extrêmement élevées, tandis que les autres retournent des valeurs similaires et normales.5.3. TECHNIQUES DE DÉTECTION DE PANNES 89 Nous supposons qu’un ensemble de nœuds S = {s1, s2, . . . , sn} est déployé sous forme d’un arbre (voir figure 5.2), et à chaque intervalle temporel ∆k, un nœud si crée un vecteur x i k contenant des données capturées x i k = {v i k j : j = 1 . . . d}. Après m lecture, le nœud crée une collection de données Xi = {x i k : k = 1 . . . m}, qui est envoyée à son nœud parent sj . Ce dernier fusionne Xi avec sa propre collection Xj , et continue à envoyer la nouvelle collection à son parent. Ainsi, la collection remonte dans l’arbre d’un nœud à l’autre jusqu’à la station de base. FIGURE 5.2 – Exemple de la topologie d’arbre Deux approches sont proposées pour la détection d’erreurs. Dans le cas de détection centralisée, après la réception de la collection, la station de base applique un algorithme de clustering [25] à l’ensemble de données reçues. L’objectif est de représenter les données par des points dans un système de coordonnées cartésiennes, et de regrouper les points dans des clusters. 2 points sont placés dans le même cluster, si la distance euclidienne entre eux est inférieure au seuil choisi. Les points qui se situent en dehors des clusters représentent des données probablement corrompues, et elles sont donc ignorées. En traçant l’origine de ces données, la station de base peut identifier les nœuds défectueux. L’inconvénient de cette approche est le coût de transmission, car il faut mobiliser entièrement le réseau pour effectuer un diagnostic. La 2e approche utilise une détection distribuée, c’est-à-dire l’algorithme de clustering est appliqué au fur et à mesure durant la transmission des données. Cette méthode nous permet de détecter des erreurs plus vite, et comme les données erronées sont ignorées après le clustering, la quantité de données à transmettre peut être considérablement réduite. Dans certains cas, les nœuds sont programmés pour renvoyer des valeurs identiques, par exemple, les nœuds qui sont affectés délibérément à la même tâche. La récupération des résultats peut être considérée comme une sorte de vote, si un nœud renvoie une valeur qui est différente des autres, alors soit la valeur est corrompue durant la transmission, soit le nœud est défectueux. Il est aussi possible de détecter des pannes en surveillance les réactions des nœuds [63]. Si les nœuds sont programmés pour recevoir des requêtes des autres et fournir des services demandés, nous pouvons vérifier si les requêtes sont correctement reçues par un nœud spécifique en observant son comportement. Si le nœud en question ne réagit pas comme il faut, soit il est défectueux, soit la connexion entre les 2 nœuds est perturbée.90 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF 5.3.3/ DIAGNOSTIC HYBRIDE C’est en effet la combinaison des 2 modes de diagnostic présentées ci-dessus. C’est-à- dire que les nœuds effectuent d’abord chacun un diagnostic local, mais il y a toujours des chances que les résultats ne soient pas assez précis. Ensuite les nœuds échangent les résultats du diagnostic local pour faire un diagnostic de groupe. Dans [15], Chen et al. proposent d’utiliser en même temps les diagnostics locaux et en groupe. Les nœuds sont déployés aléatoirement dans une zone, et nous supposons que chaque nœud possède au moins 3 voisins. Généralement, un réseau de capteurs contient un grand nombre de nœuds, et cette condition peut souvent être satisfaite facilement. Après le déploiement d’un ensemble de nœuds S , et |S | = n, un nœud quelconque S i dispose d’un certain nombre de voisins N(S i), et |N(S i)| = k. Le nœud est programmé pour collecter périodiquement des données ambiantes xi , et il peut comparer ses données collectées avec celles de ses voisins. d t i j représente la différente d’une donnée collectée au moment t entre S i et son voisin S j , et ∆d ∆t i j signifie la différence d’une donnée entre S i et S j pendant la période ∆t. Un paramètre Ti ∈ {LG, LF,GD, FT} est utilisé pour représenter l’état de fonctionnement d’un nœud, où les valeurs signifient respectivement probablement bon, probablement défectueux, bon et défectueux. Algorithme 20 : Algorithme de diagnostic local 1 pour tous les S i ∈ S faire 2 pour tous les S j ∈ N(S i) faire 3 ci j ← 0; 4 Calculer d t i j; 5 si |d t i j| > θ1 alors 6 Calculer ∆d ∆t i j ; 7 si |∆d ∆t i j | > θ2 alors 8 ci j ← 1; 9 fin 10 fin 11 fin 12 fin Lorsque le diagnostic est lancé, dans un premier temps, les nœuds appliquent localement l’algorithme 20, où θ1 et θ2 sont 2 seuils prédéfinis, et ci j ∈ {0, 1} est le résultat du diagnostic, ci j = 0 si les états de fonctionnements des 2 nœuds sont identiques, sinon ci j = 1. L’idée de l’algorithme est toujours basée sur la supposition que les nœuds qui sont près l’un de l’autre sont censés avoir des données similaires. Si la différence de donnée dépasse θ1 (ou θ2 pour une période ∆t), les 2 nœuds ont des états de fonctionnements différents, par exemple, un des 2 nœuds est défectueux. Après le diagnostic local, le nœud essaie de déterminer son état possible à l’aide de l’algorithme 21 qui analyse les résultats ci j. Le nœud S i est probablement en bon état, si son état de fonctionnement est identique que ceux de la plupart de voisins. Pour rendre le résultat de diagnostic plus précis, il faut que le nœud S i passe ensuite au diagnostic en groupe (voir algorithme 22). Si S i et plus de 3/4 de ses voisins possèdent5.3. TECHNIQUES DE DÉTECTION DE PANNES 91 Algorithme 21 : Détermination de l’état de fonctionnement possible 1 si P S j∈N(S i) ci j < ⌈|N(S i)|/2⌉ alors 2 Ti ← LG; 3 sinon 4 Ti ← LF; 5 fin 6 Diffuser Ti aux voisins; Algorithme 22 : Algorithme de diagnostic mutuel 1 si P S j∈N(S i) et T j=LG(1 − 2ci j) ≥ ⌈|N(S i)|/2⌉ alors 2 Ti ← GD; 3 fin 4 Diffuser Ti aux voisins; l’état de fonctionnement LG, alors S i est considéré comme en bon état. Algorithme 23 : Détermination de l’état de fonctionnement 1 pour i ← 1 a n faire 2 si Ti ∈ {LG, LF} alors 3 si T j = GD, ∀S j ∈ N(S i) alors 4 si ci j = 0 alors 5 Ti ← GD; 6 sinon 7 Ti ← FT; 8 fin 9 fin 10 fin 11 fin Ensuite pour les nœuds restant, nous utilisons l’algorithme 23 qui peut parcourir tous les nœuds. Si tous les voisins de S i sont en bon état, et celui de S i est identique que ceux de ses voisins, alors S i est en bon état aussi, sinon, S i est défectueux. Cette approche divise la procédure de diagnostic en 2 parties, elle demande d’abord aux nœuds d’effectuer un diagnostic local qui renvoie un résultat représentant l’état de fonctionnement d’un nœud. Ensuite les nœuds échangent les résultats de diagnostic local avec leurs voisins, et en se basant sur les résultats reçus, ils peuvent calculer un deuxième résultat de diagnostic qui est plus précis. Néanmoins, cette méthode ne permet pas d’effectuer un diagnostic partiel du réseau, car le résultat d’un nœud dépend tout le temps ceux de ses voisins, et pour tester les voisins, il faut mobiliser encore plus de nœuds. Ce genre de fonctionnement engendre une consommation de ressource assez importante, et la méthode n’est pas applicable dans les cas où nous voulons tester seulement quelques nœuds qui sont déployés dans une zone particulière.92 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF 5.3.4/ DIAGNOSTIC HIÉRARCHIQUE La détection hiérarchique utilise la topologie du réseau pour la détection de pannes [90]. Nous supposons que les nœuds forment un arbre dans lequel chaque nœud peut avoir un ou plusieurs nœuds enfant, et chaque enfant ne possède qu’un seul nœud parent (voir figure 5.2). Chaque nœud effectue périodiquement un diagnostic local qui génère un ensemble de données représentant son état de fonctionnement. Ensuite ces données sont envoyées directement à son nœud parent, qui les agrège en ajoutant ses propres données de diagnostic, et renvoie à son parent. Ainsi, les données remontent d’un nœud à l’autre, jusqu’à ce qu’elles arrivent à la station de base. A la fin de la procédure, la station de base dispose d’une base de données contenant toutes les informations nécessaires qui représentent l’état de fonctionnement de tout le réseau. L’avantage d’un tel mécanisme est qu’il s’adapte parfaitement à la taille du réseau, quel que soit le nombre de nœuds déployés, la station de base peut toujours avoir une surveillance globale du réseau en diffusant une requête qui descend des nœuds parent aux nœuds enfant. Néanmoins, il faut mobiliser tous les nœuds pour effectuer un seul diagnostic, la transmission des données engendre une consommation de ressources très importante. Une autre méthode alternative est d’utiliser seulement un sous-ensemble de nœuds et la station de base pour la détection de pannes [95]. Une fois les nœuds déployés, chacun envoie ses données de topologie (voisins, coût de connexion etc.) à la station de base qui peut construire chez elle la topologie entière de tout le réseau. Quand les nœuds détectent un nœud silencieux, c’est-à-dire un nœud qui ne répond plus aux requêtes, ils envoient des données nécessaires à la station de base pour que cette dernière puisse faire une mise à jour de topologie. Idem dans le sens descendant, si la station de base veut effectuer un changement de route, elle n’envoie la commande qu’aux nœuds concernés. Cependant ce mécanisme n’est pas applicable aux applications événementielles dans lesquelles les nœuds ne communiquent qu’en cas de détection d’un événement important prédéfini, et la station de base ne peut pas avoir une vision globale du réseau en temps réel. Une autre approche basée sur les clusters est présentée dans [91]. Chaque cluster-head est chargé de la surveillance de ses membres, et les cluster-heads sont directement surveillés par la station de base. Pour effectuer un diagnostic, la station de base et les cluster-heads effectuent des commandes ping vers les nœuds qui sont sous leur supervision directe. S’ils détectent un nœud qui ne répond pas à la commande ping, alors il sera considéré comme défectueux et sera éventuellement exclu du réseau. 5.4/ TECHNIQUES DE RESTAURATION Les techniques de restauration sont souvent mises en place pour augmenter la fiabilité et la sûreté d’un système, car elles lui permettent de continuer à fonctionner malgré la présence des pannes. Beaucoup de méthodes sont proposées dans la littérature, alors que la plupart est basée sur la réplication des composants qui sont essentiels pour le5.4. TECHNIQUES DE RESTAURATION 93 bon fonctionnement du système. La redondance peut être considérée comme une mé- thode adéquate pour les réseaux de capteurs, car les nœuds sont déployés en masse, et il existe souvent des nœuds disponibles pendant la durée de vie du réseau. Cependant comme de nombreux nœuds sont impliqués dans le fonctionnement du réseau, le système consomme plus de ressources. Dans cette section, nous présentons un ensemble de techniques de tolérance aux pannes qui sont basées sur la redondance. 5.4.1/ RÉPLICATION ACTIVE L’idée est de déployer délibérément plusieurs nœuds pour assurer la même fonctionnalité. Par exemple, nous déployons plusieurs nœuds dans une zone pour effectuer une collection de données ambiantes. Lorsqu’un nœud tombe en panne, les autres qui se situent dans la même zone peuvent continuer à envoyer des données à la station de base. 5.4.1.1/ REDONDANCE DE CHEMIN DE ROUTAGE Durant la conception d’un protocole de routage, il faut prendre en compte le fait que les nœuds qui se situent proche de la station de base sont relativement plus chargés pour la transmission de données, et leurs piles risquent d’être épuisées beaucoup plus vite par rapport aux autres. Pour que le réseau soit tolérant aux pannes, il ne faut pas que tout le réseau soit hors service à cause du dysfonctionnement de seulement quelques nœuds. Dans un réseau tolérant aux pannes, les nœuds doivent être k-connecté, c’est-à-dire que chaque nœud doit posséder k connexions avec le reste du réseau, même s’il perd k − 1 connexions, le nœud restera tout de même connecté [58]. [13] propose une topologie tolérante aux pannes pour les réseaux de capteurs hété- rogènes. 2 types de nœuds sont utilisés, les nœuds de capture sont moins coûteux, mais très limités en ressources, ils sont déployés aléatoirement en grand nombre pour la collection des données ambiantes. Les nœuds de passerelle sont beaucoup moins nombreux, mais ils sont plus puissants, et leurs antennes peuvent avoir une portée plus étendue. Les nœuds de passerelle sont déployés pour récupérer des données collectées par des nœuds de capture, et transmettre ces données à la station de base. Une telle architecture est prouvée plus avantageuse en termes de performance et de durée de vie (voir figure 5.3). Les nœuds de capture doivent être k-connectés, c’est-à-dire que chaque nœud de capture doit posséder k chemins distincts pour rejoindre un des nœuds de passerelle. Même un nœud de capture perd les autres k−1 connexions, il reste tout de même connecté avec les nœuds passerelles, et les données qu’il collecte peuvent toujours être renvoyées à la station de base. Par exemple, dans la figure 5.4, nous avons un réseau 3-connecté, dans lequel les nœuds de capture peuvent résister jusqu’à 2 chemins perturbés. 5.4.1.2/ REDONDANCE DE DONNÉES COLLECTÉES Afin d’assurer la collection de données dans une zone, nous pouvons y déployer plusieurs nœuds, car les valeurs ambiantes capturées sont censées être similaires. Généralement94 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF FIGURE 5.3 – Déploiement d’un réseau de capteurs hétérogène FIGURE 5.4 – Exemple d’un réseau hétérogène 3-connecté les données capturées sont ensuite envoyées à un autre nœud qui est chargé de l’agré- gation et de la transmission vers la station de base. Même si quelques nœuds tombent en panne, tant qu’il reste encore des nœuds opérationnels dans la zone, nous pouvons continuer à surveiller la zone malgré une perte de précision envisageable. 5.4.2/ RÉPLICATION PASSIVE Quant à la réplication passive, nous mettons en place plusieurs nœuds aussi pour assurer la même fonctionnalité, mais seul le nœud principal est utilisé pour la réception et le traitement de tâches. Les données sont synchronisées entre le nœud principal et les nœuds de secours, c’est-à-dire que les nœuds de secours reçoivent aussi les tâches, mais ils restent inactifs tant que le nœud principal est encore opérationnel. Lorsque le nœud principal tombe en panne, nous devons en choisir un parmi les nœuds de secours pour prendre le relais. La réplication passive est souvent considérée comme le choix optimal pour les réseaux de capteurs, car les nœuds de secours ne consomment pas beaucoup de ressource tant qu’aucune panne n’est détectée. L’application de la ré- plication passive est réalisée selon 3 phases, qui sont respectivement la détection de5.4. TECHNIQUES DE RESTAURATION 95 pannes, la sélection du nœud principal et la distribution de service. La première phase est déjà discutée dans la section 5.3, et les 2 autres sont présentées ci-dessous. 5.4.2.1/ SÉLECTION DE NŒUD PRINCIPAL Les nœuds sont programmés et déployés pour fournir des services, lorsqu’un nœud est en panne, il faut que nous trouvions un autre qui peut le remplacer, et le nœud sélectionné devient le nouveau fournisseur de services. Il existe plusieurs approches dans la littérature : 5.4.2.2/ SÉLECTION EN GROUPE Comme la plupart des protocoles de routage basés sur le clustering [36, 35], le clusterhead est chargé de la récupération et la transmission des données collectées par les autre nœuds qui se situent dans le même cluster, et il est logique que le cluster-head consomme plus de ressources et sa pile se vide plus vite par rapport aux autres membres du cluster, notamment dans des réseaux homogènes, les cluster-heads ne détiennent pas plus de ressources que les autre membres. Lorsque le niveau d’énergie restante du cluster-head est très faible, il faut que les autres nœuds lancent un vote en prenant compte les paramètres cruciaux (énergie, distance, connexion etc.) pour choisir un nouveau cluster-head. 5.4.2.3/ RÉAFFECTATION DE MEMBRES À partir d’un réseau de capteurs hétérogène dont les nœuds sont regroupés en clusters, et où les cluster-heads déployés sont plus puissants que les membres ordinaires, nous ne changeons pas de cluster-head. Chaque membre d’un cluster doit stocker non seulement l’identifiant de leur cluster-head actuel, mais aussi celui de son cluster-head de secours. Normalement le cluster-head de secours est le cluster-head d’un autre cluster qui se trouve à proximité. Quand le cluster-head actuel ne peut plus fonctionner, le membre envoie une demande à son cluster-head de secours pour être réaffecté au nouveau cluster [31]. 5.4.3/ DISTRIBUTION DE SERVICES Une fois le nouveau nœud sélectionné, il faut qu’il soit immédiatement activé, et qu’il détienne toutes les informations nécessaires pour continuer le traitement de tâches. Dans certaines applications, les nœuds déployés utilisent le même code, et les données sont synchronisées entre le nouveau et l’ancien nœud principal, il suffit alors de donner un simple message au nouveau nœud pour lui signaler le changement de rôle. Dans les autres cas, par exemple lorsque les nœuds n’ont pas assez de mémoire pour stocker le code de tout type de service, il faut donc que le code manquant soit distribué au nouveau nœud principal, et qu’il soit reprogrammé pour s’adapter à la nouvelle fonctionnalité.96 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF 5.4.3.1/ DISTRIBUTION DE CODES Il s’agit de la dissémination des morceaux de code dans le réseau. Dans [56], un interpréteur de bytecode pour Tinyos est développé et installé sur des nœuds, et les programmes sont décomposés en morceaux de 24 instructions. Lorsqu’une mise à jour de code est demandée, les morceaux de code du nouveau programme sont envoyés et installés sur le nœud qui les exécute avec l’interpréteur. Cependant cette méthode demande une connexion assez fiable, car il faut que le programme à installer soit entièrement acheminé chez son destinataire. Le nœud ne peut pas se lancer tant que le programme utilisé n’est pas correctement mis à jour. 5.4.3.2/ DISTRIBUTION DE TÂCHES Les programmes installés sur les nœuds sont identiques et seules les données représentant les tâches à effectuer sont envoyées au nouveau nœud sélectionné. Les nœuds utilisent toujours le même programme qui peut être configuré en fonction de différents besoins. Pour modifier les fonctionnalités d’un nœud, il suffit de lui fournir l’ensemble des informations de configuration pour les nouvelle tâches. Deluge [37] est une architecture spécifiquement conçue pour la dissémination de données. Les données sont représentées par des objets, qui sont sérialisés et divisés en pages de taille identique, et chacune est encore constituée d’un certain nombre de paquets (voir figure 5.5). Le paquet est l’unité la plus petite utilisée dans Deluge, et chacun est numéroté avec un nombre représentant la version des données qu’il contient. FIGURE 5.5 – Structures de données utilisées dans Deluge Dans Deluge, après chaque mise à jour de données, un nœud S diffuse périodiquement aux voisins qui se situent dans sa portée radio la version la plus récente des données qu’il détient. Un voisin R qui reçoit le message lui demande une liste complète des objets avec les numéros de version correspondants. Avec cette liste, R peut identifier les objets locaux qui nécessitent aussi une mise à jour. Pour une raison de performance, les messages redondants sont rejetés pendant les communications. Par exemple si 2 nœuds se situent l’un à côté de l’autre, une seule demande de données est envoyée. L’architecture elle-même utilise aussi des mécanismes qui lui offrent un minimum de sû- reté. Après la réception d’une demande de données, le nœud S commence à envoyer à R5.5. CONCLUSION 97 des paquets contenant des données demandées. Pour assurer la fiabilité de transmission de données, le contrôle de redondance cyclique (CRC) est appliqué à tous les paquets envoyés. Un paquet devra être renvoyé à nouveau, si le contrôle échoue. D’ailleurs, si le voisin perd la connexion durant la transmission de données, il va réessayer de demander les données manquantes. S’il n’arrive toujours pas à rétablir la connexion au bout d’un certain nombre d’essais, il va choisir à un autre nœud qui possède les données dont il a besoin. 5.5/ CONCLUSION Dans ce chapitre nous avons présenté les techniques de tolérance aux pannes et leur application dans les réseaux de capteurs. A cause de la limitation des ressources et de la puissance de calcul, les réseaux de capteurs sont généralement très vulnérables aux différentes pannes, et parfois le réseau risque d’être entièrement bloqué à cause d’un simple dysfonctionnement. C’est la raison principale pour laquelle aujourd’hui les mécanismes de tolérance aux pannes sont considérés comme une partie indispensable pour les réseaux de capteurs. Son objectif est principalement constitué de 2 parties, la détection des pannes et la restauration des fonctionnalités endommagées. Les algorithmes complexes sont à éviter, à cause des faibles ressources dont disposent les nœuds sans fil. Une approche effi- cace est d’utiliser les nœuds disponibles pour la détection de données erronées et la substitution de nœuds défectueux. Certaines valeurs peuvent être mesurées et évaluées localement, comme le niveau d’énergie restante, la puissance du signal des nœuds voisins etc. En effet, il ne faut pas que la méthode appliquée ait un impact négatif sur la performance du système. Dans le chapitre suivant, nous présentons notre propre méthode de tolérance aux pannes conçue spécifiquement pour notre application de multiplication scalaire parallèle dans les réseaux de capteurs. Comme la tâche de calcul est décomposée en plusieurs parties qui sont traitées simultanément, il faut que la distribution de tâches et la récupération de résultats soient fiables, et que les nœuds soient capables de faire face aux pannes inattendues.6 LA TOLÉRANCE AUX PANNES POUR LA MULTIPLICATION SCALAIRE PARALLÈLE DANS LES RÉSEAUX DE CAPTEURS Sommaire 6.1 Erreurs possibles durant le calcul parallèle . . . . . . . . . . . . . . . . . . 100 6.1.1 Perte de résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.1.2 Données corrompues . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.1.3 Nœud maître défectueux . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.2 Contre-mesures contre les pannes possibles . . . . . . . . . . . . . . . . . . 102 6.2.1 Sélection des nœuds de secours . . . . . . . . . . . . . . . . . . . . . 102 6.2.2 Détection de perte de résultat . . . . . . . . . . . . . . . . . . . . . . . 103 6.2.3 Vérification de résultat . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.3 Simulation et évaluation de performance . . . . . . . . . . . . . . . . . . . 106 6.3.1 Simulateur et configuration . . . . . . . . . . . . . . . . . . . . . . . . 106 6.3.2 Test sans assez de nœuds disponibles (n ≤ 4) . . . . . . . . . . . . . . 107 6.3.3 Test avec assez de nœuds disponibles (n ≤ 8) . . . . . . . . . . . . . . 108 6.3.4 Test en présence de pannes . . . . . . . . . . . . . . . . . . . . . . . . 109 6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Dans le chapitre 4, nous avons présenté notre méthode de parallélisme qui nous permet d’accélérer le calcul des multiplications scalaires sur les courbes elliptiques en décomposant la tâche de calcul en plusieurs parties indépendantes qui sont ensuite traitées simultanément par des nœuds différents. En tant qu’architecture de parallélisation sans mémoire partagée, les nœuds participant aux calculs parallèles doivent échanger des données via la connexion sans fil qui est souvent considérée comme un moyen de communication non fiable. S’il y a des données perdues ou corrompues pendant la transmission, le nœud maître ne va pas pouvoir terminer correctement le calcul. Le résultat du calcul est ensuite utilisé par les protocoles cryptographiques, et si les calculs sont basés sur des valeurs incorrectes, l’ensemble des mécanismes de sécurité du système va échouer. Dans ce chapitre nous présentons des techniques qui nous permettent d’augmenter considérablement la fiabilité et la sûreté du réseau pendant le calcul parallèle. Comme nous l’avons dit précédemment, il est déconseillé de mettre en place des mécanismes de tolérance aux pannes très complexes dans les réseaux de capteurs, car les nœuds ne 99100 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE sont pas assez puissants. Ainsi, notre méthode est principalement basée sur la redondance. Nous commençons par l’identification des pannes possibles dans notre architecture de parallélisme. Afin de contourner ces problèmes, notre solution est présentée dans la section 6.2. Pour évaluer sa performance, nous avons développé un simulateur et les résultats de simulation sont présentés et discutés dans la section 6.3. 6.1/ ERREURS POSSIBLES DURANT LE CALCUL PARALLÈLE En règle générale, un réseau de capteurs est constitué d’un grand nombre de nœuds à faible coût et puissance, qui sont souvent considérés très fragiles et vulnérables en face des différentes pannes et attaques [2, 112]. Il existe beaucoup de pannes différentes qui peuvent survenir durant le fonctionnement du réseau, et il est extrêmement difficile de développer une technique qui puisse ré- soudre tous les problèmes possibles. Généralement nous essayons d’abord d’identifier les pannes les plus importantes, c’est-à-dire les pannes qui peuvent avoir des effets dé- sastreux sur notre système. Ensuite il faut trouver des méthodes qui peuvent renforcer notre réseau. La procédure du calcul parallèle est présentée graphiquement dans la figure 4.9, nous pouvons voir que le nœud maître doit distribuer les tâches de calcul et récupérer le résultat de chaque esclave après le traitement de tâche. Tout échange de données se fait via la communication sans fil. Les erreurs qui peuvent avoir lieu durant le calcul sont listées ci-dessous : 6.1.1/ PERTE DE RÉSULTAT Nous supposons qu’il y a n nœuds disponibles si , i ∈ [1, 4] dans le cluster, ils sont convoqués en tant qu’esclaves par le maître, qui s’occupe de la génération et de la distribution des tâches Qi qui est définie dans la formule 6.1, où l est la longueur du scalaire, n est le nombre d’esclaves. Chaque Qi peut être ensuite traitée indépendamment par un esclave. Qi = i+X b−1 j=ib kj2 j · 2 bG où b = ⌈l/n⌉ (6.1) Il faut que le nœud maître reçoive tous les résultats des esclaves pour calculer le résultat final de la multiplication scalaire. Lorsqu’il y a des résultats perdus, le maître ne peut plus terminer son travail correctement. Une telle erreur peut être due aux différentes pannes ci-dessous : – Épuisement de pile : Quand un des esclaves n’a plus d’énergie, il s’éteint automatiquement, et toute opération en cours s’arrête aussi. – Connexion perdue : Une connexion sans fil devient beaucoup plus instable lorsque le niveau de pile du nœud est faible ou des interférences radio sont présentes dans la zone. Un résultat est perdu, si l’esclave correspondant ne reçoit pas de tâche, ou il n’arrive pas à renvoyer le résultat au maître à cause d’une mauvaise connexion.6.1. ERREURS POSSIBLES DURANT LE CALCUL PARALLÈLE 101 – Attaque extérieure : Les nœuds déployés dans des environnements extrêmes font souvent l’objet des attaques délibérées ou accidentelles. Un nœud ne peut pas survivre à une telle attaque si ce petit dispositif électronique ne détient pas une protection solide. 6.1.2/ DONNÉES CORROMPUES Comme tout message circulant dans un réseau de capteurs, les résultats renvoyés par des esclaves risquent d’être corrompus durant la transmission radio. Il existe des mé- thodes mathématiques qui peuvent tester l’intégrité d’un message, e.g. la fonction de hachage, mais généralement il est préférable de ne pas appliquer des calculs très compliqués qui peuvent parfois rendre les nœuds figés. En outre, l’objectif du calcul parallèle est d’accélérer le calcul de la multiplication scalaire, même si nous arrivons à intégrer le test d’intégrité dans le calcul parallèle, il peut y avoir une baisse de performance importante. Si le maître ne peut pas détecter une telle erreur et continue à calculer le résultat final avec des valeurs incorrectes, les autres calculs suivants vont forcément échouer aussi. La corruption de données peut être principalement causée par : – Épuisement de pile : Il est déjà prouvé que les composants électroniques ne peuvent pas fonctionner correctement lorsque le niveau de pile est très faible [12]. Si l’antenne du nœud n’est pas suffisamment alimentée, les signaux qu’elle émet risquent d’être biaisés. – Interférence radio : Les interférences peuvent causer des difficultés de propagation des ondes radio, et parfois une mauvaise interprétation des signaux lors de la réception de données. Elle est souvent utilisée aussi comme un moyen d’attaque pour bloquer complètement la communication dans un réseau. – Bogue de programme : Des résultats incorrects peuvent aussi être causés par des bogues du programme installé, qui peuvent être déclenchés par certaines conditions. C’est la raison pour laquelle les programmes doivent souvent passer plusieurs procé- dures de simulation stricte avant d’être installés sur des nœuds. 6.1.3/ NŒUD MAÎTRE DÉFECTUEUX Dans notre architecture de calcul parallèle, c’est le cluster-head qui joue le rôle du maître. Il est chargé de la distribution des tâches et de la récupération de résultats. Un maître défectueux peut causer un abandon complet de la procédure du calcul parallèle. Dans les protocoles de routage qui sont basés sur le clustering, les membres doivent choisir périodiquement un nouveau cluster-head [36, 35]. Ce mécanisme est particulièrement important pour les réseaux homogènes, dans lesquels les cluster-heads ne détiennent pas plus de ressources que les autres membres. Le changement périodique du maître permet aux nœuds d’équilibrer la charge et de prolonger la durée de vie du réseau. Si un cluster-head tombe accidentellement en panne, et les autres membres vont détecter la perte de connexion avec leur cluster-head, et une procédure d’élection sera lancée immédiatement pour choisir un nouveau cluster-head.102 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE Si le réseau est capable de détecter les erreurs ci-dessus et de restaurer les fonctionnalités, il sera plus robuste pour endurer des environnements difficiles et résister aux différentes pannes inattendues. Maintenant il faut trouver des méthodes efficaces qui nous permettent d’atteindre ces objectifs. 6.2/ CONTRE-MESURES CONTRE LES PANNES POSSIBLES Selon [47], les techniques de tolérance aux pannes sont conçues et peuvent être appliquées (de basse à haute) aux couches physique, logiciel système, middleware et application. Généralement, plus la couche est basse, plus la technique de tolérance aux pannes est générique. Dans le sens inverse, plus la couche est haute, plus la technique est spécifique. Par exemple, il y a très peu de chance que nous puissions utiliser dans une application une technique qui est initialement développée pour une autre application. Certes, les techniques qui sont développées pour la couche application sont moins portables et réutilisables par rapport aux autres. Cependant elles sont souvent soigneusement conçues pour mieux s’adapter aux besoins des applications. Notre architecture de parallélisme est une procédure complexe qui dépend beaucoup de la fiabilité de la communication sans fil. Afin d’augmenter la sûreté du système durant la distribution de tâches et la récupération de résultats, nous avons développé notre méthode de tolérance aux pannes pour la couche application. 6.2.1/ SÉLECTION DES NŒUDS DE SECOURS Comme nous avons présenté précédemment, notre méthode est aussi basée sur la redondance, c’est-à-dire l’utilisation des nœuds de secours, car un réseau de capteurs possède souvent un très grand nombre de nœuds. Nous supposons qu’il existe n nœuds disponibles dans le cluster. Lorsque le clusterhead veut lancer une multiplication scalaire parallèle, au lieu d’impliquer tous les nœuds disponibles dans le calcul, nous utilisons seulement ⌊n/2⌋ nœuds pour le calcul parallèle, les nœuds restants sont utilisés comme des nœuds de secours. Algorithme 24 : Sélection des nœuds de secours Données : La Résultat : Ls , Lb 1 Trier La par le nombre de voisins dans l’ordre croissant; 2 pour tous les a ∈ La faire 3 b ← NS (a); 4 La ← La − a; 5 La ← La − b; 6 Ls ← Ls + a; 7 Lb ← Lb + b; 8 fin 9 retourner Ls , Lb La sélection des nœuds esclaves et des nœuds de secours est pilotée par l’algorithme 246.2. CONTRE-MESURES CONTRE LES PANNES POSSIBLES 103 où La est l’ensemble de nœuds disponibles dans le cluster, Ls et Lb sont 2 listes contenant respectivement des esclaves et des nœuds de secours sélectionnés. Avant de commencer à sélectionner les nœuds, la liste La est triée dans l’ordre croissant par le nombre de voisins de chaque a ∈ La, car nous devons laisser le nœud ayant moins de voisins choisir son nœud de secours en premier. NS (a) est une fonction qui sélectionne et retourne le nœud de secours de a parmi ses voisins. Les voisins sont évalués par plusieurs critères, telles que l’énergie restante, la distance de a et le RSSI 1 , car nous privilégions toujours le voisin ayant la connexion la plus fiable. Dans le chapitre 4, nous avons déjà montré que pour une raison de surcoût de communication, le nombre d’esclaves doit être limité à moins de 5. La possibilité de pouvoir effectuer une multiplication scalaire parallèle qui soit tolérante aux pannes dépend principalement du nombre de nœuds disponibles dans le cluster, dénoté n. – n ∈ [0, 1] : Impossible d’effectuer une telle opération, car soit il n’y a pas de nœud disponible pour paralléliser le calcul, soit nous pouvons paralléliser entre 2 nœuds (maître compris), mais il n’y a pas de nœud de secours pour l’esclave. – n ∈]1, 8[ : La tolérance aux pannes est possible, nous pouvons paralléliser le calcul avec ⌊n/2⌋ esclaves et ⌊n/2⌋ nœuds de secours. – n ∈ [8, ∞] : Nous pouvons paralléliser le calcul avec 4 esclaves et au moins 4 nœuds de secours. Après la sélection d’esclaves et de nœuds de secours, dans les sections suivantes, nous allons présenter comment les nœuds de secours sont mis en place pour rendre la procé- dure de calcul parallèle plus fiable. 6.2.2/ DÉTECTION DE PERTE DE RÉSULTAT Pour détecter une perte de résultat, nous demandons à un nœud de secours de traiter la même tâche que l’esclave qu’il surveille, et de préparer une deuxième copie du résultat. La procédure du calcul est illustrée dans la figure 6.1. Le début est identique à celle du calcul parallèle normal (figure 4.9) : – Les membres du cluster collectent et renvoient périodiquement des données au cluster-head ; – Si le cluster-head détecte un événement important qu’il faut signaler immédiatement à la station de base, il essaie d’identifier les membres qui sont disponibles pour le calcul parallèle en leur diffusant une demande de participation ; – Les membres qui sont disponibles renvoient une réponse positive au cluster-head, et attendent l’affectation des tâches. Après la réception des réponses, le cluster-head utilise l’algorithme 24 qui lui sélectionne les esclaves pour le calcul parallèle et les nœuds de secours pour la tolérance aux pannes. Une fois le calcul décomposé en fonction du nombre d’esclaves, le clusterhead diffuse les tâches à tous les nœuds choisis. La distribution des tâches se fait par broadcast qui est reçu par tous les membres disponibles du cluster. Dans le message, ils peuvent trouver les tâches de calcul et les identifiants des nœuds qui doivent les traiter, ainsi que les identifiants des nœuds qui 1. Received Signal Strengh Indicator104 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE Membre de cluster Cluster-head Esclave Nœud de secours 1 : Données 2 : Demande de participation 3 : Disponibilité 4 : Tâches 5 : Résults Sélection des nœuds Calcul Erreur Calcul FIGURE 6.1 – Multiplication scalaire parallèle avec la détection de perte de résultat doivent surveiller les esclaves. Après la distribution des tâches, les membres qui ne sont pas sélectionnés retournent à leur état initial. Après le traitement de tâche, le nœud de secours attend que l’esclave qu’il surveille envoie le résultat du calcul. Si l’esclave tombe en panne, et n’envoie pas de résultat au bout d’un certains temps ts , le nœud de secours va envoyer sa propre copie du résultat au maître. Nous supposons que l’esclave et le nœud de secours ont presque la même distance du maître, car le nœud de secours est sélectionné parmi les voisins de l’esclave. La consommation d’énergie pour l’envoi de résultat est fonction de la taille du message m et de la distance d, notée ETx = e(m, d), et la consommation pour la réception est une constante ERx [36, 35]. Nous pouvons constater que par rapport à la version originale, la nouvelle architecture parallèle avec la détection de perte de résultat n’engendre pas une augmentation importante de la consommation d’énergie du cluster. Néanmoins, la nouvelle version prend un peu plus de temps, car il faut que le nœud de secours attende ts ms avant d’envoyer son résultat. 6.2.3/ VÉRIFICATION DE RÉSULTAT Dans le cas où l’esclave renvoie un résultat incorrect au maître, il faut que les nœuds puissent le détecter. La procédure de vérification est représentée graphiquement dans la figure 6.2. Comme la détection de perte de résultat, après la distribution des tâches, l’esclave et le nœud de secours reçoivent et travaillent sur la même tâche. Le nœud de secours est utilisé pour vérifier le résultat envoyé par l’esclave. Lorsque ce dernier envoie son résultat, comme le nœud de secours est un de ses voisins qui se situe dans sa portée radio, il peut le recevoir et passe à la phase de vérification. Le nœud de secours compare le résultat de l’esclave avec le sien, car les données sto-6.2. CONTRE-MESURES CONTRE LES PANNES POSSIBLES 105 ckées localement sont considérées assez fiables. Si les 2 résultats sont différents, il enverra immédiatement un avertissement au maître, qui est obligé de rejeter le résultat en question et de répéter localement la tâche correspondante. Membre de cluster Cluster-head Esclave Nœud de secours 1 : Données 2 : Demande de participation 3 : Disponibilité 4 : Tâche 5 : Résultat Avertissement Sélection des nœuds Calcul 6 : Répétition de calcul Calcul Calcul FIGURE 6.2 – Multiplication scalaire parallèle avec la vérification de résultat Quand aucun résultat erroné n’est détecté, les nœuds de secours demeurent silencieux. Le temps de calcul et la consommation totale d’énergie restent quasiment inchangé. Cependant, lorsqu’il y a des esclaves qui retournent un résultat incorrect, le maître devra répéter la tâche avant d’effectuer la combinaison des résultats, et le coût de parallélisation est proportionnel au nombre de résultats erronés détectés. Une autre méthode alternative plus économique en terme de consommation de ressources est d’utiliser plusieurs nœuds de secours pour chaque esclave et de mettre en place un mécanisme de vote. Lorsque les nœuds de secours détectent un résultat différent, ils envoient aussi leurs copies locales au maître, qui prend ensuite celui le plus présent. Une limitation de la deuxième méthode est le nombre de nœuds utilisés. Si nous devons désigner plusieurs nœuds de secours pour un seul esclave, nous aurons besoin de beaucoup plus de nœuds disponibles dans le cluster. D’ailleurs, il faut que le nombre de nœuds de secours soit suffisamment grand pour que le résultat de vote soit assez fiable. De plus, comme les nœuds de secours doivent traiter les tâches aussi, il est évident que nous ne pouvons pas demander à un nœud de secours de surveiller plusieurs esclaves. Pour le cas où le cluster-head tombe en panne, un mécanisme d’élection de nouveau cluster-head est déjà inclus dans la plupart de protocoles de routage basés sur le clustering. Il nous suffit de l’utiliser dans notre architecture de parallélisme.106 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE 6.3/ SIMULATION ET ÉVALUATION DE PERFORMANCE Pour tester la performance de notre méthode de tolérance aux pannes, nous avons créé un simulateur en Java qui peut estimer le temps de calcul et la consommation d’énergie de notre architecture. 6.3.1/ SIMULATEUR ET CONFIGURATION Au lancement du programme, le simulateur charge en mémoire la configuration de la courbe elliptique utilisée et la topologie du cluster depuis un fichier de configuration, dans lequel nous stockons les identifiants des membres du cluster, les distances entre eux, ainsi que l’ensemble de paramètres de la courbe, comme dans le tableau 4.5. Nous supposons que les nœuds sont déployés dans une zone idéale sans obstacle. L’accès au médium est contrôlé par un protocole MAC basé le principe de TDMA 2 , qui permet à un seul nœud d’envoyer des données à la fois. Tous les membres du cluster utilisent la même courbe qui est définie dans un corps premier fini Fp, et les paramètres (p, a, b,G, n) à stocker sont donnés dans le tableau 6.1, et les valeurs recommandées NIS T192 sont utilisées [34]. Paramètre Description Longueur (bit) p Taille du corps premier fini 192 a Coefficient de l’équation Weierstrass simplifiée 8 b Coefficient de l’équation Weierstrass simplifiée 192 G Point de générateur de la courbe 192 × 2 = 384 n Ordre du point de générateur 192 Total : 968 TABLE 6.1 – Paramètre de la courbe elliptique utilisée Les détails de la consommation de mémoire sont montrés dans le tableau 6.2. Selon les résultats dans le chapitre 4, le nombre de nœuds participant au calcul parallèle doit être limité à moins de 5, nous devons stocker donc 3 points précalculés. Données Description Taille (octet) (p, a, b,G, n) Paramètres de la courbe elliptique 121 2 40G, 2 80G, 2 120G Points précalculés 144 Total : 256 TABLE 6.2 – Consommation de mémoire pour le stockage des données Comme dans un réseau de capteurs, la plupart de l’énergie est consommée par la communication sans fil. Ainsi, le simulateur prend en compte seulement la consommation d’énergie de la communication radio, celle du traitement de données en local est simplement ignorée. Les formules de l’estimation de la consommation sont présentées dans [36, 35] (voir formule 6.2). ETX et ERX sont 2 fonctions qui estiment la consommation d’énergie d’émission 2. Time Division Multiple Access6.3. SIMULATION ET ÉVALUATION DE PERFORMANCE 107 et de réception, où d est la distance et k est la taille du message en nombre de bits. Eelec est le facteur de dissipation audiofréquence, et ǫamp est la facteur d’amplification de transmission. La modélisation de la consommation d’énergie de la transmission radio est en discussion, nous avons repris les valeurs données dans le papier : Eelec = 50nJ/bit et ǫamp = 100pJ/bit/m 2 . ( ETX (k, d) = Eelec · k + ǫamp · k · d 2 ERX (k) = Eelec · k (6.2) Les nœuds communiquent entre eux avec le protocole Zigbee, qui est largement utilisé par la plupart des plate-formes existantes. Pour estimer le temps de communication, le simulateur utilise les valeurs de la bande passante présentées dans [11]. Les auteurs ont prouvé que selon la dernière version de la norme IEEE 802.15.4-2006, la bande passante du Zigbee est 108 Kbps. De plus, l’estimation du temps de calcul de la multiplication scalaire parallèle est principalement basée sur les résultats du chapitre 4. La mission du simulateur est d’estimer le temps de calcul et la consommation d’énergie de notre architecture de parallélisation protégée par les mécanismes de tolérance aux pannes que nous avons présenté dans la section 6.2. L’objectif de la simulation n’est pas de mesurer précisément les valeurs en question, mais d’étudier l’impact des techniques de tolérance aux pannes sur la performance du calcul parallèle. Les tests sont exécutés dans 3 cas différents : – Il existe assez de nœuds disponibles dans le cluster pour paralléliser les multiplications scalaires jusqu’à 4 esclaves, mais il n’y en a pas assez pour avoir un nœud de secours par esclave. – Il existe assez de nœuds disponibles pour paralléliser le calcul entre 4 esclaves, et chaque esclave détient un nœud de secours. – Il existe toujours assez de nœuds disponibles pour le calcul parallèle (esclave) et la tolérance aux pannes (nœud de secours), et certains esclaves tombent en panne pendant le calcul. 6.3.2/ TEST SANS ASSEZ DE NŒUDS DISPONIBLES (n ≤ 4) Dans le chapitre 4, nous avons déjà montré qu’à cause du surcoût de la communication radio, nous devons limiter le nombre d’esclaves à moins de 5. Nous définissons le nombre de nœuds disponibles dans le cluster n, n ≤ 4, et les résultats de simulation du premier cas sont montrés dans les tableau 6.3 et 6.4. La comparaison de performance est aussi illustrée dans la figure 6.3. Nombre de nœuds Temps de calcul (ms) Énergie (mJ) 0 2308.77 0.06639066 1 1158.88 0.17869498 2 777.75 0.27243610 3 588.81 0.34194090 4 476.75 0.41024986 TABLE 6.3 – Performance sans nœud de secours (n ≤ 4)108 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE Nombre de nœuds Temps de calcul (ms) Énergie (mJ) 0 2308.70 0.06639066 1 2308.77 0.06639066 2 1159.01 0.16637882 3 1159.01 0.16637882 4 778.01 0.24765018 TABLE 6.4 – Performance avec nœuds de secours (n ≤ 4) Nous pouvons constater que sans nœuds de secours, tous les nœuds disponibles peuvent participer au calcul, le temps de calcul diminue progressivement avec l’augmentation du nombre d’esclaves. La consommation totale d’énergie est proportionnelle au nombre d’esclaves, car plus le nombre d’esclaves est élevé, plus l’échange de données est fréquente. Cependant, si nous utilisons les nœuds de secours, il n’y a que la moitié des nœuds qui peuvent participer au calcul parallèle, et l’accélération du calcul devient moins effi- cace. C’est la raison pour laquelle le temps de calcul ne diminue que lorsque le nombre de nœuds est pair. Par contre, la consommation d’énergie avec les nœuds de secours devient beaucoup moins importante. FIGURE 6.3 – Parallélisation sans assez de nœuds disponibles (n ≤ 4) Le nombre de nœuds utilisés est doublé lorsque notre méthode de tolérance aux pannes est appliquée. Ainsi, seulement ⌊n/2⌋ nœuds peuvent participer au calcul, et il nous faut plus de temps pour terminer le calcul. D’autre part, les nœuds de secours n’ont pas besoin de communiquer avec le maître quand il n’y a pas de panne, et la consommation totale d’énergie du cluster est moins élevée par rapport à celle du parallélisme sans nœud de secours. 6.3.3/ TEST AVEC ASSEZ DE NŒUDS DISPONIBLES (n ≤ 8) Dans le deuxième test, nous supposons que le cluster peut posséder jusqu’à 8 nœuds disponibles. Le cluster-head peut toujours paralléliser la multiplication scalaire entre 4 esclaves, peu importe si notre méthode de tolérance aux pannes est utilisée. Comme nous pouvons voir dans le tableau 6.5 et la figure 6.4, le maître a besoin d’un peu plus de temps pour terminer complètement le calcul parallèle. Dans certains cas, il y a une petite augmentation du surcoût de communication radio, car chaque esclave est6.3. SIMULATION ET ÉVALUATION DE PERFORMANCE 109 Nombre d’esclaves Temps de calcul (ms) Énergie (mJ) 0 2308.70 0.06639066 1 1159.01 0.16637882 2 778.01 0.24765018 3 589.20 0.34410666 4 477.27 0.43921380 TABLE 6.5 – Performance avec suffisamment de nœuds de secours (n ≤ 8) surveillé par un nœud de secours, qui ont aussi besoin de recevoir des tâches du maître et des résultats des esclaves. D’ailleurs, après la réception des résultats, le maître doit attendre des avertissements éventuels avant de passer à la combinaison des résultats. FIGURE 6.4 – Parallélisation avec assez de nœuds disponibles (n ≤ 8) D’un point de vue global, la consommation d’énergie des 2 types de parallélisation s’accroît proportionnellement avec l’augmentation du nombre d’esclaves. Car il existe suf- fisamment de nœuds disponibles dans le cluster qui nous permettent de paralléliser le calcul juqu’à 4 esclaves, même avec l’utilisation des nœuds de secours. La différence de la consommation d’energie entre les 2 types de parallélisation est principalement due au déploiement aléatoire des nœuds dans le cluster, les distances entre les esclaves et les nœuds de secours ne sont pas toujours les mêmes. 6.3.4/ TEST EN PRÉSENCE DE PANNES Pour le troisième test, nous supposons que nous avons toujours 4 esclaves opérationnels et chacun possède un nœud de secours. Pendant le calcul parallèle, si un esclave n’arrive plus à fonctionner correctement, il faudra que son nœud de secours puisse détecter l’erreur et essaie de restaurer le calcul. 6.3.4.1/ RÉSULTAT ERRONÉ Lorsqu’un nœud de secours détecte que l’esclave qu’il surveille envoie un résultat erroné, il faut qu’il envoie immédiatement un avertissement au maître, qui va retraiter la tâche correspondante localement. En comparant la performance (temps de calcul et la consommation d’énergie) avec celle de la parallélisation sans détection de résultat erroné, nous pouvons constater dans le tableau 6.6 et la figure 6.5 que quand il y a des110 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE résultats erronés, le cluster a besoin de beaucoup plus de temps et d’énergie pour terminer le calcul. Nombre de résultats erronés Temps de calcul (ms) Énergie (mJ) 0 477.27 0.43921370 1 938.86 0.44161946 2 1400.44 0.44564062 3 1862.03 0.44965998 4 2323.61 0.45207022 TABLE 6.6 – Performance avec la détection de résultat erroné FIGURE 6.5 – Parallélisation avec la détection de résultat erroné Nous pouvons voir aussi que le temps de calcul s’accroît très vite avec l’augmentation du nombre de résultats erronés. Quand il y a plus de 3 résultats erronés, le calcul parallèle ne donne quasiment plus d’accélération. Contrairement au temps de calcul, la consommation totale d’énergie augmente relativement moins rapidement, car la taille du message d’avertissement est très petite, les valeurs de la consommation d’énergie est toujours comprise entre 0.44 mJ et 0.45 mJ. 6.3.4.2/ RÉSULTAT PERDU Un nœud de secours est aussi chargé de la détection de résultat perdu. Comme l’esclave qu’il surveille, le nœud de secours doit traiter aussi la même tâche que son esclave. Si l’esclave renvoie correctement son résultat au maître, celui du nœud de secours est simplement supprimé. Dans le cas contraire, si l’esclave ne renvoie pas de résultat dans un délais prédéfini, le nœud de secours doit envoyer sa copie locale du résultat au maître, pour que ce dernier puisse continuer son travail. Nombre de résultats perdus Temps de calcul (ms) Énergie (mJ) 0 477.27 0.43921370 1 517.27 0.43859930 2 517.27 0.47736890 3 517.27 0.49638458 4 517.27 0.47632058 TABLE 6.7 – Performance avec la détection de résultat perdu6.4. CONCLUSION 111 Dans le tableau 6.7, nous pouvons remarquer que le temps de calcul n’augmente plus quand il y a plus d’un résultat perdu. Car même il y a plusieurs résultats perdus, les nœuds de secours peuvent réagir simultanément, et le maître ne fait que prendre directement les résultats des nœuds de secours. Quand plus d’un résultat sont perdus, le simulateur donne toujours exactement le temps de calul, car les résultats de simulation sont basés sur des formules et des paramètres théoriques. En réalité, les conditions environnementales sont plus complexes, il y a très peu de chance que les valeurs mesurées soient exactement les mêmes, mais normalement elles sont censées être similaires. FIGURE 6.6 – Parallélisation avec la détection de résultat perdu Dans la figure 6.6, la variation de la consommation d’énergie est très irrégulière, car la consommation d’énergie est calculée en fonction de la taille de message et la distance entre les 2 nœuds. Les nœuds sont déployés d’une manière aléatoire, les distances entre les nœuds de secours et le maître sont différentes. 6.4/ CONCLUSION Après la simulation, nous pouvons voir que notre méthode de tolérance aux pannes a bien atteint son objectif initial, qui est composé de 2 parties : la détection de pannes et la restauration de fonctionnalités. Elle permet aux clusters de continuer à effectuer des multiplications scalaires parallèles en cas de pannes. Lorsque aucune panne n’est détectée durant le calcul parallèle, notre méthode ne donne pas d’impact négatif important sur la performance du système. Cependant en cas de pannes, les nœuds de secours vont prendre le relais des esclaves défectueux et continuer à travailler sur les tâches qui leur sont affectées. Il faut qu’au final, le maître puisse calculer et obtenir le résultat de la multiplication scalaire, même en sacrifiant significativement la performance du système. Les résultats de simulation ont montré qu’en ajoutant un nœud de secours par esclave, nous avons pu doubler la fiabilité du système. Néanmoins les opérations de restauration de fonctionnalité engendrent une augmentation de consommation importante. Pour prolonger la durée de vie du réseau, il faut bien gérer l’utilisation de parallélisme. Comme nous avons présenté dans le chapitre 4, le calcul parallèle ne doit être appliqué que dans les cas urgents. Ainsi, on va envoyer un message sûr, rapide et sécurisé. Ce type de système est principalement dédié aux applications critiques, comme les applications militaires ou de surveillance.7 CONCLUSION L’objectif de cette thèse était d’appliquer l’ECC dans les réseaux de capteurs sans fil d’une manière efficace et sûre. La difficulté principale est d’effectuer des calculs compliqués sur les nœuds qui disposent d’une puissance de calcul très limitée. Certes, ECC offre un calcul plus rapide et une utilisation de clés plus courtes par rapport à RSA, mais les calculs impliqués dans les protocoles cryptographiques restent toujours très complexes pour les micro-contrôleurs. Après une étude détaillée de la cryptographie sur les courbes elliptiques, nous avons constaté que l’opération la plus coûteuse est la multiplication scalaire. De nombreuses méthodes existent dans la littérature, mais elles ne sont pas suffisantes pour donner une accélération intéressante. Une technique qui permet d’accélérer des calculs est le parallélisme, une tâche de calcul est découpée en plusieurs parties indépendantes, qui peuvent être traitées en même temps par des processeurs différents. Nous proposons donc de paralléliser les multiplications scalaires entre plusieurs nœuds qui se situent dans le même cluster, car les ré- seaux de capteurs qui sont basés sur le clustering sont prouvés plus efficaces en termes de consommation d’énergie. En outre, la cryptographie symétrique peut offrir un calcul plus rapide, mais il n’est pas toujours facile de réaliser une distribution de clés à grande échelle dans un réseau de capteurs qui peut contenir un très grand nombre de nœuds. Nous proposons de limiter l’utilisation de la cryptographie symétrique à l’intérieur d’un cluster pour sécuriser la distribution des tâches, mais entre les clusters, nous appliquons la cryptographie asymétrique qui offre une gestion de clé plus sophistiquée. Une spécificité importante des réseaux de capteurs est le déploiement massif et aléatoire des nœuds. Dans une application de surveillance, il peut exister plusieurs nœuds disponibles dans un cluster tant qu’aucun événement critique n’est détecté. Quand un événement important est capturé par le réseau, il est plus intéressant de demander à ces nœuds de coopérer collectivement pour générer un message bien chiffré le plus vite possible. Dans cette thèse, nos travaux de recherche se concentrent principalement sur la parallélisation des multiplications scalaires. Comme les autres architectures de calcul parallèle, un inconvénient principal est la consommation d’énergie. Nous avons implémenté et testé notre solution sur les nœuds Telosb. Les résultats ont montré que nous pouvons obtenir un gain maximal de 74.8%. En effet, les nœuds ne disposent d’aucune mémoire partagée, et la distribution des tâches et la récupération des résultats sont obligées de passer par la communication radio, qui engendre une consommation d’énergie importante. D’ailleurs, à cause du surcoût de la communication, le nombre de nœuds participant au calcul doit être limité à moins de 5. 113114 CHAPITRE 7. CONCLUSION Nous concluons que la parallélisation peut réaliser une accélération intéressante du calcul des multiplications scalaires, mais cette technique risque de réduire considérablement la durée de vie des nœuds, car la communication radio génère une consommation d’énergie importante. Dans un réseau de capteurs, la parallélisation des multiplications scalaires ne doit pas être utilisée comme un paradigme de calcul par défaut. Elle peut être appliquée dans des applications de surveillance, dans lesquelles les nœuds demeurent inactifs pendant la plupart du temps pour préserver l’énergie. Le calcul parallèle ne peut être utilisé que dans les cas urgents où le réseau doit signaler à la station de base un événement important, par exemple la détection d’une catastrophe naturelle dans une application de surveillance environnementale. Enfin la deuxième partie de la contribution traite de l’amélioration de notre solution de parallélisation. Nous proposons de mettre en place des mécanismes de tolérance aux pannes pour rendre la procédure du calcul parallèle plus fiable. L’application du parallélisme au sein d’une architecture sans mémoire partagée nécessite une échange de données via les connexions sans fil, qui sont souvent considérées comme un moyen de communication non fiable. Notre solution permet aux nœuds de détecter des résultats perdus ou erronés pendant le calcul parallèle, et de restaurer le calcul en cas de pannes. Notre simulateur a donné des résultats qui montrent que la solution appliquée peut rendre le calcul parallèle plus sûr sans avoir des impacts négatifs importants. PERSPECTIVES Pour l’instant, nos travaux de recherche se focalisent principalement sur la parallélisation des multiplications scalaires, et l’implémentation que nous avons utilisé pendant le test de performance peut être plus complète. En effet, elle permet de tester seulement la performance des multiplications scalaire parallèles, mais pas celle de l’exécution d’un protocole cryptographique complet. C’est pourquoi nous avons décidé d’essayer d’appliquer notre solution de parallélisation dans le projet qui est présenté dans l’annexe 7. Cependant le développement n’est pas encore terminé, nous allons donc continuer à travailler sur ce projet pour obtenir des résultats plus significatifs. Par ailleurs, dans notre implémentation actuelle, nous avons déjà appliqué certaines mé- thodes mathématiques permettant d’améliorer la performance de la multiplication scalaire, comme la représentation NAF du scalaire et l’utilisation des coordonnées jacobiennes. Cependant, nous n’avons pas encore découvert tous les aspects de la courbe elliptique, il reste encore d’autres techniques à voir et tester, par exemple la courbe Montgomery, la courbe Koblitz, la méthode de la fenêtre. Notre technique de parallélisation est basée sur le découpage du scalaire, qui peut théoriquement coexister avec les autres méthodes, qui cherchent plutôt à modifier la représentation du scalaire ou la forme de la courbe. Il sera plus intéressant de combiner le parallélisme avec d’autres techniques, et de tester leur performance. Un autre problème de notre solution de parallélisation est la consommation d’énergie, qui est largement reconnue comme un facteur critique pour les réseaux de capteurs, mais elle est aussi considérée comme un inconvénient inhérent du parallélisme, car plus de processeurs sont impliqués dans le traitement des tâches. Cependant, nous allons essayer de réduire la consommation d’énergie, qui peut influencer considérablement la durée de vie des réseaux.LISTE DES PUBLICATIONS 1. Shou, Y. & Guyennet, H. A Fault Tolerant Parallel Computing Scheme for Scalar Multiplication for Wireless Sensor Networks. Distributed Computing and Networking, Springer LNCS, 2014, 8314, 317-331. 2. Shou, Y. ; Guyennet, H. & Lehsaini, M. Parallel Scalar Multiplication on Elliptic Curves in Wireless Sensor Networks. Distributed Computing and Networking, Springer LNCS, 2013, 7730, 300-314. 3. Faye, Y. ; Guyennet, H. ; Niang, I. & Shou, Y. Fast Scalar Multiplication on Elliptic Curve Cryptography in Selected Intervals Suitable for Wireless Sensor Networks. Cyberspace Safety and Security, Springer LNCS, 2013, 8300, 171-182. 4. Faye, Y. ; Guyennet, H. ; Niang, I. & Shou, Y. Optimisation d’un Protocole d’Authentification dans les Réseaux de Capteurs Sans Fil. SAR-SSI 2012, 7ème Conf. sur la sécurité des architectures réseaux et systèmes d’information, 2012. 5. Aupet, J.-B. ; Lapayre, J.-C. & Shou, Y. Adaptabilité des flux vidéo dans les logiciels collaboratifs : Test de qualité par référence prédéfinie. Ubimob 2011, 7es journée francophones Mobilité et Ubiquité, 2011, 96-108. 115BIBLIOGRAPHIE [1] S Adve, Vikram S Adve, Gul Agha, Matthew I Frank, M Garzarán, J Hart, W Hwu, R Johnson, L Kale, R Kumar, et al. Parallel computing research at illinois : The upcrc agenda. Urbana, IL : Univ. Illinois Urbana-Champaign, 2008. [2] Ian F Akyildiz, Weilian Su, Yogesh Sankarasubramaniam, and Erdal Cayirci. Wireless sensor networks : a survey. Computer networks, 38(4) :393–422, 2002. [3] ZigBee Alliance. Zigbee specification, 2006. [4] Bijan Ansari and Huapeng Wu. Parallel scalar multiplication for elliptic curve cryptosystems. In Communications, Circuits and Systems, 2005. Proceedings. 2005 International Conference on, volume 1, pages 71–73. IEEE, 2005. [5] Paul Barrett. Implementing the rivest shamir and adleman public key encryption algorithm on a standard digital signal processor. In Advances in cryptology—CRYPTO’86, pages 311–323. Springer, 1987. [6] Chakib Bekara and Maryline Laurent-Maknavicius. A new resilient key management protocol for wireless sensor networks. In Information Security Theory and Practices. Smart Cards, Mobile and Ubiquitous Computing Systems, pages 14–26. Springer, 2007. [7] Luca Benini, Giuliano Castelli, Alberto Macii, Enrico Macii, Massimo Poncino, and Riccardo Scarsi. A discrete-time battery model for high-level power estimation. In Proceedings of the conference on Design, automation and test in Europe, pages 35–41. ACM, 2000. [8] Ernest F Brickell, Daniel M Gordon, Kevin S McCurley, and David B Wilson. Fast exponentiation with precomputation. In Advances in Cryptology—EUROCRYPT’92, pages 200–207. Springer, 1993. [9] Daniel R. L. Brown. Sec 1 : Elliptic curve cryptography, May 2009. [10] Michael Brown, Darrel Hankerson, Julio López, and Alfred Menezes. Software implementation of the NIST elliptic curves over prime fields. Springer, 2001. [11] T Ryan Burchfield, S Venkatesan, and Douglas Weiner. Maximizing throughput in zigbee wireless networks through analysis, simulations and implementations. In Proc. Int. Workshop Localized Algor. Protocols WSNs, pages 15–29. Citeseer, 2007. [12] Pamba Capochichi. Conception d’une architecture hiérarchique de réseau de capteurs pour le stockage et la compression de données. PhD thesis, UFR des Sciences et Techniques de l’Université de Franche-Comté, March 2010. 117118 BIBLIOGRAPHIE [13] Mihaela Cardei, Shuhui Yang, and Jie Wu. Algorithms for fault-tolerant topology in heterogeneous wireless sensor networks. Parallel and Distributed Systems, IEEE Transactions on, 19(4) :545–558, 2008. [14] Certicom. Certicom intellectual property. https://www.certicom.com/index.php/ \licensing/certicom-ip. [15] Jinran Chen, Shubha Kher, and Arun Somani. Distributed fault detection of wireless sensor networks. In Proceedings of the 2006 workshop on Dependability issues in wireless ad hoc networks and sensor networks, pages 65–72. ACM, 2006. [16] Chee-Yee Chong and Srikanta P Kumar. Sensor networks : evolution, opportunities, and challenges. Proceedings of the IEEE, 91(8) :1247–1256, 2003. [17] Garth V Crosby and Niki Pissinou. Cluster-based reputation and trust for wireless sensor networks. In Consumer Communications and Networking Conference, 2007. [18] Crossbow. Telosb mote platform, 2005. [19] Crossbow. Micaz : Wireless measurement system, 2006. [20] William M Daley and Raymond G Kammer. Digital signature standard (dss). Technical report, DTIC Document, 2000. [21] Christophe De Cannière. Trivium : A stream cipher construction inspired by block cipher design principles. In Information Security, pages 171–186. Springer, 2006. [22] Whitfield Diffie and Martin Hellman. New directions in cryptography. Information Theory, IEEE Transactions on, 22(6) :644–654, 1976. [23] Min Ding, Dechang Chen, Kai Xing, and Xiuzhen Cheng. Localized fault-tolerant event boundary detection in sensor networks. In INFOCOM 2005. 24th Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings IEEE, volume 2, pages 902–913. IEEE, 2005. [24] T. ElGamal. A public key cryptosystem and a signature scheme based on discrete logarithms. In Advances in Cryptology, pages 10–18. Springer, 1985. [25] Eleazar Eskin, Andrew Arnold, Michael Prerau, Leonid Portnoy, and Sal Stolfo. A geometric framework for unsupervised anomaly detection. In Applications of data mining in computer security, pages 77–101. Springer, 2002. [26] Youssou Faye, Herve Guyennet, Ibrahima Niang, and Yanbo Shou. Fast scalar multiplication on elliptic curve cryptography in selected intervals suitable for wireless sensor networks. In Cyberspace Safety and Security, pages 171–182. Springer, 2013. [27] Michael Flynn. Some computer organizations and their effectiveness. Computers, IEEE Transactions on, 100(9) :948–960, 1972. [28] Julien Franq. Conception et sécurisation d’unités arthmétiques hautes performances pour courbes elliptiques. PhD thesis, Université des Sciences et Techniques du Languedoc, Décembre 2009.BIBLIOGRAPHIE 119 [29] David Gay, Philip Levis, Robert Von Behren, Matt Welsh, Eric Brewer, and David Culler. The nesc language : A holistic approach to networked embedded systems. In Acm Sigplan Notices, volume 38, pages 1–11. ACM, 2003. [30] Jorge Guajardo and Christof Paar. Efficient algorithms for elliptic curve cryptosystems. Springer, 1997. [31] Gaurav Gupta and Mohamed Younis. Fault-tolerant clustering of wireless sensor networks. In Wireless Communications and Networking, 2003. WCNC 2003. 2003 IEEE, volume 3, pages 1579–1584. IEEE, 2003. [32] Nils Gura, Arun Patel, Arvinderpal Wander, Hans Eberle, and SheuelingChang Shantz. Comparing elliptic curve cryptography and rsa on 8-bit cpus. In Marc Joye and Jean-Jacques Quisquater, editors, Cryptographic Hardware and Embedded Systems - CHES 2004, volume 3156 of Lecture Notes in Computer Science, pages 119–132. Springer Berlin Heidelberg, 2004. [33] Dae-Man Han and Jae-Hyun Lim. Smart home energy management system using ieee 802.15. 4 and zigbee. Consumer Electronics, IEEE Transactions on, 56(3) : 1403–1410, 2010. [34] D.R. Hankerson, S.A. Vanstone, and A.J. Menezes. Guide to elliptic curve cryptography. Springer-Verlag New York Inc, 2004. [35] Wendi B Heinzelman, Anantha P Chandrakasan, and Hari Balakrishnan. An application-specific protocol architecture for wireless microsensor networks. Wireless Communications, IEEE Transactions on, 1(4) :660–670, 2002. [36] Wendi Rabiner Heinzelman, Anantha Chandrakasan, and Hari Balakrishnan. Energy-efficient communication protocol for wireless microsensor networks. In System Sciences, 2000. Proceedings of the 33rd Annual Hawaii International Conference on, pages 10–pp. IEEE, 2000. [37] Jonathan W Hui and David Culler. The dynamic behavior of a data dissemination protocol for network programming at scale. In Proceedings of the 2nd international conference on Embedded networked sensor systems, pages 81–94. ACM, 2004. [38] IEEE. Ieee standards 802.15.4 - part 15.4 : Wireless medium access control (mac) and physical layer (phy) specifications for low-rate wireless personal area networks (lr-wpans), October 2003. [39] Nicholas Jansma and Brandon Arrendondo. Performance comparison of elliptic curve and rsa digital signatures, April 2004. [40] Don Johnson, Alfred Menezes, and Scott Vanstone. The elliptic curve digital signature algorithm (ecdsa). International Journal of Information Security, 1(1) :36–63, 2001. [41] P Johnson and DC Andrews. Remote continuous physiological monitoring in the home. Journal of telemedicine and telecare, 2(2) :107–113, 1996. [42] Chris Karlof and David Wagner. Secure routing in wireless sensor networks : Attacks and countermeasures. Ad hoc networks, 1(2) :293–315, 2003.120 BIBLIOGRAPHIE [43] Priit Karu and Jonne Loikkanen. Practical comparison of fast public-key cryptosystems. In Telecommunications Software and Multimedia Lab. at Helsinki Univ. of Technology, Seminar on Network Security. Citeseer, 2001. [44] Neal Koblitz. Elliptic curve cryptosystems. Mathematics of computation, 48(177) : 203–209, 1987. [45] Paul Kocher, Joshua Jaffe, and Benjamin Jun. Differential power analysis. In Advances in Cryptology—CRYPTO’99, pages 388–397. Springer, 1999. [46] Farinaz Koushanfar, Miodrag Potkonjak, and A Sangiovanni-Vincentell. Fault tolerance techniques for wireless ad hoc sensor networks. In Sensors, 2002. Proceedings of IEEE, volume 2, pages 1491–1496. IEEE, 2002. [47] Farinaz Koushanfar, Miodrag Potkonjak, and Alberto Sangiovanni-vincentelli. Fault tolerance in wireless sensor networks. In Handbook of Sensor Networks : Compact Wireless and Wired Sensing Systems, 2004. [48] Bhaskar Krishnamachari and Sitharama Iyengar. Distributed bayesian algorithms for fault-tolerant event region detection in wireless sensor networks. Computers, IEEE Transactions on, 53(3) :241–250, 2004. [49] RSA Laboratories. Pkcs #1 : Rsa encryption standard, November 1993. URL ftp: //ftp.rsasecurity.com/pub/pkcs/ascii/pkcs-1.asc. [50] Koen Langendoen, Aline Baggio, and Otto Visser. Murphy loves potatoes. In Proc. IPDPS, 2006. [51] Laurie Law, Alfred Menezes, Minghua Qu, Jerry Solinas, and Scott Vanstone. An efficient protocol for authenticated key agreement. Designs, Codes and Cryptography, 28(2) :119–134, 2003. [52] Yee Wei Law, Jeroen Doumen, and Pieter Hartel. Survey and benchmark of block ciphers for wireless sensor networks. ACM Transactions on Sensor Networks (TOSN), 2(1) :65–93, 2006. [53] Jin-Shyan Lee, Yu-Wei Su, and Chung-Chou Shen. A comparative study of wireless protocols : Bluetooth, uwb, zigbee, and wi-fi. In Industrial Electronics Society, 2007. IECON 2007. 33rd Annual Conference of the IEEE, pages 46–51. IEEE, 2007. [54] Arjen K Lenstra and Eric R Verheul. Selecting cryptographic key sizes. Journal of cryptology, 14(4) :255–293, 2001. [55] Olivier Leran. Parallélisation d’un algorithme de chiffrement utilisant les courbes elliptiques. Master’s thesis, Université de Franche-Comté, Décembre 2012. [56] Philip Levis and David Culler. Maté : A tiny virtual machine for sensor networks. In ACM Sigplan Notices, volume 37, pages 85–95. ACM, 2002. [57] Philip Levis, Sam Madden, Joseph Polastre, Robert Szewczyk, Kamin Whitehouse, Alec Woo, David Gay, Jason Hill, Matt Welsh, Eric Brewer, et al. Tinyos : An operating system for sensor networks. In Ambient intelligence, pages 115–148. Springer, 2005.BIBLIOGRAPHIE 121 [58] Ning Li and Jennifer C Hou. Flss : a fault-tolerant topology control algorithm for wireless networks. In Proceedings of the 10th annual international conference on Mobile computing and networking, pages 275–286. ACM, 2004. [59] Joshua Lifton, Mark Feldmeier, Yasuhiro Ono, Cameron Lewis, and Joseph A Paradiso. A platform for ubiquitous sensor deployment in occupational and domestic environments. In Information Processing in Sensor Networks, 2007. IPSN 2007. 6th International Symposium on, pages 119–127. IEEE, 2007. [60] Chae Hoon Lim and Pil Joong Lee. More flexible exponentiation with precomputation. In Advances in cryptology—CRYPTO’94, pages 95–107. Springer, 1994. [61] Kris Lin, Jennifer Yu, Jason Hsu, Sadaf Zahedi, David Lee, Jonathan Friedman, Aman Kansal, Vijay Raghunathan, and Mani Srivastava. Heliomote : enabling longlived sensor networks through solar energy harvesting. In Proceedings of the 3rd international conference on Embedded networked sensor systems, pages 309–309. ACM, 2005. [62] An Liu and Peng Ning. Tinyecc : A configurable library for elliptic curve cryptography in wireless sensor networks. In Information Processing in Sensor Networks, 2008. IPSN’08. International Conference on, pages 245–256. IEEE, 2008. [63] Sergio Marti, Thomas J Giuli, Kevin Lai, and Mary Baker. Mitigating routing misbehavior in mobile ad hoc networks. In Proceedings of the 6th annual international conference on Mobile computing and networking, pages 255–265. ACM, 2000. [64] K Martinez, P Padhy, A Riddoch, HLR Ong, and JK Hart. Glacial environment monitoring using sensor networks. In In Proceedings of Real-World Wireless Sensor Networks. Citeseer, 2005. [65] David Martins. Sécurité dans les réseaux de capteurs sans fil - Stéganographie et réseaux de confiance. PhD thesis, UFR des Sciences et Techniques de l’Université de Franche-Comté, 2010. [66] David Martins and Hervé Guyennet. Steganography in mac layers of 802.15. 4 protocol for securing wireless sensor networks. In Multimedia Information Networking and Security (MINES), 2010 International Conference on, pages 824–828. IEEE, 2010. [67] James L Massey and Jimmy K Omura. Method and apparatus for maintaining the privacy of digital messages conveyed by public transmission, January 28 1986. US Patent 4,567,600. [68] Marouane Mezzi. Réseaux de capteurs pou rla surveillance et la maintenance pré- ventive d’une machine industrielle. Master’s thesis, Université de Franche-Comté, Juin 2014. [69] Victor S Miller. Use of elliptic curves in cryptography. In Advances in Cryptology—CRYPTO’85 Proceedings, pages 417–426. Springer, 1986. [70] Sushruta Mishra, Lambodar Jena, and Aarti Pradhan. Fault tolerance in wireless sensor networks. International Journal, 2(10) :146–153, 2012.122 BIBLIOGRAPHIE [71] Atsuko Miyaji, Takatoshi Ono, and Henri Cohen. Efficient elliptic curve exponentiation. In Proceedings of the First International Conference on Information and Communication Security, pages 282–291. Springer-Verlag, 1997. [72] Moteiv. Tmote sky : Ultra low power ieee 802.15.4 compliant wireless sensor module, 2005. [73] James Newsome, Elaine Shi, Dawn Song, and Adrian Perrig. The sybil attack in sensor networks : analysis & defenses. In Proceedings of the 3rd international symposium on Information processing in sensor networks, pages 259–268. ACM, 2004. [74] NIST. Recommended elliptic curves for federal government use, 1999. Available at http://csrc.nist.gov/encryption. [75] Vladimir Oleshchuk and Vladimir Zadorozhny. Trust-aware query processing in data intensive sensor networks. In Proc. of International Conference on Sensor Technologies and Applications (SensorComm 2007), 2007. [76] Celal Ozturk, Yanyong Zhang, and Wade Trappe. Source-location privacy in energyconstrained sensor network routing. In SASN, volume 4, pages 88–93, 2004. [77] Bibhudendu Panda and Pabitra Mohan Khilar. Fpga based implementation of parallel ecc processor. In Proceedings of the 2011 International Conference on Communication, Computing & Security, pages 453–456. ACM, 2011. [78] Emile M Petriu, Nicolas D Georganas, Dorina C Petriu, Dimitrios Makrakis, and Voicu Z Groza. Sensor-based information appliances. Instrumentation & Measurement Magazine, IEEE, 3(4) :31–35, 2000. [79] Joseph Polastre, Robert Szewczyk, and David Culler. Telos : enabling ultra-low power wireless research. In Information Processing in Sensor Networks, 2005. IPSN 2005. Fourth International Symposium on, pages 364–369. IEEE, 2005. [80] Madhura Purnaprajna, Christoph Puttmann, and Mario Porrmann. Power aware reconfigurable multiprocessor for elliptic curve cryptography. In Design, Automation and Test in Europe, 2008. DATE’08, pages 1462–1467. IEEE, 2008. [81] Kefa Rabah. Elliptic curve elgamal encryption and signature schemes. Information Technology Journal, 4(3) :299–306, 2005. [82] Sutharshan Rajasegarar, Christopher Leckie, Marimuthu Palaniswami, and James C Bezdek. Distributed anomaly detection in wireless sensor networks. In Communication systems, 2006. ICCS 2006. 10th IEEE Singapore International Conference on, pages 1–5. IEEE, 2006. [83] Daler Rakhamtov and Sarma Vrudhula. Time-to-failure estimation for batteries in portable electronic systems. In Proceedings of the 2001 international symposium on Low power electronics and design, pages 88–91. ACM, 2001. [84] Brian Randell, Pete Lee, and Philip C. Treleaven. Reliability issues in computing system design. ACM Computing Surveys (CSUR), 10(2) :123–165, 1978. [85] Jussi Rautpalo. Gprs security-secure remote connections over gprs. Technical University of Helsinki, Department of Computer Science, referenced, 27 :2003, 2000.BIBLIOGRAPHIE 123 [86] Kui Ren, Tieyan Li, Zhiguo Wan, Feng Bao, Robert H Deng, and Kwangjo Kim. Highly reliable trust establishment scheme in ad hoc networks. Computer Networks, 45(6) :687–699, 2004. [87] Certicom Research. Sec 2 : Recommended elliptic curve domain parameters, September 2000. [88] Vincent Ricquebourg, David Menga, David Durand, Bruno Marhic, Laurent Delahoche, and Christophe Loge. The smart home concept : our immediate future. In E-Learning in Industrial Electronics, 2006 1ST IEEE International Conference on, pages 23–28. IEEE, 2006. [89] Ronald L Rivest, Adi Shamir, and Len Adleman. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2) : 120–126, 1978. [90] Stanislav Rost and Hari Balakrishnan. Memento : A health monitoring system for wireless sensor networks. In Sensor and Ad Hoc Communications and Networks, 2006. SECON’06. 2006 3rd Annual IEEE Communications Society on, volume 2, pages 575–584. IEEE, 2006. [91] Linnyer Beatrys Ruiz, Isabela G Siqueira, Hao Chi Wong, José Marcos S Nogueira, Antonio AF Loureiro, et al. Fault management in event-driven wireless sensor networks. In Proceedings of the 7th ACM international symposium on Modeling, analysis and simulation of wireless and mobile systems, pages 149–156. ACM, 2004. [92] Stanislav Safaric and Kresimir Malaric. Zigbee wireless standard. In Multimedia Signal Processing and Communications, 48th International Symposium ELMAR- 2006, Zadar, Croatia, pages 259–262, 2006. [93] Yasuyuki Sakai and Kouichi Sakurai. Efficient scalar multiplications on elliptic curves without repeated doublings and their practical performance. In Information Security and Privacy, pages 59–73. Springer, 2000. [94] Sergei P Skorobogatov and Ross J Anderson. Optical fault induction attacks. In Cryptographic Hardware and Embedded Systems-CHES 2002, pages 2–12. Springer, 2003. [95] Jessica Staddon, Dirk Balfanz, and Glenn Durfee. Efficient tracing of failed nodes in sensor networks. In Proceedings of the 1st ACM international workshop on Wireless sensor networks and applications, pages 122–130. ACM, 2002. [96] Frank Stajano and Ross Anderson. The resurrecting duckling : security issues for ubiquitous computing. Computer, 35(4) :22–26, 2002. [97] Robert Szewczyk, Alan Mainwaring, Joseph Polastre, John Anderson, and David Culler. An analysis of a large scale habitat monitoring application. In Proceedings of the 2nd international conference on Embedded networked sensor systems, pages 214–226. ACM, 2004. [98] Robert Szewczyk, Joseph Polastre, Alan Mainwaring, and David Culler. Lessons from a sensor network expedition. In Wireless Sensor Networks, pages 307–322. Springer, 2004.124 BIBLIOGRAPHIE [99] Ali Maleki Tabar, Arezou Keshavarz, and Hamid Aghajan. Smart home care network using sensor fusion and distributed vision-based reasoning. In Proceedings of the 4th ACM international workshop on Video surveillance and sensor networks, pages 145–154. ACM, 2006. [100] Jane Tateson, Christopher Roadknight, Antonio Gonzalez, Taimur Khan, Steve Fitz, Ian Henning, Nathan Boyd, Chris Vincent, and Ian Marshall. Real world issues in deploying a wireless sensor network for oceanography. In Workshop on Real-World Wireless Sensor Networks REALWSN’05, 2005. [101] John Thelen, Dann Goense, and Koen Langendoen. Radio wave propagation in potato fields. In 1st Workshop on Wireless Network Measurements, volume 2, pages 331–338. Citeseer, 2005. [102] Ben L Titzer, Daniel K Lee, and Jens Palsberg. Avrora : Scalable sensor network simulation with precise timing. In Proceedings of the 4th international symposium on Information processing in sensor networks, page 67. IEEE press, 2005. [103] Gilman Tolle, Joseph Polastre, Robert Szewczyk, David Culler, Neil Turner, Kevin Tu, Stephen Burgess, Todd Dawson, Phil Buonadonna, David Gay, et al. A macroscope in the redwoods. In Proceedings of the 3rd international conference on Embedded networked sensor systems, pages 51–63. ACM, 2005. [104] Wim Van Eck. Electromagnetic radiation from video display units : an eavesdropping risk ? Computers & Security, 4(4) :269–286, 1985. [105] Maarten Van Steen. Distributed systems principles and paradigms. Network, 2 :28, 2004. [106] Thiemo Voigt, Hartmut Ritter, and Jochen Schiller. Utilizing solar power in wireless sensor networks. In Local Computer Networks, 2003. LCN’03. Proceedings. 28th Annual IEEE International Conference on, pages 416–422. IEEE, 2003. [107] Haodong Wang and Qun Li. Efficient implementation of public key cryptosystems on mote sensors (short paper). In Information and Communications Security, pages 519–528. Springer, 2006. [108] Xun Wang, Sriram Chellappan, Wenjun Gu, Wei Yu, and Dong Xuan. Search-based physical attacks in sensor networks. In Computer Communications and Networks, 2005. ICCCN 2005. Proceedings. 14th International Conference on, pages 489– 496. IEEE, 2005. [109] Anthony Wood and John A Stankovic. Denial of service in sensor networks. Computer, 35(10) :54–62, 2002. [110] Peter Wright and Paul Greengrass. Spycatcher : The candid autobiography of a senior intelligence officer. Viking New York, 1987. [111] Zheng Yan, Peng Zhang, and Teemupekka Virtanen. Trust evaluation based security solution in ad hoc networks. In Proceedings of the Seventh Nordic Workshop on Secure IT Systems, volume 14, 2003. [112] Jennifer Yick, Biswanath Mukherjee, and Dipak Ghosal. Wireless sensor network survey. Computer networks, 52(12) :2292–2330, 2008.BIBLIOGRAPHIE 125 [113] Huafei Zhu, Feng Bao, and Robert H Deng. Computing of trust in wireless networks. In Vehicular Technology Conference, 2004. VTC2004-Fall. 2004 IEEE 60th, volume 4, pages 2621–2624. IEEE, 2004.APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE ENVIRONNEMENTALE Sommaire .1 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 .1.1 Architecture du système . . . . . . . . . . . . . . . . . . . . . . . . . 128 .1.2 Processeur embarqué . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 .1.3 Réseau de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 .2 Problèmes de sécurité dans notre système . . . . . . . . . . . . . . . . . . . 130 .3 Application d’un cryptosystème basé sur ECC . . . . . . . . . . . . . . . . 131 .3.1 Configuration du cryptosystème . . . . . . . . . . . . . . . . . . . . . 132 .3.2 Protocole cryptographique . . . . . . . . . . . . . . . . . . . . . . . . 133 .3.3 Calcul parallèle des multiplications scalaires . . . . . . . . . . . . . . 134 .4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 FIGURE 1 – Un système de purification d’eau alimenté par des panneaux solaires Dans ce chapitre, nous présentons un projet d’un système de purification d’eau développé en Chine (voir figure 1), dont le fonctionnement peut être surveillé à distance avec un ensemble de capteurs. Pour sécuriser la communication entre les capteurs et la centrale de contrôle, on a choisi le cryptosystème asymétrique ECC, qui peut offrir une performance plus intéressante sur les systèmes embarqués. Afin d’accélérer le calcul, on a intégré notre solution de parallélisation des multiplications scalaires. 127128 APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE .1/ PRÉSENTATION DU PROJET .1.1/ ARCHITECTURE DU SYSTÈME L’objectif du projet de développement d’un système de purification d’eau qui peut fonctionner d’une manière autonome, et qui peut être contrôlé à distance. Les capteurs sont mis en place pour surveiller l’état de fonctionnement, et une unité de communication est aussi indispensable pour envoyer des données mesurées et recevoir des requêtes des utilisateurs. L’architecture du système est illustrée dans la figure 2. FIGURE 2 – Architecture de notre système de purification d’eau Les panneaux solaires génèrent le courant continu et rechargent les batteries, un ondulateur connecté aux batteries convertit le courant continu au courant alternatif de 220 volts pour alimenter la pompe qui fait circuler l’eau. Le projet peut être considéré comme un prototype et une expérimentation de l’Internet des objets. Pour automatiser et faciliter la gestion du système, un micro-contrôleur et un ensemble de capteurs sont mis en place pour surveiller les paramètres qui sont cruciaux pour son bon fonctionnement : – Capteur de luminosité : le capteur est installé sur un panneau solaire pour mesurer le niveau de luminosité. Les panneaux convertissent le rayonnement solaire en énergie électrique, il n’y a donc aucun intérêt de les laisser allumés quand le niveau de luminosité est très faible. – Capteur de température : Les batteries ne peuvent fonctionner que dans un intervalle de température particulier. Notamment une température trop élevée peut provoquer une incendie, même une explosion, il est donc indispensable de surveiller constamment la température des batteries. – Capteur de voltage et puissance : le voltage et la puissance sont aussi 2 paramètres qui peuvent refléter l’état de fonctionnement du système. Un voltage ou une puissance très faible en entrée signifie probablement une panne de batterie, et un voltage ou une.1. PRÉSENTATION DU PROJET 129 puissance de sortie instable peut éventuellement endommager la pompe. Si on détecte des valeurs anormales, il faut arrêter immédiatement tout le système et envoyer un avertissement à la centrale de contrôle. Les capteurs sont reliés au micro-contrôleurs (MCU) qui est installé dans l’ondulateur, et il est programmé pour récupérer les données mesurées et contrôler les autres composants du systèmes. Pour envoyer des données et recevoir des requêtes, le micro-contrôleur est connecté à une unité de transfert de données (DTU), qui peut se connecter à la centrale de contrôle à distance via le réseau GPRS. Grâce à la connexion entre la centrale et le DTU, l’utilisateur peut programmer à distance les horaires de fonctionnement des panneaux solaires, éteindre ou allumer des panneaux et interroger un panneau spécifique pour récupérer les paramètres surveillés à n’importe quel moment. .1.2/ PROCESSEUR EMBARQUÉ Le micro-contrôleur utilisé est un modèle amélioré du micro-contrôleur MSC-51, qui est un modèle initialement développé par Intel dans les années 80. Il est réputé pour sa fiabilité et sa simplicité d’utilisation, et les développeurs peuvent programmer directement en C standard. De ce fait, les autres modèles compatibles et améliorés continuent à sortir, sont encore largement utilisés dans l’industrie. Une comparaison des caractéristiques techniques principales avec le micro-contrôleur TI MSP430 utilisé par Telosb est donnée dans le tableau 1. MSC-51 MSP430 Fréquence : 12 MHz 8 MHz RAM : 512 Octets 10 Ko ROM : 16 Ko 48 Ko TABLE 1 – Comparaison des caractéristiques techniques entre MSC-51 et MSP430 Nous pouvons constater que MCS-51 peut fonctionner un peu plus vite que MSP430, mais il possède beaucoup moins de RAM et de ROM. La ROM est MCS-51 peut être étendue jusqu’à 64 Ko, mais la consommation de mémoire devient tout de même un facteur critique lors du développement pour ce modèle de micro-contrôleur. .1.3/ RÉSEAU DE CAPTEURS Dans un site de purification d’eau, on installe souvent plusieurs panneaux solaires, et chacun est surveillé par un groupe de capteurs qui sont directement contrôlés par le processeur (micro-contrôleur) installé dans l’ondulateur. D’ailleurs, pour pouvoir envoyer et recevoir des données, il faut avoir au moins un DTU connecté. Le DTU est équipé d’une carte SIM qui lui permet d’accéder aux réseaux de l’opérateur de téléphonie mobile, et la transmission de données génère sans doute des frais supplémentaires. Pour une raison de coût de maintenance, on n’installe qu’un seul DTU pour un groupe de processeurs. Les processeurs sont reliés ensemble, et les capteurs constituent un véritable réseau de capteurs (voir figure 3).130 APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE FIGURE 3 – Réseau de capteurs de notre système de purification d’eau Les capteurs mesurent périodiquement des paramètres physiques, qui sont ensuite envoyés au processeur correspondant. Le processeur vérifie s’il a un DTU connecté, si oui, il lui envoie directement les données, sinon, les données sont d’abord envoyées au processeur possédant la connexion avec DTU avant d’être renvoyées au DTU. Le DTU est un dispositif paramétrable, dans lequel on peut stocker les informations né- cessaires pour établir une connexion avec la centrale, comme l’adresse IP du serveur, numéro de port, mode de connexion (TCP/UDP) etc. Les données sont envoyées à la station de base via le réseau GPRS, et puis arrivées à la centrale en passant par Internet. Dans l’autre sens, l’utilisateur peut éteindre ou rallumer un composant spécifique en envoyant des requêtes aux processeurs à distance. Lorsque le DTU reçoit une requête, il l’envoie au processeur connecté, qui s’occupe de la redistribution de requêtes, s’il s’agit d’un autre processeur sur le réseau. .2/ PROBLÈMES DE SÉCURITÉ DANS NOTRE SYSTÈME Dans notre système, l’envoi de données et de requêtes est réalisé via une connexion sans fil entre le DTU et la centrale de contrôle. Les données doivent passer par 2 réseaux différents : Internet et le réseau GPRS qui est fourni par l’opérateur de téléphonie mobile. La communication dans le réseau GPRS est sécurisée avec les algorithmes SRES1 et GEA2 [85], qui peuvent offrir un niveau de sécurité assez élevé. Cependant, une fois les données entrent sur Internet, il n’existe aucun mécanisme de sécurité inhérent pour les protéger contre l’attaquant de l’homme du milieu (voir figure 3). L’objectif du projet est de développer un système qui peut fonctionner d’une manière au- 1. Signed Response for Subscriber Authentication 2. GPRS Encryption Algorithm.3. APPLICATION D’UN CRYPTOSYSTÈME BASÉ SUR ECC 131 tonome, car ce genre de systèmes sont souvent installé en banlieue où une intervention humaine n’est pas toujours très facile. Il est donc indispensable de mettre en place des mécanismes de sécurité pour protéger les équipements et l’échange de données. Le DTU lui-même ne détient aucun cryptosystème par défaut, si les données ne sont pas correctement chiffrées, l’attaquant pourra intercepter facilement les données qui circulent entre la centrale et le DTU, et lancer des attaques de réplication de données et de vol d’identité. FIGURE 4 – Attaques dans notre système de purification d’eau Pendant l’envoi de données mesurées, comme la communication n’est pas sécurisée, l’attaquant peut accéder à toutes les données qui circulent entre les 2 parties (voir fi- gure 4). Comme les données contiennent des informations qui représentent l’état de fonctionnement des équipements à distance, l’attaquant peut les modifier et renvoyer à l’utilisateur pour déclencher une fausse alarme. L’attaquant peut aussi lancer des attaquants de ré- plication de données. Il peut saboter les équipements en rediffusant les données qu’il a intercepté auparavant pour faire croire à l’utilisateur que tout se passe bien à distance. Les attaques pendant l’envoie de requêtes peuvent aussi représenter une menace sé- rieuse au système. Chaque commande est représentée par une suite d’octets prédéfinie, en faisant des analyses, l’attaquant peut deviner les usages des commandes envoyées. Même les requêtes sont chiffrées, l’attaquant peut les intercepter et réutiliser sans chercher à déchiffrer les messages. Par exemple, l’attaquant peut répéter des requêtes pour éteindre et rallumer consécutivement les panneaux à distance pour les endommager. Par conséquent, comme tous les réseaux, notre réseau de capteur est aussi vulnérable aux différentes attaques, il faut donc concevoir et appliquer des mécanismes de sécurité pour le protéger. .3/ APPLICATION D’UN CRYPTOSYSTÈME BASÉ SUR ECC Afin de protéger la communication entre la centrale de contrôle et le DTU, nous avons proposé d’implémenter un cryptosystème qui est basé sur l’ECC [69, 44], qui offre un ensemble de protocoles cryptographiques sophistiqués (voir section 3.4). Comme ceux d’Elgamal [24] qui nous permettent de chiffrer et de signer un message. Cependant, pour utiliser les protocoles d’Elgamal, il faut d’abord trouver un algorithme132 APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE qui peut convertir le message à chiffrer à un point sur la courbe elliptique et vice versa. C’est faisable et il existe aussi des algorithmes dans la littérature, mais l’utilisation d’un tel algorithme implique aussi beaucoup plus de calculs mathématiques. Pour une raison de performance, dans la plupart des cas, on utilise plutôt un mécanisme hybride, dans lequel on utilise un algorithme de cryptographie asymétrique pour générer une clé secrète partagée, comme celui de Diffie-Hellman [22], ensuite on utilise un algorithme de cryptographie symétrique pour chiffrer le message. C’est aussi la stratégie choisie par le protocole ECIES (voir section 3.4.2). Pour notre projet, nous voulons que dans un premier temps le cryptosystème puisse atteindre les objectifs suivants : – Confidentialité : Les données qui circulent entre la centrale et le DTU sont correctement chiffrées et ne sont pas accessibles à l’attaquant ; – Fraîcheur : Les données sont chiffrées avec un nonce et un horodatage (timestamp en Anglais) pour contre les attaques de réplication de données ; – Authentification : Il faut que le récepteur du message puisse vérifier l’identité de l’envoyeur. Dans notre système, les données circulent directement entre la centrale et le DTU sans passer par une tierce partie, afin d’authentifier les messages reçus, au lieu d’implémenter le protocole de signature numérique ECDSA (voir section 3.4.3) qui est sans doute une procédure trop coûteuse pour les micro-contrôleurs, on a décidé d’utiliser des codes d’authentification de message (MAC) qui peuvent être générés à partir de la clé secrète partagée. .3.1/ CONFIGURATION DU CRYPTOSYSTÈME On suppose que la centrale de contrôle et le micro-contrôleur qui est connecté au DTU possèdent chacun une clé privée et une clé publique (kc, Kc) et (kd, Kd) où kc, kd sont 2 nombres entiers de longueur 160. Les clés du micro-contrôleur sont chargées avant le déploiement, et celles de la centrale sont stockées sur un serveur qui peuvent être changées au cours du fonctionnement. La centrale et les micro-contrôleurs partagent la même courbe elliptique définie sur un corps premier fini Fp, les paramètres de la courbes à configurer sont donnés dans le tableau 6.1. Pour accélérer le calcul des multiplications scalaires sur les micro-contrôleurs, on veut appliquer aussi notre solution de parallélisation, selon le test de performance (voir tableau 4.9), afin de paralléliser le calcul entre jusqu’à 4 processeurs, il faut précalculer et stocker au moins 3 points. La consommation de mémoire pour stocker les paramètres est montrée dans le tableau 6.2, plus les clés (kd, Kd), la quantité totale de mémoire nécessaire est 333 octet. Nous pouvons constater que le nombre total d’octets ne dépasse pas la taille maximale de ROM du micro-contrôleur MSC-51..3. APPLICATION D’UN CRYPTOSYSTÈME BASÉ SUR ECC 133 .3.2/ PROTOCOLE CRYPTOGRAPHIQUE Chaque fois quand le DTU se connecte à la centrale de contrôle, il demande et télécharge la clé publique Kc de la centrale. Si la centrale veut changer ses clés, il suffira de couper la connexion actuelle, et le DTU va recréer la connexion et redemander la nouvelle clé publique. Quand le micro-contrôleur veut chiffrer et envoyer un message m à la centrale, il effectue les opérations suivantes : 1. Générer un nombre entier aléatoire r ∈ [1, n − 1] et calculer R = r · G ; 2. Calculer le secret partagé P = (Px, Py) = r · Kc ; 3. Générer la clé partagée s = KDF(Px) ; 4. Chiffrer le message c = E(s, (m, o, t)) où o est le nonce et t est l’horodatage ; 5. Générer le code d’authentification de message a = MAC(s, c) ; 6. Envoyer (R, c, a) à la centrale ; KDF() est une fonction de génération de clé, MAC() une fonction de génération du code d’authentification, et E() est un algorithme de cryptographie symétrique. Quand la centrale reçoit le message (R, c, a), il essaie de le déchiffrer et authentifier en effectuant la procédure suivante : 1. Calculer le secret partagé P = (Px, Py) = kc · R = kc · r · G = r · Kc ; 2. Générer la clé partagée s = KDF(Px) ; 3. Générer le code d’authentification de message a ′ = MAC(s, c) ; 4. Déchiffrer le message (m, o, t) = E −1 (s, c) ; 5. Comparer o et t avec le nonce n ′ et l’horodatage t ′ locaux ; 6. Rejeter le message si n , n ′ + 1 ou t ≤ t ′ ; 7. Rejeter le message si a , a ′ ; Quand la centrale veut envoyer une requête au micro-contrôleur à distance, il demande d’abord sa clé publique Kd, et la suite de la procédure est identique que celle présentée ci-dessus. On suppose que l’attaquant possède l’accès à l’ensemble de paramètres de la courbe utilisée (p, a, b,G, n), et il peut aussi capturer le message (R, c, a) envoyé par le DTU. Comme il est extrêmement difficile de calculer r à partir de R, il ne peut pas calculer le clé partagée s pour déchiffrer le message c. Il ne peut pas modifier le message chiffré c non plus, car le code d’authentification a est généré avec la clé partagée s et le message chiffré c, un c modifié ne peut pas passer le test d’authentification. D’ailleurs, l’attaquant ne peut réutiliser aucune des valeurs capturées. Les calculs de R et de a sont basés sur la même valeur r, qui n’est pas accessible à l’attaquant, et le message lui-même est protégé par un nonce o et un horodatage t, une réutilisation de message capturé sera détectée par le système.134 APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE .3.3/ CALCUL PARALLÈLE DES MULTIPLICATIONS SCALAIRES Durant le chiffrement et le déchiffrement, chaque participant a une multiplication scalaire à effectuer, dans le chapitre 4, nous avons proposé une technique qui nous permet de paralléliser le calcul des multiplication scalaires en découpant le scalaire en plusieurs parties. Nous avons choisi la parallélisation avec des points précalculés dont la procédure est illustrée dans la figure 4.9, car la préparation des points en temps réel nécessite des calculs compliqués. FIGURE 5 – Application de la parallélisation des multiplications scalaires Le micro-contrôleur qui est connecté au DTU est considéré comme le processeur maître, et quand il veut effectuer une multiplication scalaire parallèle, il exécute des opérations suivantes : 1. Il envoie une demande de participation à tous les micro-contrôleurs connectés ; 2. Les micro-contrôleurs qui sont disponibles deviennent des esclaves en lui retournant des réponses positives ; 3. En fonction du nombre d’esclaves n, le maître génère un ensemble de tâches ti , i ∈ [0, n − 1] en découpant le scalaire ; 4. Le maître envoie des tâches ti aux esclaves, et le traitement des tâches commence ; 5. Après le traitement, les esclaves retournent les résultats ri , i ∈ [0, n − 2] au maître ; 6. Le maître calcule le résultat final R = Pn i=0 ri . Par exemple, il y a 4 micro-contrôleurs qui sont sur le même réseau, et les points pré- calculés 2 40G, 2 80G, 2 120G sont déjà chargés en mémoire avant le déploiement. Quand le micro-contrôleur maître veut lancer le calcul parallèle, il découpe le scalaire en 4 parties P159 i=120 ki2 i , P119 i=80 ki2 i , P79 i=40 ki2 i et P39 i=0 ki2 i , qui sont distribuées aux esclaves. Une fois le traitement des tâches est terminée, les résultats sont retournés au maître pour former le résultat final P3 j=0 P40 j+40−1 i=40 j ki2 i · 2 40 jG (voir figure 5). .4/ CONCLUSION Ce projet est une expérimentation de la parallélisation des multiplications scalaires au sein d’un véritable réseau de capteurs. La transmission de données et la manipulation.4. CONCLUSION 135 des panneaux solaires sont déjà opérationnelles, mais le développement de la partie cryptographique est toujours en cours, où nous étudions la possibilité d’implémenter le protocole de signature numérique ECDSA.DÉROULEMENT DE L’ALGORITHME D’EUCLIDE ÉTENDU Dans cette annexe, nous montrons un exemple de calcul de l’inverse modulaire en utilisant l’algorithme d’Euclide étendu. Nous supposons que nous avons 2 nombres entiers 2013 et 313, nous appliquons d’abord l’algorithme d’Euclide pour calculer leur PGCD. Dividende - Quotient × Diviseur = Reste 2013 − 6 × 313 = 135 313 − 2 × 135 = 43 135 − 3 × 43 = 6 43 − 7 × 6 = 1 6 − 6 × 1 = 0 TABLE 2 – Exemple de l’algorithme d’Euclide Nous prenons le dernier reste avant le zéro, le PGCD(2013, 313) = 1, c’est-à-dire que 2013 et 313 sont premier entre eux. Nous pouvons voir que à partir de la 2e ligne, le diviseur est le reste de la ligne précédente, et à partir de la 3e ligne, le dividende est égal au reste obtenu 2 ligne plus haut. Nous pouvons donc réécrite le tableau 2 de la manière suivante. u × x + v × p = r 1 × 2013 + 0 × 313 = 2013 0 × 2013 + 1 × 313 = 313 1 × 2013 − 6 × 313 = 2013 − 6 × 313 = 135 −2 × 2013 + 7 × 313 = 313 − 2 × 135 = 313 − 2 × (2013 − 6 × 313) = 43 7 × 2013 − 27 × 313 = 135 − 3 × 43 = (2013 − 6 × 313) − 3 × (−2 × 2013 + 7 × 313) = 6 −51 × 2013 + 196 × 313 = 43 − 7 × 6 = (−2 × 2013 + 7 × 313) − 7 × (7 × 2013 − 27 × 313) = 1 TABLE 3 – Exemple de l’algorithme d’Euclide étendu Nous obtenons dans le tableau 3 les coefficients de Bézout u×x+v×p = −51×2013+196× 313 = 1, nous avons donc l’inverse multiplicatif de 2013 modulo 313 est égal à −51, noté −51 ≡ 2013−1 (mod 313). Maintenant il nous suffit appliquer encore une fois l’opération modulo pour limiter le résultat dans l’intervalle [0, 312], c’est-à-dire 262 ≡ −51 (mod 313). 137Résumé : L’émergence des systèmes embarqués a permis le développement des réseaux de capteurs sans fil dans de nombreux domaines différents. Cependant, la sécurité reste un problème ouvert. La vulnérabilité des nœuds est principalement liée au manque de ressources. En effet, l’unité de traitement ne dispose pas d’assez de puissance et de mémoire pour gérer des mécanismes de sécurité très complexes. La cryptographie est une solution qui est largement utilisée pour sécuriser les réseaux. Par rapport à la cryptographie symétrique, la cryptographie asymétrique nécessite des calculs plus compliqués, mais elle offre une distribution de clés plus sophistiquée et la signature numérique. Dans cette thèse, nous essayons d’optimiser la performance d’ECC (Elliptic Curve Cryptography), un cryptosystème asymétrique qui est connu pour sa robustesse et son utilisation de clé plus courte par rapport à RSA. Nous proposons d’utiliser le parallélisme pour accélérer le calcul de la multiplication scalaire, qui est reconnue comme l’opération la plus coûteuse sur les courbes elliptiques. Les résultats de tests ont montré que notre solution offre un gain intéressant malgré une augmentation de la consommation d’énergie. La deuxième partie de la contribution concerne l’application de la tolérance aux pannes dans notre architecture de parallélisation. Nous utilisons les nœuds redondants pour la détection des pannes et la restauration du calcul. Ainsi, en utilisant l’ECC et la tolérance aux pannes, nous proposons une solution de sécurité efficace et sûre pour les systèmes embarqués. Mots-clés : Réseaux de capteurs sans fil, sécurité, cryptographie, courbe elliptique, parallélisme, tolérance aux pannes Abstract: The emergence of embedded systems has enabled the development of wireless sensor networks in different domains. However, the security remains an open problem. The vulnerability of sensor nodes is mainly due to the lack of resources. In fact, the processing unit doesn’t have enough power or memory to handle complex security mechanisms. Cryptography is a widely used solution to secure networks. Compared with symmetric cryptography, the asymmetric cryptography requires more complicated computations, but it offers more sophisticated key distribution schemes and digital signature. In this thesis, we try to optimize the performance of ECC. An asymmetric cryptosystem which is known for its robustness and the use of shorter keys than RSA. We propose to use parallelism techniques to accelerate the computation of scalar multiplications, which is recognized as the most computationally expensive operation on elliptic curves. The test results have shown that our solution provides a significant gain despite an increase in energy consumption. The 2nd part of our contribution is the application of fault tolerance in our parallelism architecture. We use redundant nodes for fault detection and computation recovery. Thus, by using ECC and fault tolerance, we propose an efficient and reliable security solution for embedded systems. Keywords: Wireless sensor networks, security, cryptography, elliptic curve, parallelism, fault tolerance Conception interactive d’environnements urbains durables `a base de r´esolution de contraintes Bruno Belin To cite this version: Bruno Belin. Conception interactive d’environnements urbains durables `a base de r´esolution de contraintes. Modeling and Simulation. Universit´e de Nantes, 2014. French. HAL Id: tel-01095433 https://hal.archives-ouvertes.fr/tel-01095433 Submitted on 15 Dec 2014 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destin´ee au d´epˆot et `a la diffusion de documents scientifiques de niveau recherche, publi´es ou non, ´emanant des ´etablissements d’enseignement et de recherche fran¸cais ou ´etrangers, des laboratoires publics ou priv´es.Thèse de Doctorat Bruno BELIN Mémoire présenté en vue de l’obtention du grade de Docteur de l’Université de Nantes sous le label de l’Université de Nantes Angers Le Mans École doctorale : Sciences et technologies de l’information, et mathématiques Discipline : Informatique et applications, section CNU 27 Unité de recherche : Laboratoire d’informatique de Nantes-Atlantique (LINA) Soutenue le 27 novembre 2014 Conception interactive d’environnements urbains durables à base de résolution de contraintes JURY Rapporteurs : M. Gilles TROMBETTONI, Professeur des Universités, Université de Montpellier 2 M. Emmanuel PRADOS, Chargé de Recherche INRIA, HdR, INRIA Grenoble - Rhône-Alpes Examinateurs : M. Frédéric SAUBION, Professeur des Universités, Université d’Angers M. Etienne GAUDIN, Directeur Innovation, Groupe Bouygues M. Marc CHRISTIE, Maître de conférences (Co-encadrant), Université de Rennes 1 Mme Charlotte TRUCHET, Maître de conférences (Co-encadrante), Université de Nantes Directeur de thèse : M. Frédéric BENHAMOU, Professeur des Universités, Université de NantesRemerciements Recherche un jour, recherche toujours : commençons par remercier mes initiateurs à la Recherche, en somme les deux responsables de toute cette histoire : • Christophe JERMANN, Colin DE LA HIGUERA. Toujours là pour assurer le combat, prenons maintenant la direction du LINA : • Pierre COINTE, Anne-Françoise QUIN, Annie BOILOT, Jean-Paul SACHET ; • Élodie GUIDON, Floriane PIQUET, Christine BRUNET. Lorsque mon PC a bobo, ou que les imprimantes restent muettes, on les retrouve jusqu’à la cafette : • Damien VINTACHE, Jean-Yves LEBLIN, S@bine BEAURAIN. Tous au restaurant U, c’est le repère des doctorants U : • mes collègues doctorants actuels qui devraient bientôt me demander des conseils ; • les anciens qui m’ont donné des conseils d’anciens ; • et l’unique, la formidable, l’inoubliable Marie PELLEAU bien-sûr. Pause, là c’est l’heure du bon café, des conseils et recommandations en tout genre, des présentations scientifiques, des choses qui ne s’inventent pas tout seul : • tous mes collègues de l’équipe TASC ; • Éric LANGUENOU, Florian RICHOUX et Benoît DELAHAYE. Évoquons maintenant mes partenaires durables, ceux impliqués avec moi dans le projet de recherche SUSTAINS : • Élisabeth POINTAL et Frédéric VERNIER du LIMSI : Google Map, et c’est par là que tout commença ; • Julian JOSEPH de l’Université Rennes 1 : SOS C++, vous êtes toujours là ? • Valérie GACOGNE, Bernard COUTROT et Michel FANNI : trois mousquetaires des villes modernes ; • Erwan MAHÉ, Romain CAVAGNA, David KNOSSOW : les gars d’Artefacto qui font les plans les plus beaux (villes en 3D). Et pour finir, mes Boss de ces trois dernières années qui m’ont fait bosser, bosser et bosser : mais ça c’est normal pour un Boss, non ? Ils ont bien mérité une ligne dédiée : • Frédéric BENHAMOU ; • Charlotte TRUCHET ; • Marc CHRISTIE. Je remercie également mes rapporteurs qui ont accepté d’évaluer ce manuscrit et l’ensemble de mon jury qui me fait l’honneur de s’intéresser aux travaux de cette thèse. Et pour tous ceux que j’aurai oublié de citer, qui que vous soyez, un grand merci ! Un tout dernier mot pour me faire pardonner de mes absences répétées auprès de mes amis, de ma famille, de ma femme et mes trois filles adorées. 3Table des matières 1 Introduction 11 1.1 Contexte général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2 Objectifs et contributions de cette thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.2.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.2.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3 Plan de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 I Contexte 17 2 Urbanisme 19 2.1 Qu’est-ce qu’une ville ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 La ville perçue comme une entité vivante . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3 De la ville à l’aire urbaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4 L’urbanisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.5 Naissance de l’urbanisme moderne et applications pratiques . . . . . . . . . . . . . . . . 23 2.6 Conséquences des politiques successives . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.7 Théories urbaines après l’urbanisme moderne . . . . . . . . . . . . . . . . . . . . . . . . 25 2.8 Formes et structures de la ville contemporaine . . . . . . . . . . . . . . . . . . . . . . . . 27 2.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3 Développement durable 29 3.1 Enjeux d’un développement soutenable sur le long terme . . . . . . . . . . . . . . . . . . 29 3.2 Dimensions urbaines du développement durable . . . . . . . . . . . . . . . . . . . . . . . 30 3.3 Enjeux à l’export du savoir-faire français en matière de ville durable . . . . . . . . . . . . 34 3.4 La voiture au cœur d’une nouvelle révolution industrielle ? . . . . . . . . . . . . . . . . . 35 3.5 Utopies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.5.1 Une « Utopie Concrète » pour Paris . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.5.2 La « Ville Creuse » : un exemple de ville idéale . . . . . . . . . . . . . . . . . . . 38 3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4 Cadre méthodologique et problématique 43 4.1 Synthèse des éléments contextuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.1.1 Articulations entre urbanisme et développement durable . . . . . . . . . . . . . . 43 4.1.2 Un champ d’application moteur de la recherche théorique . . . . . . . . . . . . . 44 4.2 Le cadre méthodologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.1 Un carroyage symbolique régulier . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.2.2 L’îlot comme unité de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.2.3 Résolution optimale et résolution interactive . . . . . . . . . . . . . . . . . . . . . 48 4.2.4 Positionnement de la PPU par rapport aux plateformes de conception urbaine existantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 56 TABLE DES MATIÈRES 4.3 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.3.1 Proposer un modèle de pré-programmation urbaine . . . . . . . . . . . . . . . . . 49 4.3.2 Rechercher une bonne organisation spatiale de la ville à partir du modèle de PPU dans un contexte batch ou interactif . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.3.3 Imaginer une interaction avec l’utilisateur capable de maintenir la cohérence globale d’une solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.4 Méthode générale de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 II État de l’art 53 5 Problèmes d’optimisation combinatoire sous contraintes 55 5.1 Caractéristiques des problèmes combinatoires . . . . . . . . . . . . . . . . . . . . . . . . 56 5.1.1 Problème d’optimisation combinatoire . . . . . . . . . . . . . . . . . . . . . . . . 56 5.1.2 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.1.3 Problèmes de satisfaction de contraintes . . . . . . . . . . . . . . . . . . . . . . . 58 5.1.4 Problèmes d’optimisation sous contraintes . . . . . . . . . . . . . . . . . . . . . . 59 5.1.5 Problèmes d’optimisation dynamique sous contraintes . . . . . . . . . . . . . . . 60 5.2 Résolution des problèmes d’optimisation combinatoire . . . . . . . . . . . . . . . . . . . 60 5.2.1 Panorama des méthodes complètes . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.2.2 Panorama des méthodes incomplètes . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.3 Discussion sur le choix d’une méthode de résolution . . . . . . . . . . . . . . . . . . . . 65 5.4 Programmation par contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.4.1 Principes de la PPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.4.2 Complément sur les contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.4.3 Résolution des DCSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.4.4 Résolution des CSOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.5 Heuristiques de construction (approchées) . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.5.1 Algorithmes gloutons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.5.2 Algorithmes gloutons aléatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.6 Métaheuristiques à base de voisinages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.6.1 Généralités sur les métaheuristiques . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.6.2 Métaheuristiques de voisinage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.6.3 Concepts communs aux métaheuristiques de RL . . . . . . . . . . . . . . . . . . 77 5.6.4 Méthodes de descente (Simple Improvement-based Local Search) . . . . . . . . . 80 5.6.5 Mécanismes d’intensification et de diversification . . . . . . . . . . . . . . . . . . 81 5.6.6 Recherche Locale Itérée (Iterated Local Search, ILS) . . . . . . . . . . . . . . . . 83 5.6.7 Recuit Simulé (Simulated Annealing, SA) . . . . . . . . . . . . . . . . . . . . . . 83 5.6.8 Recherche Tabou (Tabu Search, TS) . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.6.9 Adaptive Search (AS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.6.10 Autres métaheuristiques obtenues par recombinaison de méthodes simples . . . . . 89 5.6.11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.7 Métaheuristiques parallèles (à base de voisinage) . . . . . . . . . . . . . . . . . . . . . . 90 5.7.1 Évaluation concurrente des voisins . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.7.2 Décomposition de domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.7.3 Recherche multiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95TABLE DES MATIÈRES 7 5.8 Environnements logiciel et cadre générique . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.8.1 Les origines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.8.2 Bibliothèques et frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6 Systèmes interactifs d’aide à la décision 99 6.1 Aide à la décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.1.1 Décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.1.2 Processus de décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.1.3 Aide à la décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.1.4 Systèmes Interactifs d’Aide à la décision . . . . . . . . . . . . . . . . . . . . . . 101 6.1.5 Classification des SIAD au niveau utilisateur . . . . . . . . . . . . . . . . . . . . 103 6.2 Résolution temps réel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6.2.1 Algorithme anytime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.2.2 Méthodes de résolution adaptées au contexte de décision temps réel . . . . . . . . 106 6.2.3 Contribution du parallélisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.3 Principe de maintien de solution dans un système dynamique . . . . . . . . . . . . . . . . 106 6.3.1 Besoins utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.3.2 Réparation de la solution précédente . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 7 Modélisation urbaine 109 7.1 Représentations historiques de la ville . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.1.1 Les modèles d’économie spatiale . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.1.2 Les modèles de l’écologie urbaine . . . . . . . . . . . . . . . . . . . . . . . . . . 112 7.1.3 Les modèles d’interaction spatiale . . . . . . . . . . . . . . . . . . . . . . . . . . 113 7.2 Vers une approche systémique et individu-centrée . . . . . . . . . . . . . . . . . . . . . . 114 7.3 La modélisation LUTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 7.4 Trois modèles urbains passés au crible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 7.4.1 Le projet UrbanSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 7.4.2 Le projet GeOpenSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 7.4.3 CommunityViz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 7.5 Les problèmes de positionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 7.5.1 Cadre général d’un problème de positionnement . . . . . . . . . . . . . . . . . . 125 7.5.2 Problème d’affectation quadratique (Quadratic Assignation Problem, QAP) . . . . 125 7.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 III Contributions 129 8 Modèle 131 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 8.2 Modèle urbain de pré-programmation durable . . . . . . . . . . . . . . . . . . . . . . . . 131 8.2.1 Modèle urbain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 8.3 Modèle de contrainte pour le problème d’aménagement urbain . . . . . . . . . . . . . . . 133 8.3.1 Représentation de la ville par une grille . . . . . . . . . . . . . . . . . . . . . . . 134 8.3.2 Contraintes générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 8.3.3 Contraintes spécifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 8.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488 TABLE DES MATIÈRES 9 Résolution initiale basée sur Adaptive Search 149 9.1 Choix d’une méthode de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 9.2 Configuration initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 9.2.1 Initialisation aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 9.2.2 Initialisation gloutonne aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 9.3 Algorithme séquentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 9.3.1 Cache de données et calcul incrémental . . . . . . . . . . . . . . . . . . . . . . . 155 9.3.2 Liste des candidats bannis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 9.3.3 Mode multi-candidats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 9.3.4 Mode multi-permutations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 9.4 Version distribuée de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 9.4.1 Caractéristiques liées au fonctionnement de la version distribuée . . . . . . . . . . 162 9.4.2 Compléments intégrés au modèle . . . . . . . . . . . . . . . . . . . . . . . . . . 166 9.4.3 Protocoles distribués . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 9.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 10 Mode interactif 177 10.1 Principes retenus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 10.2 Présentation des composants impliqués dans l’interaction . . . . . . . . . . . . . . . . . . 178 10.2.1 Gestionnaire de messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 10.2.2 Dispositif tactile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 10.2.3 Solveur interactif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 10.3 Gestion des scénarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 10.4 Paramétrage du comportement interactif . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 10.4.1 Comportement de saisie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 10.4.2 Administration distante du solveur . . . . . . . . . . . . . . . . . . . . . . . . . . 185 10.4.3 Mode de fonctionnement autonome . . . . . . . . . . . . . . . . . . . . . . . . . 186 10.4.4 Administration des composants graphiques de retour . . . . . . . . . . . . . . . . 186 10.4.5 Réglage du poids de chaque contrainte . . . . . . . . . . . . . . . . . . . . . . . . 187 10.4.6 Taille de chaque cellule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 10.5 Manipulations directes sur la grille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 10.5.1 Déplacer une forme urbaine ou un ensemble de formes urbaines . . . . . . . . . . 187 10.5.2 Verrouiller ou déverrouiller des cellules à la demande . . . . . . . . . . . . . . . . 190 10.6 Retours visuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 10.6.1 Carte de chaleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 10.6.2 Historique d’évolution des coûts . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 10.7 Vidéo d’accompagnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 10.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 11 Expérimentations 193 11.1 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 11.1.1 Versions incrémentales de nos prototypes . . . . . . . . . . . . . . . . . . . . . . 194 11.1.2 Jeux de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 11.1.3 Paramètres de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 11.1.4 Implémentation et déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 11.2 Tableau de bord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 11.2.1 Mode opératoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 11.2.2 Variation des coûts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 11.2.3 Répartition des coûts par contrainte . . . . . . . . . . . . . . . . . . . . . . . . . 203 11.2.4 Répartition des temps de calcul par contrainte . . . . . . . . . . . . . . . . . . . . 203TABLE DES MATIÈRES 9 11.2.5 Paysage des gains lié à chaque candidat sélectionné . . . . . . . . . . . . . . . . . 204 11.2.6 Comparaison des performances entre différentes versions de l’algorithme de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 11.3 Expérimentations liées à la résolution initiale . . . . . . . . . . . . . . . . . . . . . . . . 209 11.3.1 Comparaison entre les principales versions et modes de fonctionnement . . . . . . 209 11.3.2 Évaluation des protocoles 1 et 4 de la version distribuée . . . . . . . . . . . . . . 210 11.4 Retour des urbanistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 11.4.1 Évaluation des solutions initiales . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 11.4.2 Évaluation du mode interactif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 11.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 IV Conclusion 217 12 Conclusion générale et perspectives 219 12.1 Conclusion générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 12.2 Perspectives de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2201 Introduction 1.1 Contexte général Depuis peu, les villes rassemblent la majorité de la population mondiale et ne cessent de se développer, en particulier dans les pays émergents. En même temps qu’elles absorbent les populations venant des campagnes, elles concentrent des difficultés qui peuvent être liées au prix des logements, aux embouteillages, à l’insuffisance ou à la vétusté des équipements publics, au niveau de bruit, à la pollution de l’air ou encore à l’insécurité, etc. Parallèlement, les villes ont subi des transformations importantes liées aux nouveaux modes de transport qui ont permis de repousser les distances pouvant être parcourues quotidiennement. Ceci se traduit par des citadins, de plus en plus nombreux, contraints de s’éloigner un peu plus loin, repoussant en même temps les limites des villes qui s’étalent sans fin. Mais les nouveaux moyens de transport ne sont pas les seuls responsables de la métamorphose des zones urbaines, les politiques successives de la ville et les nouveaux modes de vie y contribuent également pour une large part. Par exemple, le zoning strict insufflé par « La Charte d’Athènes » [55], une doctrine des années 40 élaborée par LE CORBUSIER1 qui prescrit un classement des grandes fonctions urbaines par catégories, a connu ses heures de gloire mais nous a légué un héritage qui est souvent encombrant, laissant pour compte des cités entières coupées du reste de la ville par des voies de communication devenues infranchissables. Indépendamment du bien être de ces habitants, nos modes de vie actuels laissent apparaître d’autres défis à l’échelle de la planète entière qui viendront s’ajouter aux difficultés auxquelles les villes sont déjà confrontées. Trop souvent détourné pour des intérêts opportunistes ou repoussé à plus tard, la mise en œuvre du développement durable tarde à s’encrer dans nos sociétés. Ses partisans nous mettent pourtant en garde face aux effets prévisibles du réchauffement climatique, de la montée du niveau des océans ou encore de l’appauvrissement de la biodiversité ou des ressources non renouvelables, etc. Les conséquences annoncées ont longtemps été contestées, la preuve scientifique n’ayant pas été apportée. Néanmoins, constatons ensemble que ces voix se font de plus en plus discrètes ces dernières années. Toujours plus éloigné de la campagne, l’Homme croit, à tort, pouvoir dominer la Nature et s’en abstraire. Il l’exploite sans trop se soucier des dégâts irréversibles qu’il cause en reportant sur les générations futures un fardeau qui impactera durablement leurs conditions de (sur)vies. La majorité des activités humaines s’opérant désormais dans les villes, leur adaptation représente un levier extraordinaire pour limiter ou lutter contre les effets à venir. Dans ce domaine, deux axes de travail 1Architecte urbaniste, de son vrai nom Charles-Édouart Jeanneret-Gris, né en 1887. Il s’intéresse notamment à l’industrialisation des bâtiments collectifs et à la fabrication standardisée d’équipements en série. Ses travaux prendront valeur de solution après la seconde guerre mondiale en France pour répondre à la crise du logement et reconstruire dans l’urgence. 1112 CHAPITRE 1. INTRODUCTION complémentaires sont envisageables : soit on intervient à l’occasion du renouvellement urbain, soit on intègre les concepts d’un développement durable dans les fondations des villes naissantes. Le renouvellement urbain s’opère sur le long terme. Néanmoins, des expérimentations sont déjà menées à l’échelle de quartiers labellisés « écoquartier ». Ce mouvement en plein développement est né en Allemagne et en Hollande avec quelques exemples pionniers en Autriche, en Grande Bretagne et dans les pays Scandinaves, et il a fini avec quelques décennies de retard par atteindre la France. Et bien que la création de villes nouvelles ne soit plus de mise dans nos pays déjà fortement urbanisés, on constate néanmoins dans des pays à fort développement, que des villes importantes peuvent apparaître en l’espace de quelques années seulement, ce phénomène allant perdurer sur plusieurs décennies. C’est le cas notamment de la Chine qui prévoit de créer l’équivalent de vingt nouvelles villes d’un million d’habitants chacune et par an jusqu’en 2020 pour y accueillir ses paysans qui désertent les campagnes [182]. La modélisation urbaine et l’optimisation combinatoire peuvent accompagner les décisions stratégiques qui engagent, chacune à son niveau, notre devenir collectif. La conception de villes nouvelles2 est par nature une tâche collaborative qui rassemble des urbanistes, des aménageurs et des décideurs autour d’une carte représentant un territoire à aménager. Cette tâche consiste à positionner sur la carte des éléments urbains correspondant aux centres, habitations, commerces, équipements publics, aux zones industrielles ou commerciales, etc. Mais pour cela, le nombre d’éléments urbains à positionner sur le territoire, tout comme leur répartition spatiale, nécessitent d’établir des règles complexes issues d’une vision systémique de la ville pour y intégrer les contraintes relatives à un développement durable avec une prise en compte simultanée de ses aspects sociaux, économiques et écologiques. Enfin, ces travaux doivent s’inscrire dans une réflexion interdisciplinaire pour se doter des compétences et des savoirs croisés en rapport avec la complexité de nos sociétés modernes. 1.2 Objectifs et contributions de cette thèse Face à la complexité intrinsèque liée aux agglomérations urbaines, nous cherchons à apporter des réponses concrètes circonscrites à des questions précises. Nous nous focalisons plus particulièrement sur la problématique de placement des éléments urbains à l’aide de techniques interactives et d’optimisation combinatoire. 1.2.1 Objectifs Cette thèse s’inscrit dans un projet de recherche national qui rassemble des urbanistes, des architectes, des experts du secteur de l’énergie et des équipes autour de l’optimisation combinatoire et de l’interaction homme-machine. Nous voulons donc exploiter au mieux cette interdisciplinarité pour mener à bien un travail collaboratif profitable à chacun, et qui puisse être utile. Notre travail consiste à réaliser un système interactif d’aide à la décision capable de répartir au mieux les différentes entités composant une programmation urbaine (habitat, industrie, équipement, commerces, etc.) sur un territoire vierge et délimité dans l’espace. Cet outil s’adresse aux urbanistes, aménageurs urbains et décideurs. Quelle que soit la catégorie d’utilisateur, le logiciel proposé doit être capable de l’assister dans cette tâche de conception de villes durables tout en l’informant des conséquences de ses choix. 1.2.2 Contributions Nos contributions portent sur la modélisation du problème d’aménagement urbain, la résolution initiale de ce problème y compris pour des instances de grande taille et la proposition d’un système permettant de maintenir la cohérence des solutions dans les étapes interactives. 2Bien qu’il ne s’agisse pas de la même échelle, nous envisageons la création d’un nouveau quartier d’une façon similaire à la création d’une nouvelle ville, en tenant compte en plus de l’influence que peuvent exercer les quartiers limitrophes existants sur la zone à aménager.1.3. PLAN DE LA THÈSE 13 Modélisation Dans un premier temps, nous analysons avec les urbanistes les principales règles urbaines et prenant en considération les supposés implicites passés sous silence de prime abord. Nous exprimons ensuite ces règles urbaines sous la forme de contraintes spatiales, chaque contrainte étant associée à une « fonction de coût » capable d’évaluer le niveau de violation des propriétés urbaines. Une description formelle de chaque contrainte est proposée. Un travail important consiste à exprimer chaque contrainte en vue d’une résolution efficace. Résolution initiale Dans un deuxième temps, notre problème d’aménagement urbain étant modélisé comme un problème d’optimisation, nous le résolvons par des techniques de recherche locale basées sur la méthode Adaptive Search. Il s’agit d’une méthode générique basée contraintes (Constraint-Based Local Search) capable de tirer parti de la structure du problème qui lui est confié pour diriger la recherche vers une solution optimale ou de bonne qualité en un temps raisonnable. Nous proposons également des heuristiques capables d’améliorer sensiblement les temps de calcul. Pour passer à l’échelle et travailler avec des villes réelles, différents protocoles sont élaborés pour décomposer le problème global et répartir les traitements d’optimisation sur une grille de calcul. Tous ces travaux permettent d’obtenir de façon automatique différentes propositions (solutions initiales optimisées) pour un même problème. Interaction avec les utilisateurs Notre système est destiné à être utilisé dans un contexte d’aide à la décision. Il doit assister les urbanistes, aménageurs et décideurs à établir des plans de villes durables, sans pour autant se substituer à eux. Il est donc fondamental qu’ils puissent interagir avec la solution en utilisant un dispositif tactile adapté. A ce stade, l’opérateur sélectionne une solution parmi différentes propositions pour l’ajuster à ses besoins et pour qu’elle puisse s’adapter automatiquement aux arbitrages opérés entre les différents acteurs impliqués dans le projet urbain. À chaque fois qu’un opérateur réalise une modification sur la ville, le système recalcule à la volée une bonne solution proche de la précédente sans remettre en cause les choix antérieurs imposés par les utilisateurs. En retour des modifications réalisées par les utilisateurs, des graphiques leurs sont également fournis (carte de température, évolution des coûts par contrainte) pour représenter les impacts de leurs choix. En lien avec ces différents travaux, nous avons également chercher à évaluer nos résultats suivant trois aspects complémentaires : • les temps pour une résolution initiale en comparant le mode séquentiel au mode distribué ; • la qualité des solutions produites automatiquement par la résolution initiale ; • la pertinence de l’interaction et la réactivité globale du système. Le premier aspect est réalisé par une série d’expérimentations alors que les deux aspects suivants s’appuient sur les retours des urbanistes impliqués dans le projet de recherche SUSTAINS. 1.3 Plan de la thèse Notre présentons dans cette section le plan de cette thèse organisée en trois parties. La première partie reprend les notions essentielles liées à l’urbanisme et au développement durable et se termine par une présentation de notre cadre méthodologique et de la problématique qui nous intéresse. La seconde partie dresse un état de l’art complet des problèmes d’optimisation combinatoire sous contraintes, des systèmes interactifs d’aide à la décision et de la modélisation urbaine. La troisième partie présente notre travail de modélisation, les techniques mises au point pour une résolution initiale basée sur Adaptive Search, le mode interactif et les différentes expérimentations réalisées. Tous ces éléments sont repris et illustrés dans la figure 1.1.14 CHAPITRE 1. INTRODUCTION FIGURE 1.1 – Organisation de la thèse. Partie I : Contexte Nous commençons par faire un inventaire des notions de base relatives à l’urbanisme en revisitant les transformations profondes et successives de nos sociétés. Nous définissons notamment ce qu’est une ville et un espace urbain avant d’aborder les différents courants qui ont traversés l’urbanisme et qui ont participés à la transformation des villes jusqu’à aujourd’hui. La notion de développement durable n’existe que depuis une vingtaine d’années et malgré cette jeunesse, elle a été utilisée dans bien des circonstances et on ne sait pas toujours très bien ce que revêt cette expression. Il nous semble donc important de revenir sur les enjeux d’un développement soutenable sur le long terme pour se focaliser ensuite sur les dimensions urbaines du développement durable. A ce stade, nous somme en mesure d’évaluer avec plus de précision ce que l’urbanisme peut apporter au développement durable. Nous présentons également les grandes lignes du projet de recherche SUSTAINS qui s’inscrit dans la conception de villes nouvelles durables à un stade très en amont du processus de planification. Compte tenu de ces précisions, nous pouvons i) fixer un cadre méthodologique qui s’articule autour d’une plateforme globale d’aide à la décision pour la conception d’environnements urbains durables et ii) dégager une problématique précise liée à cette thèse. Partie II : État de l’art Notre problème étant de nature combinatoire, nous identifions les propriétés relatives à ce type de problème et dressons un inventaire des principales méthodes de résolution capables de les adresser. Nous insistons plus particulièrement sur les métaheuristiques de recherche locale particulièrement adaptées à notre contexte. Pour aider les utilisateurs à prendre des décisions, nous décryptons les systèmes interactifs d’aide à la décision qui permettent de concevoir des systèmes temps réel capables de fournir des résultats dans un délai contrôlé. On y évalue également l’intérêt d’une approche de résolution anytime à même de prendre en compte nos exigences liées à l’interactivité. Enfin, on présente un état de l’art de la modélisation urbaine restreint à des sujets en lien avec notre1.3. PLAN DE LA THÈSE 15 thèse. Trois approches (UrbanSim, GeOpenSim, et CommunityViz) sont détaillées afin de positionner nos travaux dans le panorama de la recherche actuelle. En complément de ces modèles urbains, nous présentons également la famille des problèmes de positionnement et notamment le problème d’affectation quadratique qui offre des similitudes avec notre problématique, qui consiste à positionner au mieux les éléments urbains sur chaque îlot d’une ville. Partie III : Contributions Nous commençons par définir les différentes notions retenues pour représenter une pré-programmation urbaine, et en particulier : l’îlot, la centralité, la forme urbaine et l’intensité. En partant de ces notions, nous proposons un modèle de contraintes pour notre problème d’aménagement urbain. Cette étude fournit une description informelle associée à une description formelle pour chaque contrainte, ces contraintes pouvant être regroupées selon qu’elles sont générales ou spécifiques. Le problème d’aménagement urbain étant modéliser comme un problème d’optimisation, nous le ré- solvons par des techniques de recherche locale en réalisant une succession de permutations entre formes urbaines. L’outil proposé organise alors automatiquement les formes urbaines sur un territoire vierge et dé- limité dans l’espace. L’algorithme séquentiel basé sur Adaptive Search bénéficie d’heuristiques novatrices permettant d’améliorer les temps de calcul. Nous proposons également une version distribuée de l’algorithme efficace pour s’attaquer à des problèmes de grande taille. La seconde partie du processus de résolution est interactive. Après la génération d’une solution initiale par des procédures complètement automatiques, l’utilisateur peut reprendre le contrôle sur la solution par le biais de manipulations interactives qui sont décrites ici dans les moindres détails. Les trois composants impliqués dans l’interaction sont également présentés : dispositif tactile, solveur interactif et gestionnaire de messages asynchrones. Après avoir décrit notre méthodologie d’évaluation, le dernier chapitre fait état des expérimentations liées aux résolutions initiales. Dans ce cadre, on y reporte également les performances du mode distribué, le seul mode capable de s’attaquer efficacement à des villes de grande taille. Nous nous focalisons ensuite sur le retour des urbanistes qui ont pu évaluer la qualité des différentes solutions initiales produites sur Marne-La-Vallée. Nous fournissons également leurs réponses liées à la mise en œuvre du mode interactif qui a été particulièrement bien accueilli.I Contexte 172 Urbanisme Nous débutons cette partie liée au contexte en faisant l’inventaire des notions de base relatives à l’urbanisme [69, 261] qui sont au cœur de ce travail de thèse. Nous avons connu un premier bouleversement en 1995 lorsque les villes des pays industrialisés qui représentaient jusque là les plus grosses concentrations humaines ont été rattrapées par celles des pays émergents [41]. Une autre étape importante a été franchie en 2008 lorsqu’on a atteint pour la première fois dans l’histoire de l’humanité le cap des 50 % de la population mondiale vivant en agglomération dont un tiers en bidonville. En 2010, notre planète comptait 449 agglomérations de plus d’un million d’habitants, dont 38 entre 5 et 10 millions et 23 avec plus de 10 millions d’habitants [270]. Aujourd’hui, les villes des pays émergents totalisent 95 % de la croissance urbaine mondiale et on dénombre un million d’urbains supplémentaires chaque semaine dans le monde. L’Amérique et l’Europe sont les plus urbanisées, tandis que l’Afrique et l’Asie comptent encore une majorité de ruraux. L’Europe de l’Ouest est globalement très urbanisée avec un taux de 80 %. En France, le taux d’urbanisation actuel est de 87 % [269]. Nous sommes dans un milieu très urbain, mais dans une urbanité de moins en moins dense et qui intègre un usage urbain de la campagne. Dans les projections publiées par les NATIONS UNIES [271], la population mondiale en zone urbaine devrait atteindre 58 % en 2025, puis 67,2 % en 2050. Cette augmentation sera principalement concentrée dans les régions les moins développées : Afrique et Asie. Cette croissance ne sera pas sans conséquences sur les villes qui devront continuer à s’adapter pour assumer leurs responsabilités dans des domaines aussi variés et indissociables que sont le logement, la sécurité, les infrastructures de transport et de télécommunication, l’approvisionnement en eau et en énergie, la qualité de l’air, le niveau de bruit ou encore l’évacuation et le traitement des déchets [141]. 2.1 Qu’est-ce qu’une ville ? Définitions JEAN-LOUIS HUOT, professeur d’archéologie, esquisse une définition de la ville [140] : c’est un lieu d’échanges et de production, un lieu d’interactions économiques complexes. C’est un lieu mixte et hiérarchisé où plusieurs classes sociales coexistent et la société y est organisée de manière structurée. Selon lui, une vraie ville doit être mixte, complexe et hiérarchisée. Pour les statisticiens français, depuis 1887, les choses sont simples : une ville est une agglomération comptant au moins 2 000 habitants. C’est la même chose en Allemagne, mais il existe près de 200 seuils à travers le monde. Pour l’historien Belge HENRI PIRENNE, les villes sont l’œuvre des marchands, elles n’existent que par eux [217]. Pour l’historien français PIERRE LAVEDAN, la ville est un être vivant [166]. Comme tout être vivant, elle naît, elle grandit, 1920 CHAPITRE 2. URBANISME elle meurt. PIERRE RIBOULET, architecte et urbaniste français, parle d’œuvre [232] : la ville est une œuvre collective, une sorte de production artisanale unique, réalisée par les hommes qui composent la société et qui y vivent. Principes constitutifs de la ville PIERRE MERLIN, ingénieur géographe, expert-démographe et statisticien, écrit [188] que la ville est constituée de deux éléments : l’espace et le temps. A ces deux composantes, il faut ajouter celle des dynamiques socio-économiques. La dynamique sociale et économique, c’est la société en mouvement dans l’espace et dans le temps. Ce sont les initiatives et les mouvements de la société, des groupes sociaux et des individus qui la constituent, qui produisent la ville et la font évoluer à la fois dans le temps et dans l’espace. Ces dynamiques intègrent une quadruple dimension : économique, culturelle, démographique et juridique. Le temps est l’élément qui fait évoluer la ville dans la durée, qui fonde progressivement sa complexité. L’espace quant à lui est le support matériel de la ville : le site, l’environnement naturel et les formes d’occupation du sol. Les formes urbaines partagent quelques caractéristiques de base : • le tracé des voies et des espaces publics, support des flux et des réseaux ; • le découpage parcellaire, support matériel et juridique de l’investissement social du territoire ; • l’occupation du sol, c’est-à-dire les caractéristiques du bâti et des aménagements des surfaces non bâties. L’évolution urbaine "naturelle" est celle du "marché", celle qui traduit les rapports de forces au sein de la société. Mais cette évolution peut être corrigée par les nécessités de l’intérêt général, et l’urbanisme avec la politique sont des instruments de cette correction. Pour la sociologue JANE JACOBS, le dynamisme économique des villes se fait à cause de ses congestions et de ses dysfonctionnements [142], car c’est la richesse du creuset urbain, son bouillonnement qui conduisent à la création économique et culturelle : plus la ville est grande, plus les fonctions urbaines sont diversifiées, plus elle a de chance d’inventer de nouveaux métiers, de nouvelles productions, donc de continuer à croître. Le droit qui régit à la fois la possession et l’usage du sol est un élément majeur qui façonne la ville de manière essentielle, à la fois dans l’espace et dans le temps. C’est donc un élément fondateur de la ville. L’homme est un être social complexe qui, au-delà de ses besoins de base, a des besoins spécifiques qui varient d’une culture à une autre, d’une époque à une autre, d’un groupe social à un autre. Ce sont les sociétés organisées qui peuplent la ville et la font évoluer en fonction de leurs besoins, de leurs désirs et de leurs ambitions. Comme le rappelle JACQUES DONZELOT [77], les ghettos sont d’abord issus du choix de « l’entre soi » des plus riches. Ainsi, les évolutions sociologiques les plus récentes en France, comme l’augmentation du nombre de divorces, de familles monoparentales, la diminution du nombre de personnes par foyer et par logements, et l’augmentation globale de la richesse et des exigences en matière de confort au cours des quarante dernières années, ont conduit à une modification radicale des besoins en terme de logements, de services urbains, de transport. Finalement, la ville est intimement liée à l’évolution démographique parce que c’est elle qui forge la croissance ou le déclin de la population qui est un facteur qui interagit fortement avec les dynamiques économiques et sociales. Lorsqu’une dynamique de croissance économique existe, la croissance de la population vient souvent la renforcer. La ville n’est pas un support statique pour l’économie et la population. Elle est en perpétuelle évolution et il existe une interaction forte entre les différentes composantes économiques, démographiques et sociales. 2.2 La ville perçue comme une entité vivante Les villes naissent et se développent. Elles peuvent aussi avoir des périodes de décroissance ou de stagnation et, enfin, elles peuvent mourir. Après une catastrophe, les habitants les abandonnent pour s’installer ailleurs, à côté ou beaucoup plus loin.2.3. DE LA VILLE À L’AIRE URBAINE 21 Naissance des villes Une ville naît de l’action d’un essaim d’hommes groupés, qui s’installe et agit sur un territoire. Deux formes de création peuvent être distinguées : les "agglomérations spontanées" et les "villes créées". Les villes spontanées se forment par l’action non formalisée du groupe humain sur le lieu qui lui permet d’exercer une activité et souvent aussi, de se défendre. La géographie a donc une influence essentielle sur la formation des villes spontanées. Ces villes se structurent plus ou moins bien, en fonction de la rapidité de leur croissance. C’est le mode de formation de nombreuses villes, mais c’est aussi celui des bidonvilles. La ville peut aussi naître de la volonté délibérée d’un groupe humain organisé. Ce sont les "villes créées", les villes neuves ou les villes nouvelles. Des hommes décident de créer une cité pour répondre à des objectifs liés à leurs activités. Les villes créées le sont par la volonté d’un groupe organisé, souvent très structuré, hiérarchisé avec un pouvoir fort. Elles le sont avec un objectif précis : colonisation, commerce, défense, industrie, etc. Le modèle le plus répandu est celui du plan en damier avec un quadrillage régulier de rues. Mais les villes neuves peuvent ne pas être totalement organisées et la fondation peut se limiter à la création de grandes structures sans que soit défini l’ensemble des quartiers qui se mettent en place progressivement au fur et à mesure de l’occupation des habitants. Développement des villes Après leur fondation, les villes se développent, plus ou moins vite. Certaines périclitent. Quel que soit leur origine (création ou naissance spontanée), leur développement associe presque toujours croissance spontanée issue d’une multitude d’initiatives autour d’une voie ou d’un axe et extensions programmées qu’elles soient d’initiative publique ou privée. En fait, la ville se constitue par stratification. Reconstruction - transformation Les dynamiques individuelles et collectives des habitants conduisent à une permanente reconstruction de la ville sur elle-même. Une bonne partie des réglementations urbaines sont là pour gérer ces transformations du bâti en essayant de ménager l’intérêt collectif en canalisant les initiatives individuelles. Ces transformations peuvent prendre quatre formes : extension de l’emprise, sur- élévation, reconstruction ou dé-densification. La reconversion des friches est devenue un enjeu à la fois économique et symbolique des villes centres, face aux extensions périphériques et urbaines. On parle alors de reconstruire la ville sur la ville comme une alternative à l’extension urbaine. Cycles de croissance urbaine Des sociologues ont développé un schéma radio-concentrique qui dé- montre une certaine superposition entre la répartition sociale et la répartition géographique [37] : le centre est occupé par un noyau constituant la zone d’affaires, et après une zone de transition on trouve un anneau de résidences occupées par les travailleurs les moins favorisés (ouvriers / immigrés, etc.) puis une zone résidentielle plus aisée avant des banlieues très chics. 2.3 De la ville à l’aire urbaine La ville ne constitue plus aujourd’hui un ensemble compact bien défini, placé sur une commune unique. Elle forme une agglomération qui se développe sur plusieurs communes. Pour parler de ces ensembles composites qui s’agrègent autour des villes anciennes pour constituer un ensemble urbain, les géographes font appel à la notion d’aire urbaine. Pour l’INSEE (Institut National de la Statistique et des Études Économiques pour la France), une aire urbaine est un ensemble de communes, d’un seul tenant et sans enclave, constitué par un pôle urbain, et par des communes rurales et/ou une couronne périurbaine dont au moins 40 % de la population résidente dispose d’un emploi et travaille dans le pôle ou dans des communes attirées par celui-ci.22 CHAPITRE 2. URBANISME Planification Urbanisme FIGURE 2.1 – Comparaison entre planification des villes et urbanisme ; d’après [69]. 2.4 L’urbanisme Dans la suite de ce chapitre, les références historiques évoquées à titre d’illustrations concernent prioritairement la France lorsque l’échelle n’est pas précisée. Définition D’après l’Encyclopédie Larousse1 , l’urbanisme peut être défini comme l’action réfléchie visant à disposer, à aménager ou à restructurer physiquement et socialement l’espace en vue d’assurer l’unification la plus harmonieuse et la plus efficace des fonctions que remplit un site donné. Il est inséparablement une théorie et une pratique dont l’exercice entraîne le recours à une technique. L’urbanisme intervient dans la disposition des bâtiments, la structure des réseaux de communication et des équipements publics, et, plus généralement, dans l’aménagement du territoire urbain. En France, les premiers urbanistes sont apparus au tout début du 20ème siècle et cette appellation était alors essentiellement réservée aux architectes. D’ailleurs, LE CORBUSIER (architecte urbaniste, de son vrai nom Charles Édouart Jeanneret) soutient dans « Manière de penser l’urbanisme » publié en 1946 que « l’urbaniste n’est autre chose que l’architecte ». Toutefois, l’ouverture de l’urbanisme à la sociologie et à l’économie a progressivement permis de remettre en cause un tel formalisme. De nos jours, le métier d’urbaniste est exercé par des architectes, des ingénieurs, des administrateurs, des sociologues, des géographes et des économistes. L’urbaniste ne prend pas les décisions : il se situe au niveau de la conception et de l’organisation des transformations de l’ordre spatial dans le cadre de procédures administratives et de réglementations juridiques relatives à l’acquisition et à l’utilisation des sols. De la planification des villes à l’urbanisme FRANÇOISE CHOAY, historienne des théories et des formes urbaines et architecturales, explique que les doctrines de l’urbanisme se fondent sur une analyse formalisée des besoins et des conditions de la réalisation urbaine [43]. Ce serait donc le caractère analytique des contraintes et des besoins qui distinguerait l’urbanisme des pratiques antérieures de planification des villes. Comme l’indique la Figure 2.1 , les principales différences entre la planification des villes et l’urbanisme sont la disparition des rites de création et l’introduction de deux phases majeures préalable au projet proprement dit : l’analyse de la situation existante qui doit conduire à un diagnostic et une phase de programmation urbaine qui peut être sommaire ou très élaborée. De plus, il y a désormais itération lorsque la croissance est 1http ://www.larousse.fr/encyclopedie/divers/urbanisme/1003372.5. NAISSANCE DE L’URBANISME MODERNE ET APPLICATIONS PRATIQUES 23 continue : une fois un morceau de ville produit, le site urbain est modifié et il faut reprendre le processus au stade de l’analyse et du diagnostic. De l’utopie à la réalité La transformation de la société passe par l’invention de formes urbaines nouvelles. JEAN-BAPTISTE ANDRÉ GODIN, disciple de CHARLES FOURIER 2 et fabricant de poêles ayant fait fortune dans l’industrie, dessine les plans du Familistère de Guise [213] qu’il construit à proximité de son usine à partir de 1859 : une véritable ville dans la ville où vivront pendant près d’un siècle jusqu’à 2 000 personnes. Il s’agit d’un « palais social » qui vise à assurer le développement moral de l’ouvrier et de sa famille et dans lequel les ouvriers disposent d’un confort étonnant pour l’époque : "un allègement aux souffrances des classes ouvrières". Des cités ouvrières aux lotissements populaires Pour éviter les problèmes d’éloignement à une époque où le transport individuel et collectif est inexistant, d’autres patrons pragmatiques construiront à proximité de leurs sites industriels des logements pour leurs employés les plus méritants. Mais ce modèle est rapidement critiqué car, en concentrant les ouvriers, le logement collectif devient "foyer d’immoralité" ou "phalanstère de la misère et du crime", selon certains contemporains. La maison individuelle paraît alors être la solution car elle permet d’éviter une trop grande concentration de familles ouvrières, politiquement et moralement dangereuse : • elle permet à l’ouvrier d’améliorer son ordinaire grâce au jardin ; • d’occuper ses heures de loisir de manière à éviter qu’il ne fréquente les cabarets ; • de stabiliser la famille en le rendant propriétaire, donc responsable. C’est ainsi que naquirent les premiers lotissements populaires. Émergence du logement social C’est au cours du 20ème siècle que le logement social va se développer, avec l’apparition d’une exigence nouvelle qui va profondément modifier la ville et l’urbanisme : l’idée qu’il faut loger tout le monde dans des logements décents. La responsabilité de la création de ce logement va devenir, à partir des années 50 et leur transformation en HLM, une prérogative de l’État qui mettra en œuvre la construction de logement à grande échelle avec les grands ensembles. 2.5 Naissance de l’urbanisme moderne et applications pratiques Concernant l’invention de modèles pour une ville adaptée au monde moderne, deux visions principales s’opposent : • d’un côté, il y a ceux qui, pour pallier les maux de la ville industrielle, prônent la création d’une ville verte, plus proche de la nature : faire la ville à la campagne ; • de l’autre, il y a ceux qui, fascinés par Manhattan, voient la métropole verticale comme un modèle qu’il s’agit de rationaliser et d’ordonner. Cette vision privilégie la ville en tant que creuset du développement économique au détriment de l’amélioration des conditions de vie de la population. Évolution de la ville traditionnelle A côté de ces visions opposées, quelques architectes cherchent à marier densité, formes de la ville traditionnelle et conceptions hygiénistes. C’est le propos d’HENRI SAUVAGE, considéré comme l’un des principaux architectes français du premier tiers du 20ème siècle, qui propose de créer un nouveau type urbain : l’immeuble à Gradins [178]. A la place des jardins, les appartements sont dotés de vastes terrasses pouvant être plantées. L’îlot entier est pensé comme une vaste pyramide. Même si LE CORBUSIER conçoit lui aussi un projet d’immeubles à gradins, ce type sera un peu oublié après guerre, 2Philosophe français, à l’origne du concept de Phalanstère, un lieu de vie communautaire et harmonieux.24 CHAPITRE 2. URBANISME mais va réapparaître à la fin des années 60 et dans les années 70 avec les recherches innovantes pour un habitat intermédiaire. Pendant la guerre, LE CORBUSIER va poursuivre ses réflexions en élaborant une doctrine nouvelle connue sous le nom de "Charte d’Athènes" [55] qu’il publiera ensuite sous le titre "La Ville fonctionnelle" en 1941. Il s’agit d’une théorie sans modèle qui propose des concepts simples, voire simplistes : "le soleil, la verdure et l’espace sont les trois premiers matériaux de l’urbanisme". Pas de modèle formel, mais des préceptes doctrinaires facilement applicables et facilement interprétables. La "Charte d’Athènes" prescrit un zoning strict, c’est-à-dire un classement des grandes fonctions urbaines par catégories. Seules les fonctions quotidiennes liées à l’habitation sont intégrées aux unités d’habitation. Ce document aura une très grande influence sur tout l’urbanisme d’après la seconde guerre. Même s’ils n’appliquent pas à la lettre ses préceptes, les grands ensembles en sont les fils directs, un peu déshérités, car bien souvent ils n’intègrent pas les équipements prévus, et la qualité des espaces verts, fondateurs du nouvel urbanisme, laisse à désirer. Urbanisme moderne : quand les doctrines idéologiques se substituent à l’analyse scientifique Dans la pratique, la plupart des projets d’urbanisme ne s’appuient pas sur une connaissance approfondie des sites et des environnements sociaux sur lesquels ils vont agir. Ils substituent la phase d’analyse de l’existant et du diagnostic à des doctrines, qui tiennent lieu de théorie scientifique. Les fonctions urbaines sont réduites à quatre grandes catégories : habiter, travailler, circuler, se cultiver. L’urbanisme moderne largement influencé par la "Charte d’Athènes" est conçu comme le moyen de faire une ville saine. Du point de vue de la composition urbaine, les réalisations s’appuient sur quelques principes majeurs : • la volonté de créer un espace vert majeur au cœur de l’opération ; • l’orientation des édifices en fonction de l’ensoleillement ; • la ségrégation des circulations ; • l’autonomie d’implantation des bâtiments par rapport à la voirie ; • la volonté d’intégrer les équipements nécessaires à la vie quotidienne au parc ou au bâtiment. Plus besoin d’analyse approfondie de la réalité puisqu’il faut raser l’existant, faire table rase pour reconstruire une ville nouvelle idéale. 2.6 Conséquences des politiques successives Ensembles urbains figés, coûteux et difficiles à entretenir Aux objectifs directement liés à la doctrine de l’urbanisme moderne, l’État français en surimpose deux autres : • résoudre la crise du logement ; • créer une industrie du bâtiment digne de ce nom. L’urbanisme moderne cherche à disposer d’un "sol libre" où l’on peut bâtir sans contrainte : l’immeuble est déterritorialisé et le sol n’appartient plus à ses habitants, mais seulement au gestionnaire, impersonnel ou collectif. Ce qui limite les possibilités d’évolution de la ville. Les formes urbaines de l’urbanisme moderne posent deux autres problèmes. Le premier est celui d’une extension extraordinaire des surfaces collectives qu’il faut aménager puis entretenir. Le second est celui d’une diminution des traitements minéraux au profit des espaces végétaux. Or un espace vert est beaucoup plus fragile qu’un espace urbain minéral et doit régulièrement être entretenu. Lorsque les réalisations sont de qualité, que les espaces verts sont entretenus, qu’il n’y a pas de problèmes sociaux, l’urbanisme moderne produit des résidences agréables où l’on habite dans la verdure. Sans doute l’urbanisme moderne, coûteux dans sa structure comme dans son entretien, aurait-il dû être réservé aux riches ? Progression de l’étalement urbain et mobilité accrue C’est à partir du milieu des années 60, que les gouvernements, très critiques vis-à-vis de la production des grands ensembles, décident de mettre en place2.7. THÉORIES URBAINES APRÈS L’URBANISME MODERNE 25 une politique plus favorable aux maisons individuelles. Ce retournement politique, conjugué à l’enrichissement global de la population au cours des « trente glorieuses » (50-70) vont permettre aux classes moyennes de réaliser leur rêve : habiter une maison individuelle. Sous couvert de mieux répondre aux aspirations des familles françaises, cette nouvelle politique répond à plusieurs objectifs : • mieux mobiliser les ressources financières des ménages, ce qui permet un certain désengagement de l’État à l’égard du financement du logement ; • élargir le champ d’intervention et de profit des banques ; • offrir de nouveaux débouchés aux grandes entreprises de construction, par le lancement de nouveaux produits leur permettant de rentabiliser leurs investissements dans l’industrialisation du bâtiment. Ainsi, au lieu de se concentrer, les nouvelles extensions urbaines sont éclatées, augmentant considérablement les surfaces urbanisées. Les modes de vie changent avec comme caractéristique, celui d’un accroissement de la mobilité. On se déplace en permanence, et pas seulement pour le travail, mais aussi et de plus en plus pour le loisir. Le naufrage des grands ensembles Au début des années 60, les conditions matérielles de vie dans les grands ensembles sont plutôt mauvaises dès qu’on sort de son logement bien équipé mais le climat social est bon. La dégradation du climat social des grands ensembles commence dans les années 70 et s’étend au début des années 80, à cause de trois facteurs principaux : • la libéralisation de la construction de la maison individuelle qui conduit les classes moyennes à partir pour réaliser leur rêve ; • la politique de regroupement familial qui conduit les familles des migrants à remplacer les classes moyennes dans les grands ensembles, alors que ce type de logement est totalement inadapté aux modes de vie d’étrangers qui sont des ruraux déracinés ; • le chômage qui, à partir de la crise pétrolière de 1973, touche beaucoup les habitants des grands ensembles, en particulier les travailleurs immigrés, ce qui déstabilise leurs structures familiales. Ceux qui restent sont ceux qui ne peuvent pas partir. Dès lors, on assiste à une concentration des problèmes. On constate une augmentation des loyers impayés qui conduit alors certains organismes HLM à minimiser l’entretien de leur patrimoine, ce qui induit une spirale de dégradation matérielle et symbolique du lieu. La construction des grands ensembles engendre un étalement urbain relativement limité, mais une forte fragmentation : les zones bâties sont rarement reliées à l’existant et constitue des enclaves séparées de la ville proprement dite. C’est d’ailleurs l’un de leurs problèmes majeurs. Changement de politique : la rurbanisation, étalement urbain à grande échelle Dans une circulaire de 1973, OLIVIER GUICHARD alors en charge du ministère de l’Urbanisme, arrête la construction des grands ensembles. La nouvelle politique va engendrer un étalement urbain encore plus significatif avec une troisième poussée pavillonnaire prenant la forme de ce que BAUER et ROUX ont appelé justement la rurbanisation [19]. L’automobile diminue les distances, et désormais, une partie croissante de l’espace rural est utilisé par les urbains. La rurbanisation modifie profondément la structure de la ville et la vie des citadins qui, bien qu’ils soient urbains dans leur mode de vie, peuvent vivre à la campagne. C’est une nouvelle phase de transformation de la ville. Le parc d’habitat se modifie en profondeur pour atteindre, dans les années 90, 54 % de maisons individuelles contre 46 % de logements collectifs. 2.7 Théories urbaines après l’urbanisme moderne Bilan critique de l’urbanisme moderne La volonté de rendre la ville claire et fonctionnelle conduit le modèle de l’urbanisme fonctionnaliste à supprimer la mixité fonctionnelle des quartiers alors que, lorsqu’on regarde l’histoire de la ville, tout laisse penser que c’est un fondement essentiel de la dynamique du fait urbain. Par ailleurs, elle conduit aussi à supprimer le découpage foncier qui est un autre élément matériel26 CHAPITRE 2. URBANISME fondateur de la ville. L’urbanisme moderne se réduit ainsi à la production d’espaces figés, sans réalité sociale et ne répondant pas aux aspirations évolutives des habitants. De tous côtés vont apparaître des propositions réhabilitant la ville traditionnelle qui cherchent à revenir à des formes urbaines plus classiques. Redécouverte de la valeur de la ville ancienne et réhabilitation Les Italiens ont toujours préservé les centres anciens alors que les Français les éventraient pour remplacer les îlots par des tours et des barres. Ce seront les premiers à proposer de réhabiliter les villes pour améliorer les logements anciens plutôt que de les raser et reconstruire. Un certain nombre d’architectes-enseignants vont mettre au point des méthodes d’analyse du bâti existant dites "typo-morphologiques" qui consistent à regarder l’existant dans le détail soit pour le réhabiliter soit pour proposer des projets s’en inspirant. Il s’agit d’un urbanisme scientifique qui s’appuie sur les études, sur la connaissance du bâti mais aussi sur la connaissance des populations. La défense de la ville européenne Dans les années 70-80, une proposition de retour à la ville classique européenne va se mettre en place. Avant, la diversité urbaine résultait de son évolution, de l’empilement progressif de ses couches. Maintenant, il faut créer de la diversité esthétique instantanée. Cet urbanisme nous propose une vision de la ville ancienne avec des décors pittoresques mais une fonctionnalité contemporaine, une ville idéale et humaine, comme elle n’a jamais existé. Aujourd’hui, beaucoup de promoteurs et certains élus ont adopté cette vision avec plus ou moins de talent et plus ou moins de cohérence. Modernité et urbanité Dans les années 80, les architectes sont presque unanimes à critiquer les projets prolongeant l’urbanisme moderne. De leurs recherches ressort alors la volonté de réinventer un nouvel îlot qui s’inspire des expériences du début du siècle, avant l’urbanisme moderne : un îlot ouvert dans lequel le centre est occupé par un vaste jardin. Ce retour à l’architecture urbaine est largement répandu en Europe. Cela ne veut pas dire pour autant que les préceptes modernistes soient totalement abandonnés. En d’autres lieux, comme en Asie, en Chine, à Honk-Kong ou à Singapour par exemple, on construit encore de grands ensembles, avec des tours gigantesques qui empilent les fonctions et qui semblent bien fonctionner socialement. La congestion urbaine et le troisième âge de la ville Parallèlement à ce qu’est devenu l’urbanisme officiel en Europe, réalisé avec plus ou moins de brio, deux doctrines se sont affirmées. D’un côté, il y a des architectes dans la mouvance du Hollandais REM KOOLHASS qui milite pour développer "la congestion urbaine". Son plan d’Euralille cherche notamment à renforcer la mixité avec la superposition des fonctions, même lorsque cela n’est pas « naturel ». De l’autre coté, il y a l’architecte et urbaniste français CHRISTIAN DE PORTZAMPARC qui prétend inventer "le troisième âge de la ville" [64], représentant une synthèse entre l’urbanisme moderne, aéré et vert et l’urbanisme traditionnel d’îlot. Il essaye de mettre en place des règles complexes permettant de concilier densité et végétal en évitant la monotonie de l’îlot HAUSSMANNIEN. C’est ainsi qu’OLIVIER MONGIN, écrivain français et directeur de la revue ESPRIT, n’hésite pas à appeler les architectes et urbanistes de tous bords à un véritable travail de couture, avançant l’hypothèse « qu’avec le troisième âge de la ville se joue l’avenir de la démocratie, tout simplement » [194]. Urbanisme durable et éco-quartiers Depuis quelques années, se développe ce qu’on appelle les "écoquartiers" qui sont des projets urbains globaux à vocation écologique. Ce mouvement en plein développement est né en Allemagne et en Hollande avec quelques exemples pionniers en Autriche, en Grande Bretagne et dans les pays Scandinaves, et il a fini avec quelques décennies de retard par atteindre la France. Il n’y a pas de norme ni de recette d’éco-quartier. Leur forme et contenu varie en fonction des lieux et des enjeux. Tous les éco-quartiers n’ont pas les mêmes ambitions en terme d’économie énergétique, d’énergies renouvelables ou en terme de déplacements.2.8. FORMES ET STRUCTURES DE LA VILLE CONTEMPORAINE 27 Urbanisme réglementaire et écologie Officiellement les PLU3 devraient être attentifs à l’environnement. Dans les faits, l’interprétation de ce que doit être la protection de l’environnement varie et fait que les PLU ne sont pas toujours réellement écologiques. Par exemple, certains articles du règlement imposent des règles sur la hauteur ou l’aspect du bâtiment qui peuvent aller à l’encontre de la pose de panneaux solaires, de toitures végétalisées, etc. 2.8 Formes et structures de la ville contemporaine Nous sommes aujourd’hui dans une civilisation urbaine où le modèle de croissance radioconcentrique reste le modèle de développement dominant des villes (le modèle « naturel »). Les rocades contribuent à cette croissance, tout en créant de nouveaux pôles péri-urbains. Les nouveaux lotissements cherchent avant tout une proximité avec les nœuds d’échanges du réseau. Les rocades génèrent ainsi des situations de périphérie en rupture avec une croissance continue de l’agglomération. C’est aux nœuds de ces voies (croisements, sorties) que s’implantent les nouvelles « centralités périphériques » que sont les zones d’activités, les centres commerciaux du grand commerce qui, au-delà de leur fonction de base, intègrent de nouvelles activités comme le travail tertiaire (bureaux) ou le loisir (multiplexes, centre de fitness, hôtels restaurants). Ce phé- nomène peut être redoublé par la création de plusieurs anneaux de rocades, comme c’est le cas à Rennes ou Paris. C’est le modèle français dominant. Multiplication des types de tissus Avec l’éclatement urbain des années 1980-90, les formes urbaines se multiplient : nouveaux villages, lotissements périurbains, lotissements rurbains, zones pavillonnaires diffuses, villages ruraux, etc, ainsi que les nouvelles « centralités périphériques » : zones d’activités, zones artisanales, zones commerciales. Ces dernières sont désormais les principaux acteurs de l’économie commerçante en France : elles représentent 70 % des chiffres d’affaires contre 20 % dans les centres villes et 10 % dans les quartiers. La mutation touche aussi le centre ville qui d’un côté s’embourgeoise et de l’autre voit sa structure commerciale se transformer. Les commerces se spécialisent (prêt-à-porter) et il devient le lieu du développement d’annexes au grand commerce à travers le développement d’enseignes franchisées. Sectorisation de la ville Le fonctionnement de ces fragments urbains diffère grandement de celui des tissus antérieurs : la plupart sont conçus comme des secteurs autonomes, desservis uniquement par l’automobile et dont les accès sont limités en nombre. On ne traverse pas ces secteurs comme on le faisait dans les tissus urbains traditionnels et leur dimension est généralement très supérieure à celle des îlots antérieurs. Pour ceux qui peuvent choisir leur mode de vie, cette sectorisation peut paraître positive. On peut vivre entre soi dans un nouveau village, disposant à la fois du bien être de la campagne et, grâce à deux ou trois voitures, des services urbains. Mais pour les moins favorisés, ceux qui abandonnent le centre ville parce qu’il est trop cher, les choses sont moins positives. Déjà soumis aux nuisances induites par la voie rapide, ceux-ci se voient de surcroît écartés du centre-ville et de ses services par des infrastructures rendues quasi infranchissables. Ces nouveaux types sont peu reliés aux autres secteurs et très figés dans leurs formes comme dans leurs programmes. DAVID MANGIN parle de sectorisation de la forme urbaine [180]. De plus, les règlements des lotissements interdisent toute activité (autre que les professions libérales), limitent fortement les extensions et interdisent les divisions parcellaires ou la construction en hauteur. Ces tissus urbains sont donc figés à l’exception de petits ajouts. De la même manière, bien qu’elles soient en permanentes transformations, les zones d’activités et les zones commerciales n’admettent pas de mixité : on ne peut y implanter de logements. Dédensification La dédensification de l’agglomération est d’abord liée à l’intégration de territoires périphériques et rurbains dans l’aire urbaine. L’extension de la zone urbaine fait que désormais de nombreux 3Plan local d’urbanisme28 CHAPITRE 2. URBANISME secteurs très peu denses sont intégrés. La dédensification touche aussi tous les tissus de centre ville. La qualité de vie exige plus d’espaces verts avec des cours, des jardins et des logements plus grands. Pour le public, la densité a mauvaise presse et les électeurs font pression sur les élus pour que les règlements urbains minimisent les autorisations de construire. Toutes ces évolutions contribuent à faire baisser la densité des centres urbains. Les seuls secteurs où la densité augmente sont ceux en mutation, banlieues ou friches urbaines, qui lors du réaménagement sont construits alors qu’ils étaient souvent occupés par de grands bâtiments de faible densité. Entrées de ville et ville franchisée En France, première nation touristique au monde, l’apparence et l’image de la ville ont une importance économique considérable. Toutefois, l’avènement du grand commerce, en deux décennies, va conduire à une homogénéisation globale des parcours d’entrée de ville, qui constitue une bien piètre vitrine pour la cité : les entrées des villes françaises sont largement composées de hangars décorés (bâtiment économique dont la façade est utilisée comme grand panneau d’affichage pour l’activité commerciale) alors que les canards (édifice ou enseigne géante qui épouse généralement la forme du produit vendu) sont beaucoup plus rares [275]. Cela relève de trois phénomènes à l’œuvre : • celui d’une logique d’investissement à court terme : les bâtiments sont en perpétuelle évolution et sont amortis en quelques années, nous sommes dans la ville jetable ; • celui d’une visibilité commerciale de la marque : logo, couleurs ou formes de bâtiment doivent être les mêmes sur tout le territoire, voire dans le monde entier (Auchan, Carrefour, Leclerc, Mc Donald, Ikéa, . . . ), les particularités locales doivent être gommées ; • celui d’une visibilité locale du parking démontrant qu’il est simple de se garer. De manière plus classique et plus conforme à la tradition urbaine européenne, les urbanistes français requalifient les entrées de villes, en cherchant à les domestiquer et à les rendre plus urbaines. Plusieurs voies ont été ouvertes pour cela : • améliorations des aménagements urbains ; • améliorations architecturales ; • meilleure intégration du commerce d’entrée de ville dans la structure urbaine globale ; • mutation du cadre législatif. 2.9 Conclusion Pour OLIVIER MONGIN, « nous vivons le temps des métropoles encerclées de banlieues explosives, quand ce n’est pas de bidonvilles menaçants, la ville devient alors une enclave protégeant des barbares » [194]. L’un des enjeux majeurs de l’urbanisme de demain sera donc de parvenir à réhabiliter les quartiers dits « sensibles » et à transformer les bidonvilles en vraies villes. Mais cette présentation montre toute la complexité intrinsèque de la structure d’une ville qui nécessite la mobilisation de nombreuses disciplines complémentaires et parfois opposées pour la comprendre : sociologie, économie, démographie, politique, histoire, écologie, etc. La ville constitue un espace sensible en mouvement perpétuel dont il faut contrôler l’évolution en envisageant le long terme. Et de nos jours, penser sur le long terme, c’est intégrer la notion du développement durable (ou soutenable).3 Développement durable Le concept de développement durable, apparu il y a une vingtaine d’années et approuvé par 178 états lors de la première conférence de Rio en 1992, donne naissance à une conscience de la dégradation de l’environnement. Depuis, il a souvent été vidé de son contenu ou réinterprété selon les intérêts des forces en présence et du moment. Selon sa définition officielle (1987), le développement durable correspond à "un développement qui répond aux besoins du présent, sans compromettre la capacité des générations futures à répondre aux leurs". Il s’agit de proposer un changement de paradigme pour construire un monde économiquement efficace, socialement équitable et écologiquement soutenable. À ces trois piliers, s’est ensuite ajoutée la dimension culturelle [87]. 3.1 Enjeux d’un développement soutenable sur le long terme Les changements globaux Les changements globaux correspondent à l’ensemble des changements qui s’observent à l’échelle de la planète entière. Mais de nos jours, cette expression fait plus particulièrement référence aux effets de l’activité humaine sur l’environnement qui regroupent les nombreuses évolutions sociétales (évolution démographique, mode de vie, . . . ) et environnementales (climat, couche d’ozone, usage des sols, montée des océans, fonte des glaciers, biodiversité, . . . ). L’importance des changements globaux est liée à l’incertitude qu’ils font planer sur les générations futures ainsi que sur le devenir des écosystèmes dont elles dépendent. La complexité de ces changements résulte non seulement de leur dynamique spatiale et temporelle, mais plus encore de l’interdépendance des différentes problématiques. L’activité humaine dépasse depuis quelques décennies les capacités de l’environnement et, par conséquent, cette activité ne se maintient que par la destruction du "capital naturel" qui nous a été confié. Elle doit impérativement se réinscrire dans les limites de flux de matières premières et d’absorption de déchets autorisées par l’environnement [173]. Du fait de l’inertie des systèmes naturels, les prochaines années pourraient engager sur des siècles nos conditions de vie sur la Terre [82]. Deux exemples de l’obstination humaine La perspective d’une accélération de la hausse du niveau des océans au cours du siècle prochain, éventuellement accompagnée d’une augmentation de la force ou du nombre de tempêtes, laisse prévoir l’extension de submersions et l’exacerbation des reculs érosifs. Convient-il alors de s’obstiner à vouloir maintenir un état du littoral qui serait condamné par les lois de la Nature ? La solution de relocalisation des humains et de leurs activités se heurte à des mentalités collectives qui évoluent avec lenteur et perçoivent tout repli comme un renoncement [160]. 2930 CHAPITRE 3. DÉVELOPPEMENT DURABLE Concernant la biodiversité, les projections pour le 21ème siècle font état de taux d’extinction d’environ dix mille fois supérieurs aux taux moyens du passé. Quels que soient les chiffres exacts, nous sommes en passe de connaître une crise majeure de la biodiversité. Mais cette fois ci, la cause est liée aux hommes qui ont réussi à bouleverser les équilibres naturels par le biais de la connaissance et de la technique. Le problème, c’est que cette espèce voit encore mal ce qui justifierait d’abandonner ce chemin [174]. De la croissance à tout prix Concernant le développement durable, il subsiste une ambiguïté liée à l’idée même que le développement est très souvent associé à une logique de croissance, contrairement à ceux qui revendiquent la fin de la croissance [87]. Les trois piliers identifiés lors du sommet de Rio (environnement, économique, social) étant posés équivalents et substituables, le monde des affaires peut justifier une diminution d’un pilier en contrepartie d’une augmentation sur un autre, le tout étant exprimé en valeur. Or, la conception marchande de la société et de la nature confère une valeur nulle à celle-ci : le poisson, l’eau ou la biomasse des sols n’ont pas de prix, leur seul prix apparent se réduisant à leur coût d’extraction. L’économie marchande dérégulée produit mécaniquement la ruine de l’environnement et la dégradation du monde vivant. Ne poursuivant aucun but autre que la croissance pour la croissance, le développement durable se réduit à une mise en bourse de la nature [285]. Des responsabilités partagées Les décideurs qui ont en charge de construire la société de demain doivent prendre en compte les changements globaux qui sont à l’œuvre pour assurer à nos sociétés un avenir sur le long terme. Or, la recherche scientifique nourrit parfois l’illusion que la course à la technologie émanant des travaux scientifiques peut proposer des issues à toute difficulté [82]. Sans prétendre aux miracles, il revient donc aux scientifiques de toute part de jouer un rôle essentiel pour décrire, comprendre, analyser, modéliser, prévoir et développer des stratégies adaptées à ces mutations. Dans ce contexte, l’interdisciplinarité est une aide majeure dans l’analyse et la compréhension des phénomènes et des systèmes complexes, dans le développement de technologies de rupture ou la compréhension et la conception de réponses aux grands enjeux sociétaux de la planète [26]. Alors, bien plus que de se côtoyer, les différents champs disciplinaires scientifiques de tous les horizons doivent absolument collaborer avec obstination, écoute réciproque et humilité pour contribuer à relever ces défis colossaux qui se dressent face à nous. Détour philosophique et politique Pour Kant, seuls les êtres raisonnables ont une valeur intrinsèque et tout le reste est considéré comme moyen ou valeur instrumentale. Cette position "Anthropocentrique" ne reconnaît de dignité morale qu’aux seuls êtres humains. Le "Biocentrisme" considère lui que tout individu vivant est, à égalité avec tout autre, digne de considération morale. Certains environnementalistes vont plus loin avec l’approche "Écocentrique" en considérant qu’il faut accorder de la valeur non pas à des éléments séparés, mais à l’ensemble qu’ils forment [165]. D’un point de vue plus politique, l’affirmation qui laisse à penser que les sociétés humaines peuvent avoir un avenir infini dans un monde aux ressources limitées reste un pari hasardeux [202]. Et après plusieurs années de politiques qualifiées de développement durable, force est de constater la contradiction entre l’intention de la durabilité et la continuité de pratiques court-termistes [277]. Pour rebâtir les conditions d’un vrai développement durable, une refonte des régulations doit être opérée pour rendre très coûteux tout comportement dégradant les écosystèmes et très profitable ceux qui contribuent au maintien ou à l’amé- lioration des potentiels naturels [285]. L’objectif demeure le développement, mais encadré par une nouvelle technique de gouvernance, fondée sur la recherche d’un équilibre. 3.2 Dimensions urbaines du développement durable Le modèle actuel de développement urbain des pays riches n’est pas durable. Si tous les pays se mettaient à consommer comme nous, les ressources seraient épuisées en quelques décennies. Le développement de la Chine et de l’Inde selon nos modèles de consommation est un scénario catastrophe.3.2. DIMENSIONS URBAINES DU DÉVELOPPEMENT DURABLE 31 L’enjeu de l’urbanisme en Europe aujourd’hui est celui de créer une ville durable. Pour cela, il est nécessaire de rendre plus dense et plus compacte la ville lors des mutations. C’est pourquoi on considère aujourd’hui que les friches sont devenues des enjeux majeurs pour « reconstruire la ville sur la ville ». Il faut donc veiller à ce que les projets soient denses, mais que cette densité soit acceptable pour le public. Il faut chercher à densifier le plus possible la ville en fonction du contexte et à recréer des liens entre les secteurs. Il faut redévelopper ce que DAVID MANGIN appelle la « ville passante » [180]. Mais, parallèlement, il faut transformer les règlements urbains qui, bien souvent interdisent la densité et les mutations urbaines, cherchant à préserver chaque fragment en l’état. Métropolisation La métropolisation peut se comprendre comme l’avènement d’un réseau mondial d’aires métropolitains connectées entre elles par des réseaux d’échanges. Elle résulte de deux processus : • la métamorphose du capitalisme qui s’universalise, entraînant des mutations profondes des modes d’organisation de la production parallèlement à la révolution numérique ; • la polarisation spatiale croissante au profit des zones les plus développées. A l’échelle locale, la métropolisation entraîne une restructuration spatiale et économique du marché du travail qui concerne un territoire plus vaste que la ville centre incluant les banlieues, le périurbain et parfois les espaces ruraux et naturels. Elle exige une grande mobilité de la part des individus pour effectuer les trajets entre les espaces résidentiels, les lieux de travail, des loisirs et des services. Dans un monde globalisé, seule la scène métropolitaine autorise le déploiement stratégique des contraintes économiques, sociales et environnementales relevant simultanément de l’échelle planétaire et locale. À condition de l’intégrer dans le territoire métropolitain, la ville représente donc un espace pertinent du développement durable en raison de sa pérennité historique, de son ancrage dans l’économie globalisée et de ses capacités d’adaptation face au changement climatique et des enjeux du mieux vivre ensemble [109]. Penser globalement / agir localement Les villes attirant l’essentiel des ressources et étant à l’origine, directement ou indirectement, de la plupart des émissions, la connaissance et la maîtrise de leur métabolisme 1 constituent des enjeux majeurs. L’architecte RAYMOND LORENZO note qu’un habitant de la ville de Denver, dont la densité est très faible, consomme environ 3800 litres d’essence par an alors qu’un habitant de Manhattan en consomme 335 litres, soit onze fois moins. Cela veut donc dire que les formes de la ville, sa densité et les modes de vie qui leur sont liés ont une influence importante et donc qu’il est possible d’agir à travers l’urbanisme. Il faut repenser les infrastructures urbaines, mais il faut aussi agir localement, en particulier sur la manière d’augmenter la densité par des aménagements favorisant un sentiment de faible densité : la présence vé- gétale et les quartiers mixtes sont des éléments pouvant y contribuer. Il faut avoir des visions globales en proposant des politiques spécifiques. Mais il faut ensuite que chaque agglomération ait une réflexion locale sur son impact territorial et sur les moyens de l’améliorer. Comme l’a souvent montré FRANÇOIS ASCHER, on ne peut plus aujourd’hui faire l’urbanisme du haut vers le bas, comme dans les années 60. Il faut écouter les habitants de base, faire du bottom / up, de la pédagogie, convaincre mais aussi écouter pour inventer de nouvelles solutions. Il faut donc avoir une action parallèle et forte à des échelles plus petites comme celle du quartier. En fait, il s’agit d’une application du principe « penser globalement, agir localement ». Mais le renouvellement du parc urbain représentant environ 1 % par an, il ne suffira pas à lui seul à produire une ville écologique. Il faut donc aussi réfléchir au moyen d’agir sur l’ancien, sur l’existant pour l’améliorer et le rendre plus performant. Comprendre et agir sur la forme des villes [71] 1Ensemble des processus par lesquels les villes importent, consomment, transforment, stockent ou exportent énergies et matières.32 CHAPITRE 3. DÉVELOPPEMENT DURABLE Les modes de transport ont façonné les villes La forme des villes est en grande partie liée aux possibilités de déplacement des citadins. Les modes de transport rapide ont transformé la ville. Avec le chemin de fer, la vitesse moyenne des citadins est passée de 3 km/h à 15 km/h et les villes ont connu une première période d’étalement urbain caractérisée par des faubourgs et des banlieues disposées en « doigt de gant » le long des axes ferroviaires. Avec l’automobile, et le passage à une moyenne de 30 km/h, la ville a pu s’étendre à nouveau mais cette fois ci de façon dispersée : tout terrain étant devenu potentiellement urbanisable dans un large rayon autour des centres urbains. La ville peut alors s’étaler et s’émietter puisque les villages proches peuvent être le support d’une urbanisation souvent peu dense. La vitesse a favorisé l’étalement urbain et les ségrégations La vitesse rend la proximité moins impérieuse et permet à de nombreux citadins de s’affranchir de la promiscuité. Avec la vitesse et des mé- canismes fonciers qui renforcent souvent les ségrégations sociales et fonctionnelles, la diversité dans la proximité n’est plus le principe d’organisation de la ville, seulement celui de certains de ces quartiers. La vitesse ne fait pas gagner de temps : elle accroît les possibilités de choix et permet l’espacement. Impacts des choix passés En raison de leurs valeurs patrimoniales, les politiques de mise en valeur des centres ont été plus fortes en Europe qu’en Amérique du Nord : leur dédensification a donc été moins marquée. Concernant les politiques foncières visant à limiter la consommation des sols, elles ont été historiquement puissantes dans un pays dense et vulnérable au risque d’inondation comme les Pays-Bas. Les fortes densités de l’« Europe rhénane » ont impliqué très tôt une promotion des transports publics alors que l’« Europe latine » y est restée longtemps indifférente, favorisant un système territorial fortement dépendant des transports motorisés et d’une énergie peu chère et abondante. En France, le secteur résidentiel ne compte que pour un quart de l’extension des surfaces urbanisées chaque année. Ce sont les infrastructures de transports, notamment routes et aéroports, les zones commerciales et les espaces d’activités qui sont responsables des trois quarts de l’extension spatiale. Nécessité d’une approche systémique L’action sur la seule densité ne conduit pas nécessairement à réduire les besoins de déplacement. Sans action simultanée sur la localisation des diverses ressources territoriales, que ce soit les lieux d’emploi, de loisir, d’équipement ou encore d’habitat, la densification ne permet pas une réduction des distances pour relier ces différentes ressources. D’autre part, certains agencements périurbains ou ruraux peuvent se révéler favorables à la marche à pied, au vélo ou au transport collectif et les zones d’imbrication entre espaces urbanisés et territoires agricoles et naturels peuvent être intéressantes pour des circuits de proximité alimentaires et la préservation de la biodiversité. Enfin, bien que décrié, n’oublions pas que l’étalement urbain a permis à de nombreux citadins d’accéder à la propriété. Une politique relative aux formes de la ville ne peut se résumer à une simple limitation de l’usage des sols, car agir sur la forme d’une ville, c’est agir sur les systèmes de formation de prix des fonciers, sur l’organisation des réseaux ou encore sur les mécanismes économiques qui la sous-tendent. Écologie urbaine D’après le dictionnaire Le Robert, le mot écologie aurait deux sens : 1. étude des milieux où vivent les êtres vivants ainsi que des rapports de ces êtres entre eux et avec le milieu ; 2. mouvement visant à un meilleur équilibre entre l’homme et son environnement naturel, ainsi qu’à la protection de celui-ci. L’écologie urbaine doit partir de l’étude du milieu en incluant non seulement les aspects physico-biologiques mais aussi les rapports sociaux humains, pour tendre vers un meilleur équilibre entre l’homme et son environnement naturel, ainsi qu’à la protection de celui-ci. L’écologie ne peut pas se limiter aujourd’hui à "la protection de la nature" mais doit avoir une vision plus large selon laquelle l’urbain est un milieu global et que la densité urbaine n’est pas en soi un mal, peut-être même une qualité. La ville intelligente, intéressée3.2. DIMENSIONS URBAINES DU DÉVELOPPEMENT DURABLE 33 à sa propre survie, doit être plus économe et attentive aux composantes de l’environnement, mais aussi aux équilibres sociaux qui, pour une part, la conditionnent. Un aménagement écologique, c’est-à-dire répondant aux exigences de développement durable, doit porter sur une dizaine de thèmes [69] : • mixité et densité ; • qualité de l’air ; • qualité de l’environnement sonore ; • transport et déplacement ; • gestion du cycle de l’eau (pluies, eaux usées, alimentation, nappe phréatiques, rivières) ; • gestion des déchets ; • énergies : consommer moins et tendre vers les énergies renouvelables ; • présence de la nature en ville : bio diversité, milieu naturel, faune et flore ; • paysage et protection du patrimoine ; • une économie durable. Éco-quartiers Les planificateurs et gestionnaires de la ville ont utilisé depuis les vingts dernières années différentes techniques pour limiter les émissions de polluants (en particulier les gaz à effet de serre) par les transports [253] : • proximité d’un tramway ou d’un métro ; • rapprochement des commerces et des écoles ; • priorité donnée à la marche ou au vélo ; • réduction de la place de la voiture. Grâce à la mobilisation des citadins et à la contribution des élus et techniciens locaux, les éco-quartiers ont souvent dépassés les aspects environnementaux avec : • une diversité du peuplement renforcée par une forte présence de logements ; • l’intégration d’établissements pour personnes âgées favorisant l’intergénérationnel ; • des lieux d’animation multiculturels et multifonctionnels. Dans cette évolution liée aux éco-quartiers, l’enjeu est double : • pousser le curseur écologique le plus loin possible ; • faire en sorte que ce type d’approche ne soit pas réservé aux grandes opérations, mais imprègne toutes les opérations, même les plus petits lotissements. Pour ROLAND CASTRO, architecte et urbaniste de renom habitué des plateaux de télévision et des stations radiaphoniques, les éco-quartiers posent effectivement la question des villes de demain. Mais au terme éco-quartier qu’il n’aime pas beaucoup, il préférerait qu’on emploie le terme quartier-éco, parce que l’objectif principal consiste d’abord à faire un quartier, un lieu que l’on habite, que l’on a envie de voir et qui nous sourit. Ensuite seulement, il s’agit de sublimer la contrainte lorsqu’elle arrive pour ne pas la subir. Dans notre cas, tout ne doit pas être subordonné à la contrainte écologique, ce qui pourrait alors conduire à faire très mal les morceaux de la ville. Proposer une série de logements, de maisons de diverses formes, de taille variable, mais à chaque fois dans un scénario de trajet, de rapport à l’autre, donner le sentiment qu’on peut être à la fois chez-soi et avec les autres si on le veut : c’est vers cela qu’il faut tendre. De nos jours, beaucoup d’architectes tentent de faire des logements qui ne soient pas alignés, des logements qui soient dans un rapport les uns avec les autres, qui participent à la formation des rues, des places ou des venelles. Des logements qui font les centres et qui fabriquent de la marche, du trajet, de la promenade. « Il faut faire les quartiers comme un promeneur, comme un flâneur, et créer de la surprise ! ». Renouvellement des grands ensembles Les pratiques actuelles en urbanisme de renouvellement des grands ensembles en France [1] se concentrent autour du principe d’une recomposition urbaine visant à :34 CHAPITRE 3. DÉVELOPPEMENT DURABLE • désenclaver les sites par la recomposition des rues, des parkings, la création de moyens de transports collectifs, l’introduction d’équipements publics ; • permettre une certaine mixité par la démolition des bâtiments posant le plus de problèmes (généralement les immeubles les plus hauts, en particulier les tours) et la création de nouveaux bâtiments valorisant le foncier, généralement des logements en accession pour les classes un peu moins pauvres et des immeubles locatifs proposant un type de logement spécifique améliorant l’offre ; • améliorer la qualité des lieux et les possibilités d’appropriation par les habitants grâce à la transformation des espaces de proximité des immeubles. Deux instruments majeurs sont aujourd’hui utilisés : • la démolition- reconstruction ; • la résidentialisation. La démolition - reconstruction Pendant longtemps, l’État est resté réticent à l’idée de démolir des bâtiments qui n’étaient pas toujours amortis. Ce n’est qu’à partir du milieu des années 90, que l’idée de démolition va s’imposer avec, pour objectif, de modifier l’image des quartiers et d’inverser les processus de dévalorisation. L’idée globale est que, pour modifier en profondeur ces quartiers, il faut recréer de la mixité sociale et que, pour cela, il faut favoriser l’intervention d’opérateurs privés dont la production s’adresse aux classes moyennes. On démolit donc beaucoup aujourd’hui et l’on reconstruit, soit sur place, soit en lisière des zones, soit parfois un peu plus loin, des logements selon des formes urbaines plus traditionnelles : des rues, des places, de petits immeubles avec un nombre limité de cages d’escalier et, généralement, des hauteurs limitées. La résidentialisation L’action sur le bâti ne répond pas à tous les problèmes, mais elle est utile. C’est un des moyens de participer à une transformation positive du lieu. La résidentialisation est une forme particulière d’action qui s’oppose dans son concept à la démolition / reconstruction : on requalifie les espaces collectifs et les espaces publics, afin de transformer les formes urbaines issues des théories de l’urbanisme moderne. La résidentialisation vise à "configurer un ou plusieurs immeubles et leurs abords en une unité résidentielle clairement identifiée, matérialisée par un marquage plus ou moins symbolique de ses limites". Cette requalification des espaces de proximité, publics et privés des grands ensembles, permet de gérer le problème des poubelles, du nettoyage des espaces publics et privés. Mais aussi d’améliorer le confort du logement : on peut ajouter des balcons, créer des jardinets pour les logements du rez-de-chaussée. En modi- fiant le statut du sol et les formes urbaines, la résidentialisation répond aux besoins des habitants en créant des lieux bien différenciés et supprime l’indétermination des espaces du quotidien au-delà du logement. 3.3 Enjeux à l’export du savoir-faire français en matière de ville durable Le Paris de Haussmann a été interprété dans nombre de grandes villes à travers le monde. A l’échelle de la planète, il est reconnu que Londres, New York, Paris et Tokyo sont observées et influencent les orientations des autres grandes villes qui sont le réceptacle des populations qui s’y agglutinent [41]. Compte tenu de ces éléments et forts de leur expérience en matière de ville durable, certains acteurs français se mobilisent et se regroupent pour exporter leur savoir faire. C’est le cas par exemple de VIVAPOLIS2 , une marque française de la ville durable qui cherche à fédérer de nombreux acteurs autour de quatre caractéristiques fortes qui définissent la « French touch » : • l’homme positionné au cœur de chaque projet pour améliorer les conditions de vie de l’habitant ou de l’usager ; 2www.vivapolis.fr3.4. LA VOITURE AU CŒUR D’UNE NOUVELLE RÉVOLUTION INDUSTRIELLE ? 35 • la performance pour atteindre une consommation réduite des ressources naturelles et une intégration optimale des fonctions de la ville ; • une gouvernance forte et participative pour pouvoir organiser la ville, la projeter dans le futur, la financer, définir des règles et la faire fonctionner au quotidien ; • une adaptation systématique au contexte local reposant plus sur une démarche ou une vision que sur un modèle tout fait : à chaque cas correspond une solution particulière en fonction du climat, de la géographie des lieux, de la culture, de son histoire. La France possède plusieurs champions dans différents domaines : • en construction : BOUYGUES, VINCI, EIFFAGE ; • en mobilité : ALSTOM ; • en énergie : EDF, GDF SUEZ ; • en gestion des déchets ou de l’eau : VÉOLIA. Il y a également en France une multitude de petites et moyennes entreprises qui sont leaders sur des niches du développement durable. L’objectif est d’arriver à une alchimie de la ville durable en regroupant différents acteurs français autour d’une vision unique pour être capable de l’exporter. La construction de la ville se fait partout, et plus particulièrement dans les pays émergents comme le Maroc, la Chine, le Brésil ou la Turquie. Il faut être capable de travailler ensemble pour apporter des réponses globales aux questions posées afin de réaliser un quartier ou une ville durable. Dans ce contexte, les collectivités locales françaises pourraient servir de vitrine à ce qui peut être proposé à l’export. Autre exemple, la création du Groupement d’Intérêt Scientifique « Modélisation Urbaine » (GISMu)3 qui s’est donné pour objectif de faire converger les besoins entre les mondes de la recherche, de l’ingénierie, de la maîtrise d’ouvrage et de la maîtrise d’œuvre dans le champ de la modélisation urbaine, depuis la gouvernance et la conception des villes jusqu’à leur exploitation [130]. Sa vocation consiste à promouvoir une approche plus intégrée de la modélisation urbaine en abordant les différentes échelles spatiales et temporelles, en intégrant un développement des villes plus durable, en étudiant différentes typologies de villes et en explorant des domaines novateurs (comme la modélisation des flux entrants et sortants de la ville). Cette entité regroupe à elle seule 73 membres dont 13 établissements, 12 entreprises, 38 unités de recherche et 10 pôles, agences ou autres organisations. Parmi ses nombreuses missions, on retrouve la promotion à l’exportation du savoir-faire français en matière de modélisation urbaine. 3.4 La voiture au cœur d’une nouvelle révolution industrielle ? Autrefois un luxe, hier encore une commodité, la voiture est devenue une nécessité pour une large frange de la population sous l’impulsion d’un mode d’urbanisation qui lui est dévolu et qui s’est largement répandu. A cause de sa vitesse, des grandes distances qu’elle autorise, d’un très grand choix d’itinéraires et d’un accès presque continu le long des voies, la voiture éparpille la ville et, avec elle, la demande de livraisons ou de collectes. Elle favorise la diffusion de l’habitat, la décentralisation des activités ou la concentration de certains services. Par les effets de coupure des voies rapides dangereuses et bruyantes, elle divise le territoire et sépare plus qu’elle ne lie de grands pavés voisins. Et dès qu’une artère prend de l’importance, l’arrêt et la vie en bordure devenant de moins en moins confortable, son accès se limite à quelques points de plus en plus éloignés ou aléatoires. En conformant la ville à ses possibilités ou besoins, la demande de transport s’est dispersée loin de l’offre crédible de transport en commun et l’éparpillement croissant a disqualifié les modes de déplacement doux (marche à pied, vélo). Cet outil toujours plus envahissant pousse à bitumer et à bétonner à grande échelle des surfaces toujours plus gigantesques pour réaliser des infrastructures, des voies de circulation et des aires de stationnement qui lui sont dédiés. Le transport routier de marchandises qui représente 1/3 des émissions de CO2 en ville a su profiter des infrastructures développées pour la voiture sans supporter les dépenses liées aux dégradations 3http ://www.urban-modelling.org/36 CHAPITRE 3. DÉVELOPPEMENT DURABLE qu’il occasionne. Le système routier en croissance a dépassé un seuil au-delà duquel il est devenu contreproductif. Il produit de grandes injustices et complique toujours plus les politiques de redistribution des richesses, quand ceux qui subissent ses nuisances ne sont pas ceux qui profitent de ses commodités. Les populations les plus pauvres peuvent rester piégées dans les zones les plus pauvres, les plus polluées ou bruyantes et les plus privées d’emplois, de services urbains ou de paysages agréables [186]. Néanmoins, les jeunes occidentaux éprouvent de moins en moins d’intérêt pour l’automobile et ils n’ont plus envie de la grosse voiture de leurs parents. L’imaginaire dominant de notre univers automobile durant les trente glorieuses n’est plus adapté à cette nouvelle génération qu’il va falloir prendre en compte pour réinventer les moyens de déplacement de demain. L’automobile doit se redéfinir et on peut faire l’hypothèse de nouveaux modes de transports situés aux interstices des deux et quatre roues : probablement un modèle de petite voiture léger et écologique. Mais pour le moment, des pays comme l’Inde ou la Chine sont dans une dynamique de rattrapage économique et encore dans la fascination pour un modèle occidental qui n’est pourtant pas viable. Chaque jour, 1 200 véhicules nouveaux sont immatriculés en Chine et la terre comptera cinq fois plus de voitures d’ici 2050. Ceci va provoquer une course aux matières premières de plus en plus effrénée au fil des années à venir, avec des conséquences déjà visibles (par exemple l’intérêt croissant de la Chine pour l’Afrique). Il va pourtant falloir adopter de nouveaux modes de croissance écologiquement responsables et le modèle énergivore apparu au début du 19ème siècle va devoir se réinventer. C’est une nouvelle révolution industrielle qui est en train de se dessiner sous nos yeux, et la voiture est au cœur de ce bouleversement [20]. 3.5 Utopies 3.5.1 Une « Utopie Concrète » pour Paris Le Grand Paris ROLAND CASTRO fait partie d’une génération d’architectes et urbanistes qui a énormément réfléchi et appris des échecs du passé, une génération qui a beaucoup déconstruit la pensée des temps modernes. Sa pensée intègre l’aspect politique et citoyen d’une architecture urbaine. Il est partisan de la réhabilitation par le remodelage des grands ensembles. Il a également initié le mouvement politique de l’Utopie Concrète pour transformer sans révolution la société vers plus d’égalité républicaine et de justice. Il y défend l’idée d’avancer des utopies concrètes et évolutionnaires pour redonner du sens à la politique. Pour lui, l’utopie concrète : c’est la vérité de demain. Tout comme les congés payés ou l’abolition de la peine de mort étaient des utopies en leurs temps, elles sont devenues des réalités de nos jours. Il a été choisi par le président NICOLAS SARKOZY pour encadrer une équipe pluridisciplinaire lors de la consultation sur le Grand Paris : un projet de loi adopté le 19 juillet 2013 et visant à créer une métropole qui regroupera, dès 2016, Paris et trois départements de la petite couronne, doté de compétences en matière de logement et d’aménagement du territoire. Ce projet a été initié sous FRANÇOIS MITTERRAND4 , lancé par NICOLAS SARKOZY et repris sous FRANÇOIS HOLLANDE. Il s’agit donc d’un projet qui dépasse de loin les clivages politiques habituels de la France (gauche / droite). Lorsque ROLAND CASTRO décrit ce projet, il considère un territoire réel plus grand que celui retenu par la loi, qu’il dit enfermée dans des limites administratives trop étroites. Pour lui, le Grand Paris s’étend sur une zone de 40 km par 40 km, concerne 10 millions d’habitants et regroupe 400 communes. Ce projet porte l’ambition de faire une métropole multipolaire caractérisée par une multitude d’éléments attractifs en dehors du centre historique. A cette échelle, le Grand Paris sera aussi grand que Berlin ou le Grand Londres. Le Grand Paris va permettre de faire la "ville à la campagne" avec un territoire beaucoup plus riche du point de vue végétal ou même agricole, un espace métropolitain dans lequel chaque quartier est attractif, sympathique, caractérisé par le plaisir d’y habiter et partagé par tous, ou chaque quartier « vaut bien » n’importe quel autre. C’est en cela que le Projet du Grand Paris représente une utopie concrète. Mais en dehors des aspects techniques, ce projet est soumis à d’importantes crispations politiques liées 4Projet Banlieues 89 comportant un volet Grand Paris, confié à Roland Castro et Michel Cantal-Dupart en 1983.3.5. UTOPIES 37 d’une part à l’insuffisance d’une implication forte au plus haut niveau de l’état, et d’autre part à la présence de nombreux « barons » locaux qui disposent d’une influence importante et qui ne servent pas systématiquement la cause collective. Pour ROLAND CASTRO, le manque de budget identifié pour financer le projet n’est pas la question la plus grave car il y a beaucoup d’économies à réaliser en réformant des formes d’administration du territoire devenues superfétatoires avec le temps (notamment en supprimant les conseils généraux). De plus, le projet de loi relatif au Grand Paris prévoit : • l’objectif de création d’un million d’emplois supplémentaires en Île-de-France sur les quinze prochaines années5 ; • l’obligation de construire 70 000 logements par an. Paris ville-monde Dans sa note ouverte d’octobre 2013 adressée au Président de la République et intitulée « Vivre un Grand Paris » [41], Michel CANTAL-DUPART interpelle à sa manière François HOLLANDE pour lui faire part de son inquiétude face aux orientations de ce projet qui sont contraires aux convictions qu’il porte. Dans son document, il dresse un bilan complet de la situation et suggère sept objectifs pour redresser la barre. Raccommoder les quartiers Il n’y aura pas de Grand Paris possible dans une ville à plusieurs vitesses : il ne s’agit pas de réaliser des opérations comme des éco-quartiers qui poussent de toute part sans se soucier de l’évolution des quartiers dans lesquels ils s’insèrent. Plus que de revisiter les Quartiers Prioritaires, il faut véritablement désenclaver les cités. Quand ils existent, les fleuves sont des éléments intéressants pour fédérer une ville car ils ne subissent pas les limites administratives. Premier et dernier logement Les petits logements disponibles pour les jeunes (premier logement) sont souvent inaccessibles pour cause de loyer prohibitif et c’est la même chose pour un nombre important de retraités (dernier logement) qui doivent quitter la capitale parce que la vie et les logements y sont devenus trop chers : ce phénomène contribue à déséquilibrer la ville. Pour corriger ce phénomène, il est possible d’augmenter encore la densité de la ville dans des proportions raisonnables en utilisant ses réserves foncières aériennes qui sont vastes sans pour autant faire de grandes tours. D’autre part, il peut être intéressant de revisiter les immenses zones d’activités et leurs parkings pour proposer une évolution foncière lorsqu’il est possible d’y accueillir des logements. Au lieu de rajouter des bureaux déjà en nombre et parfois vacants, il faudrait leur préférer des programmes d’habitation pour arriver à un équilibre, notamment à proximité immédiate des gares pour inciter les habitants à utiliser les trains plutôt que des voitures (lorsqu’on construit des bureaux à proximité immédiate des gares, c’est l’effet inverse qui se produit : les gens quittent leur domicile avec leur véhicule et tentent par tous les moyens possibles de rejoindre leur lieu de travail en voiture). Les chemins de l’écolier L’école est un lieu d’apprentissage de la ville, tant par le contenu de ses enseignements que par le chemin emprunté, itinéraire qui mène du domicile aux portes de l’école et fait découvrir aux écoliers les réseaux de la ville. Contrairement au parvis des mairies et des églises, on soigne rarement celui des écoles qui mériterait pourtant d’être plus accueillant pour recevoir les parents qui s’y regroupent en attendant leurs écoliers. Cultiver le bien être Concernant l’implantation hospitalière, une position centrale dans l’agglomération peut être idéale à condition que les accès soient aisés et que soit prévue, pour le personnel soignant, une possibilité d’un habitat adapté de proximité. Si l’implantation est périphérique, l’accès à une intermodalité est impératif. Le plateau technique innovant et performant reste à l’hôpital, mais l’hôpital doit trouver des moyens de se déployer en ville au plus près du milieu de vie de ses patients, pour leur confort. Concernant 5D’après l’étude d’impact annexée au projet de loi (source : http ://www.senat.fr/rap/l09-366/l09-3667.html)38 CHAPITRE 3. DÉVELOPPEMENT DURABLE les possibilités de restauration des habitants et des visiteurs, la convivialité d’un Grand Paris passe par le bien manger. Paris est une ville magnifique, riche d’une poésie fabuleuse, mais qui gagnerait tout de même à offrir un meilleur accueil aux touristes venus du monde entier pour la rencontrer. Donner accès à toute la ville Il est essentiel de pouvoir se déplacer dans toute la ville pour accéder au savoir, au travail, à la promenade ou aux biens de consommation. Les nouvelles lignes de métro express et les 70 gares et stations qui seront construites devront être l’occasion de valoriser les quartiers qui les accueilleront en recherchant l’intermodalité et la transversalité sans imposer un passage obligé par le centre de Paris. Gommer l’attrait du vide Il faut délimiter de façon précise et sans tolérer de flou les parcelles urbanisées et urbanisables des parcelles à vocation agricole pour concevoir un urbanisme d’une certaine densité (sinon les lisières restent perméables pour les aménageurs) et créer un front de terre semblable à un front de mer pour offrir de larges perspectives aux paysages franciliens et protéger les terres agricoles qui peuvent fournir aux citadins des produits régionaux valorisants. Les terres agricoles ainsi protégées pourront évoluer sereinement pour mieux assurer les besoins alimentaires de la ville qu’elles côtoient. Valoriser la Seine La Seine est la plus belle avenue de Paris, mais dès qu’on quitte le centre et qu’on arrive en banlieue, c’est fini ! Elle est pourtant un liant évident à tout le projet parce qu’elle coule à travers le territoire sans se soucier des limites administratives et parce que se concentrent sur ses rives universités et centres de recherche qui correspondent à l’image et à l’avenir du Grand Paris. De plus, elle abrite sur ses berges de nombreuses friches industrielles qui permettraient de qualifier un paysage exceptionnel. 3.5.2 La « Ville Creuse » : un exemple de ville idéale La ville est le lieu complexe où de multiples forces s’opposent et se disputent. Comment par exemple réconcilier les attentes légitimes du citadin (plus d’espace, des facilités d’accès aux activités et services, un cadre de vie de qualité, convivial et sain, etc.) avec une réduction de nos consommations en ressources naturelles, une diminution de nos pollutions, de nos déchets ou d’un étalement urbain sans fin ? Existe-t-il une forme de ville optimale capable d’améliorer son fonctionnement, de réduire ses besoins, ses gaspillages et ses nuisances ? Y a-t-il une forme d’organisation de l’espace qui puisse nous conduire à ces différentes optimisations ? JEAN-LOUIS MAUPU6 , bien qu’il ne soit pas urbaniste, s’est risqué sans état d’âme à cet exercice dans son livre intitulé « La ville creuse pour un urbanisme durable » [186]. La ville utopique qu’il propose repose sur trois grands principes complémentaires : • un réseau de transport multiple qui suit une forme hexagonale constituée de 6 nœuds et formant une boucle (maille ou anneau) parsemée tous les 500 m d’une station de transport collectif (TC) ; • des constructions avec une densité importante aux abords de la maille, son centre étant réservé à de grands espaces verts et naturels traversés d’allées, d’une rivière, d’un lac, d’exploitations agricoles, maraîchères et horticoles, de terrains de sport, d’un cimetière, de jardins et de vergers privés accessibles aux seuls modes doux et véhicules de service ; • une mixité des lieux de logement et d’activité jusqu’à même les superposer dès que c’est possible. Chaque anneau autonome fait environ 4 km de largeur pour 12 km de longueur, son tracé étant enveloppé d’un bâti mixte et dense pouvant accueillir 60 000 habitants dont 30 000 emplois et 25 000 ménages comptabilisant de 10 à 20 000 voitures. La ville peut croître en y ajoutant des anneaux supplémentaires sur le principe d’une structure alvéolaire en nid d’abeilles. Sur le contour de chaque anneau, on retrouve une ligne de TC aérienne guidée qui comprend 24 stations ainsi qu’une voie dédiée aux vélos et piétons, et une troisième ligne si possible en sous-sol réservée aux 6 Ingénieur Arts et Métiers, chercheur à l’Inrets : Institut National de Recherche sur les Transports et leur Sécurité.3.5. UTOPIES 39 véhicules utilitaires, aux véhicules de service ou de transport de marchandises ainsi qu’aux voitures particulières qui se partagent l’espace du niveau inférieur également réservé aux machineries, aux divers réseaux techniques, aux aires de stockage et à la totalité des parkings publiques et privés. Les activités engendrant les plus gros trafics de marchandises se situent près ou au niveau de l’artère routière alors que celles qui induisent un trafic de voyageurs sont positionnées à proximité de la ligne de TC. les lieux de logement et d’activité sont mélangés et répartis selon leur nécessité en termes de proximité des diverses autres lieux, de la lumière, de l’air libre ou en direction de la verdure, tout cela pour réduire les besoins de déplacement, la longueur des trajets et respecter la diversité des attentes. Toutes les constructions réparties de façon homogène étant à proximité immédiate de la boucle, et plus particulièrement des stations de TC, la ligne de TC devient très attractive et la plupart du temps, la voiture n’est plus d’une nécessité absolue. De plus, comme le réseau de TC dessert l’ensemble des lieux fréquentés sur l’anneau, il est en mesure de capter 1 à 2 voyages par habitant et par jour contre 0,1 à 0,2 en règle général. Compte tenu de sa structure en boucle, la ligne de TC peut donc être rentabilisée avec 10 fois moins d’habitants desservis. Pour mieux répondre à la diversité des attentes individuelles, des pavillons, villas et cabanons peuvent être tolérés dans l’espace de verdure en conservant des règles justes et strictes d’accessibilité, d’implantation et de construction pour garder à la partie dense la vue et la proximité de la verdure et des beaux espaces libres. Pour l’approvisionnement en marchandises, les transporteurs déposent ou prennent leur chargement sur des plateformes logistiques situées aux entrées de la ville et directement branchées sur les voies interurbaines rapides ou sur une gare ferroviaire. Un service de véhicule adapté peut alors distribuer et collecter les colis ou assurer les échanges internes en accédant aux points de livraison et de collecte localisés sur le court linéaire de voirie couvert qui reste d’accès facile aux poids lourds. Pour traverser un anneau (diamétralement), il faut compter entre 40 et 60 mn à pieds, 15 mn à vélo et 15 mn en TC. Une ville constituée de 3 hexagones formant un trèfle équivaut à 2,5 anneaux bâtis, soit 150 000 habitants. Un motif de 7 hexagones formant une fleur à 6 pétales équivalent à 5 anneaux, soit une ville de 300 000 habitants. Avec une bande urbanisée de 500 m de large sur une maille complète, on obtient une densité de 100 hab/ha7 (carré de 500 m de cotés avec une station de TC en son centre, soit 25 ha avec 2 500 hab) où chaque habitant est à moins de 350 m d’une station de TC et à moins de 250 m d’un grand espace de verdure. Avec une bande urbanisée de 1 000 m de large, la densité tombe à 50 hab/ha 8 et chacun est à moins de 550 m d’une station de TC. Le grand espace de verdure central devient moins accessible (il reste à moins de 500 m) mais il est davantage présent dans toute la bande construite. Avec cette organisation, la ville creuse permet de réduire efficacement les besoins de mobilité et de transport de biens, elle se caractérise par un trafic concentré sur sa boucle et une forme urbaine attractive (densité pas trop élevée, logements individuels, proximité de la nature) économe en énergie et matériaux, produisant peu de déchets et s’approvisionnant en priorité sur son territoire agricole. Elle peut s’accommoder facilement de la géographie d’un lieu, de sa géologie ou de son histoire et s’y insérer en douceur tout en le préservant, le tracé choisi pouvant suivre un chemin existant, encercler un petit bourg de caractère ou l’intégrer comme nœud principal. Une ville ainsi constituée pourra s’adapter à des temps plus difficiles, en particulier à une mobilité bien plus coûteuse des biens et des personnes. Pour s’en persuader, récapitulons ici les attraits marquants de cette ville pour un développement urbain durable, pour être riche de ce dont on n’a plus besoin : • la structure compacte et dense du bâti favorise les économies (en matériaux de construction, d’énergie de chauffage ou de climatisation, en eau, en linéaire et raccordement des réseaux techniques) ; • la possibilité de circuler en zone couverte et continue favorise la marche à pied et l’usage du vélo ; • la proximité des lieux (services, formation, travail) réduit la longueur, la durée et le coût des déplacements contraints ; • la surface occupée par le mode routier, parkings compris, est réduite (5 % de la surface de la maille) ; 7Densité proche de celle d’une cité jardin comprise entre 160 et 200 hab/ha 8Correspond à une densité proche d’une zone pavillonnaire40 CHAPITRE 3. DÉVELOPPEMENT DURABLE • tout point du bâti principal est à proximité immédiate d’une ligne de TC ; • continuité de service des TC (deux itinéraires pour se rendre d’un point à l’autre) ; • proximité constante des espaces verts et de toutes les activités récréatives rendant la densité viable ; • absence de nuisances liées à la circulation automobile : effet de coupure, bruit, pollution, danger, bouchon ; • possibilité d’extension de la ville par ajout de maille (reproduction du motif) sans remise en cause ou dégradation des conditions existantes ; • extrême simplicité grâce à une structure annulaire (flux de marchandises entrant et sortant faciles à rationaliser, moins de carrefours, signalisation simplifiée, séparation des modes de transport, des flux en eau, ordure, électricité ou de chaleur) ; • plus d’éventration permanente des voiries par des tranchées ; • facilité de maintenance des réseaux (bonne accessibilité, détection des fuites de fluides) ; • pas d’extrémités de ligne de TC pauvres en trafic, pas de tronçon central surchargé. JEAN-LOUIS MAUPU nous propose une armature de ville sans centre ni banlieue, une nouvelle machine à habiter organisée tout simplement le long d’une ligne optimale de transport collectif. Mais cela nécessite une autorité organisatrice indépendante (ou une auto-organisation durable) capable de la projeter, de la bâtir et de la maintenir, capable aussi de transcender les contradictions de son opinion publique, et c’est probablement ce dernier aspect qui constitue la principale utopie de son projet. 3.6 Conclusion L’urbanisme moderne n’est pas durable car il crée des situations figées, non évolutives. De plus, la réalité de l’évolution sociale des grands ensembles français a rappelé qu’on ne pouvait omettre les dimensions anthropologiques et sociologiques de la ville et de l’habitat et qu’au-delà de la satisfaction de ses besoins de base (manger, s’abriter), l’homme est un être social dont les besoins varient en fonction des cultures et des organisations sociales. Il faut donc penser globalement tout en agissant localement. L’un des enjeux majeurs d’un urbanisme durable est de redonner une certaine compacité à l’agglomération, donc à augmenter la densité de ses secteurs périphériques. Pour y parvenir, il faut sans doute changer les réglementations urbaines en imposant des densités minimales pour limiter la croissance urbaine et permettre de doter l’agglomération de services performants et plus économiques. Une densité suffisante peut être retrouvée en reconstruisant la ville sur la ville. L’introduction de la nature dans l’urbain est un facteur déterminant pour rendre cette densité supportable. Dans ce contexte, il parait également nécessaire de redonner à la voiture la place qu’elle mérite en ville, ni plus ni moins, et d’imaginer des transports collectifs accessibles à tous et performants. D’autre part, la mixité sociale et fonctionnelle apparaît essentielle pour limiter nos besoins en déplacements, et par conséquent limiter nos consommations d’énergies et diminuer les nombreuses pollutions (qualité de l’air, bruit, danger, etc.) tout en assurant l’équilibre et la cohésion de ces grands ensembles vivants. Le développement de nos villes déterminera l’avenir de l’Europe9 [108]. Dans la pratique, il faut néanmoins distinguer deux situations : celle des pays développés qui possèdent déjà un milieu très urbain et relativement stable et celle des pays en développement qui voient leurs paysages urbains se métamorphoser sous l’impulsion de populations rurales nombreuses qui viennent s’agglutiner en périphérie des villes ou dans les bidonvilles. "Des solutions en matière de ville durable existent, mais on ne sait pas les rendre désirables. La ville appelle de nouveaux récits, mais trop peu de personnes sont capables de les produire" [20]. Pour mettre en œuvre ces solutions qui existent en matière de ville durable et les rendre accessibles au plus grand nombre à défaut de les rendre désirables, de nombreux projets de recherche ont vu le jour ces dernières années pour proposer des modèles et outils d’aide à la décision dans bien des domaines de l’urbanisme et accompagner ainsi les décideurs dans des choix éclairés. C’est notamment le cas de ces travaux de thèse qui contribuent 9 Johannes Hahn, Membre de la Commission européenne en charge de la politique régionale.3.6. CONCLUSION 41 au projet de recherche SUSTAINS pour proposer une aide à la décision opérationnelle destinée à la pré- programmation d’environnements urbains durables.4 Cadre méthodologique et problématique Dans un premier temps, nous présentons le cadre méthodologique dans lequel s’inscrivent nos travaux en revenant sur les contributions notables de l’urbanisme au développement durable et en présentant les grandes lignes du projet de recherche SUSTAINS auquel nous participons. Il s’agit d’un projet de recherche pluridisciplinaire qui propose de réaliser un outil d’aide à la décision pour la pré-programmation urbaine (4.1.2.1). En nous associant à ce projet qui regroupe des experts de différents domaines (urbanistes, architectes, statisticiens, concepteur d’interfaces homme machine ou de simulations 3D, chercheurs, ...), nous ancrons nos travaux de recherche dans la réalité du terrain en profitant de compétences croisées et complémentaires sur un domaine reconnu pour être complexe et très difficile à appréhender dans sa globalité. Ce sera également un bon moyen de valider nos modèles et résultats par des professionnels du domaine. A partir de ces éléments, nous décrivons notre problématique en détail en faisant l’inventaire des problèmes de recherche que nous souhaitons adresser dans cette thèse. Après avoir évoqué les principaux concepts et théories associés à ces problèmes, nous les déclinons en questions de recherche précises et faisons une série d’hypothèses pour approcher des réponses présumées. Enfin, nous décrivons notre méthode générale de travail pour y parvenir. 4.1 Synthèse des éléments contextuels 4.1.1 Articulations entre urbanisme et développement durable La contribution de l’urbanisme au développement durable est une idée largement répandue qui s’inscrit en France dans la loi de programmation relative au Grenelle de l’environnement avec une obligation pour les collectivités publiques, de par leurs prévisions et leurs décisions d’utilisation de l’espace, de réduire à la fois les émissions de gaz à effet de serre (GES) et les consommations d’énergies, notamment les ressources fossiles [70]. Pour répondre à ces enjeux, les urbanistes préconisent différentes orientations : • limitation de l’étalement urbain ; • promotion des transports collectifs et de la marche à pied ; • meilleure répartition des activités et des logements dans l’espace. Malgré ces recommandations apparues dès les années 70, la ville a évolué de manière assez éloignée de ces grands principes. Certaines études [185, 196, 209, 11, 262, 287, 36] contestent même l’efficacité de l’urbanisme dans ces domaines, en évoquant : • des impacts limités en comparaison de ceux attendus dans les domaines de l’automobile (amélioration 4344 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE des moteurs) et du bâtiment (meilleure isolation) ; • des coûts de mise en œuvre très importants ; • des effets perçus sur le long terme inadaptés face à l’engagement de diminuer, en France, les émissions de gaz à effets de serre par quatre d’ici à 2050. Néanmoins, les modes d’organisation spatiale des villes, et notamment la densité, ne sont pas neutres du point de vue des émissions de gaz à effet de serre. Il a été établi que, selon que l’on vit dans une zone bien desservie et bien équipée, ou que l’on vit dans une zone peu dense et dépendante de l’automobile, la consommation d’énergie pour la mobilité varie dans un rapport de 1 à 3 pour des personnes comparables en termes de niveau de vie et d’âge. Ces variations sont principalement imputables aux distances parcourues pour réaliser les activités quotidiennes. Les habitants des cœurs urbains réalisent une part plus importante de leurs déplacements à pied ou en transport en commun, mais le gain obtenu par les habitants des zones denses peut être contrebalancé par des déplacements saisonniers ou de fin de semaine plus importants, l’accès à un jardin réduisant la mobilité de loisir grâce à « l’effet barbecue » 1 . Outre la densité, de nombreuses études montrent que la répartition des ressources (logements, emplois, services, etc.) à l’intérieur de l’espace urbain joue un rôle très important sur la consommation énergétique et l’émission de GES du fait des déplacements. Le levier d’action principal est moins la forme urbaine ou la densité que la manière dont s’agencent les individus, activités et réseaux de transport pour faciliter une accessibilité peu émettrice de GES et peu consommatrice d’énergie. Enfin, certains supposent qu’un prix élevé de l’énergie pourrait avoir un impact beaucoup plus efficace que l’urbanisme et l’aménagement du territoire pour réduire les émissions de GES. Mais jouer sur le seul effet du prix conduirait à faire l’impasse sur les conséquences sociales de telles mesures, les ménages pauvres situés principalement dans les espaces périurbains à faible densité étant parmi les plus vulnérables face à une augmentation du coût de l’énergie. Pour assurer l’équité sociale inscrite dans les principes du développement durable, il est nécessaire de prévoir un aménagement urbain qui autorise au plus grand nombre des déplacements quotidiens indispensables à la vie économique, sociale et culturelle de toutes les villes, même en cas d’usage rare ou cher de l’énergie. En complément des réductions de GES et des consommations d’énergies, le renforcement des liaisons piétonnières, l’amélioration des réseaux de transport collectifs, une plus grande imbrication des logements et des activités, etc. contribuent à la qualité urbaine dans ses différentes dimensions (sociale, environnementale et économique). Ces principes d’aménagement jouent notamment un rôle majeur sur l’acceptabilité sociale de la transition énergétique en marche. Dans le cadre de nos travaux, nous nous intéressons plus particulièrement à une organisation de l’espace urbain (occupation des sols) qui puisse satisfaire les objectifs suivants : • densité maîtrisée ; • proximité de la nature ; • mixité sociale et fonctionnelle ; • viabilité économique des projets urbains ; • aménagement à l’échelle d’une ville nouvelle ou pour le renouvellement complet d’un quartier ; • bien être des habitants (en évitant le bruit, en favorisant les modes de transport doux, . . . ). 4.1.2 Un champ d’application moteur de la recherche théorique Les travaux de recherche relatifs à cette thèse s’inscrivent dans le cadre du projet de recherche national FUI2 SUSTAINS (http ://www.sustains.fr/). Ce projet propose de réaliser un outil d’aide à la décision pour la pré- programmation urbaine (cf. définition dans la section ci-dessous) et le choix des systèmes énergétiques. Cet outil doit permettre d’appréhender la complexité des modèles urbains (résidentiels, industriels, services pu- 1Dans un espace périurbain, on est généralement de gros consommateurs de kilomètres automobiles pour aller travailler, mais le week-end, on a tendance à rester chez soi pour profiter du jardin et faire un barbecue. 2Fonds Unique Interministériel.4.1. SYNTHÈSE DES ÉLÉMENTS CONTEXTUELS 45 blics) dans ses dimensions sociales, économiques, énergétiques, de mobilité et de durabilité. L’intégration, la visualisation et la manipulation de ces dimensions dans une plateforme informatique3 opérationnelle de la ville visent à replacer les différents acteurs (élus, financeurs, société civile) au sein du processus de décision en se focalisant sur deux enjeux : environnement et énergie. Ce projet, commencé en 2011, s’est achevé le 11 février 2014 lors d’une présentation des principales avancées scientifiques et résultats obtenus en présence de tous les acteurs impliqués, des différents financeurs et représentants de structures associées au développement urbain. 4.1.2.1 Pré-programmation urbaine Face à la nécessité d’opérer des choix de développement urbain qui s’inscrivent dans une perspective durable, les collectivités sont amenées à réaliser des arbitrages complexes, en mesurant a priori les consé- quences environnementales et économiques des solutions envisagées. Pour être accompagné dans ces choix difficiles, il est désormais essentiel d’utiliser une méthodologie et un outil permettant de modéliser la programmation d’environnements urbains dans une phase amont, aussi bien pour la création de villes nouvelles que pour la restructuration urbaine. Cette phase constitue la pré-programmation urbaine (PPU), étape préalable au lancement d’une étude urbaine complète. Elle permet d’établir dans une démarche systémique les éléments de programmation (proportion de maison d’habitation, immeuble collectif, bureau, zone artisanale ou industrielle, équipement, espace vert, etc.) essentiels à intégrer dans la conception d’une ville durable. Elle fournit sur une emprise territoriale donnée des études de capacité d’accueil d’un ensemble urbain avec tous les éléments de programmation y compris les équipements publics induits à partir d’un taux d’emploi spécifié. La pré-programmation comprend le positionnement des centralités et axes urbains, la répartition des intensités (niveaux de densité urbaine, de mixité fonctionnelle, de mobilité) et des espaces de respiration, l’organisation en quartiers et en îlots, le tout en fonction d’une population donnée, d’un taux d’emploi, d’une emprise territoriale et d’un ensemble de descripteurs tels l’équilibre des aménagements logements/emplois, la diversification des surfaces ou la création d’espaces de vie collectifs polyvalents. 4.1.2.2 Description générale du projet Le projet SUSTAINS, réalisé en collaboration étroite entre des praticiens de la ville, des experts du domaine de la production et distribution énergétique, et des chercheurs, consiste à : • concevoir un modèle théorique de développement urbain durable reposant sur l’expérience pluridisciplinaire de praticiens de l’aménagement urbain (Établissements Publics d’Aménagement de Marne-la-vallée : ÉPAMARNE). Ce modèle de pré-programmation urbaine est construit autour de la notion d’intensités urbaines intégrant niveau de densité, mixité fonctionnelle et support de mobilités. • étudier et réaliser un modèle informatique interactif qui génère une planification urbaine à partir des règles du modèle théorique de développement urbain durable et de contraintes posées sur les indicateurs (par exemple le maintien d’indicateurs dans des fourchettes de valeurs). Ce modèle doit permettre une visualisation de la ville et de ses indicateurs, ainsi qu’une interaction avec celle-ci (par exemple modification des seuils ou déplacement des éléments de programmation). Cette démarche inverse de conception consiste en (i) l’expression sous forme de contraintes des propriétés désirées de la ville au travers des nombreux indicateurs qui la caractérisent (habitat, énergie, transport, services), (ii) la génération d’une planification urbaine par résolution de ces contraintes (création d’un maillage routier, identification des quartiers et des îlots, caractérisation de la nature des ilôts) et (iii) l’interaction avec cette planification à différents niveaux (répartition spatiale, agencement des quartiers, seuillage des indicateurs) en maintenant la satisfaction des contraintes et la cohérence de l’ensemble. • concevoir et développer un module de simulation et d’optimisation des schémas énergétiques. Ce module permet de modéliser les besoins énergétiques d’un ensemble urbain (zones résidentielles, 3On utilisera le terme de « plateforme » par ailleurs dans ce document pour faire référence à cette suite logicielle.46 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE FIGURE 4.1 – Échanges entre les modules attribués aux différents acteurs du projet SUSTAINS : ① Surface à aménager et autres paramètres ② Objectif en nombre d’îlots de chaque type (maisons, immeubles d’habitation, commerces, écoles, bureaux, . . . ) ③ Adresse du fichier de configuration ④ Contenu du fichier de configuration dans lequel est assigné à chaque îlot symbolique une fonction urbaine (maisons, immeubles d’habitation, commerces, écoles, bureaux, . . . ) ⑤ Données sous la forme d’un fichier KML ⑥ Entrées issues du traitement relatif au fichier KML ⑦ Volumes annuels de consommation par mode sous la forme d’un fichier CSV ⑧ Fichier KML dans lequel a été inclus l’ensemble des résultats énergie et transport ⑨ Fichier 3D de base ⑩ État du traitement du fichier 3D et index du projet. (Schéma extrait du rapport de fin de projet SUSTAINS.) industries, services publics), de simuler les profils de production/distribution pour répondre à cette demande et d’évaluer l’impact environnemental ainsi que les coûts complets correspondants. • expérimenter et valider le modèle à différentes échelles de villes (éco-quartier, ville,. . . ) en utilisant les données socio-économiques, écologiques et d’aménagement fournies par des projets en cours menés par ÉPAMARNE. La figure 4.1 présente les modules répartis entre les différents acteurs impliqués dans le projet SUSTAINS ainsi que les flux d’échanges qui viennent constituer et enrichir une pré-programmation urbaine. Cette thèse coïncide avec le module « LINA / Moteur IA4 » de la figure 4.1 qui a la charge de produire un modèle informatique interactif (cf. section "Description générale du projet" ci-dessus). 4.2 Le cadre méthodologique Notre travail s’intéresse d’une part aux contributions notables de l’urbanisme au développement durable et se positionne d’autre part au cœur du projet de recherche SUSTAINS. La figure 4.2 illustre de façon synthétique le cadre méthodologique qui s’articule autour d’une plateforme globale d’aide à la décision pour la conception d’environnements urbains durables : 4Moteur IA pour "Moteur d’Intelligence Artificielle" : ce module informatique apporte l’intelligence nécessaire (artificielle) pour répartir au mieux et de façon automatique les éléments urbains sur la ville, tout en proposant une interaction utilisateur nécessaire à l’obtention d’une solution de compromis entre les décideurs.4.2. LE CADRE MÉTHODOLOGIQUE 47 FIGURE 4.2 – Conception d’un environnement urbain durable en 4 étapes : (1) paramétrage des contours du territoire urbain, des propriétés, des axes principaux, des centralités et des zones d’intensités ; (2) calcul du nombre de formes urbaines par niveau d’intensité ; (3) positionnement automatique des formes urbaines sur la ville en respectant un équilibre entre les trois piliers d’un développement durable (économique, social, et environnemental) sans privilégier l’un au détriment des autres ; (4) manipulation interactive des formes urbaines avec maintien des contraintes et préférences. Les deux dernières étapes sont au cœur de notre travail de thèse. 1. le concepteur fixe les contours de la ville, l’emplacement des centralités et l’emprise de chaque niveau d’intensité sur une grille régulière. 2. un système expert (basé sur des règles métier) calcule le nombre de formes urbaines5 de chaque type (maison, bureau, commerce, industrie, ...) par niveau d’intensité en fonction d’un taux d’emploi et des capacités d’accueil du territoire ainsi délimité, de façon spécifique pour chaque pays. 3. les formes urbaines sont automatiquement réparties sur la grille régulière en respectant les contraintes de placement et en favorisant les préférences entre les formes urbaines, le tout traduisant un équilibre entre les différentes propriétés sociales, économiques et environnementales d’une ville durable. 4. les décideurs manipulent l’environnement urbain tandis que la cohérence des contraintes et des pré- férences est maintenue. Nous cherchons à simuler une organisation spatiale optimisée d’un espace urbain durable dans le cadre d’une pré-programmation de façon à : • respecter certaines contraintes structurelles ; • tout en favorisant des préférences de placement liées aux formes urbaines. 5On parle ici du type dominante d’occupation du sol pour chaque cellule de la grille, à ne pas confondre avec la forme globale de l’espace urbain. C’est cette signification qui primera dans la suite de ce document.48 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE 4.2.1 Un carroyage symbolique régulier Pour représenter la ville, nous utilisons une représentation symbolique prenant la forme d’un carroyage régulier où chaque carreau est desservi par quatre rues ou artères rectilignes (avenues, rues, dessertes, ...). Une fois définies, les voies de communication restent fixes sans entraîner de rétro-action avec les formes urbaines qui seront affectées aux carreaux. A notre niveau, nous nous intéressons plus particulièrement à la répartition des formes urbaines sur la ville (dans chaque carreau) et non aux formes géométriques qu’elle peut prendre. Une déformation à la marge de cette trame pourra être opérée par la suite (par exemple pour un rendu 3D plus réaliste) afin de l’adapter aux courbes du terrain ou aux traits de l’architecte et de l’urbaniste, sans pour autant modifier fondamentalement les résultats précédents. Les données et ratios utilisés pour la conception de la plateforme, notamment le modèle urbain (fi- gure 4.2, étape 2), s’appuient sur différentes réalisations urbaines afin de prendre en compte les contraintes techniques, commerciales, économiques, sociales et environnementales. Ce faisant, la plateforme SUSTAINS ne peut être exploitée en l’état que dans le cadre d’un développement urbain d’au moins cent cinquante hectares, plat et non urbanisé. Mais ces limitations ne concernent pas directement nos travaux qui peuvent être exploités avec ou en dehors de cette plateforme. 4.2.2 L’îlot comme unité de travail Maintenant que nous avons identifié l’échelle globale d’un projet, il nous reste à définir la plus petite unité de travail pertinente pour notre travail. En France, pour cette taille de projet6 , une concertation préalable et une communication portant sur les enjeux et les objectifs de l’aménagement doivent être organisées et des séances de présentation au public sont généralement prévues pour évaluer différents scénarios7 . Lors de cette phase pouvant coïncider avec l’étape de pré-programmation, les résultats présentés au grand public ne doivent pas apparaître trop réalistes pour favoriser le dialogue et renforcer l’idée que toutes les décisions ne sont pas arrêtées. Rappelons également que cette étape de PPU (Pré-Programmation Urbaine) doit proposer une vision à "gros grain" aux décideurs pour qu’ils ne s’embarrassent pas de détails superflus et qu’ils restent focalisés à un niveau suffisamment général dans le but de prendre des décisions stratégiques qui engageront le développement futur d’une ville entière ou d’un quartier sur le long terme. Dans ces circonstances, un découpage du territoire en cellules fixes de 80 m x 80 m correspondant à un îlot urbain standardisé semble suffisamment précis pour caractériser le niveau de granularité le plus fin d’une étude, sans devoir descendre à la parcelle ou au bâtiment. Ce choix renforce une représentation symbolique de la ville (pouvant néanmoins faire apparaître des bâtiments "simples") caractéristique d’une ébauche de projet pouvant encore évoluer. 4.2.3 Résolution optimale et résolution interactive Intéressons-nous maintenant aux contextes de génération des différents scénarios. Les résultats que nous fournirons seront intégrés dans la plateforme selon deux protocoles : • le premier protocole correspond à une recherche initiale de solutions pouvant être lancée sur plusieurs heures en ayant éventuellement recours à des ressources matérielles conséquentes ; • le second protocole correspond à la modification interactive par les décideurs d’une solution initiale pré-calculée (i.e. issue du premier protocole). Dans le premier protocole, nos algorithmes sont utilisés pour fournir une solution initiale (ou plusieurs propositions) dans un temps de résolution limité mais fixé à l’avance, l’échéance pouvant être de l’ordre de quelques heures à une nuit entière pour générer les différents scénarios de base. Dans le second protocole, 6La concertation préalable est obligatoire en France pour les aménagements d’espaces publics dépassant le seuil de 1,9 million d’euros d’investissement (cf. articles L 300-2 et R 300-1 du Code de l’Urbanisme). 7Un scénario correspond au résultat d’une simulation préalable retenue compte tenu de ses caractéristiques et pouvant repré- senter (ou être à la base) une solution potentielle. Différentes simulations permettent généralement d’obtenir différents scénarios présentant des caractéristiques différentes en fonction des choix opérés lors des processus de génération.4.3. PROBLÉMATIQUE 49 une solution initiale (basée sur un scénario) est projetée sur une grande table tactile et les décideurs interagissent avec la solution pour l’adapter à leurs visions ou décisions. Nos outils doivent alors tenir compte des modifications imposées par les utilisateurs tout en maintenant la cohérence des contraintes et des pré- férences dans un contexte ne laissant guère que quelques secondes tout au plus à la procédure de réparation pour opérer. Dans le premier cas, la priorité peut être donnée à la qualité des solutions produites alors que dans le second, c’est le temps de réponse qui devient prioritaire. Notre problème revient alors à positionner au mieux les formes urbaines issues du modèle urbain (figure 4.2, étape 2) sur chaque cellule libre de la grille, chaque cellule représentant un îlot urbain, ceci quel que soit le contexte de résolution (correspondant à nos deux protocoles). Sans en avoir la certitude à ce stade, nous faisons l’hypothèse qu’il sera possible de répondre aux exigences de ces deux contextes (pour la résolution initiale et les réparations interactives) grâce à une procédure d’optimisation unifiée capable de répondre de façon appropriée à chaque situation. 4.2.4 Positionnement de la PPU par rapport aux plateformes de conception urbaine existantes Si il existe beaucoup de modélisations urbaines sur des sujets spécifiques, il n’y a pas précisément de modélisation relative à la pré-programmation urbaine. La PPU se positionne en amont des outils de simulation actuels. Elle vient compléter une chaîne méthodologique dans une tâche de programmation urbaine qui consiste à (i) modéliser une ville par ses caractéristiques et (ii) à simuler son évolution. Parmi ces outils de simulation, on peut noter l’existence de la plateforme américaine URBANSIM [283] classée dans la catégorie des modèles d’urbanisation (Land-Use model). Ce logiciel peut fonctionner en interaction avec différents modèles externes de transport pour constituer un modèle complet de type LUTI (Land Use Transportation Integrated model). En infographie, de multiples recherches se focalisent sur la création de villes nouvelles. Mais bien souvent, ces contributions s’attachent plus à la représentation esthétique des villes (en essayant de les imiter avec le plus de réalisme possible) qu’à leurs dimensions fonctionnelles. Néanmoins, les travaux récents de Vanegas et al. [273] tentent de combler ce vide en intégrant dans leurs outils les modèles d’évolution de la suite URBANSIM sans toutefois proposer une interaction utilisateur permettant de modifier en temps réel les caractéristiques de la ville et sans que cette plateforme soit conçue à l’intention expresse des urbanistes et des décideurs. Finalement, il existe des logiciels élaborés pour les urbanistes (comme CommunityViz [158]) qui proposent des outils de conception automatisés et interactifs. Toutefois, ils se positionnent le plus souvent à une échelle très détaillée (parcelle, bâtiment) et la phase de conception pouvant être assimilée à la PPU reste pauvre en automatismes, privilégiant des tâches manuelles et répétitives assimilables à du dessin. 4.3 Problématique Nous évaluons mieux après ces quelques pages l’étendue et la complexité du sujet traité dans cette thèse. Pour l’aborder de façon méthodique, nous proposons de décomposer notre problématique en trois grandes sections complémentaires : • proposer un modèle de pré-programmation urbaine ; • rechercher une bonne organisation spatiale de la ville à partir du modèle de PPU dans un contexte batch ou interactif ; • imaginer une interaction avec l’utilisateur capable de maintenir la cohérence globale d’une solution. 4.3.1 Proposer un modèle de pré-programmation urbaine Le modèle proposé doit nécessiter très peu de données en entrée, ces données pouvant être limitées aux éléments suivants :50 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE • les contours du territoire à aménager ; • l’emprise de chaque intensité ; • le nombre et la position de chaque centralité ; • un carroyage régulier définissant les axes de transport principaux et secondaires (avenues, rues et dessertes) ; • les zones non constructibles (rivières, forêts à préserver, . . . ) ; • le nombre de chaque forme urbaine à répartir sur la ville, ces formes urbaines étant ventilées par niveau d’intensité. Le carroyage permet de découper le territoire en cellules régulières où chaque cellule représente un îlot urbain. Une cellule peut être fixe ou libre. Pour une cellule fixe, la forme urbaine est imposée (rivière, forêt, . . . ) alors que pour une cellule libre, aucune forme urbaine ne lui est affectée. Tout l’enjeu consiste à associer à chaque cellule libre la meilleure forme urbaine possible en fonction des formes urbaines à répartir sur la ville. La partie relative à la modélisation est très délicate compte tenu du nombre important de notions à traiter et de la difficulté à les représenter. De plus, il faut appréhender le problème dans sa globalité (approche systémique), avec par exemple une action simultanée touchant à la localisation des diverses ressources territoriales, la densification ou encore des agencements favorables aux modes de transport doux ou collectifs. Par rapport à cette section, les questions suivantes se posent alors : • une phase d’analyse approfondie avec des experts de l’aménagement urbain permettra-t-elle d’identifier les propriétés d’un modèle de PPU pertinent avec si peu de données disponibles en entrée ? • est-il possible de transposer ou d’adapter un modèle américain aux autres continents ? • notre modèle sera-t-il circonscrit à la création d’une ville nouvelle ou pourrait-il être utilisé pour l’extension d’une ville existante ou la réhabilitation d’un quartier (friche industrielle, . . . ) ? • comment définir et représenter les règles de placement des formes urbaines pour satisfaire aux critères d’un développement durable ? • une propriété donnée du problème doit-elle être traduite en contrainte ou en préférence ? • le modèle proposé sera-t-il suffisamment simple pour être compréhensible par des utilisateurs non experts (décideurs), critère essentiel pour son adoption ? • quel formalisme doit-on adopter pour représenter notre modèle ? 4.3.2 Rechercher une bonne organisation spatiale de la ville à partir du modèle de PPU dans un contexte batch ou interactif L’objectif consiste à générer (contexte batch) ou à maintenir (contexte interactif) une ville durable optimisée et réaliste. Pour cela, nous allons exploiter notre modèle de PPU pour répartir au mieux et de façon automatique les formes urbaines (calculées par le modèle urbain) sur chaque cellule libre du carroyage. On entend par libre une cellule dont la forme urbaine n’a été imposée ni par le modèle urbain, ni par l’utilisateur. Reste alors à répondre aux difficultés suivantes : • y a-t-il toujours une solution au problème posé ? • inversement, si il existe plusieurs solutions au problème, alors ces solutions sont-elles nombreuses et pouvons nous trouver la meilleure solution ? • existe-t-il des méthodes capables de résoudre efficacement notre problème et seront-elles en mesure de passer à l’échelle pour des villes réelles de différentes tailles ou de différentes natures ? • est-ce que la qualité des résultats obtenus peut être garantie ? • face à une instance d’un problème particulier, est-t-il possible de prédire les temps ou la puissance de calcul nécessaire ? • les méthodes de résolution retenues pourront-elles s’adapter à la fois au contexte batch et au contexte interactif ou bien faut-il prévoir une méthode dédiée à chaque contexte ? • faudra-t-il dégrader le modèle pour le rendre compatible avec la partie interactive ?4.4. MÉTHODE GÉNÉRALE DE TRAVAIL 51 • ces méthodes pourront-elles être intégrées dans un solveur unifié ? • si la taille du problème devient trop importante, la résolution pourra-t-elle encore se faire sur un ordinateur classique ou bien faut-il prévoir une grille de calcul pour pouvoir augmenter la taille des problèmes à traiter tout en conservant des temps de calcul raisonnables ? 4.3.3 Imaginer une interaction avec l’utilisateur capable de maintenir la cohérence globale d’une solution Bien qu’elle soit abordée en dernier, cette section occupe une place essentielle dans notre problématique de par son aspect « aide à la décision » en lien directe avec les utilisateurs. Dans cette partie, les décideurs doivent interagir directement avec un scénario et le système informatique sous-jacent doit être en mesure de répondre en temps réel aux actions opérées pour maintenir de façon automatique la cohérence globale de la solution en cours. Bien qu’il faille représenter des scénarios réalistes sur une table tactile de grande surface avec des quartiers, des îlots, des parcelles et des bâtiments de différentes natures (maison d’habitation, immeuble collectif, bureau, usine, etc.) en y intégrant les rues, espaces verts, espaces naturels et équipements publics, nous limiterons nos travaux à une représentation symbolique (et non géométrique) de la ville discrétisée par une grille uniforme où chaque cellule représente un îlot urbain associé à une forme urbaine dominante. Plus précisément, nous devrons répondre aux interrogations suivantes : • quelles seront les manipulations proposées à l’utilisateur, seront-t-elles limitées ou étendues, aurontelles une portée locale ou globale ? • faut-il prévoir plusieurs échelles de modification ou des niveaux hiérarchiques pour appréhender le problème interactif ? • des contraintes peuvent-elles être violées suite à une opération, et si oui, quelles sont ces contraintes ? • quelle forme doit prendre le processus de résolution : doit-il rester actif pendant toute la phase d’interaction ou peut-on le relancer en réponse à un événement particulier ? Quels peuvent-être ces différents événements et comment les propager à la procédure de résolution ? • peut-on gérer la réparation d’une solution comme une résolution initiale et faudra-t-il incorporer des données supplémentaires dans le modèle pour gérer l’interaction ? • avec l’utilisation de tables tactiles multi-touch, faut-il prévoir plusieurs utilisateurs opérant des modi- fications simultanées sur le même scénario ? • en retour à chaque action, comment informer les décideurs des conséquences de leurs choix, à partir de quels indicateurs ? • comment représenter ces indicateurs et pourront-ils être calculés en temps réel ? • sur quels critères pourra-t-on évaluer la pertinence du processus interactif ? 4.4 Méthode générale de travail Pour répondre à toutes les questions qui se posent, nous allons étudier des projets qui se sont confrontés à des problématiques voisines pour enrichir nos connaissances et trouver la bonne façon de les aborder. Nous nous appuierons également sur des professionnels du secteur, en particulier les urbanistes, architectes et concepteurs d’IHM8 impliqués dans le projet SUSTAINS, afin d’appréhender toutes les notions importantes à intégrer. Grâce à des confrontations directes et régulières, des réponses concrètes pourront être apportées au fil des rencontres. Plus tard, le point de vue des relecteurs de nos articles de recherche constituera probablement une source utile tout comme les présentations scientifiques et les discutions associées. Nous considérons que la réalisation de prototypes constitue un moyen objectif et efficace pour évaluer différentes classes de méthodes sur nos problèmes, les comparer et savoir si elles répondent bien aux objec- 8 Interface Homme Machine52 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE tifs fixés. Bien que la partie IHM ne soit pas directement de notre ressort, nous allons tout de même proposer une procédure de saisie et de rendu graphique très simple gérant l’interaction avec les utilisateurs pour appréhender l’ensemble des difficultés relatives aux modifications temps réel d’une solution et proposer en retour des moyens pertinents d’informer les utilisateurs des conséquences de leurs choix. Un aspect essentiel concerne la validation des résultats. Pour cela, nous travaillerons sur différentes instances de nos problèmes : dans un premier temps avec des instances « jouets » plus ou moins grosses pour les mises au point et l’évaluation des performances au sens informatique (temps de calcul, qualité des résultats), et dans un second temps, avec des instances réelles provenant de Marne-la-vallée. A chaque fois, les résultats seront soumis à des professionnels de l’aménagement urbain pour être validés. Pour ce qui concerne la cohabitation de nos recherches avec le projet SUSTAINS, elle constitue une réelle opportunité mais revêt également bien des difficultés. Par exemple, cela nécessite de synchroniser l’avancement de la thèse avec le calendrier du projet en ne perdant pas de vue les objectifs communs et les échéances qui ont été définis, ce qui peut favoriser une certaine rigidité. De plus, les décisions sur des sujets aussi vastes que l’urbanisme peuvent dans certains cas déchaîner les passions ou donner lieu à des discutions sans fin. D’un point de vue opérationnel et en l’absence d’une plateforme technique commune, les différents modules doivent communiquer par le biais de services distants répartis sur les sites de chaque partenaire en respectant des normes précises pour permettre aux différents services de travailler sur des données partagées. Et compte tenu des accords de consortium, certains documents ou algorithmes peuvent rester confidentiels de part et d’autre. Sous oublier que l’interdisciplinarité nécessite l’adoption d’un vocabulaire commun pour réussir à se comprendre, une ouverture d’esprit sur des problématiques qui ne sont pas directement en lien avec ses propres thèmes de recherche ou encore une adaptation permanente à des niveaux de réflexion qui peuvent être très généraux ou très précis. Pour faciliter les choses, nos réalisations doivent pouvoir fonctionner à la fois de façon intégrée avec la plateforme SUSTAINS, et de façon complè- tement autonome pour ne pas être confronté à ses limitations (indisponibilité d’un module, bugs, retards, expérimentations sur des échelles différentes, . . . ). En tout état de cause, nous faisons ici l’hypothèse forte que les avantages d’une collaboration pluridisciplinaire surclasseront largement tous les inconvénients, et qu’au final la plupart des difficultés se révéleront être très probablement des opportunités (rigueur, consensus, organisation, partage du savoir, . . . ). 4.5 Conclusion À partir d’une synthèse des éléments contextuels qui portent d’une part sur l’apport de l’urbanisme au développement durable et d’autre part sur le projet de recherche SUSTAINS auquel nous participons, un cadre méthodologique suffisamment précis a pu être identifié. Ces éléments nous ont permis de dégager une problématique détaillée relative à cette thèse que nous avons décliné en trois grands aspects portant sur la conception d’un modèle urbain, les possibilités de résolution correspondantes et la proposition d’une interaction avec les utilisateurs. Pour répondre aux nombreuses questions posées et aux difficultés scientifiques qu’elles soulèvent, nous allons commercer par dresser un état de l’art complet qui porte sur trois sujets complémentaires : • les problèmes d’optimisation combinatoire sous contraintes et les méthodes de résolutions associées ; • les systèmes interactifs d’aide à la décision ; • la modélisation urbaine et les problèmes de positionnement.II État de l’art 535 Problèmes d’optimisation combinatoire sous contraintes Comment trouver le plus court chemin passant par vingt-cinq villes données sans devoir examiner un à un les milliards de trajets possibles ? Ce sont de tels problèmes qu’informaticiens et mathématiciens étudient depuis plusieurs décennies pour trouver des méthodes de résolution efficaces capables de fournir des solutions avec un temps de réponse acceptable. Trouver une bonne solution consiste parfois à faire gagner du temps ou de l’argent, mais avec les avancées scientifiques et techniques, nous devons faire face à de nouveaux problèmes. C’est le cas par exemple de l’optimisation combinatoire appliquée à la génomique où l’on s’efforce de décrypter l’information génétique d’un organisme vivant. Les enjeux liés à la résolution des problèmes combinatoires sont donc essentiels, que cela soit sur le plan scientifique pour produire du savoir algorithmique, ou sur le plan pratique pour améliorer la performance de systèmes de plus en plus complexes (systèmes mécaniques, traitement d’images, électronique, . . . ). C’est ainsi que l’optimisation combinatoire occupe une place très importante en recherche opérationnelle et en informatique. De nombreuses applications peuvent être modélisées sous la forme d’un problème d’optimisation combinatoire telles que le problème du voyageur de commerce, l’ordonnancement de tâches, le problème de coloration de graphes, etc. Après l’identification des caractéristiques essentielles relatives aux problèmes combinatoires, nous ferons l’inventaire des principales méthodes capables d’adresser ces problèmes, ces méthodes pouvant être classées dans la catégorie des méthodes complètes ou incomplètes. Nous nous intéressons plus précisé- ment à deux méthodes de résolution efficaces applicables à ces problèmes : les méthodes complètes1 de programmation par contraintes (PPC) et les techniques de recherche locale (RL) qui sont des méthodes incomplètes2 . Il existe bien d’autres techniques de résolution, comme les algorithmes génétiques [133], de colonies de fourmis [78], l’optimisation par essaims particulaires [150] ou encore les systèmes multi-agents [81, 92]. Néanmoins, le sujet est si vaste qu’il est impossible ici d’aborder toutes les techniques de résolution en détail. Les problèmes d’optimisation étant de plus en plus complexes et les besoins en ressources ne cessant d’augmenter, les métaheuristiques réputées pouvoir attaquer des problèmes très difficiles peuvent à leur tour être limitées face à ces nouvelles exigences. Nous verrons alors comment le parallélisme permet d’étendre les capacités de ces techniques sans remettre en cause leurs fondements. 1Peuvent prouver l’insatisfiabilité ou l’optimalité 2A l’inverse, elles ne sont pas en mesure de prouver l’insatisfiabilité ou l’optimalité 5556 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES Ce chapitre constitue une synthèse des travaux et documents de référence suivants : [16, 251, 226, 14, 76, 30, 47, 115, 44, 12]. 5.1 Caractéristiques des problèmes combinatoires Les problèmes de nature combinatoire possèdent un nombre fini de configurations possibles, mais ce nombre est très grand, de sorte qu’une résolution par une simple énumération n’est pas concevable dans la pratique. Ces problèmes sont souvent faciles à définir mais habituellement difficiles à résoudre [127]. 5.1.1 Problème d’optimisation combinatoire Explosion combinatoire Rechercher le chemin le plus court ou le plus rapide entre deux points est un problème assez simple à résoudre. Mais quand le nombre d’étapes croît, le nombre de possibilités augmente au-delà de ce que l’on peut énumérer de tête, et même au delà de ce que peuvent examiner les ordinateurs les plus puissants en un temps raisonnable : il s’agit de l’explosion combinatoire. Il existe bien souvent un nombre exponentiel de solutions à un problème en fonction de sa taille. Le problème du voyageur de commerce (Traveling Salesman Problem, TSP) est un problème caractéristique d’optimisation combinatoire. Pour ce problème, il s’agit de trouver un chemin qui passe une fois et une seule par chaque ville en minimisant la distance totale parcourue pour revenir au point de départ. Si n représente le nombre de villes et S l’ensemble des partitions d’un ensemble à n éléments, alors |S| = (n−1)! 2 correspond au nombre de chemins possibles pour un problème symétrique. Une résolution du problème avec une énumération exhaustive consiste à générer tous les trajets possibles, à calculer leurs distances et à choisir le trajet ayant la distance minimale. La table 5.1 illustre le phénomène d’explosion combinatoire pour le problème du voyageur de commerce avec un nombre croissant de villes à parcourir. TABLE 5.1 – Problème du voyageur de commerce : temps de calcul nécessaire pour trouver le trajet le plus court en réalisant une énumération exhaustive de tous les trajets possibles en fonction du nombre de villes (un trajet pouvant être évalué en une microseconde). D’après [24]. n |S| Temps de calcul 5 12 12 microsecondes 10 181 440 0,18 seconde 15 43 milliards 12 heures 20 6 E+16 19 siècles 25 3 E+23 9,8 milliards d’années Pour repousser les limites et résoudre des problèmes d’optimisation combinatoire de plus grande taille en un temps raisonnable, on peut certes compter sur l’augmentation des capacités matérielles mais bien plus encore sur l’innovation algorithmique [24]. Definition 1 (Problème d’optimisation combinatoire). Un problème d’optimisation combinatoire est géné- ralement caractérisé par un ensemble fini de solutions admissibles S et une fonction objectif f : S → R qui associe une valeur à chaque solution admissible. La résolution du problème d’optimisation consiste à déterminer la ou les solutions de S minimisant ou maximisant f. Lorsque la fonction f représente un coût ou une perte, on parle d’un problème de minimisation. Lorsque la fonction f représente un gain, on parle d’un problème de maximisation.5.1. CARACTÉRISTIQUES DES PROBLÈMES COMBINATOIRES 57 5.1.2 Complexité Un algorithme nécessite deux ressources importantes pour résoudre un problème : du temps et de l’espace. La complexité en temps d’un algorithme correspond à une estimation du nombre d’instructions (ou d’étapes) à exécuter pour résoudre les instances d’un problème de taille n, cette estimation étant donnée en ordre de grandeur dans le pire cas, c’est à dire pour l’instance la plus difficile à résoudre. La complexité d’un problème est équivalente à la complexité du meilleur algorithme (au sens du plus rapide) pouvant résoudre ce problème. Comme les problèmes combinatoires ne possèdent pas tous la même difficulté, on utilise une classification définie par la théorie de la complexité pour cerner le niveau de difficulté lié à leur résolution [214]. Cette classification prend ses sources en 1971, lorsque Stephen COOK et Leonid LEVIN ont formulé quasiment au même moment deux classes importantes de problèmes de décision : • la classe P : correspond à l’ensemble des problèmes de décision algorithmiques pouvant être résolus en un temps polynomial (problèmes relativement faciles à résoudre) ; • la classe N P : correspond à l’ensemble des problèmes de décision algorithmiques tels que, si une solution possible est donnée, il est possible de vérifier cette solution en un temps polynomial (problèmes faciles à vérifier mais difficiles à résoudre). Un problème de décision correspond à une question mathématique qui a toujours une solution pouvant s’exprimer par "oui" ou par "non". Un problème d’optimisation peut toujours être réduit à un problème de décision. La classe de complexité P contient l’ensemble de tous les problèmes de décision pouvant être résolus par un algorithme de complexité polynomiale3 . Cette classe regroupe les problèmes qui peuvent être résolus efficacement. La classe de complexité N P rassemble quant à elle les problèmes de décision pouvant être résolus par un algorithme de complexité polynomiale pour une machine non déterministe, c’est à dire capable d’évaluer en parallèle un nombre fini d’alternatives. La classe N P englobe ainsi la classe P. La résolution des problèmes N P peut nécessiter l’examen d’un grand nombre de cas, éventuellement exponentiel4 , mais chaque cas doit pouvoir être examiné en un temps polynomial. Pour les problèmes les plus difficiles de N P, on ne trouve jamais d’algorithme polynomial pour résoudre chaque cas avec une machine déterministe. Ces derniers problèmes définissent la classe des problèmes N P-complet. Definition 2 (N P-complet). Un problème est dit N P-complet si : • il est dans N P ; • et il est au moins aussi difficile que tout problème de N P. Si on ne tient pas compte de la clause d’appartenance à la classe N P, on trouve la classe des problèmes N P-difficile qui fait référence aux problèmes d’optimisation dont les problèmes de décision associés sont N P-complet. Ces problèmes N P-difficile sont au moins aussi difficiles à résoudre que n’importe quel problème de N P [252]. Pour ces problèmes N P-difficile, on présume qu’il n’existe pas d’algorithme polynomial pour les résoudre à l’optimalité, c’est à dire un algorithme dont le temps de calcul soit proportionnel à n i , n étant le nombre de variables inconnues du problème et i une constante entière. Definition 3 (N P-difficile). Un problème est dit N P-difficile si il est au moins aussi difficile que tout problème de N P. La catégorie N P-difficile inclut également les problèmes qui ne sont pas des problèmes de décision. Beaucoup de problèmes académiques populaires sont N P-difficile, parmi eux, nous pouvons citer : • les problèmes d’affectation-localisation : problème d’affectation quadratique (Quadratic Assignment Problem ou QAP), problème d’affectation généralisé (Generalized Assignment Problem ou GAP), problème de localisation d’équipements (Facility Location Problem), problème de P-médian ; 3Complexité polynomiale notée O(n i ) : quand n double, le temps d’exécution est multiplié par 2 i ; n étant le nombre de variables inconnues du problème et i une constante entière. 4Complexité exponentielle notée O(i n) : quand n double, le temps d’exécution est élevé à la puissance 2 ; n étant le nombre de variables inconnues du problème et i une constante entière.58 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES • les problèmes de regroupement : Partitionnement de données (Data Clustering), Coloration de graphe (Graph Coloring) • le problème de couverture par ensembles (Set Cover Problem ou SCP). En fait, une majorité des problèmes de la vie réelle [104, 266] appartiennent à la classe des problèmes N P-difficile et ne possèdent pas de solution algorithmique efficace valable pour les résoudre à l’optimalité lorsque la taille du problème augmente. 5.1.3 Problèmes de satisfaction de contraintes Un très grand nombre de problèmes combinatoires appartient à la famille des problèmes de satisfaction de contraintes (Constraint Satisfaction Problem ou CSP) : configuration, planification, ordonnancement, affectation de ressources, etc. Étant donné un ensemble de contraintes, portant chacune sur un sous-ensemble donné de variables auxquelles on cherche à affecter une valeur, la question centrale est de savoir s’il existe une possibilité de satisfaire simultanément toutes ces contraintes et, le cas échéant, quelles valeurs peut-on affecter à chaque variable pour satisfaire toutes les contraintes [27]. Ces problèmes partagent une description commune, basée sur un formalisme très simple, qui autorise en général une modélisation claire et intuitive. Definition 4 (CSP). Un problème de satisfaction de contraintes (CSP) est défini par un triplet (X, D, C) tel que : • X = {x1, · · · , xn} est l’ensemble des variables (les inconnues) du problème, • D = {D (x1), · · · , D (xn)} est l’ensemble des domaines et D (xi) correspond à l’ensemble fini des valeurs possibles pour la variable xi , • C = {C1, C2, ..., Ck} représente l’ensemble des contraintes et Cj est une relation entre certaines variables de X. Une contrainte définit les combinaisons de valeurs des variables autorisées. C’est une relation logique (une propriété devant être vérifiée) entre différentes variables. Ainsi, une contrainte restreint les valeurs que peuvent prendre simultanément les variables. Definition 5 (Affectation). On appelle affectation (ou configuration) le fait d’instancier certaines variables à des valeurs prises dans leurs domaines respectifs. Une affectation est dite totale si elle instancie toutes les variables et partielle si elle n’en instancie qu’une partie. Une affectation (totale ou partielle) est consistante si elle ne viole aucune contrainte, et inconsistante si elle viole une ou plusieurs contraintes. Definition 6 (Espace de recherche). L’espace de recherche d’un CSP P = (X, D, C) est l’ensemble des configurations possibles noté S, tel que : S = D (x1) × D (x2) × · · · × D (xn) L’espace de recherche est égal au produit cartésien de l’ensemble des domaines des variables et il croît de façon exponentielle avec le nombre de variables. Definition 7 (Solution). Une solution d’un CSP P = (X, D, C) est une affectation totale s ∈ S qui satisfait toutes les contraintes (consistante). S correspond à l’ensemble des solutions de P tel que : S = {s ∈ S | ∀c ∈ C, s satisfait c} Résoudre un CSP consiste alors à trouver une solution réalisable, un nombre donné de solutions réalisables ou toutes les solutions réalisables.5.1. CARACTÉRISTIQUES DES PROBLÈMES COMBINATOIRES 59 5.1.4 Problèmes d’optimisation sous contraintes Beaucoup de problèmes combinatoires peuvent également s’exprimer comme des problèmes d’optimisation sous contraintes (Constraint Satisfaction and Optimization Problem ou CSOP). Un problème d’optimisation sous contraintes est un problème pour lequel on cherche parmi l’ensemble de toutes les solutions réalisables la meilleure solution selon une fonction qui définit un objectif donné. La fonction objectif a pour rôle d’évaluer la qualité d’une solution tandis que les contraintes permettent d’éliminer les configurations qui ne sont pas des solutions. Le problème est alors double : le premier consiste à trouver l’ensemble de toutes les solutions réalisables et le deuxième à trouver dans cet ensemble la meilleure solution qui minimise ou maximise la fonction objectif. On parle d’un problème de minimisation quand la qualité d’une solution est donnée par une fonction objectif à minimiser et d’un problème de maximisation quand la qualité d’une solution est donnée par une fonction objectif à maximiser. L’étude d’un problème d’optimisation révèle habituellement des contraintes impératives (structurelles ou dures) et des contraintes indicatives (préférences ou molles) [46]. Les solutions retenues doivent respecter les contraintes impératives qui limitent l’espace de recherche tandis que les contraintes indicatives doivent être respectées autant que possible, le niveau de satisfaction de ces dernières devant être encodé dans la fonction objectif. Definition 8 (CSOP). Un problème d’optimisation sous contraintes (CSOP) est défini par le quadruplet (X, D, C, f) avec : • X = {x1, · · · , xn} est l’ensemble des variables du problème, • D = {D (x1), · · · , D (xn)} est l’ensemble des domaines, • C = {C1, C2, ..., Ck} représente l’ensemble des contraintes, • f est une fonction objectif définie sur un sous-ensemble de X (à minimiser ou à maximiser). La fonction f permet de définir une relation d’ordre total entre n’importe quelle paire de solutions dans S. Nous avons vu à la section 5.1.2 qu’on pouvait associer un problème de décision à chaque problème d’optimisation, le but étant de déterminer s’il existe une solution pour laquelle la fonction objectif soit supérieure (respectivement inférieure) ou égale à une valeur donnée. Ainsi, la complexité d’un problème d’optimisation est liée à celle du problème de décision qui lui est associé. En particulier, si le problème de décision est N P-complet, alors le problème d’optimisation est N P-difficile [252]. 5.1.4.1 Multiobjectif versus multicritère Pour certains problèmes combinatoires, plusieurs objectifs contradictoires doivent être optimisés en même temps. Par exemple, lors de la préparation d’un voyage, il peut être demandé de choisir entre différents modes de déplacement (avion, train, bateau, voiture, etc.) de façon à minimiser le coût de transport tout en minimisant le temps du trajet. On recense essentiellement deux approches associées à ces problèmes [51] : les techniques de géné- ration (que nous appellerons multiobjectif) et les techniques à base de préférences (que nous nommerons multicritère). Les techniques basées sur les préférences consistent à synthétiser les informations relatives à différents points de vue ou aspects. Il s’agit de ramener un problème multiobjectif à un problème simple objectif. Elles utilisent une méthode pour classer les objectifs et ainsi trouver une solution qui optimise le classement. Ce classement peut être réalisé par une variété de moyens allant d’une simple somme pondérée des objectifs à une fonction d’utilité complexe [33, 3]. Les techniques de génération quant à elles recherchent dans un ensemble très grand de solutions celles qui satisfont au mieux l’ensemble des objectifs. Pour cela, elles identifient les configurations optimales de Pareto où chaque configuration est telle qu’il est impossible d’améliorer le score de l’une sans diminuer le score de l’autre. Dans un contexte d’aide à la décision, les problèmes contiennent souvent une multitude d’aspects simultanés à prendre en considération pour la prise de décision. Pour S. BEN-MENA [25], l’approche multicritère,60 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES capable d’intégrer tout type de critère5 , permet alors de se diriger vers un compromis judicieux plutôt qu’un optimum qui n’a pas toujours de sens. Une technique classique consiste alors à encoder chaque aspect du problème dans la fonction objectif, en attribuant à chaque critère un éventuel poids pour lui accorder plus ou moins d’importance par rapport aux autres critères [234]. Bien que cette approche du « critère unique de synthèse » soit soumise à une compensation possible entre critères ou à une forte sensibilité aux changements d’échelle, les méthodes d’agrégation complète peuvent s’avérer intéressantes ou tout simplement les seules utilisables [240]. 5.1.5 Problèmes d’optimisation dynamique sous contraintes Les problèmes d’optimisation dynamique sont présents dans beaucoup d’applications réelles et représentent à ce titre un défi important. Ils sont caractérisés par des éléments en entrée du problème qui changent au fil du temps [266]. Par exemple, ces changements peuvent être liés à des machines qui tombent en panne, à une qualité variable de matières premières ou encore à l’introduction de nouvelles tâches à planifier. Cela peut concerner des problèmes classiques comme le problème de tournées de véhicules (Vehicle Routing Problem ou VRP), les problèmes d’ordonnancement de tâches ou des problèmes plus spécifiques comme le contrôle de réactions chimiques liées à des conditions de température et de pression [168]. Bien que le formalisme et les algorithmes CSP permettent de représenter et de traiter de nombreux problèmes d’intelligence artificielle et de recherche opérationnelle, le cadre CSP montre des limitations face à des problèmes dynamiques du monde réel dans lesquels la définition du problème est modifiée incrémentalement. La notion de CSP dynamique (Problème de Satisfaction de Contraintes dynamique ou Dynamic Constraint Satisfaction Problem) a été introduite par [68] pour représenter de telles situations. Un DCSP est une séquence de CSP dont chaque élément diffère du précédent par l’ajout et/ou le retrait de certaines contraintes. Concernant la fonction objectif associée au problème d’optimisation, et bien qu’elle soit déterministe, elle change également au fil du temps au gré des modifications qui interviennent en entrée du problème [144] : fdynamic(s) = ft(s) où t représente le temps au cours duquel la fonction objectif est évaluée. Et lorsque la fonction objectif change, il y a de fortes chances pour que la solution optimale du problème change également. Compte tenu de ces éléments, les principales difficultés à surmonter pour un problème d’optimisation dynamique sont [34, 198] : • détecter le changement dans l’environnement lorsqu’il se produit ; • répondre à ce changement pour suivre la nouvelle solution optimale. Le processus de recherche doit alors s’adapter rapidement au changement de la fonction objectif. Le but n’est plus seulement de trouver l’optimum global, mais de le suivre aussi fidèlement que possible dans le temps [168]. Le principal défi consiste à réutiliser l’information des recherches précédentes pour s’adapter au changement du problème au lieu de résoudre à nouveau le problème. 5.2 Résolution des problèmes d’optimisation combinatoire Les problèmes d’optimisation combinatoire constituent une catégorie de problèmes très difficiles à ré- soudre [215]. La résolution d’un problème d’optimisation combinatoire consiste à explorer un espace de recherche afin de minimiser ou maximiser une fonction objectif pour trouver la meilleure solution, définie comme la solution globalement optimale ou optimum global. Cette résolution est habituellement délicate puisque le nombre de solutions réalisables croît généralement avec la taille du problème, rendant un parcours exhaustif impraticable en pratique. 5Un critère permet de mesurer les préférences du décideur vis-à-vis d’une action. Par exemple, pour l’achat d’une voiture : coût à l’achat, confort, sécurité, économie à l’usage ; ou pour le choix du meilleur emplacement pour la construction d’une station d’épuration : nuisances olfactives, coût d’acheminement de l’eau, . . .5.2. RÉSOLUTION DES PROBLÈMES D’OPTIMISATION COMBINATOIRE 61 FIGURE 5.1 – Méthodes classiques d’optimisation. D’après le livre [266]. La complexité en taille ou en structure de l’espace de recherche d’une part et de la fonction objectif d’autre part peut conduire à utiliser des méthodes de résolution différentes en fonction du problème ou de l’instance à traiter. Intuitivement, on pourrait penser que la difficulté d’une instance d’un problème est proportionnelle au nombre de variables, à la taille du domaine par variable et au nombre de contraintes. Dans les faits, il est le plus souvent impossible de prévoir avec certitude l’efficacité d’une méthode donnée pour un problème particulier. Le théorème "no free lunch" ("pas de dîner gratuit, NFL") [288] nous indique, sous certaines hypothèses, qu’une méthode de résolution ne peut prétendre être la plus efficace sur tous les problèmes. Les méthodes de résolution liées aux problèmes d’optimisation peuvent être regroupées en deux grandes familles (figure 5.1) : • les méthodes dites complètes (ou exactes) qui obtiennent les solutions optimales et garantissent les résultats ; • les méthodes dites incomplètes (ou approchées) qui trouvent rapidement des solutions de bonne qualité sans garantir l’optimalité. L’optimisation combinatoire couvre un large éventail de techniques et fait toujours l’objet de recherches intensives sur de nombreux domaines d’application (finance, transport, surveillance, biologie, . . . ) de sorte qu’il est impossible de toutes les aborder ici en détail. Nous nous limitons dans un premier temps à un panorama non exhaustif de chaque famille pour avoir une idée très générale des méthodes existantes. 5.2.1 Panorama des méthodes complètes Les algorithmes complets (ou exacts) évaluent l’espace de recherche dans sa totalité en réalisant une énumération intelligente. Ils donnent la garantie de trouver la solution optimale pour une instance de taille finie dans un temps limité et permettent de prouver son optimalité [222]. 5.2.1.1 La programmation linéaire La programmation linéaire propose un cadre de modélisation mathématique permettant de résoudre des problèmes d’optimisation avec des algorithmes efficaces comme la méthode du simplexe [62] ou les mé- thodes de points intérieurs [148]. On parle de programme linéaire en nombres entiers (PLNE) lorsque les62 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES valeurs des variables du programme linéaire doivent être des nombres entiers et de programme linéaire mixte (PLM) lorsque certaines variables doivent être entières et d’autres pas. Relaxer un PLNE ou un PLM consiste en général à supprimer certaines de ses contraintes ou à les remplacer par des contraintes plus faibles. Le problème résultant est souvent plus simple à résoudre que le problème original et sa solution optimale peut être soit réalisable pour le problème original, donc optimale pour ce dernier, soit non réalisable et avoir un coût proche de l’optimum du problème original. 5.2.1.2 L’algorithme de séparation et évaluation L’algorithme de séparation et évaluation (Branch and Bound) [163] utilise une méthode arborescente de recherche basée sur l’idée d’énumérer implicitement les solutions possibles d’un problème de PLNE pour trouver la meilleure solution sans passer par une énumération explicite trop gourmande en temps. Cet algorithme est composé de trois éléments principaux : • la séparation : consiste à diviser le problème en sous-problèmes où chaque sous-problème contient un ensemble de solutions réalisables tel que l’union de leurs espaces de solutions forme l’espace des solutions du problème père. Cela revient à construire un arbre (arbre de recherche ou arbre de décision) permettant d’énumérer toutes les solutions. Ainsi, en résolvant tous les sous-problèmes et en gardant la meilleure solution trouvée, on est assuré d’avoir résolu le problème initial. • l’évaluation : permet de réduire l’espace de recherche en éliminant les sous-ensembles qui ne contiennent pas la solution optimale. Le principe consiste à mémoriser la solution de plus bas coût (pour un problème de minimisation) rencontrée pendant l’exploration et à comparer le coût de chaque nœud parcouru avec celui de la meilleure solution. Si le coût du nœud considéré est supérieur au meilleur coût trouvé, on peut arrêter l’exploration de la branche car toutes les solutions de cette branche seront nécessairement moins bonnes. • une stratégie de parcours : en largeur, en profondeur ou le meilleur d’abord. 5.2.1.3 Les méthodes de coupes Les méthodes de coupes ou plans sécants introduites par GOMORY [119] permettent de simplifier un PLNE en relaxant certaines de ses contraintes. Si la solution optimale du problème relaxé est une solution valide pour le problème original, alors elle correspond à l’optimum recherché. Sinon, des contraintes du problème initial sont violées par la solution courante. Il s’agit alors de trouver un sous-ensemble de ces contraintes appelées coupes, puis de les ajouter à la relaxation avant de la résoudre à nouveau. La procédure se poursuit jusqu’à ce que la solution obtenue soit réalisable pour le problème original, ou que les procédures d’identification des coupes n’arrivent plus à trouver de contraintes violées. Dans ce dernier cas, le coût de la dernière solution trouvée est une borne inférieure du coût optimal pour un problème de minimisation (respectivement une borne supérieure pour un problème de maximisation). L’algorithme Branch and cut utilise des méthodes de coupes pour calculer de bonnes bornes inférieures au cours de la procédure d’évaluation de la méthode de séparation et évaluation afin d’améliorer ses performances. 5.2.1.4 La méthode de génération de colonnes La méthode de génération de colonnes [110, 13] est une méthode efficace pour résoudre des programmes linéaires pour lesquels le nombre de variables (colonnes) et trop important pour qu’on puisse les représenter de manière explicite. L’objectif est de résoudre un problème réduit avec un ensemble limité de variables. Le problème initial est appelé problème maître, et le problème réduit est appelé problème restreint. Le problème restreint est plus simple à résoudre, mais si l’ensemble de ses variables ne contient pas celles qui donnent la solution optimale pour le programme maître, il faut rajouter au problème restreint des variables pouvant être utilisées pour améliorer la solution. Un sous problème associé au problème maître consiste5.2. RÉSOLUTION DES PROBLÈMES D’OPTIMISATION COMBINATOIRE 63 à chercher la meilleure variable à rajouter dans le problème restreint : il doit trouver la variable la plus prometteuse pour améliorer la solution. La méthode de génération de colonnes peut être combinée avec un processus de séparation et évaluation pour résoudre un PLNE, donnant alors naissance à la méthode appelée Branch and price [145]. 5.2.1.5 La programmation dynamique La programmation dynamique repose sur le principe d’optimalité de BELLMAN [23] selon lequel une sé- quence optimale est composée de sous-séquences optimales. La solution optimale d’un problème peut alors être déduite en combinant des solutions optimales d’une série de sous-problèmes. On commence par les sous-problèmes les plus petits et on remonte vers les sous-problèmes de plus en plus difficiles en tirant profit des résultats des problèmes déjà obtenus. La difficulté réside dans la formulation d’une séquence de décisions permettant de calculer la solution du problème en fonction des solutions des sous-problèmes. Son efficacité dépend de la propriété récursive et de l’efficacité des procédures de résolution des problèmes intermédiaires. 5.2.1.6 La programmation par contraintes Dans l’absolu, la programmation par contraintes (PPC) se situe au même niveau qu’un CSP et englobe à la fois des méthodes de résolution exactes et approchées (e.g. Constraint-Based Local Search [272], CBLS). Par abus de langage, nous réduisons la PPC au champ des méthodes de résolution complètes. La programmation par contraintes (Constraint Programming) [16, 97, 9, 233] est une approche très populaire qui repose sur le formalisme CSP avec une recherche arborescente incluant des notions liées à la consistance locale des contraintes : elle effectue une recherche énumérative complète en inférant des réductions de l’espace de recherche à partir des contraintes du problème. La recherche réalise un parcours de l’espace de recherche par un jeu d’affectations et de retours arrières [169]. Souvent représentée par un arbre, la recherche énumère toutes les instanciations possibles jusqu’à trouver une solution ou conclure qu’il n’y en a pas. La propagation quant à elle vient assister la recherche en essayant de déduire de nouvelles informations à partir de l’état courant des domaines. À partir d’une instanciation partielle, le mécanisme de propagation tente de supprimer des valeurs impossibles des domaines des variables, réduisant ainsi la taille de l’espace de recherche. 5.2.2 Panorama des méthodes incomplètes Les méthodes incomplètes reposent en grande partie sur l’utilisation d’heuristiques [2, 127]. Elles explorent une sous-partie de l’espace de recherche au moyen de techniques variées afin d’en extraire au plus vite une solution qu’on espère de bonne qualité. Contrairement aux méthodes complètes, celles-ci ne sont pas en mesure de prouver l’optimalité des solutions trouvées. L’efficacité d’une méthode incomplète réside dans l’équilibre entre deux grandes notions : l’intensification d’une part et la diversification d’autre part. L’intensification consiste à scruter une zone précise de l’espace de recherche afin d’en extraire un optimum local (et si possible l’optimum global) alors que la diversification permet de déplacer la recherche dans des zones variées et prometteuses de l’espace de recherche non encore explorées. Dans la classe des algorithmes approchés, on peut distinguer trois sous-classes : • les algorithmes d’approximation ; • les heuristiques ; • les métaheuristiques ; 5.2.2.1 Les algorithmes d’approximation L’approximation d’un problème d’optimisation N P-difficile consiste à obtenir des informations sur sa solution optimale sOpt sans la connaître. En général, il s’agit de résoudre un problème plus simple que le64 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES FIGURE 5.2 – Principe lié aux algorithmes d’approximation. D’après [239]. problème original, pour transformer ensuite la solution optimale sOpt0 du problème simplifié en une solution s du problème original (voir la figure 5.2). La difficulté est de garantir une distance maximale entre l’approximation s et l’optimum sOpt du problème original. Le problème simplifié est souvent obtenu en relâchant des contraintes du problème original. Plus formellement, un algorithme d’approximation que l’on note ρ-approximation est un algorithme polynomial qui renvoie une solution approchée garantie au pire cas à un facteur ρ de la solution optimale [274]. Parfois, le facteur d’approximation dépend de la taille de l’instance du problème. Toutefois, pour certains problèmes N P-difficile, il est impossible de faire des approximations. De plus, ces algorithmes sont spécifiques au problème ciblé et les approximations fournies sont souvent trop éloignées de la solution optimale, ce qui freine leur utilisation pour beaucoup d’applications réelles [266]. 5.2.2.2 Les heuristiques Le terme heuristique peut avoir différentes significations et être employé dans différents contextes, y compris par exemple dans le cadre des méthodes exactes pour le choix d’une variable ou d’une valeur particulière à évaluer (e.g. dans un arbre de décision). Nous l’employons ici pour représenter trois notions distinctes : • soit une classe de méthodes approchées d’optimisation conformément à la classification proposée dans la figure 5.1. Dans ce cas, les métaheuristiques représentent une déclinaison de cette famille ; • soit des méthodes d’optimisation gloutonnes capables de construire une solution en partant d’une configuration initialement vide et en choisissant à chaque étape la meilleure composante possible à insérer dans la solution (par exemple une variable de décision et une valeur de son domaine) sans jamais remettre en cause cette décision par la suite. • soit des algorithmes problèmes-dépendants (spécifiques) connectés aux métaheuristiques pour fournir une implémentation concrète aux méthodes d’optimisation abstraites, la partie abstraite étant repré- sentée par les métaheuristiques. 5.2.2.3 Les métaheuristiques Dans certaines situations, on doit chercher en un temps raisonnable des solutions de bonne qualité sans pour autant garantir l’optimalité. Les métaheuristiques contournent le problème d’explosion combinatoire en n’exploitant délibérément qu’une partie des combinaisons prometteuses. Par conséquent, elles peuvent5.3. DISCUSSION SUR LE CHOIX D’UNE MÉTHODE DE RÉSOLUTION 65 ne pas trouver la solution optimale, et encore moins prouver l’optimalité de la solution trouvée. En géné- ral, elles n’offrent pas non plus de garantie d’approximation. En contrepartie, elles permettent d’obtenir rapidement de bonnes solutions pour les problèmes de grandes tailles ou très difficiles. Certaines métaheuristiques partent d’une solution valide qu’elles modifient légèrement à chaque itération dans le but de l’améliorer. Au lieu de compter sur une solution unique pour découvrir de meilleures solutions, certaines métaheuristiques utilisent plusieurs solutions de départ. Elles combinent alors les propriétés de différentes solutions en espérant trouver des solutions de meilleure qualité. Alors qu’une heuristique est souvent définie comme une procédure spécifique exploitant au mieux la structure d’un problème dans le but de trouver une solution de qualité raisonnable en un temps de calcul aussi faible que possible [206], les métaheuristiques sont des algorithmes génériques qui peuvent être utilisés pour résoudre une grande variété de problèmes d’optimisation et d’instances différentes. Elles peuvent être vues comme des méthodes générales de niveau supérieur (méta) utilisées pour guider la stratégie de conception d’heuristiques sous-jacentes, ces dernières étant adaptées au problème d’optimisation à résoudre. On retrouve au niveau des métaheuristiques les méthodes basées sur une solution unique qui manipulent et transforment une seule solution pendant le processus de recherche tandis que les algorithmes à base de population travaillent avec une population entière, c’est à dire un ensemble de solutions qui évolue au fur et à mesure des itérations [286, 266]. Métaheuristiques basées sur une solution unique Les métaheuristiques basées sur une solution unique regroupent les méthodes dites de recherche locale (ou à base de voisinages). Les méthodes de recherche locale (RL) sont des algorithmes itératifs qui, à partir d’une solution de départ complète, explorent l’espace de recherche en se déplaçant pas à pas d’une solution à une autre. Dans cette catégorie, nous pouvons citer parmi les plus populaires les méthodes de descente, la recherche locale itérée (Iterated Local Search, ILS) [177], le recuit simulé (Simulated Annealing, SA) [153, 42] et la recherche tabou (Tabu Seach, TS) [111, 112, 113, 115, 125]. Métaheuristiques basées sur une population de solutions Les métaheuristiques basées sur une population de solutions utilisent la population comme facteur de diversité et font intervenir plusieurs stratégies d’évolution de cette population conduisant à des méthodes telles que les algorithmes génétiques (Genetic Algorithm) [133, 118], la recherche par dispersion (Scatter Search, SS) [114, 116], l’algorithme des colonies de fourmis (Ant Colony Optimization, ACO) [78] ou encore l’optimisation par essaims particulaires (Particle swarm optimization, PSO) [150]. 5.3 Discussion sur le choix d’une méthode de résolution Nous savons qu’aucune méthode ne surclasse toutes les autres pour tous les problèmes. La complexité donne une première indication sur la difficulté d’un problème. Lorsque le problème à résoudre est N P-difficile, une méthode complète peut nécessiter un temps de calcul qui croît de façon exponentielle avec la taille du problème à traiter [127]. Dans ce cas, l’utilisation d’une méthode incomplète peut s’avérer nécessaire pour obtenir une solution approchée de bonne qualité en un temps raisonnable. Néanmoins, bien d’autres facteurs doivent être pris en compte comme la taille des instances, leur structure, le nombre de solutions admissibles, la rapidité de calcul de la fonction d’évaluation, etc. Bien évidemment, compte tenu du nombre très important de méthodes de résolution existantes, il n’est pas envisageable d’implémenter chaque méthode pour sélectionner la meilleure ! Pour Marc SEVAUX [244], lorsqu’on est face à un problème d’optimisation difficile, on commence par réaliser la modélisation du problème qu’on essaie ensuite de transformer en un problème de programmation mathématique pour tenter de le résoudre. La programmation mathématique permet alors d’obtenir des bornes sur le problème et permet également de mieux appréhender sa difficulté. Une fois les bornes obtenues avec quelques solutions éventuelles, on peut commencer à mettre en œuvre des métaheuristiques,66 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES notamment des techniques de recherche locale6 (appartiennent à la catégorie : Single-solution based Metaheuristics). Nous verrons dans la suite de ce document que nous avons implémenté plusieurs méthodes caracté- ristiques de ces différentes familles sur certaines instances de notre problème. Pour obtenir des bornes et d’éventuelles solutions, nous avons commencé par évaluer une méthode complète sur notre problème. Ayant alors une meilleure vision de sa difficulté, nous avons enchaîné sur des méthodes de résolution incomplètes basées à la fois sur des heuristiques de construction (gloutonnes) pour générer des solutions initiales et sur des métaheuristiques pour améliorer le plus rapidement possible ces solutions initiales. Néanmoins, compte tenu de la complexité de notre modèle, de sa mise au point incrémentale au fur et à mesure des réunions d’analyse avec les urbanistes et des échéances imposées pour finaliser le projet de recherche SUSTAINS, il était essentiel que ces méthodes puissent reposer sur un formalisme unique, expressif, facile à modifier et capable d’intégrer de nouvelles contraintes en fonction des nouvelles demandes des utilisateurs. Le panorama des méthodes de résolution que nous venons d’aborder montre que les techniques d’exploration arborescente ou de programmation linéaire permettent de calculer des solutions optimales. Mais pour être efficaces sur de grosses instances, ces méthodes de résolution doivent être couplées à des techniques sophistiquées (méthodes de coupes, branch and cut, génération de colonnes, branch and price, . . . ). On constate également que le formalisme relatif à ces méthodes s’adapte difficilement à de nouvelles contraintes [267]. À travers cette étude très générale, il apparaît également que le formalisme CSP ré- puté pour sa grande souplesse et son expressivité peut être exploité à la fois par les méthodes complètes de programmation par contraintes et par les métaheuristiques de recherche locale, cette dernière approche ayant donné naissance à la Constraint-Based Local Search [272]. Compte tenu de cette proximité entre PPC et RL à travers le formalisme CSP, nous proposons de mettre en perspective, dans les sections suivantes, ces différents procédés en insistant plus particulièrement sur les métaheuristiques de recherche locale qui regroupent de nombreuses méthodes. L’inventaire des principales techniques nous permettra alors d’identifier les méthodes de RL les plus appropriées à nos problématiques. Mais tout d’abord, soulignons que pour résoudre des problèmes industriels de plus en plus complexes, la tendance actuelle est à l’hybridation de différentes méthodes pour s’appuyer sur les points forts de diffé- rentes techniques sur le principe qui pourrait s’apparenter à : "l’union fait la force". Une autre voie consiste à utiliser la parallélisation, avec une décomposition qui intervient soit au niveau des traitements (algorithmes), soit au niveau de l’espace de recherche, soit sur l’évaluation de la fonction objectif, cette fois sur le principe : "diviser pour mieux régner". Notons que ces deux approches ne sont pas exclusives et qu’elles peuvent tout à fait cohabiter. 5.4 Programmation par contraintes En programmation par contraintes (PPC), un problème est défini par un CSP (voir définition 4 page 58) permettant de représenter un grand nombre de problèmes. Par exemple, une contrainte "x + 3∗y = 12" qui restreint les valeurs que l’on peut affecter simultanément aux variables x et y. Il existe de nombreuses méthodes pour résoudre les CSP : • les méthodes de résolution complètes dont les plus élaborées exploitent les notions de consistance, de filtrage et de propagation ; • les méthodes de résolution incomplètes représentées par les métaheuristiques (i.e. Constraint-Based Local Search [272, 47]) ; • les méthodes hybrides qui combinent des méthodes complètes et incomplètes [76]. Nous décrivons ici les méthodes de résolution complètes basées sur les notions de consistance et faisant appel aux techniques de filtrage et de propagation de contraintes. 6On parlera indifféremment de "méthodes de recherche locale" ou de "métaheuristiques à base de voisinages".5.4. PROGRAMMATION PAR CONTRAINTES 67 Résoudre un CSP consiste à trouver une affectation pour chaque variable satisfaisant l’ensemble des contraintes. La notion de consistance repose sur la satisfaction des contraintes afin de réduire l’espace de recherche pour rendre moins difficile la résolution du problème [76]. 5.4.1 Principes de la PPC La PPC utilise une approche de construction qui bâtit pas à pas une solution en partant d’une solution partielle initialement vide qu’elle cherche à étendre à chaque étape. Pour cela, elle détermine la prochaine variable, choisit une valeur dans son domaine et l’ajoute pour obtenir un nouvelle solution partielle, ce processus étant répété jusqu’à ce que l’on obtienne une solution complète (ou la preuve qu’il n’y a pas de solution). Durant la recherche d’une solution, une méthode de construction fait intervenir des heuristiques pour effectuer (i) le choix de la variable et (ii) le choix de la valeur à affecter à cette variable. La programmation par contraintes s’articule autour de quatre éléments majeurs : • le CSP, • les algorithmes de filtrage, • la propagation, • la recherche de solutions. 5.4.1.1 CSP (ou réseau de contraintes) Étant donné le CSP P = (X, D, C), la résolution de P consiste à affecter des valeurs aux variables, de telle sorte que toutes les contraintes soient satisfaites. Une solution est une "affectation totale consistante", c’est-à-dire une valuation de toutes les variables du problème qui ne viole aucune contrainte. Lorsqu’un CSP n’a pas de solution, on dit qu’il est surcontraint : il y a trop de contraintes et on ne peut pas toutes les satisfaire. Dans ce cas, on peut souhaiter trouver l’affectation totale qui viole le moins de contraintes possibles. Un tel CSP est appelé max-CSP, car on cherche alors à maximiser le nombre de contraintes satisfaites. D’autres formalismes ont été proposés parmi lesquelles les CSP valués (VCSP) [241]. Le formalisme VCSP introduit une graduation dans la violation des contraintes. Une valeur (appelée valuation) est associée à chaque contrainte, cette valuation traduisant l’importance de la violation de la contrainte. Une solution du problème est une affectation totale qui peut éventuellement violer certaines contraintes et dont l’importance des violations est minimale suivant un critère et un ordre donnés. Inversement, lorsqu’un CSP admet beaucoup de solutions différentes, on dit qu’il est sous-contraint. Si les différentes solutions ne sont pas toutes équivalentes, dans le sens où certaines sont mieux que d’autres, on peut exprimer des préférences entre les différentes solutions via un CSOP (voir définition 8). L’objectif consiste alors à trouver une solution qui minimise (respectivement qui maximise) la fonction objectif liée au CSOP. 5.4.1.2 Filtrage La programmation par contraintes utilise pour chaque sous-problème une méthode de résolution spécifique à ce sous-problème afin de supprimer les valeurs des domaines des variables impliquées dans le sousproblème qui, compte tenu des valeurs des autres domaines, ne peuvent appartenir à aucune solution de ce sous-problème. Ce mécanisme est appelé filtrage (voir algorithme 1). En procédant ainsi pour chaque sous-problème, donc pour chaque contrainte, les domaines des variables vont se réduire, réduisant par la même occasion l’espace de recherche associé au problème. Un algorithme de filtrage (ou de réduction de domaines) est associé à chaque contrainte. Par exemple, pour la contrainte (x < y) avec D(x) = [10; 20] et D(y) = [0; 15], un algorithme de filtrage associé à cette contrainte pourra supprimer les valeurs de 15 à 20 de D(x) et les valeurs de 0 à 10 de D(y). Un algorithme de filtrage associé à une contrainte binaire (qui porte sur deux variables) réalise la consistance d’arc si il supprime toutes les valeurs des variables impliquées dans la contrainte qui ne sont pas consistantes avec la contrainte. Par exemple, pour la contrainte x + 3 = y avec68 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES les domaines D(x) = {1, 3, 4, 5} et D(y) = {4, 5, 8}, un algorithme de filtrage établissant la consistance d’arc modifiera les domaines pour obtenir D(x) = {1, 5} et D(y) = {4, 8}. Algorithme 1 : Algorithme naïf de filtrage d’après la version proposée par Philippe DAVID (http: //www.emn.fr/z-info/pdavid/Enseignement/IA/poly-ia/csp/arc-consistance.html). Fonction Revise (x, y) begin 1 SUPPRESSION ← Faux ; 2 forall (valeur valx de D(x)) do 3 if (il n’existe pas de valeur valy dans D(y) support de valx) then 4 Supprimer valx de D(x); 5 SUPPRESSION ← Vrai ; 6 return SUPPRESSION ; end 5.4.1.3 Propagation Après chaque modification du domaine d’une variable, il est utile de réétudier l’ensemble des contraintes impliquant cette variable car cette modification peut conduire à de nouvelles déductions. Autrement dit, la réduction du domaine d’une variable peut permettre de déduire que certaines valeurs d’autres variables n’appartiennent pas à une solution. Ce mécanisme est appelé propagation. Dès lors qu’un algorithme de filtrage associé à une contrainte modifie le domaine d’une variable, les conséquences de cette modification sont étudiées pour les autres contraintes impliquant cette variable : les algorithmes de filtrage des autres contraintes sont appelés afin de déduire éventuellement d’autres suppressions. On dit alors qu’une modi- fication a été propagée. Ce mécanisme de propagation est répété jusqu’à ce que plus aucune modification n’apparaisse. 5.4.1.4 Recherche de solutions Afin de parvenir à une solution, l’espace de recherche va être parcouru en essayant d’affecter successivement une valeur à toutes les variables. Les mécanismes de filtrage et de propagation étant bien entendu relancés après chaque essai puisqu’il y a modification de domaines. Parfois, une affectation peut entraîner la disparition de toutes les valeurs d’un domaine : on dit alors qu’un échec se produit ; le dernier choix d’affectation est alors remis en cause, il y a "backtrack" ou "retour en arrière" et une nouvelle affectation est tentée (voir algorithme 2). Une méthode de retour arrière avec une stratégie de recherche en profondeur d’abord consiste à fixer à chaque étape la valeur d’une variable. Aussitôt qu’un échec est détecté, un retour arrière est effectué, i.e., une ou plusieurs instanciations déjà effectuées sont annulées et de nouvelles valeurs recherchées [29]. Par exemple, un algorithme typique avec retour arrière pour la résolution d’un problème de satisfaction de contraintes cherche à prolonger à chaque étape l’assignation courante de manière consistante. En cas d’échec, un retour arrière est effectué sur la dernière variable instanciée possédant encore des valeurs non essayées [179]. Les méthodes avec retour arrière sont en général complètes et de complexité exponentielle. Pour réduire le nombre de retour arrière (et le temps de recherche), on utilise les techniques de filtrage décrites précédemment afin d’anticiper le plus tôt possible les échecs. 5.4.2 Complément sur les contraintes Une contrainte est une relation entre différentes variables. Cette relation peut être définie en extension en énumérant les tuples de valeurs appartenant à la relation (x = 0 et y = 1) ou en intension en utilisant des5.4. PROGRAMMATION PAR CONTRAINTES 69 Algorithme 2 : Backtrack (version rudimentaire) d’après la version proposée par Philippe DAVID (http://www.emn.fr/z-info/pdavid/Enseignement/IA/poly-ia/csp/backtrack.html). Procédure Backtrack(V-ins, var-courante, V-non-ins, val) begin 1 var-courante ← val ; 2 if (l’instanciation courante est consistante) then 3 if (V-non-ins est vide) then 4 l’instanciation courante est une solution ; else 5 soit y la prochaine variable à instancier 6 forall (valeur valy de D(y)) do 7 faire Backtrack(V-ins ∪ {var-courante}, y, V-non-ins −{y}, valy) ; end propriétés mathématiques connues (x < y). En fonction du nombre de variables sur lesquelles elle porte (arité), on dira qu’une contrainte est unaire si elle porte sur une seule variable (x∗x = 4), binaire si elle met en relation deux variables (x 6= y) ou encore n-aire si elle met en relation un ensemble de n variables. On distingue différents types de contraintes en fonction des domaines de valeurs des variables. Il y a notamment les contraintes numériques (sur les réels, les entiers) et les contraintes booléennes. Les contraintes peuvent être exprimées sous différentes formes : formules mathématiques, tables de valeurs compatibles, etc. 5.4.3 Résolution des DCSP Ayant résolu un problème P, il s’agit de résoudre un problème P 0 dérivé de P par l’ajout d’un ensemble de contraintes Ca et le retrait d’un ensemble de contraintes Cr. Ce qui revient finalement à résoudre une succession de problèmes statiques et permet au passage de s’appuyer sur les nombreux travaux existants relatifs à la résolution de ces derniers. 5.4.4 Résolution des CSOP Dans le cas de la résolution d’un CSOP, on veut à la fois (i) trouver une solution qui satisfait l’ensemble des contraintes donné et (ii) optimiser une fonction définissant un objectif. Le but est de trouver une solution pour P = (X, D, C) qui minimise (respectivement qui maximise) la fonction objectif f. Pour la résolution des problèmes d’optimisation, on distinguera donc deux types de solutions : • les solutions du problème de satisfaisabilité, c’est-à-dire celles qui ne tiennent pas compte de la fonction f, • les solutions optimales, c’est-à-dire les solutions du problème de satisfaisabilité qui minimisent (respectivement qui maximisent) la fonction objectif f. Definition 9 (Optimum global). Pour un problème de minimisation, une solution s ∗ ∈ S est un optimum global (ou solution optimale) si f(s ∗ ) ≤ f(s) pour tout élément s ∈ S. (et respectivement f(s ∗ ) ≥ f(s) pour un problème de maximisation). Résoudre à l’optimalité un problème consiste à trouver une solution s ∗ correspondant à un optimum global. Pour la résolution d’un CSOP, nous supposons qu’une variable x est ajoutée à la liste des variables X de P avec x = f(X). L’approche la plus intuitive est de trouver une solution optimale par la résolution70 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES d’une séquence de CSP. Initialement, un algorithme de backtracking7 est utilisé pour trouver une solution qui satisfait toutes les contraintes. Chaque fois qu’une solution s est trouvée, une contrainte s’ajoute au CSP avec la forme x > f(s) qui exclut toutes les solutions qui ne sont pas meilleures que s pour un problème de minimisation (respectivement x < f(s) pour un problème de maximisation). Ce processus est répété jusqu’à ce que le CSP résultant soit infaisable ; dans ce cas la dernière solution trouvée est optimale. 5.4.5 Conclusion La PPC permet de résoudre une grande variété de problèmes allant des problèmes de satisfaction de contraintes aux problèmes d’optimisation combinatoire en passant par les problèmes dynamiques. Pour cela, elle a su s’adapter à des variantes du CSP (VCSP, DCSP, CSOP, . . . ) imaginées par une communauté scientifique dynamique afin de représenter ces différentes catégories de problèmes. Pour s’éviter une énumération exhaustive de toutes les configurations possibles qui lui serait fatale, elle met en œuvre des procédés élaborés basés sur la consistance pour réaliser un parcours intelligent de l’espace de recherche. Toutes ces qualités font de la PPC un paradigme de programmation de premier plan pour résoudre les nombreux problèmes liés à nos sociétés modernes. 5.5 Heuristiques de construction (approchées) Les méthodes de construction produisent de façon incrémentale des solutions admissibles en partant d’une configuration initialement vide. Elles insèrent à chaque étape une composante dans la configuration partielle courante jusqu’à obtenir une solution complète. Elles opèrent ainsi, pas à pas, sans tenir compte de toutes les conséquences sur le coût de la solution finale. A ce titre, elles sont souvent considérées comme des méthodes "myopes". Elles reposent sur une approche "basée sur les modèles" car elles utilisent un modèle pour choisir à chaque itération la prochaine composante à ajouter à la configuration partielle [294]. A chaque étape, le modèle doit déterminer le choix de la variable suivante et le choix de la valeur pour cette variable. Les méthodes de cette classe différent entre elles selon les modèles utilisés et la performance de ces méthodes dépend largement de leur capacité à exploiter la structure du problème. Les méthodes de construction se distinguent par leur rapidité et leur grande simplicité. Néanmoins, leur manque de visibilité sur la solution finale se traduit en général par des solutions produites de faible qualité. Notre étude porte plus spécifiquement sur les méthodes de construction "gloutonnes" qui sont les plus connues et les plus simples à mettre en œuvre. A noter toutefois que les algorithmes par estimation de distributions (Estimation of distribution algorithms, EDA) [164] et l’optimisation par colonies de fourmis viennent compléter cette catégorie d’heuristiques incomplète. 5.5.1 Algorithmes gloutons En 1971, J. EDMONDS a introduit pour la première fois dans la littérature une étude sur les heuristiques gloutonnes dans le cadre de l’optimisation combinatoire [85]. Les algorithmes gloutons (Greedy algorithm) choisissent à chaque étape un composant à insérer dans la configuration partielle8 pour lequel une heuristique donnée produit un coût minimal (problème de minimisation). Contrairement aux méthodes exactes avec retour arrière (backtracking), les choix opérés ne sont jamais remis en cause par la suite. La qualité de la solution produite est directement liée à l’heuristique de choix utilisée et les premières décisions prises influencent largement la qualité de la solution finale lorsque 7Algorithme à essais successifs qui explore l’arbre des solutions du problème combinatoire en élagant les branches n’aboutissant pas à une solution et remettant en cause les choix antérieurs lorsqu’on atteint un cul-de-sac (une feuille de l’arbre non solution du problème). 8On fixe la valeur d’une variable de décision libre (c’est à dire sans affectation).5.5. HEURISTIQUES DE CONSTRUCTION (APPROCHÉES) 71 les variables du problème sont liées. Pour certains problèmes (recherche d’un arbre recouvrant de poids minimum avec l’algorithme de KRUSKAL), un algorithme glouton conduit à la solution optimale, mais c’est rarement le cas. Algorithme 3 : Algorithme glouton déterministe [267] 1 echec ← faux ; 2 c ← ∅ (configuration partielle initialement vide) ; 3 while (c incomplète et echec = faux) do 4 Construire la liste L des éléments insérables dans c ; 5 if (L6=∅) then 6 Évaluer le coût incrémental des éléments de L; 78 Insérer dans c l’élément de L ayant le coût incrémental le plus faible ; else 9 echec ← vrai ; 10 return c ou echec ; Selon l’algorithme 3, la configuration c initialement vide peut être vue comme un ensemble d’éléments (i.e. de variables du problème dont les valeurs sont fixées). A chaque itération, on définit un ensemble fini L = {e1, e2, · · · , en} constitué d’éléments pouvant être insérés dans la configuration partielle c. Une fonction objectif définie comme f : L → R permet d’évaluer le coût incrémental de chaque élément de L. L’élément de L ayant le coût incrémental le plus faible (i.e. celui qui engendre la plus petite augmentation du coût de c) est inséré dans c. Lorsqu’un élément ei est sélectionné pour faire partie de la solution, il n’est jamais remplacé par un autre élément. Les algorithmes gloutons sont des algorithmes déterministes [266]. 5.5.2 Algorithmes gloutons aléatoires Les algorithmes gloutons aléatoires (Greedy randomized algorithm) peuvent construire plusieurs configurations et reposent sur une stratégie gloutonne pour le choix des composants à intégrer à chaque itération dans les configurations en cours de construction. Néanmoins, l’étape de fixation de la variable courante et de sa valeur est légèrement modifiée afin de permettre plusieurs choix plutôt qu’un seul à chaque itération. Les choix potentiels constituent une liste (Restricted Candidate List, RCL) dans laquelle un candidat sera retenu aléatoirement. Une fois le couple (variable, valeur) fixé, cette liste est mise à jour en tenant compte de la configuration partielle courante. Cette étape est itérée jusqu’à l’obtention d’une configuration complète [245]. Une première façon de procéder consiste à choisir aléatoirement le prochain composant parmi les k meilleurs. Il est aussi possible de faire un choix aléatoire parmi les composants éloignés d’au plus un certain pourcentage par rapport au meilleur composant trouvé. Enfin, une autre option consiste à choisir le prochain composant en fonction de probabilités liées à la qualité des différents composants [143]. 5.5.3 Conclusion Les algorithmes gloutons permettent de construire très rapidement des solutions, ce qui constitue déjà un résultat intéressant pour des problèmes contraints ou/et de très grande taille. Ces procédures sont relativement simples à concevoir et reposent sur la structure du problème à considérer. Mais les résultats obtenus grâce à ces techniques sont souvent de faible qualité. Toutes ces caractéristiques font que les algorithmes gloutons sont des partenaires idéals pour les métaheuristiques à base de voisinage qui ont besoin d’une solution initiale pour pouvoir fonctionner.72 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES 5.6 Métaheuristiques à base de voisinages Le terme métaheuristique a été introduit pour la première fois par F. GLOVER en 1986 [111]. Les métaheuristiques permettent de s’attaquer à des instances difficiles de problèmes d’optimisation variés tout en délivrant des solutions satisfaisantes en un temps raisonnable. En contrepartie, elles n’offrent pas la garantie de trouver les solutions optimales ni même des solutions dont la qualité serait bornée. Les métaheuristiques bénéficient d’un intérêt croissant depuis plus d’une vingtaine d’années et elles s’appliquent avec succès à une large gamme de problèmes complexes et de grande taille. Beaucoup de critères différents peuvent être utilisés pour regrouper les métaheuristiques : • inspirée ou non de la nature ; • avec ou sans mémoire ; • déterministe ou stochastique ; • basée sur un solution unique ou sur une population ; • itérative ou gloutonne. • etc. Dans ce manuscrit, nous nous appuyons sur la classification qui distingue celles qui exploitent une "population de solutions" et celles qui utilisent une "solution unique" pendant le processus de résolution. Ce chapitre concerne plus précisément les métaheuristiques qui exploitent une solution unique, que l’on retrouve également sous le nom de "métaheuristiques à base de voisinages" ou "recherche locale". 5.6.1 Généralités sur les métaheuristiques 5.6.1.1 Propriétés Une métaheuristique est constituée d’un ensemble de concepts fondamentaux qui permet d’aider à la conception de méthodes heuristiques pour un problème d’optimisation. Ainsi, une métaheuristique est adaptable et applicable à une large classe de problèmes. C. BLUM et A. ROLI ont proposé dans [30] un ensemble de propriétés intéressantes qui caractérisent les métaheuristiques : • les métaheuristiques sont des stratégies qui permettent de guider la recherche d’une solution optimale. • le but visé par les métaheuristiques est d’explorer l’espace de recherche efficacement afin de déterminer des solutions (presque) optimales. • les techniques qui constituent des algorithmes de type métaheuristique vont de la simple procédure de recherche locale à des processus d’apprentissage complexes. • les métaheuristiques sont en général non-déterministes et ne donnent aucune garantie d’optimalité. • les métaheuristiques peuvent contenir des mécanismes qui permettent d’éviter d’être bloqué dans des régions de l’espace de recherche. • les concepts de base des métaheuristiques peuvent être décrits de manière abstraite, sans faire réfé- rence à un problème spécifique. • les métaheuristiques peuvent faire appel à des heuristiques qui tiennent compte de la spécificité du problème traité mais ces heuristiques sont contrôlées par une stratégie de niveau supérieur. • les métaheuristiques peuvent faire usage de l’expérience accumulée durant la recherche de l’optimum pour mieux guider la suite du processus de recherche. Ces propriétés définissent le comportement de toutes les métaheuristiques pendant la recherche d’une solution, en allant de la plus simple à la plus complexe. 5.6.1.2 Quand utiliser une métaheuristique ? Il n’est pas judicieux d’utiliser une métaheuristique pour résoudre des problèmes lorsqu’il existe des algorithmes exacts qui sont efficaces pour le faire. Néanmoins, différentes situations justifient l’utilisation d’une métaheuristique :5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 73 • un problème facile (appartenant à la classe P) avec de très grosses instances. Dans ce cas, des algorithmes exacts en temps polynomial sont connus mais ils peuvent être trop coûteux compte tenu de la taille des instances. • un problème facile avec une contrainte forte de temps réel. Pour des problèmes d’optimisation temps réel9 , les métaheuristiques sont largement utilisées. Dans cette classe de problèmes, nous devons trouver une bonne solution en ligne. Même si il existe des algorithmes exacts efficaces pour résoudre le problème, les métaheuristiques sont utilisées pour réduire le temps de recherche. Les problèmes d’optimisation dynamique représentent un exemple de tels problèmes. • un problème difficile (appartenant à la classe N P-difficile) avec des instances de taille modérée et/ou des structures difficiles. • des problèmes d’optimisation avec une fonction objectif et/ou des contraintes qui nécessitent beaucoup de temps de calcul. Certains problèmes d’optimisation réels sont caractérisés par un temps de calcul énorme de la fonction objectif. • des modèles non analytiques de problèmes d’optimisation qui ne peuvent pas être résolus de façon exhaustive : beaucoup de problèmes pratiques sont définis par une boîte noire noyée dans une fonction objectif. 5.6.1.3 Définition du mot métaheuristique Il existe beaucoup de tentatives pour définir ce qu’est une métaheuristique sans que l’on puisse toutefois trouver une définition qui fasse vraiment l’unanimité. Certaines se concentrent sur l’aspect problème-indépendant comme celle proposée sur le site "the metaheuristics network"10 : "Une métaheuristique représente un ensemble de concepts utilisés pour définir des méthodes heuristiques pouvant être appliquées à un large ensemble de problèmes différents. En d’autres termes, une métaheuristique peut être vue comme un cadre algorithmique général qui peut être appliqué à différents problèmes d’optimisation avec relativement peu de modifications pour les adapter à un problème spécifique". Dans [280], Voß et al. se concentrent quant à eux sur la distinction entre une stratégie de haut niveau et des mécanismes de bas niveau : "Une métaheuristique est un processus itératif maître qui guide et modifie les opérations des heuristiques subordonnées pour produire efficacement des solutions de haute qualité. Elle peut manipuler une solution unique complète (ou incomplète) ou une collection de solutions à chaque itération. Les heuristiques subordonnées peuvent être des procédures de haut ou de bas niveau, ou une simple recherche locale, ou juste une méthode de construction". OSMAN et LAPORTE insistent sur l’intensification et la diversification aussi bien que sur la nature itérative du processus de recherche [210] : "Une métaheuristique est formellement définie comme un processus de génération itératif qui guide une heuristique subordonnée en combinant intelligemment différents concepts pour l’exploration et l’exploitation de l’espace de recherche, des stratégies d’apprentissage sont utilisées pour structurer l’information afin de trouver efficacement des solutions quasi-optimales". Parmi ces dernières, nous retiendrons pour définir une métaheuristique (i) l’aspect problème-indépendant qui offre un cadre générique applicable à tout type de problème et (ii) l’équilibre nécessaire entre l’intensi- fication et la diversification qui représente un aspect essentiel de toute métaheuristique. 5.6.1.4 Gestion des contraintes Beaucoup de problèmes d’optimisation sont liés à des contraintes dures qu’on ne peut pas réduire dans la fonction objectif. Pour permettre aux métaheuristiques de gérer efficacement ces contraintes, différentes stratégies ont été mises au point [190, 212, 79, 266] : 9Les logiciels embarqués dans les récepteurs GPS (Global Positioning System) utilisent des heuristiques pour trouver un chemin entre deux points compte tenu du nombre important de nœuds et de la nécessité de fournir une réponse en temps réel. 10http://www.metaheuristics.org/74 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES • rejet ; • pénalité ; • réparation ; • décodage ; • préservation. Stratégie de rejet La stratégie de rejet est très simple : seules les solutions faisables sont conservées durant la recherche et les solutions infaisables sont automatiquement jetées. Cette stratégie est concevable si la portion des solutions infaisables de l’espace de recherche est réduite. Stratégie de pénalité Avec la stratégie de pénalité, les solutions infaisables sont prises en compte pendant le processus de recherche. La fonction objectif non contrainte est étendue par une fonction de pénalité qui se chargera de pénaliser les solutions infaisables. C’est l’approche la plus populaire. Il existe beaucoup d’alternatives pour définir les pénalités [105]. Stratégie de réparation Les stratégies de réparation mettent en œuvre des algorithmes heuristiques (procédure de réparation) qui transforment une solution infaisable en solution faisable [157]. Ces stratégies spécifiques au problème sont employées lorsqu’un opérateur de recherche peut générer des solutions infaisables. Stratégie de décodage Cette stratégie utilise des encodages indirects qui transforment la topologie de l’espace de recherche. Lorsqu’on utilise une représentation indirecte, l’encodage n’est pas une solution complète du problème. Un décodeur est nécessaire pour exprimer la solution donnée par l’encodage. Selon l’information présente dans l’encodage, le décodeur aura plus ou moins de travail à faire pour dériver une solution complète. Le décodeur peut être non déterministe. Les contraintes associées au problème d’optimisation peuvent être gérées par le décodeur qui garantira alors la validité de la solution dérivée. La procédure de décodage peut être vue comme une fonction S → S qui associe à chaque configuration c ∈ S une solution faisable s ∈ S dans l’espace de recherche. La fonction de décodage doit disposer des propriétés suivantes [63] : • à chaque configuration c ∈ S correspond une solution faisable s ∈ S ; • pour chaque solution faisable s ∈ S, il y a une configuration c ∈ S qui lui correspond ; • la complexité de calcul du décodeur doit être réduite ; • les solutions faisables dans S doivent avoir le même nombre de configurations associées dans S ; • l’espace de représentation doit posséder la propriété de localité dans le sens que la distance entre les configurations de S doit être en corrélation avec la distance entre les solutions faisables dans S. Stratégie de préservation Une représentation spécifique et des opérateurs garantissent la génération de solutions faisables. Cette stratégie incorpore des connaissances spécifiques du problème dans la représentation et dans les opérateurs de recherche pour générer uniquement des solutions faisables. Cette stratégie est adaptée à des problèmes spécifiques et ne peut pas être généralisée à tous les problèmes d’optimisation sous contraintes. 5.6.1.5 Réglage des paramètres La majorité des métaheuristiques nécessite un ajustement méticuleux de beaucoup de paramètres en fonction du problème à résoudre. Ces paramètres dont les valeurs sont parfois difficiles à définir a priori peuvent avoir une grande influence sur l’efficacité de la résolution. Néanmoins, il n’existe pas de valeurs optimales des paramètres pour une métaheuristique qui puissent être applicables à tous les problèmes.5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 75 Deux stratégies sont utilisées pour le réglage de ces paramètres : une initialisation hors ligne et une initialisation en ligne. Réglage hors ligne Dans ce mode, les valeurs des différents paramètres sont fixés avant l’exécution de la métaheuristique. Réglage en ligne Avec l’approche en ligne, les paramètres sont contrôlés et modifiés dynamiquement ou de façon adaptative pendant l’exécution de la métaheuristique. La version dynamique prend en charge le changement de valeur d’un paramètre sans prendre en compte la progression de la recherche alors que la version adaptative change les valeurs en fonction de la progression de la recherche. Différentes implémentations ont été proposées pour adapter le paramétrage pendant la phase de résolution en fonction de l’instance. Avec l’approche Tabou réactive [18], on ajuste automatiquement (version dynamique) la longueur de la liste tabou. Dans [203], les auteurs proposent une procédure dédiée pour régler automatiquement (version adaptative) le paramètre « max » (i.e. nombre de voisins maximum à explorer à chaque mouvement) de la métaheuristique ID Walk également décrite dans leur document. Cette procé- dure de réglage automatique procède par apprentissage et elle a pu être appliquée avec succès à d’autres algorithmes pour définir la valeur d’un ou de deux paramètres (e.g. recuit simulé, recherche tabou). 5.6.1.6 Mesures de performance Pour les méthodes exactes capables de garantir l’optimalité des résultats, le temps de recherche représente l’indicateur principal pour évaluer la performance des algorithmes. Pour les métaheuristiques n’offrant pas les mêmes garanties, d’autres indicateurs doivent être pris en compte [15] : • la qualité des solutions ; • l’effort de calcul ; • la robustesse. Qualité des solutions La qualité des solutions obtenues s’évalue en terme de précision en considérant une mesure de distance ou un pourcentage de déviation entre la solution obtenue et l’une des solutions suivantes : solution optimale, borne inférieure, meilleure solution connue ou seuil à atteindre. Les solutions optimales peuvent être trouvées par des algorithmes exacts. Néanmoins, pour beaucoup de problèmes complexes, les solutions optimales ne sont pas connues. Dans ce cas, on peut utiliser des bornes inférieures pour des problèmes de minimisation (et respectivement des bornes supérieures pour des problèmes de maximisation) proches de ces valeurs optimales. Lorsqu’il s’agit de problèmes classiques, des instances standards sont généralement disponibles avec les meilleures solutions connues. Enfin, pour des instances de problèmes spécifiques, un décideur peut définir un seuil à atteindre sur la qualité de la solution pour qu’elle puisse être acceptée. Effort de calcul Lors d’une analyse empirique, on relève le temps de calcul exprimé soit en temps CPU, soit en temps réel écoulé. Mais ces mesures ont l’inconvénient d’être liées aux caractéristiques du matériel informatique utilisé, de l’infrastructure réseau, du système d’exploitation, etc. Le nombre d’évaluations de la fonction objectif, indépendant de l’infrastructure informatique, peut également servir de mesure lorsque le temps de calcul de la fonction est significatif et reste constant. Pour comparer les effets de différents paramétrages d’une même méthode sur une instance de problème identique, on peut simplement évaluer le nombre d’itérations de la boucle principale. Robustesse En général, la robustesse peut être définie par une insensibilité vis à vis d’écarts minimes dans les instances d’entrée ou vis à vis des paramètres utilisés : plus faible est la variation des solutions obtenues, meilleur est la robustesse [195]. Pour les métaheuristiques, la robustesse peut également être évaluée par76 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES FIGURE 5.3 – Fonctionnement général d’une méthode de recherche locale : représentation sous la forme d’une marche à travers l’espace de recherche en partant d’une solution initiale s0 et en se dirigeant de proche en proche vers une solution optimale localement s ∗ . rapport à des problèmes ou instances différentes. Et lorsque des algorithmes stochastiques sont utilisés, la robustesse peut faire référence à des écarts de comportement de l’algorithme sur différentes exécutions pour une même instance de problème. 5.6.2 Métaheuristiques de voisinage Une métaheuristique de voisinage améliore une solution unique pendant toute la phase d’optimisation. Elle peut être vue comme une marche de proche en proche dans les voisinages, une trajectoire de recherche à travers l’espace de recherche du problème [57]. La marche (ou la trajectoire) est accomplie par des procé- dures itératives de génération et de remplacement qui réalisent tour à tour un déplacement de la solution courante à une solution voisine dans l’espace de recherche. Dans la phase de génération, un ensemble de solutions candidates est généré à partir de la solution courante alors que dans la phase de remplacement, on effectue la sélection d’un candidat à partir de l’ensemble des solutions candidates pour remplacer la solution courante. Cette procédure se répète jusqu’à ce qu’un critère d’arrêt donné soit vérifié. La recherche locale se base en effet sur l’idée d’amélioration d’une solution donnée s en appliquant des changements sur ses affectations. Les solutions obtenues en modifiant s s’appellent les voisins de s et constituent un ensemble qui représente le voisinage de s. Ainsi, la recherche locale commence par une solution initiale (éventuellement non-consistante) pour se diriger vers une solution optimale (ou localement optimale) : • un voisinage est généré autour de la solution courante : il représente l’ensemble des solutions obtenues en altérant localement la solution courante, par exemple en changeant la valeur de l’une de ses variables ou en échangeant les valeurs de deux variables. • une heuristique de sélection détermine l’un des voisins qui devient la solution courante, par exemple celui qui permet de faire diminuer le plus le coût de la solution (pour un problème de minimisation). • un critère d’arrêt est testé pour limiter le temps de calcul, par exemple un nombre maximum d’itérations ou une durée de traitement maximale. Le fonctionnement général d’une méthode de recherche locale peut être illustré par la Figure 5.3 : S correspond à l’espace des solutions ; s0, s1, · · · , s4 sont des solutions admissibles et s * correspond à une solution optimale localement.5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 77 FIGURE 5.4 – Optimum global et local pour un problème de minimisation. Pour un voisinage donné, si on se contente de choisir systématiquement un voisin qui réduit le coût de la solution courante (pour un problème de minimisation), le processus de résolution se retrouvera obligatoirement bloqué dans un optimum local où tous les voisins dégradent le coût de la solution courante, cet optimum local n’étant que très rarement l’optimum global (figure 5.4). C’est pour cette raison que les métaheuristiques de RL utilisent des stratégies pour s’en échapper, par exemple en autorisant des transitions défavorables (i.e. choix d’un voisin de coût supérieur) ou en recommençant la recherche avec une nouvelle solution choisie aléatoirement. Les algorithmes de RL ne sont pas complets car ils ne maintiennent pas de représentation de la partie déjà explorée de l’espace de recherche, alors que les algorithmes systématiques le font en structurant l’espace sous la forme d’un arbre. Ils ne peuvent donc pas garantir que tout l’espace de recherche sera exploré ni qu’une même solution ne sera pas visitée plusieurs fois. Leur efficacité est donc empirique et dépend de l’instance considérée. Toutefois, dans la pratique, ils fournissent souvent de très bons résultats en un temps raisonnable pour une grande variété de problèmes. De plus, ils ont l’avantage de pouvoir résoudre des problèmes sur-contraints car ils manipulent des solutions éventuellement non-consistantes. Ils peuvent également fournir une solution à tout moment (algorithme anytime) car l’état courant est une instanciation totale. 5.6.3 Concepts communs aux métaheuristiques de RL Nous abordons ici les concepts qui sont communs aux différents algorithmes de recherche locale. 5.6.3.1 Solution initiale Il existe deux stratégies principales pour générer une solution initiale : l’approche aléatoire et l’approche gloutonne. La génération aléatoire d’une solution initiale est rapide. Cette stratégie peut entraîner une déviation importante en termes de solutions obtenues et constitue à ce titre une bonne base de diversification. Néanmoins, pour certains problèmes contraints, il peut être difficile de générer des solutions faisables avec cette technique. Dans ce cas, les algorithmes de construction gloutons représentent une bonne alternative. Géné- ralement, une heuristique gloutonne peut être utilisée avec une complexité réduite à un temps polynomial. Par rapport aux algorithmes aléatoires, les algorithmes gloutons conduisent souvent à une solution initiale78 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES de meilleur qualité. Dans ce cas, la RL nécessite généralement moins d’itérations pour converger vers un optimum local. Mais rien ne garantit que l’utilisation d’une solution initiale de qualité supérieure conduira systématiquement la RL à un meilleur optimum local. Habituellement, on constate que plus le voisinage est grand, moins les performances de la RL sont sensibles à la solution initiale [266]. Des règles métier identifiées par des experts ou des solutions déjà implémentées peuvent également servir de support pour générer une solution initiale. 5.6.3.2 Voisinage La définition d’un voisinage est une opération délicate qui est requise pour utiliser n’importe quelle mé- taheuristique de RL. Sa structure joue un rôle essentiel sur les performances. De plus, si elle n’est pas adéquate au problème donné, la résolution échouera quelle que soit la méthode employée. La modélisation du problème d’optimisation et le choix du voisinage doivent être effectués de telle sorte qu’il existe au moins un chemin entre chaque solution s 0 ∈ S menant à une solution optimale s * . Definition 10 (Voisinage). Étant donné une solution s, le voisinage de s est un sous-ensemble de solutions noté N (s) ⊆ S ; N (s) contenant des solutions directement atteignables à partir d’une transformation élémentaire donnée de s. Une solution s 0 ∈ N (s) est dite voisine de s. Un voisin est généré par l’application d’une transformation élémentaire qui réalise une légère perturbation de la solution s. Par exemple, une transformation élémentaire peut consister à effectuer une permutation de valeurs entre deux variables (2-échanges) d’une même solution s. Dans ce cas, la taille du voisinage N (s) est égale à n(n−1) 2 , avec n le nombre de variables du problème. La structure du voisinage dépend de la transformation autorisée. Ainsi, à partir d’une solution donnée, on peut établir plusieurs structures de voisinage différentes selon les transformations retenues. Definition 11 (Optimum local). Une solution s est un optimum local si et seulement si il n’existe pas une autre solution s 0 ∈ N (s) avec un coût (issu de la fonction objectif) strictement meilleur. ∀s 0 ∈ N (s) ( f(s) ≤ f(s 0 ) pour un problème de minimisation f(s) ≥ f(s 0 ) pour un problème de maximisation La taille du voisinage pour une solution s correspond au nombre de voisins de s. Utiliser de grands voisinages peut améliorer la qualité des solutions obtenues dans la mesure où on considère plus de voisins à chaque itération. Mais dans ce cas, un temps de calcul supplémentaire sera requis pour effectuer chaque itération. Lorsque le nombre de cycles à opérer est important pour la résolution d’un problème, le temps additionnel occasionné peut devenir conséquent. Il faut donc trouver un compromis entre la qualité du voisinage et la complexité nécessaire pour l’explorer. Lorsque la complexité d’exploration d’un voisinage devient trop importante, ce problème devient à lui seul un problème d’optimisation. Il est alors indispensable de concevoir des procédures efficaces pour réaliser l’exploration. En général, ces procédures cherchent à identifier les meilleurs voisins (ou des voisins meilleurs) sans devoir énumérer l’ensemble du voisinage [5]. 5.6.3.3 Paysage d’un problème d’optimisation Le paysage d’un problème d’optimisation combinatoire est défini par le triplet (S, N , f) tel que : • S : est l’ensemble des solutions réalisables ; • N : S → 2 S : est une relation de voisinage qui associe à toute solution s de l’ensemble des solutions un sous-ensemble N (s) de solutions réalisables appelées voisins ; • f : S → R : est une fonction objectif qui mesure la qualité des solutions réalisables. La notion de paysage a été introduite pour la première fois dans la littérature par WRIGHT [289] en lien avec la biologie. La structure de voisinage a été utilisée pour étudier les dynamiques des systèmes5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 79 FIGURE 5.5 – Paysage lisse d’après [181]. FIGURE 5.6 – Paysage rugueux d’après [181]. FIGURE 5.7 – Paysage d’un problème d’optimisation d’après [181]. biologiques et comprendre les processus d’évolution déterminés par des opérateurs comme la mutation ou le croisement. Cette notion fut ensuite transposée à d’autres domaines comme celui de l’optimisation combinatoire [257, 256]. On peut utiliser des termes géographiques pour décrire un paysage : l’espace de recherche représente le sol, la relation de voisinage connecte les solutions les unes aux autres et la fonction objectif leur affecte une qualité transcrite en altitude (figure 5.7). On obtient un paysage constitué de vallées, de plaines, de sommets, de plateaux, de cuvettes, etc. Analyser la structure d’un paysage permet d’appréhender le degré de difficulté d’un problème et peut aider à concevoir de meilleures représentations du voisinage. Il est plus facile d’atteindre l’optimum global pour un paysage lisse (figure 5.5) que pour un paysage rugueux (figure 5.6) où les optima locaux sont plus nombreux : on peut alors expliquer la réussite ou l’échec d’une métaheuristique sur un problème donné. Globalement, un paysage peut avoir un relief plat, rugueux ou vallonné [181]. Beaucoup de problèmes d’optimisation sont caractérisés par un paysage plat dans lequel il y a beaucoup de plateaux, c’est à dire beaucoup de voisins ayant la même qualité [266]. Lorsqu’une métaheuristique rencontre un plateau, aucune information ne lui permet de guider sa recherche. Pour casser ces plateaux, une stratégie consiste à intégrer dans la fonction objectif des informations supplémentaires permettant de discriminer les solutions ayant la même valeur d’objectif [132, 84]. 5.6.3.4 Évaluation incrémentale du voisinage L’évaluation de la fonction objectif peut nécessiter un temps de calcul important. Une exploration naïve du voisinage d’une solution s consiste à évaluer complètement la fonction objectif pour chaque voisin s 0 de s. Lorsque cela est possible, il est plus performant d’évaluer chaque voisin par une évaluation incrémentale représentée par 4(s, m) où s est la solution courante et m le mouvement (ou transformation) appliqué à s pour obtenir un voisin s 0 . On limite ainsi l’évaluation à la transformation de s au lieu d’évaluer complète-80 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES FIGURE 5.8 – Principe de génération du voisinage à partir de la solution courante et sélection d’un voisin d’après [35]. ment la solution voisine s 0 . Cette évaluation incrémentale peut être simple ou très complexe à implémenter en fonction du problème et de la structure du voisinage. 5.6.4 Méthodes de descente (Simple Improvement-based Local Search) Les méthodes de descente (amélioration continue) n’utilisent pas de stratégies avancées et à ce titre nous les considérons comme des techniques de base pouvant être utilisées par différentes métaheuristiques plus élaborées. On les retrouve sous le nom "hill climbing" pour les problèmes de maximisation. Une méthode de descente (first improvement ou simple hill climbing) choisit à chaque étape une solution voisine meilleure que la solution courante (figure 5.8). Quand plus aucune solution voisine n’améliore la solution courante, un optimum local est atteint et le processus s’arrête. La méthode de plus forte descente (best improvement ou steepest ascent hill climbing) est une variante qui choisit à chaque étape la meilleure solution voisine parmi celles qui améliorent la solution courante. En termes d’exploration du voisinage, les méthodes de descente (first improvement) font une exploration partielle du voisinage (algorithme 4) alors que les méthodes de plus forte descente (best improvement) nécessitent une exploration exhaustive du voisinage (algorithme 5). L’avantage principal de ces méthodes de descente réside dans leur grande simplicité et leur rapidité. Historiquement, ces méthodes ont toujours compté parmi les méthodes heuristiques les plus populaires pour traiter les problèmes d’optimisation combinatoire. Toutefois, elles comportent deux obstacles majeurs qui peuvent limiter considérablement leur efficacité : • suivant la taille et la structure du voisinage N considéré, la recherche de la meilleure solution voisine est un problème qui peut être aussi difficile que le problème initial. • une méthode de descente est incapable de progresser au-delà du premier optimum local rencontré.5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 81 Algorithme 4 : Méthode de descente 1 Créer la solution initiale s ; 2 while (optimum local non atteint) do 3 repeat Créer un nouveau voisin s 0 4 en réalisant un mouvement sur s ; until (s 0 meilleur que s) ou (plus aucun mouvement disponible) ; if (s 0 5 meilleur que s) then Passer à la solution s 0 (la solution courante s est remplacée par s 0 6 ) ; 7 return s ; Algorithme 5 : Méthode de plus forte descente 1 Créer la solution initiale s ; 2 while (optimum local non atteint) do 3 Déterminer le voisinage complet N de la solution courante s ; 4 if (N contient au moins une meilleure solution que s) then Choisir la meilleure solution s 0 5 dans N ; Passer à la solution s 0 (la solution courante s est remplacée par s 0 6 ) ; 7 return s ; Or, les problèmes d’optimisation combinatoire comportent typiquement de nombreux optima locaux pour lesquels la valeur de la fonction objectif peut être fort éloignée de la valeur optimale. Pour remédier à ce dernier problème, la solution la plus simple est la méthode de descente avec relance aléatoire (random restart hill climbing) qui consiste à générer une nouvelle solution de départ de façon aléatoire et à relancer la méthode de descente. On remarquera cependant que cette solution ne tire aucun profit des optima locaux déjà découverts. Une autre solution consiste à accepter des voisins de même qualité que la configuration courante. Cette approche permet à la recherche de se déplacer sur les plateaux, mais n’est pas suffisante pour ressortir d’un optimum local. L’efficacité des méthodes de RL repose en réalité sur un équilibre entre deux notions essentielles repré- sentées par l’intensification et la diversification. 5.6.5 Mécanismes d’intensification et de diversification Ces deux termes ont été initialement introduits par GLOVER dans le contexte de la recherche tabou [112, 113, 115] avant d’être généralisés puis vus comme des propriétés essentielles des métaheuristiques. L’intensification (ou exploitation) insiste sur l’examen en profondeur d’une zone de recherche particulière alors que la diversification (ou exploration) met en avant la capacité de découvrir des zones de recherche prometteuses. L’idée de base de l’intensification est d’exploiter une ou des solutions prometteuses. Elle se fonde sur les notions liées à l’apprentissage en considérant que les attributs souvent présents dans les configurations d’élite connues sont favorables, il faut donc les exploiter plus que les autres. Par contre, les attributs rarement présents dans les configurations d’élite connues sont peu favorables, il faut donc les éviter. De nombreuses techniques d’intensification ont été proposées [161, 30, 231, 128] : • relancer la recherche à partir des bonnes solutions déjà rencontrées ; • reconstruire une solution de départ qui tente de combiner des attributs souvent rencontrés dans les meilleures configurations ;82 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES FIGURE 5.9 – Classification (I&D) des composants d’une stratégie de recherche proposée par BLUM et ROLI [30] (OG = composants exclusivement guidés par la fonction objectif ; NOG = composants I&D uniquement guidés par une ou plusieurs fonctions autres que la fonction objectif ; R = composants guidés de façon totalement aléatoire). Le composant repéré par une croix ’X’ situé à mi-chemin entre l’intensification et la diversification n’est pas stochastique. • fixer certains attributs qui ont souvent été présents dans les configurations d’élite. Cependant, l’application du seul principe d’intensification ne permet pas une recherche efficace. En effet, elle conduit à confiner la recherche dans une zone limitée qui finit par s’épuiser. Le cas de l’amélioration continue illustrée par les méthodes de descente (voir la section 5.6.4) rapidement piégées dans un optimum local représente bien ce phénomène. A contrario, la diversification est un mécanisme qui oblige la recherche à s’éloigner d’une zone où les solutions sont connues pour se diriger vers d’autres zones inexplorées. HOOS et STÜTZLE ont établi un lien étroit entre diversification et caractère aléatoire [135]. Pour eux, une part d’aléatoire introduite dans la phase d’initialisation (pour créer la solution initiale) ou dans les étapes de recherche (en autorisant parfois la dégradation du score) permet de contourner les principales limitations des méthodes de descente qui restent piégées dans le premier minimum local rencontré. De nombreuses techniques de diversification ont été proposées. La technique la plus simple consiste à construire une nouvelle solution de départ pour relancer la recherche. Les changements de voisinage (5.6.10.2) sont aussi une forme de diversification permettant d’atteindre de nouvelles solutions. D’autres heuristiques peuvent réaliser une perturbation aléatoire (modifications aléatoires de la solution courante) ou encore caractériser les régions visitées pour pouvoir ensuite s’en éloigner. La recombinaison constitue un autre principe général qui complète l’intensification et la diversification. Elle consiste à construire de nouvelles configurations en combinant la structure de deux ou plusieurs bonnes configurations déjà trouvées. Cette idée issue des algorithmes génétiques (le croisement) a été introduite dans des méthodes de voisinage, notamment dans la méthode de recherche par dispersion (Scatter Search). Une stratégie de recherche efficace doit donc intégrer à la fois des mécanismes d’intensification et de diversification et trouver un bon équilibre entre ces deux notions antagonistes. Bien que certains composants d’une stratégie de recherche ne puissent être clairement catalogués comme participant soit à l’intensification, soit à la diversification (car ils participent aux deux à la fois), BLUM et ROLI ont proposé une classification [30] représentée par un triangle dans lequel on place les composants pour les évaluer en5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 83 fonction de leur position à l’intérieur du triangle (figure 5.9). Dans ce triangle, l’effet de l’intensification diminue lorsque la distance au coin OG augmente tandis que la force de diversification augmente lorsqu’on s’approche des coins R ou NOG. Ce schéma correspond à une signature simple du composant concerné (e.g. composant repéré par une croix ’X’ dans la figure 5.9) et permet ainsi de représenter les mécanismes qu’il met en œuvre en relation avec sa position. 5.6.6 Recherche Locale Itérée (Iterated Local Search, ILS) La méthode de recherche locale itérée est une métaheuristique simple mais puissante [260, 176, 177, 184]. Il s’agit d’une amélioration des méthodes de descente qui propose une stratégie pour pallier l’arrêt de la recherche sur le premier optimum local rencontré, problème inhérent aux techniques de descente. A partir d’une solution initiale soumise à une méthode de descente classique, cette méthode enchaîne les trois étapes suivantes jusqu’à ce qu’un critère d’arrêt soit satisfait : • perturbation aléatoire de la solution courante ; • optimisation de la solution perturbée par une méthode de descente jusqu’à obtenir un optimum local ; • acceptation (ou non) du nouvel optimum local comme solution courante. La phase de perturbation est essentielle et elle doit être bien dosée. En effet, si la perturbation est trop faible, on ne pourra pas s’échapper du bassin d’attraction de l’optimum local précédent. Au contrainte, si la perturbation est trop importante, l’algorithme se comportera comme une méthode de descente avec relance aléatoire. Pour ce qui est de l’acceptation d’une nouvelle solution courante, on peut imaginer un grand nombre de possibilités comprises entre deux extrêmes qui consistent à (i) accepter le nouvel optimum local uniquement si il améliore la dernière solution trouvée ou à (ii) accepter systématiquement la nouvelle solution. Algorithme 6 : Méthode de recherche locale itérée 1 Créer la solution initiale s0 ; s ∗ 2 = Méthode de descente(s0) ; 3 repeat s1 = Perturbation aléatoire(s ∗ 4 , historique) ; 5 s2 = Méthode de descente(s1) ; if (Acceptation(s ∗ 6 , s2, historique)) then s ∗ 7 = s2 ; until (critère de fin atteint) ; 5.6.7 Recuit Simulé (Simulated Annealing, SA) Le recuit simulé est une métaheuristique populaire dont le mécanisme de recherche est calqué sur l’algorithme de Metropolis [189] et les principes de recuit thermodynamiques utilisés en métallurgie. KIRKPATRICK et al. [153] et CERNY [42] ont été les premiers à s’inspirer d’une telle technique pour résoudre des problèmes d’optimisation combinatoire. En partant d’une température élevée où le métal est liquide, on le refroidit progressivement en tentant de trouver le meilleur équilibre thermodynamique. Chaque niveau de température est maintenu jusqu’à obtenir un équilibre. Dans ces phases de température constante, on peut passer par des états intermédiaires du métal non satisfaisants, mais conduisant à la longue à des états meilleurs. La vitesse de refroidissement a un impact crucial sur la configuration finale, un alignement atomique approprié n’étant possible que si le procédé de refroidissement est suffisamment lent. Le voisinage N (s) d’une solution s ∈ S s’apparente à l’ensemble des états atteignables depuis l’état courant en faisant subir des déplacements infinitésimaux aux atomes d’un système physique. A chaque84 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES itération de l’algorithme, une seule solution voisine s 0 est générée à partir du voisinage N (s). Celle-ci est acceptée si elle est meilleure que la solution courante s. Dans le cas contraire, la solution s 0 est acceptée avec une certaine probabilité prob(4f, T) qui dépend de la détérioration de la qualité 4f = f(s 0 ) − f(s) et d’un paramètre T correspondant à la température. Les changements de température sont effectués sur la base d’un schéma de refroidissement précis. En règle générale, la température est diminuée par paliers à chaque fois qu’un certain nombre d’itérations est effectué. L’algorithme est interrompu lorsqu’aucune solution voisine n’a été acceptée pendant un cycle complet d’itérations à température constante. La performance du recuit simulé est étroitement liée au schéma de refroidissement considéré. De nombreuses études théoriques ont été effectuées à ce sujet et plusieurs variantes ont été proposées [52, 211]. Algorithme 7 : Méthode de recuit simulé 1 Créer la solution initiale s ; 2 Définir la température initiale T0 ; 3 Définir le nombre d’essais pour chaque niveau de température L; 4 Initialiser le compteur de niveau k ← 0 ; 5 while (critère de fin non satisfait) do 6 for (i = 1 to L) do Créer un nouveau voisin s 0 7 en appliquant à s un mouvement choisi aléatoirement ; Calculer la différence de coût 4f = f(s 0 8 ) − f(s); 9 if (4f ≤ 0) then Passer à la solution s 0 (Remplacer la solution courante s par s 0 10 ) ; else 11 Tirer un nombre aléatoire r ∈ [0, 1] ; if  r ≤ exp  −4f Tk  then 12 Passer à la solution s 0 (Remplacer la solution courante s par s 0 13 ) ; 14 Actualiser la meilleure solution trouvée (si nécessaire) ; 15 Définir k ← k + 1 ; 16 Définir la valeur de la température Tk pour le nouveau niveau k ; 17 return la meilleure solution trouvée ; En début du processus de recherche, le système est chauffé en fixant T à une valeur élevée. L’algorithme de Metropolis est exécuté pour un nombre déterminé d’itérations, tout en gardant la température fixe. Après cela, la température diminue lentement et l’algorithme de Metropolis est relancé. Ce plan d’action est ré- pété jusqu’à ce que le système soit gelé, c’est à dire lorsqu’on a atteint une température très basse et que pratiquement aucune modification de configuration ne se produit (algorithme 7). 5.6.8 Recherche Tabou (Tabu Search, TS) Introduite indépendamment par F. GLOVER [111] d’une part et par P. HANSEN [125] d’autre part, la recherche tabou est une métaheuristique qui construit un voisinage en excluant un certain nombre de confi- gurations récemment visitées (ou mouvements récents). Elle utilise toujours la meilleure solution voisine indépendamment du fait qu’elle améliore ou non la qualité de la solution précédente. Tant qu’on ne se trouve pas dans un optimum local, cette méthode se comporte comme une méthode de plus forte descente qui améliore à chaque itération la valeur de la fonction objectif en choisissant une configuration meilleure. Mais lorsqu’elle a atteint un optimum local, la recherche tabou cherche à s’en5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 85 FIGURE 5.10 – Recherche tabou pour un problème de minimisation : déplacement dans l’espace de recherche en sélectionnant à chaque itération le meilleur voisin dans un voisinage débarrassé des solutions récentes marquées tabou (pour éviter les cycles). On alterne ainsi entre des phases d’intensification et de diversification qui poussent la recherche à se diriger vers un optimum global. échapper en choisissant le voisin le moins mauvais, c’est à dire celui qui détériore le moins le coût de la dernière solution sélectionnée (figure 5.10). Pour éviter d’emprunter le chemin inverse (retour à une solution précédente) qui provoquerait un cycle, la méthode se déplace d’une configuration à une autre en s’interdisant de revenir sur une configuration ré- cente déjà rencontrée. Elle utilise pour cela une liste tabou qui contient les dernières configurations visitées et interdites pendant un certain nombre d’itérations, le but étant de donner assez de temps à l’algorithme pour lui permettre de sortir du minimum local. Cependant, stocker dans la liste tabou des configurations entières et vérifier si elles correspondent à la prochaine destination peut être coûteux en espace mémoire et en temps de calcul. Pour éviter ce problème, une alternative courante consiste à stocker et à interdire un ensemble de mouvements récemment utilisés (plutôt que des solutions), ces mouvements pouvant ramener à une configuration déjà visitée. Dans le cas d’une liste tabou basée mouvements, l’interdiction d’emprunter un chemin ne porte pas uniquement sur les solutions récemment visitées, elle porte plus globalement sur toutes les solutions qui résulteraient de l’un des mouvements présents dans la liste. Le nombre de ces solutions involontairement déclarées tabou dépend de la capacité de stockage de la liste tabou et peut varier très fortement en fonction du problème et de la structure du voisinage. Il arrive même que cette interdiction empêche de visiter des solutions supérieures (à la meilleure configuration déjà rencontrée) n’ayant pas encore été visitées, ce qui rend le processus de recherche plus difficile. Pour ne pas interdire l’accès à ces configurations de qualité supérieure, on peut ajouter un mécanisme dit d’aspiration qui permet d’enlever le caractère tabou à certains mouvements jugés utiles pour accéder à des solutions de qualité exceptionnelle. D’autres critères d’aspiration plus sophistiqués ont également été proposés [66, 131]. La durée tabou est un paramètre essentiel qui influence énormément les performances de la méthode, il est donc crucial de bien la choisir en fonction du problème traité et de l’instance. La durée du statut tabou peut être soit statique soit dynamique. Une durée statique est fixée en début de résolution et reste constante durant toute la recherche. Une durée dynamique peut varier au cours de l’exécution. Plusieurs86 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES études [127] ont montré que les résultats obtenus avec les listes tabou dynamiques pouvaient être meilleurs qu’avec une liste statique. Dans [72, 73], les auteurs proposent des techniques d’apprentissage pour définir empiriquement les paramètres de durée. Algorithme 8 : Méthode de recherche tabou 1 Créer la solution initiale s ; 2 Initialiser la liste tabou T ; 3 while (critère de fin non satisfait) do 4 Déterminer le voisinage complet N de la solution courante s ; Choisir la meilleure solution s 0 5 non tabou dans N ; Passer à la solution s 0 (la solution courante s est remplacée par s 0 6 ) ; 7 Modifier la liste tabou T ; 8 Actualiser la meilleure solution trouvée (si nécessaire) ; 9 return la meilleure solution trouvée ; 5.6.8.1 La liste tabou La liste tabou contient habituellement une quantité limitée d’informations pouvant être de différentes natures [106]. Elle est généralement organisée comme un buffer de type "first in first out". Lorsque le buffer est plein et qu’un nouvel élément doit y être ajouté, l’élément le plus ancien est supprimé du buffer et les éléments précédents sont décalés vers la fin. La capacité du buffer détermine la "durée tabou". Notons qu’une liste tabou de taille fixe ne peut pas éviter avec certitude l’occurrence de cycles. Afin d’améliorer sa protection contre les cycles, deux approches majeures ont été développées : • faire varier la taille de la liste au fil du temps [112, 113, 250, 263]. • faire varier la durée tabou de chaque élément [107]. Cette approche nécessite une structure mémoire adaptée. Les éléments tabou doivent être mémorisés dans un tableau avec une information de durée tabou, typiquement le numéro d’itération à atteindre pour qu’ils passent du statut tabou au statut non tabou. 5.6.8.2 Alternance entre intensification et diversification Afin d’illustrer la stratégie de recherche tabou et le nécessaire équilibre entre intensification et diversification, revenons sur la Figure 5.10. Le processus d’optimisation démarre avec la solution initiale s1. Il entame alors une première phase d’intensification de la recherche en opérant une méthode de descente jusqu’à ce qu’il rencontre un optimum local (s6). Pour sortir de cette impasse, il a alors deux solutions : soit il revient à la solution s5, soit il avance à la solution s7. La liste tabou ayant mémorisé les dernières solutions visitées, on suppose que la solution s5 est interdite. La recherche tabou passe donc à la solution s7 correspondant à la meilleure solution voisine non tabou. La solution s7 ayant été visitée, elle devient à son tour tabou. La recherche n’a pas d’autre choix que de poursuivre sa phase de remontée jusqu’à atteindre la solution s10. Cette ascension l’éloigne peu à peu de la vallée où la recherche était bloquée : il s’agit d’une phase de diversification qui guide la recherche vers de nouveaux horizons. A partir du point s10, des solutions voisines d’amélioration non tabou sont accessibles et le processus rentre à nouveau dans une phase d’intensification. 5.6.9 Adaptive Search (AS) Adaptive Search est une méthode de recherche locale basée contraintes (i.e. Constraint-Based Local Search) proposée au début des années 2000 [47, 48]. Cette métaheuristique tire parti de la structure d’un problème5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 87 en exploitant les contraintes et les variables d’un CSP donné. Elle peut ainsi guider la recherche avec plus de précision qu’une simple fonction de coût globale à optimiser, qui mentionnerait uniquement le nombre de contraintes violées [10]. L’algorithme utilise également une mémoire à court terme, dans l’esprit de la recherche tabou, pour éviter (i) une stagnation dans un optimum local et (ii) des cycles infinis. De part sa nature, cette métaheuristique gère de façon intrinsèque les problèmes sur-contraints. L’algorithme 9 présente un schéma général de la métaheuristique Adaptive Search qui s’articule autour de trois principes : • considérer pour chaque contrainte une fonction heuristique capable de calculer un degré de satisfaction des objectifs : l’erreur courante sur la contrainte ; • regrouper les contraintes sur chaque variable et projeter les erreurs sur les variables dans le but de réparer la plus mauvaise variable avec la valeur la plus prometteuse ; • conserver dans une mémoire à court terme les mauvaises configurations pour éviter les cycles (i.e. à la manière d’une liste tabou) et proposer un mécanisme de réinitialisation partielle. Pour chaque contrainte, une fonction d’erreur doit être définie afin de fournir, pour chaque tuple "variable | valeur", une indication sur son degré de violation. Cette idée a également été proposée indépendamment par P. GALINIER et J.K. HAO [99], où il est question de "fonctions de pénalité", puis réutilisée dans la plateforme Comet [272], où les auteurs parlent de "violations". AS procède à une réparation itérative sur la base des erreurs liées aux variables et aux contraintes, en cherchant à réduire l’erreur sur la variable ayant le coût le plus élevé. Pour cela, on calcule la fonction d’erreur pour chaque contrainte, puis on combine pour chaque variable les erreurs de toutes les contraintes où elles apparaissent, ce qui permet de projeter les erreurs des contraintes sur les variables correspondantes. La procédure qui permet de transférer les erreurs des contraintes sur les variables est problème-dépendant. Il s’agit généralement d’une simple somme, ou d’une somme de valeurs absolues, bien que cela puisse également être une somme pondérée si les contraintes sont données avec des priorités différentes. Finalement, la variable avec l’erreur la plus importante est désignée comme étant "la coupable" et sa valeur est modifiée. Pour cette seconde étape, l’heuristique min-conflicts11 [192] est utilisée pour sélectionner la valeur dans le domaine de la variable qui est la plus prometteuse, c’est à dire la valeur pour laquelle l’erreur totale dans la configuration suivante est minimale. Pour éviter d’être piégée dans un minimum local, la méthode AS incorpore un mécanisme de mémoire à court terme permettant de mémoriser les configurations à éviter (les variables peuvent être marquées tabou et être gelées pour un nombre d’itérations). Elle intègre également des étapes de réinitialisation. Une réinitialisation consiste à assigner de nouvelles valeurs aléatoires pour certaines variables, ces dernières étant également choisies de façon aléatoire. Par exemple, lorsque trop de variables deviennent tabou, l’algorithme risque d’être piégé autour d’un minimum local. Une diversification peut alors être sollicitée par une réinitialisation partielle en assignant de nouvelles valeurs à un pourcentage donné de variables du problème, les variables et les valeurs étant choisies aléatoirement. Une réinitialisation peut être déclenchée lors d’une itération dès qu’un nombre de variables marquées tabou est atteint. Par rapport à l’algorithme de base (cf. algorithme 9), une amélioration peut être apportée lorsqu’on se déplace sur un plateau. Dans ce cas, un système stochastique simple peut être utilisé pour décider de poursuivre sur le plateau ou de s’en échapper, selon une certaine probabilité. Bien que cette méthode soit très simple, elle n’en reste pas moins très efficace pour résoudre des problèmes combinatoires complexes [49]. Soulignons également que cette métaheuristique exploite plusieurs mécanismes stochastiques. D’une part dans l’algorithme de base pour la sélection d’une variable et d’une valeur pour trancher entre des choix équivalents. D’autre part, dans la valeur des paramètres de contrôle pouvant être fixés différemment par l’utilisateur à chaque exécution (% de variables concernées par une ré- 11La méthode min-conflicts cherche à éviter une exploration exhaustive du voisinage à chaque itération comme le fait la méthode de plus forte descente (ou best improvement). Pour ce faire, une variable en conflit (impliquée dans une contrainte violée) est choisie aléatoirement et instanciée avec la valeur qui minimise le nombre de conflits, avec un choix aléatoire en cas d’égalité. Cette heuristique introduite pour des problèmes de satisfaction de contraintes tente ainsi de réparer une configuration non consistante.88 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES Algorithme 9 : Algorithme de base pour la métaheuristique Adaptive Search, d’après [10]. Input : problème donné au format CSP : certains paramètres de règlage : • variables Xi avec leurs domaines • TT : # iterations où une variable reste tabou • contraintes Cj avec fonctions d’erreur • RL : # variables tabou pour déclencher un reset • fonction pour projecter les erreurs sur les variables • RP : % de variables à réinitialiser • fonction de coût à minimiser • MI : # max. iterations avant un redémarrage • MR : # max. de redémarrages Output : une solution si le CSP est satisfait ou une solution approchée de coût minimal sinon. 1 Restart ← 0 ; 2 Opt_Sol ← ∅ ; 3 Opt_Cost ← MAX ; 4 repeat 5 Restart ← Restart + 1 ; 6 Iteration ← 0 ; 7 Calculer une affectation aléatoire A de variables dans V ; 8 if (cost(A) < Opt_Cost) then 9 Opt_Sol ← A ; 10 Opt_Cost ← cost(A) ; 11 repeat 12 Iteration ← Iteration + 1 ; 13 Calculer les erreurs de toutes les contraintes dans C et combiner les erreurs sur chaque variable; (en considérant uniquement les contraintes où la variable apparaît) 14 Sélectionner la variable X (non marquée tabou) avec l’erreur la plus forte ; (si il y en a plusieurs avec le même coût, en sélectionner une de façon aléatoire dans la liste) 15 Évaluer les configurations du voisinage de A à partir de X ; 16 if (aucun changement ne permet d’améliorer le coût) then 17 marquer X comme tabou jusqu’à l’itération numéro : Iteration + T T ; 18 if (le nombre de variables marquées tabou ≥ RL) then 19 réinitialiser au hasard RP % variables dans V (et ne plus les considérer comme tabou) ; else Appliquer le meilleur changement à partir de X, donnant la configuration suivante A0 20 ; A ← A0 21 ; 22 if (cost(A) < Opt_Cost) then 23 Opt_Sol ← A ; 24 Opt_Cost ← cost(A) ; until (Opt_Cost = 0 (une solution est trouvée) ou Iteration ≥ MI) ; until (Opt_Cost = 0 (une solution est trouvée) ou Restart ≥ MR) ; 25 output(Opt_Sol, Opt_Cost)5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 89 initialisation partielle, nombre maximum de variables marquées tabou pour déclencher une réinitialisation partielle, . . . ). 5.6.10 Autres métaheuristiques obtenues par recombinaison de méthodes simples Nous présentons ici quelques méthodes de RL originales qui combinent et exploitent des techniques de base déjà abordées dans ce chapitre. L’association de techniques simples pour produire des techniques plus sophistiquées nous permet d’illustrer tout le potentiel que représente l’hybridation de méthodes (complètes et incomplètes) sans toutefois développer ce dernier aspect [127, 252, 162, 146, 76, 152]. 5.6.10.1 Greedy Randomized Adaptive Search Procedure (GRASP) La méthode GRASP [91, 230] consiste à répéter deux phases successives tant qu’un critère d’arrêt n’est pas satisfait : • la première phase construit une solution s par un algorithme glouton aléatoire (Greedy randomized, section 5.5.2) ; • la seconde phase utilise une méthode de descente pour trouver un optimum local à partir de s. La méthode retourne la meilleure solution trouvée. 5.6.10.2 Recherche à voisinage variable (Variable Neighborhood Search, VNS) Proposée par HANSEN et MLADENOVIC [126] en 1997, la méthode de recherche à voisinage variable est une métaheuristique récente qui exploite un changement de structures de voisinage pour s’échapper d’un optimum local. L’idée de base est de faire varier la structure de voisinage en se basant sur le fait qu’une configuration s reconnue comme un optimum local pour une structure de voisinage donnée peut ne pas être un optimum local pour une autre structure de voisinage. Cette méthode fonctionne en plusieurs étapes. Tout d’abord, elle nécessite la définition de différentes structures de voisinage, notées N1, ..., Nkmax , allant d’une portée faible à une portée de plus en plus importante. A partir d’une configuration complète de départ s, une solution s 0 voisine de s est sélectionnée (de façon aléatoire) en utilisant la structure de voisinage N1 (de plus faible portée). On applique alors une méthode de descente sur s 0 . Si la solution s 00 obtenue à l’issue de cette première recherche est meilleure que la solution s de départ alors la solution s est remplacée par s 00 et la recherche reprend à partir de la première structure de voisinage. Sinon, une autre configuration complète s 0 peut être sélectionnée dans le voisinage de s en utilisant une structure de voisinage de portée supérieure (soit dans notre cas la structure de voisinage N2). La même règle est appliquée pour les choix suivants jusqu’à l’obtention d’un critère d’arrêt. A noter que les règles de changement de structure de voisinage peuvent être plus complexes. Il peut être intéressant d’utiliser des algorithmes de ce type pour des problèmes disposant de nombreux minimums locaux. 5.6.10.3 Recherche Locale Guidée (Guided Local Search, GLS) La recherche locale guidée proposée par VOUDOURIS et TSANG [281] pénalise les propriétés caractéristiques des solutions qui apparaissent dans un optimum local. Elle consiste à modifier dynamiquement la fonction objectif pour exploiter ces pénalités et rendre moins attractifs les optima locaux. La recherche démarre avec une solution initiale et toutes les valeurs de pénalité à zéro. Une méthode de descente est utilisée jusqu’à ce qu’un optimum local soit trouvé. La solution trouvée est utilisée pour calculer les nouvelles pénalités. Ces deux dernières étapes sont répétées jusqu’à ce qu’un critère d’arrêt soit vérifié.90 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES 5.6.11 Conclusion Par rapport à cette étude relative aux méthodes de résolution incomplètes, nous souhaitons mettre en perspective deux aspects qui nous paraissent essentiels : des différences significatives entre les méthodes d’une part et des opportunités d’assemblage d’autre part. D’un point de vue paramétrage, le recuit simulé paraît nettement plus compliqué que la méthode de recherche tabou par exemple : d’un côté, il faut définir un système de refroidissement par paliers (tempé- rature initiale, taux de décroissance de la température, durée des paliers de température, . . . ) [181, 245] alors que d’un autre, il suffit de définir la taille d’une liste. Lorsqu’on doit satisfaire une contrainte de temps importante, la méthode de recuit simulé ne semble pas bien positionnée non plus avec un temps de calcul qui reste excessif dans certaines applications [245]. A l’inverse, les méthodes basées sur le principe de plus forte descente semblent intéressantes pour améliorer très fortement la qualité d’une solution en tout début du processus de résolution. On notera que la recherche tabou est une méthode aussi agressive qu’une méthode de descente mais, si le temps le permet, elle sera capable de dépasser le premier optimum local. Par rapport à un type de problème particulier, des instances de problèmes classiques sont disponibles pour pouvoir évaluer la pertinence d’une méthode et la comparer aux autres (cf. les librairies : OR-Library12 , TSPLIB13, QAPLIB14, . . . ). En fonction de la structure d’un problème ou d’une instance, une méthode sera donc plus ou moins adaptée et obtiendra parfois les meilleurs résultats connus pour certains problèmes. Il est donc important d’avoir une vision des différentes techniques disponibles pour retenir celle qui est la plus prometteuse. Par exemple, parmi les métaheuristiques basées sur une recherche locale, la méthode tabou semble être la plus performante pour résoudre les problèmes d’affectation quadratique. Pour ce probème et dans la majorité des cas, c’est elle qui présente en effet le meilleur compromis entre qualité des solutions et temps de calcul [187]. La méthode Adaptive Search quant à elle sait tirer parti de la structure d’un problème pour guider la recherche en exploitant ses variables et ses différentes contraintes lorsqu’elles sont exprimées sous la forme d’un CSP. Ces éléments confèrent à cette métaheuristique un intérêt particulier dans notre contexte de travail. D’un autre coté, on s’aperçoit que chaque technique apporte son lot de contributions et qu’il est tout à fait possible de conjuguer certaines méthodes de base entre elles pour réaliser des méthodes plus sophistiquées. Nous retenons plus particulièrement les procédés suivants qui peuvent être complémentaires : • partir de solutions initiales différentes construites de façon aléatoire ou par une méthode de construction gloutonne aléatoire ; • enchaîner des phases successives constituées de différentes techniques et retourner le meilleur résultat trouvé ; • exploiter l’agressivité des méthodes de plus forte descente ; • réaliser des perturbations aléatoires sur les variables ; • accepter des solutions moins bonnes ; • exploiter une mémoire à court terme pour ne pas revenir sur ses pas ou ignorer certaines possibilités (configurations ou variables) ; • utiliser la structure du problème pour guider la recherche en exploitant les contraintes et les variables d’un problème (défini par un CSP). 5.7 Métaheuristiques parallèles (à base de voisinage) Les métaheuristiques offrent souvent la seule possibilité de résoudre des problèmes complexes du monde réel. Cependant, même en utilisant les métaheuristiques, les limites de ce qui peut être résolu dans un temps de calcul raisonnable sont encore trop rapidement atteintes pour beaucoup de problèmes. Dans sa 12http://people.brunel.ac.uk/~mastjjb/jeb/info.html 13http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/ 14http://anjos.mgi.polymtl.ca/qaplib/5.7. MÉTAHEURISTIQUES PARALLÈLES (À BASE DE VOISINAGE) 91 thèse [102], Vincent GARDEUX parle de "malédiction de la dimension". D’autre part, les métaheuristiques n’offrent pas de garanties sur la qualité des solutions fournies et leurs performances dépendent souvent des caractéristiques particulières du problème ou de l’instance. La parallélisation des métaheuristiques permet justement d’adresser ces deux problèmes : (i) offrir un maximum de performances et (ii) rendre les métaheuristiques robustes15 [58]. Elle peut également être utilisée pour améliorer la qualité des solutions obtenues ou résoudre des problèmes de grande taille [266]. Mais en quoi consiste la parallélisation d’une métaheuristique ? Le calcul parallèle (ou distribué) met en œuvre différents processus qui travaillent simultanément sur différents processeurs pour résoudre une instance donnée d’un problème. Le parallélisme correspond à une décomposition de la charge totale de calcul et à la distribution des tâches correspondantes sur les processeurs disponibles. Concernant les métaheuristiques, il existe deux types majeurs de décomposition : • décomposition algorithmique ; • décomposition de l’espace de recherche ; D’un point de vue algorithmique, la source principale de parallélisme pour les métaheuristiques concerne l’évaluation concurrente des voisins, c’est à dire l’exécution concurrente des boucles d’itération pour l’évaluation des voisins. Au niveau algorithmique, c’est souvent la seule source de parallélisme disponible car beaucoup d’autres étapes dépendantes du temps sont liées les unes aux autres et nécessitent le calcul d’étapes précédentes pour être réalisées. L’espace de recherche du problème peut lui aussi être décomposé et une méthodologie particulière employée pour adresser le problème sur chaque composante résultant de la décomposition. L’espace de recherche est partitionné entre différents processeurs et chaque processeur procède à une évaluation séparée du sous espace qui lui est assigné. Malgré le partitionnement, une énumération exhaustive du sous espace n’est généralement pas envisageable et on recourt à une méthode exacte ou à une métaheuristique pour explorer chaque partition. Deux approches peuvent être utilisées pour partitionner l’espace de recherche : la décomposition de domaine et la recherche multiple. 5.7.1 Évaluation concurrente des voisins Cette stratégie exploite le potentiel de décomposition intra-algorithme des tâches dans le cadre des boucles d’évaluation des solutions voisines. Elle ne modifie ni la logique de l’algorithme de base, ni l’espace de recherche. Son but est d’accélérer la recherche sans modifier le comportement de la métaheuristique sé- quentielle. Typiquement, l’exploration est initialisée à partir d’une solution initiale et la recherche se poursuit selon la stratégie de la métaheuristique de base, seules les boucles de calcul internes sont décomposées et les tâches correspondantes sont exécutées simultanément par plusieurs processus. Cette stratégie est souvent implémentée [58] conformément au modèle parallèle de programmation "master-slave" (figure 5.11) : Le programme master exécute la métaheuristique conformément au modèle séquentiel en dispatchant en parallèle les tâches de calcul gourmandes sur différents slaves. Le programme master reçoit et traite l’information résultant des opérations réalisées par les slaves, sélectionne et implé- mente les mouvements, actualise la mémoire le cas échéant, et décide de poursuivre la recherche selon différentes stratégies ou de l’arrêter. Les programmes slaves se contentent de réaliser les évaluations demandées et retournent les résultats au master, qui, lorsque tous les résultats sont disponibles, poursuit la logique normale de la métaheuristique séquentielle. Le contrôle complet de l’exécution repose sur master qui décide d’allouer le travail aux autres processeurs et initie la plupart des communications. Il n’y a pas de communication entre les processus slaves. 15Robuste s’entend dans le sens d’offrir un haut niveau de performance uniforme pour une large variété de problèmes et de caractéristiques.92 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES FIGURE 5.11 – Modèle parallèle de programmation Master-Slave d’après [58]. On parallélise la procédure d’évaluation du voisinage pour identifier la solution courante suivante de l’heuristique de recherche locale liée à la métaheuristique. Chaque itération de la boucle génère et évalue un voisin de la solution courante, et peut être exécutée indépendamment des autres itérations. Les calculs de ces itérations peuvent être réalisés sur plusieurs processeurs réservés pour ces tâches. En fait, le master regroupe les voisins dans un nombre approprié de tâches qui sont alors transmises aux slaves. A partir de là, chaque slave peut évaluer chaque voisin appartenant à la partie de son voisinage et retourner le meilleur voisin trouvé. Le master attend que tous les slaves terminent leur calculs, et lorsqu’ils ont tous répondus, sélectionne le meilleur mouvement et poursuit la recherche. GARCIA et al. [101] ont proposé une application de cette stratégie parallèle pour la recherche tabou appliquée à un problème de tournées de véhicules sous contraintes de fenêtres de temps. Il n’y a pas de taille optimale prédéfinie pour le nombre de tâches parallèles. Le nombre de processus à définir est fortement liées au contexte et dépend entre autres du nombre de processeurs disponibles, des temps de communication inter-processus et de l’architecture matérielle sur laquelle les calculs sont réalisés. Lorsque l’évaluation des voisins est sensiblement la même, il est courant de partitionner les éléments du voisinage en autant de groupes que de processeurs disponibles [58]. Lorsqu’une méthode de descente est utilisé pour retourner le premier meilleur voisin (First Improvement), la procédure de recherche parallèle sera souvent différente de la version séquentielle, et de ce fait, les deux algorithmes se comporteront différemment. De plus, le gain lié à la parallélisation sera limité lorsque beaucoup de bons voisins sont facilement accessibles. 5.7.2 Décomposition de domaine La décomposition de domaine [227] constitue une stratégie intuitivement simple (en apparence) et attrayante : on divise l’espace de recherche en plus petits ensembles habituellement disjoints et pas nécessairement exhaustifs, on résout les sous-problèmes correspondants en appliquant une métaheuristique séquentielle sur chaque sous ensemble, on collecte les solutions partielles respectives et on reconstruit une solution complète (figure 5.12). Néanmoins, cette décomposition peut prendre plusieurs formes et un certain nombre de facteurs doivent alors être spécifiés [58] : 1. la partition est-elle stricte ou bien les sous-ensembles peuvent-ils se superposer ? 2. les processus de recherche doivent-ils considérer des solutions complètes ou bien partielles du problème (dans ce dernier cas, une solution complète doit être reconstruire à certains moments) ? 3. les mouvements réalisés sur le sous problème sont-ils restreints au sous espace de recherche correspondant ou bien peuvent-ils intégrer des variables dans les sous espaces voisins créant ainsi une5.7. MÉTAHEURISTIQUES PARALLÈLES (À BASE DE VOISINAGE) 93 FIGURE 5.12 – Décomposition de domaine suivant le modèle de programmation Master-Slave d’après [58]. superposition indirecte des sous-ensembles ? Un partitionnement "strict" réduit les processus concurrents de la métaheuristique à leur sous-ensemble respectif et interdit les mouvements impliquant des solutions appartenant à deux sous-ensembles ou plus. Ceci implique qu’une partie de l’espace de recherche est hors de portée et la métaheuristique parallèle devient de fait non optimale. Un "recouvrement" permet d’adresser ce problème. Cependant, "le seul moyen de garantir que toutes les solutions potentielles soient atteignables consiste à faire un chevauchement de la totalité de l’espace de recherche correspondant à une non décomposition, ce cas étant non pertinent" [58]. En conséquence, un partitionnement strict ou un chevauchement très limité sont des approches préférées avec une fonctionnalité de re-décomposition généralement incluse pour améliorer la minutie de la recherche et permettre d’examiner toutes les solutions potentielles : la décomposition est modifiée à intervalle de temps régulier et la recherche est relancée en utilisant cette nouvelle décomposition. Cette fonctionnalité permet de définir des décompositions non exhaustives où l’union des sous-ensembles est plus petite que l’espace de recherche complet. Une fonctionnalité de reconstruction d’une solution complète fait presque toujours partie de la procédure. Le processus master détermine les partitions et transmet les sous ensembles aux slaves, synchronise leur travail et collecte les solutions, reconstruit les solutions (si nécessaire), modifie les partitions, et détermine les conditions d’arrêt (algorithme 10). Chaque slave exécute de façon concurrente et indépendante une métaheuristique séquentielle sur son sous espace de recherche assigné et retourne sa meilleure solution courante après que le master a synchronisé toutes les activités. Des adaptations sont nécessaires en fonction de la métaheuristique mise en œuvre. Par exemple, Avec l’utilisation d’une recherche tabou, le master doit reconstruire simultanément une liste tabou globale en dehors de la mémoire locale des slaves en lien avec la reconstruction de la solution complète avant de poursuivre la recherche. Le comportement de la recherche et l’effort de calcul réalisé par les métaheuristiques séquentielles et parallèles, tout comme la qualité des solutions respectives différent dans la plupart des cas [268]. Imposer un comportement similaire nécessiterait des efforts importants qui emporteraient tout l’avantage de la parallélisation.94 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES Algorithme 10 : Principe de décomposition de domaine - Processus Master [58] 1 Créer la solution initiale s ; 2 Décomposer l’instance du problème en n sous-problèmes : Sp1, Sp2, · · · , Spn ; 3 while (critère de fin non satisfait) do 4 i ← 1 ; 5 while (i ≤ n) do execute-slave-process(Spi 6 , s); 7 i ← i + 1 ; 8 Synchronisation des slaves ; 9 i ← 1 ; 10 while (i ≤ n) do 11 si ← result-slave-process(); 12 i ← i + 1 ; 13 s ← construction(s1, s2, · · · , sn); 14 Modifier les partitions : Sp1, Sp2, · · · , Spn ; 15 return s ; 5.7.3 Recherche multiple Dans ce modèle parallèle, des métaheuristiques indépendantes ou coopératives sont utilisées. La recherche multiple indépendante (independent multi-search) consiste à exécuter en parallèle de multiples métaheuristiques indépendantes sur l’espace de recherche entier en initialisant les recherches avec des solutions initiales identiques ou différentes et en sélectionnant à la fin la meilleure solution parmi toutes les recherches. On parle également de portfolio d’algorithmes, notion introduite par HUBERMAN et al. [138] qui définit une exécution concurrente de plusieurs algorithmes résolvant un même problème [205]. En plus de la solution initiale, différents réglages de paramètres peuvent être utilisés pour la métaheuristique, comme la taille d’une liste tabou par exemple. De plus, chaque composant de recherche d’une métaheuristique peut être conçu différemment : encodage, opérateur de recherche, fonction objectif, contraintes, critères d’arrêts, etc. [266]. Cette stratégie peut être vue comme une parallélisation directe de l’heuristique multi-start16. Cette méthode cherche à accélérer l’exploration de l’espace de recherche en se dirigeant vers une meilleure solution. Aucun avantage n’est attendu des multiples processus qui s’exécutent en parallèle hormis celui d’identifier la meilleure solution globale lorsque tous les processus sont terminés. La recherche multiple indépendante est la stratégie parallèle de recherche la plus simple et offre généralement de bonnes performances, ce qui explique la popularité de cette stratégie pour la parallélisation des métaheuristiques à base de voisinage. On trouve notamment plusieurs exemples de mise en œuvre pour la recherche tabou [228, 265, 31] sur différents problèmes. Le paradigme master-slave est bien adapté à ce modèle : un slave implémente toute la métaheuristique tandis que le master définit les différents paramètres à utiliser par les slaves et détermine la meilleure solution trouvée à partir de toutes les solutions produites par les différents slaves. Les versions coopératives vont plus loin et intègrent des mécanismes de partage pendant la recherche en cours, l’information obtenue permettant de diversifier la recherche. Le comportement global de recherche de la métaheuristique parallèle émerge des interactions locales, ce qui modifie le comportement de la mé- taheuristique de base. En général, ce partage permet de produire un résultat collectif avec de meilleures solutions qu’une recherche parallèle indépendante. Pour la mise au point d’une version coopérative, plusieurs questions se posent : 16Les méthodes "multi-start" sont des heuristiques itératives composées de deux phases successives : la première phase génère une solution et la seconde améliore cette solution. Chaque itération produit une solution (habituellement un optimum local) et la meilleure solution est retournée à la fin du processus.5.8. ENVIRONNEMENTS LOGICIEL ET CADRE GÉNÉRIQUE 95 • quand : quant faut-il échanger de l’information ? • où : compte tenu de la topologie du réseau, quels sont les processus sources et destinations impliqués dans la communication ? • quoi : quelle information pertinente échanger entre les métaheuristiques ? • comment : quel protocole d’échange exploiter ? 5.7.4 Conclusion La parallélisation permet d’améliorer les performances et la robustesse des métaheuristiques. Il arrive également qu’elle soit mise en œuvre pour améliorer la qualité des solutions ou résoudre des problèmes de grande taille ne pouvant pas être adressés autrement. "Les métaheuristiques devenant de plus en plus efficaces, elles sont de plus en plus souvent appliquées à la résolution de problèmes de très grande taille. On retrouve là les deux principales motivations classiques de l’utilisation du parallélisme pouvant être résumées par plus vite et plus grand" [187]. Trois formules principales plus ou moins invasives sont identifiées dans la littérature pour paralléliser les métaheuristiques. On peut procéder à une évaluation concurrente du voisinage, à une décomposition du domaine ou à une recherche multiple (indépendante ou coopérative). Bien que les principes de parallélisation puissent paraître simples, la mise au point peut révéler des aspects très complexes. Elle doit notamment tenir compte de l’infrastructure matérielle, des réseaux disponibles, des systèmes d’exploitation, etc. Les protocoles de communication, les informations échangées et les modes de synchronisation entre processus doivent être appropriés car ils peuvent inhiber tout le bénéfice des traitements parallèles. D’autre part, la structure même d’une métaheuristique se prête plus ou moins bien à la décomposition en tâches indépendantes. Et il peut être très difficile de reproduire dans la version parallèle d’une métaheuristique le comportement exacte de sa version séquentielle. Par exemple, du fait de la structure séquentielle intrinsèque au recuit simulé, la parallélisation en l’état de cette méthode peut sembler paradoxale. Néanmoins, des modes de fonctionnement parallèles plus ou moins complexes de cette métaheuristique ont tout de même été proposés [245]. La plupart du temps, la parallélisation des métaheuristiques permet d’obtenir facilement de très bonnes accélérations [187]. Par exemple, pour rendre la méthode tabou parallèle, il suffit de répartir l’examen du voisinage de la solution courante sur différents processeurs. La marche dans l’espace de recherche est généralement très peu modifiée par rapport à la version séquentielle mais elle est effectuée plus rapidement grâce aux calculs répartis sur plusieurs processeurs. 5.8 Environnements logiciel et cadre générique La distinction entre "aspect problème-indépendant" intrinsèque aux métaheuristiques et "aspect problèmedépendant" lié aux heuristiques de recherche révèle un atout majeur : les deux aspects peuvent être réalisés séparément l’un de l’autre. Il devient possible d’implémenter les stratégies génériques de façon abstraite une fois pour toutes dans le cadre d’un framework (éventuellement orienté objet). Face à un problème concret, seules les heuristiques spécifiques devront être implémentées pour être connectées au framework. Plusieurs librairies et frameworks ont été développés pour simplifier la mise en œuvre de métaheuristiques et la réutilisation du code. Le lecteur intéressé par une liste complète des librairies et frameworks disponibles pourra consulter [266, 146] pour obtenir leurs principales caractéristiques. 5.8.1 Les origines Les premières études qui ont pour ambition d’unifier les différents types d’algorithmes de RL et d’améliorer leur compréhension remontent à la fin des années 90. Dans [290], YAGIURA et IBARAKI proposent d’adopter un cadre générique pour comparer les comportements des divers algorithmes et leurs raffinements. Plus96 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES générale et originale, l’approche de TAILLARD et al. [264] utilise le concept Adaptive Memory Programming pour fédérer recherche tabou, algorithmes génétiques (AG), recuit simulé et même colonie de fourmis. Par exemple, la population d’un AG est vue comme la mémoire de la recherche du passé, au même titre qu’une liste tabou. Ce formalisme permet également de décrire et mieux comprendre le fonctionnement hybride de ces métaheuristiques. Les outils destinés à abstraire les mécanismes élémentaires de la résolution par RL sont apparus avec Localizer [191], un langage de modélisation de haut niveau dédié à la spécification d’algorithmes de RL et de ses structures de données qui permet d’exprimer de manière souple et concise la résolution d’un problème. Le système maintient automatiquement et efficacement les structures de données lors de la recherche. Les algorithmes de recherche locale peuvent être exprimés dans une notation proche de leurs descriptions informelles présentes dans les papiers scientifiques. Ensuite, des librairies de classes génériques ou des frameworks sont apparus. Parmi eux, on peut citer par exemple : Comet, EasyLocal++, HotFrame, LocalSolver ou encore ParadisEO. 5.8.2 Bibliothèques et frameworks Comet Comet [272, 183], qui fût la plateforme de recherche du laboratoire d’optimisation de la BROWN UNIVERSITY, est un outil qui a été primé pour résoudre des problèmes complexes d’optimisation combinatoire dans des domaines tels que l’allocation de ressources et l’ordonnancement. Il peut être vu comme une hybridation d’algorithmes de recherche locale et de programmation par contraintes. En effet, une des principales innovations de Comet repose sur le concept de recherche locale à base de contraintes (ConstraintBased Local Search) : ce paradigme permet de construire des algorithmes de recherche locale en séparant la modélisation de la recherche, et de promouvoir ainsi la réutilisation. Comet est basé sur un langage spécifique orienté objet très riche qui supporte à la fois la modélisation et l’abstraction des recherches dans l’esprit de la programmation par contraintes. Sa force peut être exprimée par la formule : "Recherche Locale = modèle + recherche" signifiant que les algorithmes de recherche locale peuvent être spécifiés en termes de modélisation et de composants de recherche. Les deux composantes "contraintes" et "recherche" sont présentes et dissociées. Comet propose un langage de contraintes et des constructions pour programmer des stratégies de branchement, des heuristiques d’ordonnancement (de listes), et aussi des parcours d’arbres. Le langage offre des facilités pour l’ingénierie et permet par exemple différentes entrées / sorties pour se connecter à des bases de données ou lire des fichiers XML. Comet permet aussi de construire des interfaces utilisateur pour observer graphiquement l’évolution de l’exécution des modèles compilés. Enfin, le langage prend le parti de programmer la recherche. Il offre des structures de contrôle comme les conditionnelles et les boucles « tant que » et demande à déclarer, transformer ou manipuler les structures de données de telle sorte qu’elles soient exploitables par des heuristiques. Malheureusement, cette plateforme ne semble plus maintenue. De plus, son langage est dédié et Comet n’est pas disponible en open-source. EasyLocal++ EasyLocal++ [74] est une librairie open-source orientée objet pouvant être utilisée pour développer des algorithmes de recherche locale en C++. Elle offre une liberté totale à l’utilisateur pour définir ses structures de données et les domaines des variables, mais fournit un cadre rigide pour contrôler le flot d’exécution des principales métaheuristiques qu’elle propose en standard. EasyLocal++ fait un usage équilibré de la programmation orientée objet utilisée pour la conception du framework. Les classes de données sont fournies par des templates et les structures algorithmiques sont implémentées par des fonctions virtuelles, offrant ainsi un maximum d’efficacité, de contrôle et de souplesse pour une implémentation incrémentale en niveaux hiérarchiques. La modularité est l’une de ses principales caractéristiques : dès que les structures de données et les opérations de base ont été définies et connectées, le système fournit en libre service toutes les techniques standards de RL et une grande variété de combinaisons constituée à partir de ces techniques de base. Le système permet également de construire et de tester de nouvelles combinaisons de fonctionnalités (e.g. structures de voisinage, stratégies pour générer un état initial, mécanismes d’interdiction de mouvement, . . . ). Ceci permet à l’utilisateur de concevoir et d’implémenter facilement5.9. CONCLUSION 97 de nouvelles heuristiques de façon très structurée pour adresser un problème donné. Ce framework peut être personnalisé par un expert pour développer de nouvelles métaheuristiques, et son architecture facilite grandement la réutilisation du code existant. On retrouve dans la librairie des classes pour supporter les tests algorithmiques. Certaines classes permettent également de collecter des statistiques d’exécution, les informations de sortie pouvant être générées dans différents formats. HotFrame HotFrame [93] (Heuristic OpTimization FRAMEwork) est un framework implémenté en C++ qui propose des algorithmes de recherche locale et des algorithmes à base de population de solutions. HotFrame repose sur une architecture de collaboration entre les composants standards et les heuristiques spécifiques aux problèmes. Tous les concepts classiques spécifiques aux problèmes sont représentés par des objets ou des classes : problème, solution, voisin, voisinage et mouvement. C’est la même chose pour les concepts standards liés aux métaheuristiques, à savoir les différentes méthodes ou stratégies (intensi- fication, diversification). HotFrame utilise la généricité comme mécanisme de base pour rendre ces objets adaptables : le comportement commun des métaheuristiques est factorisé et regroupé dans des classes gé- nériques. Les templates des classes représentant les métaheuristiques sont paramétrables selon différents aspects comme les espaces solutions et les structures de voisinage. Tous les composants sont implémentés de manière cohérente, ce qui facilite l’intégration d’heuristiques liées aux problèmes ou la conception de nouvelles méthodes. L’utilisateur peut dériver des classes existantes ou implémenter de nouvelles classes à partir de zéro suivant une interface prédéfinie. HotFrame propose également des structures de voisinage standards, la représentation de solutions et de mouvements ainsi que des opérateurs de recombinaison. En proposant ce framework, les concepteurs ont recherché à la fois la performance et la facilité de réutilisation du code. La dernière version disponible17remonte à juillet 2003. LocalSolver LocalSolver [103] est un solveur de programmation mathématique qui intègre la technologie de recherche locale. LocalSolver est commercialisé par la société Innovation2418 sous la forme d’une "boite noire". L’utilisateur modélise son problème dans un formalisme simple. Le solveur se charge d’exploiter efficacement ce formalisme pour résoudre le problème sans qu’il soit nécessaire de programmer un mouvement ou une recherche. Le langage dédié proposé (LSP) se veut adapté pour modéliser simplement une grande variété de problèmes. Des Api C++, C# et Java sont également disponibles. ParadisEO ParadisEO [38] est une plateforme logicielle orientée objet dédiée à la conception et à la réutilisation de métaheuristiques. Il s’agit d’un framework open-source qui repose sur la notion de template C++. Il est portable, très complet, et basé sur la librairie Evolving Objects19 (voir la figure 5.13). ParadisEO supporte les métaheuristiques de recherche locale ou à base de population de solutions, l’optimisation mono-objectif et multi-objectif ainsi que le parallélisme. 5.9 Conclusion Nous avons abordé ce chapitre central en commençant par définir les caractéristiques principales des problèmes combinatoires avant de recenser les méthodes disponibles pour résoudre ces problèmes souvent difficiles. Nous avons vu qu’il existait deux grandes classes de méthodes adaptées à leur résolution : les 17Libre de droits pour une utilisation non commerciale, Institute of Information Systems de Hambourg : http://www1. uni-hamburg.de/IWI/hotframe/hotframe.html. 18Filiale du Groupe BOUYGUES issue de son département de R&D (e-lab), il s’agit d’une société de services, éditrice de logiciels dans le domaine de la recherche opérationnelle et de l’aide à la décision (http://www.innovation24.fr/). 19EO : framework pour l’implémentation de métaheuristiques à base de population. Propose des algorithmes évolutionnaires et des algorithmes à essaim de particules (http://eodev.sourceforge.net/).98 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES FIGURE 5.13 – Modules de la plateforme ParadisEO d’après [146]. méthodes complètes d’une part qui obtiennent les solutions optimales et garantissent les résultats et les méthodes incomplètes d’autre part qui trouvent rapidement de bonnes solutions sans garantir l’optimalité. Face à ces nombreuses méthodes de résolution disponibles, le premier problème pratique qui se pose à un utilisateur confronté à une application concrète est d’effectuer un choix parmi les techniques les plus adaptées. Or ce choix est d’autant plus difficile qu’il ne semble pas exister de comparaison générale et fiable entre les différentes techniques, ni même entre les différentes métaheuristiques. Néanmoins, notre étude permet de faire un premier constat : il n’existe pas une méthode qui soit la meilleure pour résoudre tous les problèmes. D’autre part, il est essentiel de prendre en compte, en plus du problème, les contraintes qui entourent sa résolution, notamment le critère de temps de réponse qui sera déterminant par la suite. De plus, cet état de l’art permet de dégager des règles générales qui semblent s’imposer. Lorsqu’un problème donné peut être résolu avec une méthode exacte tout en répondant aux besoins contextuels, il faut privilégier ces techniques qui garantissent les résultats obtenus. Toutefois, pour de nombreux problèmes, il arrive que les méthodes complètes ne soient pas en mesure de délivrer un résultat dans le temps imparti. Dans ce cas, si la situation le permet, il est intéressant d’exploiter ces méthodes complètes au moins pour cerner la difficulté du problème et identifier des solutions optimales avec les coûts correspondants (valeur de la fonction objectif). Ensuite, la mise en œuvre d’une métaheuristique permettra d’obtenir de bons résultats, même pour des instances de taille importante. Néanmoins, si le problème est de très grande taille et si le temps de résolution devient trop important, les mécanismes distribués constituent une alternative efficace pour repousser encore ces limites.6 Systèmes interactifs d’aide à la décision Nous abordons la conception interactive sous l’angle d’une plateforme d’aide à la décision reposant sur des composants informatiques en charge de fournir aux décideurs le maximum d’éléments dans les meilleurs délais pour les aider à résoudre des problèmes complexes auxquels ils sont confrontés. La complexité des systèmes informatiques mis en place pour explorer, traiter et présenter des informations capables d’aider l’utilisateur dans ses décisions est une question de recherche difficile qui reste ouverte. Nous nous inté- ressons plus particulièrement au temps de traitement ainsi qu’à la qualité des solutions proposées par les applications de résolution sous-jacentes qui doivent répondre très rapidement aux sollicitations des utilisateurs pour garantir la fluidité de l’interaction homme/machine. Concevoir un système d’aide à la décision, c’est concevoir un système temps réel [258] capable de fournir des résultats dans un délai contrôlé. Or, obtenir des résultats dans un délai très court fixé à l’avance reste très difficile pour des problèmes à forte combinatoire. Néanmoins, dans le contexte des systèmes d’aide à la décision, une bonne solution obtenue dans les temps est souvent préférable à un résultat optimal obtenu hors délais. L’approche de résolution anytime que nous abordons dans ce chapitre permet de fournir des résultats de meilleure qualité à chaque pas de temps faisant que plus on accorde de temps à la procédure, meilleur est le résultat [83]. Cette approche permet de prendre en compte nos exigences (en qualité et en temps liées aux SIAD) et apparaît donc pertinente pour répondre à notre problématique [237, 291]. 6.1 Aide à la décision Les décisions individuelles ou collectives prises au sein d’une organisation par les décideurs participent d’une manière ou d’une autre à son devenir. Elles sont le plus souvent prises sur la base d’intuitions et d’expériences du passé [4]. Comme indiqué par H.A. SIMON [249], ces stratégies ne peuvent s’appliquer qu’à des problèmes familiers. En effet, la prise de décision devient nettement plus difficile face à des situations nouvelles et la difficulté augmente encore avec l’évolution rapide d’un environnement de travail de plus en plus complexe. Pour HOLTZMAN [134], l’un des principaux problèmes pour la prise de décision consiste à déterminer les informations pertinentes. Pour prendre les bonnes décisions face à des circonstances nouvelles et compliquées, l’utilisation des Systèmes Interactifs d’Aide à la Décision devient essentielle afin d’évaluer la situation, les différentes alternatives et leurs impacts. 99100 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION FIGURE 6.1 – Modèle IDC (Intelligence, Design, Choice) proposé par H.A. SIMON [249]. 6.1.1 Décision Pour nombre de chercheurs, la décision peut être perçue comme un choix entre plusieurs alternatives [242]. P. LÉVINE et J.C. POMEROL [171] la définissent comme une action prise pour faire face à une difficulté ou répondre à une modification de l’environnement pour résoudre un problème qui se pose à l’individu ou à l’organisation. B. ROY et D. BOUYSSOU [236] pensent que la décision est le fait d’un individu isolé (le décideur) qui exerce librement un choix entre plusieurs possibilités d’actions à un moment donné. Pour H. MINTZBERG [193], une décision individuelle ou collective peut être définie comme l’engagement dans une action correspondant à une intention explicite d’agir. 6.1.2 Processus de décision Herbert Alexander SIMON, qui a reçu le prix Turing en 1975 puis le prix Nobel d’économie en 1978, a proposé en 1960 un schéma général du processus de décision 1 (voir la figure 6.1) en trois phases qui reste encore le modèle de référence [249] : 1. phase d’intelligence (investigation) : il s’agit de recenser l’ensemble des informations utiles et prioritaires dont le décideur aura besoin lors de la prise de décision (objectifs ou priorités, définition du problème à résoudre). 2. phase de modélisation (conception) : concerne la génération et le développement des différentes alternatives (ou scénarios). Cette étape peut nécessiter une recherche d’information complémentaire. 3. phase de choix (sélection) : le décideur évalue les différents scénarios réalisés pendant la phase de conception pour en retenir un seul. Il s’agit de déterminer les critères d’évaluation des différentes solutions possibles et de mesurer les conséquences de chaque alternative. Bien que ce modèle ne reflète que partiellement la réalité, il permet d’avoir une vision globale des différentes tâches à accomplir pour aboutir à une décision. Les différentes phases se succèdent sans logique chronologique préétablie et la présence de boucles pendant le processus de décision dépend du niveau de structuration du problème (contraintes). Dans la figure 6.2, LE MOIGNE [167] met en correspondance l’importance des phases du modèle IDC au regard de la structuration des décisions (problèmes). 6.1.3 Aide à la décision Pour B. ROY [235], aider à décider consiste tout d’abord à aider à clarifier la formulation, la transformation et l’argumentation des préférences, la notion de critère étant au cœur de la démarche. L’activité de déduction et de modélisation qui s’exerce en vue d’éclairer le comportement d’un individu dans le processus de 1Dans la suite de cette section, nous n’aborderons pas l’aspect mise en œuvre d’une décision.6.1. AIDE À LA DÉCISION 101 FIGURE 6.2 – Correspondance entre l’importante des phases du modèle IDC et la structuration des décisions proposée par LE MOIGNE [167]. décision constitue l’essence même de l’aide à la décision [236]. L’objectif n’est donc pas de résoudre le problème, mais d’aider le décideur à construire une représentation pertinente de la situation, sachant qu’il n’existe pas toujours de solution optimale pouvant s’imposer compte tenu de la multiplicité des points de vue et des intérêts défendus ou du caractère multidimensionnel des contextes en situation de décision. Dans ce cadre, la notion de meilleure décision (solution optimale) peut parfois être vide de sens [240]. L’aide à la décision peut néanmoins reposer sur des techniques et des méthodologies issues du domaine des mathématiques appliquées telles que l’optimisation, les statistiques ou la théorie de la décision. Les décisions peuvent être classées en plusieurs groupes [193]. Certaines sont faciles à prendre et se font par ajustement mutuel (via le dialogue) tandis que d’autres obéissent à un déroulement fixe. Ces dernières intègrent parfois un aspect purement combinatoire pouvant être automatisé et confié à une machine. Cependant, la majorité des décisions combinent les deux aspects à la fois : le dialogue et la combinatoire. Pour ce type de problème, la machine peut devenir un acteur à part entière dans la prise de décision, mais elle ne doit en aucun cas être perçue comme une contrainte supplémentaire qui imposerait ses propres décisions sans laisser de marge suffisante aux vrais acteurs que sont les humains. L’aide à la décision réside sur l’équilibre entre le jugement humain et le traitement informatique. Lorsque l’évaluation globale d’un objectif est complexe, il est nécessaire de décomposer l’objectif à atteindre en structurant l’ensemble des critères d’évaluation [219]. Construire un modèle prenant explicitement appui sur plusieurs critères traduit et formalise un mode de raisonnement intuitif et naturel face à un problème de décision qui consiste à analyser séparément chaque conséquence [234]. 6.1.4 Systèmes Interactifs d’Aide à la décision Les premiers outils d’aide au traitement de l’information et à la prise de décision sont apparus il y a une quantaine d’années [170]. En France, ils sont connus sous le nom de « Système d’Aide à la Décision » (SAD) alors que dans les pays anglo-saxons on parle de « Decision Support System » (DSS) [171]. Plus qu’un simple système de traitement de l’information permettant d’extraire et de donner au décideur l’information nécessaire au processus de décision [171], un SAD peut être considéré comme un résolveur de problèmes (problem solver) [204]. Un SAD se compose de trois modules (figure 6.3) : • un module de dialogue : permet au décideur d’accéder aux données et modèles et lui fournit en retour le résultat de ses manipulations pour exercer son contrôle et sa recherche heuristique dans les102 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION FIGURE 6.3 – Structure d’un SAD proposée par SPRAGUE [255]. meilleures conditions ; • un module de données : stocke les données permanentes (statistiques, données qui décrivent la situation courante ou passée, etc.) ou temporaires (données intermédiaires) ; • un module contenant les procédures de calcul ou modèles : procédures de calculs standards (indices, indicateurs, etc.) et procédures de représentation des données. Le concept d’aide à la décision "interactive" fait référence à l’équilibre entre le jugement humain et le traitement des informations par l’ordinateur. On parle alors de « Système Interactif d’Aide à la Décision » (SIAD). Lorsque le SIAD intègre en plus une dimension spatiale (représentation de cartes géographiques, plans, etc.), on est face à un « Système Spatial Interactif d’Aide à la Décision » (Spatial Decision Support System en anglais). Les SIAD recouvrent un large spectre d’applications (potentiellement chaque activité humaine nécessitant un processus de décision élaboré) et ils s’appuient sur plusieurs domaines de recherche de l’informatique comme par exemple les systèmes de gestion de bases de données (SGBD), la recherche opérationnelle ou l’intelligence artificielle. Dès leur origine, on pouvait distinguer deux catégories de SIAD [50] : • ceux qui font une large place aux algorithmes d’optimisation et aux calculs numériques ; • ceux qui se consacrent exclusivement à la gestion de l’information. P.G.W. KEEN et M.S. SCOTT-MORTON [149] présentent les SIAD comme des systèmes adaptés à la résolution des problèmes de décision peu ou mal structurés où l’homme prend l’avantage sur la machine, contrairement au traitement des problèmes structurés où la machine peut prédominer. Voici la définition qu’ils en donnent : « Les systèmes d’aide à la décision permettent de coupler les ressources intellectuelles des individus avec les capacités des ordinateurs pour améliorer la qualité des décisions. C’est un système d’aide informatique aux décideurs qui traitent des problèmes semi-structurés ». Pour R.H. SPRAGUE et E.D. CARLSON [254], « Les SIAD sont des systèmes informatisés et interactifs qui aident les décideurs en utilisant des données et des modèles pour résoudre des problèmes mal structurés ». Il existe un large consensus pour dire que les SIAD doivent posséder des facilités interactives afin d’interroger l’utilisateur. La notion d’interactivité est une caractéristique commune à tous ces systèmes qui renvoie au rôle actif indispensable de l’utilisateur dans leur fonctionnement au travers d’une interface homme/machine bien intégrée [171]. L’information nécessaire à l’utilisateur doit être disponible sous sa forme la plus adéquate pour qu’il puisse prendre des décisions. En permettant d’éliminer les données non pertinentes et en présentant des faits déduits à partir des systèmes d’information, l’intelligence artificielle a joué très tôt un rôle important dans ce dispositif et son lien avec les SIAD n’a fait que se renforcer au cours des années [221, 56]. Le décideur contrôle le processus de décision et le SIAD l’assiste en effectuant les calculs standards et répétitifs sur les données [151].6.2. RÉSOLUTION TEMPS RÉEL 103 Lorsque l’utilisateur est l’élément prépondérant du couple homme-machine, tout ou partie du processus de décision lui revient. Toutes les solutions ne sont pas atteintes et seul un sous-espace de l’espace de recherche est exploré. On parle de recherche heuristique 2 menée par le décideur avec un système qui jalonne le processus de recherche à l’aide d’indicateurs et d’informations. Le décideur stoppe l’exploration heuristique des actions possibles lorsque tout lui indique que la solution construite rencontre ses buts de façon satisfaisante [221, 171]. La coopération entre le décideur et le système informatique ne peut alors être fructueuse que dans le cadre d’un système interactif. Enfin, pour qu’un SIAD soit accepté par ses utilisateurs, il faut non seulement qu’il puisse gérer toutes les informations utiles à la décision, mais il faut également que sa logique décisionnelle puisse être appré- hendée par ceux qui l’utilisent : l’explication permet en effet de juger de la pertinence de ses déductions ou de ses inférences. Comme nous l’avons déjà évoqué, l’objectif n’est pas de rechercher une solution optimale, mais plutôt d’orienter le décideur vers des points qu’il ne serait pas toujours en mesure d’observer sans une assistance appropriée. 6.1.5 Classification des SIAD au niveau utilisateur P. HÄTTENSCHWILER [98] énumère trois catégories de SIAD pouvant être observées du point de vue des utilisateurs : 1. passif : aide le processus décisionnel mais n’est pas en mesure d’apporter de solutions ou de suggestions de décisions explicites ; 2. actif : peut apporter des solutions ou suggestions de décisions explicites ; 3. coopératif : permet au décideur de modifier, de compléter ou d’affiner les suggestions de décisions fournies par le système avant de les renvoyer au système pour validation. De son coté, le système améliore à son tour, complète et affine les suggestions du décideur avant de les lui renvoyer pour validation. Cette boucle de rétroaction se poursuit jusqu’à ce qu’une solution consolidée soit générée. 6.2 Résolution temps réel Les applications temps réel sont présentes dans un nombre croissant de domaines comme l’industrie, la médecine, les communications, l’aéronautique, la robotique, les transports ou l’armement [243]. Plus ré- cemment, ces systèmes ont fait leur apparition dans bien d’autres secteurs, notamment le multimédia, les consoles de jeux ou le suivi des malades [83]. La notion d’application temps réel est très souvent utilisée sans qu’elle ne soit toujours bien définie. On peut néanmoins qualifier une application temps réel comme une application dont l’exécution est soumise à des contraintes temporelles. Cindy A. O’REILLY et Andrew S. CROMARTY [208] identifient un système temps réel comme un système devant donner une réponse en un temps strict au regard de l’algorithme mis en œuvre. Pour Thomas J. LAFFEY et al. [159], c’est la possibilité pour un système de garantir une réponse après qu’un certain temps se soit écoulé. On peut également percevoir un système temps réel comme un système dont le temps de réponse est rapide [172]. Or selon MUSLINER et al. [201], une application temps réel ne correspond pas à un système "rapide" mais plutôt à un système "suffisamment rapide" pour répondre en un temps donné, ce temps étant lié au contexte de résolution. Dans [243], lorsqu’on étudie un système de décision temps réel (Real-Time Decision System en anglais ou RTDS), la première chose qui vient à l’esprit est probablement la notion de réaction rapide à un événement externe. Compte tenu de leur grande diversité, une classification courante de ces systèmes consiste à évaluer les conséquences provoquées par le non respect de l’échéance : • échéance stricte critique : le manquement de l’échéance peut avoir des conséquences catastrophiques (pertes humaines, matériel, environnement, . . . ) ; 2Une méthode heuristique est une méthode dans laquelle, à chaque pas, le raisonneur fait des choix [56].104 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION • échéance stricte non critique : lorsque l’échéance n’est pas respectée, la tâche devient caduque ; • échéance non stricte : le dépassement de l’échéance est sans conséquence et la tâche peut se poursuivre, seule la qualité du service sera diminuée. Dans cette thèse, nous abordons la notion de résolution temps réel dans le cadre d’un SIAD en lien avec des problèmes d’optimisation combinatoire dont l’échéance pourrait être considérée comme stricte non critique voire non stricte. Pour un tel système interactif mettant en relation un utilisateur avec une application chargée de l’accompagner dans ses décisions, l’application en question doit pouvoir réagir aux événements de l’utilisateur en une fraction de seconde. Or, si un événement de cette application concerne la résolution d’un problème combinatoire sur des instances réelles de grande taille, il parait difficile à première vue d’atteindre l’objectif de temps fixé. Néanmoins, en admettant que notre application puisse utiliser des résultats dont la qualité n’est pas optimale, nous pouvons explorer une voie prometteuse relative aux algorithmes anytime ("à tout moment") apparus en intelligence artificielle à la fin des années 80 [67, 136]. 6.2.1 Algorithme anytime T. DEAN et M. BODDY [67, 32] définissent un algorithme anytime comme un algorithme itératif qui garantit de produire une réponse à toute étape de calcul, où la réponse est supposée s’améliorer à chaque itération. Du point de vue de l’implémentation, un algorithme anytime doit posséder les caractéristiques suivantes [83] : • la qualité du résultat est fonction du temps d’exécution alloué et de la qualité des ressources fournies en entrée ; • la qualité du résultat augmente toujours ou reste stable en fonction de l’évolution du temps de calcul (monotonicité) ; • on dispose d’informations statistiques sur la qualité des résultats en fonction du temps alloué (prévisibilité) ; • il peut être interrompu à tout moment (interruptibilité) ; • il peut poursuivre son exécution au delà du temps alloué si on change le temps prévu en cours d’exé- cution (continuité) ; • il doit pouvoir être suspendu et relancé au même point avec un temps de réponse négligeable. On distingue deux types d’algorithme anytime : celui où le temps est connu avant de lancer la résolution et celui où le temps n’est pas défini à l’avance. Si le temps de résolution est connu au lancement, on parle de contexte contractuel et le processus de résolution doit absolument fournir une solution au terme de l’échéance fixée. Dans le cas où le temps de résolution n’est pas connu à l’avance, on parle de contexte interruptible. Dans une telle situation, l’algorithme de résolution doit être en mesure de fournir à tout moment une solution de la meilleure qualité possible. Être dans la capacité de fournir à chaque instant un résultat quel que soit le temps disponible représente une exigence très forte. Néanmoins, dans la pratique, le temps de résolution attribué au contexte doit toujours être supérieur à un temps minimum permettant au processus d’initialiser la recherche et de générer une première solution [243]. Un algorithme contractuel (ou algorithme anytime contractuel) est plus facile à mettre au point qu’un algorithme interruptible (ou algorithme anytime interruptible). Cependant, un algorithme interruptible peut être construit à partir d’un algorithme contractuel au prix tout de même d’un temps de calcul supplémentaire pour atteindre une solution de même qualité. 6.2.1.1 Qualité des solutions Dès qu’une limite de temps est imposée, il n’est plus certain que la résolution puisse aller jusqu’à son terme. Dans ce cas, le résultat peut être partiel (sous-optimal) ou même incorrecte si la solution produite n’est pas admissible. Il peut donc être utile ou même indispensable dans certaines circonstances de connaître6.2. RÉSOLUTION TEMPS RÉEL 105 FIGURE 6.4 – Comparaison des profils de qualité de deux méthodes de résolution M1 et M2 sur une même instance de problème. Bien que les deux méthodes atteignent l’optimum pour un temps T de résolution identique, la méthode M1 apparaît plus efficace que M2 dans un contexte interruptible. D’après la thèse de Lionel LOBJOIS [172]. précisément ou d’évaluer la qualité d’une solution afin de prendre une décision. Par exemple, dans un contexte interruptible, l’utilisateur pourrait décider de ne pas poursuivre une résolution si la qualité de la solution courante est satisfaisante. Connaître le coût d’une solution n’est pas toujours suffisant pour évaluer la qualité de celle-ci. On doit en effet pouvoir évaluer sa distance à l’optimum. Cependant, la distance d’une solution à l’optimum est aussi difficile à trouver que l’optimum lui même. Compte tenu de cette difficulté, on se limite très souvent dans la pratique à rechercher la meilleure solution possible pour un contexte de résolution donné. Cet objectif consiste alors à trouver une solution du meilleur coût possible sans pouvoir quantifier sa qualité [172]. 6.2.1.2 Profil de qualité Le profil de qualité (PDQ) correspond à la courbe d’évolution du coût de la meilleure solution produite par rapport à la progression du temps de résolution [172]. Le PDQ d’une méthode de résolution fournit beaucoup plus d’indications qu’un simple temps de résolution global et il est particulièrement utile pour évaluer une méthode de résolution dans un contexte interruptible. A titre d’exemple, imaginons deux méthodes M1 et M2 (voir la figure 6.4) capables de fournir toutes les deux une solution optimale sur la même instance de problème pour la même échéance de temps. Dans un contexte interruptible, il semble évident que la méthode M1 est plus efficace que la méthode M2 car elle produit à tout moment des solutions de meilleure qualité. Cependant, il peut être difficile de comparer deux PDQ différents lorsque chaque méthode propose tour à tour des solutions de meilleure qualité. Dans ce cas, une issue consiste à fixer soit un seuil de qualité soit un seuil de temps pour permettre la comparaison. On utilisera le plus souvent un PDQ moyen compte tenu du caractère stochastique de certaines méthodes pouvant produire pour une même instance de problème des PDQ très différents. Le PDQ moyen correspond à la courbe de qualité moyenne de la meilleure solution obtenue en fonction du temps de recherche imparti. Dans le cadre des problèmes d’optimisation combinatoire et en l’absence d’information sur la qualité des solutions produites, il est courant d’utiliser le PDQ moyen pour classer les méthodes de résolution.106 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION 6.2.2 Méthodes de résolution adaptées au contexte de décision temps réel Pour R. SÉGUIN et al. [243], lorsque les temps de résolution imposés sont très courts, les méthodes approchées (métaheuristiques, voir la section 5.2.2) constituent des classes d’algorithmes particulièrement appropriées. Plus précisément, les algorithmes génériques issus de la recherche opérationnelle tels que le recuit simulé (section 5.6.7), la recherche tabou (section 5.6.8), la méthode GRASP (section 5.6.10.1) ou encore les algorithmes génétiques possèdent tous certaines caractéristiques requises pour la résolution de problèmes de décision temps réel. Chacune des quatre méthodes expose notamment le comportement des algorithmes anytime avec une qualité de la solution produite qui s’améliore avec le temps. Même si au sens strict du terme ils ne peuvent pas être considérés tels quels comme des algorithmes anytime car incapables de produire une solution initiale si le temps imposé est insuffisant, ils peuvent néanmoins être facilement adaptés pour répondre au cas par cas à l’ensemble de caractéristiques requises. D’un autre côté, les méthodes complètes (section 5.2.1) semblent peu adaptées à cet environnement compte tenu de leur côté systématique et exhaustif [172]. Les méthodes de résolution basées sur une approche de construction (section 5.5) ne sont pas adaptées non plus au contexte anytime car elles construisent pas à pas une solution en partant d’une solution partielle initialement vide qu’elles cherchent à étendre à chaque étape jusqu’à obtenir une solution complète [127], ce qui écarte de nombreuses méthodes comme les méthodes gloutonnes (section 5.5.1), les méthodes avec retour arrière (section 5.4.1.4) ou encore celles basées sur des algorithmes de séparation et d’évaluation (section 5.2.1.2) progressive. 6.2.3 Contribution du parallélisme Dans un environnement temps réel, et bien que cela ne soit pas une démarche naturelle, il est souvent nécessaire de mettre en œuvre des techniques de calcul parallèle pour améliorer la vitesse des traitements [243]. On constate en effet une activité de recherche importante autour de l’implémentation d’heuristiques de recherche parallèles performantes (voir 5.7). Mais une telle démarche est souvent ardue. Par exemple, l’algorithme de recherche tabou est à la base un algorithme séquentiel. On peut alors exploiter le parallélisme pour permettre à différents processeurs d’explorer uniquement une petite portion du voisinage de la solution courante. Des implémentations asynchrones peuvent également être exploitées en lançant différents processus de recherche tabou séparés sur différents processeurs et en les faisant communiquer au travers d’un espace mémoire partagé. Dès que la meilleure solution globale est améliorée par l’un des processus, la nouvelle meilleure solution peut être mémorisée sur la mémoire partagée. À contrario, un processus n’arrivant pas à améliorer sa meilleure solution sur une longue période pourrait utiliser la meilleure solution globale présente dans l’espace mémoire partagé pour redémarrer son processus de recherche. Des dispositifs similaires sont possibles pour paralléliser l’algorithme du recuit simulé. Concernant les algorithmes génétiques, ils sont faciles à paralléliser car ils suivent nativement différents chemins de recherche. La méthode GRASP peut également profiter du parallélisme grâce à une génération parallèle de nombreuses solutions à la phase de construction. Au final, des approches hybrides sont possibles. Par exemple, on peut lancer différents processus de recherche tabou concurrents sur différents processeurs pour combiner les meilleures solutions trouvées de deux processus et utiliser cette nouvelle solution croisée comme solution de départ sur un nouveau processeur. 6.3 Principe de maintien de solution dans un système dynamique Nous étudions ici certains procédés [276, 22] liés au cadre des problèmes dynamiques de satisfaction de contraintes (section 5.1.3) susceptibles d’être transposés à notre problème dynamique d’optimisation sous contraintes (section 5.1.4). Bien que la recherche se soit focalisée très longtemps sur des problèmes statiques, la plupart des problèmes de RO ou d’IA sont en réalité des problèmes dynamiques, c’est à dire des problèmes où l’ensemble6.4. CONCLUSION 107 des variables et des contraintes à considérer pendant la phase de résolution évolue du fait de changements (événements) provenant soit de l’environnement, soit de l’utilisateur ou plus généralement d’autres agents. À titre d’exemples, ces changements peuvent intervenir : • au niveau de l’environnement : l’état physique du système permettant de réaliser les actions prévues évolue (pannes, incidents, ressources non disponibles, effets des actions, . . . ), ce qui rend leur exécution rarement conforme aux prévisions ; • au niveau de l’utilisateur : pour des problèmes de conception interactive, l’utilisateur travaille par explorations successives de spécifications différentes pour évaluer les implications liées à tel ou tel choix ; • au niveau des agents : les décisions d’un agent dans un système distribué modifient les spécifications des problèmes traités par d’autres agents. Les systèmes d’aide à la décision font partie des nombreux problèmes soumis à des perturbations [86] où l’utilisateur peut commander le système en lui fournissant de nouvelles données et où le solveur informe l’utilisateur en retour. 6.3.1 Besoins utilisateurs Concernant l’utilisateur, l’efficacité de la recherche et la stabilité des solutions successives sont deux besoins essentiels : • le besoin de mécanismes de recherche efficaces peut être plus fort dans le cadre de problèmes dynamiques où le temps disponible pour produire une nouvelle solution est souvent limité. • la stabilité des solutions successives peut être importante au cas où un certain travail a pu être engagé sur la base de la solution précédente. La stabilité est une propriété qui lie les solutions successives produites par un système dynamique. Une solution est stable par rapport à la solution précédente si le passage d’une solution à l’autre se fait par de petits changements [86]. 6.3.2 Réparation de la solution précédente La méthode proposée par [192] s’attache à réparer une affectation complète issue de la recherche précédente plutôt qu’à reconstruire une solution à partir de zéro. Une heuristique de réparation ou de minimisation des conflits consiste à choisir une variable intervenant dans une contrainte insatisfaite et à choisir, pour cette variable, une valeur qui minimise le nombre de contraintes insatisfaites. Ces heuristiques peuvent être utilisées aussi bien dans le cadre d’une recherche systématique (section 5.2.1) ou non systématique (section 5.2.2). Cette méthode donne de bons résultats à la fois en termes d’efficacités et de stabilité, sur des problèmes sous-contraints. Néanmoins, pour fournir une solution proche de la solution précédente, des techniques ont du être développées pour répondre notamment à l’objectif de minimisation du nombre de variables dont l’affectation est modifiée [21]. Notons que le critère de distance entre deux solutions peut être agrégé avec d’autres critères de type coût propres au contexte. 6.4 Conclusion Les SIAD changent la manière de prendre les décisions face à une information qui a tendance à se globaliser, des problèmes du plus en plus difficiles à résoudre et des délais de réflexion qui se réduisent. Ces systèmes représentent désormais des dispositifs de collaboration particulièrement adaptés entre l’homme et la machine pour accompagner des processus complexes devenus très souvent collectifs. Ils reposent en partie sur des techniques issues du domaine des mathématiques appliquées comme l’optimisation combinatoire pour aider efficacement les décideurs dans leurs tâches les plus ardues, notamment face à des problèmes peu ou mal structurés. Le maintien de solution dans un cadre d’aide à la décision est un problème supplé- mentaire qui a été abordé assez tardivement par les communautés scientifiques malgré une profusion de cas108 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION disponibles dans nos quotidiens. Il pose une double difficulté : efficacité accrue de la résolution et stabilité des solutions proposées. Dans ce contexte, La technique qui consiste à réutiliser une solution précédente sur un problème dynamique semble être une voie incontournable pour répondre à ces deux objectifs. Enfin, en résolution de problèmes combinatoires, garantir la prédictibilité des temps de calculs et la qualité des solutions disponibles à chaque instant est particulièrement difficile à assurer avec les algorithmes classiques, complets ou incomplets. L’ensemble de ces difficultés fait probablement que peu d’applications d’aide à la décision développées autour des problèmes combinatoires sur de grosses instances soient réellement des applications temps réel.7 Modélisation urbaine Compte tenu de la puissance de calcul des ordinateurs actuels, le recours à la simulation est un moyen crédible de nos jours pour s’attaquer à des problématiques complexes auxquelles nos sociétés modernes sont confrontées. Or, toute simulation doit s’appuyer sur un modèle, c’est à dire une représentation simplifiée d’une réalité qui lui donne du sens et permet de mieux la comprendre [123]. En matière d’environnements urbains, de nombreux travaux ont été proposés ces dernières décennies pour mieux comprendre l’organisation des villes. C’est le cas notamment des modèles d’économie spatiale, d’écologie urbaine ou encore d’interaction spatiale. Plus récemment, on a assisté à l’émergence de l’approche systémique et individu-centrée annoncée comme une évolution majeure. Ces derniers modèles sont réputés pouvoir représenter des systèmes complexes dans leur globalité en se basant sur le concept d’émergence provenant des interactions entre les individus (emplacements, habitants, emplois, résidences, entreprises, routes, . . . ) qui composent le système. Dans ce chapitre, nous présentons un état de l’art de la modélisation urbaine restreint à des thèmes proches de notre problématique. Pour positionner nos travaux dans le panorama de la recherche actuelle, nous détaillons plus particulièrement trois approches représentées par les projets de recherche UrbanSim et GeOpenSim d’une part, et par la plateforme commerciale CommunityViz d’autre part. En effet, de nombreux projets de recherche relatifs aux problématiques urbaines sont initiés sur les différents continents. Nombre d’entre eux s’intéressent à la fois aux problématiques du transport et à celles de l’occupation du sol, le but étant de mieux évaluer l’impact des choix actuels sur le long terme. Ces modèles sont regroupés sous l’abréviation LUTI (Land Use and Transport Interaction model). Dans ce contexte, nous avons souhaité étudier le projet de recherche UrbanSim mis au point aux États-Unis par l’équipe de Paul WADDEL et ayant une forte orientation pour l’aménagement des espaces urbains. Ce modèle dynamique a su s’imposer ces dernières années, y compris au sein de certains projets de recherche européens. Mais ce projet nécessite beaucoup de données en entrée. Or, beaucoup d’informations utiles peuvent être exploitées à partir d’une simple photographie. C’est l’approche originale qui a été retenue par le projet de recherche GeOpenSim qui a suscité notre curiosité et que nous décrivons brièvement. D’un autre côté, on trouve la plateforme commercialisée sous le nom de CommunityViz qui se présente comme un outil de nouvelle génération pour la planification urbaine : voyons ensemble si cet outil est adapté à nos besoins et quelles sont les réponses innovantes qu’il est en mesure de délivrer aux urbanistes et décideurs ? Indépendamment des modèles spécialisés relatifs à l’urbanisme, la famille des problèmes génériques de positionnement révèle de très fortes similitudes par rapport à notre problématique qui consiste à positionner au mieux des éléments urbains (habitations, écoles, commerces, . . . ) sur chaque cellule d’une grille (emplacements libres), chaque élément devant être associé à une et une seule cellule. Parmi les nombreux problèmes de positionnement référencés, nous introduisons plus particulièrement le problème d’affectation 109110 CHAPITRE 7. MODÉLISATION URBAINE FIGURE 7.1 – Profit de la rente foncière et anneaux de Von THÜNEN (pour 3 anneaux). D’après J.H. VON THÜNEN et al. [279]. quadratique représentatif des problèmes d’optimisation fortement combinatoire. L’étude de ce problème de référence nous apportera peut-être les derniers éléments de réponse utiles à notre modèle spécifique de pré-programmation urbaine. 7.1 Représentations historiques de la ville Les premières représentations de la ville initiées par les économistes remontent au début du 19ème siècle. Elles considèrent généralement la proximité urbaine comme source de profits, ces profits pouvant être maximisés en choisissant une localisation optimale pour chaque type d’activité. Ces travaux pouvaient s’intéresser aux critères de choix d’implantation d’une industrie, aux rapports entre localisation et rente foncière en fonction de la distance au centre ville, en encore à la répartition des villes et des activités au sein d’un espace régional. 7.1.1 Les modèles d’économie spatiale Les premiers modèles d’urbanisation cherchent à étudier et à prévoir l’occupation du sol entre différents types d’activités (résidentielles, économiques, équipements, . . . ). Ils ont une portée essentiellement théorique et leur apport à l’urbanisme opérationnel reste généralement limité. Dès 1820, Von THÜNEN cherche à expliquer la localisation des activités agricoles autour des villes allemandes. Grâce à la formulation de plusieurs hypothèses sur les bases d’une ville théorique et d’un espace isotrope1 , il a démontré que la production d’une denrée n’est rentable qu’à une distance donnée du marché compte tenu de son coût de transport et du coût de la terre (rente foncière) [279]. Ainsi, plus le coût de transport d’un produit est élevé, plus le produit sera proche du marché (cf. figure 7.1). En 1933, W. CHRISTALLER [45] avec sa théorie des lieux centraux (cf. figure 7.2) tente d’expliquer la taille, le nombre et la répartition hiérarchique et géographique des villes au sein d’un espace régional. 1Qui représente les mêmes caractéristiques physiques dans toutes les directions, en tout point homogène.7.1. REPRÉSENTATIONS HISTORIQUES DE LA VILLE 111 FIGURE 7.2 – Modèle de CHRISTALLER : théorie des lieux centraux. D’après W. CHRISTALLER [45]. Il montre qu’une région s’organise hiérarchiquement en fonction de l’offre en biens qu’elle propose sur la base d’hypothèses simplistes (accessibilité et niveaux de revenus égaux en tout point, etc.). En partant des travaux de A. LÖSCH (1940) [175] qui utilise des méthodes de découpage de l’espace en zones homogènes pour faire des analyses spatiales de phénomènes urbains, K.G. ZIPF propose la loi rang-taille en 1949 [292]. Cette loi considère que la taille des villes est distribuée de manière inverse à leur rang, indépendamment de l’espace et du temps (cf. figure 7.3). FIGURE 7.3 – Modèle de ZIPF : relation rang-taille des unités urbaines françaises en 1990. D’après FABRIÈS-VERFAILLIE et al. [89]. En 1964, W. ALONSO [6] donne naissance à l’économie urbaine en élaborant un premier modèle basé sur la théorie de la croissance urbaine. Ces modèles liés à l’étude des valeurs foncières veulent expliquer le comportement des ménages et des activités économiques en cherchant un compromis entre proximité, pé- nibilité du trajet, disponibilité du terrain et leur prix. Dans sa théorie, l’organisation spatiale de l’utilisation du sol est déterminée par la valeur foncière, elle-même liée aux coûts de transport. Chaque activité est en mesure de payer une rente en fonction de la distance au centre, les différentes localisations entre activités étant interdépendantes (cf. figure 7.4).112 CHAPITRE 7. MODÉLISATION URBAINE FIGURE 7.4 – Modèle de rente à payer en fonction de la distance au centre. D’après W. ALONSO [6]. 7.1.2 Les modèles de l’écologie urbaine L’écologie urbaine introduite par l’école de Chicago [120] consiste à étudier les interactions entre les êtres vivants et la ville. Elle marque les débuts d’une analyse des espaces urbains par les sciences sociales en proposant des modèles explicatifs de répartition des populations en fonction de leurs caractéristiques sociales, familiales, ethniques, etc. Dans cette lignée, on recense trois principaux modèles complémentaires qui décrivent la ville sous forme d’aires suivant différents critères. Le modèle de BURGESS [37] (1925) étudie les itinéraires résidentiels socio-spatiaux et prend la forme d’un schéma concentrique pour d’écrire l’organisation d’un espace urbain (cf. figure 7.5). FIGURE 7.5 – Modèle radioconcentrique de BURGESS. D’après E.W. BURGESS [37]. Le modèle de HOYT [137] (1939) considère que des conditions particulières ou des lignes de communication favorables ont un effet structurant sur les zones voisines qui deviennent plus attractives. À partir de cette idée, la ville est structurée en arcs de cercles et en secteurs (cf. figure 7.6). En 1945, HARRIS et ULLMAN [129] s’appuient sur une organisation de l’agglomération constituée de noyaux, chaque noyau étant caractérisé par une fonction et articulé par des axes de transport (cf. figure 7.7). Dans leur modèle, certaines fonctions se repoussent alors que d’autres s’attirent ou dépendent des caractéristiques du site.7.1. REPRÉSENTATIONS HISTORIQUES DE LA VILLE 113 FIGURE 7.6 – Modèle de HOYT sur la théorie des secteurs : (1) Centre des affaires, (2) Industries et entrepôts, (3) Résidences des classes pauvres, (4) Résidences des classes moyennes, (5) Résidences des classes aisées. D’après H. HOYT [137]. FIGURE 7.7 – La théorie des centres multiples : (1) Centre des affaires, (2) Industries légères et entrepôts, (3) Résidences des classes pauvres, (4) Résidences des classes moyennes, (5) Résidences des classes aisées, (6) Industries lourdes. D’après C.D. HARRIS et E.L. ULLMAN [129]. 7.1.3 Les modèles d’interaction spatiale La notion d’interaction spatiale est souvent définie comme l’étude de la décroissance des flux avec la distance, la distance participant notamment à la structuration de l’espace géographique par des champs de force [224]. Cette approche, ramenée par analogie aux lois de la gravitation universelle, a donné lieu aux modèles déterministes de E.G. RAVENSTEIN [225] qui remontent à 1889. En général, ces modèles gravitaires font dépendre le volume d’interaction entre deux lieux de la masse des lieux émetteurs et récepteurs ainsi que de l’inverse du carré de la distance qui les sépare. Les modèles gravitaires de STEWART [259] et de ZIPF [293] sont conformes à la théorie de la gravité de NEWTON : l’interaction entre deux unités géographiques est proportionnelle au produit de leurs masses respectives (population, richesse, etc.) et inversement proportionnelle à la distance qui les sépare. Par ailleurs [224], ZIPF a proposé d’appeler « loi du moindre effort » la propension universelle à couper au plus court et à aller au plus proche : ce qui revient à organiser les activités et les déplacements en fonction de la distance. Les modèles de REILLY [229] et HUFF [139] s’attachent quant à eux à déterminer les aires de marché théoriques d’un ensemble de lieux centraux. Ils cherchent à décrire les lieux appartenant à une zone de marché en exploitant les relations entre ces lieux.114 CHAPITRE 7. MODÉLISATION URBAINE Comme le souligne Denise PUMAIN dans son "essai sur la distance et l’espace géographique" [224], en référence au cartographe américain Waldo TOBLER : « tout interagit avec tout, mais la première loi de la géographie est que deux choses proches ont plus de chances d’entrer en interaction que deux choses éloignées ». Bien que la majorité des modèles étudiés dans les sections précédentes n’apportent que de faibles justifications théoriques, souvent dépassées et incapables à elles seules de décrire les situations actuelles, ils constituent une base solide pour les modèles qui suivront. 7.2 Vers une approche systémique et individu-centrée J. DE ROSNAY définit un système comme "un ensemble d’éléments en interaction dynamique, organisés en fonction d’un but" [65]. Ainsi, la majorité des problèmes actuels peuvent être considérés comme des systèmes complexes dans la mesure où ils font intervenir un grand nombre de variables connectées entre elles, ils sont difficiles à comprendre dans leur globalité et peuvent être représentés de différentes façons. L’approche analytique et sectorielle à partir de laquelle les systèmes complexes ont longtemps été étudiés et décomposés en autant de champs que possible (économie, habitat, transport, etc.) est nécessairement réductionniste et montre d’importantes limites [8]. Cette approche consistant à réduire la nature complexe des choses en la décomposant mène à des solutions partielles qui ne traitent qu’un aspect du problème. Et ces solutions fragmentaires ont souvent des conséquences indirectes non maîtrisées sur d’autres aspects du problème. Au contraire, l’approche systémique proposée dès 1968 par L. VON BERTALANFFY [278] considère un système complexe comme un ensemble de systèmes emboîtés les uns dans les autres et orientés dans une finalité commune [154]. Les parties du système étudié ne peuvent être comprises si elles sont considé- rées isolément. Elles sont dynamiquement reliées entre elles dans une interaction et une interdépendance permanentes [95]. Cette démarche envisage tout système complexe comme un ensemble d’éléments faisant système et encourage à un travail transdisciplinaire [39]. L’approche systémique permet d’appréhender un problème dans sa globalité pour proposer des solutions qui prennent en compte l’ensemble des effets, "un tout ne se réduisant pas à la somme de ses parties constitutives" [197]. La ville est faite de multiples composants, articulés entre eux au sein de sous-systèmes urbains en interactions dynamiques, ces interactions étant à l’origine du comportement du système dans le temps. La ville peut donc être vue comme un système complexe. Dès lors, l’approche systémique appliquée à la ville apparaît pertinente pour la considérer comme « un tout » et rendre compte de sa complexité et de son auto-organisation [223]. Ainsi, avec la parution de Urban Dynamics [96], J. FORRESTER est le premier à proposer un modèle de dynamique urbaine destiné à la simulation du développement à très long terme et à l’exploration des conséquences de politiques alternatives. Cette étude qui rompt avec les modèles précédents a notamment permis de qualifier les systèmes urbains comme des systèmes contre intuitifs et extrêmement robustes (peu sensibles aux valeurs des paramètres ou variables d’entrée du modèle). A partir des années 1970, les termes quantification, modélisation, approche systémique et analyse spatiale sont devenus des mots clés pour tout géographe. C’est alors que les travaux de modélisation se généralisent et permettent la construction de scénarios, la discussion et la confrontation d’idées. Avec les progrès techniques, on accède progressivement aux possibilités de traitement des données spatialisées. Cette évolution permet le couplage des modèles avec des systèmes d’informations géographiques (SIG) et le développement des modèles individu-centrés essentiellement composés des automates cellulaires2 et des systèmes multi-agents3 . Les modèles centrés individus permettent de prendre en compte un grand nombre d’individus (i.e. cellules ou agents) en désagrégeant les comportements de chacun d’entre eux. Cette technique liée à 2Un réseau d’automates cellulaires (AC) se présente comme "un système de cellules interagissant localement de manière simple et manifestant un comportement global complexe"(Stephen WOLFRAM). 3Système composé d’un environnement, d’un ensemble d’objets passifs localisés et d’un ensemble d’agents actifs situés capables de percevoir, produire, consommer, transformer et manipuler les objets (Jacques FERBER).7.3. LA MODÉLISATION LUTI 115 une dimension stochastique enrichit nettement la modélisation et prend le parti pris de l’émergence, l’un des concepts les plus intéressants des modèles systémiques [39]. Il est indéniable que la modélisation à base d’agents (Agent-based modelling) a connu une très forte adhésion pour la simulation sociale. Son succès peut s’expliquer en raison d’une vision du monde qui suggère que les systèmes complexes émergent de la base, sont fortement décentralisés, et sont composés d’une multitude d’objets hétérogènes. Néanmoins, avant d’adopter ce paradigme, il convient de prendre en compte les nombreux défis que ce type de modélisation soulève encore [59] : • construire le modèle au bon niveau de détail pour bien servir le but recherché, • proposer un modèle qui puisse être généralisable (et non spécifique à un problème donné), • assurer la robustesse du modèle dans différentes situations, notamment avec des données différentes, • mettre au point un protocole pour vérifier et valider le modèle, • permettre aux autres intervenants de comprendre le modèle pour favoriser son adoption, • . . . . Quelle que soit la technique employée, la modélisation urbaine a su se développer dans de nombreux domaines et conduira au développement des modèles LUTI (Land Use and Transport Interaction) qui permettent de modéliser les interactions entre les problématiques du transport et celles de l’occupation et de l’usage des sols. 7.3 La modélisation LUTI Les logiciels professionnels de type "transport-urbanisation" ou "transport-occupation du sol" plus connus sous l’abréviation modèle LUTI (Land Use Transport Interaction model) représentent encore un marché balbutiant. En fait, l’intérêt d’associer ces deux types de modélisation (transport et occupation des sols) n’est apparu que depuis une dizaine d’années [61] et la plupart des modèles LUTI actuels sont en réalité des modèles "connectés" résultant d’un couplage à posteriori d’un modèle de trafic et d’un modèle d’urbanisation. En France, plusieurs projets de recherche de ce type ont vu le jour sous l’impulsion du PREDIT4 . Par exemple, on peut citer les projets SIMAURIF5 en Île-de-France, SIMBAD6 à Lyon, MIRO7 ou encore MOBISIM8 . On relève également des initiatives dans le secteur privé avec VINCI qui a proposé le modèle PIRANDELLO9 . On peut retrouver dans le livre "Modéliser la ville" [8] une description détaillée de ces différents projets. Les modèles LUTI simulent les effets d’une nouvelle infrastructure de transport sur l’occupation des sols à moyen ou long terme : • localisation des ménages ; • localisation des entreprises ; • effets sur le prix du foncier et de l’immobilier. Une boucle rétroactive se met en place entre le modèle de transport et le modèle d’urbanisation (voir Figure : 7.8). Sous l’effet des nouvelles infrastructures de transport, les prix du foncier et de l’immobilier évoluent et la répartition spatiale des populations et des emplois est également affectée. Cette nouvelle ré- partition génère des déplacements qui sont réaffectés sur le réseau de transport. Les disponibilités foncières et leurs prix sont à nouveau impactés ainsi que les réseaux de transport, etc. En général, les effets de la boucle de rétroaction sont évalués annuellement sur une période pouvant aller de 20 à 30 ans. Un modèle LUTI peut apporter des réponses à des questions du type : 4PREDIT : Programme de Recherche et d’Innovation dans les Transports Terrestres (http ://www.predit.prd.fr/predit4/). 5 http://isidoredd.documentation.developpement-durable.gouv.fr/documents/dri/RMT08-010.pdf 6 http://simbad.let.fr/ 7 http://isidoredd.documentation.developpement-durable.gouv.fr/documents/dri/RMT07-013.pdf 8 http://www.mobisim.org/ 9 http://www.etudesfoncieres.fr/articles/article-pirandello-un-modele-urbain-global-137-gratuit.pdf116 CHAPITRE 7. MODÉLISATION URBAINE FIGURE 7.8 – Schéma simplifié d’un modèle dynamique de type LUTI. D’après le rapport final sur la première phase d’ULTISIM [61]. • quelles sont les plus-values foncières et immobilières générées par une nouvelle infrastructure de transport en commun à proximité d’une gare ? • quel est l’impact d’une politique de transport particulière sur la relocalisation des ménages et des emplois ou sur les émissions de CO2 ? • quels sont les effets d’un péage autour du centre ville sur le développement économique régional et local ? Va-t-il favoriser un étalement urbain ou une densification ? • etc. Cependant, un modèle macro-économique externe est nécessaire pour introduire par exemple la part de création nette d’emplois en faisant des hypothèses de totaux par année de simulation. Pour plus de précisions sur les modèles existants, on pourra se référer au rapport final du projet ULTISIM10 [61] qui propose une étude de six modèles LUTI opérationnels, à savoir (par ordre alphabétique) : • CUBE LAND ; • DELTA (Development, Employment, status and communting, Location and property market, Transition and growth, and Area quality) ; • MARS (Metropolitan Activity Relocation Simulator) ; • OPUS/UrbanSim ; • PECAS (Production, Exchange and Consumption Allocation System) ; • TRANUS ; La figure 7.9 reprend pour chaque modèle LUTI son niveau de complexité et son degré d’implication comme modèle d’urbanisation ou de transport. Compte tenu de son positionnement (Land Use Model) et de son niveau de complexité (modèle dynamique à choix discrets), nous proposons d’étudier plus en détail la plateforme UrbanSim dans la section suivante ; ceci pour mieux appréhender l’état de l’art en la matière à partir d’un outil réputé et faisant référence dans son domaine. De plus, nous souhaitons évaluer dans quelle mesure un tel modèle pourrait nous être utile pour répondre à notre problématique. En effet, bien que notre projet ne soit pas lié à l’aspect dynamique évoqué ici, la dimension temporelle n’intervenant pas dans notre cas, nous faisons l’hypothèse que nous pourrions utiliser le modèle UrbanSim pour générer une ville de toute pièce. On partirait d’une ville initialement vide sans habitant ni bâtiment. A chaque année, il 10Le projet de recherche ULTISIM (Urban Land Transport Integrated SIMulation Model) a pour ambition de proposer un modèle intégré transport-urbanisme au niveau européen. Ce projet de recherche financé dans le cadre du PREDIT se décompose en deux phases : une phase de conception et une phase de développement. La première phase du projet prévue sur 20 mois (et achevée en juin 2011) consiste à mener une réflexion approfondie sur les données d’entrée et sur la méthodologie de développement pour aboutir à terme à un modèle LUTI opérationnel en Île-de-France.7.4. TROIS MODÈLES URBAINS PASSÉS AU CRIBLE 117 FIGURE 7.9 – Positionnement des modèles LUTI. D’après le rapport final sur la première phase d’ULTISIM [61]. faudrait injecter dans notre modèle un certain nombre d’éléments urbains (habitants, emplois, habitations, entreprises, parcelles, routes, . . . ) et laisser le modèle œuvrer pour répartir ces éléments au mieux sur le territoire. Le processus se poursuivrait d’année en année jusqu’à ce que tous les éléments prévus dans le modèle urbain de pré-programmation (vu comme un modèle macro-économique externe) soient intégrés. La ville ainsi constituée correspondrait au résultat d’une simulation, le nombre d’années utilisées pour les opérations n’ayant que peu d’importance dans notre situation (car nous aurions détourné le modèle de sa fonction originale) . . . 7.4 Trois modèles urbains passés au crible 7.4.1 Le projet UrbanSim UrbanSim [283] est un modèle d’urbanisation (land-use model) basé sur la théorie des modèles de choix discrets11 et sur le principe de la microsimulation12 . UrbanSim est apparu aux États-Unis en 1999 pour ré- pondre aux nouvelles exigences de la loi, à savoir l’obligation de prendre en compte dans tout processus de planification régional les dimensions relatives à l’urbanisation, aux transports et à l’environnement. Il s’agit d’un logiciel de simulation complet qui repose sur une approche à base de modèles pour la planification et l’analyse du développement urbain, en prenant en compte les différentes interactions entre l’utilisation des espaces (terrains), les transports ainsi que les politiques publiques. Il est destiné aux organismes de plani- fication métropolitaine et autres groupements qui ont besoin d’intégrer des modèles de transport existants avec une nouvelle utilisation des espaces dans le but de faire des prévisions et des analyses de capacités. Il a vu le jour sous l’impulsion de P. WADDELL au sein du CUSPA13 de l’Université de Washington à Seattle. UrbanSim est l’aboutissement de nombreuses recherches commencées dès les années 1960 en 11La théorie des choix discrets a pour objet de décrire le comportement de choix d’un individu (ou d’un groupe d’individus agissant indépendamment les uns des autres) en présence d’actions mutuellement exclusives [28]. 12L’idée maîtresse de la microsimulation est que le meilleur moyen de simuler un système consiste souvent à modéliser et à simuler les actions et les interactions de ses unités de plus petite échelle et d’obtenir les macrorésultats par agrégation [207]. 13Center for Urban Simulation and Policy Analysis118 CHAPITRE 7. MODÉLISATION URBAINE Amérique latine puis aux États-Unis. P. WADDELL a su tirer parti des autres logiciels existants à cette époque pour concevoir un système qui intègre toutes les fonctionnalités d’un logiciel de prévision de l’occupation des sols, basé sur un modèle de prix du foncier et des modèles de choix discrets de localisation des ménages et des entreprises. Avec ce logiciel, chaque ménage, chaque emploi et chaque unité géographique (cellules paramétrables de 500 mètres de côté par défaut) sont représentés dans le modèle, chacun avec ses caractéristiques et ses comportements. 7.4.1.1 Motivations de base Tout les aspects d’une agglomération sont interconnectés et interdépendants. Une action sur un secteur in- fluence automatiquement les autres secteurs à des degrés différents et en fonction des autres actions opérées au même moment. La coordination des différents événements constitue donc un élément important qui n’est pas souvent pris en considération et qui peut aboutir parfois à des comportements inattendus. De plus, il existe une grande variété d’intervenants différents (urbanistes, organismes publics, citoyens et associations, etc.), qui, chacun à son niveau, doit pouvoir constater les conséquences et les alternatives possibles des choix politiques et investissements. L’outil doit faciliter les délibérations publiques parfois houleuses relatives à l’aménagement du territoire, aux transports ou à l’environnement en indiquant les conséquences et alternatives possibles sur les effets à longs termes sur l’environnement et les considérations d’équité. Enfin, il doit permettre aux différentes communautés (au sens de l’agglomération) d’avoir une vision globale pour coordonner leurs actions. 7.4.1.2 Approche La conception d’UrbanSim prend en compte les expériences du passé en terme de modélisation de l’urbanisation. Cet environnement s’appuie sur un modèle dynamique (où la dimension du temps intervient) qui reproduit l’évolution de l’occupation du sol au cours de la période simulée. La structure de données d’UrbanSim permet de prendre en compte des données d’occupation du sol à un niveau infracommunal14 et donc de dépasser des approches classiques trop simplificatrices (découpage concentrique en trois zones ou découpage par agrégation de communes). Les différents modules d’UrbanSim requièrent des données spécifiques. Les données d’entrée sont composées : • des données de l’année initiale ; • des données de prévision macro-économiques ; • des données sur les transports issues du modèle de trafic (temps et coûts de parcours par mode, etc.) ; • les scénarios de politiques d’urbanisation tenant compte des schémas d’aménagement locaux et ré- gionaux. Les différents modules sont interdépendants car les sorties de l’un sont les entrées des autres. Le déroulement des calculs est séquentiel et l’ordre peut être paramétré par l’utilisateur dans un fichier XML. Le logiciel est conçu comme un ensemble de composants reflétant les choix des agents économiques (mé- nages, entreprises) et leurs interactions avec le marché de l’immobilier. On retrouve par exemple : • les choix de localisation résidentielle des ménages ; • les choix de localisation des emplois ; • les choix de développement immobilier. Les modules de localisation sont basés sur un quadrillage fin de l’aire d’étude et les choix sont relatifs à chaque cellule de ce quadrillage. Le secteur d’étude doit être découpé en mailles ou cellules carrées les plus fines possibles, et les données d’entrée sont à recueillir dans ce maillage, pour l’année initiale et l’année de calage. Le calage d’UrbanSim consiste à estimer les paramètres du modèle à partir de données désagrégées sur une période constituée de deux années pour lesquelles il existe le maximum de données. Le modèle sera 14à l’intérieur des limites communales7.4. TROIS MODÈLES URBAINS PASSÉS AU CRIBLE 119 FIGURE 7.10 – Cours du temps dans UrbanSim. D’après le Rapport 1 - SIMAURIF [246] ensuite appliqué, avec les mêmes paramètres, à un horizon futur selon différents scénarios à définir (voir figure 7.10). Certains composants sont capables de simuler la mobilité des ménages et des emplois. En parallèle, il existe des composants basés sur des données agrégées, comme les modules de transitions économique et démographique. Ces modules non spatiaux sont liés aux données macro-économiques exogènes et permettent de caler le modèle au niveau global. Un autre module permet de simuler le prix du foncier. Les versions d’UrbanSim les plus récentes proposent des modules complémentaires (choix de localisation des entreprises, choix de développement de projets, etc). Les différents modules s’exécutent sur un pas d’un an, pendant toute la période de simulation (par exemple une période de vingt ans). Par ailleurs, UrbanSim utilise une structure hiérarchique pour organiser les différentes simulations appelées "scénarios". UrbanSim est prévu pour simuler et évaluer les effets potentiels de scénarios multiples. Dans ce contexte, un scénario correspond à une combinaison de données en entrée et d’hypothèses, en incluant les hypothèses macroéconomiques au regard de l’augmentation de la population et de l’emploi pour la zone étudiée. On considère que la configuration des moyens de transport est connue pour les prochaines années et que les plans gé- néraux des juridictions locales qui vont définir les types de développement sont disponibles pour chaque localité. Une simulation UrbanSim consiste à faire tourner le moteur UrbanSim sur un "scénario". Les ré- sultats de la simulation sont alors stockés dans une base de données unique (Output Database). Il existe un moyen dans UrbanSim de prendre en compte des événements exceptionnels prévus dans le futur. Il suffit pour cela de définir dans les fichiers de type « events » les nombres d’emplois, de ménages, le changement de type urbain et l’année pour les cellules où se produisent ces événements. Enfin, le module d’export de données permet le regroupement, l’agrégation et l’export des résultats dans des fichiers externes destinés à l’analyse et à l’importation dans un système d’information géographique. 7.4.1.3 Un système basé sur les modèles Les modèles d’UrbanSim interviennent à différents niveaux : • simulent les décisions et choix qui impactent le développement urbain (mobilité, choix d’implantation des habitations et des zones d’affaires, choix des constructeurs) ; • prennent explicitement en compte les terrains, les structures (maisons d’habitation et bâtiments commerciaux) ainsi que les occupants (ménages, commerces) ; • simulent le développement urbain comme un processus dynamique dans le temps et l’espace ; • simulent le prix des terrains en fonction de l’offre (espaces libres, nouvelles constructions ou rénovations) et de la demande (emplacements préférés pour les maisons d’habitations ou les commerces) ; • tiennent compte des choix politiques gouvernementaux et évaluent les impacts politiques en modélisant les réactions du marché ; • sont basés sur la théorie aléatoire pour impacter les composants ; • sont conçus pour travailler sur une représentation de haut niveau de l’espace et des activités avec un120 CHAPITRE 7. MODÉLISATION URBAINE système de zones identique à celui des déplacements ; • sont adaptés aux besoins de développement ou de réaménagement, en travaillant au niveau du détail des parcelles. 7.4.1.4 Une plateforme ouverte d’intégration Une plateforme ouverte a été développée pour y intégrer UrbanSim. Il s’agit de la plateforme OPUS15 qui permet une intégration d’extensions (plugin). UrbanSim constitue la pièce centrale de cette plateforme. Après un premier développement en Java, l’application a été totalement réécrite en Python pour faciliter l’intégration et son ouverture. Les développements exploitent le paradigme de la programmation orientée objet pour offrir un maximum de flexibilité. L’application dispose d’une interface graphique écrite en PyQt4. Elle peut s’interfacer avec les principales bases de données du marché (MySQL, Miscrosoft SQL Server, Postgres, etc.) bien qu’elle dispose d’une base de données intégrée (SQLLite). Il est possible de travailler avec les différents systèmes d’information géographique (ArcGIS, PostGIS, Quantum GIS, etc.) disponibles sur le marché pour afficher les informations entrées (modèles) ou le résultat des simulations. Ce logiciel est disponible en téléchargement libre sous licence publique générale GNU (GPL). 7.4.1.5 Un exemple de mise en œuvre d’UrbanSim Dans l’étude de cas "la Tangentielle Nord", les rapports [246, 247, 248] relatifs au projet SIMAURIF (SIMulation de l’interAction Urbanisation-transport en Région d’Ile-de-France) indiquent que ce projet a exploité le modèle d’urbanisation UrbanSim avec succès mais non sans difficulté. En effet, la dimension historique et la densité importante de la ville de Paris sont différentes d’une ville américaine moyenne ayant des constructions beaucoup plus récentes et une organisation semble-t-il plus simple. D’autre part, les règles d’accès aux données sont différentes et parfois plus strictes et contraignantes en France qu’aux États-Unis. Enfin, ils ont été amenés au cours de ce projet à essayer plusieurs types de modèle afin d’en trouver un de qualité explicative suffisante compte tenu des données disponibles mais surtout de qualité prédictive et cette démarche s’est avérée très « gourmande » en temps de travail. Cette étude de cas permet également de mettre en évidence les limites de la modélisation : les modèles ne sont pas en mesure de prédire des événements exceptionnels, certains facteurs difficilement mesurables peuvent influencer les comportements et de nombreux facteurs humains sont impossibles à intégrer. 7.4.1.6 Conclusion Malgré sa qualité incontestable, le modèle UrbanSim requiert une grande quantité de données en entrée qui ne sont pas toujours disponibles ou qui peuvent être soumises à des conditions strictes d’utilisation dans certains pays. D’autre part, il nécessite beaucoup d’efforts et de temps dans sa phase de calibrage pour être capable de reproduire l’évolution d’une ville au plus proche de la réalité entre l’année initiale et l’année de calage (cf. figure 7.10). Ensuite seulement, il peut être utilisé pour entrevoir un avenir hypothétique incapable de prendre en compte les événements exceptionnels (ce qui semble normal) ou de saisir toute la complexité inhérente aux comportements humains. Pour compléter notre hypothèse de départ liée à l’utilisation éventuelle d’un modèle LUTI dans le cadre de cette thèse, nous pourrions imaginer différents paramétrages d’UrbanSim basés sur les résultats de différents calages, chacun étant lié à une morphologie de ville caractéristique. Pour une simulation, il faudrait alors se référer à un paramétrage particulier pour adopter un type de ville désiré. Néanmoins, les diffé- rents aspects évoqués relatifs à UrbanSim sont contraires à la philosophie même de la pré-programmation urbaine (voir section 4.1.2.1) caractérisée par un modèle simple pouvant être compris de tous avec un fonctionnement nécessitant un nombre limité de données en entrée. De plus, malgré le haut niveau reconnu à UrbanSim, il semble difficile de transposer un modèle américain aux villes européennes façonnées par de 15Open Platform for Urban Simulation7.4. TROIS MODÈLES URBAINS PASSÉS AU CRIBLE 121 longues années d’histoire. Enfin et surtout, nous ne souhaitons pas simuler ou reproduire le comportement probable lié à l’évolution d’une ville, nous souhaitons plutôt optimiser son organisation globale à priori. 7.4.2 Le projet GeOpenSim Intéressons-nous maintenant à une approche radicalement différente d’UrbanSim qui tente néanmoins de simuler l’évolution d’une ville en simplifiant le processus d’alimentation des modèles. Il s’agit d’une plateforme géographique de simulation qui s’inscrit dans un projet ANR16 commencé en 2007 et qui s’est achevé en avril 2011. Le projet GeOpenSim [216] vise le développement d’une plateforme Open Source pour l’analyse et la simulation des dynamiques urbaines à l’aide de bases de données topographiques historiques. Ces dernières sont construites à l’aide de bases de données topographiques récentes ainsi que de photographies aériennes et/ou de cartes historiques. Ces bases de données sont analysées afin d’identifier : • des règles d’évolution au niveau de la ville, du quartier ou de l’îlot ; • des statistiques sur des objets spécifiques comme les bâtiments composant un îlot ou les îlots présents dans un quartier. Chaque simulation peut ainsi être paramétrée à l’aide de règles d’évolution provenant de l’analyse automatique des données historiques, mais aussi de règles énoncées par des experts. 7.4.2.1 Approche L’approche met en œuvre un système multi-agents qui comporte une hiérarchie d’agents topographiques (bâtiments, routes, cours d’eau, îlots, quartiers, ville) qui peuvent être construits, modifiés, fusionnés, dé- coupés, restructurés et détruits au cours du temps. Le comportement de chaque agent est contrôlé par un ensemble de règles d’évolution, de contraintes et d’actions associées. GeOpenSim repose sur une structure hiérarchique (allant du bâtiment à l’agglomération) organisée par des réseaux de communication (les routes, les voies ferrées, etc.) et des graphes de voisinage (notamment entre bâtiments et entre les bâtiments et les routes) permettant une certaine autonomie à l’échelle micro (bâtiments, routes, etc.) et des comportements de régulation à différents niveaux macro (îlot, quartier, ville, etc.). Construit à partir d’un modèle existant, le système multi-agent hiérarchique a été adapté aux besoins de la simulation urbaine et plusieurs fonctionnalités ont été ajoutées, telles que les règles d’évolution et les méthodes de peuplement. Les règles d’évolution sont définies soit par analyse de données historiques, soit par des experts afin d’affecter des objectifs appropriés aux agents. Elles peuvent prendre en compte le voisinage des agents ainsi que leurs différents attributs (pour les îlots : la densité, le type d’îlot, la localisation de l’îlot dans la ville, etc.) Les méthodes de peuplement sont définies afin de modéliser les différentes stratégies que les agents peuvent utiliser pendant leur évolution (par exemple, la façon dont les îlots se densifient en reproduisant leur structure interne, en se restructurant ou en diversifiant leur structure). Le modèle GeOpenSim utilise des méthodes d’analyse spatiale permettant la construction automatique des objets composant les différents niveaux de la hiérarchie urbaine, ainsi que les relations entre ces objets. On peut ainsi reconstituer les objets ville, quartiers et îlots à partir des objets bâtiments et routes présents dans les bases de données topographies. D’autres structures telles que les alignements de bâtiments sont également automatiquement construites et utilisées dans la simulation. Les objets géographiques sont évalués sur des critères morphologiques et c’est l’évolution de ces caractéristiques que l’on cherche à simuler : • pour un bâtiment : sa surface, son élongation, sa concavité, son orientation, son type (habitation, industriel, etc.) ; • pour une route : sa sinuosité, son type (rue, autoroute, etc.) ; • pour un îlot : sa densité (quotient de sa surface bâtie et de sa surface totale), sa taille, son type (tissu urbain continu ou discontinu, industriel ou commercial, etc.), sa quantité d’espaces vides (par taille), 16Agence Nationale de la Recherche122 CHAPITRE 7. MODÉLISATION URBAINE indicateurs statistiques sur les bâtiments le composant, etc ; • pour un quartier : sa surface, périphérique ou non, indicateurs statistiques sur les îlots le composant, etc ; • pour une ville : sa surface totale, sa surface bâtie, la taille de ses réseaux de transport, la distribution de ses bâtiments par type, par taille, par forme, etc. Le modèle GeOpenSim permet de simuler l’évolution de ces objets en les modélisant comme des agents, chaque agent ayant comme but de se transformer pour acquérir un état satisfaisant ses règles d’évolution. Pour cela, l’état cible d’un agent à une date t + dt est décrit sous forme de contraintes sur ses caractéristiques morphologiques ; les règles d’évolution sont utilisées uniquement pour calculer les valeurs buts de ces contraintes. L’objectif de chaque agent est de satisfaire ses contraintes afin d’acquérir un état à la date t + dt satisfaisant au mieux ses règles d’évolution. Lors de chaque activation, si l’état initial de l’agent n’est pas parfait, une liste d’actions pouvant potentiellement améliorer son état est calculée. Cette liste est fonction des contraintes insatisfaites de l’agent et de leur degré d’insatisfaction. Chaque action consiste à déclencher un algorithme de transformation géométrique sur l’agent afin de faire évoluer certaines de ses caractéristiques morphologiques. Ces essais sont effectués jusqu’à ce que l’agent atteigne un état parfait ou que toutes les actions possibles aient été essayées. Tous les agents ont le même cycle de vie leur permettant de satisfaire les contraintes relatives à leur niveau. 7.4.2.2 Conclusion Cette plateforme opère à partir de données topographiques et utilise des règles d’évolution pour réaliser des simulations. Les résultats obtenus peuvent être comparés aux données réelles lorsque les simulations reposent sur des données historiques, permettant ainsi d’évaluer des hypothèses sur les dynamiques urbaines. L’utilisation de données topographies comme informations d’entrée du modèle semble particulièrement sé- duisante car ces informations sont largement répandues et de plus en plus précises. De plus, ces données peuvent être réactualisées régulièrement pour être réinjectées dans le modèle sans erreur de transcription grâce à des algorithmes capables de les interpréter automatiquement pour reconstituer tous les éléments urbains. Faisant référence à notre hypothèse précédente, nous pourrions très probablement réorienter l’utilisation originale de cette plateforme pour générer une ville de toute pièce. Toutefois, le modèle GeOpenSim s’attache à une représentation géométrique de la ville et travaille à un niveau très fin allant jusqu’au bâtiment. Dans cette thèse, nous devons au contraire nous focaliser en priorité sur les caractéristiques fonctionnelles de la ville dont le niveau de granularité le plus fin correspond à l’îlot urbain. Et tout comme UrbanSim, GeOpenSim s’attache essentiellement à deviner une évolution probable d’un espace urbain sans nécessairement chercher à l’optimiser. 7.4.3 CommunityViz CommunityViz [284] est un logiciel de planification urbaine proposé par la société placeways17 qui se pré- sente sous la forme d’un module d’extension (plugin) pouvant s’insérer et étendre les capacités du système d’information géographique « ArcGIS for Desktop » de la société Esri18. Ce logiciel permet d’accompagner les acteurs de l’urbain (urbanistes, gestionnaires des ressources naturelles, administrations locales, organismes d’aménagement métropolitain, entreprises privées, . . . ) en les aidant à simuler le futur d’une ville ou d’une région. Il permet de créer des plans ou des propositions de développement tout en présentant sur la zone d’étude les impacts économiques, environnementaux et sociaux. A partir de ces impacts, et en comparant différentes alternatives, la population est mieux informée et les décisionnaires peuvent prendre des décisions éclairées en ayant connaissance des conséquences. CommunityViz dispose d’une large gamme de 17http://placeways.com/communityviz/index.html. 18Environmental Systems Research Institute : http://www.esri.com/7.4. TROIS MODÈLES URBAINS PASSÉS AU CRIBLE 123 fonctionnalités pour aider les décisions de localisation, de type et de forme que peut prendre un développement urbain. Le logiciel s’adresse à différentes catégories d’acteurs et chacune selon son niveau peut tirer parti de l’outil. Les membres du public sans connaissance particulière en urbanisme peuvent profiter des visualisations interactives lors des réunions publiques, ces présentations étant également accessibles sur un site web dédié. CommunityViz propose des outils faciles à utiliser et accessibles au plus grand nombre pour produire des analyses de base et des visualisations. Concernant les experts, comme les urbanistes et les professionnels en systèmes d’information géographique, ils peuvent utiliser le logiciel pour créer des études qui seront ensuite exploitées par les entreprises privées, les administrations et les audiences publiques. Cette suite logicielle est composée de deux modules principaux : (i) Scenario 360 qui fournit les outils interactifs d’analyse et le framework d’aide à la décision et (ii) Scenario 3D qui offre un moyen de créer une information riche au travers de scènes 3D interactives. 7.4.3.1 Scenario 360 Scenario 360 constitue la pièce centrale de CommunityViz. Elle a été conçue selon les principes suivants : • créer et envisager des hypothèses selon la formule : « que se passerait-il si . . . ? », • évaluer graphiquement les impacts économiques, environnementaux et sociaux des aménagements proposés (plan d’occupation des sols, investissements dans des infrastructures, . . . ), • faire des hypothèses pouvant être rapidement remises en cause, • travailler à l’échelle d’un site, d’un quartier, d’une ville ou d’une région, • prendre des décisions globales et éclairées, • se connecter à des outils de visualisation 3D. Scenario 360 regroupe les fonctionnalités suivantes, en considérant que certains composants travaillent ensemble (i.e. l’entrée d’un modèle correspond à la sortie d’un autre) : • « Land Use Designer » : permet de dessiner sur une carte les types d’utilisation du sol (parmi une liste disponible en standard ou spécifique) et de voir instantanément les impacts correspondants (sociaux, économiques et environnementaux). Les différents scénarios construits permettent de donner un sentiment à l’audience sur comment chaque alternative peut affecter le futur de leur communauté ; • « Build-Out Wizard » : calcule la capacité de développement d’un territoire. Les analyses correspondantes montrent combien d’immeubles de quel type peuvent être construits sur chaque emplacement en fonction d’un règlement communautaire donné sur l’utilisation des sols, la densité, le renouvellement urbain, les hauteurs, etc. Une fonction d’allocation permet de projeter la localisation du développement au fil du temps ; • « Suitability Wizard » : permet de calculer automatiquement un score lié à chaque emplacement pour la localisation des activités (habitation, activité commerciale, activité artisanale, . . . ) selon différents facteurs de qualité pouvant être pondérés (facteur d’attraction ou de répulsion par rapport à la proximité d’une route, d’une ligne d’égoût, d’un cours d’eau, une pente, . . . ) ; • « TimeScope » : permet de voir année après année l’évolution des changements. Calcule où et quand un nouveau développement apparaîtra en fonction des hypothèses fournies concernant les taux et les modèles de croissance (par exemple : 3 % de croissance par an, développement prioritaire des espaces libres proches des routes, . . . ) ; • des outils pour visualiser de multiples scénarios côte à côte sur une analyse ; • des outils pour créer facilement des illustrations sur le web à partir d’une analyse pour une représentation interactive en 2D ou en 3D via Google Earth ; • des graphiques dynamiques, alertes et autres affichages actualisés en temps réel en fonction des alternatives et des actions. Plus globalement, ce module recherche l’efficacité à travers un processus de planification communautaire axé sur une approche visuelle et collaborative prenant place lors des séances publiques. Il fonctionne124 CHAPITRE 7. MODÉLISATION URBAINE comme une extension d’ArcMap19 et s’intègre par conséquent dans la suite « ArcGIS for Desktop ». CommunityViz peut donc exploiter toutes les données géographiques et les plans accessibles ainsi que toutes les fonctionnalités disponibles de cette suite logicielle. 7.4.3.2 Scenario 3D Le module Scenario 3D vient accompagner Scenario 360 dans la suite CommunityViz. Scenario 3D permet de créer des scènes 3D réalistes, interactives et partageables. Il suffit pour cela de spécifier une carte ArcGIS et de dire comment les fonctionnalités 2D doivent être représentées dans la scène 3D. Lorsqu’on visualise une scène, on peut alors se déplacer comme si on s’y trouvait, en marchant, en volant et en regardant autour de soi. On peut également sélectionner un objet en cliquant dessus pour lire des informations complémentaires où les entendre parler. Les constructions, arbres et routes apparaissent dans les détails de façon photo-réaliste, en suivant le relief du terrain. Les ombres, lumières et effets de brouillard viennent renforcer le côté réaliste des lieux : l’idée étant de traduire la sensation qui se dégage de l’endroit que l’on perçoit. Scenario 3D est composé de deux parties : un outil d’export et un outil de visualisation 3D. Le module d’export est une extension d’ArcGIS tandis que l’outil de visualisation est une application indépendante permettant de visualiser librement les scènes 3D générées. Par rapport à un export Google Earth disponible dans Scenario 360, le niveau de détail fourni par Scenario 3D est supérieur, tout comme les possibilités de navigation au sol, les effets disponibles (ombre, lumière, brouillard) ou le nombre de formats 3D supportés. En contrepartie, le temps de génération nécessaire est plus long et il est préférable de circonscrire la zone d’étude au quartier ou au site. 7.4.3.3 Conclusion CommunityViz intègre une large gamme d’outils disponibles pour les urbanistes, les décisionnaires ou le grand public, y compris des outils de conception automatisés et interactifs. Néanmoins, pour instruire un projet, cette suite logicielle nécessite l’introduction de données initiales conséquentes. Cela peut concerner la population existante, les polygones délimitant les parcelles, l’utilisation des sols, les réseaux de transport, l’environnement naturel, les canalisations (eau, égouts, . . . ), la fiscalité, l’économie locale, l’ensemble de l’environnement bâti existant, etc. Même si l’intégralité de ces informations n’est pas obligatoire, ceci représente un travail conséquent et la mobilisation de compétences spécifiques avant même de pouvoir faire la moindre simulation. D’autre part, cet outil travaille à un niveau de détail très fin (habituellement la parcelle) et l’aspect géométrique y reste très présent. Enfin, certaines fonctionnalités automatiques proposées dans CommunityViz reposent sur des techniques d’optimisation combinatoire (par exemple : pour identifier une combinaison de sites naturels à traiter qui apportent un maximum de bénéfice par rapport à un budget donné ou d’autres contraintes). Toutefois, ces techniques sont peu documentées et elles deviennent vite inopérantes dès que le problème atteint une taille trop importante (i.e. au delà de 500 éléments à prendre en compte). 7.5 Les problèmes de positionnement Indépendamment des modèles urbains spécialisés que nous avons abordés jusqu’à présent, notre problé- matique s’apparente plus spécifiquement à un problème de positionnement dans le sens où l’on se pose la question suivante : « Où allons nous positionner les choses ? » [80, 218]. Les études relatives à la théorie de la localisation remontent à 1909 avec les travaux d’Alfred WEBER qui cherchait à positionner un unique entrepôt tout en minimisant la distance totale entre son lieu d’implantation et différents clients. Par la suite, cette théorie s’est développée sans sursaut au gré de quelques 19Module de la suite « ArcGIS for Desktop » capable de représenter les informations géographiques sous forme d’un ensemble de couches (layers) et les autres informations sous la forme de cartes.7.5. LES PROBLÈMES DE POSITIONNEMENT 125 applications. Il faudra attendre 1964 pour que le sujet suscite à nouveau un regain d’intérêts avec la publication de S.L. HAKIMI [124] qui s’intéressait au positionnement de centres de commutation dans un réseau de communications et de postes de police sur un réseau routier. Les problèmes de localisation peuvent être décrits à partir de quatre composants : • les clients qui sont supposés être déjà positionnés à des points ou sur des routes ; • les équipements que l’on cherche à positionner ; • un espace où sont localisés les clients et les équipements ; • une métrique qui indique les distances ou le temps entre les clients et les équipements. Ce sujet correspond à des problèmes d’optimisation très étudiés en recherche opérationnelle compte tenu des enjeux théoriques et applicatifs qu’ils suscitent et des répercussions que ce type de décision engendrent [156]. En effet, des choix de positionnement sont fréquemment réalisés à tous les niveaux de l’organisation humaine, aussi bien au niveau de l’individu qu’au niveau des organisations internationales en passant par les ménages ou les entreprises. Ils impliquent souvent des ressources conséquentes avec des impacts économiques et environnementaux importants sur le long terme (pollution, congestion du trafic, etc.). D’un point de vue scientifique, ces problèmes sont souvent extrêmement difficiles à résoudre, sachant que même les modèles les plus classiques sont N P-complet et difficilement surmontables pour de grandes instances. Il a fallu attendre l’avènement d’ordinateurs suffisamment puissants pour susciter l’inté- rêt de formalisation et d’implémentation de ces modèles de positionnement compte tenu de leur complexité de calcul. Finalement, ces modèles sont spécifiques à l’application considérée, ce qui rend leur structure (objectifs, contraintes et variables) particulière au problème étudié. Les décisions relatives aux problèmes de positionnement font régulièrement intervenir de nombreuses parties prenantes et doivent considérer de multiples objectifs souvent conflictuels [60]. Le lecteur intéressé pourra se référer au chapitre « Discrete Network Location Models » de J. Current et al. [60] pour obtenir une description détaillée des modèles classiques de positionnement connus sous les noms : set covering, maximum covering, p-center, p-dispersion, p-median, fixed charge, hub et maxisum. Le livre « Facility Location » [90] constitue également une excellente source d’informations sur les nombreux problèmes de positionnement qu’il aborde. 7.5.1 Cadre général d’un problème de positionnement Dans le cadre du problème de positionnement d’équipements (Facility Location Problem, FLP), on cherche à placer un certain nombre d’équipements par rapport à des demandes de façon à optimiser un ou plusieurs critères, tels que la distance, la satisfaction de la demande ou encore les temps de parcours [199]. Dans ce contexte, le terme équipement est à prendre au sens large et peut faire référence à des entrepôts, des hôpitaux, des usines, des écoles, etc. Ce type de problème soulève trois questions principales : • quels sont les équipements à positionner : nombre et nature ; • quels sont les emplacements disponibles : nombre et forme ; • quels sont les critères à prendre en compte pour positionner chaque équipement sur un emplacement. Dans la famille des problèmes de positionnement, le problème d’affectation quadratique est un problème très réputé à la fois pour ses nombreuses applications pratiques et parce qu’il est particulièrement difficile à résoudre. Nous proposons d’étudier plus spécifiquement ce problème compte tenu de l’intérêt qu’il suscite et de sa proximité avec notre problématique. 7.5.2 Problème d’affectation quadratique (Quadratic Assignation Problem, QAP) Le problème d’affectation quadratique est un problème d’optimisation combinatoire introduit pour la première fois par C. KOOPMANS et M. BECKMANN [155] en 1957. Il s’agit d’un problème N P-difficile qui n’est pas ρ-approximable quelle que soit la constante ρ choisie [238].126 CHAPITRE 7. MODÉLISATION URBAINE FIGURE 7.11 – Affectation (assignment) π = (3, 2, 4, 1). D’après R.Z. FARAHANI et al. [90]. FIGURE 7.12 – Publications : proportions des solutions techniques proposées pour les QAP. D’après R.Z. FARAHANI et al. [90]. 7.5.2.1 Modélisation du problème Ce problème peut être défini ainsi [187] (cf. figure 7.11) : un ensemble de n équipements ("facilities") communiquant entre eux doivent être positionnés à moindre coût sur n emplacements prédéterminés ("locations"). La distance entre les emplacements k et l est notée dkl et le flux échangé entre les équipements i et j est noté fij . Le coût d’interaction entre l’équipement i placé sur le site k et l’équipement j placé sur le site l est considéré comme proportionnel au produit du flux échangé entre les deux équipements (fij ) par la distance entre les deux emplacements (dkl). Le problème consiste à affecter ("assignment") à chaque emplacement un seul équipement tout en minimisant le coût : C = Xn i=1 Xn j=1 fij dp(i)p(j) (7.1) où p(i) représente l’emplacement assigné à l’équipement i. Pour des questions de simplification, cette modélisation ne prend pas en compte le coût d’implantation d’un équipement sur un emplacement donné. 7.5.2.2 Résolution par des méthodes de RL La difficulté de ce problème s’illustre par la faible taille des instances pouvant être résolues de façon exacte. En effet, au delà d’une taille située aux alentours de 30 équipements, l’explosion combinatoire est telle qu’une résolution exacte devient illusoire. Face à des instances de taille élevée, il est donc nécessaire de recourir à une méthode de résolution approchée [187, 53, 90]. La nécessité de disposer de méthodes approchées performantes a incité de nombreux chercheurs à dé- velopper des solutions métaheuristiques pour s’attaquer à ce problème (voir figure 7.12). En dehors des algorithmes évolutifs, les méthodes de recherche locale sont celles qui apparaissent dans les travaux les plus représentatifs.7.5. LES PROBLÈMES DE POSITIONNEMENT 127 TABLE 7.1 – Pourcentages d’erreur des meilleures métaheuristiques appliquées au QAP. RobuTS (Recherche tabou robuste [263]), ReacTS (Recherche tabou réactive [17]), Rec-Sim (Recuit simulé [54]), Hybrid-Gen (Algorithme génétique [94]), Hybrid-Ant (Méthode de colonies de fourmis [100]). D’après T. MAUTOR [187]. Intervalle d’erreur RobuTS ReacTS (avec 22 instances) Rec-Sim Hybrid-Gen Hybrid-Ant <0.01% 12 - 1 13 13 0.01% - 0.1% 9 1 4 7 7 0.1% - 1% 12 17 18 15 10 1% - 10% 5 4 13 3 8 ≥10% - - 2 - - Mais avant même d’aborder les résultats obtenus par les meilleures méthodes de recherche locale pour ce problème, il est primordial d’identifier une structure de voisinage adaptée au problème à traiter. Structure du voisinage Les méthodes de recherche locale développées pour le problème d’affectation quadratique utilisent très majoritairement une structure de voisinage très simple, basée sur les 2-échanges (ou transpositions), c’est à dire toutes les solutions pour lesquelles la seule différence avec la solution courante consiste à échanger le placement de deux équipements [187]. Selon Thierry MAUTOR, deux raisons principales justifient le choix de cette structure de voisinage. D’une part, le voisinage est de taille raisonnable : composé de n(n−1) 2 solutions. D’autre part, la variation du coût occasionnée par un 2-échanges peut être calculée très rapidement grâce à un calcul incrémental. Notons : • p : la solution courante ; • puv : la solution obtenue à partir de p en échangeant le placement des équipements u et v ; • 4p(u, v) : la variation de coût occasionnée par l’échange du placement des équipements u et v, on a 4p(u, v) = Cout(puv) − Cout(p), La variation de coût occasionnée par l’échange de placement des équipements u et v peut être calculée selon la formule (en considérant des matrices D et F symétriques) : 4p(u, v) = 2 Xn j=1,j6=u,,j6=v (fuj − fvj )(dp(v)p(j) − dp(u)p(j)) (7.2) De plus, lorsqu’un mouvement a été effectué en échangeant le placement des équipements x et y, différents de u et v, la variation du coût occasionnée par l’échange de placement des équipements u et v devient : 4pxy (u, v) = 4p(u, v) + 2(fux + fvy − fuy − fvx)(dp(v)p(y) + dp(u)p(x) − dp(u)p(y) − dp(v)p(x)) (7.3) Avec un voisinage complexe, le coût pour chaque solution voisine devrait être évalué en O(n 2 ). Avec un voisinage en 2-échanges, lors d’une première itération, toutes les solutions voisines de la solution initiale sont évaluées en O(n) (cf. l’équation 7.2). Ensuite, une fois cette initialisation réalisée, toutes les itérations suivantes s’effectuent en O(1) en mettant à jour les 4p(u, v) calculés à l’itération précédente (cf. l’équation 7.3). L’évaluation complète d’un voisinage se fait alors en O(n 2 ). Résultats liés aux méthodes de RL Parmi les métaheuristiques existantes, les méthodes de recuit simulé et de recherche tabou ont été appliquées dès leurs origines aux problèmes d’affectation quadratique. Dès le128 CHAPITRE 7. MODÉLISATION URBAINE début, les résultats remportés à partir de ces deux méthodes ont très largement surclassé ceux obtenus par les méthodes utilisées jusque là et basées sur des méthodes gloutonnes ou des procédures de descente. Sur des problèmes de petite taille (inférieure à 15 équipements), ces nouvelles approches étaient très souvent capables de trouver la solution optimale [187]. Avec des problèmes de taille plus élevée (inférieure à 50 équipements), il a été confirmé depuis, grâce aux progrès réalisés par les méthodes complètes, que les résultats obtenus étaient capables de converger la plupart du temps vers la valeur optimale supposée. Pour des problèmes de plus grande taille (comprise entre 50 et 150 équipements), les solutions optimales restent encore inconnues et les approches métaheuristiques continuent de se mesurer entre elles pour améliorer les meilleurs résultats connus. Malgré leur ancienneté, les méthodes tabou proposées par TAILLARD [263] (recherche tabou robuste, 1991) ou par BATTITI et TECCHIOLLI [17] (recherche tabou réactive, 1994) sont très robustes et restent des références difficiles à surclasser pour le problème d’affectation quadratique. Néanmoins, si on compare entre elles les meilleures métaheuristiques appliquées à QAP (recuit simulé, recherche tabou, GRASP, mé- thodes de colonies de fourmis, . . . ), on constate qu’elles obtiennent des résultats presque similaires et très proches des meilleures solutions connues (cf. table 7.1). 7.6 Conclusion « Le monde de la recherche en urbanisme et en aménagement s’attelle depuis plusieurs années à une tâche complexe, voire à une gageure, fondée sur des savoirs interdisciplinaires à mobiliser et à intégrer dans l’outillage technique des sciences humaines : la modélisation de la ville » [7]. En effet, cette tâche nécessite la mobilisation d’équipes pluridisciplinaires importantes qui doivent travailler en collaboration étroite compte tenu du large spectre de connaissances et d’expertises requis pour aboutir à un résultat opérationnel. Les projets actuels liés aux problématiques de la modélisation urbaine s’intéressent plus particulièrement aux évolutions permanentes qui s’opèrent dans les villes au niveau du temps et de l’espace. On parle ainsi de modèle "dynamique". Cette approche très répandue nécessite une quantité importante de données historiques en amont pour alimenter les modèles ainsi que la mise en place de règles énoncées par des experts du domaine. Malgré la pertinence de ces modèles et les efforts consentis, nous devons néanmoins rester vigilants par rapport à cette ambition car de nombreux projets architecturaux ou liés à des politiques de la ville et du transport se sont soldés par un échec [7]. D’après le philosophe Maurice BLONDEL, « L’avenir ne se prévoit pas, il se prépare ». Or, pour Gaston BERGER, « L’avenir n’est pas seulement ce qui peut arriver ou ce qui a le plus de chances de se produire. Il est aussi, dans une proportion qui ne cesse de croître, ce que nous aurons voulu qu’il fût » [122]. Bien que notre problématique se situe à un stade précoce du processus de modélisation des villes, notre approche s’inscrit clairement dans une démarche volontariste. C’est pour cela que nous proposons, dans nos contributions, un modèle urbain durable basé sur des contraintes, composées essentiellement de préférences qui garantiront un équilibre entre les enjeux sociaux, environnementaux et économiques. Ensuite, nous proposons de résoudre le problème en cherchant parmi les solutions admissibles, la meilleure solution possible. Dans ce sens, notre façon d’aborder le sujet par l’optimisation vient compléter les approches classiques qui cherchent à prévoir ce qui a le plus de chances de se produire : notre objectif étant plutôt de trouver le meilleur avenir possible. Et comme la modélisation n’est qu’une représentation simplifiée du monde, nous permettons aux décideurs d’intervenir sur le résultat des simulations pour améliorer ce qui peut l’être et prendre en compte les impératifs du moment ou les notions difficilement modélisables. Une rétroaction entre l’homme et la machine peut alors se mettre en marche.III Contributions 1298 Modèle 8.1 Introduction La pré-programmation permet aux décideurs et aux parties prenantes (aménageurs, urbanistes, habitants, . . . ) de se mettre d’accord sur les grandes lignes d’un projet urbain préliminaire avant d’engager des études importantes, longues et coûteuses. Pour modéliser notre problème, nous allons commencer par décrire le modèle urbain de pré-programmation durable tel qu’il a été spécifié par les urbanistes et les architectes au fil de nos échanges. Dans cette première étape, l’enjeu consiste à relever et à expliquer les notions fondamentales que nous avons décidé d’exploiter. Face à la complexité de l’organisation d’un espace urbain, un travail conséquent a dû être réalisé en collaboration avec les spécialistes de la ville pour comprendre cette complexité et en extraire les éléments significatifs. Dans une seconde étape, nous décrivons le modèle de contrainte pour notre problème d’aménagement urbain. Il s’agit d’un problème particulier de positionnement de formes urbaines sur un territoire pour constituer une ville cohérente. Bien que l’on puisse faire des analogies avec des problèmes de positionnement classiques comme le problème d’affectation quadratique, notre problème est constitué de nombreuses contraintes spécifiques liées à l’aménagement urbain. Ces différentes contraintes sont essentielles car elles permettent de décrire les règles qui régissent une pré-programmation urbaine. Elles participent individuellement ou collectivement à la lutte contre l’étalement urbain, la viabilité économique, la mixité fonctionnelle, le bien être des habitants, etc. Compte tenu de leur importance, nous proposons pour chaque contrainte une description générale et une description formelle accompagnées d’une représentation schématique pour illustrer chaque situation. 8.2 Modèle urbain de pré-programmation durable La pré-programmation urbaine consiste d’abord à sélectionner le nombre et la nature de toutes les formes urbaines1 composant la ville puis à les organiser spatialement, en prenant en compte les aspects environnementaux, sociaux et économiques propres au développement durable (étalement urbain, mixité fonctionnelle, mobilité, énergies, . . . ). Plusieurs paramètres importants doivent être contrôlés : la densité de la population, les contraintes liées au territoire à aménager et le taux d’emploi. Le taux d’emploi est calculé en divisant le nombre d’emplois 1La forme urbaine correspond à l’utilisation qui est faite de l’espace ou du bâti sur chaque îlot urbain (habitat, commerce, . . . ), à ne pas confondre à la forme que peut prendre une ville entière (par exemple, forme radioconcentrique). 131132 CHAPITRE 8. MODÈLE FIGURE 8.1 – Formes urbaines réparties automatiquement sur la zone expérimentale de la ville de Marnela-Vallée, en prenant en compte les contraintes d’un développement urbain durable exprimées par les urbanistes. D’après les travaux du projet SUSTAINS - schéma fourni par le LIMSI (Laboratoire d’informatique pour la mécanique et les sciences de l’ingénieur). par le nombre de personnes en âge de travailler et vivant dans la zone d’étude. Un taux d’emploi proche de "1" correspond à une situation idéale où chaque résident peut accéder à un travail tout en vivant dans la zone, minimisant ainsi les déplacements. Un taux d’emploi éloigné de "1" a des conséquences graves, induisant un trafic important pour entrer et sortir de la ville. 8.2.1 Modèle urbain En urbanisme, « la modélisation consiste à simplifier la réalité du monde pour mieux comprendre comment les décisions et les événements interagissent les uns avec les autres. Elle permet alors de tester des solutions susceptibles d’influencer ou d’orienter les décisions politiques et les stratégies pouvant conduire à un futur souhaitable » [8]. Dans cette thèse, le modèle urbain proposé par les urbanistes repose sur les notions essentielles représentées par les îlots, les centralités, les formes urbaines et les intensités, et il intègre, dans une démarche systémique, les contraintes urbaines majeures liées à un développement urbain durable. 8.2.1.1 Îlot L’îlot urbain dont les contours sont définis par les routes est le niveau de granularité le plus fin sélectionné par les urbanistes. Sa dimension est fixée de façon à ce qu’un habitant puisse facilement en faire le tour à pied. Les îlots sont représentés dans un quadrillage orthogonal avec une dimension de 80 mètres de côté. Il est supposé que chaque îlot est associé à une seule forme urbaine (habitat, industrie, commerce, école, etc). 8.2.1.2 Centralité Une notion très importante pour les urbanistes concerne la centralité : une place structurante (ou lieu central) composée de quatre îlots tout au plus qui donne son nom au quartier. La centralité apparaît comme une propriété fondamentale qui participe à la formation des agglomérations urbaines. La valorisation du capital économique, social et symbolique accumulé localement suscite des investissements visant à renforcer l’accessibilité du lieu central, au fur et à mesure de sa croissance, par rapport aux lieux avec lesquels il est en concurrence. Et ce surcroît d’accessibilité rend le lieu encore plus attractif pour de nouvelles activités. Le8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 133 sentiment d’appartenir à un quartier coïncide avec la zone d’influence du lieu central, estimée à 300 mètres de rayon. 8.2.1.3 Forme urbaine Dans notre contexte, la forme urbaine correspond à un type d’utilisation dominant qui est fait de l’espace ou du bâti pour un îlot complet. Néanmoins, une forme urbaine dite dominante peut tout à fait intégrer dans sa déclaration une certaine mixité fonctionnelle (proportion d’habitat, de commerce, etc.). Vingt huit formes urbaines ont été retenues (correspondant à quatre groupes : habitat, activité économique, infrastructure et élément fixe) : • maison individuelle ; • maison de ville ; • habitat intermédiaire ; • habitat collectif (R+4)2 ; • habitat collectif (R+7)2 ; • bureau, petit immeuble (R+4)2 ; • bureau, grand immeuble (R+7)2 ; • parc d’entreprises ; • industrie ; • commerce et service de centre ville ; • hypermarché • école maternelle et élémentaire ; • collège ; • lycée ; • équipement administratif ; • équipement technique ; • équipement sportif ; • espace vert ; • espace de respiration ; • rivière ; • route résidentielle ; • route intermédiaire ; • avenue ; • terrain accidenté ; • espace naturel ; • voie préexistante ; • voie de chemin de fer ; • zone inconstructible ; 8.2.1.4 Intensité L’intensité représente une échelle de mesure liée au niveau de densité de la population sur une zone donnée. Elle permet également de traduire le niveau d’activité ou d’animation d’une région. Une intensité urbaine élevée correspond à un quartier vivant, dense, mixte et pour lequel la marche à pied est le moyen de dé- placement le plus simple pour accéder à toutes les fonctions urbaines essentielles. On retrouve ce niveau d’intensité urbaine au centre ville tandis qu’une intensité urbaine faible est plutôt liée à un quartier à dominante pavillonnaire. Six niveaux d’intensité sont définis allant de « 1 » pour l’intensité la plus faible à « 6 » pour la plus élevée. 8.3 Modèle de contrainte pour le problème d’aménagement urbain Pour un territoire donné, le modèle urbain nous fournit le nombre de formes urbaines de chaque type, pour chaque niveau d’intensité. L’objectif consiste alors à répartir spatialement les formes urbaines sur l’ensemble du territoire. Nous identifions ce problème comme un problème d’aménagement urbain. Notre première tâche consiste à fournir une formalisation des contraintes et des préférences relatives aux propriétés d’une ville durable. Les urbanistes expriment naturellement les interactions entre différentes formes urbaines comme des préférences de positionnement au lieu de contraintes dures (par exemple, les industries souhaitent être à proximité d’une voie ferrée ou d’un axe routier, mais elles préfèrent rester éloignées des écoles ou des habitations). Nous exprimons donc ces préférences dans des fonctions de coût et représentons le problème comme un problème d’optimisation combinatoire. Mais il y a également des contraintes dures qui restreignent strictement les positions de certaines formes urbaines (Par exemple, on ne 2 (R+"x") signifie : rez-de-chaussée + "x" étages.134 CHAPITRE 8. MODÈLE peut pas placer une maison individuelle, associée à une intensité urbaine très faible, en plein centre urbain lié à une intensité urbaine très forte). En fin de compte, notre problème englobe un grand nombre de contraintes, certaines étant très spéci- fiques. Nous distinguons dans notre présentation les plus importantes, les contraintes générales qui s’appliquent à toutes les variables, et les contraintes spécifiques qui s’appliquent uniquement à certaines zones ou à certaines formes urbaines. Dans la suite, nous détaillons l’ensemble des fonctions de coûts et des contraintes retenues pour modéliser notre problème d’aménagement urbain. 8.3.1 Représentation de la ville par une grille Nous représentons la ville par une grille régulière où chaque cellule correspond à un îlot urbain. L’objectif consiste à affecter à chaque cellule de la grille une forme urbaine parmi les formes possibles. Certaines cellules spécifiques sont associées à des éléments fixes (routes, zones non constructibles, etc.). Elles sont donc considérées comme non libres et ne sont pas prises en considération. Pourtant, elles sont conservées sur la carte car elles peuvent interférer avec les autres formes urbaines. De plus, chaque cellule est affectée à un niveau d’intensité spécifié manuellement par les urbanistes (au tout début du processus de conception). Ceci permet par exemple de représenter les centralités sur la carte (zones commerciales, places animées, etc.). Par souci de simplicité, la grille est vue comme une matrice rectangulaire de cellules de taille (x × y), mais cette représentation est plus symbolique que géométrique, dans la mesure où c’est le voisinage qui est important et le placement relatif des formes urbaines, pas la géométrie rectangulaire. Chaque cellule correspond à une variable dont la valeur est sélectionnée parmi toutes les formes urbaines. Nous notons Vl,c la variable correspondant à la cellule en ligne l, colonne c. Les formes urbaines sont encodées avec les valeurs entières suivantes : 0. non défini ; 1. maison individuelle ; 2. maison de ville ; 3. habitat intermédiaire ; 4. habitat collectif (R+4) ; 5. habitat collectif (R+7) ; 6. bureau, petit immeuble (R+4) ; 7. bureau, grand immeuble (R+7) ; 8. parc d’entreprises ; 9. industrie ; 10. commerce et service de centre ville ; 11. hypermarché 12. école maternelle et élémentaire ; 13. collège ; 14. lycée ; 15. équipement administratif ; 16. équipement technique ; 17. équipement sportif ; 18. espace vert ; 19. espace de respiration ; 20. rivière ; 21. route résidentielle ; 22. route intermédiaire ; 23. avenue ; 24. terrain accidenté ; 25. espace naturel ; 26. voie préexistante ; 27. voie de chemin de fer ; 28. zone inconstructible ; Dans notre modèle, on s’intéresse à un problème d’optimisation sous contraintes où certaines contraintes sont traduites en fonctions de coût alors que d’autres restreignent les affectations possibles lors de la résolution. Lorsqu’une forme urbaine est assignée à une cellule, un coût pour cette cellule peut être calculé à partir de chaque contrainte applicable. La somme de ces coûts permet d’obtenir un coût total pour la cellule en question. L’objectif consiste à minimiser la somme des coûts sur l’ensemble des cellules, le coût global étant noté Cost. On cherche alors à déterminer pour chaque cellule la forme urbaine Vl,c qui permet de minimiser le coût global Cost issu du coût de chaque cellule Vl,c pour chaque contrainte ct applicable : Cost = Xx−1 l=0 X y−1 c=0 Xz ct=1 (wct ∗ Costct (Vl,c)) (8.1)8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 135 FIGURE 8.2 – Illustration de la distance de Tchebychev à partir de la cellule marquée par un « O » et positionnée en ligne 3, colonne 3 : chaque colonne est repérée par sa distance (allant de 1 à 4) par rapport à la cellule « O ». où : z correspond au nombre de contraintes définies et wct au poids associé à chaque contrainte ct. Par rapport à notre modèle, abordons dès à présent l’ensemble des notations générales, en lien avec la représentation en grille, qui seront reprises par la suite dans la définition des contraintes. 8.3.1.1 Distance de Tchebychev Pour certaines contraintes, nous utilisons la distance de Tchebychev (cf. figure 8.2) qui s’exprime en nombre de cellules. Soit deux cellules Vi,j et Vk,l, la distance de Tchebychev séparant les cellules Vi,j et Vk,l est : Dtch(Vi,j , Vk,l) = max (|k − i| , |l − j|) (8.2) 8.3.1.2 Distance de Manhattan Pour d’autres contraintes, nous utilisons la distance de Manhattan (cf. figure 8.3) correspondant à la distance parcourue en empruntant les rues agencées selon un quadrillage (en référence à la structure des villes américaines, typiquement le quartier de Manhattan à New York). Soit deux cellules Vi,j et Vk,l, la distance de Manhattan séparant les cellules Vi,j et Vk,l est : Dman(Vi,j , Vk,l) = |k − i| + |l − j| (8.3) 8.3.1.3 Voisinage Pour la variable Vl,c, son voisinage3 (cf. figure 8.4) correspond à l’ensemble noté V d l,c défini comme étant : V d l,c = {Vi,j , i ∈ [l − d, l + d] , j ∈ [c − d, c + d]} \{Vl,c} (8.4) 3On parle ici des cellules voisines sur la grille dans le sens géométrique du terme, à ne pas confondre avec la notion de voisinage exploitée par les algorithmes de recherche locale.136 CHAPITRE 8. MODÈLE FIGURE 8.3 – Illustration de la distance de Manhattan à parcourir entre le point de départ « D » et le point d’arrivée « A ». où : d est un paramètre contrôlant la taille du voisinage. Cela correspond au voisinage de MOORE mais privé de son centre, c’est à dire un ensemble de cellules délimité par une distance de Tchebychev non nulle à partir de la cellule Vl,c. 8.3.1.4 Anneau de voisinage Il nous arrivera également de considérer l’ensemble des cellules positionnées sur l’anneau de voisinage (cf. figure 8.5) situé à la périphérique de V d l,c noté V¯d l,c tel que : V¯d l,c = {Vi,j ,(|i − l| = d) ∨ (|j − c| = d)} (8.5) 8.3.1.5 Filtrage d’un ensemble de cellules relatives à une forme urbaine Par rapport à un ensemble de cellules donné, on veut déterminer le sous-ensemble de ces cellules qui sont affectées à une forme urbaine particulière. Soit V un ensemble de cellules et f une forme urbaine donnée, VBf est l’ensemble des éléments Vl,c de V tel que Vl,c = f. 8.3.1.6 Filtrage d’un ensemble de formes urbaines relatives à un ensemble de cellules Cette fois, on dispose d’un ensemble de formes urbaines et on veut déterminer le sous-ensemble de ces formes urbaines qui sont affectées à un ensemble de cellules donné. Soit F un ensemble de formes urbaines et V un ensemble de cellules, la notation FBV retourne les formes urbaines de F ayant une correspondance dans V. Par exemple, si F = {10, 12, 13, 14, 17, 18} et V = {V1 = 6, V2 = 18, V3 = 18, V4 = 12}, alors FBV = {12, 18}. 8.3.2 Contraintes générales Les contraintes générales s’appliquent à toutes les formes urbaines sur la totalité de la grille. Elles permettent de définir une organisation générale de la ville qui sera raffinée par des contraintes plus spécifiques.8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 137 FIGURE 8.4 – (V 2 3,3 ) représente le voisinage de la cellule marquée par un « O » et positionnée en ligne 3, colonne 3 pour une taille de voisinage = 2 : le voisinage est constitué de toutes les cellules marquées par un « 1 » et un « 2 ». 8.3.2.1 Cardinalité liée à chaque forme urbaine Selon certaines caractéristiques de la ville à créer (nombre d’habitants, taille, taux d’emploi, etc.), les urbanistes sont en mesure de déterminer le nombre d’occurrences de chaque forme urbaine devant apparaître dans la ville : par exemple, une ville importante doit avoir une certaine surface de parcs, une certaines surface d’industries, etc. Pour chaque forme urbaine, on a donc une contrainte de cardinalité sur l’ensemble des îlots. 8.3.2.2 Correspondance des niveaux d’intensité Le modèle urbain fournit un niveau d’intensité donné pour chaque forme urbaine, et un niveau d’intensité pour chaque cellule de la grille. Sur la base de ces éléments, chaque assignation d’une forme urbaine à une cellule doit respecter la correspondance d’intensité entre les formes urbaines et les cellules. Les différents niveaux d’intensité sont définis par l’utilisateur sur la carte. Il s’agit d’une contrainte unaire. 8.3.2.3 Interactions entre formes urbaines Chaque forme urbaine a des préférences de placement en fonction de sa nature. Par exemple, les unités scolaires sont attirées par les unités résidentielles, et les unités résidentielles sont repoussées par les unités industrielles [121]. Nous modélisons ces préférences par une fonction spécifiant l’attraction (ou inversement la répulsion) de chaque forme urbaine pour une autre forme urbaine. Entre deux formes urbaines, les valeurs d’interaction possibles sont : • 0 : double attraction, • 10 : simple attraction, • 20 : neutre, • 50 : simple répulsion, • 100 : double répulsion. La valeur d’interaction diminue avec l’augmentation de la distance entre deux cellules (cf. figure 8.6). Les préférences d’interaction sont exprimées comme une fonction de coût. Nous notons Ω I la matrice138 CHAPITRE 8. MODÈLE FIGURE 8.5 – (V¯2 3,3 ) représente l’anneau de voisinage de la cellule marquée par un « O » et positionnée en ligne 3, colonne 3 pour une taille de voisinage = 2 : l’anneau est constitué de toutes les cellules marquées par un « 2 ». d’interaction, qui est une entrée du système. Ω I p,q est la valeur d’interaction entre la forme urbaine p et la forme urbaine q. Cette matrice est asymétrique, on peut donc avoir Ω I p,q 6= ΩI q,p. Pour une forme urbaine positionnée sur la cellule Vl,c, le coût d’interaction dépend uniquement de son voisinage et de l’influence de la distance avec ses cellules voisines. Finalement, pour une cellule Vl,c, la fonction de coût relative à notre contrainte est : Cost1 (Vl,c) = X δ1 d=1   P v∈V¯d l,c  Ω I Vl,c,v V¯d l,c ∗ d 2   (8.6) où : δ1 est la distance d’interaction maximale (dans la suite, δ1 est fixé à « 3 ») à considérer entre deux formes urbaines. Le coût de la cellule Vl,c intègre les contributions de tous les anneaux compris à la distance d de Vl,c, mais ces contributions diminuent au fur et à mesure que d augmente. Pour un anneau, les contributions moyennes des cellules (situées sur l’anneau) sont divisées par un facteur de correction égale à d 2 , afin d’obtenir un effet similaire à l’attraction en physique (cf. les modèles d’interaction spatiale et les modèles gravitaires 7.1.3). Comme indiqué sur le graphique situé à droite dans la figure 8.6, les cellules en bordure de grille, notamment dans les coins, ont un voisinage limité par rapport aux cellules éloignées des bords. Pour prendre en compte cette variation de taille du voisinage, l’équation 8.6 prend en compte le nombre de cellules présentes dans chaque anneau pour définir une moyenne des interactions de la cellule concernée avec ses cellules voisines. 8.3.3 Contraintes spécifiques Afin de renforcer les aspects durables de notre modèle, nous ajoutons des contraintes plus spécifiques visant à améliorer l’équité sociale, la préservation de l’environnement et la viabilité économique.8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 139 FIGURE 8.6 – Contrainte d’interaction entre formes urbaines permettant d’exprimer les préférences de positionnement des formes urbaines les unes par rapport aux autres. Chaque cellule est en interaction avec ses cellules voisines dans un voisinage limité à une taille de 3 cellules. La force d’interaction entre deux cellules diminue avec l’augmentation de la distance qui les sépare. Interaction avec un voisinage complet Interaction avec un voisinage réduit 8.3.3.1 Distance minimale de séparation Cette contrainte spécifie que certaines formes urbaines doivent être éloignées les unes des autres d’une distance minimale, la distance étant exprimée en nombre de cellules (cf. figure 8.7). Par exemple, entre une maison individuelle (no 1) et un immeuble tertiaire R+7 (no 7), il faut respecter une distance d’au moins « 4 » cellules (i.e. trois cellules de séparation). Pour cette contrainte, nous utilisons la distance de Tchebychev pertinente pour contrôler la proximité de formes urbaines dans un voisinage donné. Nous notons Ω D la matrice de distance, avec Ω D p,q la distance minimum autorisée entre la forme urbaine p et la forme urbaine q. Cette matrice est symétrique. Par convention, Ω D p,q = 0 lorsqu’il n’y a pas de contrainte de distance particulière entre p et q. Pour une forme urbaine Vl,c localisée en (l, c), la fonction de coût liée à notre contrainte devient : Cost2 (Vl,c) = X v∈V3 l,c  max  Ω D Vl,c,v − Dtch(Vl,c, v), 0  (8.7) Nota : On travaille ici avec une taille de voisinage limitée à « 3 » cellules car la distance minimale la plus importante relevée dans notre matrice de distance est égale à « 4 ». Donc au delà de cette limite de voisinage, il n’y a jamais de pénalité. 8.3.3.2 Regroupement Les zones industrielles ou artisanales doivent atteindre une taille critique pour que leur construction soit économiquement viable, c’est à dire un regroupement minimum de la même forme urbaine localisée dans une même région, autrement la zone ne sera pas créée en pratique. Pour d’autres formes urbaines, en plus d’une taille critique à atteindre, on doit limiter le regroupement à une taille maximale pour favoriser leur répartition sur le territoire et indirectement leur accessibilité. C’est le cas des lycées et des hypermarchés. Les paramètres de regroupement sont déterminés par les concepteurs urbains pour chaque forme urbaine concernée par un regroupement (voir par exemple la table 8.1). D’un autre côté, bien que cela ne soit pas explicitement exprimé par les concepteurs, la zone considérée doit avoir une structure suffisamment compacte140 CHAPITRE 8. MODÈLE FIGURE 8.7 – Contrainte de distance minimale de séparation entre formes urbaines. TABLE 8.1 – Paramètres des contraintes de regroupement par forme urbaine. Forme urbaine Nombre minimum d’îlots Nombre maximum d’îlots Proportion d’îlots voisins identiques Artisanat 8 - 80 % Industrie 42 - 80 % Hypermarché 4 6 0 % Lycée 2 2 0 % pour le regroupement de certaines formes urbaines. Intuitivement, on peut penser qu’un regroupement sous la forme d’un cercle est préférable à une ligne ou un rectangle plat. Pour ces formes urbaines, on pénalise alors les cellules qui appartiennent à un groupe trop petit ou pas assez compact. On considère également qu’un même groupe peut enjamber des éléments fixes positionnés sur le territoire comme une rivière, une route ou un terrain accidenté, à condition toutefois que cette séparation ne soit pas supérieure à un îlot. Soit les éléments suivants donnés en entrée du système : • Freg l’ensemble des formes urbaines à regrouper, et f une forme urbaine appartenant à cet ensemble ; • Sizef min la taille minimale pour un groupe de f ; • Sizef max la taille maximale pour un groupe de f ; • Coeff struct le coefficient de structure pour un groupe de f avec 0 < Coeff struct ≤ 1. Ce coefficient permet de calculer la proportion, pour une cellule donnée, de ses cellules voisines devant appartenir au même groupe (i.e. ayant la même forme urbaine). Il influence la structure géométrique des groupes : plus sa valeur est proche de « 1 », plus la structure du groupe généré sera compacte ; • Fcont l’ensemble des formes urbaines de continuité pouvant occuper une cellule à l’intérieur d’un groupe sans provoquer la scission du groupe correspondant. Fcont est composé des formes urbaines suivantes : – rivière ; – route (résidentielle, intermédiaire, avenue) ; – terrain accidenté ; – espace naturel ; – voie préexistante ;8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 141 FIGURE 8.8 – Contraintes de regroupement d’une forme urbaine. – voie de chemin de fer ; – zone inconstructible ; On note G f l,c le groupe de cellules associé à Vl,c avec f = Vl,c tel que : G f l,c =    ∅ Si Vl,c 6= f Vl,c Si Vl,c = f ∀ Vl 0 ,c0 ∈ V1 l,c, Gf l 0 ,c0 Si  Vl 0 ,c0 ∈/ G f l,c ∧ ((Vl 0 ,c0 = f) ∨ ((Vl 0 ,c0 ∈ Fcont) ∧ (Vl,c = f))) (8.8) On note Cl,c le coût associé au groupe G f l,c tel que : Cl,c =     SizeVl,c min − G Vl,c l,c  Si SizeVl,c min > G Vl,c l,c  G Vl,c l,c − SizeVl,c max Si SizeVl,c max < G Vl,c l,c 0 Sinon (8.9) Le coût de regroupement associé à la variable Vl,c peut alors s’écrire : Cost3 (Vl,c) =    max CoefVl,c struct ∗ V 1 l,c  − V 1 l,cBVl,c , 0  + Cl,c Si Vl,c ∈ Freg 0 Sinon (8.10) 8.3.3.3 Accessibilité Cette contrainte concerne uniquement la forme urbaine : espaces de respiration. Elle spécifie qu’en tout point habité de la ville, on doit pouvoir accéder à un espace de respiration en moins de quinze minutes à pied. Pour un piéton se déplaçant à une vitesse moyenne de 5 km/h, ce temps lui permet de parcourir une distance d’environ 1,25 km, équivalente à la longueur de 15 cellules mises bout à bout. Nous proposons deux versions complémentaires de cette contrainte. La première version dite « contrainte d’accessibilité globale » pénalise les cellules habitées et non couvertes proportionnellement au dépassement142 CHAPITRE 8. MODÈLE FIGURE 8.9 – Contrainte d’accessibilité globale avec une distance de couverture limitée à 4 cellules (en distance de Manhattan) : coût imputé sur chaque cellule habitée et non couverte par un espace de respiration. Dans cet exemple, la cellule marquée « ER » correspond à la seule cellule occupée par un espace de respiration. de leur distance autorisée à n’importe quel espace de respiration. La seconde version intitulée « contrainte d’accessibilité locale » pénalise uniformément les cellules habitées et non couvertes par un espace de respiration. La version globale est plus appropriée que la version locale si le nombre d’espaces de respiration à répartir sur la ville est insuffisant pour couvrir la grille entière, mais son temps de calcul est lié à la taille de la grille et peut donc devenir conséquent. En revanche, la version locale peut être calculée beaucoup plus rapidement dans un espace limité autour de chaque cellule habitée et elle est pertinente si le modèle urbain fournit suffisamment d’espaces de respiration pour couvrir toute la zone à développer. Contrainte d’accessibilité globale À ce niveau, on mesure à quel point la contrainte est violée en quantifiant la violation au lieu de simplement l’observer. La distance entre cellules est mesurée en distance de Manhattan, pertinente pour un déplacement piétonnier en ville. Les coûts correspondants liés à chaque cellule habitée sont illustrés sur la figure 8.9, en supposant qu’il n’y ait qu’un seul espace de respiration (repéré par « ER ») dans la grille, que toutes les autres cellules sont habitées et que la distance de couverture d’un espace de respiration, au dessous de laquelle il n’y a pas de coût, soit fixée avec une distance de Manhattan δ2 = 4 (au lieu de 15 normalement, ceci pour simplifier la représentation). La fonction de coût associée à cette contrainte correspond alors à la somme de toutes les violations pour toutes les cellules habitées. Pour la calculer, il est nécessaire de connaître les positions des espaces de respiration dans la configuration courante, que l’on note ER1, . . . , ERm (en supposant qu’il y ait m espaces de respiration). ER1 = (l, c) signifie que le premier espace de respiration correspond à la variable Vl,c. On note Fhab = {1, 2, 3, 4, 5}, l’ensemble représentant les habitations et correspondant aux formes urbaines suivantes : • 1 maison individuelle ; • 2 maison de ville ; • 3 habitat intermédiaire ; • 4 habitat collectif (R+4) ; • 5 habitat collectif (R+7) ;8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 143 La fonction de coût associée à une cellule Vl,c pour la contrainte d’accessibilité globale vaut : Cost4 (Vl,c) =    min(1≤α≤m) (max (Dman(Vl,c, ERα) − δ2, 0)) Si Vl,c ∈ Fhab 0 Sinon (8.11) où : • m est le nombre d’espaces de respiration ; • δ2 est une constante indiquant le nombre maximum d’îlots à parcourir à pied (distance de Manhattan) pour accéder à un espace de respiration ; • Fhab est l’ensemble représentant les habitations. Contrainte d’accessibilité locale Dans cette version, on s’intéresse aux cellules habitées qui ne sont couvertes par aucun espace de respiration. Contrairement à la contrainte d’accessibilité globale, on observe simplement les violations sans les quantifier. Dès lors, tous les îlots habités sont pénalisés de la même manière dès qu’ils ne sont pas couverts par un espace de respiration, que l’espace de respiration le plus proche soit éloigné ou très éloigné. Bien que la distance de Manhattan soit idéale pour mesurer le parcours d’un piéton en ville, on fait le choix de travailler ici en distance de Tchebychev pour les raisons suivantes : • on ne cherche pas à quantifier les violations ; • on travaille à une échelle locale réduite autour de chaque espace de respiration ; • le nombre d’espace de respiration est suffisant pour couvrir la ville entière (hypothèse de départ pour que cette version soit pertinente) ; • la distance de Tchebychev nous permet d’exploiter directement le voisinage V d l,c pour une distance d égale à la distance de couverture imposée pour chaque espace de respiration (voir l’équation 8.12). Profitons de cette argumentation sur le choix d’une unité de distance pour revenir aux origines de cette version locale et nous permettre une petite intrusion technique. La contrainte d’accessibilité locale est une version volontairement « dégradée » qui a été conçue pour améliorer les performances de la version globale plus élaborée et permettre ainsi un passage à l’échelle. Lors des premières expérimentations, nous avons en effet constaté qu’à partir d’une taille de grille 64 × 64, la version globale devenait trop pénalisante en temps de réponse pour pouvoir être utilisée dans un contexte interactif. D’un point de vue purement opérationnel et technique, l’utilisation du voisinage (représenté par V d l,c) permettait de réutiliser (i) des procédés (algorithmes) et (ii) des données calculées par ailleurs et directement disponibles en cache (cf. section 9.3.1). Pour un espace de respiration repéré aux coordonnées (l, c), sa zone de couverture correspond au voisinage V δ3 l,c, avec δ3 correspondant à la distance de couverture retenue exprimée en distance de Tchebychev. Contrairement à la version globale, on récupère ici le voisinage de couverture associée à chaque espace de respiration et on cumule, au niveau de chaque cellule habitée, le nombre d’espaces de respiration qui les recouvrent. Cette notion est illustrée dans la figure 8.10, en supposant qu’il y ait deux espaces de respiration (repérés par ER1 et ER2) dans la grille, que toutes les autres cellules soient habitées et que δ3 = 4. Les cellules de la grille qui contiennent le chiffre « 1 » sont couvertes par ER1 ou ER2, celles qui contiennent le chiffre « 2 » sont couvertes à la fois par ER1 et ER2. Seul le nombre de cellules habitées non couvertes, c’est à dire celles identifiées par le chiffre « 0 », sont comptabilisées pour déterminer le coût d’une configuration. La fonction de coût associée à cette contrainte correspond alors au nombre total de cellules habitées non couvertes. Pour la calculer, il est nécessaire, comme pour la version globale, de connaître les positions des espaces de respiration dans la configuration courante, que l’on notera de la même manière. La fonction de coût associée à la contrainte d’accessibilité locale pour la variable Vl,c est :144 CHAPITRE 8. MODÈLE FIGURE 8.10 – Contrainte d’accessibilité locale avec une distance de couverture limitée à 4 cellules (distance de Tchebychev) : on indique le nombre d’espaces de respiration qui couvrent chaque cellule habitée. Dans cet exemple, les cellules marquées « ER1 » et « ER2 » correspondent aux cellules occupées par un espace de respiration. Les cellules habitées marquées avec le chiffre « 0 » sont les cellules qui vont alimenter la fonction de coût (pénalité pour chaque cellule sans couverture). Cost4 (Vl,c) =    1 Si (Vl,c ∈ Fhab) ∧ X 1≤α≤m ( 1 Si Vl,c ∈ Vδ3 ERα 0 Sinon = 0 0 Sinon (8.12) où : • m est le nombre d’espaces de respiration ; • δ3 est une constante indiquant le nombre maximum d’îlots à parcourir à pied (distance de Tchebychev) pour accéder à un espace de respiration ; • Fhab est l’ensemble représentant les habitations. 8.3.3.4 Séparation C’est une contrainte inhérente aux espaces tampons ou aux équipements bâtis qui doivent s’intercaler entre certaines formes urbaines ne pouvant pas se toucher. En effet, pour certaines formes urbaines proches les unes des autres, il est demandé qu’elles ne soient pas contiguës (qu’elles ne se touchent pas), et qu’elles soient séparées par un espace tampon ou un équipement bâti lorsqu’elles sont situées à proximité l’une de l’autre. Les formes urbaines suivantes sont considérées comme des espaces tampon : • équipement sportif ; • espace de respiration ; • espace vert Tandis que les équipements bâtis sont représentés par les formes urbaines suivantes : • école maternelle et élémentaire ; • collège ; • lycée ; • équipement administratif ; • équipement technique.8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 145 FIGURE 8.11 – Illustration des séparations simples ou doubles entre la cellule centrale et les cellules de l’anneau périphérique situées à une distance stricte d = 2. Séparation simple Double séparation Par exemple, lorsqu’une maison individuelle et un habitat collectif R+7 se trouvent à proximité l’un de l’autre, nous devons les séparer par un espace tampon. Lorsqu’une maison individuelle est proche d’un habitat collectif R+4, il faut positionner entre les deux îlots un espace bâti. Pour une forme urbaine repérée par Vl,c, on s’intéresse uniquement à ses variables voisines présentes dans l’ensemble V 2 l,c. On note Ω S la matrice de séparation fournie en entrée du problème. Ω S p,q fournit l’ensemble des formes urbaines autorisées pour séparer la forme urbaine p de la forme urbaine q. Soulignons que chaque élément de cette matrice correspond à un ensemble (constitué de formes urbaines), pratique suffisamment inhabituelle pour qu’elle soit précisée. Cette matrice est symétrique, on aura donc Ω S p,q = ΩS q,p. On peut avoir Ω S p,q = ∅ lorsqu’il n’y a pas de contrainte particulière de séparation entre les deux formes urbaines p et q. Pour chaque variable Vi,j située dans le voisinage V 1 l,c, on doit vérifier Ω S Vl,c,Vi,j = ∅. En effet, lorsqu’une séparation est imposée entre deux formes urbaines, celles-ci ne doivent pas être contiguës. D’autre part, pour chaque cellule Vi,j située sur l’anneau de voisinage V¯2 l,c, si Ω S Vl,c,Vi,j 6= ∅, il faut vérifier que les formes urbaines positionnées sur les cellules qui séparent Vl,c et Vi,j appartiennent bien à l’ensemble Ω S Vl,c,Vi,j . La notation S(Vl,c, Vi,j ) désigne l’ensemble des formes urbaines positionnées sur les cellules qui sé- parent Vl,c et Vi,j . Cet ensemble peut contenir un ou deux éléments comme le montre la figure 8.11 qui indique les variables de séparation entre la cellule centrale V3,3 et ses cellules voisines Vi,j situées à une distance stricte d = 2. Par exemple, S(V3,3, V1,1) contient la forme urbaine de V2,2 et S(V3,3, V1,2) contient les formes urbaines de V2,2 et de V2,3. La fonction de coût pour la variable Vl,c peut alors s’exprimer ainsi : Cost5 (Vl,c) = X v∈V1 l,c ( 1 Si  Ω S Vl,c,v 6= ∅  0 Sinon + X v∈V¯2 l,c ( S(Vl,c, v)\Ω S Vl,c,v Si  Ω S Vl,c,v 6= ∅  0 Sinon (8.13) 8.3.3.5 Emprise au sol Le principe est le suivant : pour des formes urbaines particulières (maison individuelle, maison de ville, habitat intermédiaire ou collectif, bâtiment tertiaire) que l’on trouve dans le voisinage proche d’un collège ou d’un lycée, il faut réserver une surface autour de l’école, en positionnant, à coté de l’édifice, un nombre plus ou moins important d’espaces verts.146 CHAPITRE 8. MODÈLE FIGURE 8.12 – Emprise au sol : le nombre d’espaces verts au pied d’un collège ou d’un lycée est imposé et ce nombre dépend de la présence de certaines formes urbaines particulières à proximité de l’établissement. Par exemple, si on ne trouve à proximité d’un collège que des maisons individuelles, des maisons de ville ou de l’habitat intermédiaire, il faut prévoir au moins un espace vert à côté de l’école. Cependant, dès qu’il y a de l’habitat collectif ou des bâtiments tertiaires aux environs du collège, nous devons prévoir une surface plus importante constituée d’au moins deux espaces verts (cf. figure 8.12). On note Ω E la matrice qui contient le paramétrage d’emprise au sol, tel que Ω E p,q identifie le nombre minimum d’espaces verts à positionner autour de la forme urbaine p compte tenu de la proximité de la forme urbaine q. Cette matrice est asymétrique, donc Ω E p,q peut être différent de Ω E q,p. On peut également avoir Ω E p,q = 0 lorsqu’il n’y a pas de conditions particulières d’emprise au sol entre les deux formes urbaines p et q. Concernant la proximité liée à une forme urbaine Vl,c de référence, seules les cellules voisines représentées par l’ensemble V 4 l,c sont considérées. Soit : • Fres l’ensemble des formes urbaines concernées par la réservation d’un ou de plusieurs espaces verts dans leur voisinage immédiat (i.e. collège et lycée) ; • EV représentant la forme urbaine « espace vert », Si Vl,c ∈ Fres, le coût associé à cette variable correspond au nombre d’espaces verts manquants à proximité immédiate de Vl,c : Cost6 (Vl,c) = ( max max(v∈V4 l,c)  Ω E Vl,c,v − V 1 l,cBEV  , 0  Si (Vl,c ∈ Fres) 0 Sinon (8.14) 8.3.3.6 Filtrage et diversité Cette contrainte est liée aux centralités (voir la section 8.2.1.2). Les centralités sont identifiées par des cellules spéciales marquées par l’utilisateur pour représenter le centre d’un quartier. Elles peuvent regrouper une, deux ou quatre cellules contiguës pour former une centralité plus ou moins importante, ces cellules pouvant être séparées par une route. Chaque cellule centralité est identifiée par l’utilisateur. On parlera indifféremment de « centralité » pour faire référence soit à une cellule marquée par l’utilisateur, soit à un groupe de cellules appartenant à la même centralité. Cette contrainte est utilisée pour (cf. figure 8.13) :8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 147 FIGURE 8.13 – Filtrage et diversité des formes urbaines sur chaque centralité : la centralité principale est constituée de quatre cellules repérées par l’utilisateur avec la lettre « C » et disposées de part et d’autre d’un axe routier important (avenues). Les formes urbaines positionnées sur ces cellules doivent être « 6= » entre elles pour favoriser la diversité et un filtre « F » limite les formes urbaines pouvant prendre place sur chaque cellule. • filtrer les formes urbaines pouvant occuper une centralité (cellule) ; • participer à la diversité des formes urbaines localisées sur une même centralité (groupe). Pour calculer cette contrainte, il est nécessaire de connaître l’ensemble des cellules repérées par l’utilisateur comme étant des centralités, que l’on note Vcent = {Vi,j , . . . , Vk,l}, Vi,j correspondant à la première centralité et Vk,l à la dernière. On note Fcent = {10, 12, 13, 14, 17, 18}, l’ensemble des formes urbaines autorisées à être positionnées sur une centralité et correspondant aux formes urbaines suivantes : • 10 : commerce et service de centre ville ; • 12 : école maternelle et élémentaire ; • 13 : collège ; • 14 : lycée ; • 17 : équipement sportif ; • 18 : espace vert. Pour une variable Vl,c, la centralité (groupe) qui lui est associée correspond à toutes ses cellules voisines repérées comme des centralités par Vcent, ces cellules pouvant être séparées par une route. Pour prendre en compte cette séparation éventuelle et regrouper des centralités non contiguës (séparées par une route), on considère un voisinage complet V 2 l,c, pour ne retenir que les cellules marquées comme des centralités. On note Cl,c la centralité (groupe) associée à la variable Vl,c tel que : Cl,c =  Vi,j , Vi,j ∈ V 2 l,c ∪ Vl,c ∩ Vcent (8.15) Pour une cellule Vl,c liée à une centralité (cellule), son coût correspond à une pénalité composée des éléments suivants : 1. un coût fixe (défini à 10) si la cellule Vl,c est associée à une forme urbaine non autorisée ; 2. le nombre des cellules de la centralité associées à une forme urbaine non autorisée ; 3. la différence entre le nombre de cellules de la centralité (|Cl,c|) et la diversité des formes urbaines autorisées qui leur sont imputées FcentBCl,c  .148 CHAPITRE 8. MODÈLE Compte tenu de ces éléments, le coût global associé à la cellule Vl,c peut s’écrire ainsi : Cost7 (Vl,c) =       10 Si Vl,c ∈ F/ cent 0 Sinon + X v∈Cl,c    1 Si (v /∈ Fcent) 0 Sinon + |Cl,c| − FcentBCl,c Si Vl,c ∈ Vcent 0 Sinon (8.16) 8.4 Conclusion « Pour construire un modèle qui sera souvent unique en son genre, l’informaticien doit être capable d’écouter, d’aider, de faire et de refaire : il doit renoncer à venir avec ses modèles tout faits qui seraient à prendre ou à laisser » [220]. Conformément aux préconisations de Jean-Charles POMEROL, c’est au prix d’efforts importants et de nombreuses réunions que nous sommes parvenus à réaliser avec l’aide indispensable des praticiens de la ville cette modélisation. Nous ne reprenons ici que les éléments essentiels retenus parmi une multitude de notions mises en lumière pendant des heures et des heures d’échanges passionnants et de formalisation, de nombreuses propositions de toutes parts ou d’explorations successives, parfois des abandons ou des retours en arrière. Un travail d’écoute, de compréhension et d’analyse en continu nous a permis, progressivement, de dégager et de mettre en forme des propriétés et des contraintes « à gros grain » caractéristiques d’une pré-programmation à la base de cette représentation formelle. Nous nous intéressons plus particulièrement à une représentation symbolique de la ville qui permet de simplifier une réalité trop complexe pour être complètement appréhendée. Notre modèle de contrainte pour ce problème d’aménagement urbain reste volontairement simple pour qu’il puisse être compris par les décideurs, élément crucial pour qu’il soit accepté et utilisé dans la pratique. Malgré la particularité du problème, la modélisation proposée reste générique et repose sur les notions de voisinage et d’interaction entre formes urbaines, complétées par des contraintes plus spécifiques permettant de renforcer les aspects durables dans notre modèle. Dans ce cadre symbolique, la majorité des contraintes a pu être traduite en fonctions de coût pour exprimer des préférences de positionnement. Dès lors, l’objectif consiste à rechercher une configuration qui minimise un coût global traduisant le meilleur compromis entre les différentes préférences. Ce modèle peut être résolu indifféremment par des méthodes complètes ou incomplètes. Il est prévu pour représenter des villes importantes comme l’exemple de Marne-la-vallée (8 728 hectares pour 234 644 habitants) illustré au début de ce chapitre. De plus, il sera exploité dans un cadre interactif où l’utilisateur peut interagir avec la résolution pour traduire des aspects impossibles à représenter dans le modèle. En effet, un système interactif d’aide à la décision (ou SIAD, voir le chapitre 6) doit rester un modèle inachevé [220], ce qui participe à son acceptation par les utilisateurs qui conservent une part non négligeable de liberté. Sans incertitude, la résolution du modèle pourrait être totalement robotisée sans laisser de place au processus de décision. Au contraire, la part d’incertitude qui reste dans les mains des opérateurs est une façon d’améliorer les processus de décision sans les bouleverser. C’est justement parce que l’on ne sait pas terminer le modèle qu’il est indispensable d’avoir un décideur devant l’écran pour l’achever. L’interactivité représente alors une part inexprimable de la modélisation pour des problèmes non structurés, c’est à dire impossibles à décrire entièrement.9 Résolution initiale basée sur Adaptive Search Le problème d’aménagement urbain qui nous intéresse peut être vu comme une variante du problème de positionnement d’équipements [80, 218] (Facility Location Problem, Cf. section 7.5), mais dans lequel tous les éléments urbains doivent être placés simultanément. Ce problème est fortement combinatoire [199, 200, 282]. Par conséquent, il est difficile de le résoudre lorsque le nombre de variables devient important. De plus, nous devons faire face à deux exigences spécifiques liées au contexte applicatif. Premièrement, l’algorithme doit être capable de passer à l’échelle pour se mesurer à des dimensions de villes réelles, avec une taille pouvant atteindre 10 000 cellules libres pour une surface totale de plus de 80 km2 (correspondant aux éléments libres et fixes). Deuxièmement, les utilisateurs (urbanistes et décideurs) doivent pouvoir garder la main sur le système, en modifiant de façon interactive l’emplacement des éléments urbains, ceci pour répondre à leurs propres représentations et attentes. Pour satisfaire ces deux exigences, nous avons conçu un même système qui intervient à deux étapes de résolution distinctes. Dans la première étape, qui correspond plus particulièrement à ce chapitre, le système calcule et propose une ou plusieurs bonnes solutions répondant aux contraintes urbaines. Et pour adresser le problème de complexité, nous avons développé une technique de résolution spécifique pour gérer efficacement la répartition des calculs sur plusieurs processeurs. La seconde étape est interactive et sera décrite en détail dans le prochain chapitre (cf. chapitre 10). 9.1 Choix d’une méthode de résolution Une première tentative pour résoudre notre problème s’est appuyée sur les techniques complètes [222] de programmation par contraintes [16, 97, 9, 233]. Un tout premier prototype a été conçu avec le solveur CHOCO [147] pour une partie seulement des contraintes principales avec 17 formes urbaines différentes (au lieu de 28) : • cardinalité liée à chaque forme urbaine ; • interactions entre formes urbaines pour un voisinage limité à une distance maximale d’une seule cellule. Ce prototype a été évalué sur une grille 16×16 avec un serveur de test du LINA1 . Mais au bout de 12 jours, le traitement a dû être interrompu faute de résultats. Dans le même contexte technique, nous avons réalisé un second prototype plus limité de placement des formes urbaines basé sur un algorithme de type glouton [85] (cf. section 5.5.1). Au lieu de répartir simul- 1Dell M610 quadri coeurs multithreadés (l’équivalent de 16 cœurs) Xeon E5620 à 2,40GHz, et 16 Go de RAM. 149150 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH tanément toutes les formes urbaines sur la grille, cette version positionnait une à une les formes urbaines sur la ville sans remettre en cause les choix précédents. On intégrait une seule forme urbaine à la fois dans le problème et lorsque sa position optimale était trouvée (cellule), on fixait la variable qui lui était associée (devenant une constante du problème). Le processus se poursuivait alors en injectant une nouvelle forme urbaine dans le problème, en itérant jusqu’à ce que toutes les formes urbaines soient réparties sur l’espace urbain. Avec cette formule simplifiée, l’ordre dans lequel les formes urbaines sont sélectionnées joue bien entendu un rôle déterminant dans la qualité des solutions obtenues. Pour remplir une grille complète 16 × 16 composée de 206 variables libres au départ (les autres formes urbaines étant liées à des éléments fixes comme des routes ou des rivières), une résolution avec ce second prototype ne nécessitait plus qu’une vingtaine de minutes. Notre problème est bien plus complexe que cette version simplifiée et sa taille typique peut atteindre 10 000 variables. De plus, une résolution avec des algorithmes gloutons ne conduit pas à des solutions de bonne qualité, ces algorithmes étant plutôt réservés à la génération de solutions initiales pouvant ensuite être améliorées. Enfin, le temps de résolution en contexte interactif doit être très rapide et ne pas dépasser quelques secondes [258]. Compte tenu de ces premiers résultats, nous avons abandonné l’idée d’une résolution avec des méthodes complètes et opté pour une méthode de résolution incomplète [2, 127] basée sur les techniques de recherche locale [177, 153, 42, 111, 112, 113, 115, 125]. Nous décrivons par la suite nos travaux réalisés sur les bases de la métaheuristique Adaptive Search [47, 48, 10] (cf. section 5.6.9) en commençant par la génération d’une configuration initiale. 9.2 Configuration initiale Pour créer une configuration initiale soumise ensuite au processus de résolution, nous proposons deux heuristiques différentes pouvant être activées/désactivées selon un paramètre de l’application : • une initialisation aléatoire simple ; • une initialisation gloutonne aléatoire [245, 143](cf. section 5.5.2) qui cherche à positionner en priorité les formes urbaines les plus contraintes. Dans la suite de ce chapitre, nous employons le terme « coût » pour désigner une pénalité calculée par les fonctions de coût liées à notre modélisation (voir chapitre 8) ; ce coût pouvant être associé, compte tenu du contexte d’utilisation, soit à une cellule de la grille, soit à la grille entière (coût d’une configuration), soit représenter une variation de ces coûts. 9.2.1 Initialisation aléatoire Dans un premier temps, cette heuristique constitue une liste « A » qui répertorie par niveau d’intensité des listes « B » contenant les quantités à allouer (nombre d’îlots à occuper) par forme urbaine (cf. figure 9.1). Par exemple, la liste « B[1] » indique qu’il y a 10 maisons individuelles (forme urbaine no 1) à répartir sur des cellules d’intensité 1 ; 8 maisons de ville (forme urbaine no 2) à répartir sur des cellules d’intensité 1 ; et 20 espaces de respiration (forme urbaine 19) à répartir sur des cellules d’intensité 1 ; etc. L’heuristique parcourt ensuite la grille en sélectionnant une à une chaque cellule libre. Pour la cellule courante, elle récupère son niveau d’intensité et recherche, à partir de la liste « A », la liste « B » associée à ce niveau d’intensité. Si il n’y a plus d’élément disponible dans la liste « B » trouvée, une erreur d’incohérence est émise indiquant qu’il n’y a pas suffisamment de formes urbaines allouées pour ce niveau d’intensité. Dans le cas contraire, un élément de la liste « B » est choisi aléatoirement. On récupère la forme urbaine correspondante et on l’assigne à la cellule courante. La quantité à allouer liée à cette forme urbaine est décrémentée et lorsqu’elle devient nulle, l’élément correspondant de la liste « B » est supprimé. A la fin du processus, toutes les listes « B » doivent être vides. Dans le cas contraire, il s’agit d’une seconde incohérence et un message d’anomalie est émis indiquant qu’il y a trop de formes urbaines à9.2. CONFIGURATION INITIALE 151 FIGURE 9.1 – Initialisation aléatoire : structures de données utilisées pour créer une solution initiale. allouer par rapport au nombre de cellules libres. 9.2.2 Initialisation gloutonne aléatoire Cette initialisation repose sur un paramétrage de l’application (cf. table 9.2) qui définit pour chaque forme urbaine : • la priorité de placement (première colonne représentant le classement) ; • le mode de sélection d’une cellule (dernière colonne « random » avec la valeur vrai ou faux). Le classement représente la difficulté de placement de chaque forme urbaine. Il cherche à traduire le poids des contraintes qui pèse sur chaque forme urbaine. En effet, par rapport aux contraintes spécifiques, seules quelques formes urbaines sont concernées : certaines peuvent donc être plus contraintes que d’autres non concernées par les contraintes spécifiques. L’idée générale consiste alors à positionner en priorité sur la grille les formes urbaines pour lesquelles il y a un maximum de contraintes qui s’exercent. Le mode de sélection d’une cellule indique comment on doit, pour une forme urbaine donnée, choisir une cellule parmi les cellules libres et disponibles dans la grille (i.e. sans affectation de forme urbaine). Si « Random = vrai », on choisit une cellule au hasard sinon on choisit la cellule qui génère le coût d’affectation minimum. 9.2.2.1 Fonctionnement de l’heuristique L’heuristique considère une à une chaque catégorie de forme urbaine en fonction du classement prioritaire spécifié par le paramétrage (industrie, . . . , espace de respiration). Pour la forme urbaine courante, on récupère la liste « B » qui lui est associée et qui contient les quantités à allouer de cette forme urbaine, ces quantités étant ventilées par niveau d’intensité (cf. figure 9.3). Chaque élément présent dans la liste « B » sélectionnée vient s’insérer dans une liste « C » temporaire qui contient autant d’éléments qu’il y a d’allocations prévues, chaque élément représentant une affectation à prévoir pour le niveau d’intensité spécifié. Tant que la liste temporaire « C » n’est pas vide, on choisit un élément aléatoire dans cette liste (une intensité) que l’on retire de la liste. A ce stade, on dispose d’une allocation à réaliser pour : (i) une forme152 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH FIGURE 9.2 – Initialisation gloutonne : paramétrage, par forme urbaine, de la priorité de placement et du mode de sélection d’une cellule. On commence par positionner l’industrie (no 1) et on termine par le placement des espaces de respiration (no 19). La colonne « random » indique si on doit choisir une cellule disponible au hasard ou si on choisit celle qui génère un coût d’affectation minimum. No Forme urbaine Random 1 Industrie faux 2 Parc d’entreprises faux 3 Collège faux 4 Lycée faux 5 Maison individuelle vrai 6 Maison de ville vrai 7 Habitat intermédiaire faux 8 Bureau, grand immeuble (R+7) faux 9 École maternelle et élémentaire faux 10 Équipement administratif faux No Forme urbaine Random 11 Équipement technique faux 12 Équipement sportif faux 13 Habitat collectif (R+7) faux 14 Bureau, petit immeuble (R+4) faux 15 Habitat collectif (R+4) faux 16 Commerce et service de centre ville faux 17 Hypermarché faux 18 Espace vert faux 19 Espace de respiration faux urbaine prioritaire et (ii) une intensité tirée aléatoirement. On récupère alors la liste « D » des cellules libres, et sans affectation, pour ce niveau d’intensité. Si la liste « D » est vide, une anomalie est émise indiquant qu’il n’y a pas assez de cellules disponibles par rapport au nombre de formes urbaines à ventiler sur la ville. Dans le cas inverse, on détermine la cellule disponible qui recevra la forme urbaine. Pour cela, deux possibilités se présentent en fonction du « mode de sélection d’une cellule » (colonne « random ») paramétré pour la forme urbaine : • soit on sélectionne un élément de façon aléatoire dans la liste « D » (une cellule) ; • soit on recherche, parmi toutes les cellules de la liste « D », la cellule avec le coût le plus faible. Pour identifier la cellule la moins coûteuse, on évalue pour chaque cellule de la liste « D » le coût que représenterait l’affectation de la forme urbaine courante et on retient la cellule avec le coût minimum (si il y a plusieurs cellules avec le même coût minimum, on fait un tirage aléatoire parmi ces cellules). Pour la cellule retenue (quelle que soit la valeur du paramètre mode aléatoire), on lui attribue la forme urbaine courante et on retire cette cellule de la liste « D » des cellules libres pour le niveau d’intensité. 9.2.2.2 Évaluation du coût lié à une affectation Nous verrons que notre algorithme d’optimisation (cf. section 9.3) réalise une série de permutations (i.e. échanges des valeurs entre deux variables) afin d’améliorer pas à pas le coût global d’une solution de dé- part. Or, la procédure gloutonne d’initialisation cherche à positionner à chaque itération une forme urbaine donnée à moindre coût sur une cellule libre, sans passer par ce mécanisme des permutations. Afin de mutualiser ces procédures, notamment les fonctions de calcul incrémental décrites en section 9.3.1, nous avons introduit la forme urbaine « non défini » portant le code « 0 » qui occupe initialement toutes les cellules libres de la grille, aucune contrainte n’étant définie sur cette forme urbaine. On cherche alors à évaluer le remplacement de la forme urbaine « non défini » de chaque cellule libre par une autre forme urbaine à positionner, cette opération de placement devenant pour une large partie similaire à une permutation. 9.3 Algorithme séquentiel Nous avons retenu la méthode Adaptive Search (AS) qui a prouvé son efficacité sur des instances variées et de grandes tailles [47]. Cette méthode nous permet d’améliorer, tant que c’est possible, une solution9.3. ALGORITHME SÉQUENTIEL 153 FIGURE 9.3 – Initialisation gloutonne : structures de données utilisées pour créer une solution initiale. courante par une succession de permutations (échange des valeurs entre deux variables) dans le but d’approcher le plus rapidement possible une solution optimale. En plus d’exploiter la fonction de coût global, cette métaheuristique tire avantage de la structure du problème en termes de contraintes et de variables pour guider la recherche. Pour chaque contrainte, une fonction d’erreur doit être définie afin de fournir, pour chaque tuple "va-154 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH Algorithme 11 : Notre algorithme séquentiel dérivé de la méthode Adaptive Search de base 1 /* Paramètres : maxRestart est le nombre maximum de réinitialisations partielles de l’algorithme f est la fonction de coût globale, fi est la fonction de coût pour la variable Vi s est la configuration courante best est la meilleure configuration trouvée T est la liste des candidats bannis j est l’index de la variable avec le pire coût (candidat) */ 2 best ← s ← configuration initiale ; 3 while (maxRestart non atteint) do 4 T ← ∅ ; 5 while (T ne contient pas la totalité des variables) do 6 forall (i tel que Vi ∈/ T) do 7 Calculer fi(s) ; 8 Sélectionner Vj une variable pour laquelle fj (s) est maximum (avec Vj ∈/ T) ; 9 Calculer le coût f des configurations voisines obtenues à partir de s en échangeant Vj avec une autre variable ; Sélectionner s 0 la configuration pour laquelle f(s 0 10 ) est minimum; if (s 0 11 peut améliorer la solution courante s) then 12 Modifier T en supprimant sa variable la plus ancienne ; s ← s 0 13 ; else 14 T ← T ∪ {Vj}; 15 if (s est meilleure que best) then 16 best ← s; 17 Réinitialiser un certain pourcentage de variables dans s en réalisant des permutations aléatoires ; 18 return best riable | valeur", une indication sur son degré de violation [99, 272]. AS procède à une réparation itérative sur la base des erreurs liées aux variables et aux contraintes, en cherchant à réduire l’erreur sur la variable ayant le coût le plus élevé. Pour cela, on calcule la fonction d’erreur pour chaque contrainte, puis on combine pour chaque variable les erreurs de toutes les contraintes où elles apparaissent, ce qui permet de projeter les erreurs des contraintes sur les variables correspondantes. La procédure qui permet de transférer les erreurs des contraintes sur les variables est problème-dépendant. On peut retrouver une description détaillée de la métaheuristique AS dans sa version générale en section 5.6.9. Pour ce qui nous concerne, nous proposons dans un premier temps une implémentation séquentielle (cf. algorithme 11) directement dérivée de la version originale. Notre algorithme démarre à partir d’une configuration initiale générée soit par une affectation aléatoire, soit par une affectation gloutonne aléatoire : un paramètre permet d’identifier le mode d’initialisation à utiliser (cf. section 9.2). À ce stade, nous nous assurons que l’assignation initiale respecte à la fois le niveau d’intensité de chaque cellule et le nombre donné de cellules de chaque forme urbaine (de façon analogue à la contrainte unaire de correspondance des niveaux d’intensité et de cardinalité liée à chaque forme urbaine). L’algorithme réalise alors une variante de la méthode de réparation itérative (Iterative Repair), basée sur les données d’erreur relatives aux variables et aux contraintes, cherchant à réduire à chaque itération l’erreur sur la variable de pire coût [192]. Notre modélisation (cf. chapitre 8) permet de calculer la fonction de coût de chaque contrainte combinée à chaque variable pour toutes les contraintes où elle apparaît, projetant directement les erreurs identifiées par les contraintes sur chaque variable. Pour obtenir un coût total par9.3. ALGORITHME SÉQUENTIEL 155 variable, nous pondérons les coûts des contraintes de sorte que les contraintes peuvent avoir une priorité différente. À chaque itération, la variable avec l’erreur la plus importante est désignée comme « le candidat » choisi pour être à l’origine d’une permutation, c’est à dire impliqué dans un échange de sa valeur avec une autre variable. Dans cette étape, on considère toutes les permutations possibles impliquant le « candidat » en choisissant la meilleure permutation, c’est à dire la permutation qui permettra de minimiser le plus possible le coût global de la configuration courante. Cependant, il y a des restrictions à l’ensemble des échanges considérés : nous pouvons échanger les valeurs de deux cellules uniquement si elles possèdent des formes urbaines différentes (sinon l’échange est neutre) et si elles sont affectées au même niveau d’intensité, ceci afin de satisfaire la contrainte d’intensité à tout moment. Cette politique liée aux permutations assure que la contrainte de correspondance des niveaux d’intensité est maintenue satisfaite à chaque itération, tout comme la contrainte de cardinalité des formes urbaines. L’algorithme utilise également une mémoire dynamique de court terme dans l’esprit de la recherche tabou [111, 112, 113, 115, 125], que nous intitulerons « liste des candidats bannis ». Notons que seuls les candidats incapables d’améliorer le coût global sont marqués bannis (aucune permutation avec une autre variable ne permet de diminuer le coût global de la configuration courante). Tant qu’une variable appartient à la liste des candidats bannis, elle ne peut pas être considérée comme un candidat pour les itérations suivantes. Lorsque l’algorithme est bloqué car toutes les variables sont bannies, il redémarre en permutant sur la configuration courante un pourcentage donné de variables choisies aléatoirement. Néanmoins, avant de réaliser une permutation à partir de deux variables choisies au hasard, le système vérifie que l’échange des valeurs entre les deux variables soit autorisée (i.e. même intensité, formes urbaines différentes, . . . ). Le nombre de relances et de variables à réinitialiser dépendent de paramètres configurables. Dans les sections suivantes, nous commençons par décrire une série d’optimisations mises en œuvre pour améliorer de façon significative la vitesse des calculs avant d’étudier en détail le fonctionnement de la liste des candidats bannis. En vue de distribuer efficacement l’algorithme AS et de pouvoir comparer les gains obtenus avec la version séquentielle, nous introduisons dès à présent deux nouvelles fonctionnalités : le mode « multi-candidats » et le mode « multi-permutations ». 9.3.1 Cache de données et calcul incrémental Pour améliorer la vitesse des calculs, nous utilisons différents caches de données pour toutes les informations qui nécessitent un accès fréquent, les données mémorisées pour chaque contrainte étant problèmedépendant. À titre d’exemple, on mémorise les éléments suivants : • objets généraux pouvant être réutilisés fréquemment sans devoir être recréés (e.g. positions, cellules, candidats, permutations, configurations, . . . ) ; • coût global de la configuration courante ; • mesure du coût d’accessibilité sur chaque cellule habitée pour chaque point d’origine (cellule occupée par un espace de respiration) pour la contrainte d’accessibilité globale ; • nombre d’espaces de respiration qui recouvre chaque cellule habitée pour la contrainte d’accessibilité locale ; • constitution des groupes (zone industrielle, artisanale, etc.) avec leur structure et les coûts associés ; • les voisinages de chaque cellule pour la contrainte d’interactions entre formes urbaines ; • . . . . A chaque fois qu’une permutation est appliquée, un mécanisme générique associé à chaque contrainte permet de supprimer le cache de données dépendant des deux cellules concernées, de sorte qu’à la prochaine interrogation des données en cache, ces informations soient recalculées localement pour être à nouveau disponibles.156 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH Pour évaluer l’impact d’une permutation, nous déterminons également tous les coûts de chaque contrainte de façon incrémentale, en calculant uniquement la différence de coût induite par la permutation sur une configuration donnée (cf. sections 5.6.3.4 et 7.5.2.2). Néanmoins, ce coût incrémental peut être déterminé pour une permutation potentielle sans devoir modifier la configuration, ce qui est très utile, notamment vis à vis du cache de données qui peut ainsi rester intact. Ceci est possible en considérant un objet spécial nommé swap transmis systématiquement à la méthode chargée de récupérer la forme urbaine d’une cellule pour une configuration donnée (voir l’algorithme 12). Algorithme 12 : Fonction permettant de récupérer la forme urbaine d’une configuration à la position (row, col) en considérant un composant de permutation noté swap. 1 if (swap) then 2 if ((row = swap.fromRow) et (col = swap.fromCol)) then 3 return getUrbanFrom(swap.toRow, swap.toCol) ; 4 if ((row = swap.toRow) et (col = swap.toCol)) then 5 return getUrbanFrom(swap.fromRow, swap.fromCol); 6 return getUrbanFrom(row, col) ; 9.3.2 Liste des candidats bannis Le fonctionnement de la liste des candidats bannis est inspiré de la liste tabou (voir descriptif de la recherche tabou en section 5.6.8). La liste des candidats bannis permet d’éliminer temporairement du processus de recherche les « mauvais » candidats. Les mauvais candidats sont des variables qui ont eu les coûts les plus importants à un moment donné mais qui ont néanmoins été incapables de participer, en lien avec une autre variable, à une permutation permettant d’améliorer la solution courante du moment (en diminuant son coût global). Cette liste évite donc à l’algorithme de boucler sur un mauvais candidat. Cependant, ce n’est pas sa seule utilité : elle permet également d’améliorer les performances du système. En éliminant temporairement un mauvais candidat du processus de recherche, on fait l’hypothèse suivante : un candidat identifié comme mauvais à un moment donné risque de rester mauvais un certain temps, ce délai (évalué en nombre d’itérations) s’allongeant au fur et à mesure que le processus de résolution progresse. En retirant momentanément du circuit ces variables, on évite à l’algorithme d’évaluer inutilement une série de permutations générées à partir de candidats potentiellement défaillants. On réduit ainsi la complexité de la métaheuristique grâce à une réduction de la taille du voisinage à évaluer à chaque itération et on améliore de fait sa rapidité. Il s’agit d’une liste dynamique de type FIFO2 dont la dimension augmente avec le temps. Lorsqu’elle est pleine (i.e nombre d’éléments présents dans la liste = dimension courante de la liste), l’ajout d’un nouvel élément provoque la sortie du plus ancien. Sa dimension initiale est déterminée en pourcentage par rapport au nombre de variables libres de l’instance. Typiquement, ce pourcentage peut être fixé à 25 %. Ensuite, sa dimension va évoluer par palier jusqu’à atteindre le nombre total de variables libres de l’instance. A chaque palier, la dimension de la liste progresse d’un certain pourcentage (e.g. +25 %) par rapport à sa dimension courante. Reste à déterminer le moment où interviennent ces paliers ? La dimension de la liste reste stable tant que l’algorithme peut identifier un bon candidat sur une itération (i.e un candidat capable de produire au moins une permutation qui améliore la solution courante) ou tant que la liste n’est pas pleine. Si à l’issue d’une itération donnée le candidat sélectionné s’avère mauvais3 et si la liste est pleine, alors un palier d’extension est sollicité par la métaheuristique pour tenter d’agrandir 2First In, First Out 3Dans le mode multi-candidats (voir la section 9.3.3), lire : « si tous les candidats sélectionnés s’avèrent mauvais ».9.3. ALGORITHME SÉQUENTIEL 157 la dimension de la liste. Dans cette situation, on considère en effet que la capacité de la liste n’est plus suf- fisante pour contenir l’ensemble des mauvais candidats et qu’il faut l’agrandir dans la limite de sa capacité maximale autorisée, égale au nombre de variables libres. Lorsque la liste a atteint sa capacité maximale et qu’elle est pleine, plus aucun candidat ne peut être trouvé car ils sont tous bannis. Dans ce cas de figure extrême, deux possibilités se présentent en fonction des paramètres de configuration4 retenus : • soit une perturbation de la solution courante est appliquée (cf. algorithme 11, lignes 3, 5 et 17) avant de relancer la résolution ; • soit on enchaîne directement sur une nouvelle itération après avoir vidé la liste de son contenu (suppression de tous les candidats bannis) pour donner la possibilité à certains candidats précédemment bannis de se racheter ; ce procédé étant similaire au mécanisme d’aspiration [66, 131] décrit pour la méthode tabou [111] (cf. section 5.6.8). Dans les deux cas, l’opération en question peut être répétée dans la limite d’un nombre d’occurrences paramétrable. 9.3.3 Mode multi-candidats Dans l’algorithme général AS, une seule variable à la fois peut être désignée comme candidat pour rechercher une permutation en lien avec les autres variables, qui puisse minimiser le coût global de la configuration courante. Nous introduisons un mode multi-candidats où un ensemble restreint de variables associées aux coûts les plus importants d’une même configuration sont sélectionnées pour rechercher la meilleure permutation, le nombre de candidats à considérer étant un paramètre de l’application (cf. algorithme 13). Un composant logiciel dédié a été conçu pour maintenir une liste de variables triée par ordre décroissant de coût et limitée en nombre d’éléments. Lorsque la liste est pleine, l’introduction d’un nouvel élément permet soit de l’intégrer en retirant l’élément de plus faible coût, soit de ne rien faire si le nouvel élément a un coût inférieur ou égal au dernier élément de la liste. Dans un premier temps, on parcourt séquentiellement la grille en vérifiant que la variable courante ne soit ni fixe, ni bannie. On récupère son coût disponible en cache et on l’injecte dans ce composant. Lorsque toutes les variables ont été évaluées, on dispose d’une liste avec les meilleurs candidats de la configuration courante. Il reste alors, dans un deuxième temps, à évaluer chaque candidat avec la totalité des autres variables libres pour trouver la meilleure permutation. Au cours de cette procédure, si on ne trouve aucune permutation favorable pour un candidat donné, le candidat en question est inséré dans la liste des candidats bannis. Si on ne trouve aucune permutation favorable pour l’ensemble des candidats, alors on vérifie l’état de la liste des candidats bannis. Si elle n’est pas pleine ou si elle peut encore être agrandie, on relance la procédure courante (recherche des meilleurs candidats et de la meilleure permutation). Dans le cas contraire, soit on vide la liste des candidats bannis et on relance la procédure courante, soit la procédure se termine. Pour justifier ce mode de fonctionnement, il faut prendre en considération les deux remarques suivantes qui sont complémentaires. Premièrement, notre algorithme cherche à se diriger le plus rapidement possible vers une solution optimale en réparant au mieux, à chaque itération, la configuration courante. Or, la plus mauvaise variable peut ne pas être celle qui conduira à la meilleure permutation (i.e. la meilleure réparation). Chercher la meilleure permutation en se basant sur plusieurs candidats augmente nos chances de trouver la meilleure permutation liée à la configuration courante. Toutefois, cette recherche impliquant plusieurs candidats, le nombre de permutations à évaluer devient supérieur, ce qui occasionne un temps de traitement supérieur. Deuxièmement, dans un mode distribué, la recherche de la meilleure permutation pour plusieurs candidats peut être réalisée en parallèle, chaque processus évaluant les permutations d’un candidat. Dans ce cas, le temps de calcul global pour tous les candidats reste identique à l’évaluation d’un seul candidat, mais la chance de trouver une permutation de meilleure qualité devient supérieure. 4Ne pas confondre la configuration qui regroupe l’ensemble des paramètres qui conditionnent le fonctionnement du solveur avec la notion de configuration équivalente à une affectation.158 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH Algorithme 13 : Mode multi-candidats 1 /* Paramètres donnés en entrée : • maxCandidates est le nombre maximum de meilleurs candidats à sélectionner • s est la configuration courante • fi(s) est la fonction de coût de la variable Vi pour la configuration s • T est la liste des candidats bannis • EVAL(s, Vi , Vj ) est la fonction qui évalue sur la configuration s le gain pour un échange des valeurs entre les deux variables Vi et Vj • VERIFIER(s, T) est la fonction qui gère T si aucune permutation gagnante n’existe pour s */ 2 /* Variables de travail : • bestCandidates est la liste triée (par ordre de coût décroissant) des meilleurs candidats • metCandidates est la liste des meilleurs candidats déjà traités • 4cost est le gain pouvant être apporté à s en échangeant les valeurs de deux variables • bestDeltaCost est le meilleur gain qu’un candidat peut apporter à s en échangeant sa valeur avec celle d’une autre variable • improvement est un booléen à true si au moins une permutation permet d’améliorer le coût de s • worstCost est le coût du candidat de bestCandidates le moins bien classé (dernier de la liste) */ 3 worstCost ← 0 ; 4 bestCandidates ← ∅ ; forall (i tel que : Vi ∈/ T et Vi 5 libre) do 6 Récupérer la valeur de fi(s) si présente en cache ou la recalculer ; 7 if (|bestCandidates| = maxCandidates) then 8 if (fi(s) ≤ worstCost) then 9 Ne rien faire et passer à l’indice i suivant ; else 10 Supprimer le dernier élément de bestCandidates ; bestCandidates ← bestCandidates ∪ Vi 11 ; 12 if (|bestCandidates| = maxCandidates) then 13 worstCost ← coût du dernier élément de bestCandidates ; 14 metCandidates ← ∅ ; 15 improvement ← f alse ; 16 forall (i tel que Vi ∈ bestCandidates) do metCandidates ← metCandidates ∪ Vi 17 ; 18 bestDeltaCost ← 0 ; forall (j tel que : Vj ∈/ T et Vj ∈/ metCandidates et Vj 19 libre) do 4cost ← EVAL(s, Vi 20 , Vj ) ; 21 if (4cost < bestDeltaCost) then bestDeltaCost ← 4cost 22 ; 23 if (bestDeltaCost = 0) then T ← T ∪ Vi 24 ; else 25 improvement ← true ; 26 if ( ! improvement) then 27 VERIFIER(s, T) ;9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 159 9.3.4 Mode multi-permutations Au lieu de travailler avec la meilleure permutation issue d’un ou de plusieurs candidats (selon que le mode multi-candidats soit actif ou non), nous proposons de mémoriser dans une liste les meilleures permutations issues des différents candidats à considérer. Cette liste est triée par ordre décroissant du gain5 lié à chaque permutation et sa taille est limitée (paramétrable), de sorte qu’on ne conserve qu’un nombre restreint de permutations, ces permutations étant considérées comme les meilleures pour la configuration courante. Ce fonctionnement ne nécessite pas un temps de calcul supplémentaire significatif car ces permutations doivent de toute façon être évaluées, que le mode multi-permutations soit actif ou non. Ce mécanisme introduit simplement une empreinte mémoire additionnelle liée à la liste, mais sa taille reste contrôlée et limitée. Lorsque la liste est renseignée avec les meilleures permutations identifiées pour les différents candidats, nous appliquons séquentiellement sur la configuration courante toutes les permutations mémorisées dans la liste, sous certaines conditions. Typiquement, réaliser une première permutation peut fortement impacter les scores obtenus sur les permutations suivantes de la liste. Pour qu’une permutation reste valide et qu’elle soit appliquée, elle doit donc toujours produire un bénéfice qui soit au moins égal à un certain ratio (paramé- trable) de son profit initial. Lors de ce processus séquentiel, nous garantissons uniquement l’application du premier élément de la liste qui correspond à la meilleure permutation, les permutations suivantes pouvant devenir obsolètes. Notons que pour revenir au fonctionnement général AS, il suffit de limiter à un seul le nombre maximum de candidats et le nombre maximum de permutations, ce qui revient à désactiver ces deux modes. En mode mono-candidat et mono-permutation de l’algorithme, des résultats liés à la recherche de la meilleure permutation se trouvent gaspillés à chaque itération. Bien que les permutations appliquées en rafale en mode multi-permutations puissent ne pas être les meilleures lorsqu’elles sont appliquées séquentiellement, plusieurs d’entre elles peuvent néanmoins améliorer le coût de la solution courante. De plus, travailler avec différents candidats permet de diversifier l’origine des permutations à appliquer en cascade, minimisant ainsi l’impact d’une permutation sur les suivantes. Dans la version distribuée de l’algorithme, ces deux mécanismes conjoints (multi-candidats et multi-permutations) sont supposés tirer profit des travaux réalisés par les différents processus parallèles sans nécessiter un effort de calcul additionnel. 9.4 Version distribuée de l’algorithme Pour faire face à la complexité des problèmes de grande taille, nous proposons de distribuer l’algorithme sur une grille de calcul [58, 266]. Un système basé sur une marche multiple parallèle [138, 205] (« multiwalk ») dont les principes sont décrits en section 5.7.3 a déjà été proposé pour AS [40, 75], avec de bonnes accélérations (speed-ups) sur des problèmes classiques. Toutefois, entre plusieurs exécutions de notre version séquentielle sur des instances identiques du problème d’aménagement urbain, nous relevons de faibles écarts de temps entre les différentes résolutions ; la même remarque pouvant être faite sur la qualité des résultats obtenus. Dans notre situation, ces informations indiquent qu’il sera difficile pour une approche distribuée basée sur une marche multiple de diminuer significativement les temps de résolution. Compte tenu de ces éléments, nous choisissons un système maître-esclave pour distribuer l’évaluation des voisins : à chaque itération, nous parallélisons la recherche des meilleures permutations [266, 10]. Ce principe rappelle le fonctionnement « Évaluation concurrente des voisins » décrit en section 5.7.1, mais avec des processus esclaves qui disposent ici d’une plus large autonomie. En fait, le fonctionnement retenu se situe à mi-chemin entre une évaluation distribuée des voisins et le principe de décomposition de domaine [227] (cf. section 5.7.2) : nous parlerons de décomposition de variable pour faire référence à notre approche. Bien qu’il ne réalise pas lui même l’ensemble des opérations habituelles, le processus maître fonctionne de façon analogue au mode séquentiel multi-candidats, multi-permutations. 5Comme on mémorise des valeurs négatives dans cette liste (variations sur le coût global de la configuration courante engendrées par les permutations bénéfiques), elle est triée par ordre croissant.160 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH Algorithme 14 : Mode multi-permutations 1 /* Paramètres donnés en entrée : • maxP ermutations est le nombre maximum de meilleures permutations à sélectionner • s est la configuration courante • EVAL(s, Vi , Vj ) est la fonction qui évalue sur la configuration s le gain pour un échange des valeurs entre les deux variables Vi et Vj et qui mémorise les meilleures permutations • APPLY(s) est la fonction qui applique en série les meilleures permutations trouvées • maxDeviation est le % maximum de déviation autorisé sur le gain initial pour garder une permutation */ 2 /* Variables de travail : • bestP ermutations est la liste triée (par ordre croissant de variation de coût) des meilleures permutations • 4cost est le gain pouvant être apporté à s en échangeant les valeurs de deux variables • worstDeltaCost est la variation de coût de la permutation dans bestP ermutations la moins bien classée (dernière de la liste) */ 3 worstDeltaCost ← 0 ; 4 bestP ermutations ← ∅ ; Fonction EVAL(s, Vi 5 , Vj ) 6 begin 7 Calculer 4cost en évaluant l’échange des valeurs entre Vi et Vj dans s; 8 if (4cost ≥ 0) then return 4cost 9 ; 10 if (|bestP ermutations| = maxP ermutations) then 11 if (4cost ≥ worstDeltaCost) then return 4cost 12 ; else 13 Supprimer le dernier élément de bestP ermutations ; Création de la permutation p(4cost, Vi 14 , Vj ) ; 15 bestP ermutations ← bestP ermutations ∪ p ; 16 if (|bestP ermutations| = maxP ermutations) then 17 worstDeltaCost ← variation de coût du dernier élément de bestP ermutations ; return 4cost 18 ; end 19 Fonction APPLY(s) 20 begin 21 forall (p ∈ bestP ermutations) do 22 Calculer 4cost (actualisé) en évaluant l’échange des valeurs entre p.Vi et p.Vj dans s; 23 if (4cost ≥ 0) then 24 valid = f alse ; else 25 if (4cost ≤ p.4cost) then 26 valid = true ; else variation = 4cost − p.4cost 27 ; 28 valid = (variation ≤ kp.4cost ∗ maxDeviation/100k) ; 29 if (valid) then 30 Échanger les valeurs des variables p.Vi et p.Vj dans s ; end9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 161 FIGURE 9.4 – Mode distribué : fonctionnement général maître-esclaves. La partie « itérations » signalée en foncé est spécifique à chaque protocole distribué que nous proposons et elle fera l’objet d’un schéma complémentaire dans les sections correspondantes. Au début de l’algorithme (cf. figure 9.4), le processus maître détermine les partitions et transmet les sous-ensembles de variables aux processus esclaves. Il synchronise6 ensuite le travail de chaque processus esclave, à chaque itération, et collecte les permutations qu’il choisit ou non d’appliquer sur la configuration courante partagée entre tous les processus. Finalement, il détermine les conditions d’arrêt de l’algorithme et retourne la meilleure solution trouvée. Pendant ce temps, chaque processus esclave opère de façon concurrente avec les variables qui lui sont attribuées, de façon à ce que l’ensemble des processus esclaves réunis puisse évaluer à chaque itération la totalité des permutations possibles sur la configuration courante partagée, tout comme le ferait l’algorithme séquentiel. Avec ce principe, non seulement nous tirons bénéfice de tous les calculs réalisés sans les gaspiller, mais 6Dans le sens qu’il attend une réponse (le résultat) de chaque processus esclave avant de poursuivre son travail.162 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH TABLE 9.1 – Principales caractéristiques liées au fonctionnement des différents protocoles distribués. Caractéristiques Protocoles 1 2 3 4 #phases (séries d’échanges sur le réseau) 2 1 1 1 #PbE par rapport au #partition #part #part #part #part*(#part+1)/2 évaluation parallèle des meilleurs candidats O N O O étendue de recherche des meilleurs candidats partition grille grille 1 à 2 partitions qui évalue les meilleurs candidats PbE PbM PbE PbE agrégation des meilleurs candidats dans une liste globale O N N N transfert liste des meilleurs candidats PbE→PbM et PbM→PbE PbM→PbE - - transfert du meilleur gain trouvé par candidat (PbE→PbM) O O O N transfert des candidats à bannir (PbM→PbE) O O O N transfert des meilleures permutations trouvées (PbE→PbM) O O O O transfert des permutations appliquées (PbM→PbE) O O O O itération locale si pas de permutation favorable N N N O liste globale des candidats bannis présente sur le PbM N O N N étendue de la liste des candidats bannis sur chaque PbE partition partition grille 1 à 2 partitions nous profitons également de la disposition géographique / géométrique de notre problème pour répartir de façon cohérente les différentes parties de la carte sur les différents processus : un découpage spatial pour un problème spatial. Dans la suite, nous choisissons de présenter les caractéristiques principales liées au fonctionnement de notre algorithme distribué. En effet, nous proposons différentes implémentations (voir la figure 9.6 qui récapitule le fonctionnement des différents protocoles distribués), et chaque protocole expose des caracté- ristiques différentes qui permettent de les comparer. Nous étudierons ensuite les éléments complémentaires intégrés au modèle pour supporter le mode distribué. Nous disposerons alors de tous les éléments pour examiner en détail le fonctionnement de chaque protocole. 9.4.1 Caractéristiques liées au fonctionnement de la version distribuée Chaque processus esclave a en charge une partie des variables de la grille (partition) et dispose d’une représentation synchronisée de la configuration courante globale qui est partagée entre tous les processus, y compris avec le processus maître. Pour un processus esclave, l’enjeu consiste à déterminer localement une liste des meilleures permutations uniquement pour les variables qu’il a en charge, de telle manière que toutes les combinaisons possibles (permutations) puissent être évaluées par la totalité des processus esclaves, de façon analogue au mode séquentiel. Étant donné que la recherche des meilleures permutations n’affecte pas l’état de la configuration globale partagée entre tous les processus, les processus esclaves peuvent fonctionner en parallèle sans aucune diffi- culté et sans nécessiter une adaptation conséquente des procédures séquentielles. Pour abréger les écritures, nous utilisons les notations suivantes : • PbM pour désigner le processus maître ; • PbE pour désigner un processus esclave ; • CbG pour désigner la configuration globale qui est partagée et synchronisée entre tous les processus. Pour illustrer le fonctionnement du mode distribué lié à chaque protocole proposé, nous avons sélectionné quatorze caractéristiques principales (cf. table 9.1) que l’on commente dans les paragraphes suivants.9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 163 Nombre de phases Valeurs possibles : • 1 : 1 échange réseau lors d’une itération entre le PbM et les PbE ; • 2 : 2 échanges réseau lors d’une itération entre le PbM et les PbE ; Il s’agit du nombre d’échanges, engagés entre le PbM d’une part et les PbE d’autre part, qui nécessitent une synchronisation. Rappelons qu’il n’y a aucune communication directe entre les PbE. En général, une phase commence par un premier message initié par le PbM à destination de tous les PbE, se poursuit par les réponses de chaque PbE, et prend fin lorsque tous les PbE ont répondu au PbM. Une phase regroupe donc plus ou moins de messages qui transitent sur le réseau entre différents processus, chaque message pouvant avoir une taille variable et regrouper des informations de différentes natures. Par exemple, une première phase peut consister à interroger les PbE pour qu’ils fournissent chacun à leur tour une liste locale de leurs meilleurs candidats au PbM. Ce message d’interrogation peut contenir les permutations venant d’être réalisées par le PbM et devant être répliquées sur chaque PbE pour synchroniser leur CbG. Lorsque le PbM a obtenu toutes les réponses, il peut poursuivre son travail et engager une seconde phase, c’est à dire un second dialogue avec les PbE. Nombre de processus esclaves par rapport au nombre de partitions Valeurs possibles : • un entier positif : nombre de PbE (déterminé en fonction du nombre de partitions). Le nombre de PbE nécessaire pour résoudre une instance donnée de notre problème dépend du nombre de partitions qui a été demandé (par un paramétrage). Les partitions correspondent à des regroupements de cellules libres pour un découpage donné de la grille, chaque partition étant de taille identique (à l’arrondi près). Ces regroupements peuvent être opérés de façon plus ou moins sophistiquée. Dans notre implémentation, un découpage simple est réalisé conformément à l’exemple de la figure 9.5. Par principe, on cherche à définir le plus grand nombre de partitions tout en minimisant le nombre de processus nécessaires pour gérer ces partitions. En effet, un nombre important de partitions permet une forte décomposition des variables de notre problème alors qu’un nombre important de processus nécessite la mobilisation de ressources maté- rielles importantes (avec un processeur dédié par processus) et des échanges réseaux entre le PbM et chaque PbE. Évaluation parallèle des meilleurs candidats Valeurs possibles : • O : plusieurs processus sont impliqués au même moment dans la recherche des meilleurs candidats ; • N : la recherche des meilleurs candidats est réalisée sur un seul processus. En fonction du protocole, la recherche des meilleurs candidats peut être réalisée soit en bloc par un seul processus, soit être répartie sur différents processus. Cette caractéristique permet de savoir si la recherche est parallélisée. Étendue de recherche des meilleurs candidats Valeurs possibles : • 1 partition : la recherche des meilleurs candidats est effectuée sur une partition au maximum ; • 1 à 2 partitions : la recherche des meilleurs candidats est effectuée sur 1 ou 2 partitions au maximum ; • grille : la recherche des meilleurs candidats est effectuée sur la grille entière ; En fonction du protocole, la recherche des meilleurs candidats peut être réalisée soit à l’échelle de la grille entière, soit à l’échelle d’une seule partition ou bien à l’échelle d’une à deux partitions.164 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH FIGURE 9.5 – Exemple de découpage d’une grille pour former 4 partitions de même taille : chaque groupe est composé de 18 cellules libres, les cellules fixes étant repérées par un caractère « X ». Qui évalue les meilleurs candidats Valeurs possibles : • PbM : c’est le PbM qui évalue les meilleurs candidats ; • PbE : chaque PbE évalue les meilleurs candidats. En fonction du protocole, la recherche des meilleurs candidats peut être prise en charge soit par le PbM, soit par chaque PbE. Agrégation des meilleurs candidats dans une liste globale Valeurs possibles : • O : une agrégation des meilleurs candidats dans une liste globale est nécessaire ; • N : aucune agrégation n’est réalisée. Lorsque la recherche des meilleurs candidats est effectuée à l’échelle d’une partition, la question est de savoir si le protocole nécessite d’agréger les résultats de toutes les recherches à partir de toutes les partitions pour constituer une liste globale des meilleurs candidats. Transfert liste des meilleurs candidats Valeurs possibles : • PbE→PbM : on transfert la liste des meilleurs candidats de chaque PbE vers le PbM ; • PbM→PbE : on transfert la liste des meilleurs candidats du PbM vers chaque PbE ; • - : aucun transfert n’est nécessaire. Une fois établie, on se demande si la liste des meilleurs candidats doit transiter entre le PbM et les PbE. Notons que la liste des meilleurs candidats qui transite peut être globale (i.e. concerner la grille entière) ou être partielle (i.e. limitée à une ou deux partitions).9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 165 Transfert du meilleur gain trouvé par candidat des processus esclaves vers le processus maître Valeurs possibles : • O : le meilleur gain trouvé par candidat doit être transmis des PbE vers le PbM ; • N : aucun transfert n’est nécessaire. Lorsqu’on ne retrouve pas de permutation, pour un candidat prometteur, dans la liste locale des meilleures permutations trouvées, cela ne signifie pas pour autant qu’il s’agit d’un mauvais candidat. En effet, la liste des meilleures permutations étant limitée en taille, on ne conserve que les meilleures permutations lors d’une itération. Donc, il se peut que d’autres candidats aient de meilleures permutations en nombre suf- fisant pour ne pas considérer celles du candidat en question. D’autre part, lorsqu’il s’agit d’un candidat global, il peut n’avoir des permutations bénéfiques que sur une seule partition, ce qui est suffisant pour ne pas le bannir. Afin de savoir si un candidat prometteur doit être banni ou non, il faut donc récupérer les meilleurs gains trouvés de chaque candidat sur le PbM, ce qui nécessite dans ce cas un transfert de données. Transfert des candidats à bannir du processus maître vers les processus esclaves Valeurs possibles : • O : le PbM doit transmettre aux PbE la liste des candidats à bannir ; • N : aucun transfert n’est nécessaire. Il arrive que les processus esclaves seuls n’aient pas une visibilité suffisante pour déterminer si il faut bannir ou non un candidat prometteur. Dans ce cas, l’information doit provenir du PbM qui est en mesure d’agréger les résultats des différents PbE pour en déduire une information pertinente. Transfert des meilleures permutations trouvées des processus esclaves vers le processus maître Valeurs possibles : • O : les PbE doivent transmettre au PbM leur liste des meilleurs permutations ; • N : aucun transfert n’est nécessaire. Le but du mode distribué étant de répartir la recherche des meilleures permutations sur les différents PbE puis de récupérer le résultat sur le PbM, un transfert réseau est obligatoire pour chaque protocole. Transfert des permutations appliquées du processus maître vers les processus esclaves Valeurs possibles : • O : le PbM doit transmettre aux PbE les meilleures permutations qu’il a retenu et appliqué sur sa CbG ; • N : aucun transfert n’est nécessaire. Les différents processus que nous exploitons peuvent être localisés soit sur la même machine, soit sur des machines distantes. Pour partager la CbG entre ces différents processus, nous n’utilisons pas de mécanisme automatique de mémoire partagée. Pour que la CbG reste synchronisée, il faut donc répliquer systématiquement les modifications effectuées sur chaque processus. Le PbM est le seul habilité à opérer des modifications sur la CbG, c’est à dire à appliquer des permutations. Il faut donc acheminer les permutations qu’il a réalisé vers les PbE pour que chaque PbE puisse reproduire ces modifications, c’est à dire rejouer localement chaque permutation sur sa CbG. L’ensemble des permutations réalisées à l’occasion d’une itération est reporté en une seule étape du PbM vers les PbE. Itération locale si pas de permutation favorable Valeurs possibles : • O : Si aucune permutation favorable n’est trouvée par un PbE, un dispositif est prévu pour refaire une nouvelle recherche localement sans en informer le PbM ;166 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH • N : Si aucune permutation favorable n’est trouvée par un PbE, il retourne une liste vide au PbM et se met en attente. Si un PbE ne trouve pas de permutation favorable après avoir fait une première recherche à partir de la liste des meilleurs candidats, il a deux possibilités : soit il est capable de lancer une nouvelle recherche localement avec de nouveaux critères (renouvellement des candidats) sans communiquer avec le PbM, soit il est incapable de relancer une nouvelle recherche. Dans ce cas, il retourne une liste (de ses meilleures permutations) vide et il attend les nouvelles instructions du PbM. Liste globale des candidats bannis présente sur le processus maître Valeurs possibles : • O : le PbM doit mémoriser une liste globale des candidats bannis ; • N : le PbM n’a pas besoin de mémoriser une liste globale des candidats bannis. En fonction du protocole en œuvre, il peut être nécessaire de maintenir une liste globale des candidats bannis sur le PbM. Étendue de la liste des candidats bannis sur chaque processus esclave Valeurs possibles : • 1 partition : la taille de la liste des candidats bannis présente sur chaque PbE est relative à 1 partition ; • 1 à 2 partitions : la taille de la liste des candidats bannis présente sur chaque PbE est relative à 1 ou 2 partitions ; • grille : la taille de la liste des candidats bannis présente sur chaque PbE est relative à la grille entière ; L’étendue de la liste des candidats bannis présente sur chaque PbE varie en fonction du protocole utilisé. Elle peut correspondre à 1 partition, à 1 ou 2 partitions, ou à la totalité de la grille. 9.4.2 Compléments intégrés au modèle Avant d’identifier les compléments intégrés à notre modèle pour gérer le mode distribué, nous avons besoin de définir la notion de partition. Definition 12 (Partition). Une partition correspond à un regroupement de cellules libres de la grille, le nombre de partitions étant imposé par un paramétrage et chaque partition étant de même taille (à l’arrondi près). Toutes les cellules libres de la grille sont affectées aux partitions. Pour associer une cellule à une partition, un découpage simple de la grille est réalisé conformément à l’exemple de la figure 9.5. Compte tenu du regroupement des cellules en partitions, et de la répartition des partitions entre différents PbE, nous introduisons les informations suivantes associées à chaque cellule de la grille : • numéro de groupe : pouvant prendre la valeur « 0 », « 1 » ou « 2 » ; • indicateur de sélection : pouvant prendre la valeur « vrai » ou « faux ». Ces informations sont intégrées dans la CbG de chaque PbE sans pour autant être synchronisées entre les différents processus. Elles sont prévues pour restreindre les permutations pouvant être réalisées sur chaque PbE (cf. algorithme 15). 9.4.2.1 Numéro de groupe Chaque PbE se charge d’attribuer un numéro de groupe aux cellules libres qui sont sous sa responsabilité, c’est à dire qui appartiennent à ses partitions. Un PbE peut avoir une ou deux partitions qui lui sont associées. Si une seule partition est attribuée au PbE, toutes les cellules ont un numéro de groupe égal à « 0 » ; Par contre, si il a deux partitions sous sa responsabilité, il attribue aux cellules de sa première partition un numéro de groupe à « 1 » et aux cellules de sa seconde partition un numéro de groupe égale à « 2 ».9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 167 Algorithme 15 : Contrôle de validité d’une permutation (échange de valeurs entre deux variables). 1 /* Paramètre donné en entrée : • cellF rom est la cellule d’origine impliquée dans la permutation • cellT o est la cellule de destination impliquée dans la permutation • checkCellF rom indique si il faut que la cellule d’origine soit obligatoirement sélectionnable ? */ 2 Fonction ACCEPTABLE(cellF rom, cellT o, checkCellF rom) 3 begin 4 if ( ! cellFrom.libre) then 5 return false ; 6 if ( ! cellTo.libre) then 7 return false ; 8 if (checkCellFrom et ( ! cellFrom.selectionnable) then 9 return false ; 10 if ( ! cellTo.selectionnable) then 11 return false ; 12 if (cellFrom.formeUrbaine = cellTo.formeUrbaine) then 13 return false ; 14 if (cellFrom.intensite != cellTo.intensite) then 15 return false ; 16 if (cellFrom.groupe = cellTo.groupe) et (cellFrom.groupe != 0) then 17 return false ; 18 return true ; end Dès lors, pour qu’un PbE puisse autoriser une permutation entre deux cellules, il faut que les conditions suivantes soient remplies (cf. algorithme 15, lignes 16-17) : • soit les deux cellules ont un numéro de groupe à zéro : ce qui revient à autoriser les permutations au sein d’une même partition ; • soit les deux cellules ont un numéro de groupe différent : ce qui limite les permutations aux cellules de partitions différentes. 9.4.2.2 Indicateur de sélection Definition 13 (Indicateur de sélection). Un indicateur de sélection spécifie si une cellule donnée de la grille peut être utilisée pour participer à une permutation. On dira d’une cellule qu’elle est sélectionnable si l’indicateur de sélection qui lui est associé est positionné à vrai. L’indicateur de sélection est positionné à « vrai » pour toutes les cellules qui appartiennent aux partitions affectées à chaque PbE. Une permutation n’est possible qu’entre cellules sélectionnables (cf. algorithme 15, lignes 8-11) sauf lorsque le candidat (cellule à l’origine des permutations) est imposé au PbE par le PbM. Dans ce cas, la cellule d’origine liée à la permutation peut correspondre à un candidat provenant des autres partitions. Nous verrons, dans l’étude de certains protocoles (no 1 et 4), que cet indicateur de sélection est également utilisé pour limiter la recherche des meilleurs candidats sur chaque PbE aux partitions qui leurs sont associées. Cela correspond à la propriété « étendue de recherche des meilleurs candidats » que nous venons de décrire (cf. paragraphe 9.4.1).168 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH FIGURE 9.6 – Comparaison du fonctionnement général de chaque protocole distribué pour une itération. Avec : (DC) Demande Candidats ; (RC) Recherche Candidats ; (SC) Synchronisation Candidats ; (DP) Demande Permutations ; (RP) Recherche Permutations ; (SP) Synchronisation Permutations ; (AP) Application Permutations. Le bleu représente un travail à l’échelle d’une partition et le jaune au niveau de la grille entière. Un ovale en pointillé englobe les tâches réalisées par les esclaves, le reste étant pris en charge par le processus maître. Les doubles traits pointillés indiquent un échange via le réseau. Protocole 1 Protocole 2 Protocole 3 Protocole 4 9.4.3 Protocoles distribués Les quatre protocoles distribués que nous proposons (voir figure 9.6) exploitent différemment le découpage de la grille pour identifier à chaque itération les meilleurs candidats puis les meilleures permutations gagnantes qui leur sont associées. Ces approches différentes sont synthétisées dans la table 9.1 qui reprend pour chaque protocole ses principales caractéristiques. En nous appuyant sur ces caractéristiques, nous expliquons maintenant le fonctionnement détaillé de chaque protocole, sachant que la grille globale est toujours découpée en partitions de même taille, le nombre de partitions étant un paramètre de l’application. Soulignons dès à présent que nos expérimentations (voir le chapitre 11) sont essentiellement basées sur le protocole no 1 et le protocole no 4. 9.4.3.1 Protocole no 1 Dans ce protocole, chaque PbE est définitivement associé à une partition différente de la grille. À chaque itération, il est nécessaire avec ce protocole de réaliser deux échanges entre le PbM et les PbE. Dans un premier temps, le PbM demande aux PbE d’identifier leurs meilleurs candidats. Chaque PbE recherche alors ses meilleurs candidats parmi les variables qui lui sont attribuées pour la configuration globale partagée (concerne uniquement les cellules de CbG avec un indicateur de sélection à vrai). Grâce aux informations collectées sur chaque PbE, le PbM peut constituer une liste globale des meilleurs candidats.9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 169 FIGURE 9.7 – Mode distribué : traitements réalisés à chaque itération avec le protocole no 1. Cette partie vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations » (cf. figure 9.4). Dans un deuxième temps, le PbM demande aux PbE d’identifier leurs meilleures permutations à partir de la liste globale des meilleurs candidats qu’il leur transmet. Chaque PbE recherche alors les meilleures permutations possibles en considérant la liste des meilleurs candidats qui lui est imposée avec les cellules qui lui sont attribuées. Le PbM collecte les meilleures permutations provenant de chaque PbE et reconstitue une liste globale des meilleures permutations. Pour reconstituer la liste globale des meilleures permutations, le PbM ajoute à cette liste les meilleures permutations provenant de chaque PbE pour ne conserver que les meilleures (i.e. celles qui apportent le meilleur gain) dans la limite d’une taille maximum définie par un paramètre. Il applique alors ces permutations sur la CbG (comme on le ferait avec la version séquentielle). Il poursuit en demandant à nouveau les meilleurs candidats aux PbE, tout en profitant de cet échange (i.e. message) pour transmettre les permutations qu’il a effectivement réalisé afin que chaque PbE puisse synchroniser170 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH localement sa CbG. Par rapport à l’algorithme séquentiel, le fonctionnement diffère dans la mesure où une liste de candidats bannis doit être gérée localement sur chaque PbE, la recherche des candidats bannis étant de leur ressort. Dans ces conditions, les dimensions dynamiques de la liste des candidats bannis sont calculées par rapport au nombre de variables libres attribuées à chaque PbE. De plus, pour identifier les mauvais candidats qui doivent être insérés dans ces listes locales, il est nécessaire de croiser les informations du PbM et des PbE à chaque itération. Pour ce faire, après avoir identifié localement ses meilleures permutations, chaque PbE transmet au PbM le meilleur gain trouvé par candidat imposé. Ces informations sont agrégées par le PbM qui détermine pour chaque candidat le meilleur gain obtenu. Il retourne ensuite aux PbE la liste globale agrégée des candidats incapables de générer un gain. Charge ensuite à chaque PbE de mémoriser dans sa liste locale des candidats bannis les mauvais candidats reçus qui font partie des cellules dont il a la charge. Les principes mis en œuvre avec ce protocole sont simples mais ce dernier laisse néanmoins apparaître de nombreuses faiblesses : • chaque itération nécessite une communication en 2 phases entre le PbM et les PbE pour identifier les meilleurs candidats puis les meilleures permutations ; • si on travaille avec un nombre réduit de meilleurs candidats et que les candidats considérés n’apportent pas de gain, deux échanges (communications) sont réalisés entre le PbM et les PbE sans amé- liorer la CbG ; • à l’inverse, si on travaille avec beaucoup de candidats, on augmente le nombre de permutations à évaluer séquentiellement sur chaque PbE, ce qui pénalise fortement les temps de calcul ; • comme on recherche les meilleures permutations à partir des mêmes candidats sur chaque PbE, l’origine des permutations remontées au PbM est réduite aux mêmes candidats, ce qui limite la diversité spatiale des permutations et l’efficacité du mode multi-permutations. Pour contourner certaines de ces difficultés, une solution consiste à aménager le mode multi-candidats pour stopper le processus de recherche des meilleures permutations sur chaque PbE dès que le processus a rencontré « x » candidats offrant un gain (« x » étant un paramètre de l’application). Mais dans ce cas, l’identification des candidats bannis devient un peu plus complexe et on s’éloigne un peu plus du fonctionnement séquentiel de l’algorithme. D’autre part, le temps de calcul pour les différents PbE risque alors de varier fortement, la synchronisation entre les différents PbE rendant le temps de chaque itération dépendante du PbE le plus long. Par exemple, imaginons pour une itération donnée que la liste globale des meilleurs candidats imposés soit composée des candidats {c1, c2, . . . , c10} et que le processus de recherche des meilleures permutations soit limité aux x = 2 premiers candidats offrant des gains. Si {c3, c5, c6, c8, c10} sont les seuls bons candidats de la liste globale pour un PbE, ce dernier devra évaluer les permutations uniquement pour {c1, c2, c3, c4, c5} ; c3 et c5 lui permettant d’honorer l’obligation de deux candidats avec gains. Dans le même esprit, une autre possibilité (celle-ci n’ayant pas été implémentée) consisterait à poursuivre l’évaluation des permutations à partir de la liste des candidats imposés jusqu’à ce qu’un nombre minimum de permutations bénéfiques soit atteint. 9.4.3.2 Protocoles no 2 et 3 Ces deux protocoles tentent d’améliorer le protocole no 1 en éliminant une phase de communication sur les deux obligatoires sans toutefois augmenter le nombre de PbE nécessaires. Ils fonctionnent en une seule phase avec un nombre de partitions (lié au découpage de la grille) égal au nombre de PbE, chaque PbE étant définitivement associé à une partie différente de la grille. Pour pouvoir fonctionner dans ces conditions, ces protocoles abandonnent l’idée d’une recherche parallèle et fractionnée des meilleurs candidats et font le choix d’identifier à chaque itération les meilleurs candidats de façon globale et séquentielle (par un processus) sur la totalité de la grille. Spécificités du protocole no 2 : meilleurs candidats identifiés par le processus maître9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 171 FIGURE 9.8 – Mode distribué : traitements réalisés à chaque itération avec le protocole no 2. Cette partie vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations » (cf. figure 9.4). Pour ce deuxième protocole, l’identification des meilleurs candidats est totalement prise en charge par le PbM, la liste étant ensuite transmise à tous les PbE en transitant par le message de demande des meilleures permutations. En retour, chaque PbE retourne sa liste des meilleures permutations avec le score des candidats effectivement évalués. Bien que les candidats bannis soient identifiés par le PbM, il est utile pour un PbE de connaître les candidats bannis correspondant aux cellules de sa partition pour ne pas avoir à évaluer des permutations y faisant référence. Compte tenu de cette remarque, on doit synchroniser la liste locale des candidats bannis sur chaque PbE. Spécificités du protocole no 3 : meilleurs candidats identifiés par chaque processus esclave Pour ce troisième protocole, la charge d’identifier les meilleurs candidats sur la grille complète revient à chaque PbE. À partir de cette liste générée à l’identique par chaque PbE, les PbE recherchent les meilleures permutations gagnantes générées entre chaque candidat et les cellules sous leur responsabilité. Comme les meilleurs candidats sont recherchés par chaque PbE sur l’ensemble de la grille, une liste des candidats bannis172 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH FIGURE 9.9 – Mode distribué : traitements réalisés à chaque itération avec le protocole no 3. Cette partie vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations » (cf. figure 9.4). relative à la totalité de la grille doit être synchronisée sur chaque PbE et collaborant avec le PbM. Ces deux protocoles éliminent une phase de communication (avec synchronisation) par rapport au protocole no 1 tout en exploitant le même nombre de PbE. En contrepartie, l’évaluation séquentielle requise pour identifier la liste globale des meilleurs candidats peut être pénalisante. D’autre part, même si le nombre de phases a été réduit, la quantité d’informations devant transiter entre le PbM et les PbE reste quasiment la même (avec moins de messages, mais plus d’informations dans chaque message), les PbE devant faire appel au PbM pour synchroniser leur liste locale des candidats bannis. Finalement, les difficultés principales du protocole no 1 relatives à la diversité spatiale des permutations et à la perte de temps occasionnée si aucun candidat prometteur ne produit une permutation gagnante restent présentes. 9.4.3.3 Protocole no 4 Avec ce protocole, une seule phase (échange réseau synchronisé) est nécessaire à chaque itération entre le PbM et les PbE. Néanmoins, pour le même nombre de partitions, il faut prévoir beaucoup plus de PbE, avec |PbE| = |partition| ∗ (|partition| + 1)/2. Par exemple, pour un grille globale découpée en quatre parties de même taille, il faut prévoir dix PbE, chaque processus esclave étant définitivement associé à une ou deux parties de la grille (voir table 9.2).9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 173 FIGURE 9.10 – Mode distribué : traitements réalisés à chaque itération avec le protocole no 4. Cette partie vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations » (cf. figure 9.4). À chaque itération, chaque PbE recherche les meilleures permutations possibles uniquement entre les parties qui lui sont assignées. Par exemple, le PbE n o 1 de la table 9.2 examine les permutations des cellules localisées dans la zone ① avec les autres cellules de la zone ①. Le PbE n o 5 examine les permutations des cellules de la zone ① avec les cellules de la zone ②, etc. Cette façon de procéder permet de couvrir localement l’ensemble des permutations possibles sur la grille globale. La recherche des meilleures permutations est bien entendu soumise à une liste des meilleurs candidats établie préalablement. Lors d’une itération, chaque PbE commence par constituer en fonction des parties qui lui sont confiées sa propre liste locale des meilleurs candidats. Pour un PbE affecté à une seule partie, il recherche ses meilleurs candidats uniquement sur cette partie. Pour un PbE affecté à deux parties, il recherche ses meilleurs candidats sur les deux parties (suivant l’indicateur de sélection décrit en section 9.4.2.2). Pour chaque PbE, nous disposons d’une liste locale des candidats bannis dont la taille dynamique dépend du nombre de cellules libres associées au PbE. Chaque candidat, de la liste locale des meilleurs candidats, incapable de fournir le moindre bénéfice est directement ajouté à la liste locale des candidats bannis. Les PbE sont synchronisés avec le PbM qui collecte les meilleures permutations et décide de celles qui devront être appliquées. Une fois cette opération réalisée, le PbM demande à nouveau les meilleures per-174 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH TABLE 9.2 – Protocole no 4 : exemple de décomposition de la carte d’une ville en quatre parties de taille uniforme (à gauche) et distribution de ces parties sur dix processus esclaves (à droite). ① ② ③ ④ Esclave 1 2 3 4 5 6 7 8 9 10 Partie ① ② ③ ④ ① ;② ① ;③ ① ;④ ② ;③ ② ;④ ③ ;④ mutations aux PbE en profitant de cet échange (message) pour transmettre à chaque PbE les permutations qu’il a effectivement réalisé sur la CbG. Une fois synchronisés, les PbE peuvent rechercher les nouvelles permutations en parallèle pour la même CbG. Précisons tout de même que lorsqu’un PbE ne trouve aucune permutation favorable à partir de sa liste locale des meilleurs candidats, il ne se synchronise pas immédiatement avec le PbM. Dans ce cas, au lieu de rendre une réponse sans permutation au PbM, il relance automatiquement le processus local de recherche de ses meilleurs candidats avant de rechercher les meilleures permutations correspondantes limitées à ses zones de responsabilité. Le PbE poursuit cette succession de recherches jusqu’à ce que l’un des critères suivants soit atteint : 1. il trouve des permutations favorables ; 2. il ne trouve plus de candidats (sa liste de candidats bannis est pleine et elle ne peut plus être agrandie) ; 3. son PbM le force à synchroniser sa CbG. Concernant le critère no 3 évoqué ci-dessus, le PbM peut en effet reprendre la main au bout d’un certain temps d’attente : lorsque certains PbE ne fournissent pas de réponse au bout d’un délai (timeout), le PbM abandonne la communication en cours avec les PbE qui n’ont pas été en mesure de répondre dans les délais à sa requête (pour fournir leur liste des meilleures permutations locales). Le PbM poursuit son travail avec les résultats partiels obtenus (application des meilleures permutations) et réinterroge l’ensemble des PbE. C’est à ce moment là que les PbE n’ayant pas encore répondus sont obligés de synchroniser leur CbG en abandonnant leur recherche en cours. Un mécanisme spéciale est mis en œuvre pour écarter les messages obsolètes qui ont pu être émis par les PbE retardataires entre le moment où le PbM a abandonné son attente et le moment où les PbE ont été sommés de se synchroniser. Pour écarter ces messages obsolètes qui peuvent arriver lors des synchronisations ultérieures, un numéro d’itération est intégré dans tous les messages (doit être identique entre une demande et les réponses correspondantes) et les réponses associées à un numéro d’itération inférieur au numéro d’itération courant sont systématiquement ignorées par le PbM. Concernant le délai d’attente (timeout) exploité par le PbM, il est difficile de le fixer de façon statique compte tenu du contexte matériel, de la performance des réseaux en place ou encore de l’avancement dans le processus de résolution. Nous avons donc fait le choix de le calculer de façon dynamique à chaque itération. Pour le calculer, le PbM doit attendre la première réponse valide du PbE le plus rapide. Il peut alors définir le timeout lié à l’itération en fonction du temps mis par le PbE le plus rapide, ce temps étant multiplié par un coefficient paramétrable. 9.5 Conclusion Ce chapitre dresse un inventaire des techniques principales que nous proposons pour générer une pré- programmation urbaine à partir du modèle de contrainte défini pour notre problème d’aménagement urbain. Dans un premier temps, cet inventaire décrit les méthodes mises au point pour générer des configurations initiales ainsi que notre algorithme de recherche locale basé sur Adaptive Search. Après avoir identifié différentes optimisations qui permettent d’améliorer les performances de cette métaheuristique, nous introduisons les modes multi-candidats et multi-permutations qui viennent enrichir les possibilités déjà disponibles. Dans un contexte séquentiel, l’exploitation de plusieurs candidats renforce la recherche d’une meilleure permutation à chaque itération mais au prix d’un effort de calcul supplémentaire puisqu’il faut9.5. CONCLUSION 175 évaluer les permutations de chaque candidat. D’un autre côté, le mode multi-permutations profite d’une exploration du voisinage de toute façon nécessaire pour mémoriser les meilleures permutations qui pourront être appliquées en série sans nécessiter d’efforts significatifs de calcul. Ces deux modes peuvent être activés séparément ou fonctionner simultanément. Lorsqu’ils collaborent, le mode multi-candidats peut apporter de la diversité dans les meilleures permutations retenues. Provenant de secteurs géographiques différents, les permutations sélectionnées ont alors plus de chance de ne pas interférer les unes avec les autres, augmentant ainsi le nombre de permutations restant valides pour une application consécutive (i.e. en mode multi-permutations, les permutations retenues lors d’une même itération sont appliquées en cascade). Pour faire face à des instances de grande taille tout en contenant les temps de résolution, nous optons pour une version distribuée de notre algorithme basée sur une décomposition de variables et pouvant être déployée à grande échelle sur une grille de calcul. Cette version permet alors d’exploiter toute la puissance des modes multi-candidats et multi-permutations sans nécessiter des temps de calcul supplémentaires, différentes portions de la grille étant confiées à des processus œuvrant en parallèle pour identifier à chaque itération les meilleures permutations d’une configuration globale synchronisée. Pour ce mode distribué, nous avons exploré quatre protocoles pouvant être mis en œuvre, le quatrième étant celui qui offre le plus d’autonomie aux processus esclaves qui s’affranchissent dans certaines circonstances des ordres donnés par un processus maître qui sait mieux déléguer ses tâches tout en orchestrant un fonctionnement global de l’algorithme cohérent et efficace.10 Mode interactif La seconde étape de notre processus de résolution est interactive. Le but est de permettre aux utilisateurs de garder le contrôle sur la solution à travers des manipulations interactives sur la ville. Dans le sens d’intégrer intelligemment les interactions des utilisateurs, l’idée consiste à maintenir actif le processus de résolution pendant que l’utilisateur effectue des modifications sur la solution. Lorsque l’on évoque une possible interaction, on sous-entend généralement l’engagement d’au moins deux acteurs (ou composants) impliqués dans une communication pour participer à une activité partagée. D’ailleurs, le dictionnaire LAROUSSE donne au mot interaction la définition suivante : « Action réciproque qu’exercent l’un sur l’autre deux ou plusieurs systèmes physiques ». Dans notre cas, on comprend aisément l’interaction qui se joue entre les utilisateurs du système et l’interface graphique. Mais de notre point de vue, l’interaction ne s’arrête pas là et elle intègre également le solveur qui doit, à tout moment, réagir aux actions des utilisateurs [149, 171, 254, 255]. Dans ce chapitre, nous revenons sur les grands principes qui ont guidé nos choix pour mettre au point ce mode interactif et nous présentons les différents composants impliqués dans l’interaction. Parmi les parties prenantes, le système qui gère les communications entre les acteurs est considéré comme un élément à part entière contribuant pour une large part à la réussite du processus global. En contexte interactif, le support de multiples scénarios en lien avec un projet est essentiel du point de vue de l’utilisateur, chaque scénario lui permettant de représenter une solution possible avec ses avantages et inconvénients [249]. Nous commençons donc par présenter nos travaux dans ce domaine. Nous expliquons ensuite le fonctionnement général de notre système en commençant par détailler les différents paramétrages qui ont un effet indirect sur son comportement interactif. Nous décrivons ensuite les manipulations directes qui peuvent être opérées sur la grille en relevant les principales difficultés techniques qu’elles soulèvent. Enfin, un paragraphe entier est dédié aux composants graphiques mis au point pour informer à la volée les utilisateurs des conséquences de leurs choix. Ce qui nous importe dans ce chapitre, ce sont les fonctionnalités interactives ; l’aspect esthétique de l’IHM n’étant ici qu’un aspect secondaire. Pour une question de simplification, nous proposons une version 2D de l’IHM qui peut très facilement être transposée en 3D compte tenu de la stratégie qui a guidé nos choix. 10.1 Principes retenus Pour que l’application soit réactive en toutes circonstances, les traitements gourmands (i.e. avec des temps de calcul supérieurs à la seconde) exécutés à la demande du dispositif tactile doivent être lancés en mode 177178 CHAPITRE 10. MODE INTERACTIF asynchrone dès que c’est possible : ceci permet aux utilisateurs de poursuivre leurs manipulations sans attendre le résultat des calculs. En contrepartie, une technique (à base de synchronisation1 ) doit être proposée pour intégrer avec un temps de décalage le résultat des calculs asynchrones sans interférer avec les opérations courantes des utilisateurs. De plus, les dispositifs utilisés pouvant être multi-utilisateurs (e.g. grandes tables tactiles multi-touch), il est important que le système proposé puisse supporter le travail concurrent de plusieurs utilisateurs sur des portions différentes d’une même ville. D’autre part, les contraintes techniques ou bien les préoccupations n’étant pas les mêmes entre le dé- veloppement d’une IHM et le développement d’un solveur, une exécution autonome et parallèle dans des processus distincts est souhaitée. De cette manière, l’IHM peut être développée dans un langage de programmation ou/et avec des outils différents de ceux retenus pour implémenter le solveur. Finalement, l’IHM et le solveur doivent pouvoir fonctionner de part et d’autre sur des machines distantes, sans que la communication entre les deux processus ne nécessite un couplage fort. Par exemple, on peut imaginer que la partie IHM s’exécute sur l’ordinateur associé physiquement au dispositif tactile tandis que le solveur est déployé sur une grille de calcul répartie sur plusieurs sites [243]. 10.2 Présentation des composants impliqués dans l’interaction Compte tenu des principes annoncés, nous proposons d’organiser l’interaction entre trois composants majeurs (cf. figure 10.1) pour permettre à notre système d’être efficace (i.e. réactif aux demandes des utilisateurs) : • un gestionnaire de messages (asynchrone) ; • une application liée au dispositif tactile ; • un solveur interactif. 10.2.1 Gestionnaire de messages Notre gestionnaire de messages (GDM) se charge de router les messages d’un processus émetteur à un processus récepteur de façon asynchrone. Il peut être installé sur la machine qui héberge les processus qui vont l’utiliser (émetteur et récepteur) ou bien sur une machine distante. Il n’y a aucune communication directe entre l’émetteur et le récepteur : toutes les communications transitent par le GDM. En mode asynchrone, l’émetteur confie son message au GDM et passe immédiatement à ses autres occupations. En complément du GDM, un gestionnaire d’événements doit être activé sur chaque processus connecté au GDM pour qu’il soit alerté dès qu’un message (lui étant destiné) est disponible. Files de messages Une file de messages conserve les messages qui lui sont confiés tant qu’ils ne sont pas explicitement récupérés par le destinataire. Les messages sont mis en file les uns à la suite des autres sachant que les premiers entrés dans la file sont les premiers sortis. Un nom peut être donné à une file et plusieurs files peuvent cohabiter en même temps. On peut choisir la file à utiliser en fonction de son nom. Connecteurs d’entrée et de sortie Un connecteur d’entrée et un connecteur de sortie sont installés sur chaque processus voulant travailler avec le GDM. Le connecteur d’entrée peut être vu comme un thread2 spécialisé capable de détecter à tout moment l’arrivée d’un message sur une file particulière. Dans ce cas, il peut récupérer le message et lancer un traitement particulier. Ensuite, soit il passe au message suivant présent dans la file, soit il se met en attente d’un prochain message à venir. 1Dans le sens d’une protection des données partagées entre différents processus légers. 2Processus léger qui partage sa mémoire virtuelle et qui est capable d’interagir directement avec le processus principal ou avec d’autres threads associés au processus principal.10.2. PRÉSENTATION DES COMPOSANTS IMPLIQUÉS DANS L’INTERACTION 179 FIGURE 10.1 – Routage des messages et interception des événements entre le dispositif tactile et le solveur interactif. Le gestionnaire de messages prend en charge le transfert des informations sur le réseau et permet un couplage faible entre les deux processus. Deux connecteurs repérés par les lettres « E » et « S » permettent à chaque processus (émetteur/récepteur) d’intercepter les messages qui lui sont destinés ou d’injecter de nouveaux messages vers un processus destinataire dans une file donnée. Le solveur interactif incorpore les fonctionnalités du solveur de base mis au point pour la résolution initiale et lui apporte les fonctionnalités nécessaires pour gérer l’interaction. Le connecteur de sortie permet de créer un nouveau message et de l’injecter dans le GDM sur une file donnée. Les connecteurs d’entrée et de sortie peuvent œuvrer simultanément (en parallèle). Dans ce cas, les traitements associés doivent être prévus pour protéger les données partagées susceptibles d’être modifiées et exploitées par les traitements exécutés en entrée ou en sortie (protection nécessaire via un dispositif de synchronisation). 10.2.2 Dispositif tactile Le processus interactif doit permettre à un ou plusieurs utilisateurs de modifier l’organisation de la ville en changeant l’emplacement des formes urbaines affectées aux cellules de la grille. On veut conserver un fonctionnement par permutation au niveau de chaque action utilisateur : si l’utilisateur prend une forme urbaine pour la positionner sur une autre cellule, il faudra donc procéder par échange des formes urbaines entre ces deux cellules. Ces permutations imposées par l’opérateur sont alors transmises au solveur interactif pour qu’il prenne en compte ces changements et qu’il calcule une nouvelle solution optimisée. Après cette étape d’optimisation, le dispositif tactile doit être en mesure de récupérer les permutations automatiques opérées par le solveur pour les reporter sur l’IHM. Dans ce contexte, il faut donc distinguer deux origines possibles pour une permutation : • soit il s’agit d’une permutation manuelle imposée par l’utilisateur ; • soit il s’agit d’une permutation automatique issue du processus de résolution pour optimiser la solution courante. Les permutations manuelles sont issues de l’IHM tandis que les permutations automatiques sont géné-180 CHAPITRE 10. MODE INTERACTIF rées par le solveur interactif. Pendant que le solveur interactif intègre les permutations manuelles et recalcule une nouvelle solution proche de la précédente, il faut néanmoins permettre aux utilisateurs de poursuivre leurs actions sans attendre les résultats des résolutions demandées. 10.2.2.1 Déplacement des formes urbaines Du point de vue de l’utilisateur, nous représentons le déplacement des formes urbaines comme un « drag & drop » qui lui permet de : • sélectionner une ou plusieurs formes urbaines associées à des cellules d’origine ; • déplacer le groupe des formes urbaines sélectionnées en faisant apparaître visuellement le groupe et la trajectoire empruntée ; • lâcher le groupe des formes urbaines sur les emplacements de destination. Bien qu’il s’agisse d’un procédé classique dans l’utilisation et la perception, sa mise en œuvre relève d’une implémentation particulière qui doit tenir compte de la contrainte de correspondance d’intensité ou des cellules figées (routes, rivières, . . . ) qui ne doivent pas être modifiées et qui pourront être enjambées au cours du déplacement. On doit également représenter la trajectoire empruntée en indiquant à l’utilisateur si les cellules situées au dessous du groupe en mouvement sont compatibles pour accepter les formes urbaines sélectionnées. 10.2.2.2 Réception et émission de messages Les actions déterminantes des utilisateurs sont interceptées localement par l’IHM, un message correspondant est généré et confié au GDM à destination du solveur interactif. Chaque message en provenance du GDM et destiné au dispositif tactile est intercepté, interprété et une action adaptée est exécutée localement. C’est toujours le dispositif tactile qui prend le premier l’initiative d’envoyer un message au solveur interactif, ce dernier se mettant au service de l’utilisateur pour exécuter les actions qui lui sont demandées et émettre un message en réponse à la demande lorsque l’action a été réalisée. 10.2.2.3 Liste des Permutations Imposées (LPI) Lorsque l’opérateur réalise un déplacement de formes urbaines par drag & drop, le système génère un nombre de permutations correspondant au nombre de formes urbaines impliquées dans le déplacement. Ces permutations forment alors une liste de permutations imposées (LPI) qui est incorporée dans le message à destination du solveur interactif. 10.2.3 Solveur interactif Nous voulions utiliser un même solveur que cela soit dans le cadre d’une résolution initiale ou dans le cadre de l’interaction avec les utilisateurs. Pour que cela soit possible, nous encapsulons (enveloppons) le solveur de base (i.e. celui mis au point pour la résolution initiale) afin de le doter de fonctionnalités complémentaires nécessaires à l’interaction, sans pour autant modifier le solveur de base. Le solveur interactif est connecté au dispositif tactile par l’intermédiaire du GDM. Il doit être lancé avant les premières interactions et il se termine automatiquement lorsque l’utilisateur ferme l’IHM. Le solveur interactif charge et mémorise la solution courante dès le lancement de l’application. Il se synchronise (dans le sens d’actualiser) alors avec le dispositif tactile en lui transmettant sa solution courante. Ensuite, à chaque fois qu’une action utilisateur est interceptée par l’IHM, un message est transmis au solveur interactif pour qu’il reporte les opérations manuelles issues de l’IHM sur sa solution courante. Il demande alors au solveur de base (celui qu’il encapsule) d’exécuter une résolution initiale basée sur cette solution courante. Le résultat de la résolution calculé par le solveur de base devient alors la solution courante du solveur interactif. Cette nouvelle solution est alors communiquée au dispositif tactile pour une nouvelle actualisation des données liées à l’IHM.10.3. GESTION DES SCÉNARIOS 181 Au niveau de notre modélisation, nous consentons quelques compléments sur le modèle (lié au problème d’aménagement urbain) pour mémoriser les choix des utilisateurs en terme de placement des formes urbaines. 10.2.3.1 Modèle : mémorisation des cellules verrouillées par les utilisateurs En complément des propriétés déjà présentes dans notre modèle (voir chapitre 8), nous proposons d’y intégrer un indicateur (prenant la valeur vrai ou faux) associé à chaque cellule pour indiquer si la forme urbaine affectée à la cellule est verrouillée (i.e. imposée) par l’utilisateur. Tant qu’une forme urbaine est verrouillée à une cellule, le solveur ne peut pas la déplacer de lui même pour optimiser la solution courante. 10.2.3.2 Réception et émission de messages Un gestionnaire d’événements écoute en permanence les messages en provenance du GDM et destinés au solveur interactif. Dès qu’un message est disponible, il est récupéré, interprété et une action adaptée est exécutée. L’action entreprise par le solveur doit être terminée avant qu’un autre message puisse être « consommé » dans la file des messages entrants. En effet, nous souhaitons réutiliser telles quelles les fonctionnalités du solveur de base sans devoir synchroniser (dans le sens de protéger les informations partagées entre les processus légers) ses traitements/données internes. D’autre part, nous avons fait le choix d’empiler les actions des utilisateurs pour les traiter séquentiellement. Cette façon de procéder permet de gérer de façon transparente les actions provenant de plusieurs utilisateurs travaillant simultanément sur des parties différentes d’une même ville. En réponse à l’action entreprise, le solveur peut émettre à son tour un message destiné au dispositif tactile qu’il confie au GDM. Si les utilisateurs sont très actifs ou/et que les opérations qu’ils demandent au solveur sont gourmandes en temps, les messages en provenance du dispositif tactile vont pouvoir s’empiler dans le GDM et seront traités un à un dès que le solveur sera à nouveau disponible. 10.2.3.3 Liste des permutations imposées (LPI) Certains messages contiennent des permutations imposées par une action de déplacement (ou plusieurs actions regroupées, ceci étant dû au mode de fonctionnement autonome, cf. section 10.4.3) réalisée par un utilisateur. Dans ce cas, chaque permutation imposée par l’utilisateur est appliquée sur la solution courante en échangeant les formes urbaines des cellules concernées. Pour chaque permutation de la liste prise une à une et dans l’ordre d’arrivée, la cellule d’origine est marquée « déverrouillée » alors que la cellule de destination est marquée « verrouillée ». 10.2.3.4 Résolution locale En réponse à certaines actions d’un utilisateur, une résolution peut être lancée pour tenter d’améliorer la solution courante tout en conservant les choix antérieurs réalisés par les opérateurs. Pour chaque action associée à un déplacement de formes urbaines, les permutations imposées par l’utilisateur permettent d’établir un périmètre autour des cellules d’origine et de destination, la taille de ce périmètre étant paramétrable. Avant la résolution, toutes les cellules de la grille sont rendues non sélectionnables sauf celles comprises dans le périmètre identifié. Ensuite, une résolution est demandée et le résultat (formes urbaines qui occupent les cellules) est intégré dans un message à destination du dispositif tactile. 10.3 Gestion des scénarios Compte tenu du caractère stochastique lié à la procédure de résolution initiale, il est possible de lancer plusieurs fois la procédure à partir des mêmes critères (paramètres, territoire, formes urbaines à répartir182 CHAPITRE 10. MODE INTERACTIF FIGURE 10.2 – Chargement d’un scénario mémorisé préalablement. Dans un premier temps, l’utilisateur indique la ville de référence. Ensuite, il a la possibilité de charger un scénario de travail particulier relatif à cette ville. MLV avant chargement scénario MLV après chargement scénario sur la ville, etc.) pour obtenir des solutions différentes, chaque solution étant mémorisée dans une structure XML3 autonome. À partir de ces différentes solutions, les experts peuvent en sélectionner une qu’ils vont retravailler en opérant diverses modifications. Il faut pouvoir conserver le travail réalisé pour revenir dessus par la suite afin de le compléter, pour le partager avec d’autres personnes ou tout simplement pour en garder une trace. On peut également prévoir différentes versions de travail à partir de la même solution de départ pour représenter différents scénarios possibles. Nous permettons de sauvegarder chaque scénario (au format XML) indépendamment de la solution de départ (cf. listing 10.1). Pour cela, nous mémorisons pour chaque cellule libre (GridCell) représentée par son numéro de ligne et de colonne : • l’indicateur de verrouillage (CellLocked) • la forme urbaine affectée (CellUrbanForm) L’utilisateur pouvant personnaliser le poids de chaque contrainte pendant l’interaction, ces éléments (CompWeight) doivent également être intégrés à la structure XML. 10.4 Paramétrage du comportement interactif Le comportement des interactions entre le dispositif tactile et le solveur peut être modifié selon différents paramètres que l’utilisateur peut changer à tout moment. Certains paramètres agissent sur les prochaines saisies tandis que d’autres modifient le comportement du solveur. L’étude de ces différents paramètres permet de dresser un premier inventaire des fonctionnalités interactives mises à la disposition des opérateurs. 10.4.1 Comportement de saisie On propose aux utilisateurs quatre paramètres qui permettent de modifier le comportement de saisie sur l’IHM : 3Extensible Markup Language.10.4. PARAMÉTRAGE DU COMPORTEMENT INTERACTIF 183 Listing 10.1 – Exemple de scenario mémorisé au format XML 1 2 < S i m u l a t i o n > 3 < F i l e Name=" / home / b r u n o / Documents / . . . / c o n t r i b −i n t e r a c t i o n / s c e n a r i o −mlv−v14 . xml " / > 4 < G r i d C e l l s > 5 < G r i d C e l l CellRow=" 0 " C ell C ol =" 0 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / > 6 < G r i d C e l l CellRow=" 0 " C ell C ol =" 1 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / > 7 < G r i d C e l l CellRow=" 0 " C ell C ol =" 2 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / > 8 . . . 9 < G r i d C e l l CellRow=" 101 " C ell C ol =" 256 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / > 10 < G r i d C e l l CellRow=" 101 " C ell C ol =" 257 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / > 11 < G r i d C e l l CellRow=" 101 " C ell C ol =" 258 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / > 12 < / G r i d C e l l s > 13 14 15 16 . . . 17 18 19 < / CompWeights> 20 < / S i m u l a t i o n > FIGURE 10.3 – Paramétrage du comportement interactif. • changement continu ; • correspondance d’intensité obligatoire ; • type de sélection ; • taille du cercle d’influence.184 CHAPITRE 10. MODE INTERACTIF FIGURE 10.4 – Mode continu désactivé (à gauche) ou activé (à droite). 10.4.1.1 Changement continu Lorsque l’opérateur se saisit d’une forme urbaine affectée à une cellule4 pour la déposer à un autre emplacement, soit on considère que l’opération se fait en un seul mouvement, soit on réalise une série de mouvements tout au long du déplacement en considérant l’itinéraire emprunté pour aller de l’emplacement d’origine jusqu’à l’emplacement de destination (voir la figure 10.4). Un mouvement correspond à une permutation, la forme urbaine de la cellule d’origine étant échangée avec la forme urbaine de la cellule de destination. Si le mode continu est désactivé, une seule permutation est générée entre les cellules d’origine et de destination. Dans le cas contraire, le système tient compte de la trajectoire empruntée à partir de la cellule d’origine, et à chaque fois qu’on se déplace d’une cellule sur la trajectoire, une permutation est réalisée avec la cellule voisine. Après une série de permutations continues impliquant la forme urbaine prise à la source, celle-ci vient se loger sur la cellule de destination. Dans ce cas, toutes les formes urbaines rencontrées sur le parcours sont décalées d’une cellule vers l’emplacement d’origine. Si on considère par exemple la suite de formes urbaines suivante {A, B, C, D, E, F, G} pour aller de l’origine « A » à la destination « G », on obtient {G, B, C, D, E, F, A} hors mode continu alors qu’on obtient {B, C, D, E, F, G, A} si le mode continu est activé. 10.4.1.2 Correspondance d’intensité obligatoire Si le paramètre « même intensité » est activé (ce qui correspond à la valeur par défaut), l’opérateur est obligé de sélectionner une cellule de destination dont l’intensité correspond à la cellule d’origine pour réaliser un mouvement. Néanmoins, si on rencontre des intensités différentes sur la trajectoire qui séparent les deux cellules origine et destination, en mode continu, ces dernières ne sont pas impliquées dans les échanges. Par exemple, si le trajet implique les formes urbaines {A, B, C, D, E, F, G} pour aller de l’origine « A » à la destination « G » et que les cellules liées à « C », « D » et « E » ont toutes des intensités différentes de l’origine « A », on obtiendra la suite {B, F, C, D, E, G, A} 5 . Cette option n’a aucun effet sur la contrainte de correspondance des niveaux d’intensité du solveur qui reste toujours active pour réduire les mouvements possibles initiés par la résolution. 10.4.1.3 Type de sélection Le type de sélection peut correspondre à l’une des options suivantes : • sélection simple : une seule cellule peut être sélectionnée ; • sélection étendue : pour sélectionner plusieurs cellules contiguës ou non ; • sélection contiguë : pour sélectionner des cellules contiguës (en forme de rectangle). Lorsque plusieurs cellules sont impliquées dans un même mouvement de groupe (le groupe correspondant 4En réalité, l’opérateur peut sélectionner plusieurs formes urbaines en même temps et le comportement reste le même pour une ou plusieurs formes urbaines. 5La même remarque peut être faite pour des cellules fixes présentes sur le parcours10.4. PARAMÉTRAGE DU COMPORTEMENT INTERACTIF 185 FIGURE 10.5 – Déplacement d’un groupe de formes urbaines en une seule opération. Lorsque la correspondance d’intensité doit être respectée, il faut conserver une correspondance stricte entre les intensités des cellules d’origine et des cellules de destination, ces intensités étant repérées dans cet exemple par les chiffres 1, 2, 3, 4. aux cellules sélectionnées au même moment par l’utilisateur), elles représentent toutes les cellules d’origine. Le processus de déplacement devient alors plus compliqué mais les principes évoqués jusqu’à présent restent applicables, que le mode continu soit activé ou non. Dans ce cas, un mouvement est autorisé uniquement avec un ensemble de cellules de destination ayant une correspondance stricte en nombre de cellules impliquées, en organisation spatiale (liée aux cellules sélectionnées) et en intensité (si la correspondance entre intensités est demandée) (voir figure 10.5). 10.4.1.4 Taille du cercle d’influence Le cercle d’influence prend forme autour des cellules impliquées dans un déplacement et correspond à la fois à : • un indicateur visuel permettant à l’opérateur de repérer les zones de la grille qui seront impactées par un mouvement ; • une distance permettant au solveur de déterminer les zones de la grille à considérer autour des changements imposés par l’utilisateur pour exécuter une résolution locale limitée à ces zones. La taille du cercle peut être paramétrée par l’opérateur pour agrandir ou réduire les zones impactées par un déplacement (voir figure 10.6). Plus le cercle est important, plus les effets d’un déplacement seront pris en compte sur la réorganisation automatique d’une ville en contre partie d’un temps de résolution plus long. L’utilisateur doit donc trouver un juste compromis entre la réactivité du système et la portée des réparations automatiques réalisées par le solveur, en fonction de son contexte de travail (puissance du matériel, temps d’attente admissible, etc.). D’autre part, il peut changer la taille du cercle à tout moment. Par exemple, l’utilisateur peut décider de fixer une taille du cercle en adéquation avec l’importance des opérations qu’il réalise, cette importance pouvant être liée au type des formes qu’il déplace, au nombre de formes urbaines impliquées dans un déplacement ou à la distance du déplacement. 10.4.2 Administration distante du solveur Par l’intermédiaire de l’IHM, il est possible de : • désactiver le solveur de base ; • réactiver le solveur de base ; • demander une résolution globale sur le solveur. Par défaut, le solveur de base est actif. Lorsque l’opérateur demande sa désactivation, on conserve un échange des messages à la volée entre le dispositif tactile et le solveur interactif. Dans cette situation, le solveur interactif continue d’appliquer les permutations demandées par l’opérateur sur sa solution courante186 CHAPITRE 10. MODE INTERACTIF FIGURE 10.6 – Cercle d’influence permettant d’identifier la taille des zones impactées par un mouvement. Dans cet exemple, le cercle de gauche identifie la zone d’origine et le cercle de droite la zone de destination, les cellules appartenant à ces deux zones étant soumises à une résolution locale. En dehors des cercles, les formes urbaines restent en place. mais il ne demande plus aucune résolution locale, ce qui revient à une saisie manuelle coté IHM et à un report automatique des saisies sur la configuration courante du solveur interactif sans optimisation. La réactivation du solveur de base intervient sur les prochains mouvements sans être rétroactive. Compte tenu de ce fonctionnement, il peut être utile de demander une résolution globale après avoir fait une série de modifications en mode désactivé. La résolution globale considère toutes les cellules de la grille comme sélectionnables. Par contre, les cellules qui ont été verrouillées par l’utilisateur restent verrouillées. En associant ces différentes fonctionnalités, l’opérateur peut réaliser une série de modifications en maintenant une cohérence entre ses saisies et la configuration courante du solveur interactif, sans demander de résolution. Lorsque ses saisies sont terminées, il peut alors demander une résolution globale qui tiendra compte de tous les déplacements opérés et cherchera à réparer l’ensemble de la configuration courante sans remettre en cause les choix réalisés en bloc par l’opérateur. 10.4.3 Mode de fonctionnement autonome Cette option intitulée « empiler les permutations » permet de travailler en mode autonome sur le dispositif tactile en interrompant jusqu’à nouvel ordre les communications réseau avec le solveur. Au lieu de transmettre, au fur et à mesure des saisies, les permutations imposées au solveur ; le système mémorise ces permutations dans une liste locale d’attente. Lorsque l’opérateur demande à « désempiler les permutations », la liste locale d’attente est transmise en un seul bloc au solveur qui applique en séquence toutes les permutations imposées. On revient alors à un mode de fonctionnement normal. 10.4.4 Administration des composants graphiques de retour Il est possible de désactiver/réactiver la mise à jour temps réel des composants graphiques en charge de faire un retour visuel aux utilisateurs (cf. section 10.6). En effet, lorsque ces composants sont actifs, ils nécessitent des informations particulières en provenance du solveur après chaque résolution : • coûts par contrainte ; • coûts par cellule. La désactivation permet d’alléger temporairement les échanges réseau entre le dispositif tactile et le solveur.10.5. MANIPULATIONS DIRECTES SUR LA GRILLE 187 10.4.5 Réglage du poids de chaque contrainte Côté modèle, un poids est spécifié pour chaque contrainte (voir la section 8.3.1). Grâce à ce dispositif graphique permettant d’ajuster dynamiquement les poids, l’utilisateur peut revenir sur les valeurs par dé- faut pour modifier la priorité donnée à chaque contrainte en fonction de ses propres appréciations (voir figure 10.3). Après la modification des poids sur le dispositif tactile, il faut demander une « synchronisation » qui se charge de transmettre ces nouveaux paramètres au solveur et qui demande en retour les nouveaux coûts par contrainte et par cellule pour réactualiser les composants graphiques de retour visuel lorsqu’ils sont actifs. 10.4.6 Taille de chaque cellule Il s’agit de définir la taille graphique des cellules sur le dispositif tactile, chaque cellule correspondant toujours à un îlot urbain de 80x80 mètres. Cette fonctionnalité est très pratique pour représenter les villes importantes sur le dispositif tactile sans nécessiter trop de place à l’écran, ce qui permet à l’utilisateur de travailler à l’échelle graphique voulue, une petite taille étant propice à un déplacement groupé de plusieurs formes urbaines ou à des déplacements importants (en distance). FIGURE 10.7 – Paramétrage de la taille des cellules. Taille cellules = 30x30 Taille cellules = 14x14 10.5 Manipulations directes sur la grille 10.5.1 Déplacer une forme urbaine ou un ensemble de formes urbaines Pour éviter qu’une modification locale réalisée par l’utilisateur puisse impacter la ville entière (i.e. changer l’ensemble de la solution), la manipulation d’un ensemble de formes urbaines a été définie de manière à impacter localement la carte. À cette fin, la taille du cercle d’influence est tout d’abord précisée par l’utilisateur (voir la section 10.4.1.4) pour définir la région dans laquelle les calculs (i.e. optimisation) seront effectués autour des changements demandés par l’utilisateur. Les utilisateurs peuvent alors sélectionner une ou plusieurs formes urbaines qu’ils déplacent interactivement sur la carte. Deux modes d’interaction sont proposés : • soit le calcul est effectué uniquement lorsque l’utilisateur dépose les formes urbaines sélectionnées à un nouvel emplacement ; • soit le calcul est effectué en continu dès que l’utilisateur déplace les formes urbaines.188 CHAPITRE 10. MODE INTERACTIF Dans le premier cas, les permutations imposées sont identifiées au moment où l’utilisateur dépose les formes urbaines. On demande alors au solveur une optimisation locale. Cette situation correspond au graphique de gauche de la figure 10.4 et ne nécessite qu’une seule demande d’optimisation. Dans le second cas, à chaque mouvement (dans le sens d’un déplacement du pointeur sur la trajectoire), les permutations imposées sont définies et on demande une optimisation locale. Par rapport à la figure 10.4, ce cas est représenté par le graphique de droite et l’exemple nécessite six demandes successives d’optimisation, chaque demande correspondant à un mouvement sur l’itinéraire emprunté. Si on s’en tient aux traitements réalisés, le mode continu peut être ramené au premier cas : c’est comme si l’utilisateur avait demandé six drag & drop consécutifs en se déplaçant à chaque fois d’une seule cellule. 10.5.1.1 Construction de la LPI (Liste des Permutations Imposées) Si le déplacement ne concerne qu’une forme urbaine, la construction de la LPI est simple car elle ne contient qu’une seule permutation liée aux deux cellules d’origine et de destination. Une fois la permutation récupérée coté solveur, les deux cellules sont identifiées et on procède à l’échange des valeurs entre les deux cellules. Le problème est un peu plus complexe lorsque plusieurs formes urbaines sont impliquées dans un même déplacement. Dans ce cas, il faut projeter le déplacement sur les cellules de départ pour identifier une à une les cellules de destination. Par rapport à l’exemple à gauche de la figure 10.8, si l’utilisateur sélectionne les deux formes urbaines « 1 » et « 2 » du haut pour les déplacer vers le bas, on obtient les deux permutations suivantes : • la permutation « A » correspond à la cellule d’origine (1,2) avec la cellule de destination (4,5) ; • la permutation « B » correspond à la cellule d’origine (2,3) avec la cellule de destination (5,6). Quel que soit l’ordre d’insertion des permutations dans la LPI, le solveur sera en mesure de placer les bonnes formes urbaines sur les bonnes cellules. Néanmoins, si on considère l’exemple à droite sur la figure 10.8, la situation devient encore un peu plus difficile. Dans cet exemple, le déplacement concerne les deux cellules du haut positionnées en (1,2) et (2,3) mais l’utilisateur demande un décalage d’une seule cellule en descendant sur la diagonale. Nous avons toujours deux permutations à générer, mais dans le cas d’un chevauchement (intersection non vide) entre la zone d’origine et de destination, il faut tenir compte de la trajectoire pour déterminer l’ordre dans lequel les permutations imposées doivent être ajoutées à la LPI, pour qu’elles puissent être rejouées ensuite de façon cohérente sur le solveur. Si on considère les deux permutations suivantes : • la permutation « A » correspond à la cellule d’origine (1,2) avec la cellule de destination (2,3) ; • la permutation « B » correspond à la cellule d’origine (2,3) avec la cellule de destination (3,4). Il faut impérativement appliquer la permutation « B » avant la permutation « A » pour que la cohérence du déplacement soit maintenue. Lorsque le mode continu est sélectionné avec un déplacement groupé de plusieurs formes urbaines, ces situations sont habituelles puisque le système doit actualiser la LPI à chaque mouvement. 10.5.1.2 Prise en compte du cercle d’influence par le solveur Au lieu de transférer vers le solveur interactif les identifiants des cellules présentes dans les cercles d’in- fluence (représentés sur l’IHM), on transmet uniquement la dimension du cercle d’influence (le rayon) dans chaque message de type déplacement. C’est le solveur interactif qui se charge ensuite d’identifier les cellules appartenant aux cercles d’influence liés aux permutations imposées. Afin de simplifier les procédures, ces cellules correspondent à l’union des voisinages V d l,c de chaque cellule Vl,c impliquée dans une permutation imposée, avec d correspondant au rayon du cercle (voir figure 10.9). Ces notations proviennent de la section 8.3.1.3.10.5. MANIPULATIONS DIRECTES SUR LA GRILLE 189 FIGURE 10.8 – Création de la liste des permutations imposées en fonction du type de sélection et de déplacement des formes urbaines. Ici, l’ordre d’application des permutations est sans importance Lorsqu’il y a chevauchement entre la zone d’origine et de destination, il faut tenir compte de la trajectoire pour définir l’ordre d’application des permutations : échanger 2 ↔ 3 puis 1 ↔ 3 FIGURE 10.9 – Cercles d’influences interprétés sur le solveur interactif : lorsque l’utilisateur déplace (en groupe) les formes urbaines des cellules « 1 » et « 2 » sur les cellules « 3 » et « 4 » (en une seule opération), le solveur interactif identifie autour des cellules d’origine et de destination les cellules faisant partie des cercles d’influence. Pour cela, il utilise le voisinage V d l,c de chaque cellule Vl,c impliquée dans une permutation imposée, avec d correspondant au rayon du cercle. Ces cellules sont alors marquées « sélectionnables » pour participer à l’optimisation locale.190 CHAPITRE 10. MODE INTERACTIF 10.5.1.3 Cohabitation entre actualisation automatique de la grille et manipulations utilisateur Le système que nous proposons permet à l’opérateur de poursuivre ses manipulations sur l’interface graphique alors même que les résultats des optimisations demandées au solveur interactif : • ne sont pas encore connus ; • sont connus et éventuellement en cours de report sur l’IHM. Pour autoriser ce fonctionnement particulier, plusieurs règles ont été élaborées : • la solution courante présente sur le solveur interactif sert de référence : si il y a des différences entre la représentation de la solution courante sur l’IHM et celle du solveur interactif, c’est la solution présente sur le solveur interactif qui reste prioritaire ; • l’IHM ne demande jamais au solveur de positionner une forme urbaine particulière sur une cellule. Au lieu de cela, elle demande au solveur d’échanger les formes urbaines présentent sur deux cellules données ; • on s’autorise ponctuellement de légères différences entre les formes urbaines de la grille représentée sur l’IHM et la solution courante localisée sur le solveur ; • le solveur transmet au dispositif tactile le résultat de ses optimisations en indiquant la forme urbaine associée à chaque cellule. 10.5.2 Verrouiller ou déverrouiller des cellules à la demande À tout moment, l’utilisateur peut sélectionner un ensemble de cellules pour les verrouiller (sans avoir à réaliser de déplacement). Il peut également sélectionner un ensemble de cellules pour les déverrouiller. 10.6 Retours visuels Les retours visuels sont prévus pour permettre aux utilisateurs d’évaluer les impacts de leurs décisions. Ces graphiques sont actualisés à la volée dès que des changements sont opérés sur la solution courante du solveur interactif. 10.6.1 Carte de chaleur La carte de chaleur présente les régions sur la carte où les coûts sont les plus importants (voir la fi- gure 10.10), la couleur rouge de la légende correspondant aux coûts les plus élevés. Pour actualiser ce graphique, le solveur transmet simplement le coût de chaque cellule pour la solution courante. Les cellules étant situées sur la grille, on obtient instantanément une représentation spatialisée des coûts. Ces coûts sont directement disponibles dans notre modèle (cf. chapitre 8) grâce aux fonctions de coût définies pour chaque contrainte qui permettent de reporter les coûts des contraintes sur chaque tuple « variable | valeur ». En mode continu, l’utilisateur peut suivre les impacts sur la carte en fur et à mesure qu’il déplace un groupe de formes urbaines, ce graphique étant actualisé à la volée à chaque mouvement. 10.6.2 Historique d’évolution des coûts Une seconde représentation graphique, actualisée à intervalle de temps régulier (e.g. toutes les secondes), affiche le changement de coût global, ainsi que l’évolution des coûts pour chaque contrainte considérée (distance, accessibilité, taille critique, . . . ). Ainsi, l’utilisateur peut suivre l’impact de ses changements sur chaque contrainte et identifier les contraintes qui s’améliorent au fil du temps ou au contraire celles qui se dégradent (voir la figure 10.11).10.6. RETOURS VISUELS 191 FIGURE 10.10 – Carte de chaleur : les zones en rouge sur la carte font apparaître les régions correspondant aux coûts les plus élevés. Cette carte est directement actualisée avec les coûts de chaque variable disponibles dans notre modèle. FIGURE 10.11 – Historique d’évolution des coûts par contrainte : ce graphique est composé de deux parties. La partie de gauche indique le coût lié à chaque contrainte pour la configuration courante tandis que la partie principale représente l’évolution des coûts par contrainte à intervalle de temps régulier. A gauche du graphique, on retrouve un récapitulatif des coûts par contrainte lié à la dernière solution connue. La grille du milieu quant à elle permet de voir l’évolution des coûts de chaque contrainte en fonction du temps. Par défaut, ce graphique est rafraîchi à chaque seconde, cette intervalle de temps pouvant être modifié par l’utilisateur (actualisation toutes les 2 secondes, . . . ). Dès qu’une modification est appliquée par le solveur sur la solution courante, il transmet les nouvelles informations de coût par contraintes qui seront192 CHAPITRE 10. MODE INTERACTIF prises en compte au rafraîchissement suivant de l’écran. 10.7 Vidéo d’accompagnement Certaines options du processus interactif de résolution sont détaillées dans la vidéo d’accompagnement (voir ici http://vimeo.com/80211470). En particulier, dans les situations où l’utilisateur déplace volontairement une partie d’une zone industrielle (pour laquelle une taille de zone critique est spécifiée), le processus de résolution repositionne automatiquement toutes les formes urbaines industrielles pour reformer une nouvelle zone industrielle pour la taille critique spécifiée en intercalant des espaces de respiration entre les usines et les maisons individuelles. 10.8 Conclusion L’interaction entre composants est au cœur des systèmes complexes et, suivant la formule désormais bien connue, « le tout qu’ils forment représente plus que l’addition des parties ». Notre système d’aide à la décision n’échappe pas à cette formule et s’enrichit de l’interaction entre une IHM « taillée sur mesure » et un solveur interactif, qui communiquent entre eux par l’intermédiaire d’un gestionnaire de messages autonome. Le système proposé maintient l’utilisateur au cœur du dispositif grâce à des fonctionnalités simples qui lui permettent de garder un contrôle total sur la solution finale. Il a également à sa disposition une série de paramétrages qui lui permettent d’adapter les comportements de l’interaction à ses propres besoins. Notre modèle (voir le chapitre 8) mis au point pour la résolution initiale est réutilisable dans ce contexte avec un minimum de modification, tout comme l’est le solveur de base utilisé pour la résolution initiale. En encapsulant le solveur de base dans un solveur interactif, ce dernier peut bénéficier de toute sa puissance tout en apportant de nouvelles fonctionnalités nécessaires à l’interactivité : le routage des messages, la détection d’événements, la mémorisation de la solution courante avec des traitements permettant de la manipuler, l’appel aux traitements d’optimisation, etc. La transformation des manipulations demandées par l’utilisateur en permutations permet de se conformer au fonctionnement habituel. On retrouve d’une part les permutations imposées par l’utilisateur sur l’IHM et d’autre part les permutations automatiques issues des optimisations réalisées par le solveur. Le gestionnaire de messages asynchrones se révèle pertinent pour actualiser les informations de part et d’autre tout en conservant une IHM fluide et réactive en toutes circonstances. Pour que les résolutions puissent se faire à la volée sans trop s’écarter de la solution courante, un cercle d’influence est automatiquement défini autour des modifications opérées par l’utilisateur et seules les zones correspondantes sont concernées par le processus d’optimisation. Cette fonctionnalité est prise en charge par le solveur interactif qui ne rend sélectionnable, sur sa solution courante, que les cellules présentes dans les cercles d’influence. En réduisant la zone à (ré)optimiser, on réduit les temps de résolution et on améliore la solution courante sans trop s’en éloigner, la taille du cercle pouvant être modifiée pour ajuster l’éloignement autorisé et les temps de calcul.11 Expérimentations Dans ce chapitre, nous cherchons à évaluer différents aspects de nos travaux, à savoir les performances de nos différents algorithmes de résolution (voir le chapitre 9), la qualité des solutions générées à partir de notre modèle (voir le chapitre 8) ou encore la pertinence du mode interactif (voir le chapitre 10). Pour faciliter la phase d’expérimentation, un paramétrage complet du solveur a été mis en place permettant de tester tel ou tel aspect de son fonctionnement en modifiant un fichier unique contenant les valeurs des différents paramètres. Parmi ces paramètres, on retrouve les entrées du modèle (avec les matrices d’interaction, etc.), la déclaration de chaque contrainte, le type de déploiement et des paramètres plus spécifiques comme la possibilité d’activer ou non la génération d’un tableau de bord complet. Le tableau de bord correspond à une série de sondes logicielles positionnées au sein du solveur qui, si elles sont activées, mémorisent au cours de la résolution des informations internes servant à générer des clichés instantanés sur son état (représentés par des graphiques et vidéos). Afin d’évaluer l’efficacité de nos différents algorithmes, nous activons ou désactivons par des paramétrages adaptés certaines fonctionnalités proposées (e.g. version séquentielle ou distribuée, activation du mode multi-candidat, etc.). Nous comparons ensuite les temps nécessaires à une résolution initiale par rapport aux fonctionnalités mises en œuvre pour atteindre une qualité de solution qui soit acceptable pour un problème réel : Marne-La-Vallée1 . Pour les deux autres aspects, à savoir la qualité des solutions et la pertinence de l’interaction, nous avons fait appel aux urbanistes impliqués dans le projet de recherche SUSTAINS pour avoir leurs retours. Pour évaluer la qualité, les expérimentations ont également été menées sur Marne-La-Vallée. Différentes cartes reprenant un nombre limité de formes urbaines ont été générées à partir de nos résolutions initiales, puis analysées pour vérifier l’emplacement des formes urbaines par rapport aux différentes zones d’intensité ou par rapport aux autres formes urbaines. Pour évaluer la pertinence de l’interaction, des démonstrations ont été menées avec trois urbanistes expérimentés pour recueillir leurs opinions. Une vidéo a également été mise à leur disposition pour représenter le fonctionnement général du mode interactif (cf. section 10.7). 11.1 Méthodologie Dans la suite de ce chapitre, on parlera de version pour spécifier une exécution de la résolution initiale sur un seul processus (version mono-processus, voir section 9.3) ou distribuée sur plusieurs processus (version distribuée, voir section 9.4). On parlera de mode de fonctionnement pour indiquer si on supporte ou non 1Une ville nouvelle située à l’est de Paris, pour laquelle les urbanistes du projet SUSTAINS disposent de toutes les données utiles. 193194 CHAPITRE 11. EXPÉRIMENTATIONS de multiples candidats (mode multi-candidat, voir section 9.3.3) et si on supporte ou non de multiples permutations (mode multi-permutation, voir section 9.3.4). On réservera le terme protocole pour savoir de quelle manière on exploite la version distribuée (protocoles 1 à 4, voir la section 9.4.3). 11.1.1 Versions incrémentales de nos prototypes Le premier prototype de notre solveur (résolution initiale) a été développé en Java avec CHOCO [147] pour évaluer une méthode complète [222] de programmation par contraintes [16, 97, 9, 233]. Ce premier prototype ne donnant pas des résultats satisfaisants pour une version limitée de notre problème (voir la section 9.1 pour plus de détails), nous avons réalisé un second prototype en Java pour la même version du problème afin d’évaluer les métaheuristiques de voisinage [111] (cf. section 5.6.2), notamment les méthodes de descente (cf. section 5.6.4). Compte tenu des résultats encourageants obtenus avec ce dernier prototype, la preuve du concept étant faite, nous nous sommes orientés vers une version opérationnelle, pour notre problème complet, réalisée en C++ et basée sur le framework EasyLocal++ [74] (voir le paragraphe 5.8.2). EasyLocal++ a été retenu pour la puissance de son langage d’implémentation orienté objet, sa modularité et le fait qu’il soit dédié aux techniques de recherche locale, ce qui lui confère une grande cohérence et une facilité de prise en main. Dans la suite, nous considérons uniquement cette version opérationnelle. 11.1.2 Jeux de données Nos jeux de données peuvent être exprimés sous la forme d’une représentation simplifiée, c’est à dire une représentation de la ville qui ne détermine qu’une partie des propriétés du problème (voir la section 11.1.2.1). Afin de réaliser nos expérimentations, nous avons exploité différents jeux de données pour représenter les villes : • neuf représentations simplifiées avec des tailles de grille différentes (voir la table 11.1) ; • trois représentations complètes avec des tailles différentes : petite, moyenne, grande ; • une représentation complète correspondant à la ville de Marne-La-Vallée (issue de données réelles liées à cette zone urbaine, fournies par les urbanistes du projet SUSTAINS). TABLE 11.1 – Neuf jeux de données proposés avec une représentation simplifiée de la ville pour participer à nos expérimentations. Pour chaque taille de grille, nous mettons en correspondance le nombre de variables du problème (i.e. nombre de cellules libres). Grille Nombre de variables 8 × 8 64 16 × 16 256 24 × 24 576 32 × 32 1 024 40 × 40 1 600 48 × 48 2 304 56 × 56 3 136 64 × 64 4 096 128 × 128 16 384 11.1.2.1 Représentation simplifiée Ce type de représentation ne détermine qu’une partie des propriétés du problème :11.1. MÉTHODOLOGIE 195 Listing 11.1 – Exemple de représentation simplifiée d’une ville constituée de 16 × 16 cellules, mémorisée au format XML. 1 2 < M ai n C o n fi g u r ati o n > 3 < I n i t > 4 . . . 5 < G ri d SizeX=" 16 " SizeY=" 16 " / > 6 7 < I n t e n s i t i e s B y B l o c k V al u e s =" 8 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 9 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 10 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 11 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 12 1 1 1 2 2 2 3 3 3 2 2 2 2 2 2 2 13 1 1 1 2 2 3 3 3 3 3 3 2 2 2 2 2 14 1 1 1 2 2 3 3 3 3 3 3 3 2 2 2 2 15 1 1 1 2 3 3 3 3 3 3 3 3 3 2 2 2 16 1 1 1 2 3 3 3 3 3 3 3 3 3 2 2 2 17 1 1 1 2 3 3 3 3 3 3 3 3 3 2 2 2 18 1 1 1 2 2 3 3 3 3 3 3 3 2 2 2 2 19 1 1 1 1 2 2 3 3 3 3 3 2 2 2 2 2 20 1 1 1 1 1 2 2 3 3 3 2 2 2 2 2 2 21 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 22 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 23 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 " / > 24 25 26 27 < A l l o c a t i o n I n t e n s i t y =" 1 " Numbe rO fBlocks=" 38 " / > 28 < / UrbanForm> 29 . . . 30 31 < A l l o c a t i o n I n t e n s i t y =" 1 " Numbe rO fBlocks=" 5 " / > 32 < A l l o c a t i o n I n t e n s i t y =" 2 " Numbe rO fBlocks=" 8 " / > 33 < A l l o c a t i o n I n t e n s i t y =" 3 " Numbe rO fBlocks=" 5 " / > 34 < / UrbanForm> 35 < / U rbanFo rms> 36 . . . 37 < / I n i t > 38 < / M ai n C o n fi g u r ati o n > • la taille de la grille (16 × 16) (balise « Grid ») ; • l’intensité de chaque cellule (balise « IntensitiesByBlock ») ; • le nombre de chaque catégorie de forme urbaine à ventiler sur la ville, par niveau d’intensité (balise « UrbanForms »). Avec ces représentations, il n’y a pas de centralité et toutes les cellules font partie d’une ville carrée ou rectangulaire. Les représentations simplifiées peuvent être construites manuellement. Par exemple, le listing 11.1 fournit une représentation simplifiée pour une grille 16 × 16. 11.1.2.2 Représentation complète Les représentations complètes incorporent toutes les données du problème, y compris des informations nécessaires aux applications des différents partenaires impliqués dans le projet SUSTAINS. On y retrouve des éléments généraux de paramétrage (formes urbaines, axes routiers principaux, . . . ) et une information détaillée pour chaque cellule :196 CHAPITRE 11. EXPÉRIMENTATIONS • coordonnées spatiales ; • indicateur (o/n) pour savoir si la cellule est présente ou non dans la ville ; • indicateur (o/n) pour savoir si la cellule correspond ou non à une centralité ; • indicateur (o/n) pour savoir si la cellule est constructible ; • forme urbaine fixe liée à la cellule (route, rivière, . . . ) ; • élévation de la cellule ; • etc. Les représentations complètes sont générées automatiquement par les logiciels du LIMSI2 , un partenaire du projet SUSTAINS en charge d’identifier les propriétés d’une ville (contours, zones d’intensité, avenues principales, etc.). La masse des informations présentes dans cette représentation est telle qu’une construction manuelle de ce fichier n’est pas envisageable. Notre solveur3 récupère en entrée les éléments qui lui sont utiles et incorpore le résultat de ses optimisations dans une copie du fichier avant de la transmettre aux partenaires, notre objectif étant de renseigner une forme urbaine pour chaque cellule libre. 11.1.3 Paramètres de configuration Le comportement du solveur dépend de nombreux paramètres que nous avons choisi de structurer et de regrouper dans un fichier de configuration4 (au format XML). Plusieurs fichiers avec des paramètres particuliers ont été créés pour définir des configurations différentes, ce qui permet de choisir un fichier de configuration spécifique au lancement du solveur pour qu’il utilise des paramètres particuliers. 11.1.3.1 Indépendance des paramètres par rapport au problème à résoudre Pour que les paramètres de configuration soient indépendants du problème à résoudre, deux approches complémentaires ont été mises en place : • certains paramètres sont exprimés en pourcentage pour les rendre dynamiques (e.g. taille initiale de la liste des candidats bannis) ; • la description du problème à résoudre (sous une forme simplifiée ou complète) dépend d’un fichier XML indépendant du fichier de configuration. L’utilisateur doit donc préciser deux éléments au lancement d’une résolution : • l’emplacement et le nom du fichier qui contient les paramètres de configuration ; • l’emplacement et le nom du fichier qui contient la représentation du problème. 11.1.3.2 Tirage de nombres aléatoires Un paramètre de configuration particulier concerne le tirage de nombres aléatoires. Il s’agit du paramètre « SeedValue » qui prend une valeur entière positive ou nulle. Si SeedV alue = 0, une même séquence de tirages aléatoires donnera des résultats différents. Dans le cas contraire, pour une valeur donnée de SeedV alue, une même séquence de tirages aléatoires donnera les mêmes résultats (i.e. une série de nombres aléatoires identiques). Par exemple, ce paramètre permet de générer (ou non) des solutions aléatoires suivant une même séquence de tirages aléatoires : ceci est essentiel lorsque l’on veut comparer des résultats en partant d’une solution de départ identique. En effet, les données indiquées dans nos expérimentations correspondent à une moyenne de 10 exécutions, chaque exécution étant réalisée avec une valeur différente pour SeedV alue que l’on notera {seed1, seed2, . . . , seed10}. De cette façon, chaque exécution démarre avec une solution initiale aléatoire 2Le Laboratoire d’Informatique pour la Mécanique et les Sciences de l’Ingénieur (LIMSI) http://www.limsi.fr/ index.fr.html. 3Lorsqu’aucune précision n’est donnée, cela concerne indifféremment le solveur de résolution initiale et le solveur interactif. 4 Il s’agit ici d’un fichier de paramétrage, à ne pas confondre avec une configuration dans le sens solution à un problème.11.1. MÉTHODOLOGIE 197 FIGURE 11.1 – Résumé des mesures sur l’application développée. Généré par l’outil SourceMonitor (http://www.campwoodsw.com/sourcemonitor.html). Le nombre de lignes indiqué écarte les lignes vides (*). différente. Lorsque l’on veut comparer plusieurs versions (mono-processus ou distribué) ou modes de fonctionnement (multi-candidats, multi-permutation) différents, chaque série d’exécutions reprend la même sé- quence de valeurs pour SeedV alue, correspondant à la même séquence de solutions de départ. 11.1.4 Implémentation et déploiement 11.1.4.1 Implémentation L’application a été développée en C++ et s’appuie sur le framework EasyLocal++ [74]. La communication entre les processus distants se fait par échanges de messages en utilisant le middleware orienté message Apache ActiveMQ (http://activemq.apache.org/) en lien avec la librairie ActiveMQ-CPP (http://activemq.apache.org/cms/using-activemq-cpp.html). Cette communication distante intervient à deux niveaux : • en version distribuée : pour gérer les communications entre le processus maître et ses esclaves ; • en mode interactif : pour gérer les communications entre le dispositif tactile et le solveur interactif. La figure 11.1 fournit un résumé de l’application sur la base de métriques standards. Il s’agit d’un dé- veloppement conséquent qui définit un peu plus de 200 classes C++ pour 30 000 lignes de code. Cette application fonctionne sur les systèmes d’exploitation Windows et Linux. Nous utilisons le service InriaForge pour faciliter le travail collaboratif, notamment Apache Subversion (https://subversion.apache. org/) comme gestionnaire centralisé de versions pour le code source de l’application. Il s’agit en effet d’un travail d’équipe réparti entre les sites de Nantes et de Rennes, avec une partie des développements confiée à un ingénieur de l’Université Rennes 1 qui a pris en charge : • le support complet des données XML ;198 CHAPITRE 11. EXPÉRIMENTATIONS • les développements PHP5 pour gérer les échanges via HTTP avec les applications des partenaires, notre moteur de résolution initiale étant exposé comme un service accessible via le Web ; • la construction des principales IHM de rendu (en dehors des parties liées au mode interactif, cf. chapitre 10). 11.1.4.2 Déploiement Nous avons opéré trois types de déploiement différents et complémentaires sur des machines Linux. Station de travail Dans un premier temps, les différentes versions sont déployées pour être testées sur ma station de travail portable équipée de 3,8 Gio de mémoire et d’un processeur multi-cœurs Intel® CoreTM i7- 2630QM CPU @ 2.00GHz x 8. Le système d’exploitation correspond à la version Ubuntu 12.04 (precise) 64 bits. Serveur de l’INRIA à Rennes Une version stable du solveur est déployée sur un serveur de l’INRIA à Rennes pour assurer un service permanent de résolution initiale ouvert aux partenaires du projet SUSTAINS. La communication se fait par échange, via HTTP6 , du fichier qui décrit la ville d’étude (voir la section 11.1.2.2 qui décrit la représentation complète). Grid’5000 Concernant la version distribuée, elle est déployée sur la plate-forme française Grid’50007 , une grille de calcul expérimentale dédiée à la recherche pour réaliser des calculs distribués à grande échelle. 11.2 Tableau de bord Nous avons instrumentalisé le code source de nos applications pour pouvoir analyser après coup le fonctionnement interne de notre solveur et le comportement des différentes contraintes. Les analyses fournies par le tableau de bord correspondent à des graphiques et à une vidéo, générés à la suite d’une résolution initiale. Ces analyses ont permis d’adapter notre modèle lorsque cela était nécessaire (e.g. problème de performance avec la contrainte globale de regroupement sur des instances de taille importante : grille 64x64). Elles peuvent également être utilisées pour améliorer les performances du solveur ou procéder aux réglages des nombreux paramètres de lancement utilisés lors des expérimentations. Les graphiques repris dans cette section ont pour la grande majorité été réalisés à partir d’une résolution initiale lancée le 7 février 2013 à 16h10 en utilisant une représentation incomplète basée sur notre grille 32 × 32. Il s’agit de données de tests qui ne correspondent pas nécessairement à la réalité, et qui peuvent être en décalage avec la dernière version de notre modèle (voir la section 8.3.1). Cette résolution était liée au paramétrage suivant des contraintes : • Interaction entre formes urbaines : poids = 1 ; • Accessibilité en tout point : poids = 100 ; • Éloignement : poids = 15 ; • Espace ou équipement tampon : poids = 20 ; • Emprise (place) : poids = 15 ; • Taille mini zone activité artisanale : taille minimum d’un groupe = 6 et poids = 1 ; • Taille mini zone activité industrielle : taille minimum d’un groupe = 12 et poids = 1. 5Hypertext Preprocessor : langage de programmation principalement utilisé pour produire des pages Web dynamiques (http://php.net/). 6Hypertext Transfer Protocol en anglais ou protocole de transfert hypertexte. 7Remerciements : plusieurs expériences présentées dans cette thèse ont été réalisées en utilisant la plateforme expérimentale Grid’5000, issue de l’Action de Développement Technologique (ADT) Aladdin pour l’INRIA, avec le support du CNRS, de RENATER, de plusieurs Universités et autres contributeurs (voir https://www.grid5000.fr)11.2. TABLEAU DE BORD 199 Listing 11.2 – Paramètres de configuration : exemple de paramétrage des sondes logicielles intégrées au solveur. La totalité des sondes peut être désactivée (OverallActivation). L’activation/désactivation peut également intervenir au niveau de chaque sonde (isActivated). 1 < O b s e r v e r s O v e r a l l A c t i v a t i o n =" f a l s e "> 2 < O b s e r v e r I d =" Be stM o veO b se r ve r " D e s c r i p t i o n =" M e i l l e u r s c o r e t r o u v e ( a c ha q ue i t e r a t i o n ) " 3 I s A c t i v a t e d =" t r u e " / > 4 < O b s e r v e r I d =" D e l t a C o s t O b s e r v e r " D e s c r i p t i o n ="Temps moyen p a r c y c l e ( i t e r a t i o n ) " 5 I s A c t i v a t e d =" t r u e " NbEventByCycle=" 20000 " N umE v e nt St a rt =" 0 " NumEventStop=" 0 " / > 6 < O b s e r v e r I d =" MakeMoveGUIObserver " D e s c r i p t i o n =" P e r m u t a t i o n a p p l i q u e e " I s A c t i v a t e d =" t r u e " / > 7 < O b s e r v e r I d =" R u n n e r O b s e r v e r St a rt E n d " D e s c r i p t i o n =" Du ree / c o ut au d e b ut / f i n de r e s o l u t i o n " 8 I s A c t i v a t e d =" t r u e " / > 9 < O b s e r v e r I d =" R u n ne rO b se r ve rNewBe st " D e s c r i p t i o n =" Du ree / d e l t a C o s t g l o b a l e t p a r c o n t r a i n t e " 10 I s A c t i v a t e d =" t r u e " / > 11 < O b s e r v e r I d =" S c o r e L a n d s c a p e O b s e r v e r " D e s c r i p t i o n =" P a y s a g e d e s d e l t a C o s t s p a r c e l l u l e " 12 I s A c t i v a t e d =" t r u e " / > 13 < / O b s e r v e r s > D’autre part, il y avait 1 024 formes urbaines à répartir sur le territoire, ce nombre étant ventilé de la façon suivante (ventilation fournie ici sans reprendre le détail par niveau d’intensité) : • 152 maisons individuelles ; • 120 maisons de ville ; • 88 habitats intermédiaires ; • 48 habitats collectifs R+4 ; • 40 habitats collectifs R+7 ; • 80 bâtiments tertiaires R+4 ; • 40 bâtiments tertiaires R+7 ; • 140 activités artisanales ; • 80 activités industrielles ; • 32 centres commerciaux ; • 16 écoles maternelles ; • 20 écoles primaires ; • 20 collèges ; • 12 lycées ; • 12 équipements administratifs ; • 12 équipements techniques ; • 20 espaces sportifs de quartier ; • 20 espaces sportifs inter quartier ; • 72 espaces de respiration. 11.2.1 Mode opératoire La génération des éléments du tableau de bord est prise en charge par des sondes logicielles positionnées au cœur du solveur (voir un exemple de paramétrage avec le listing 11.2). Lorsqu’elles sont activées, elles génèrent automatiquement des fichiers de trace pendant la phase de résolution. A la fin du processus de ré- solution, des scripts sont disponibles pour générer les différents graphiques ainsi qu’une vidéo d’évolution des paysages (voir la section 11.2.5). Pour retrouver les valeurs des principaux paramètres de configuration utilisés lors de l’expérimentation, un fichier est généré afin d’en garder une trace. Tous les résultats sont stockés dans un répertoire dont le nom est dynamique, en tenant compte de la date et de l’heure de lancement.200 CHAPITRE 11. EXPÉRIMENTATIONS 11.2.2 Variation des coûts Chaque permutation (i.e. échange des valeurs entre deux cellules de la grille, voir la section 8.3.1) appliquée sur une configuration impacte son coût global en plus ou en moins. Cette différence correspond à la variation de coût relative à chaque permutation appliquée sur une configuration courante (i.e. à chaque itération de notre algorithme de résolution). Nous verrons dans les sections suivantes qu’une variation de coût peut également être calculée pour une permutation sans qu’elle soit appliquée sur la configuration courante. Dans ce cas, on parlera d’une variation de coût potentielle. Les graphiques de variation des coûts que nous proposons se présentent sous deux formes : • une partie récapitulative mettant en parallèle les différentes contraintes sur le même graphique (voir la figure 11.2). • une partie détaillée avec un graphique différent par contrainte (voir la figure 11.3) ; A chaque itération, le système indique la variation du coût enregistrée pour chaque contrainte. La plupart du temps, la variation est négative, ce qui contribue à la réduction du coût global sur la configuration courante (nota : les variations apparaissent inversées sur nos graphiques). Il arrive néanmoins que la variation soit positive sur une ou plusieurs contraintes. Ceci traduit une situation de conflit entre les différentes contraintes où le gain obtenu pour l’une se fait au détriment des autres, le solde permettant tout de même de réduire le coût global. A la lecture des exemples proposés (voir la figure 11.2 ou 11.3), on voit une très forte activité tout au long du processus de résolution pour les contraintes d’interaction (voir la section 8.3.2.3), d’éloignement (voir section 8.3.3.1) et d’espace ou équipement tampon (voir section 8.3.3.4). Ceci paraît normal pour la contrainte d’interaction qui est une contrainte générale qui s’applique à l’ensemble des cellules (voir la section 8.3.2). Les deux autres contraintes (éloignement et espace ou équipement tampon) sont des contraintes spécifiques (voir la section 8.3.3), néanmoins elles s’appliquent à beaucoup de formes urbaines et tout comme la contrainte d’interaction, elles concernent le voisinage d’un nombre important de cellules. La contrainte d’éloignement est néanmoins plus active au début de la résolution que la contrainte d’espace ou équipement tampon qui présente une plus forte activité au milieu de la résolution. On peut en déduire qu’une fois les formes urbaines suffisamment éloignées les unes des autres, elles rentrent moins en conflit avec la contrainte d’éloignement. En fait, ces trois contraintes sont étroitement liées les unes aux autres, la modification de l’une ayant des incidences directes sur les deux autres. La contrainte d’accessibilité (dans sa version locale, voir la section 8.3.3.3) travaille beaucoup au tout début de la résolution, ceci étant provoqué par son poids, le plus important parmi l’ensemble des contraintes, qui la rend prioritaire sur les autres. Et une fois que les espaces de respiration sont bien répartis sur le territoire, cette contrainte n’est que très rarement impactée. Les deux contraintes de taille minimum qui s’appliquent aux zones d’activité artisanale et industrielle présentent une activité différente l’une par rapport à l’autre. Il s’agit pourtant de la même contrainte appliquée à deux formes urbaines distinctes ! Ceci peut s’expliquer, d’une part, par des paramètres de regroupement différents, le nombre de formes industrielles à regrouper (nombre minimum pour former un groupe) étant plus important que celui des activités artisanales. Une fois le regroupement des industries réalisé, il est donc plus difficile à remettre en question. D’autre part, les relations entre les activités artisanales et les autres formes urbaines sont plus souples (moins contraignantes) que celles liées aux industries, ce qui fait que les industries sont plus vite isolées du reste, et moins impactées au fil de la résolution. La contrainte d’emprise (formation des places, voir la section 8.3.3.5) est la contrainte qui est de loin la moins active. Malgré son activité très faible, les variations de coût qu’elle présente sont globalement importantes à chaque fois qu’elle est impactée. Cette contrainte intervient uniquement autour des collèges et lycées, elle est donc limitée en nombre de cellules. Ceci explique probablement pourquoi elle est rarement impactée.11.2. TABLEAU DE BORD 201 FIGURE 11.2 – Récapitulatif des variations de coût par itération pour chaque contrainte. Les variations de coût qui apparaissent sur l’axe des ordonnées sont inversées sur les graphiques, de sorte qu’une variation négative apparaît au dessus de l’axe des abscisses, l’axe des abscisses représentant l’évolution du nombre des itérations au cours d’une résolution.202 CHAPITRE 11. EXPÉRIMENTATIONS FIGURE 11.3 – Détail des variations de coût par itération pour chaque contrainte. Les variations de coût qui apparaissent sur l’axe des ordonnées sont inversées sur les graphiques, de sorte qu’une variation négative apparaît au dessus de l’axe des abscisses, l’axe des abscisses représentant l’évolution du nombre des itérations au cours d’une résolution.11.2. TABLEAU DE BORD 203 11.2.3 Répartition des coûts par contrainte Le graphique de répartition des coûts par contrainte permet de visualiser au fil des itérations la réduction des coûts de chaque contrainte et la proportion qu’occupe chaque contrainte dans le coût global de la configuration courante (répartie dans le temps). Par rapport à l’exemple de la figure 11.4, les coûts les plus importants au début de la résolution sont répartis entre les deux contraintes Éloignement et Espace ou équipement tampon. Ce sont également ces deux contraintes qui voient leurs coûts respectifs diminuer le plus par rapport aux autres contraintes, ces diminutions étant les plus importantes au milieu de la résolution. Concernant la contrainte Accessibilité en tout point, elle subit une diminution importante au tout début du processus de ré- solution. La même remarque peut être faite pour la contrainte Interaction entre formes urbaines qui diminue toutefois moins fortement et met plus de temps à se stabiliser, son coût restant globalement constant à partir de l’itération 150. Les coûts des autres contraintes (Emprise, Taille minimum zone d’activité artisanale et industrielle) restent très faibles tout au long de la résolution. Ceci peut s’expliquer par un nombre limité de formes urbaines concernées par ces contraintes. Pour leur donner plus d’expressivité, on pourrait fixer des poids supérieurs aux contraintes de regroupement (taille minimum), ce qui permettrait de rééquilibrer la proportion des coûts entre l’ensemble des contraintes (voir la section 8.3.1). FIGURE 11.4 – Répartition des coûts par contrainte : à chaque itération (en abscisse), on superpose le coût total de chaque contrainte (en ordonnée). On reconstitue ainsi le coût global de la configuration courante qui diminue au fil de la résolution. La représentation correspond à un histogramme très resserré, on ne peut donc pas distinguer les barres qui sont réduites à des lignes verticales dont les couleurs correspondent aux rectangles de la légende : la première forme urbaine indiquée dans la légende correspond à la forme urbaine positionnée en bas du diagramme, etc. 11.2.4 Répartition des temps de calcul par contrainte On s’intéresse ici à la performance des fonctions qui calculent, pour chaque contrainte, la variation du coût occasionnée par les permutations potentielles ou par les permutations effectivement appliquées. Le nombre d’évaluations étant très important (pour les variations de coût potentielles, voir le paragraphe 7.5.2.2), on204 CHAPITRE 11. EXPÉRIMENTATIONS calcule une moyenne des temps de calcul pour un nombre d’appels donné. Par exemple, tous les 20 000 appels à ces fonctions, on enregistre le temps moyen requis pour chaque contrainte et on recommence pour les 20 000 appels suivants, etc. Les temps sont exprimés en millisecondes avec une représentation cumulée pour chaque contrainte. Sur la figure 11.5, on démarre la résolution avec un temps moyen cumulé de 0,11 ms et on la termine avec un temps moyen cumulé à 0,18 ms. L’analyse de ce graphique permet d’expliquer cette augmentation du temps de calcul moyen. En effet, au fur et à mesure de la résolution, le temps moyen de calcul pour la contrainte Espace ou équipement tampon diminue très légèrement alors que le temps moyen de calcul lié aux contraintes de taille minimum augmente plus fortement, avec une augmentation supérieure pour la contrainte de taille minimum liée aux zones d’activité artisanale. Le nombre de formes urbaines à répartir pour les activités artisanales est supérieur à celui des activités industrielles (140 contre 80) alors que la taille minimale pour former une zone d’activité artisanale est inférieure à celle des activités industrielles (6 contre 12). Ceci est suffisant pour expliquer le surcroît de temps nécessaire afin de gérer les activités artisanales : plus de formes urbaines et plus de groupes (plus petits) à gérer. FIGURE 11.5 – Répartition des temps de calcul par contrainte. 11.2.5 Paysage des gains lié à chaque candidat sélectionné Les gains correspondent uniquement aux variations de coût négatives liées aux permutations évaluées (en inversant les signes). A chaque itération du processus de résolution initiale, le solveur détermine un candidat qui sera à l’origine d’une permutation gagnante. Ce graphique représente la répartition spatiale des gains11.2. TABLEAU DE BORD 205 pouvant être obtenus (voir la figure 11.6) en impliquant chaque cellule de la grille à la permutation gagnante (i.e. avec le candidat retenu). La cellule la plus sombre correspond à celle qui offre le gain le plus important. Un graphique différent est généré à chaque itération. La figure 11.7 reprend les premières itérations une à une tandis que la figure 11.8 fait apparaître les premières itérations avec un pas de 10 en 10. Sur les exemples, les représentations du début font apparaître plusieurs cellules très foncées, signe que plusieurs gains importants sont réalisables à partir d’un même candidat. Mais l’aspect foncé disparaît rapidement laissant entrevoir des gains moins significatifs. D’autre part, la répartition spatiale de ces gains varie et leur nombre également, ceci pouvant être dû à la forme urbaine associée au candidat, les contraintes spatiales spécifiques qui s’appliquent n’étant pas les mêmes d’une forme urbaine à une autre (voir la section 8.3.3). Le nombre de cellules proposant un gain peut être important au début du processus en s’affichant avec plusieurs nuances de gris. Mais très rapidement, ce nombre se réduit et les cellules offrant un gain deviennent de plus en plus claires. Il est donc plus difficile de trouver une permutation gagnante au fur et à mesure de la résolution. Un tirage aléatoire d’une cellule gagnante pourrait être envisagé au début du processus mais ce choix ne semble pas judicieux pour les étapes suivantes. A la fin du processus de résolution, une procédure automatique rassemble tous les graphiques générés dans une vidéo unique pour représenter l’évolution du paysage des gains au fil de la résolution. FIGURE 11.6 – Paysage des permutations gagnantes avec le candidat retenu pour une itération donnée. Pour l’itération courante (no 1), un candidat (i.e. cellule non représentée ici) a déjà été identifié pour participer à une permutation gagnante. Ce graphique représente la répartition spatiale des gains pouvant être obtenus en impliquant une à une chaque cellule de la grille à la permutation gagnante (i.e. avec le candidat retenu) : plus le gain potentiel est important, plus la cellule est sombre.206 CHAPITRE 11. EXPÉRIMENTATIONS FIGURE 11.7 – Évolution du paysage des permutations gagnantes avec les candidats retenus au fil de la résolution (i.e. à chaque itération), limitée aux 12 premières itérations. Chaque graphique correspond à une itération. A chaque itération, un candidat est identifié pour participer à une permutation gagnante. Chaque graphique correspond au paysage des permutations gagnantes avec le candidat retenu pour l’itération indiquée.11.2. TABLEAU DE BORD 207 FIGURE 11.8 – Évolution du paysage des permutations gagnantes avec les candidats retenus au fil de la résolution (toutes les 10 itérations). Chaque graphique correspond à une itération. A chaque itération, un candidat est identifié pour participer à une permutation gagnante. Chaque graphique correspond au paysage des permutations gagnantes avec le candidat retenu pour l’itération indiquée. 11.2.6 Comparaison des performances entre différentes versions de l’algorithme de résolution Comme indiqué dans la section sur le paysage des gains (voir section 11.2.5), un gain correspond à une variation de coût négative liée à une permutation gagnante (en inversant son signe). On parlera également ici de durée cumulée : il s’agit du temps mis par le processus de résolution pour atteindre une itération208 CHAPITRE 11. EXPÉRIMENTATIONS donnée. Par exemple, la première itération est atteinte avec une durée cumulée = 0, la centième itération correspond à une durée cumulée de 50 s, etc. Cette durée cumulée dépend bien évidemment de l’algorithme employé pour résoudre un problème. Sur un même graphique, nous comparons les performances de trois versions de l’algorithme de résolution pour une même instance de problème en représentant à chaque itération : • les gains obtenus sur le coût global de la configuration courante ; • la durée cumulée utilisée par le processus de résolution depuis son démarrage. En faisant apparaître ces résultats pour chaque version, on peut facilement comparer l’évolution des gains au cours des processus de résolution et le temps global nécessaire à chaque version. FIGURE 11.9 – Comparaison des temps et des gains obtenus à chaque itération entre différentes versions de l’algorithme de résolution. L’instance correspond à une représentation simplifiée pour une grille 32x32. Les temps sont exprimés en secondes. Les échelles de temps et de gains sont identiques d’une figure à l’autre. L’axe des abscisses correspond à l’évolution du nombre des itérations au cours d’une résolution. L’exemple proposé en figure 11.9 remonte au 14 mars 2013 et nous le reprenons ici pour illustrer cette représentation (type de graphique) qui fait partie du tableau de bord, pas pour comparer précisément les performances des différentes versions qui ont évolué depuis et que nous décrivons rapidement ci-dessous sans rentrer dans les détails. La version standard recherche à chaque itération la meilleure permutation à appliquer sur la configuration courante en évaluant toutes les combinaisons possibles. Il s’agit de la version de référence correspondant à une méthode de plus forte descente (voir la section 5.6.4). La version candidat11.3. EXPÉRIMENTATIONS LIÉES À LA RÉSOLUTION INITIALE 209 recherche la meilleure permutation à chaque itération en évaluant les permutations possibles uniquement à partir d’un meilleur candidat identifié (conforme à la méthode Adaptive Search, cf. section 5.6.9). La version distribuée correspond au protocole no 4 (cf. section 9.4.3.3), avec un découpage de la grille en 4 partitions confiées à 10 processus esclaves. Chaque processus esclave recherche 24 permutations au maximum à partir d’un seul candidat. Le processus maître collecte alors l’ensemble des permutions provenant des différents esclaves et applique en série les meilleures permutations collectées encore capables de produire un gain. L’exemple de la figure 11.9 montre une version standard capable de trouver les meilleurs gains à chaque itération mais dont le temps de résolution s’envole. Les deux autres versions (candidat et distribuée) né- cessitent plus d’itérations, mais elles s’exécutent beaucoup plus rapidement. Ceci est lié au fait qu’elles travaillent avec un nombre limité de candidats (voir la section 9.3), ce qui réduit très fortement le nombre de permutations à évaluer à chaque itération. En contrepartie, il n’est pas sûr que la permutation retenue pour une itération soit la meilleure. Toutefois, ce schéma indique que les candidats identifiés lors d’une résolution sont pertinents pour générer des gains. Certes, les variations dans les gains trouvés sont importantes pour la version candidat, mais on atteint tout de même des niveaux de gain comparables à la version standard. La version distribuée fait apparaître une variation des gains plus importante encore que le version candidat, ceci étant lié à son mode de fonctionnement qui permet d’appliquer plusieurs permutations en série (voir la section 9.3.4), certaines permutations retenues pouvant subir une dégradation importante par rapport aux gains prévus. Mais en compensation, son fonctionnement permet de trouver un nombre supérieur de permutations. 11.3 Expérimentations liées à la résolution initiale 11.3.1 Comparaison entre les principales versions et modes de fonctionnement Nous comparons dans la figure 11.10 les temps de calcul pour une résolution initiale lancée dans différentes conditions : • version mono-processus ou distribuée (uniquement avec le protocole no 4, voir la section 9.4.3.3) ; • mode multi-candidat activé ou non ; • mode multi-permutation activé ou non ; • nombre de processus esclaves (slaves) plus ou moins important. Les tests sont réalisés sur la ville de Marne-La-Vallée qui contient 9038 cellules libres (i.e. variables). Les résolutions s’arrêtent lorsqu’elles atteignent une qualité de solution acceptable ou dès qu’un timeout spécifié est atteint. Nous définissons une solution acceptable comme une solution ayant un coût inférieur ou égal à celui de la meilleure solution trouvée pendant la résolution distribuée mettant en œuvre 36 processus esclaves (i.e. 1 260 717). Les résultats indiqués pour les cinq expérimentations correspondent à une moyenne de 10 exécutions, chaque exécution partant d’une instance aléatoire différente. Entre chaque expérimentation, on utilise néanmoins les mêmes instances aléatoires de départ pour que les comparaisons soient cohérentes (cf. section 11.1.3.2). Lors de ces expérimentations, nous utilisons les serveurs granduc situés au Luxembourg, avec 22 nœuds, chacun ayant 2 CPU Intel à 2.0 GHz, 4 cores/CPU et 15 GB RAM. Concernant la contrainte d’accessibilité (voir la section 8.3.3.3), nous avons activé la version locale qui offre de bien meilleurs temps de calcul compte tenu de la taille réelle de nos instances (e.g. permet de réduire le temps de recherche d’une itération de 4 minutes à quelques millisecondes sur une grille 64x64). Les résultats montrent que la version séquentielle (mono-processus) est légèrement améliorée en activant le mode multi-permutation. Mais les meilleures améliorations proviennent de la version distribuée, qui tire le maximum d’avantages des modes multi-candidat et multi-permutation. Finalement, en considé- rant le score cible de 1 260 717, on constate un accélération ×11.51 entre la version mono-processus de210 CHAPITRE 11. EXPÉRIMENTATIONS FIGURE 11.10 – Tests des performances pour différentes versions (mono-processus, distribuée) et différents modes de fonctionnement (multi-candidat et multi-permutation). Comparaison des temps de résolution (en faisant une moyenne sur 10 exécutions par méthode) pour obtenir une solution initiale dont la qualité est imposée sur l’instance de Marne-La-Vallée. La version distribuée est évaluée avec le protocole no 4. base (modes multi-candidat et multi-permutation désactivés) et la version distribuée (36 processus esclaves, mode multi-candidat activé avec 1 candidat par esclave, mode multi-permutation activé avec 10 permutations par esclave). Ces premiers résultats montrent que l’on peut exécuter nos algorithmes d’optimisation sur des villes de taille réelle en moins d’une heure, ce qui paraît suffisant pour les besoins des urbanistes. 11.3.2 Évaluation des protocoles 1 et 4 de la version distribuée Pour cette série d’expérimentations sur Grid’5000, nous avons utilisé les serveurs griffon de Nancy équipés de processeurs Intel Xeon L5420 cadencés à 2,5 Ghz. Chaque nœud dispose de 2 CPU et chaque CPU de 4 cores, ce qui fait 8 cores disponibles par nœud. Concernant les protocoles 1 et 4 qui ont été évalués ici, le mode multi-candidat est activé avec 1 candidat par esclave. On récupère 10 permutations sur chaque esclave et pour rejouer une permutation sur le maître, son gain ne doit pas varier (i.e. diminution par rapport à l’évaluation initiale) de plus de 80%.11.3. EXPÉRIMENTATIONS LIÉES À LA RÉSOLUTION INITIALE 211 FIGURE 11.11 – Recherche du nombre optimal de processus esclaves à mobiliser. 11.3.2.1 Nombre optimal de processus esclaves à mobiliser Avec la figure 11.11, nous cherchons à déterminer le nombre optimal de processus esclaves à mobiliser sur le problème de Marne-La-Vallée afin d’obtenir les meilleurs temps de résolution possibles pour atteindre un coût global cible fixé à 1 350 000. Ce coût global cible a évolué par rapport aux expérimentations de la figure 11.10 car le paramétrage des contraintes a été modifié entre temps. Nous avons évalué les performances pour 36, 120, 231 et 465 esclaves sur les deux protocoles. Le protocole no 4 a également été évalué avec 820 esclaves, en réalisant toujours une moyenne des résultats sur 10 exécutions. Avec un nombre de processus esclaves identique, le protocole no 4 propose toujours des temps de résolution inférieurs à ceux du protocole no 1. Pour le protocole no 1, on peut estimer un nombre optimal de processus compris entre 100 et 200 compte tenu de la granularité de nos tests. Pour le protocole n o 4, il semblerait que le nombre optimal soit situé bien au delà, aux alentours de 800 esclaves. Ces résultats mériteraient d’être approfondis en évaluant les temps de résolution pour un nombre d’esclaves plus fin sur certaines portions de la courbe (e.g. incrémenter le nombre d’esclaves de 10 en 10 entre 100 et 200 esclaves pour le protocole no 1). Néanmoins, ils apportent la démonstration que le protocole no 4 est plus performant que le protocole no 1 pour un nombre d’esclaves équivalent, et que ce protocole supporte également une bien meilleure montée en charge : 495 secondes, soit un peu plus de 8 minutes pour résoudre le problème de Marne-La-Vallée, en mobilisant 820 esclaves.212 CHAPITRE 11. EXPÉRIMENTATIONS FIGURE 11.12 – Comparaison des temps de résolution entre la version mono-processus et la version distribuée déployée à grande échelle. Les protocoles 1 et 4 sont des protocoles distribués. Les intitulés « protocol- [x]-[y]s » identifie le no du protocole (x) et le nombre de processus esclaves mobilisés (y). 11.3.2.2 Comparaison des temps de résolution entre la version mono-processus et la version distribuée déployée à grande échelle Finalement, nous comparons avec la figure 11.12 les performances des protocoles 1 et 4 de la version distribuée avec la version mono-processus pour évaluer les accélérations maximales pouvant être obtenues en mobilisant un nombre important de processus esclaves. Concernant la version mono-processus, le mode multi-candidat est désactivé alors que le mode multipermutation est activé avec 10 permutations. La meilleure accélération par rapport à la version monoprocessus est obtenue par le protocole distribué no 4 en mobilisant 820 processus esclaves, on mesure alors une accélération de ×36.45. 11.4 Retour des urbanistes 11.4.1 Évaluation des solutions initiales Les urbanistes impliqués sur le projet SUSTAINS ont cherché un moyen d’analyser de manière précise la répartition des formes urbaines sur le territoire de Marne-La-Vallée, ces éléments étant automatiquement11.4. RETOUR DES URBANISTES 213 générés par notre résolution initiale. Pour cela, ils ont sélectionné à partir de nos résultats certaines formes urbaines qu’ils ont représentées séparément. Ils ont ainsi généré différentes cartes qui permettent de visualiser la répartition des formes urbaines retenues en fonction de la zone d’intensité. Ces cartes ont été réalisées pour les formes urbaines suivantes : • l’habitat collectif R+4 et R+7 (cf. figure 11.13) ; • les zones d’activités industrielles et artisanales (cf. figure 11.14) ; • les espaces verts (cf. figure 11.15). Une dernière carte reprend ensemble différentes formes urbaines positionnées par nos procédures d’optimisation : les établissements scolaires avec les différentes formes d’habitat, ceci pour évaluer leur localisation les unes avec les autres (cf. figure 11.16). A partir de ces différentes représentations, ils ont pu analyser nos résultats au regard de leurs règles métier. Nous reprenons telle quelle leur conclusion : « Ces représentations permettent de vérifier que la forme urbaine ne génère pas d’incohérence majeure, mais également de considérer les voies possibles d’amélioration de ce module. En ce qui concerne par exemple les établissements scolaires, on peut ainsi vérifier que les lycées correspondent bien à deux îlots (une taille minimale est en effet requise afin que toutes les filières puissent y être représentées). De plus, on observe qu’un collège peut être attenant à un lycée ». FIGURE 11.13 – Répartition de l’habitat collectif par rapport aux niveaux d’intensité urbaine (intensités : 2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNELA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO).214 CHAPITRE 11. EXPÉRIMENTATIONS FIGURE 11.14 – Répartition des zones d’activité par rapport aux niveaux d’intensité urbaine (intensités : 2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNELA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO). FIGURE 11.15 – Répartition des espaces verts par rapport aux niveaux d’intensité urbaine, hors espaces de respiration (intensités 2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO).11.4. RETOUR DES URBANISTES 215 FIGURE 11.16 – Visualisation des établissements scolaires et de l’habitat. Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO). 11.4.2 Évaluation du mode interactif Trois urbanistes expérimentés ont évalué de façon moins formelle les bénéfices du mode interactif au travers de discussions ouvertes. Au cours des démonstrations avec eux, nous avons passé sous silence la sélection et le chargement d’un scénario de travail, tellement cette opération parait naturelle. Nous avons donc récupéré une ville déjà organisée (résultat d’une résolution initiale) pour la modifier manuellement. Si l’on se réfère à la figure 10.2 qui met en parallèle la ville de Marne-La-Vallée organisée sous une forme aléatoire (en haut) et sous une forme optimisée (en bas), il parait beaucoup plus facile d’opérer des arrangements sur la carte optimisée qui est déjà bien structurée par rapport à l’autre totalement désorganisée. De plus, une ré-optimisation locale est beaucoup plus rapide sur une partie perturbée ayant déjà fait l’objet d’une optimisation. Passée cette étape de chargement d’un scénario de travail, les urbanistes ont été très intéressés par la possibilité de réarranger les éléments urbains sur la ville pendant que la carte se réorganise, en maintenant à la volée la cohérence des contraintes. Dans la pratique, les manipulations des utilisateurs sont susceptibles de réduire les coûts sur la contrainte d’interaction par exemple, mais il est commode de ne pas avoir à traiter manuellement ces contraintes structurelles. Un autre exemple particulièrement expressif concerne la contrainte de regroupement qui provoque le rassemblement des activités artisanales ou industrielles autour des éléments d’un groupe fragmenté en cours de déplacement. La carte de chaleur (voir la section 10.6.1) a été particulièrement appréciée car elle permet de repérer de façon très intuitive et naturelle les régions de la ville dont les propriétés urbaines sont les plus dégradées. Son actualisation « en temps réel » permet d’évaluer les impacts en cours de manipulation et guide les déplacements de l’utilisateur, ce qui constitue une aide efficace lors de ses choix. Le graphique qui propose un historique d’évolution des coûts (voir la section 10.6.2) apparaît moins intuitif et a nécessité une explication préalable avant d’être accepté des utilisateurs. La partie à gauche de l’écran, reprenant le détail des coûts par contrainte pour la configuration courante, pourrait être avantageusement remplacée par un graphique en forme de camembert plus rapide à interpréter dans ce contexte interactif.216 CHAPITRE 11. EXPÉRIMENTATIONS 11.5 Conclusion Ce chapitre commence en expliquant notre méthodologie de travail. A cette occasion, nous sommes revenus sur les premiers prototypes de notre solveur qui nous ont permis de faire des choix progressifs et éclairés. Nous avons également présenté nos différents jeux de données et l’organisation mise en place pour gérer les nombreux paramètres de configuration. Les sections implémentation et déploiement apportent des pré- cisions sur l’architecture technique mise en œuvre, le volume des développements que nous avons réalisés en équipe et mes choix de déploiement. La partie suivante aborde les composantes du tableau de bord proposé pour analyser le fonctionnement du solveur et le comportement des différentes contraintes. Plusieurs graphiques sont présentés : la variation des coûts, la répartition des coûts, la répartition des temps de calcul ou encore la vidéo qui séquence le paysage des gains potentiels liés à chaque candidat sélectionné. Cette partie se termine avec la présentation d’un graphique capable de comparer la proportion des gains obtenus et des temps cumulés (depuis le début des résolutions) à chaque itération pour trois versions différentes de nos algorithmes de résolution. Nous abordons ensuite la partie « expérimentations liées à la résolution initiale ». La première section compare les performances des principales versions (mono-processus et distribuée) en exploitant des modes de fonctionnement différents (multi-candidat, multi-permutation). Nous nous focalisons ensuite sur deux protocoles distribués (1 et 4) afin d’optimiser leur fonctionnement en qualifiant un nombre de processus esclaves permettant d’obtenir les meilleures performances possibles (en temps de résolution pour un coût cible sur une instance de taille réelle). Les meilleurs temps ont été atteints grâce à un déploiement sur 820 processus esclaves avec le protocole distribué no 4. Testé sur la ville de Marne-La-Vallée, ce protocole distribué permet une accélération ×36 par rapport à la version mono-processus exploitée en mode multipermutation activé (avec un maximum de 10 permutations). Nous terminons ce chapitre en donnant la parole aux urbanistes qui ont pu évaluer deux aspects importants de nos travaux : (i) la qualité des solutions générées par une résolution initiale et (ii) la pertinence du mode interactif. Pour les résolutions initiales proposées, aucune incohérence majeure n’a été relevée. Des possibilités d’amélioration existent et ouvrent la voie vers des perspectives de recherche complémentaires. Le mode interactif a également suscité un fort intérêt, notamment pour ses possibilités de réarranger manuellement des éléments urbains sur une ville désormais capable de s’adapter à la volée aux changements demandés, en maintenant au mieux la cohérence des contraintes urbaines. La carte de chaleur capable de représenter les anomalies urbaines par degré d’importance et de façon spatialisée constitue une véritable aide aux utilisateurs pour opérer des choix en évaluant instantanément leurs impacts.IV Conclusion 21712 Conclusion générale et perspectives 12.1 Conclusion générale Nous avons commencé ce manuscrit en présentant les villes et les concepts du développement durable, deux sujets qui ont des impacts importants sur les conditions de vie des populations urbaines de plus en plus nombreuses. La conception de villes durables nécessite de prendre des décisions complexes qui engagent des moyens souvent très importants et dont les effets sont visibles sur le long terme. Un état de l’art du domaine ainsi qu’une analyse des outils mis à disposition des urbanistes nous ont permis d’étayer nos propos. Afin d’aider les urbanistes, aménageurs et décideurs dans le processus de conception de villes durables, ma première contribution a été de proposer un modèle pour notre problème d’aménagement urbain qui repose sur des contraintes spatiales, le but étant de répartir un ensemble équilibré de formes urbaines (ré- sidences, commerces, industries, écoles, parcs, . . . ) sur un territoire vierge et délimité dans l’espace tout en assurant la satisfaction des contraintes. Pour optimiser les instances de ce problème, nous avons associé à chaque contrainte spatiale une fonction de coût capable d’évaluer le niveau de violation des différentes propriétés urbaines qu’elle représente. Une description formelle de chaque contrainte a été proposée. Ma seconde contribution porte sur la réalisation d’un solveur basé sur une méthode de recherche locale, Adaptive Search [47, 48], étendu avec des heuristiques novatrices pour améliorer les temps de calcul. Une version distribuée a également été proposée. Cette version distribuée a été déployée sur une grille de calcul1 pour générer différentes solutions sur Marne-La-Vallée, une ville nouvelle qui s’étend sur 8 728 hectares et qui regroupe 234 644 habitants. Les expérimentations menées sur cette ville ont mis en évidence des gains de temps significatifs liés à la version distribuée de notre solveur. Cette version est capable de fournir de bons résultats dans des temps raisonnables pour des villes importantes. De leur coté, les urbanistes associés au projet de recherche SUSTAINS ont vérifié la qualité des différentes solutions générées (en automatique) par notre solveur sans relever d’incohérence majeure. Ils évoquent des voies possibles pour l’amélioration de notre module. La seconde étape du processus de résolution est interactive et elle correspond à ma troisième contribution : le concepteur peut interagir avec les solutions générées tandis que le solveur ré-optimise localement les zones autour des modifications demandées. Des retours graphiques générés à la volée permettent aux opérateurs de visualiser les impacts occasionnés par leurs modifications. Une vidéo est disponible (voir ici http://vimeo.com/80211470) pour illustrer le mode de fonctionnement interactif. 1https://www.grid5000.fr 219220 CHAPITRE 12. CONCLUSION GÉNÉRALE ET PERSPECTIVES 12.2 Perspectives de recherche Concernant les performances tout d’abord, la version distribuée de notre solveur peut certainement être optimisée. Pour cela, nous pourrions envisager une organisation maître-esclaves plus sophistiquée avec des agents intermédiaires permettant de limiter les communications réseau les plus pénalisantes tout en renforçant une autonomie plus grande localement (i.e. sur chaque nœud du réseau). Suite aux évaluations des urbanistes, nous savons que le modèle que nous proposons peut être enrichi. Reste à définir avec les experts du domaine les pistes pour l’étendre ou pour l’adapter à de nouveaux besoins. En effet, le sujet que nous abordons est vaste et propice à de nouveaux projets de recherche très diversifiés. Un projet urbain peut être envisagé à différentes échelles (ville, quartier, îlot, parcelle, . . . ), et il traverse une succession d’étapes (pré-programmation, programmation, construction, . . . ) pouvant être en ruptures les unes avec les autres. Fédérer cette succession d’étapes en envisageant une continuité entre les différentes échelles constitue une perspective de recherche intéressante dans laquelle nos travaux pourraient s’intégrer. Le développement durable repose sur un équilibre entre trois piliers de base représentés par l’économie, l’écologie et les aspects sociaux. Il pourrait être utile de regrouper les contraintes de notre modèle sur la base de ces différents piliers pour envisager une résolution multi-objectifs [51]. Cette approche renforcerait la possibilité d’arbitrer des efforts limités dans un domaine pour procurer des gains significatifs dans les autres. Enfin, l’interaction que nous proposons est basée sur une représentation en 2D. Une interaction mettant en scène des scénarios de villes en 3D pourrait se justifier pour des projets qui s’intéressent plus spécifiquement à la perception visuelle ou aux ambiances urbaines. Aujourd’hui, rien ne nous empêche d’imaginer une immersion interactive dans une ville virtuelle animée où l’utilisateur modifierait la ville à son gré et se déplacerait dans les rues pour la percevoir sous ses différents points de vue et à différentes échelles : une expérience urbaine numérique pour améliorer la qualité des villes du futur. Bien que notre modèle soit limité, n’adoptant qu’une vue partielle du problème, appliqué seulement à des villes nouvelles (ou à des nouveaux quartiers), il présente de premiers éléments de réponse dans la tâche complexe d’aide à la création de villes plus durables, et ouvre des perspectives encourageantes quant à la création d’une nouvelle génération d’outils de conception, dans une approche fondamentalement pluridisciplinaire.Liste des tableaux 5.1 Problème du voyageur de commerce : temps de calcul nécessaire pour trouver le trajet le plus court en réalisant une énumération exhaustive de tous les trajets possibles en fonction du nombre de villes (un trajet pouvant être évalué en une microseconde). D’après [24]. . . 56 7.1 Pourcentages d’erreur des meilleures métaheuristiques appliquées au QAP. RobuTS (Recherche tabou robuste [263]), ReacTS (Recherche tabou réactive [17]), Rec-Sim (Recuit simulé [54]), Hybrid-Gen (Algorithme génétique [94]), Hybrid-Ant (Méthode de colonies de fourmis [100]). D’après T. MAUTOR [187]. . . . . . . . . . . . . . . . . . . . . . . . 127 8.1 Paramètres des contraintes de regroupement par forme urbaine. . . . . . . . . . . . . . . 140 9.1 Principales caractéristiques liées au fonctionnement des différents protocoles distribués. . . 162 9.2 Protocole no 4 : exemple de décomposition de la carte d’une ville en quatre parties de taille uniforme (à gauche) et distribution de ces parties sur dix processus esclaves (à droite). . . . 174 11.1 Neuf jeux de données proposés avec une représentation simplifiée de la ville pour participer à nos expérimentations. Pour chaque taille de grille, nous mettons en correspondance le nombre de variables du problème (i.e. nombre de cellules libres). . . . . . . . . . . . . . . 194 221Table des figures 1.1 Organisation de la thèse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1 Comparaison entre planification des villes et urbanisme ; d’après [69]. . . . . . . . . . . . 22 4.1 Échanges entre les modules attribués aux différents acteurs du projet SUSTAINS : ① Surface à aménager et autres paramètres ② Objectif en nombre d’îlots de chaque type (maisons, immeubles d’habitation, commerces, écoles, bureaux, . . . ) ③ Adresse du fichier de configuration ④ Contenu du fichier de configuration dans lequel est assigné à chaque îlot symbolique une fonction urbaine (maisons, immeubles d’habitation, commerces, écoles, bureaux, . . . ) ⑤ Données sous la forme d’un fichier KML ⑥ Entrées issues du traitement relatif au fichier KML ⑦ Volumes annuels de consommation par mode sous la forme d’un fichier CSV ⑧ Fichier KML dans lequel a été inclus l’ensemble des résultats énergie et transport ⑨ Fichier 3D de base ⑩ État du traitement du fichier 3D et index du projet. (Schéma extrait du rapport de fin de projet SUSTAINS.) . . . . . . . . . . . . . . . . . . 46 4.2 Conception d’un environnement urbain durable en 4 étapes : (1) paramétrage des contours du territoire urbain, des propriétés, des axes principaux, des centralités et des zones d’intensités ; (2) calcul du nombre de formes urbaines par niveau d’intensité ; (3) positionnement automatique des formes urbaines sur la ville en respectant un équilibre entre les trois piliers d’un développement durable (économique, social, et environnemental) sans privilégier l’un au détriment des autres ; (4) manipulation interactive des formes urbaines avec maintien des contraintes et préférences. Les deux dernières étapes sont au cœur de notre travail de thèse. 47 5.1 Méthodes classiques d’optimisation. D’après le livre [266]. . . . . . . . . . . . . . . . . . 61 5.2 Principe lié aux algorithmes d’approximation. D’après [239]. . . . . . . . . . . . . . . . . 64 5.3 Fonctionnement général d’une méthode de recherche locale : représentation sous la forme d’une marche à travers l’espace de recherche en partant d’une solution initiale s0 et en se dirigeant de proche en proche vers une solution optimale localement s ∗ . . . . . . . . . . . 76 5.4 Optimum global et local pour un problème de minimisation. . . . . . . . . . . . . . . . . 77 5.5 Paysage lisse d’après [181]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.6 Paysage rugueux d’après [181]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.7 Paysage d’un problème d’optimisation d’après [181]. . . . . . . . . . . . . . . . . . . . . 79 5.8 Principe de génération du voisinage à partir de la solution courante et sélection d’un voisin d’après [35]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.9 Classification (I&D) des composants d’une stratégie de recherche proposée par BLUM et ROLI [30] (OG = composants exclusivement guidés par la fonction objectif ; NOG = composants I&D uniquement guidés par une ou plusieurs fonctions autres que la fonction objectif ; R = composants guidés de façon totalement aléatoire). Le composant repéré par une croix ’X’ situé à mi-chemin entre l’intensification et la diversification n’est pas stochastique. 82 223224 TABLE DES FIGURES 5.10 Recherche tabou pour un problème de minimisation : déplacement dans l’espace de recherche en sélectionnant à chaque itération le meilleur voisin dans un voisinage débarrassé des solutions récentes marquées tabou (pour éviter les cycles). On alterne ainsi entre des phases d’intensification et de diversification qui poussent la recherche à se diriger vers un optimum global. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.11 Modèle parallèle de programmation Master-Slave d’après [58]. . . . . . . . . . . . . . . . 92 5.12 Décomposition de domaine suivant le modèle de programmation Master-Slave d’après [58]. 93 5.13 Modules de la plateforme ParadisEO d’après [146]. . . . . . . . . . . . . . . . . . . . . . 98 6.1 Modèle IDC (Intelligence, Design, Choice) proposé par H.A. SIMON [249]. . . . . . . . . 100 6.2 Correspondance entre l’importante des phases du modèle IDC et la structuration des décisions proposée par LE MOIGNE [167]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.3 Structure d’un SAD proposée par SPRAGUE [255]. . . . . . . . . . . . . . . . . . . . . . 102 6.4 Comparaison des profils de qualité de deux méthodes de résolution M1 et M2 sur une même instance de problème. Bien que les deux méthodes atteignent l’optimum pour un temps T de résolution identique, la méthode M1 apparaît plus efficace que M2 dans un contexte interruptible. D’après la thèse de Lionel LOBJOIS [172]. . . . . . . . . . . . . . . . . . . 105 7.1 Profit de la rente foncière et anneaux de Von THÜNEN (pour 3 anneaux). D’après J.H. VON THÜNEN et al. [279]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.2 Modèle de CHRISTALLER : théorie des lieux centraux. D’après W. CHRISTALLER [45]. . . 111 7.3 Modèle de ZIPF : relation rang-taille des unités urbaines françaises en 1990. D’après FABRIÈSVERFAILLIE et al. [89]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 7.4 Modèle de rente à payer en fonction de la distance au centre. D’après W. ALONSO [6]. . . 112 7.5 Modèle radioconcentrique de BURGESS. D’après E.W. BURGESS [37]. . . . . . . . . . . . 112 7.6 Modèle de HOYT sur la théorie des secteurs : (1) Centre des affaires, (2) Industries et entrepôts, (3) Résidences des classes pauvres, (4) Résidences des classes moyennes, (5) Résidences des classes aisées. D’après H. HOYT [137]. . . . . . . . . . . . . . . . . . . . . . 113 7.7 La théorie des centres multiples : (1) Centre des affaires, (2) Industries légères et entrepôts, (3) Résidences des classes pauvres, (4) Résidences des classes moyennes, (5) Résidences des classes aisées, (6) Industries lourdes. D’après C.D. HARRIS et E.L. ULLMAN [129]. . 113 7.8 Schéma simplifié d’un modèle dynamique de type LUTI. D’après le rapport final sur la première phase d’ULTISIM [61]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 7.9 Positionnement des modèles LUTI. D’après le rapport final sur la première phase d’ULTISIM [61]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 7.10 Cours du temps dans UrbanSim. D’après le Rapport 1 - SIMAURIF [246] . . . . . . . . . 119 7.11 Affectation (assignment) π = (3, 2, 4, 1). D’après R.Z. FARAHANI et al. [90]. . . . . . . . 126 7.12 Publications : proportions des solutions techniques proposées pour les QAP. D’après R.Z. FARAHANI et al. [90]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 8.1 Formes urbaines réparties automatiquement sur la zone expérimentale de la ville de Marnela-Vallée, en prenant en compte les contraintes d’un développement urbain durable exprimées par les urbanistes. D’après les travaux du projet SUSTAINS - schéma fourni par le LIMSI (Laboratoire d’informatique pour la mécanique et les sciences de l’ingénieur). . . . 132 8.2 Illustration de la distance de Tchebychev à partir de la cellule marquée par un « O » et positionnée en ligne 3, colonne 3 : chaque colonne est repérée par sa distance (allant de 1 à 4) par rapport à la cellule « O ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 8.3 Illustration de la distance de Manhattan à parcourir entre le point de départ « D » et le point d’arrivée « A ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136TABLE DES FIGURES 225 8.4 (V 2 3,3 ) représente le voisinage de la cellule marquée par un « O » et positionnée en ligne 3, colonne 3 pour une taille de voisinage = 2 : le voisinage est constitué de toutes les cellules marquées par un « 1 » et un « 2 ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 8.5 (V¯2 3,3 ) représente l’anneau de voisinage de la cellule marquée par un « O » et positionnée en ligne 3, colonne 3 pour une taille de voisinage = 2 : l’anneau est constitué de toutes les cellules marquées par un « 2 ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 8.6 Contrainte d’interaction entre formes urbaines permettant d’exprimer les préférences de positionnement des formes urbaines les unes par rapport aux autres. Chaque cellule est en interaction avec ses cellules voisines dans un voisinage limité à une taille de 3 cellules. La force d’interaction entre deux cellules diminue avec l’augmentation de la distance qui les sépare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 8.7 Contrainte de distance minimale de séparation entre formes urbaines. . . . . . . . . . . . . 140 8.8 Contraintes de regroupement d’une forme urbaine. . . . . . . . . . . . . . . . . . . . . . 141 8.9 Contrainte d’accessibilité globale avec une distance de couverture limitée à 4 cellules (en distance de Manhattan) : coût imputé sur chaque cellule habitée et non couverte par un espace de respiration. Dans cet exemple, la cellule marquée « ER » correspond à la seule cellule occupée par un espace de respiration. . . . . . . . . . . . . . . . . . . . . . . . . . 142 8.10 Contrainte d’accessibilité locale avec une distance de couverture limitée à 4 cellules (distance de Tchebychev) : on indique le nombre d’espaces de respiration qui couvrent chaque cellule habitée. Dans cet exemple, les cellules marquées « ER1 » et « ER2 » correspondent aux cellules occupées par un espace de respiration. Les cellules habitées marquées avec le chiffre « 0 » sont les cellules qui vont alimenter la fonction de coût (pénalité pour chaque cellule sans couverture). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 8.11 Illustration des séparations simples ou doubles entre la cellule centrale et les cellules de l’anneau périphérique situées à une distance stricte d = 2. . . . . . . . . . . . . . . . . . . 145 8.12 Emprise au sol : le nombre d’espaces verts au pied d’un collège ou d’un lycée est imposé et ce nombre dépend de la présence de certaines formes urbaines particulières à proximité de l’établissement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 8.13 Filtrage et diversité des formes urbaines sur chaque centralité : la centralité principale est constituée de quatre cellules repérées par l’utilisateur avec la lettre « C » et disposées de part et d’autre d’un axe routier important (avenues). Les formes urbaines positionnées sur ces cellules doivent être « 6= » entre elles pour favoriser la diversité et un filtre « F » limite les formes urbaines pouvant prendre place sur chaque cellule. . . . . . . . . . . . . . . . . 147 9.1 Initialisation aléatoire : structures de données utilisées pour créer une solution initiale. . . . 151 9.2 Initialisation gloutonne : paramétrage, par forme urbaine, de la priorité de placement et du mode de sélection d’une cellule. On commence par positionner l’industrie (no 1) et on termine par le placement des espaces de respiration (no 19). La colonne « random » indique si on doit choisir une cellule disponible au hasard ou si on choisit celle qui génère un coût d’affectation minimum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 9.3 Initialisation gloutonne : structures de données utilisées pour créer une solution initiale. . . 153 9.4 Mode distribué : fonctionnement général maître-esclaves. La partie « itérations » signalée en foncé est spécifique à chaque protocole distribué que nous proposons et elle fera l’objet d’un schéma complémentaire dans les sections correspondantes. . . . . . . . . . . . . . . 161 9.5 Exemple de découpage d’une grille pour former 4 partitions de même taille : chaque groupe est composé de 18 cellules libres, les cellules fixes étant repérées par un caractère « X ». . 164226 TABLE DES FIGURES 9.6 Comparaison du fonctionnement général de chaque protocole distribué pour une itération. Avec : (DC) Demande Candidats ; (RC) Recherche Candidats ; (SC) Synchronisation Candidats ; (DP) Demande Permutations ; (RP) Recherche Permutations ; (SP) Synchronisation Permutations ; (AP) Application Permutations. Le bleu représente un travail à l’échelle d’une partition et le jaune au niveau de la grille entière. Un ovale en pointillé englobe les tâches réalisées par les esclaves, le reste étant pris en charge par le processus maître. Les doubles traits pointillés indiquent un échange via le réseau. . . . . . . . . . . . . . . . . . 168 9.7 Mode distribué : traitements réalisés à chaque itération avec le protocole no 1. Cette partie vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations » (cf. figure 9.4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 9.8 Mode distribué : traitements réalisés à chaque itération avec le protocole no 2. Cette partie vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations » (cf. figure 9.4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 9.9 Mode distribué : traitements réalisés à chaque itération avec le protocole no 3. Cette partie vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations » (cf. figure 9.4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 9.10 Mode distribué : traitements réalisés à chaque itération avec le protocole no 4. Cette partie vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations » (cf. figure 9.4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 10.1 Routage des messages et interception des événements entre le dispositif tactile et le solveur interactif. Le gestionnaire de messages prend en charge le transfert des informations sur le réseau et permet un couplage faible entre les deux processus. Deux connecteurs repérés par les lettres « E » et « S » permettent à chaque processus (émetteur/récepteur) d’intercepter les messages qui lui sont destinés ou d’injecter de nouveaux messages vers un processus destinataire dans une file donnée. Le solveur interactif incorpore les fonctionnalités du solveur de base mis au point pour la résolution initiale et lui apporte les fonctionnalités nécessaires pour gérer l’interaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 10.2 Chargement d’un scénario mémorisé préalablement. Dans un premier temps, l’utilisateur indique la ville de référence. Ensuite, il a la possibilité de charger un scénario de travail particulier relatif à cette ville. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 10.3 Paramétrage du comportement interactif. . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 10.4 Mode continu désactivé (à gauche) ou activé (à droite). . . . . . . . . . . . . . . . . . . . 184 10.5 Déplacement d’un groupe de formes urbaines en une seule opération. Lorsque la correspondance d’intensité doit être respectée, il faut conserver une correspondance stricte entre les intensités des cellules d’origine et des cellules de destination, ces intensités étant repérées dans cet exemple par les chiffres 1, 2, 3, 4. . . . . . . . . . . . . . . . . . . . . . . . . . . 185 10.6 Cercle d’influence permettant d’identifier la taille des zones impactées par un mouvement. Dans cet exemple, le cercle de gauche identifie la zone d’origine et le cercle de droite la zone de destination, les cellules appartenant à ces deux zones étant soumises à une résolution locale. En dehors des cercles, les formes urbaines restent en place. . . . . . . . . . . . . . 186 10.7 Paramétrage de la taille des cellules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 10.8 Création de la liste des permutations imposées en fonction du type de sélection et de déplacement des formes urbaines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189TABLE DES FIGURES 227 10.9 Cercles d’influences interprétés sur le solveur interactif : lorsque l’utilisateur déplace (en groupe) les formes urbaines des cellules « 1 » et « 2 » sur les cellules « 3 » et « 4 » (en une seule opération), le solveur interactif identifie autour des cellules d’origine et de destination les cellules faisant partie des cercles d’influence. Pour cela, il utilise le voisinage V d l,c de chaque cellule Vl,c impliquée dans une permutation imposée, avec d correspondant au rayon du cercle. Ces cellules sont alors marquées « sélectionnables » pour participer à l’optimisation locale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 10.10Carte de chaleur : les zones en rouge sur la carte font apparaître les régions correspondant aux coûts les plus élevés. Cette carte est directement actualisée avec les coûts de chaque variable disponibles dans notre modèle. . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 10.11Historique d’évolution des coûts par contrainte : ce graphique est composé de deux parties. La partie de gauche indique le coût lié à chaque contrainte pour la configuration courante tandis que la partie principale représente l’évolution des coûts par contrainte à intervalle de temps régulier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 11.1 Résumé des mesures sur l’application développée. Généré par l’outil SourceMonitor (http: //www.campwoodsw.com/sourcemonitor.html). Le nombre de lignes indiqué écarte les lignes vides (*). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 11.2 Récapitulatif des variations de coût par itération pour chaque contrainte. Les variations de coût qui apparaissent sur l’axe des ordonnées sont inversées sur les graphiques, de sorte qu’une variation négative apparaît au dessus de l’axe des abscisses, l’axe des abscisses représentant l’évolution du nombre des itérations au cours d’une résolution. . . . . . . . . 201 11.3 Détail des variations de coût par itération pour chaque contrainte. Les variations de coût qui apparaissent sur l’axe des ordonnées sont inversées sur les graphiques, de sorte qu’une variation négative apparaît au dessus de l’axe des abscisses, l’axe des abscisses représentant l’évolution du nombre des itérations au cours d’une résolution. . . . . . . . . . . . . . . . 202 11.4 Répartition des coûts par contrainte : à chaque itération (en abscisse), on superpose le coût total de chaque contrainte (en ordonnée). On reconstitue ainsi le coût global de la confi- guration courante qui diminue au fil de la résolution. La représentation correspond à un histogramme très resserré, on ne peut donc pas distinguer les barres qui sont réduites à des lignes verticales dont les couleurs correspondent aux rectangles de la légende : la première forme urbaine indiquée dans la légende correspond à la forme urbaine positionnée en bas du diagramme, etc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 11.5 Répartition des temps de calcul par contrainte. . . . . . . . . . . . . . . . . . . . . . . . . 204 11.6 Paysage des permutations gagnantes avec le candidat retenu pour une itération donnée. Pour l’itération courante (no 1), un candidat (i.e. cellule non représentée ici) a déjà été identifié pour participer à une permutation gagnante. Ce graphique représente la répartition spatiale des gains pouvant être obtenus en impliquant une à une chaque cellule de la grille à la permutation gagnante (i.e. avec le candidat retenu) : plus le gain potentiel est important, plus la cellule est sombre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 11.7 Évolution du paysage des permutations gagnantes avec les candidats retenus au fil de la résolution (i.e. à chaque itération), limitée aux 12 premières itérations. Chaque graphique correspond à une itération. A chaque itération, un candidat est identifié pour participer à une permutation gagnante. Chaque graphique correspond au paysage des permutations gagnantes avec le candidat retenu pour l’itération indiquée. . . . . . . . . . . . . . . . . . . 206 11.8 Évolution du paysage des permutations gagnantes avec les candidats retenus au fil de la résolution (toutes les 10 itérations). Chaque graphique correspond à une itération. A chaque itération, un candidat est identifié pour participer à une permutation gagnante. Chaque graphique correspond au paysage des permutations gagnantes avec le candidat retenu pour l’itération indiquée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207228 TABLE DES FIGURES 11.9 Comparaison des temps et des gains obtenus à chaque itération entre différentes versions de l’algorithme de résolution. L’instance correspond à une représentation simplifiée pour une grille 32x32. Les temps sont exprimés en secondes. Les échelles de temps et de gains sont identiques d’une figure à l’autre. L’axe des abscisses correspond à l’évolution du nombre des itérations au cours d’une résolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 11.10Tests des performances pour différentes versions (mono-processus, distribuée) et différents modes de fonctionnement (multi-candidat et multi-permutation). Comparaison des temps de résolution (en faisant une moyenne sur 10 exécutions par méthode) pour obtenir une solution initiale dont la qualité est imposée sur l’instance de Marne-La-Vallée. La version distribuée est évaluée avec le protocole no 4. . . . . . . . . . . . . . . . . . . . . . . . . . 210 11.11Recherche du nombre optimal de processus esclaves à mobiliser. . . . . . . . . . . . . . . 211 11.12Comparaison des temps de résolution entre la version mono-processus et la version distribuée déployée à grande échelle. Les protocoles 1 et 4 sont des protocoles distribués. Les intitulés « protocol-[x]-[y]s » identifie le no du protocole (x) et le nombre de processus esclaves mobilisés (y). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 11.13Répartition de l’habitat collectif par rapport aux niveaux d’intensité urbaine (intensités : 2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO). . . . . . . . . . . . . . . . . . . . . . 213 11.14Répartition des zones d’activité par rapport aux niveaux d’intensité urbaine (intensités : 2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO). . . . . . . . . . . . . . . . . . . . . . 214 11.15Répartition des espaces verts par rapport aux niveaux d’intensité urbaine, hors espaces de respiration (intensités 2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO). . . . 214 11.16Visualisation des établissements scolaires et de l’habitat. Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNE-LAVALLEE. Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Bibliographie [1] Droit et politiques de renouvellement urbain. Cahiers du GRIDAUH. : Droit de l’urbanisme. GRIDAUH, 2004. 33 [2] Emile Aarts and Jan K. Lenstra, editors. Local Search in Combinatorial Optimization. John Wiley & Sons, Inc., New York, NY, USA, 1st edition, 1997. 63, 150 [3] Mohammed Abdellaoui and Christophe Gonzales. Théorie de l’Utilité Multi-attributs. [33], pages 25–62. 59 [4] A. Adla. Aide à la facilitation pour une prise de décision collective : proposition d’un modèle et d’un outil. PhD thesis, Université de Toulouse III - Paul Sabatier, Spécialité : Informatique, 2010. 99 [5] Ravindra K. Ahuja, Özlem Ergun, James B. Orlin, and Abraham P. Punnen. A survey of very largescale neighborhood search techniques. Discrete Applied Mathematics, 123(1-3) :75–102, 2002. 78 [6] W. Alonso. Location and land use : toward a general theory of land rent. Publication of the Joint Center for Urban Studies. Harvard University Press, 1964. 111, 112, 224 [7] Jean-Philippe Antoni. L’ambition de modéliser la ville. In Gérard Brun, editor, Ville et mobilité - nouveaux regards, pages 227–238. Economica, 2013. 128 [8] J.P. Antoni. Modéliser la ville : Formes urbaines et politiques de transport. Collection "Méthodes et approches". Economica, 2010. 114, 115, 132, 231 [9] Krzysztof Apt. Principles of Constraint Programming. Cambridge University Press, New York, NY, USA, 2003. 63, 149, 194 [10] Alejandro Arbelaez and Philippe Codognet. A GPU Implementation of Parallel Constraint-based Local Search. Techniques foR Implementing Constraint programming Systems (TRICS), 2013. 87, 88, 150, 159 [11] François Ascher. Effet de serre, changement climatique et capitalisme cleantech. Esprit, Fé- vrier :150–164, 2008. 43 [12] Olivier Bailleux. Cours de programmation par contraintes, 2011. Master-II BD-IA & Image-IA. 56 [13] Cynthia Barnhart, Ellis L. Johnson, George L. Nemhauser, Martin W. P. Savelsbergh, and Pamela H. Vance. Branch-and-price : Column generation for solving huge integer programs. Operations Research, 46 :316–329, 1996. 62 [14] Nicolas Barnier. Application de la programmation par contraintes à des problèmes de gestion du trafic aérien. PhD thesis, Thèse doctorat informatique de l’INP Toulouse, 2002. 56 [15] Richard S. Barr, Bruce L. Golden, James P. Kelly, G. C Mauricio, William Resende, and R. Stewart. Designing and reporting on computational experiments with heuristic methods. Journal of Heuristics, 1 :9–32, 1995. 75 229230 BIBLIOGRAPHIE [16] Roman Bartak. Constraint programming : In pursuit of the holy grail. In in Proceedings of WDS99 (invited lecture, pages 555–564, 1999. 56, 63, 149, 194 [17] R. Battiti, G. Tecchiolli, and Others. The Reactive Tabu Search. ORSA Journal on Computing, 6 :126, 1994. 127, 128, 221 [18] Roberto Battiti and Marco Protasi. Reactive local search for the maximum clique problem. Algorithmica, 29(4) :610–637, 2001. 75 [19] G. Bauer and J.M. Roux. La rurbanisation ; ou, La ville éparpillée. Collection Espacements. Éditions du Seuil, 1976. 25 [20] François BELLANGER. La recherche urbaine à l’heure de la ville 2.0, Oct 2012. Entretien scienti- fique. 36, 40 [21] A. Bellicha. Maintenance of Solution in a Dynamic Constraint Satisfaction Problem. In Proc. of Applications of Artificial Intelligence in Engineering VIII, pages 261–274, Toulouse, France, 1993. 107 [22] Amit Bellicha, Bertrand Neveu, Brigitte Trousse, Christian Bessière, Christine Gaspin, David Lesaint, Fabrice Bouquet, Florence Dupin de Saint-Cyr, Gilles Trombettoni, Gérard Verfaillie, Hélène Fargier, Jean-Charles Régin, Jean-Pierre Rellier, Jérôme Amilhastre, Jérôme Lang, Khaled Ghedira, Marie-Catherine Vilarem, Martin Cooper, Mouhssine Bouzoubaa, Olivier Lhomme, Philippe Charman, Philippe David, Philippe Janssen, Philippe Jégou, Pierre Berlandier, Roger Martin-Clouaire, Thomas Schiex, and Tibor Kökény. Autour Du Problème De Satisfaction De Contraintes. In In Actes des 5èmes journées nationales du PRC GDR Intelligence Artificielle, pages 159–178, 1994. 106 [23] Richard Bellman. Dynamic Programming. Princeton University Press, Princeton, NJ, USA, 1 edition, 1957. 63 [24] Sahbi BEN ISMAIL. Cours d’ingénieurs généralistes - Introduction à l’optimisation combinatoire, 2012. 56, 221 [25] S. Ben-Mena. Introduction aux méthodes multicritères d’aides à la décision. Biotechnologie, Agronomie, Société et Environnement, 2000. 59 [26] F. Benhamou. Stratégie de développement de la recherche de l’université de nantes, programme université 2020, 2014. 30 [27] Nicolas Berger. Modélisation et résolution en programmation par contraintes de problèmes mixtes continu/discret de satisfaction de contraintes et d’optimisation. PhD thesis, Université de Nantes, October 2010. 58 [28] Antoine Billot and Jacques-François Thisse. Modèles de choix individuels discrets : théorie et applications à la micro-économie. Revue économique, 46(3) :921–931, 1995. 117 [29] James R. Bitner and Edward M. Reingold. Backtrack programming techniques. Commun. ACM, 18(11) :651–656, November 1975. 68 [30] Christian Blum and Andrea Roli. Metaheuristics in combinatorial optimization : Overview and conceptual comparison. ACM Comput. Surv., 35(3) :268–308, September 2003. 56, 72, 81, 82, 223 [31] Stefan Bock and Otto Rosenberg. A new parallel breadth first tabu search technique for solving production planning problems. International Transactions in Operational Research, 7(6) :625 – 635, 2000. 94BIBLIOGRAPHIE 231 [32] Mark Boddy and Thomas Dean. Solving time-dependent planning problems. In Proceedings of the 11th International Joint Conference on Artificial Intelligence - Volume 2, IJCAI’89, pages 979–984, San Francisco, CA, USA, 1989. Morgan Kaufmann Publishers Inc. 104 [33] Denis Bouyssou, Didier Dubois, Marc Pirlot, and Henri Prade. Concepts et méthodes pour l’aide à la décision, analyse multicritère, volume 3. Hermés, 2006. 59, 229 [34] Jurgen Branke. Evolutionary Optimization in Dynamic Environments. Kluwer Academic Publishers, Norwell, MA, USA, 2001. 60 [35] R. Braune and G. Zäpfel. Metaheuristic Search Concepts : A Tutorial with Applications to Production and Logistics. Springer, 2010. 80, 223 [36] Marilyn A. Brown, Frank Southworth, and Andrea Sarzynski. The geography of metropolitan carbon footprints. Policy and Society, 27(4) :285 – 304, 2009. 43 [37] E.W. Burgess. The Growth of the City : an Introduction to a Research Project. University of Chicago Press, 1925. 21, 112, 224 [38] S. Cahon, N. Melab, and E.-G. Talbi. Paradiseo : A framework for the reusable design of parallel and distributed metaheuristics. Journal of Heuristics, 10(3) :357–380, May 2004. 97 [39] Aurore Cambien. La modélisation urbaine : une approche historique. [8], pages 19 – 49. 114, 115 [40] Yves Caniou, Philippe Codognet, Daniel Diaz, and Salvador Abreu. Experiments in parallel constraint-based local search. In EvoCOP’11, 11th European Conference on Evolutionary Computation in Combinatorial Optimisation, Lecture Notes in Computer Science, Torino, Italy, 2011. Springer Verlag. 159 [41] Michel Cantal-Dupart. Vivre un grand paris, Oct 2013. Note ouverte au Président de la République sur le Grand Paris. 19, 34, 37 [42] V Cerny. Thermodynamical approach to the traveling salesman problem : An efficient simulation algorithm. Journal of Optimization Theory and Applications, 45(1) :41–51, 1985. 65, 83, 150 [43] F. Choay. L’Urbanisme : utopies et réalités. Points (Paris). Éditions du Seuil, 1965. 22 [44] Solver Choco. Présentation - tutorial et documentation, 2011. 56 [45] Walter Christaller. Central Places in Southern Germany. Prentice-Hall, 1966. 110, 111, 224 [46] Maurice Clerc and Patrick Siarry. Une nouvelle métaheuristique pour l’optimisation difficile : la méthode des essaims particulaires, 2004. J3eA. 59 [47] Philippe Codognet and Daniel Diaz. Yet Another Local Search Method for Constraint Solving. In proceedings of SAGA’01, volume 2264 of Lecture Notes in Computer Science, pages 73–90. Springer Verlag, 2001. 56, 66, 86, 150, 152, 219 [48] Philippe Codognet and Daniel Diaz. An Efficient Library for Solving CSP with Local Search. In 5th international Conference on Metaheuristics, pages 1–6, Kyoto, Japan, 2003. 86, 150, 219 [49] Philippe Codognet, Daniel Diaz, and Charlotte Truchet. The Adaptive Search Method for Constraint Solving and its application to musical CSPs. In International Workshop on Heuristics, page 9 pages, Beijing, Chine, 2002. 87 [50] S. G. Cohen and D. E. Bailey. What makes teams work : Group effectiveness research from the shop floor to the executive suite. Journal of Management, 23(3) :239–291, 1997. 102232 BIBLIOGRAPHIE [51] Jared L. Cohon. Multiobjective Programming and Planning. Mathematics in science and engineering. Academic Press, 1978. 59, 220 [52] N. E. Collins, R.W. Eglese, and Golden B.L. Simulated Annealing : an Annotated Bibliography. American Journal of Mathematical and Management Sciences, 8(3-4) :209–307, January 1988. 84 [53] Clayton W. Commander. A survey of the quadratic assignment problem, with applications. Morehead Electronic Journal of Applicable Mathematics, 4 :MATH–2005–01, 2005. 126 [54] David T. Connolly. An improved annealing scheme for the {QAP}. European Journal of Operational Research, 46(1) :93 – 100, 1990. 127, 221 [55] L. Corbusier and J. Giraudoux. La charte d’Athènes. Cahiers forces vives. Éditions de Minuit, 1957. 11, 24 [56] J.-C. COURBON, D. DUBOIS, and B. ROY. Autour de l’aide à la décision et l’intelligence artifi- cielle. IBP-Laforia, 1994. Rapport de Recherche. 102, 103 [57] Teodor Gabriel Crainic and Michel Toulouse. Parallel Strategies for Meta-heuristics. [117], pages 475–513. 76 [58] Teodor Gabriel Crainic and Michel Toulouse. Parallel Meta-Heuristics. In Handbook of metaheuristics, pages 497–541. Springer US, 2010. 91, 92, 93, 94, 159, 224 [59] Andrew Crooks, Christian Castle, and Michael Batty. Key challenges in agent-based modelling for geo-spatial simulation. Computers, Environment and Urban Systems, 32(6) :417 – 430, 2008. GeoComputation : Modeling with spatial agents. 115 [60] John Current, Mark Daskin, and David Schilling. Discrete Network Location Models. [80], pages 81–118. 125 [61] Institut d’aménagement et d’urbanisme de la région d’Île-de France. ULTISIM, vers un modèle intégré transport-urbanisme européen : première phase : rapport final. IAU Île-de-France, 2011. 115, 116, 117, 224 [62] G. B. Dantzig. Maximization of a Linear Function of Variables Subject to Linear Inequalities, in Activity Analysis of Production and Allocation, chapter XXI. Wiley, New York, 1951. 61 [63] D. Dasgupta and Z. Michalewicz. Evolutionary Algorithms in Engineering Applications. U.S. Government Printing Office, 1997. 74 [64] C. de Portzamparc. la Ville âge III. Éditions du Pavillon de l’Arsenal, 1997. 26 [65] J. de Rosnay. Le Macroscope : vers une vision globale. Collection Civilisation. Éditions du Seuil, 1975. 114 [66] D. de Werra and A. Hertz. Tabu search techniques. Operations-Research-Spektrum, 11(3) :131–141, 1989. 85, 157 [67] Thomas Dean and Mark Boddy. An analysis of time-dependent planning. In Proceedings of the Seventh National Conference on Artificial Intelligence (AAAI-88), pages 49–54. AAAI Press/MIT Press, August 1988. 104 [68] Rina Dechter and Avi Dechter. Belief Maintenance in Dynamic Constraint Networks. Proceedings of AAAI, pages 37–42, 1988. 60BIBLIOGRAPHIE 233 [69] Philippe Dehan, Enseignant-Chercheur. Cours ingénieur - modes opératoires de l’urbanisme contemporain, 2011. 19, 22, 33, 223 [70] Xavier Desjardins. Pour l’atténuation du changement climatique, quelle est la contribution possible de l’aménagement du territoire ?, March 2011. Cybergeo : European Journal of Geography [En ligne], Aménagement, Urbanisme, document 523. 43 [71] Xavier Desjardins. Formes urbaines. [88], pages 108–109. 31 [72] I. Devarenne, A. Caminada, and H. Mabed. Analysis of adaptive local search for the graph coloring problem. In Proceedings of the 6th Metaheuristics International Conference, MIC 2005, Vienne Autriche, 2005. 86 [73] Isabelle Devarenne, Hakim Mabed, and Alexandre Caminada. Intelligent neighborhood exploration in local search heuristics. In Proceedings of the 18th IEEE International Conference on Tools with Artificial Intelligence, ICTAI ’06, pages 144–150, Washington, DC, USA, 2006. IEEE Computer Society. 86 [74] Luca Di Gaspero and Andrea Schaerf. Easylocal++ : An object-oriented framework for the flexible design of local-search algorithms. Softw. Pract. Exper., 33(8) :733–765, July 2003. 96, 194, 197 [75] Daniel Diaz, Salvador Abreu, and Philippe Codognet. Targeting the cell/be for constraint-based local search. Concurrency and Computation : Practice and Experience, 24(6) :647–660, 2012. 159 [76] Mohammad Dib. Tabu-NG : hybridation de programmation par contraintes et recherche locale pour la résolution de CSP. PhD thesis, Université de Technologie de Belfort-Montbeliard, December 2010. 56, 66, 67, 89 [77] J. Donzelot, C. Mével, and A. Wyvekens. Faire société : la politique de la ville aux États-Unis et en France. La couleur des idées. Seuil, 2003. 20 [78] Marco Dorigo. Ant colony optimization : A new meta-heuristic. In Proceedings of the Congress on Evolutionary Computation, pages 1470–1477. IEEE Press, 1999. 55, 65 [79] J. Dréo. Metaheuristics for Hard Optimization : Methods and Case Studies. Springer, 2006. 73 [80] Z. Drezner and H.W. Hamacher. Facility Location : Applications and Theory. Springer series in operations research. Springer, 2004. 124, 149, 232, 241 [81] Alexis Drogoul. De la simulation multi-agent à la résolution collective de problèmes. PhD thesis, Université Paris VI, 1993. 55 [82] Dominique Dron. Origine du développment durable. [88], pages 24–25. 29, 30 [83] Claude Duvallet. Des systèmes d’aide à la décision temps réel et distribués : modélisation par agents. PhD thesis, Doctorat Informatique de l’Université du Havre, 2001. 99, 103, 104 [84] D. Duvivier, Ph. Preux, and E.-G. Talbi. Climbing up NP-hard hills. In Parallel Problem Solving from Nature - PPSN IV, volume 1141 of Lecture Notes in Computer Science, pages 574–583. Springer Berlin Heidelberg, 1996. 79 [85] J. Edmonds. Matroids and the greedy algorithm. Mathematical Programming, 1 :127–136, 1971. 70, 149 [86] A. Elkhyari. Outils d’aide à la décision pour des problèmes d’ordonnancement dynamiques. 2003. 107234 BIBLIOGRAPHIE [87] Agathe Euzen. À propos du développment durable. [88], page 23. 29, 30 [88] Agathe Euzen, Laurence Eymard, and Françoise Gaill. Le développement durable à découvert. A découvert. CNRS Editions, 2013. 233, 234, 235, 238, 240, 242, 244 [89] M. Fabriès-Verfaillie, P. Stragiotti, and A. Jouve. La France des villes : le temps des métropoles ? Bréal, 2000. 111, 224 [90] R.Z. Farahani and M. Hekmatfar. Facility Location : Concepts, Models, Algorithms and Case Studies. Contributions to Management Science. Physica, 2009. 125, 126, 224 [91] Thomas A. Feo and Mauricio G.C. Resende. Greedy Randomized Adaptive Search Procedures. Journal of Global Optimization, 6 :109–133, 1995. 89 [92] J. Ferber. Les systèmes multi-agents : Vers une intelligence collective. I.I.A. Informatique intelligence artificielle. InterEditions, 1995. 55 [93] Andreas Fink, Stefan Voß, and DavidL. Woodruff. Building reusable software components for heuristic search. 1998. 97 [94] Charles Fleurent and Jacques A. Ferland. Genetic Hybrids for the Quadratic Assignment Problem. In DIMACS Series in Mathematics and Theoretical Computer Science, pages 173–187. American Mathematical Society, 1993. 127, 221 [95] R. Fondi and P. Baillet. La Révolution organiciste : entretien sur les nouveaux courants scientifiques. Livre-club du Labyrinthe. Labyrinthe, 1986. 114 [96] J.W. Forrester. Urban dynamics. M.I.T. Press, 1969. 114 [97] T. Frühwirth and S. Abdennadher. Essentials of Constraint Programming. Cognitive Technologies. Springer, 2003. 63, 149, 194 [98] Alexandre Gachet. A framework for developing distributed cooperative decision support systems - inception phase, 2001. Informing Science - Challenges to Informing Clients : A Transdisciplinary Approach. 103 [99] Philippe Galinier and Jin-Kao Hao. A General Approach for Constraint Solving by Local Search. In In CP-AI-OR’00, 2000. 87, 154 [100] L. M. Gambardella, E. Taillard, and M. Dorigo. Ant colonies for the Quadratic Assignment Problem. Journal of the Operational Research Society, (50) :167–176, 1999. 127, 221 [101] Bruno-Laurent Garcia, Jean-Yves Potvin, and Jean-Marc Rousseau. A Parallel Implementation of the Tabu Search Heuristic for Vehicle Routing Problems with Time Window Constraints. Computers & Operations Research, 21(9) :1025 – 1033, 1994. 92 [102] V. Gardeux. Conception d’heuristiques d’optimisation pour les problèmes de grande dimension. Application à l’analyse de données de puces à ADN. PhD thesis, Paris-Est University, Créteil, France, November 2011. 91 [103] F. Gardi, T. Benoist, J. Darlay, B. Estellon, and R. Megel. Mathematical Programming Solver Based on Local Search. Wiley, 2014. 97 [104] Michael R. Garey and David S. Johnson. Computers and Intractability : A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1979. 58BIBLIOGRAPHIE 235 [105] M. Gen and R. Cheng. A survey of penalty techniques in genetic algorithms. In Evolutionary Computation, 1996., Proceedings of IEEE International Conference on, pages 804–809, May 1996. 74 [106] M. Gendreau. An Introduction to Tabu Search. In F. Glover and G. Kochenberger, editors, Handbook of Metaheuristics, chapter 2, pages 37–54. Kluwer Academic Publishers, 2003. 86 [107] Michel Gendreau, Alain Hertz, and Gilbert Laporte. A tabu search heuristic for the vehicle routing problem. Management Science, 40(10) :1276–1290, 1994. 86 [108] Commission Européenne. Direction générale de la politique régionale. Les villes de demain : Défis, visions et perspectives. Office des publications de l’Union européenne, 2011. 40 [109] Cynthia Ghorra-Gobin. Le territoire métropolitain à l’heure de la mondialisation. [88], pages 28–29. 31 [110] P. C. Gilmore and R. E. Gomory. A Linear Programming Approach to the Cutting-Stock Problem. Operations Research, 9(6) :849–859, November 1961. 62 [111] Fred Glover. Future paths for integer programming and links to artificial intelligence. Comput. Oper. Res., 13(5) :533–549, May 1986. 65, 72, 84, 150, 155, 157, 194 [112] Fred Glover. Tabu Search - Part I. ORSA Journal on Computing, 1(3) :190–206, 1989. 65, 81, 86, 150, 155 [113] Fred Glover. Tabu Search - Part II. ORSA Journal on Computing, 2 :4–32, 1990. 65, 81, 86, 150, 155 [114] Fred Glover. Scatter search and path relinking. New ideas in optimization, pages 297–316, 1999. 65 [115] Fred Glover and Manuel Laguna. Tabu Search. Kluwer Academic Publishers, Norwell, MA, USA, 1997. 56, 65, 81, 150, 155 [116] Fred Glover, Manuel Laguna, and Rafael Martí. Fundamentals of scatter search and path relinking. CONTROL AND CYBERNETICS, 39 :653–684, 2000. 65 [117] Fred W. Glover and Gary A. Kochenberger. Handbook of Metaheuristics. International Series in Operations Research & Management Science. Springer, 1 edition, 2003. 232, 238 [118] David E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. AddisonWesley Longman Publishing Co., Inc., Boston, MA, USA, 1st edition, 1989. 65 [119] R. E. Gomory. Outline of an algorithm for integer solutions to linear programs. Bulletin of the American Society, 64 :275–278, 1958. 62 [120] Yves Grafmeyer and Isaac Joseph. L’École de Chicago. Naissance de l’écologie urbaine. Aubier, 1984. 112 [121] S. A. Groenewegen, R. M. Smelik, K. J. de Kraker, and R. Bidarra. Procedural city layout generation based on urban land use models. In EUROGRAPHICS, 2009. 137 [122] William Grossin. Berger gaston, phénoménologie du temps et prospective. Revue française de sociologie, 6(3) :388–389, 1965. 128 [123] P. Haggett and R.J. Chorley. Models, paradigms and the new geography. The Trinity Press, 1967. 109236 BIBLIOGRAPHIE [124] S. L. Hakimi. Optimum Locations of Switching Centers and the Absolute Centers and Medians of a Graph. Operations Research, 12(3) :450–459, 1964. 125 [125] P. Hansen. The Steepest Ascent Mildest Descent Heuristic for Combinatorial Programming. In Proceedings of the Congress on Numerical Methods in Combinatorial Optimization, Capri, Italy, 1986. 65, 84, 150, 155 [126] Pierre Hansen and Nenad Mladenovic. Variable neighborhood search : Principles and applications. European Journal of Operational Research, 130(3) :449–467, 2001. 89 [127] J K Hao, P Galinier, and M Habib. Métaheuristiques pour l’optimisation combinatoire et l’affectation sous contraintes. Revue d’intelligence artificielle, 13(2) :283–324, 1999. 56, 63, 65, 86, 89, 106, 150 [128] Jin-Kao Hao and Christine Solnon. Algorithmes pour l’intelligence artificielle, chapter Métaheuristiques et intelligence artificielle. Cépaduès, December 2014. 81 [129] C.D. Harris and E.L. Ullman. The Nature of Cities, volume 242. 1945. 112, 113, 224 [130] G. Hégron, L. Tapadinhas, and Groupement d’intérêt scientifique Modélisation urbaine (France). Modélisation urbaine : de la représentation au projet : [actes du colloque tenu à Paris, École des Ponts-Paris Tech, 23-24 février 2011]. RéférenceS / Commissariat général au développement durable. Commissariat général au développement durable, 2012. 35 [131] A. Hertz and D. de Werra. The tabu search metaheuristic : How we used it. Annals of Mathematics and Artificial Intelligence, 1(1-4) :111–121, 1990. 85, 157 [132] A. Hertz and M. Widmer. La méthode TABOU appliquée aux problèmes d’ordonnancement. Journal européen des systémes automatisés : JESA., 1995. 79 [133] John H. Holland. Adaptation in Natural and Artificial Systems : An Introductory Analysis with Applications to Biology, Control and Artificial Intelligence. MIT Press, Cambridge, MA, USA, 1992. 55, 65 [134] S. Holtzman. Intelligent Decision Systems. Teknowledge Series in Knowledge Engineering. Addison-Wesley, 1989. 99 [135] H.H. Hoos and T. Stützle. Stochastic Local Search : Foundations & Applications. The Morgan Kaufmann Series in Artificial Intelligence. Elsevier Science, 2004. 82 [136] Eric J. Horvitz. Reasoning about beliefs and actions under computational resource constraints. In In Proceedings of the 1987 Workshop on Uncertainty in Artificial Intelligence, pages 429–444, 1987. 104 [137] H. Hoyt. The Structure and Growth of Residential Neighborhoods in American Cities. Federal housing administration. U.S. Government Printing Office, 1939. 112, 113, 224 [138] B. A. Huberman, R. M. Lukose, and T. Hogg. An economic approach to hard computational problems. Science, 27 :51–53, 1997. 94, 159 [139] D. L. Huff. Defining and Estimating a Trading Area. Journal of Marketing, 28,(3) :34–38, 1964. 113 [140] J.L. Huot. La Ville neuve : une idée de l’Antiquité ? Cahiers du G.S. 72, Terrains et théories en archéologie. Éditions Errance, 1988. 19 [141] IBM France. Réinventons la ville. Regards sur des villes intelligentes, 2010. Think. 19BIBLIOGRAPHIE 237 [142] J. Jacobs. The economy of cities. Vintage international. Random House, 1969. 20 [143] Arun Jagota and LauraA. Sanchis. Adaptive, restart, randomized greedy heuristics for maximum clique. Journal of Heuristics, 7(6) :565–585, 2001. 71, 150 [144] Yaochu Jin and J. Branke. Evolutionary optimization in uncertain environments-a survey. Trans. Evol. Comp, 9(3) :303–317, June 2005. 60 [145] EllisL. Johnson. Modeling and strong linear programs for mixed integer programming. In SteinW. Wallace, editor, Algorithms and Model Formulations in Mathematical Programming, volume 51 of NATO ASI Series, pages 1–43. Springer Berlin Heidelberg, 1989. 63 [146] Laetitia Jourdan. Métaheuristiques Coopératives : du déterministe au stochastique. Hdr, Université des Sciences et Technologie de Lille - Lille I, September 2010. 89, 95, 98, 224 [147] Narendra Jussien, Guillaume Rochart, and Xavier Lorca. Choco : an Open Source Java Constraint Programming Library. In CPAIOR’08 Workshop on Open-Source Software for Integer and Contraint Programming (OSSICP’08), pages 1–10, Paris, France, France, 2008. 149, 194 [148] N. Karmarkar. A new polynomial-time algorithm for linear programming. In Proceedings of the Sixteenth Annual ACM Symposium on Theory of Computing, STOC ’84, pages 302–311, New York, NY, USA, 1984. ACM. 61 [149] P. G. W. Keen and M. S. Scott Morton. Decision Support Systems : An Organizational Perspective. Addison-Wesley, Reading, 1978. 102, 177 [150] J. Kennedy and R. Eberhart. Particle swarm optimization. In Neural Networks, 1995. Proceedings., IEEE International Conference on, volume 4, pages 1942–1948 vol.4, Nov 1995. 55, 65 [151] Gregory E. Kersten and Geoffrey R. Mallory. Supporting problem representations in decisions with strategic interactions. European Journal of Operational Research, 46(2) :200 – 215, 1990. 102 [152] Madjid Khichane. Optimisation sous contraintes par Intelligence Collective Auto-adaptative. Thèse de doctorat en informatique, Université Claude Bernard, October 2010. 89 [153] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi. Optimization by simulated annealing. Science, Number 4598, 13 May 1983, 220, 4598 :671–680, 1983. 65, 83, 150 [154] A. Koestler and G. Fradier. Le Cheval dans la locomotive : le Paradoxe humain. Génie et folie de l’homme. Calmann-Lévy, 1968. 114 [155] Tjalling C. Koopmans and Martin Beckmann. Assignment Problems and the Location of Economic Activities. Econometrica, 25(1) :53–76, 1957. 125 [156] Jakob Krarup and Peter Mark Pruzan. The simple plant location problem : Survey and synthesis. European Journal of Operational Research, 12(1) :36 – 81, 1983. 125 [157] Krzysztof Krawiec. Metaheuristic Design Pattern : Candidate Solution Repair. In Proceeding of the sixteenth annual conference on Genetic and evolutionary computation conference, GECCO ’14, New York, NY, USA, 2014. ACM. 74 [158] M. Kwartler and R Bernard. Communityviz : an integrated planning support system. Planning Support Systems, November 2001. 49 [159] Thomas J. Laffey, Preston A. Cox, James L. Schmidt, Simon M. Kao, and Jackson Y. Read. Real-time knowledge-based systems. AI Magazine, 9(1) :27–45, 1988. 103238 BIBLIOGRAPHIE [160] Yannick Lageat. Variation du trait de côte. [88], pages 76–77. 29 [161] Manuel Laguna, Rafael Marti, and Vicente Campos. Intensification and diversification with elite tabu search solutions for the linear ordering problem. Computers & Operations Research, 26(12) :1217 – 1230, 1999. 81 [162] Tony Lambert. Hybridation de méthodes complètes et incomplètes pour la résolution de CSP. These, Université de Nantes, October 2006. 89 [163] A. H. Land and A. G Doig. An automatic method of solving discrete programming problems. Econometrica, 28(3) :497–520, 1960. 62 [164] Pedro Larraanaga and Jose A. Lozano. Estimation of Distribution Algorithms : A New Tool for Evolutionary Computation. Kluwer Academic Publishers, Norwell, MA, USA, 2001. 70 [165] Catherine Larrère. Éthique et philosophie de l’environnement. [88], pages 48–49. 30 [166] P. Lavedan. Géographie des villes. Géographie humaine. Gallimard, 1936. 19 [167] J.L. Le Moigne. Les systèmes de décision dans les organisations. Systèmes décisions. Section 1 : Systèmes, plans, contrôles. Presses universitaires de France, 1974. 100, 101, 224 [168] Julien Lepagnot. Conception de métaheuristiques pour l’optimisation dynamique : application à l’analyse de séquences d’images IRM. These, Université Paris-Est, December 2011. 60 [169] Arnaud Letort. Passage à l’échelle pour les contraintes d’ordonnancement multi-ressources. These, Ecole des Mines de Nantes, October 2013. 63 [170] P. Lévine, G. Benchimol, and J.C. Pomerol. Systèmes experts dans l’entreprise. Traité des Nouvelles Technologies : Série décision assistée par ordinateur. Hermes, 1990. 101 [171] P. Lévine and J.C. Pomerol. Systèmes interactifs d’aide à la décision et systèmes experts. Hermes, 1989. 100, 101, 102, 103, 177 [172] L. Lobjois. Problèmes d’optimisation combinatoire sous contraintes : vers la conception automatique de méthodes de résolution adaptées à chaque instance. 1999. 103, 105, 106, 224 [173] Pierre-Yves Longaretti. Changements globaux. [88], pages 40–41. 29 [174] Michel Loreau. Modélisation et expérimentation pour la biodiversité. [88], pages 90–91. 30 [175] A. Lösch. Die räumliche Ordnung der Wirtschaft. G. Fischer, 1940. (L’organisation spatiale de l’économie - ouvrage non traduit en français). 111 [176] Helena R. Lourenço, Olivier C. Martin, and Thomas Stützle. A Beginner’s Introduction to Iterated Local Search. In Proceedings of MIC 2001, Porto, Portuga, July 2001. 83 [177] Helena R. Lourenço, Olivier C. Martin, and Thomas Stützle. Iterated Local Search. [117], pages 321–353. 65, 83, 150 [178] F. Loyer and H. Guéné. Henri Sauvage : les immeubles à gradins. Mardaga, 1987. 23 [179] A.K. MACKWORTH. Constraint satisfaction. S.C. Shapiro (Ed.) Encyclopedia on Artificial Intelligence, John Wiley & Sons, NY, 1987. 68 [180] D. Mangin. La Ville franchisée : Formes et structures de la ville contemporaine. Éd. de la Villette, 2004. 27, 31BIBLIOGRAPHIE 239 [181] Marie-Eleonore Marmion. Recherche locale et optimisation combinatoire : de l’analyse structurelle d’un problème à la conception d’algorithmes efficaces. These, Université des Sciences et Technologie de Lille - Lille I, December 2011. 79, 90, 223 [182] N. Mars, A. Hornsby, and Dynamic City Foundation. The Chinese Dream : A Society Under Construction. 010 Publishers, 2008. 12 [183] J.P. Martin. Un langage de modélisation à base de règles pour la programmation par contraintes. PhD thesis, UNIVERSITÉ PIERRE ET MARIE CURIE, 2010. 96 [184] Olivier Martin, Steve W. Otto, and Edward W. Felten. Large-Step Markov Chains for the Traveling Salesman Problem. Complex Systems, 5 :299–326, 1991. 83 [185] H. Mathieu and M. Tilmont. Étude sur les relations entre problèmes énergétiques et aménagement urbain. Centre de Recherche d’Urbanisme, 1978. 43 [186] J.L. Maupu. La ville creuse pour un urbanisme durable. Editions L’Harmattan, 2006. 36, 38 [187] Thierry Mautor. Méta-heuristiques et méthodes exactes pour les problèmes d’optimisation combinatoire difficiles : illustration sur le problème d’affectation quadratique. Hdr, Université de Versailles - Saint-Quentin-en-Yvelines, 2001. 90, 95, 126, 127, 128, 221 [188] P. Merlin. L’urbanisme. Que sais-je ? Presses universitaires de France, 2007. 20 [189] Nicholas Metropolis, Arianna W. Rosenbluth, Marshall N. Rosenbluth, Augusta H. Teller, and Edward Teller. Equation of State Calculations by Fast Computing Machines. The Journal of Chemical Physics, 21(6) :1087–1092, June 1953. 83 [190] Zbigniew Michalewicz, Dipankar Dasgupta, Rodolphe G. Le Riche, and Marc Schoenauer. Evolutionary algorithms for constrained engineering problems. Evolutionary Computation, 4 :1–32, 1996. 73 [191] L. Michel and P. Van Hentenryck. Localizer : A Modeling Language for Local Search. In Third International Conference on the Principles and Practice of Constraint Programming (CP’97), Lintz, Austria, October 1997. 96 [192] Steven Minton, Mark D. Johnston, Andrew B. Philips, and Philip Laird. Minimizing Conflicts : A Heuristic Repair Method for Constraint Satisfaction and Scheduling Problems. Artificial Intelligence, 58(1-3) :161–205, 1992. 87, 107, 154 [193] H. Mintzberg. The structuring of organizations : a synthesis of the research. Theory of management policy series. Prentice-Hall, 1979. 100, 101 [194] O. Mongin. Vers la troisième ville ? Questions de société : savoirs, enjeux, débats. Hachette, 1995. 26, 28 [195] D.C. Montgomery. Design and Analysis of Experiments. Number vol. 2. Wiley, 1984. 75 [196] A. Morcheoine, B. Bresse, and J.P. Orfeuil. Énergie, environnement et déplacements urbains : quelques points de repère. Techniques Sciences Méthodes, génie urbain génie rural, no 1, pages 17-25, 1996. 43 [197] E. Morin. Introduction à la pensée complexe. Collection Communication et complexité. ESF, 1990. 114240 BIBLIOGRAPHIE [198] R.W. Morrison. Designing Evolutionary Algorithms for Dynamic Environments. Natural Computing Series. Springer, 2004. 60 [199] Sana Moujahed. Approche multi-agents auto-organisée pour la résolution de contraintes spatiales dans les problèmes de positionnement mono et multi-niveaux. PhD thesis, Université de Technologie de Belfort-Montbéliard, 2007. 125, 149 [200] Sana Moujahed, Olivier Simonin, and Abderrafiaa Koukam. Location problems optimization by a self-organizing multiagent approach. Multiagent and Grid Systems, 5(1) :59–74, 2009. 149 [201] D.J. Musliner, J.A. Hendler, A.K. Agrawala, E.H. Durfee, J.K. Strosnider, and C.J. Paul. The Challenges of Real-Time AI. 28(1) :58–66, 1995. 103 [202] Ioan Negrutiu and Jean-Michel Salles. Les ressources : la capital naturel évanescent et le défi démographique. [88], pages 38–39. 30 [203] Bertrand Neveu, Gilles Trombettoni, and Fred Glover. Id walk : A candidate list strategy with a simple diversification device. In Mark Wallace, editor, CP, volume 3258 of Lecture Notes in Computer Science, pages 423–437. Springer, 2004. 75 [204] A. Newell and H.A. Simon. Human problem solving. Prentice-Hall, 1972. 101 [205] Yanik Ngoko. L’Approche du portfolio d’algorithmes pour la construction des algorithmes robustes et adaptatifs. These, Université de Grenoble, July 2010. 94, 159 [206] T.A.J. Nicholson. Optimization in Industry : Industrial applications. London Business School series. Aldine Atherton, 1971. 65 [207] Guy Orcutt. A new type of socio-economic system. International Journal of Microsimulation, 1(1) :3–9, 1957. 117 [208] Cindy A. O’Reilly and Andrew S. Cromarty. "Fast" Is Not "Real-Time" : Designing Effective RealTime AI Systems. Proc. SPIE, 0548 :249–257, 1985. 103 [209] Jean-Pierre Orfeuil and Marie-Hélène Massot. La contrainte énergétique doit-elle réguler la ville ou les véhicules ? Mobilités urbaines et réalisme écologique. Annales de la recherche urbaine, no 103, pages 18-29, 2007. 43 [210] Ibrahim Osman and Gilbert Laporte. Metaheuristics : A bibliography. Annals of Operations Research, 63(5) :511–623, October 1996. 73 [211] Ibrahim H. Osman and Nicos Christofides. Capacitated clustering problems by hybrid simulated annealing and tabu search. International Transactions in Operational Research, 1(3) :317–336, 1994. 84 [212] I.H. Osman and J.P. Kelly. Meta-Heuristics : Theory and Applications. Springer, 1996. 73 [213] A. Oyon. Une véritable cité ouvrière : Le Familistère de Guise. Librairie des sciences sociales, 1865. 23 [214] Christos H. Papadimitriou. Computational complexity. Addison-Wesley, 1994. 57 [215] Christos H. Papadimitriou and Kenneth Steiglitz. Combinatorial optimization : algorithms and complexity. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1982. 60BIBLIOGRAPHIE 241 [216] Julien Perret, Florence Curie, Julien Gaffuri, and Anne Ruas. Un système multi-agent pour la simulation des dynamiques urbaines. In Michel Occello and Lilia Rejeb, editors, JFSMA, pages 205–213. Cepadues Editions, 2010. 121 [217] H. Pirenne. L’origine des constitutions urbaines au moyen âge. Revue Historique, 1895. 19 [218] Franck Plastria. Continuous Covering Location Problems. [80], pages 37–79. 124, 149 [219] J-Ch Pomerol and S. Barba Romero. Choix Multicritère dans l’enterprise. Hermes, Paris, 1993. 101 [220] Jean-Charles Pomerol. Systèmes experts et SIAD : enjeux et conséquences pour les organisations. Technologies de l’Information et Société, Volume 3, no 1, pages 37-64, 1990. 148 [221] Jean-Charles Pomerol. Artificial intelligence and human decision making. European Journal of Operational Research, 99(1) :3 – 25, 1997. 102, 103 [222] Jakob Puchinger and Günther R. Raidl. Combining Metaheuristics and Exact Algorithms in Combinatorial Optimization : A Survey and Classification. In Lecture Notes in Computer Science, volume 3562, pages 41–53, 2005. 61, 149, 194 [223] D. Pumain, L. Sanders, and T. Saint-Julien. Villes et auto-organisation. Economica, 1989. 114 [224] Denise Pumain. Essai sur la distance et l’espace géographique. Revue ATALA - Numéro 12 - La distance, objet géographique, 2009. 113, 114 [225] Ernest G. Ravenstein. The Laws of Migration. Journal of the Royal Statistical Society, 52(2) :241– 305, June 1889. 113 [226] Jean-Charles Régin. Modélisation et contraintes globales en programmation par contraintes. Hdr, Université de Nice Sophia-Antipolis, November 2004. 56 [227] Jean-Charles Régin, Mohamed Rezgui, and Arnaud Malapert. Embarrassingly Parallel Search. In Principles and Practice of Constraint Programming - 19th International Conference, CP 2013, Uppsala, Sweden, September 16-20, 2013. Proceedings, pages 596–610, 2013. 92, 159 [228] César Rego and Catherine Roucairol. A parallel tabu search algorithm using ejection chains for the vehicle routing problem. In IbrahimH. Osman and JamesP. Kelly, editors, Meta-Heuristics, pages 661–675. Springer US, 1996. 94 [229] W.J. Reilly. The Law of Retail Gravitation. W.J. Reilly, 1931. 113 [230] Mauricio G. C. Resende. Greedy Randomized Adaptive Search Procedures (GRASP). Journal of Global Optimization, 6 :109–133, 1999. 89 [231] Celso C. Ribeiro and Mauricio G. C. Resende. Path-relinking intensification methods for stochastic local search algorithms. J. Heuristics, 18(2) :193–214, 2012. 81 [232] P. Riboulet. Onze Lecons Sur La Composition Urbaine. Presses de l’École Nationale des Ponts et Chaussées, 1998. 20 [233] Francesca Rossi, Peter van Beek, and Toby Walsh. Handbook of Constraint Programming. Elsevier Science Inc., New York, NY, USA, 2006. 63, 149, 194 [234] B. Roy. Méthodologie multicritère d’aide à la décision. Economica, Paris, 1985. 60, 101 [235] B. Roy. Réflexions sur le thème : Quête de l’optimum et aide à la décision. Cahier du LAMSADE no 167, Université de Paris Dauphine, février 2000. 32 pages. 100242 BIBLIOGRAPHIE [236] B. Roy and D. Bouyssou. Aide Multicritère à la Décision : Méthodes et Cas. Economica, Paris, 1993. 100, 101 [237] S. J. Russell and S. Zilberstein. Anytime sensing, planning, and action : A practical model for robot control. In Ruzena Bajcsy, editor, Proceedings of the International Conference on Artificial Intelligence (IJCAI-93), pages 1402–1407, Chambéry, France, 1993. Morgan Kaufmann publishers Inc. : San Mateo, CA, USA. 99 [238] Sartaj Sahni and Teofilo F. Gonzalez. P-complete approximation problems. J. ACM, 23(3) :555–565, 1976. 125 [239] Nicolas Schabanel. Algorithmes d’approximation et Algorithmes randomisés, 2003. CIRM - ENS LYON. 64, 223 [240] A. Schärlig. Décider sur plusieurs critères : panorama de l’aide à la décision multicritère. Collection Diriger l’entreprise. Presses polytechniques romandes, 1985. 60, 101 [241] Thomas Schiex, Hélène Fargier, and Gérard Verfaillie. Valued Constraint Satisfaction Problems : Hard and Easy Problems. In IJCAI-95, pages 631–639. Morgan Kaufmann, 1995. 67 [242] D.K. Schneider. Modélisation de la démarche du décideur politique dans la perspective de l’intelligence artificielle. PhD thesis, 1996. 100 [243] René Séguin, Jean-yves Potvin, Michel Gendreau, Teodor G. Crainic, and Patrice Marcotte. Realtime decision problems : an operations research perspective. Journal of the Operational Research Society, 48 :162–174, feb 1997. 103, 104, 106, 178 [244] Marc Sevaux. Métaheuristiques : Stratégies pour l’optimisation de la production de biens et de services. Hdr, University of Valenciennes, July 2004. 65 [245] P. Siarry. Métaheuristiques : Recuits simulé, recherche avec tabous, recherche à voisinages variables, méthodes GRASP, algorithmes évolutionnaires, fourmis artificielles, essaims particulaires et autres méthodes d’optimisation. Algorithmes. Eyrolles, 2014. 71, 90, 95, 150 [246] SIMAURIF. Rapport 1 : Modèle dynamique de simulation de l’interaction urbanisation-transports en région ile-de-france. Projet de recherche, September 2004. 119, 120, 224 [247] SIMAURIF. Rapport 2 : Modèle dynamique de simulation de l’interaction urbanisation-transports en région ile-de-france. Projet de recherche, October 2005. 120 [248] SIMAURIF. Rapport 3 : Modèle dynamique de simulation de l’interaction urbanisation-transports en région ile-de-france. Projet de recherche, November 2007. 120 [249] Herbert Alexander Simon. The New Science of Management Decision. Prentice Hall PTR, Upper Saddle River, NJ, USA, 1977. 99, 100, 177, 224 [250] Jadranka Skorin-Kapov. Tabu search applied to the quadratic assignment problem. INFORMS Journal on Computing, 2(1) :33–45, 1990. 86 [251] Christine Solnon. Cours de programmation par contraintes, 2003. 56 [252] Christine Solnon. Contribution à la résolution pratique de problèmes combinatoires - des fourmis et des graphes. Hdr, 2005. 57, 59, 89 [253] Taoufik Souami. De l’écoquartier à la ville intelligente. [88], pages 112–113. 33BIBLIOGRAPHIE 243 [254] R.H. Sprague and E.D. Carlson. Building effective decision support systems. Grolier Computer Sciences Library. Prentice-Hall, 1982. 102, 177 [255] Ralph H. Sprague Jr. DSS in context. Decision Support Systems, 3(3) :197 – 202, 1987. 102, 177, 224 [256] P. F. Stadler. Towards a Theory of Landscapes. In Lopéz, R. Capovilla, García R. Pelayo, H. Waelbroeck, and F. Zertuche, editors, Complex Systems and Binary Networks (Proceeding of the Guanajuato Lectures 1995), pages 77–163. Springer-Verlag, 1996. 79 [257] P.F. Stadler and W. Schnabl. The landscape of the traveling salesman problem. Preprint. Sonderforschungsbereich 343, 1991. 79 [258] John A. Stankovic and K. Ramamritham, editors. Tutorial : Hard Real-time Systems. IEEE Computer Society Press, Los Alamitos, CA, USA, 1989. 99, 150 [259] J. Q. Stewart. Demographic Gravitation : Evidence and Applications. Sociometry, 11(1/2) :31–58, 1948. 113 [260] Thomas Stützle. Local search algorithms for combinatorial problems - analysis, improvements, and new applications., volume 220 of DISKI. Infix, 1999. 83 [261] Jean-Pierre SUEUR, sénateur. Villes du futur, futur des villes - quel avenir pour les villes du monde ?, June 2011. 19 [262] J. Syrota. Perspectives énergétiques de la France à l’horizon 2020-2050 : Rapport de la Commission Énergie. Rapports et documents. Centre d’analyse stratégique - Documentation française, 2008. 43 [263] E. Taillard. Robust tabou search for the quadratic assignment problem. Parallel Computing, 17(4- 5) :443–455, 1991. 86, 127, 128, 221 [264] Éric D. Taillard, Luca Maria Gambardella, Michel Gendreau, and Jean-Yves Potvin. Adaptive Memory Programming : A Unified View of Meta-Heuristics. European Journal of Operational Research, 135(1) :1–16, 2001. 96 [265] E. G. Talbi, Z. Hafidi, and J.-M. Geib. A parallel adaptive tabu search approach. Parallel Comput., 24(14) :2003–2019, December 1998. 94 [266] E.G. Talbi. Metaheuristics : From Design to Implementation. Wiley Series on Parallel and Distributed Computing. Wiley, 2009. 58, 60, 61, 64, 65, 71, 73, 78, 79, 91, 94, 95, 159, 223 [267] H. Toussain. Algorithmique rapide pour les problèmes de tournées et d’ordonnancement. PhD thesis, Université Blaise Pascal - Clermont-Ferrand II, 2010. 66, 71 [268] Charlotte Truchet, Florian Richoux, and Philippe Codognet. Prediction of parallel speed-ups for las vegas algorithms. In 42nd International Conference on Parallel Processing, ICPP 2013, pages 160–169. IEEE, 2013. 93 [269] United-Nations. Department of economic and social affairs, population division : World population 2012. 19 [270] United-Nations. Department of economic and social affairs, population division : World urbanization prospects, the 2011 revision, population of urban agglomerations. 19 [271] United-Nations. Department of economic and social affairs, population division : World urbanization prospects, the 2011 revision, urban and rural areas 2011. 19244 BIBLIOGRAPHIE [272] Pascal Van Hentenryck and Laurent Michel. Constraint-Based Local Search. The MIT Press, 2005. 63, 66, 87, 96, 154 [273] Carlos A Vanegas, Daniel G Aliaga, Peter Wonka, Pascal Müller, Paul Waddell, and Benjamin Watson. Modelling the appearance and behaviour of urban spaces. In Computer Graphics Forum, volume 29, pages 25–42. Wiley Online Library, 2010. 49 [274] Vijay V. Vazirani. Approximation Algorithms. Springer-Verlag New York, Inc., New York, NY, USA, 2001. 64 [275] R. Venturi, D.S. Brown, and S. Izenour. L’Enseignement de Las Vegas ou le symbolisme oublié de la forme architecturale. Collection architecture. Architecture + recherches. Mardaga, 1987. 28 [276] Gérard Verfaillie and Thomas Schiex. Maintien de solution dans les problèmes dynamiques de satisfaction de contraintes : Bilan de quelques approches, 1995. 106 [277] Bruno Villalba. La dimension politique refoulée du développement durable. [88], pages 26–27. 30 [278] L. von Bertalanffy and J.B. Chabrol. Théorie générale des systèmes. Sciences des organisations. Dunod, 1993. 114 [279] J.H. von Thünen and J. Laverrière. Recherches sur l’influence que le prix des grains, la richesse du sol et les impots exercent sur les systèmes de culture. 1851. 110, 224 [280] Stefan Voß, Ibrahim H. Osman, and Catherine Roucairol, editors. Meta-Heuristics : Advances and Trends in Local Search Paradigms for Optimization. Kluwer Academic Publishers, Norwell, MA, USA, 1999. 73 [281] Chris Voudouris and Edward Tsang. Guided local search. Technical report, European Journal of Operational Research, 1995. 89 [282] Jens Vygen. Approximation algorithms for facility location problems, 2005. 149 [283] Paul Waddell. UrbanSim : Modeling Urban Development for Land Use, Transportation and Environmental Planning. Journal of the American Planning Association, 68(3) :297–314, 2002. 49, 117 [284] D. Walker and T.L. Daniels. The Planners Guide to CommunityViz : The Essential Tool for a New Generation of Planning. Orton Family Foundation Books. Planners Press, American Planning Association, 2011. 122 [285] Jacques Weber. Développement viable, durable ou du rabe ? [88], pages 50–51. 30 [286] Marino WIDMER. Les métaheuiristiques : des outils performants pour les problèmes industriels. In 3e Conférence Francophone de MOdélisation et SIMulation : Conception, Analyse et Gestion des Systèmes Industriels, MOSIM’01, Troyes (France), April 2001. 65 [287] Marc Wiel. Comment construire une ville cohérente ? Études foncières, no 138, pages 12-17, 2009. 43 [288] D. H. Wolpert and W. G. Macready. No free lunch theorems for search. Tech. Rep. No. SFI-TR-95- 02-010, Santa Fe Institute, Santa Fe, NM, 1995. 61 [289] S. Wright. The roles of mutation, inbreeding, crossbreeding and selection in evolution. pages 355– 366, 1932. 78BIBLIOGRAPHIE 245 [290] Mutsunori Yagiura and Toshihide Ibaraki. On metaheuristic algorithms for combinatorial optimization problems. Systems and Computers in Japan, 32(3) :33–55, 2001. 95 [291] Shlomo Zilberstein and Stuart Russell. Optimal composition of real-time systems. ARTIFICIAL INTELLIGENCE, 82 :181–213, 1996. 99 [292] G. Zipf. Human Behaviour and the Principle of Least-Effort. Addison-Wesley, Cambridge, MA, 1949. 111 [293] G. K. Zipf. The P1P2 D hypothesis : on the intercity movement of persons, 1946. 113 [294] M. Zlochin, M. Birattari, N. Meuleau, and M. Dorigo. Model-based search for combinatorial optimization : A critical survey. Annals of Operations Research, 131 :373–395, 2004. 70Thèse de Doctorat Bruno BELIN Conception interactive d’environnements urbains durables à base de résolution de contraintes Interactive design of sustainable cities with constraints solving Résumé La conception de villes plus durables est devenue un problème de société central. Une ville, à un stade très en amont du processus de conception, peut être vue comme un ensemble équilibré de formes urbaines (unités résidentielles, commerciales, artisanales, industrielles, routes, écoles, parcs, ...) qui doivent être spatialement organisées suivant des règles complexes issues d’une vision systémique de la ville, intégrant les facettes sociales, économiques, écologiques et de transport. Dans cette thèse, nous proposons un outil d’aide à la décision pour assister les urbanistes et les décideurs dans cette tâche de conception de villes durables. Nous modélisons le problème d’aménagement urbain comme un problème d’optimisation que nous résolvons par des techniques de recherche locale en réalisant une succession de permutations entre formes urbaines. Notre outil organise alors automatiquement les formes urbaines sur un territoire vierge, et délimité dans l’espace. Nous étendons cet algorithme séquentiel avec des heuristiques novatrices pour améliorer les temps de calcul, et nous proposons une version distribuée efficace pour des problèmes de grande taille. Enfin, nous y ajoutons des fonctionnalités interactives permettant aux experts de modifier l’organisation spatiale de la ville, tout en maintenant à la volée les relations entre les formes urbaines, et en les informant des impacts de leurs choix. Les avantages de notre approche sont mis en évidence par des exemples et des évaluations d’experts du domaine, et ouvrent la voie vers de nouvelles façons de concevoir les villes du futur. Abstract The design of more sustainable cities has emerged as a central society issue. A city, in the early stage of its design process, can be seen as a balanced set of urban shapes (residential, commercial, artisanal and industrial units, roads, schools, parks, ...). These shapes need to be spatially organized following complex rules based on a systemic view of the city, including social, economic, ecological and transportation aspects. In this thesis, we provide a computer-aided decision tool to assist urban planners and decision makers in the task of designing sustainable cities. We cast the urban planning problem as an optimization problem that we solve with local search techniques, by iteratively swapping the urban shapes. At this stage, our tool automatically organizes urban shapes over a given empty, spatially delimited territory. We extend this sequential algorithm with novel heuristics to improve the computation time, and propose a distributed version, efficient on large problems. Finally, we add interactive features that allow the experts to modify the spatial organization of the city, while maintaining on the fly the relations between shapes and informing the experts of the impacts of their choices. The benefits of our approach are highlighted by examples and feedbacks from experts in the domain, and open the way for new approaches to design the cities of the future. Mots clés Système interactif d’aide à la décision, recherche locale distribuée, planification urbaine, ville durable. Key Words Decision support system, distributed local search, urban planning, sustainable city. L’UNIVERSITÉ NANTES ANGERS LE MANS Intelligence en essaim pour la distribution de simulations dans un ´ecosyst`eme computationnel Guilhelm Savin To cite this version: Guilhelm Savin. Intelligence en essaim pour la distribution de simulations dans un ´ecosyst`eme computationnel. Artificial Intelligence. Universit´e du Havre, 2014. French. . HAL Id: tel-00932194 https://tel.archives-ouvertes.fr/tel-00932194 Submitted on 16 Jan 2014 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destin´ee au d´epˆot et `a la diffusion de documents scientifiques de niveau recherche, publi´es ou non, ´emanant des ´etablissements d’enseignement et de recherche fran¸cais ou ´etrangers, des laboratoires publics ou priv´es.UNIVERSITÉ DU HAVRE UFR Sciences et Techniques THÈSE pour obtenir le grade de DOCTEUR DE L’UNIVERSITÉ DU HAVRE Discipline : Informatique Guilhelm S 7 janvier 2014 Directeur : Damien O Professeur à l’université du Havre Co-directeur : Antoine D Maître de conférence à l’université du Havre Rapporteurs : Pascal B Professeur à l’université du Luxembourg Cyril F Professeur à l’université du Littoral Côte d’Opale Examinateurs : Paul B Directeur de recherche à l’école Polytechnique de Paris Nicolas M Maître de conférence à l’université de ToursR Me voici donc à rédiger ces quelques mots qui clôturent la rédaction de ce manuscrit, et qui suscitent en moi à la fois impatience et circonspection ; l’impatience de pouvoir remercier toutes ces personnes avec lesquelles j’ai eu l’occasion d’interagir au cours de mon doctorat. Cependant, je l’écris avec toute la réserve possible de crainte d’en oublier certains. S’il y a bien une partie qui vient du cœur, je pense qu’il s’agit de celle-ci, vous m’excuserez donc, je l’espère, de ne pas l’aborder avec la rigueur d’un quelconque conformisme. J’ai découvert le monde de la recherche durant mes premières années de fac. C’était pour moi une nouveauté à laquelle mes enseignants de cette époque, pour la plupart cités dans ces remerciements, ont su me donner goût. Par la suite, il m’a été donnée l’occasion de faire un pas de plus dans cet univers et pour cela, je n’en remercierai jamais assez Damien. Merci de m’avoir donné ma chance et d’avoir cru en moi malgré les passes difficiles. Toutes les rencontres sont enrichissantes dans une vie, mais certaines se démarquent des autres. Tu fais, sans conteste, partie de ces personnes à part, qui m’ont permis d’évoluer et d’élargir ma vision du monde. Si je devais retenir une seule des choses que j’ai pu apprendre en te côtoyant, ce serait que rien n’est plus enrichissant que d’être soi-même une entité qui participe, avec d’autres entités au travers d’une collaboration dans la joie et la bonne humeur, à la création d’un tout plus grand que nous. Cette thèse est aussi un travail collectif, il s’agit d’une structure qui émerge de nombreuses interactions et je suis très honoré d’avoir pu faire partie de son noyau à tes côtés. J’espère que les moutons remplacent désormais les avions. Cette thèse n’aurait sûrement pas pu voir le jour sans Antoine, autre particule du noyau, avec qui je suis resté en contact durant mon année bordelaise et qui m’a motivé pour me lancer dans ce projet. Un énorme merci d’avoir accepté de la co-encadrer. Merci pour toutes les ren lectures dont je t’ai abreuvé en flux continu. Tu fais aussi partie des enseignants qui ont participé à forger mon attirance pour la recherche et qui m’ont permis d’être là aujourd’hui. Plus important encore, merci de m’avoir fait découvrir ces petites choses formidables que sont le maki et le sushi. La spatialisation, quelque peu inhabituelle, dans laquelle j’ai évolué ces dernières années, m’a apporté une dimension humaine particulière qui a complété l’apport scientifique de ces travaux. Je tiens à exprimer toute mon affection à ma famille d’adoption havraise, Nath et Ced, pour m’avoir fait comprendre que de se sentir chez soi ne dépendait pas tant du lieu, que des personnes qui s’y trouvent. Vous êtes tous les deux de superbes personnes, qui tiennent désormais une place particulière dans mon cœur. Je souhaite que la vie vous iR apporte ce que vous désirez. L’aboutissement de cette thèse n’est possible que grâce aux personnes qui ont accepté de la rapporter et de participer au jury. Un grand merci à Pascal B et Cyril F pour m’avoir fait l’honneur d’être rapporteurs de cette thèse. C’est un moment quelque peu angoissant d’avoir terminé la rédaction de son manuscrit et d’être en attente des rapports qui vont évaluer les travaux qui y sont présentés et qui correspondent à plusieurs années de travail. Mais quel profond soulagement de découvrir, à leur réception, que cette thèse a été jugée suffisamment digne d’intérêt pour mériter d’être soutenue. Je remercie très sincèrement Paul B et Nicolas M pour m’avoir eux aussi fait l’honneur d’accepter d’examiner ce manuscrit. Vous faites tous partie des personnes jouant un rôle déterminant dans la conclusion de ces travaux, et je vous en suis profondément reconnaissant. Merci à Stefan qui, non satisfait de m’avoir appris à équilibrer les arbres de manière stendhaleuse, m’a fait découvrir la réaction hors du commun se produisant lorsqu’un échantillon de Bg est plongé dans une solution aqueuse dans des conditions de température faible. Et plus généralement, merci pour toutes les aventures de la même-pas-cap team. Un grand merci pour ta relecture très constructive de ce manuscrit. Merci à Yoann pour les nombreux moments partagés. Et il y en a ! D’abord en tant qu’enseignant, puis en tant que thésard collègue de bureau, et désormais en tant qu’ami. Je pense que notre invention du frigo-luge, sport méconnu du grand public, restera dans les méandres oubliés de l’histoire, faute d’avoir prévu un podium adapté. La plupart des thésards présents au début de ma thèse sont désormais partis. Seuls deux restent, perdus dans les abîmes d’une rédaction qui semblait ne pas vouloir se terminer. Merci à Haïfa pour avoir formé le groupe de vétérans des thésards de la B213 ! Ainsi que pour ta bonne humeur quasi permanente. Je n’oublie pas les différents thésards qui se sont peu à peu éloignés vers de nouveaux horizons : Nizar, Michel, Gaétan, Karim, Franzo, Cédric, Djam, Fahem, et, plus au sud, Frédéric. Quand tout semble se dérober sous nos pieds, il reste toujours une base solide sur laquelle s’appuyer. Je tiens donc à remercier ma famille pour son soutien tout au long de ces années. En particulier ma mère, Catherine, pour sa chasse aux fautes d’orthographe et ma grandmère, Christiane, pour m’avoir fréquemment offert le gîte et régalé de raie au beurre noir. Mais aussi mon père Jean-Noël, Stéphanie, et bien sûr, mes sœurettes Laureline et Maïté et mon frère Thibault. J’ai aussi une pensée affectueuse pour mes grand-parents jurassiens, Danièle et Michel, que je ne vois pas aussi souvent que je le souhaiterai. Ainsi que pour mon grand-père, Bernard, qui s’est éteint avant d’avoir pu voir cette thèse terminée. Merci à ma tante Valérie de m’avoir permis de me ressourcer régulièrement là où la terre prend fin. Merci à tous les membres de ma famille que je n’ai pas la place de citer ici, mais qui n’en sont pas moins la cible de mes remerciements. Merci aussi à ma belle-famille, Antoine, Candice, Dominique, Nadine, pour m’avoir souvent accueilli et nourri ; ainsi que pour votre soutien. Merci aux différents membres de l’équipe RI2C, et plus généralement du LITIS, voire du LMAH ! En particulier, Véronique, toujours souriante et à l’écoute ; Frédéric, avec qui il est vraiment plaisant d’interagir. Mais aussi Éric, et, plus récemment Rodolphe. Sans oublier les irréductibles Cyrille et Aziz, qui ne doivent avoir un badge que pour entrer dans iile bâtiment. J’ai une pensée chaleureuse pour Claire ; ainsi que pour Laurent, Dominique, Jean-Luc, Guillemette, Pierrick, Guillaume, et Arnaud. Merci aux amis avec qui j’ai pu passé régulièrement de bons moments. En particulier le clan des amis de toujours, Cédric, Jérémy, François, Mathieu, Antony, Aline, Élise ; Cédric et Aline ont aussi eu à subir mes squattes réguliers, au détriment de certaines madeleines dont mes papilles en remercient encore la cuisinière. Le clan Chateau-Corson, Yann, Rachel, Antoine, Paula, Marie, Philippe, Catherine. Le clan voileux, dont la première rencontre se fit au milieu de délicieuses effluves de fromage, sous la supervision intransigeante de Nath ; merci donc à Clem, Tanguy, Benj, Romain, Julie. Sans oublier Vesela, Raphaël, Fabienne, Gaby, Rafika, Caroline, Maya. Et le clan d’Oc, Xavier, Manu, Carine, Benjamin, Mélanie, Christine, Gérard, Corinne, Isabelle. Je m’excuse par avance auprès de ceux que j’ai oublié, car il y en a très certainement ! Je remercie également ceux qui suivent les chemins d’Iwama. J’ai pu, grâce à vous, trouver une paix intérieure qui a contribué à me donné la force de terminer. Merci donc à JeanLouis, pour tes discussions enrichissantes, et pour m’avoir poussé à finaliser ce manuscrit. Merci à Alexis, Virginie et Christelle, mais aussi à tout les autres. Namasté. Merci à la SNCF, pour m’avoir gracieusement offert des heures gratuites à bord de ses trains, même si j’aurais aimé pouvoir en contrôler le moment pour en profiter. Merci au Trappiste, à la Petite Rade, au Miyaki et aux kebabs. Enfin, une place spéciale pour quelqu’un de spécial, ma dulcinée, Solenne, qui me fait la joie de partager ma vie depuis bientôt huit années. Désolé pour les absences, et l’humeur parfois (souvent ?) irascible. Mais surtout, merci pour ta présence, ton soutien, et ton amour. Il va être temps pour nous de prendre de la hauteur pour continuer de découvrir de nouveaux horizons, peuplés d’étoiles encore inconnues. Avec tout mon amour. Merci à vous, qui parcourez cette page et peut être les suivantes, car, ce faisant, vous contribuez à leur donner un sens. iiiÀ ma puce Daelys, qui a vu le jour au début de cette thèse, et qui m’a accompagné toutes ces années. Tous ceux là, ce sont des individus, qui ne sont pas des dieux bien sûr, ce sont des hommes, mais ces hommes, ils communiquent les uns avec les autres, ils mettent en commun, ils créent quelque chose qui est supérieur à eux, par leurs liens, par leur mise en commun, par leurs échanges, ils font plus qu’eux même et au fond c’est toute la réalité de notre univers, que chaque fois que l’on assemble, on fait apparaître autre chose, on fait apparaitre de l’inattendu ; et bien quand on assemble des hommes, quelque chose de nouveau apparait. Albert Jacquard, Noms de dieux, 1994 vT   Remerciements i Table des matières vi Table des figures xi Liste des algorithmes xv I Introduction générale 1 Préambule 3 1 Contexte 7 1.1 Systèmes complexes . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Écosystème computationnel . . . . . . . . . . . . . . . . . . . . . . . 13 1.2.1 Système distribué . . . . . . . . . . . . . . . . . . . . . . . . 14 1.2.2 Vers une écologie computationnelle . . . . . . . . . . . . . . . 16 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2 Problèmatique 19 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 II Positionnement 27 3 Réseaux d’interactions 29 3.1 Graphes dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1.1 Une première approche . . . . . . . . . . . . . . . . . . . . . 31 3.1.2 Modélisation de la dynamique . . . . . . . . . . . . . . . . . . 36 3.1.3 Une approche stochastique des graphes : les chaînes de Markov . 40 3.1.4 Vers une représentation formelle . . . . . . . . . . . . . . . . . 41 3.1.5 Centralité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 viTable des matières 3.2 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2.1 Communautés et organisations . . . . . . . . . . . . . . . . . . 54 3.2.2 Forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.3 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.3.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.3.2 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4 Répartition de charge 63 4.1 Partitionnement du graphe . . . . . . . . . . . . . . . . . . . . . . . 64 4.2 Approches statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.2.1 Technique de la bissection récursive . . . . . . . . . . . . . . . 65 4.2.2 Technique multi-niveaux . . . . . . . . . . . . . . . . . . . . . 65 4.2.3 Classification hiérarchique . . . . . . . . . . . . . . . . . . . . 66 4.2.4 Théorie spectrale . . . . . . . . . . . . . . . . . . . . . . . . 69 4.2.5 Approches bio-inspirées . . . . . . . . . . . . . . . . . . . . . 71 4.3 Approches dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.3.1 Approches par diffusion . . . . . . . . . . . . . . . . . . . . . 77 4.3.2 Approches par particules . . . . . . . . . . . . . . . . . . . . . 77 4.3.3 Diffusion de labels . . . . . . . . . . . . . . . . . . . . . . . . 78 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5 Calcul distribué 83 5.1 Système distribué . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.1.1 Le système distribué, cette super-machine . . . . . . . . . . . . 84 5.1.2 Réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.1.3 Stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.1.4 Intergiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.2 Différents types de systèmes distribués . . . . . . . . . . . . . . . . . . 89 5.2.1 Grappe de calcul . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.2.2 Grille de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.2.3 Cloud computing . . . . . . . . . . . . . . . . . . . . . . . . 91 5.2.4 Écosystème computationnel . . . . . . . . . . . . . . . . . . . 92 5.3 Algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.3.1 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.3.2 Marche aléatoire dans un graphe . . . . . . . . . . . . . . . . . 97 5.3.3 Algorithmes fourmis . . . . . . . . . . . . . . . . . . . . . . . 98 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 viiT   III Modèle 103 6 Modélisation des interactions 105 6.1 Qu’est ce que l’interaction ? . . . . . . . . . . . . . . . . . . . . . . . 106 6.1.1 Interactions & Émergence . . . . . . . . . . . . . . . . . . . . 106 6.1.2 Causalité ascendante et descendante . . . . . . . . . . . . . . . 107 6.2 Propriétés des interactions . . . . . . . . . . . . . . . . . . . . . . . . 107 6.2.1 Interaction directe ou indirecte . . . . . . . . . . . . . . . . . . 107 6.2.2 Interaction synchrone ou asynchrone . . . . . . . . . . . . . . 108 6.2.3 Interaction ciblée ou diffuse . . . . . . . . . . . . . . . . . . . 109 6.3 Représentation et manipulation des interactions . . . . . . . . . . . . . 109 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 7 Modélisation des organisations 113 7.1 Qu’est ce qu’une organisation ? . . . . . . . . . . . . . . . . . . . . . 113 7.2 Du micro au macro : le changement d’échelle . . . . . . . . . . . . . . . 114 7.2.1 Granularité de la vue sur le modèle . . . . . . . . . . . . . . . . 115 7.2.2 Intérêt du changement d’échelle . . . . . . . . . . . . . . . . . 115 7.2.3 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 7.3 Réification des organisations . . . . . . . . . . . . . . . . . . . . . . . 117 7.3.1 Propriété de connexité . . . . . . . . . . . . . . . . . . . . . . 117 7.3.2 Fusion d’organisations connexes . . . . . . . . . . . . . . . . . 118 8 Détection des centroïdes 119 8.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 8.2 Centralité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 8.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 8.2.2 Centres et centroïdes . . . . . . . . . . . . . . . . . . . . . . 121 8.3 Des fourmis et des centroïdes . . . . . . . . . . . . . . . . . . . . . . 122 8.4 Application aux organisations . . . . . . . . . . . . . . . . . . . . . . 125 8.5 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 8.5.1 Condition d’arrêt . . . . . . . . . . . . . . . . . . . . . . . . 128 8.5.2 Comparaison des résultats . . . . . . . . . . . . . . . . . . . . 128 8.5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 9 Outil de modélisation 133 9.1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 9.2 Algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 9.2.1 Générateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 9.2.2 Métriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 9.2.3 Recherche de structures . . . . . . . . . . . . . . . . . . . . . 138 9.3 Exportation, importation et visualisation . . . . . . . . . . . . . . . . . 138 viiiTable des matières 9.3.1 Formats de fichier . . . . . . . . . . . . . . . . . . . . . . . . 138 9.3.2 Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 9.3.3 Communications réseaux, inter-threads et inter-plateformes . . . 142 9.4 Comment l’utiliser . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 IV Distribution 149 10 Répartition de charges 151 10.1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 10.1.1 Pourquoi une répartition dynamique ? . . . . . . . . . . . . . . 152 10.1.2 Organisations et répartition . . . . . . . . . . . . . . . . . . . 153 10.1.3 Répartition dynamique . . . . . . . . . . . . . . . . . . . . . 153 10.1.4 Qui répartit le répartiteur ? . . . . . . . . . . . . . . . . . . . . 153 10.2 AntCo2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 10.2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . 155 10.2.2 Extraction des organisations . . . . . . . . . . . . . . . . . . . 159 10.2.3 Lissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 10.3 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 10.3.1 Description des simulations . . . . . . . . . . . . . . . . . . . 163 10.3.2 Méthodes existantes . . . . . . . . . . . . . . . . . . . . . . . 163 10.3.3 Intégration du nombre de migrations . . . . . . . . . . . . . . . 169 10.3.4 Synthèse générale sur les résultats . . . . . . . . . . . . . . . . 177 11 Intergiciel 179 11.1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 11.2 L’acteur, un objet actif . . . . . . . . . . . . . . . . . . . . . . . . . . 180 11.2.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 11.2.2 Le paradigme acteur . . . . . . . . . . . . . . . . . . . . . . . 184 11.2.3 Gestion des différents mécanismes . . . . . . . . . . . . . . . . 184 11.3 Une architecture décentralisée . . . . . . . . . . . . . . . . . . . . . . 187 11.3.1 Agence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 11.3.2 Le tout acteur . . . . . . . . . . . . . . . . . . . . . . . . . . 187 11.4 Services des agences . . . . . . . . . . . . . . . . . . . . . . . . . . 188 11.4.1 Découverte d’autres agences . . . . . . . . . . . . . . . . . . . 188 11.4.2 Lucioles et horloge globale décentralisée . . . . . . . . . . . . . 188 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 ixT   Conclusion & Perspectives 193 Annexes 199 A Un modèle de comportement de groupe : les boids 199 A.1 Règles de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 A.2 Voisinage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 A.3 Intégration dans GS . . . . . . . . . . . . . . . . . . . . . 201 B Simulations de tests 203 B.1 Simulation statique, S1 . . . . . . . . . . . . . . . . . . . . . . . . . 203 B.2 Simulation dynamique, S2 . . . . . . . . . . . . . . . . . . . . . . . . 204 C GraphStream 207 C.1 Diagrammes de classes . . . . . . . . . . . . . . . . . . . . . . . . . 207 C.1.1 Éléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 C.1.2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 C.1.3 Source et puits . . . . . . . . . . . . . . . . . . . . . . . . . 211 C.1.4 Fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 C.1.5 Algorithmes et générateurs . . . . . . . . . . . . . . . . . . . 215 C.2 Spécifications de DGS au format BNF . . . . . . . . . . . . . . . . . . . 215 D Plateforme d3 217 D.1 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . 217 D.2 Requêtes aux acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Bibliographie et index 223 Bibliographie 225 Publications 237 Index 239 Résumé 243 xT   0.1 Yet Another Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1 Fourmis mangeant un morceau de pomme. . . . . . . . . . . . . . . . . . 8 1.2 Essaim d’abeilles sur un arbre. . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Nuée d’oiseaux marins aux îles Shumagin. . . . . . . . . . . . . . . . . . . 10 1.4 Organisation entre fourmis pour traverser un trou. . . . . . . . . . . . . . . 12 1.5 Homéostasie du système thyroïdien. . . . . . . . . . . . . . . . . . . . . . 13 1.6 Système fermé, système ouvert . . . . . . . . . . . . . . . . . . . . . . . 14 1.7 Les différentes couches d’un système distribué . . . . . . . . . . . . . . . . 15 2.1 Description du contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2 Résilience d’ingénierie et résilience écologie . . . . . . . . . . . . . . . . . 23 2.3 Exemples de formes d’organisation . . . . . . . . . . . . . . . . . . . . . 24 2.4 Décomposition d’une organisation . . . . . . . . . . . . . . . . . . . . . . 25 3.1 Quelques exemples de réseaux . . . . . . . . . . . . . . . . . . . . . . . 32 3.2 Exemple de réseau sans échelle . . . . . . . . . . . . . . . . . . . . . . . 34 3.3 Présentation des différentes couches en se basant sur une simulation de boids : (a) le réseau d’interactions, (b) le graphe dynamique initial modélisant le ré- seau, (c) une vue macroscopique du graphe dynamique . . . . . . . . . . . 35 3.4 Illustration du modèle de dynamique séquentielle . . . . . . . . . . . . . . 37 3.5 Illustration du modèle de dynamique cumulative . . . . . . . . . . . . . . . 38 3.6 Illustration du modèle de dynamique en flux . . . . . . . . . . . . . . . . . 39 3.7 Quelques exemples de mesure de la centralité . . . . . . . . . . . . . . . . 45 3.8 Graphes jouets utilisés pour illustrer les différentes centralités . . . . . . . . 46 3.9 La centralité utilisant le degré appliquée aux graphes G1 et G2 . . . . . . . . 47 3.10 Mesure de la proximité appliquée aux graphes G1 et G2 . . . . . . . . . . . . 48 3.11 Application de l’intermédiarité aux graphes G1 et G2 . . . . . . . . . . . . . 50 3.12 Application du PageRank aux graphes G1 et G2 . . . . . . . . . . . . . . . . 51 3.13 3 communautés formant des cliques . . . . . . . . . . . . . . . . . . . . . 55 3.14 Concept de processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.15 Un graphe dynamique vu comme le résultat d’un ensemble de processus . . . 57 3.16 Transmission discrète et continue . . . . . . . . . . . . . . . . . . . . . . 58 xiT   3.17 Processus micro/macro. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.18 Processus local/global. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.1 Un exemple de partitionnement d’un graphe . . . . . . . . . . . . . . . . . 64 4.2 Illustration de l’approche multi-niveaux appliquée au partitionnement. . . . . 66 4.3 Dendrogramme associé à une classification hiérarchique ascendante . . . . . 68 4.4 Matrice d’adjacence et Laplacienne non-normalisée d’un graphe. . . . . . . . 71 4.5 Codage, croisement et mutation dans un algorithme génétique . . . . . . . . 76 5.1 Classification de l’architecture des machines proposée par Michael J. F . . 85 5.2 Une grappe réalisée avec des R P. . . . . . . . . . . . . . . . . . 90 5.3 Répartition, entre utilisateur et fournisseur du cloud, de la gestion des diffé- rentes couches d’un système distribué en fonction du modèle (IaaS, PaaS, SaaS). 93 5.4 Un automate e/s de processus . . . . . . . . . . . . . . . . . . . . . . . . 96 5.5 Un automate e/s de communication . . . . . . . . . . . . . . . . . . . . . 96 6.1 Causalité ascendante et descendante. . . . . . . . . . . . . . . . . . . . . 108 6.2 Interaction (a) synchrone et (b) asynchrone entre une entité source et une entité cible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 6.3 Création d’interactions naïve . . . . . . . . . . . . . . . . . . . . . . . . 111 6.4 Création d’interactions avancée avec ρini t = 1, δρ = 0.5, ϖ = 0.7 et ρdel = 0.3. 112 7.1 Vue microscopique et vues macroscopiques . . . . . . . . . . . . . . . . . 116 7.2 Exemple de détection d’organisations non-connexes . . . . . . . . . . . . . 118 8.1 Distances des nœuds. La structure en gras représente le sous-graphe induit par les nœuds dont la distance est minimale, ce qui correspond au centroïde de ce graphe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 8.2 une organisation comportant une partie faible (en orange). . . . . . . . . . . 126 8.3 (a) une organisation est fournie par un algorithme de détection d’organisations, (b) une partie faible est détectée, (c) l’organisation initiale est scindée en deux nouvelles organisations sans partie faible. . . . . . . . . . . . . . . . . . . 127 8.4 Dans cet arbre de 50 nœuds, les fourmis ont détecté le centroïde optimal . . . 127 9.1 Un exemple basique de réseau composé d’une source, de canaux, et d’un puits 136 9.2 Un générateur de graphe dynamique basé sur le modèle des boids. . . . . . . 137 9.3 Résultat d’une marche aléatoire . . . . . . . . . . . . . . . . . . . . . . . 139 9.4 Exemple de fichier DGS . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 9.5 Affichage avancé dans GS . . . . . . . . . . . . . . . . . . . . 142 9.6 Le protocole NetStream . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 9.7 Intégration de GS dans NetLogo . . . . . . . . . . . . . . . . . 144 9.8 Le réseau routier du Havre et de ses environs modélisé en tant que graphe par GS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 xiiTable des figures 10.1 Différents scénarios d’utilisation du répartiteur de charges . . . . . . . . . . 154 10.2 Application de AntCo2 à un graphe de 400 nœuds généré par attachement pré- férentiel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 10.3 Graphe du Zachary Karate Club . . . . . . . . . . . . . . . . . . . . . . . 161 10.4 Tracé de la mesure r1 pour la simulation S1 . . . . . . . . . . . . . . . . . . 166 10.5 Tracé de la mesure r2 pour la simulation S1 . . . . . . . . . . . . . . . . . . 167 10.6 Impact de la valeur du délai sur l’évolution de r1 pour la simulation S1. . . . . 168 10.7 Impact de la valeur du délai sur l’évolution de r2 pour la simulation S1. . . . . 169 10.8 Impact de la valeur du délai sur l’évolution de r1 pour la simulation S2. . . . . 170 10.9 Impact de la valeur du délai sur l’évolution de r2 pour la simulation S2. . . . . 171 10.10 Tracé de la mesure r1 pour la simulation S2 . . . . . . . . . . . . . . . . . . 172 10.11 Tracé de la mesure r2 pour la simulation S2 . . . . . . . . . . . . . . . . . . 173 10.12 Évolution du nombre total de communications effectives et de migrations pour la simulation S1 (échelle logarithmique) . . . . . . . . . . . . . . . . . . . 174 10.13 Évolution du nombre total de communications effectives et de migrations pour la simulation S2 (échelle logarithmique) . . . . . . . . . . . . . . . . . . . 175 10.14 Évolution de C en fonction de k pour la simulation S1 . . . . . . . . . . . . 177 10.15 Évolution de C en fonction de k pour la simulation S2 . . . . . . . . . . . . 177 11.1 Appel de méthode entre objets classiques et objets actifs. Un objet A appelle une méthode d’un objet B. B exécute alors cette méthode et retourne un résultat à A qui effectue alors un traitement. . . . . . . . . . . . . . . . . . . . . . . 182 11.2 Architecture d’un acteur. . . . . . . . . . . . . . . . . . . . . . . . . . . 183 11.3 Protocole de migration . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 11.4 Différences entre unicast, broadcast et multicast . . . . . . . . . . . . . . . 189 11.5 Les lucioles « synchrones » à Elkmont dans le parc national des Great Smoky Mountains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 11.6 Synchronisation des lucioles . . . . . . . . . . . . . . . . . . . . . . . . . 192 A.1 Règles appliquées aux boids telles que définies par Craig R. . . . . . 200 B.1 Une grille de dimension 11×11 . . . . . . . . . . . . . . . . . . . . . . . 204 B.2 Un exemple de grille plaquée sur un tore . . . . . . . . . . . . . . . . . . . 204 D.1 Exemple de méthode invocable dans d3 . . . . . . . . . . . . . . . . . . . 221 xiiiL  A 1 Calcul d’une partition à l’aide de la théorie spectrale . . . . . . . . . . . . 72 2 Recuit simulé appliqué au partitionnement . . . . . . . . . . . . . . . . 73 3 Algorithme génétique appliqué au partitionnement . . . . . . . . . . . . . 75 4 Cycle d’un algorithme fourmis . . . . . . . . . . . . . . . . . . . . . . . 100 5 Calcul classique du centroïde . . . . . . . . . . . . . . . . . . . . . . . 123 6 Algorithme général . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 7 Étape d’une fourmi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 8 Cycle d’une luciole . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 xvPremière partie Introduction générale 1P Ce manuscrit présente nos travaux sur la distribution de simulations de système complexe. À une autre échelle, nous considérons l’ensemble des entités de la simulation, et l’infrastructure matérielle utilisée pour la distribution, comme un système complexe à part entière. Nous effectuons le parallèle avec les écosystèmes naturels afin de mettre en évidence que nous sommes en présence d’un environnement (le système distribué) qui fournit des ressources (calcul, mémoire, etc…) à un ensemble d’organismes (les entités) afin de leur permettre de se développer, de s’exécuter mais aussi d’interagir. Ces éléments nous amènent à penser en terme d’écosystème computationnel désignant l’ensemble de notre système distribué dédié aux simulations de système complexe. Au travers de cette vision nous cherchons à dégager des propriétés souvent propres aux systèmes naturels que l’on souhaiterait obtenir, sur le long terme, pour ce type de système distribué : robustesse, adaptabilité, résilience. Notre travail n’est qu’un pas dans cette direction. Nous proposons de centrer ce dernier autour des interactions et, à cette fin, de modéliser les simulations sous la forme d’un graphe dynamique les représentant. Cela nous amène à réfléchir sur les différentes façons d’aborder la dynamique, mais aussi la lecture de ce modèle. En effet, nous cherchons dans ce graphe des motifs, c’est à dire des organisations, qui vont nous permettre d’obtenir un plus haut niveau de représentation du graphe et, éventuellement, de gouverner le système de façon à en optimiser les propriétés qui lui permettront de résister et de s’adapter aux perturbations. Ces éléments sont complétés par le développement d’une bibliothèque de graphe dynamique permettant à la fois la modélisation, mais également des mesures locales, globales ou structurelles. À cela s’ajoute un intergiciel offrant aux simulations la possibilité d’utiliser les informations collectées au niveau du modèle et la possibilité de migrer les entités composant ces simulations afin d’aller vers une distribution efficace. Nous avons choisi de diviser la présentation de ces travaux en quatre parties. La première partie, nommée « Introduction générale », nous permet de développer le cadre global des travaux qui seront présentés dans les parties suivantes. Ainsi, un premier chapitre « Contexte » aborde les systèmes complexes et les réseaux d’interactions ; puis nous dé- taillons la notion de système distribué, suivi d’une analogie entre un système distribué dédié aux simulations de système complexe et un écosystème naturel. Nous présentons ensuite, dans un second chapitre, notre «Problèmatique» qui introduit les contraintes liées à la modélisation des interactions et à la dynamique. D’une part la dynamique du réseau d’interactions, et d’autre part celle de l’environnement de distribution. 3. P Dans la seconde partie, « Positionnement », nous présentons l’état de l’art des diffé- rents problèmes abordés. Ainsi le chapitre « Réseaux d’interactions » présente la modélisation d’un réseau d’interactions sous forme de graphe dynamique. Différentes approches de la modélisation de la dynamique sont abordées. Puis nous nous intéressons aux structures qui apparaissent dans ce graphe, ainsi qu’aux processus qui vont participer à la dynamique du graphe. Le chapitre suivant aborde la « Répartition de charge » sous l’angle du partitionnement de graphes, d’abord de manière générale, puis en s’appuyant sur les différentes approches statiques et dynamiques. Enfin, le chapitre «Calcul distribué» expose l’architecture générale de l’infrastructure d’un système distribué. Ce chapitre nous permet de décrire différents types de systèmes distribués tels que les grappes de calcul, les grilles, le cloud computing, pour terminer sur les écosystèmes computationnels ; et d’exposer une première approche sur la manière d’envisager l’algorithmique dans un tel système. La troisième partie, « Modèle», est dédiée aux modèles que nous proposons pour repré- senter les interactions entre les entités et les organisations. Nous consacrons le premier chapitre de cette partie à la « Modélisation des interactions », en décrivant leur importance au sein du système, leur rôle dans l’émergence d’organisation, ainsi que certaines de leurs propriétés. Nous nous intéressons à la « Modélisation des organisations » dans le chapitre suivant, et plus particulièrement aux différentes échelles de représentation du système. Puis, nous verrons des « Détection des centroïdes » que nous pouvons appliquer à nos modèles afin d’augmenter la robustesse du système. Nous décrivons, en particulier, une mesure de centralité, basée sur une approche à base de fourmis numériques, dont le but est de détecter les centroïdes des organisations. Enfin, nous terminerons cette partie par une présentation de notre « Outil de modélisation », GS, dont le but est de permettre la manipulation de la dynamique d’un graphe. Enfin, la dernière partie «Distribution» expose notre contribution à la répartition dynamique et décentralisée de charge, ainsi qu’à la modélisation de l’environnement de distribution. Le chapitre « Répartition de charges », quant à lui, montre les enjeux de la répartition dynamique de charge. Il développe l’algorithme AntCo2 qui est notre approche à base de colonie de fourmis utilisée pour détecter des organisations dans le graphe dynamique modélisant les entités. Ces organisations nous permettent de répartir les entités de manière à équilibrer la charge et à réduire la bande passante du réseau. Cet algorithme peut cependant conduire à l’oscillation de certaines entités entre plusieurs organisations, ce qui conduit à des migrations intempestives venant dégrader les performances globales du système. Nous proposons des méthodes de lissage pour permettre de réduire ces oscillations, suivies de résultats. Nous présentons dans un dernier chapitre « Intergiciel » notre contribution à la modélisation de l’intergiciel d’un écosystème computationnel. Ce modèle propose une architecture décentralisée, où les entités peuvent communiquer de manière asynchrone. Nous terminons sur une discussion qui nous permet de conclure ce manuscrit et de pré- senter les perspectives qui pourront définir une suite future à ces travaux. 4. Intelligence en essaim pour la distribution de simulations dans un écosystème computationnel . Introduction générale . Contexte . Problèmatique . Positionnement . Réseaux d’interactions . Répartition de charge . Calcul . distribué Modèle . Modélisation des interactions . Modélisation des organisations . Détection des centroïdes . Outil de modélisation . Distribution . Répartition de charges . Intergiciel . F 0.1 : Yet Another Table of Contents 5C 1 C 1.1 Systèmes complexes . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Écosystème computationnel . . . . . . . . . . . . . . . . . . . . . 13 1.2.1 Système distribué . . . . . . . . . . . . . . . . . . . . . . 14 1.2.2 Vers une écologie computationnelle . . . . . . . . . . . . . 16 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Nous nous plaçons dans le cadre d’étude des systèmes complexes qui n’est pas sans poser de problème étant un domaine dynamique et foisonnant. En effet, il n’offre pas de définition consensuelle : certains abordent le problème à l’aide d’exemples tels que le vol en essaim (cf. figure 1.3), le trafic routier et ses embouteillages, ou encore les sociétés d’insectes (cf. figures 1.1 et 1.2)… D’autres l’abordent à l’aide de formulations généralistes telles que « le tout est plus que la somme des parties » qui bien qu’intéressantes ne peuvent constituer un cadre formel. Il n’est pas dans nos prétentions dans cette introduction de proposer une définition qui lèverait tous ces manques et comblerait toutes les ambiguïtés. Notre propos se situe dans le contexte systémique où les interactions s’expriment et définissent des propriétés locales et globales à différents niveaux d’échelle éventuels. 1.1 Systèmes complexes Les systèmes complexes sont un des composants de bases de nos travaux et pourtant, il est difficile d’en fournir une définition formelle et consensuelle, qui serait valable pour toutes 7. C . F 1.1 : Fourmis mangeant un morceau de pomme. Image sous licence Creative Commons 3.0 par Zainichi Gaikokujin les personnes travaillant sur le sujet, du fait que le terme même de complexité est polysé- mique. La difficulté réside d’une part dans les multiples disciplines utilisant le paradigme des systèmes complexes qui rendent nécessaire l’utilisation d’un vocabulaire commun, et d’autre part dans la compréhension que nous avons du terme complexité. En tant qu’informaticiens, nous sommes habitués à manipuler des complexités qui expriment le temps de calcul nécessaire à un algorithme pour s’exécuter, la quantité de mémoire nécessaire à son exécution, ou encore la complexité aléatoire de Kolmogorov [K 1965] qui définit la taille du plus petit algorithme (en nombre de caractères) nécessaire à la production d’une donnée de sortie à partir de données d’entrée. Les systèmes complexes rentrent dans un champ multidisciplinaire ce qui implique que la compréhension de la complexité ne peut se restreindre aux définitions du domaine de l’informatique seul qui se limitent à la théorie de l’information et ne capturent pas des dimensions essentielles. Nous allons donc tenter dans la suite de fixer les notions de systèmes et de leur complexité tels que nous les appréhendons. D’une manière générale, un système est un environnement, délimité du milieu extérieur 81.1. Systèmes complexes . F 1.2 : Essaim d’abeilles sur un arbre. Image sous licence CC BY-NC par Fir0002/Flagstaffotos par une membrane, dans lequel un ensemble d’éléments va avoir la possibilité d’interagir et éventuellement de s’organiser. Cet environnement et ces éléments sont régis par un certain nombre de contraintes qui vont permettre de caractériser le système. Les interactions peuvent être fixes comme dans le cas d’un moteur constituant un système électrique, ou libres, mais dans ce cas soumises à des contraintes comme par exemple un écosystème naturel. Nous verrons par la suite que cette membrane qui isole l’environnement peut être ouverte ou fermée en fonction du fait qu’elle permette ou non des échanges avec le milieu extérieur. Les éléments, que nous nommerons par la suite entités, ont la possibilité d’interagir entre eux mais aussi avec l’environnement. Celui-ci peut d’ailleurs servir d’intermé- diaire à une forme d’interaction indirecte comme par exemple la stigmergie chez les termites constructeurs [G 1959]. La stigmergie est un mode de communication qui consiste à déposer un message dans l’environnement qui déclenchera ensuite une réaction de la part 9. C . F 1.3 : Nuée d’oiseaux marins aux îles Shumagin. Cette image est dans le domaine publique des entités qui en prendront connaissance. Des interactions entre les entités peut se dégager de l’organisation entre les entités, et de ce fait, on ne peut limiter le système à la somme de ses parties. Le système est au contraire formé par l’environnement, les entités, leurs interactions ainsi que des propriétés qui émergent du comportement et des interactions des entités. On retrouve cette notion d’organisation formant un tout dans la définition de système donnée dans [S 1931] : . “ Totalité organisée, faite d’éléments solidaires ne pouvant être définis que les uns par rapport aux autres en fonction de leur place dans cette totalité.. Un système peut être ouvert ou fermé. Lorsqu’il est ouvert, la membrane qui délimite ” l’environnement du système est poreuse et laisse donc passer des flux de l’extérieur du système qui viennent perturber le système. Le système peut émettre en retour des flux vers l’extérieur. Ces flux qui traversent le système et sur lesquels le système n’a ni contrôle ni possibilité de prédiction absolue cassent le déterminisme du système et vont être responsables de phénomènes d’auto-organisation qui peuvent apparaître. Le système suit alors une trajectoire qui est non-déterministe. La définition d’un système fermé découle naturellement de la précédente comme étant son contraire : la membrane du système est hermétique et les flux traversant l’environnement se cantonnent donc à ceux générés par le système lui 101.1. Systèmes complexes même. Un système totalement fermé relève du concept. En effet, la nature ne possède pas d’exemple de tels systèmes et leur observation en serait d’ailleurs impossible : comment observer quelque chose qui ne se laisse pas traverser par la moindre particule et qui n’en émet aucune ? C’est pourquoi dans ces travaux nous considérerons que le système est ouvert afin d’être au plus proche de la réalité des systèmes naturels dont nous nous inspirons. Le système que nous considérons peut donc être assimilé aux systèmes dissipatifs tels que formulés par Ilya P et Isabelle S dans [P et S 1996]. Ces systèmes ouverts sont traversés par des flux d’énergie et de matière provenant de l’environnement extérieur et convertissent une partie de ce flux en informations afin de créer de l’ordre à l’intérieur du système. Cette absorption d’énergie conduit à l’augmentation de l’entropie globale du système, qui est dissipée par des phénomènes d’auto-organisations. La complexité repose sur plusieurs choses. Tout d’abord sur l’appréhension que l’on peut avoir sur les entités et leurs interactions. En effet, la quantité de ces éléments peut être telle qu’il devient difficile voire impossible, que ce soit pour un observateur humain ou même pour une machine, de considérer la totalité des éléments du système et de ce fait de pouvoir étudier le système par des approches globales. Elle est aussi liée au fait que le système soit plongé dans le temps [C et H 1997]. Ce temps va définir une succession d’états du système. Il peut être continu, c’est à dire que peu importe deux temps réels t1 et t2 auxquels correspond un état du système, on peut trouver un état au temps t3 tel que t1 < t3 < t2. Au contraire, le temps peut être discret : l’état du système n’est défini que pour certaines valeurs de temps qui sont séparées par un intervalle constant ou non. Dans ces travaux, nous nous focaliserons sur une approche par événements discrets qui consiste à considérer les modifications qui surviennent dans le système plutôt que le temps lui même [Z, P et K 2000]. Cette temporalité, qu’elle soit événementielle ou non, mène donc au fait que l’on observe une dynamique des différents composants du système, que ce soit l’apparition ou la disparition d’entités ou d’interactions entre les entités, ou encore la dynamique des propriétés du système. L M dans [L M 1994] intègre cette notion d’évolution dans sa description du Système Général : . “ un objet qui, dans un environnement, doté de finalités, exerce une activité et voit sa structure interne évoluer au fil du temps, sans qu’il perde pourtant son identité unique.. Du fait des interactions entre les entités et de la temporalité, on observe des ” phénomènes qui créent de l’organisation au sein du système et qui peuvent intervenir sur différentes échelles, spatiales ou temporelles. Il est donc nécessaire d’être capable d’effectuer un changement d’échelle, grâce à la détection des organisations, pour pouvoir observer à un plus haut niveau d’organisation. Ces phénomènes peuvent survenir à l’échelle microscopique sur une période de temps suffisamment courte pour pouvoir considérer le phénomène comme instantané. Ils oscillent autour d’un point d’équilibre. Ces phénomènes, que l’on qualifiera de synchroniques, bien qu’agissant à l’échelle microscopique ont des conséquences sur l’échelle macroscopique par leur répétition qui renforce d’autres phénomènes, qualifiés de diachroniques, qui agissent à une échelle macroscopique. L’action de ces derniers s’effectue sur une 11. C . F 1.4 : Organisation entre fourmis pour traverser un trou. L’auteur de cette image est inconnu fenêtre de temps beaucoup plus large avec des conséquences non-réversibles sur l’environnement qui entraînent des conséquences sur les phénomènes synchroniques. On peut citer comme exemple l’infiltration d’une goutte d’eau au travers d’une faille (phénomène synchronique), la répétition de ce phénomène sur des décennies voire des siècles aboutit à la création de concrétions, les stalactites ou stalagmites (phénomène diachronique). Les interactions dans le système peuvent être de type rétroactif ou de type proactif. Dans le cas d’interactions rétroactives, l’entité va réagir à un stimulus indirectement provoqué par une entité de plus haut niveau, que ce soit une organisation, l’environnement ou le système lui-même. L’entité n’a ni contrôle ni but dans cette réaction. Le rôle de la rétroaction va être d’amplifier (rétroaction positive) ou de diminuer (rétroaction négative) l’intensité d’un phé- nomène. On retrouve des exemples de ce type d’interactions dans le système endocrinien, en particulier dans l’homéostasie de la thyroïde [D, L et F 2012] : un faible niveau d’hormones thyroïdiennes T3/T4 va entraîner de la part de l’hypothalamus la libération d’hormone thyréotrope (TRH) qui à son tour va stimuler l’hypophyse ; cette stimulation va aboutir à la production de thyréostimuline par l’hypophyse qui va stimuler la production d’hormone thyroïdienne jusqu’à un retour à un niveau normal dans le sang (voir la figure 1.5). Les interactions proactives impliquent non seulement un contrôle de l’entité mais également la recherche d’un objectif au travers de l’interaction. L’entité cherche alors à agir à un plus haut niveau sur une organisation, l’environnement ou le système entier en le transformant, et en provoquant éventuellement les rétroactions d’autres entités. Cette action résulte de l’anticipation d’un possible événement à venir qui peut être prédit par l’analyse de ce que l’entité perçoit du système. Une interaction proactive peut être le résultat de la répétition d’une même interaction réactive qui, grâce à un mécanisme de mémoire et d’apprentissage, permet à l’entité de détecter le contexte précédant une certaine interaction, ce qui lui permet 121.2. Écosystème computationnel . Hypothalamus taux en T3/T4 faible taux en T3/T4 normaux Hypophyse production de TSH Thyroïde stimulée par TSH production de T3/T4 libération de TRH F 1.5 : Homéostasie du système thyroïdien. d’anticiper l’interaction. On peut considérer comme exemple le système de régulation thermique d’un bâtiment dont le rôle serait d’y maintenir une certaine température. Ce système peut être équipé d’une sonde qui mesure la température extérieure et grâce à l’analyse de l’évolution de cette température, la sonde peut anticiper l’impact de la température de l’extérieur sur l’intérieur et ainsi agir de manière proactive en ajustant le réglage des appareils thermiques pour maintenir la température intérieure constante. Un système complexe, bien que composé d’entités en interactions, est avant tout le fruit de ces interactions. On peut d’ailleurs considérer que le système est composé d’interactions plutôt que d’entités. Ceci implique qu’on ne peut limiter le système à ses seules entités et qu’on ne peut limiter son analyse à celle d’une partie de ses entités. Il s’agit d’un système nonlinéaire dans lequel les interactions locales entre entités impliquent des réactions globales du système. 1.2 Écosystème computationnel . “ An ecosystem is a community of living organisms (plants, animals and microbes) in conjunction with the nonliving components of their environment (things like air, water and mineral soil), interacting as a system.. ” Cette citation, extraite de W , reprend un vocabulaire qui nous est familier et qui nous permet de faire le lien avec la notion de système complexe dont il était question 1. https://en.wikipedia.org/wiki/Ecosystem, consultée le 4 août 2013 13. C . . F 1.6 : À gauche, un système fermé dans lequel les perturbations extérieures ne peuvent franchir la membrane du système. Au contraire, à droite, un flux est généré par les perturbations qui traversent le système. précédemment : il est question d’entités (les organismes) qui interagissent dans un environnement en formant un système. Il est aussi question d’éléments « sans vie » que l’on peut désigner comme étant les ressources de l’environnement. Nous allons maintenant définir et approfondir ce que nous entendons par écosystème computationnel. 1.2.1 Système distribué Nous évoluons dans un monde qui est de plus en plus peuplé d’appareils divers et variés. Grâce à l’essor de la technologie, ces appareils se sont vus dotés de mobilité, mais plus important encore, leur capacité de communiquer et d’interagir entre eux n’a de cesse d’augmenter. De l’ordinateur de bureau à la maison elle même, en passant par le téléphone, la voiture…Tous ces appareils forment un ensemble de sous-réseaux qui peuvent s’interconnecter. Ces appareils vontformer un système distribué qui va permettre l’exécution de programmes dont la fonction se réduit au calcul dans le but de générer et d’échanger de l’information. Là où par le passé un programme se réduisait à une séquence d’instructions qui s’exécutaient sur un système isolé, il s’agit désormais d’ensembles de programmes qui s’organisent afin de fournir des services de plus haut niveau. Grâce aux connections existantes entre les appareils, les programmes peuvent être dispersés sur un ensemble de systèmes. Il existe différents types de systèmes distribués, liés par exemple aux types d’unité de calcul ou encore à la topologie du réseaux, ce qui conduit à différentes définitions de ces systèmes. L. L en 1987 donne la définition suivante d’un système distribué dans [L-  1987] : 141.2. Écosystème computationnel . Applications Intergiciels et services Ressource 1 Ressource 2 … Ressource n Entités Infrastructure d’interconnection Ressources partagées F 1.7 : Les différentes couches d’un système distribué . “ A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable.. Cette définition considère donc un système distribué comme un ensemble de machines ” qui sont dépendantes les unes des autres à tel point que la perte inopinée d’une de ces machines peut entraîner un gel complet du système le rendant ainsi inutilisable. Elle transmet donc l’idée d’une infrastructure statique monolithique. Plus récemment en 2000 dans [E-  2000], W. E nous donne la définition suivante : . “ A distributed system consists of a collection of autonomous hosts that are connected through a computer network. Each host executes components and operates a distribution middleware, which enables the components to coordinate their activities in such a way that users perceive the system as a single, integrated computing facility.. L’auteur utilise ici le terme plus général d’ ” hôte pour désigner les machines faisant partie du système et ici ces hôtes sont autonomes : nous avons donc une infrastructure modulaire dont les parties sont communicantes et indépendantes. L’ensemble agit de concert par l’intermédiaire d’un intergiciel qui permet aux différents composants s’exécutant dans le système de s’abstraire de leur environnement d’exécution en le considérant comme un unique environnement dans lequel ils peuvent évoluer. Bien que cette dernière définition implique une certaine tolérance aux pannes dans le système, elle n’inclut pas toute la dynamique qui peut régir certains systèmes. Cela peut suffire pour des systèmes distribués purement dédiés au calcul, comme les grilles ou les grappes, qui ont une dynamique faible : celle-ci se limite aux pannes de machines et à l’ajout ou la suppression de ressources qui surviennent à une faible fréquence. On peut cependant considérer 15. C des systèmes où les machines ont une fréquence d’apparition/disparition plus importante : par exemple, si le réseau comporte des appareils mobiles tels que des smartphones, du fait de leur mobilité et d’une connexion sans-fil au réseau sujette aux perturbations, ces périphériques peuvent se retrouver facilement déconnectés du réseau pour le ré-intégrer par la suite. 1.2.2 Vers une écologie computationnelle Le terme « écologie » a été emprunté à la langue allemande Ökologie qui est une combinaison par le zoologiste et biologiste allemand E. H. H des termes du grec ancien « οἶκος » (oîkos) signifiant « maison » et du suffixe utilisé pour la construction du nom des sciences « λογία » (logia) signifiant « discours » . L’écologie peut donc être considé- rée comme la science de la maison, mais comment peut-on définir maison dans ce contexte ? Avec « écologie » vient la notion d’écosystème dont l’étymologie peut nous permettre de le voir comme le système formé par la maison. On peut donc considérer cette maison comme un système composé d’un ensemble d’habitants (la biocénose), et d’un milieu (la bâtiment, le biotope) proposant un certain nombre de ressources à ses habitants (nourriture, couchage, sanitaires, eau, électricité, …). Les ressources arrivent de l’extérieur du système et les habitants peuvent entrer et sortir : le système formé par la maison est donc ouvert. Dans notre cas, la maison est un système distribué ouvert dont les habitants sont des entités logicielles. Tout comme la maison dispose de ressources permettant à ses habitants d’y vivre, notre système dispose de ressources (capacité de calcul, mémoire, …) qui permettent à ses entités logicielles de calculer et d’échanger de l’information. Les différentes machines d’un système distribué vont former le biotope d’un écosystème computationnel dans lequel nous allons trouver des ressources (capacité de calcul, mémoire, …). Ce biotope va permettre d’accueillir une biocénose formée par les entités logicielles qui vont pouvoir évoluer, interagir et s’organiser. Le terme d’écosystème computationnel a été principalement introduit par [K, H et H 1989 ; H 1988]. S’inspirer du naturel n’est pas un fait nouveau, et ceci à différentes échelles : physique, chimique, biologique et sociale [Z et V 2011]. On trouve par exemple la métaheuristique du recuit simulé s’inspirant des systèmes thermodynamiques [K, V et G 1983 ; Č 1985], l’algorithme d’optimisation PSO  qui utilise des essaims de particules [K et E 1995] ou encore les algorithmes fourmis s’inspirant des colonies de fourmis ainsi que de leur mode de communication indirecte [D, M et C 1996]. On retrouve aussi cette inspiration dans les algorithmes évolutionnistes tels que les programmes évolutionnistes [F 1962], les algorithmes génétiques [H 1975] ou encore la programmation génétique [C 1985]. Il s’agit de méta-heuristiques s’inspirant de la théorie de l’évolution afin de faire évoluer, à l’aide de mécanismes de croisement et de mutation, une 2. Source : Trésor de la Langue Française informatisé, http://www.cnrtl.fr/etymologie/écologie 3. Particule Swarm Optimisation 16Références population initiale de solutions à un problème donné afin de produire une nouvelle génération de meilleures solutions. Si la nature est une source d’inspiration, c’est qu’elle sait faire preuve d’une adaptabilité que l’on souhaiterait pouvoir reproduire dans nos modèles. Au travers de la métaphore bioinspirée des écosystèmes computationnels, nous voyons le système distribué comme étant lui même un système complexe afin d’en obtenir les avantages tout en devant en accepter les difficultés. Les entités logicielles sont alors les entités de ce système complexe qui interagissent dans le milieu formé par l’ensemble des ressources de calcul . L’avantage majeur que l’on souhaite obtenir de cet environnement de distribution vu comme un système complexe est la capacité d’adaptation dont sont capables de faire preuve de tels systèmes. Cette adaptabilité émerge autant de mécanismes de collaboration que de mécanismes de compétition qui permettent tout deux l’auto-organisation. Nous pouvons clore ce chapitre par une citation de J. L dans [L 1993] qui présente un système comme un objet adaptatif, contrôlé par des boucles de rétroaction et capable d’utiliser de l’information afin d’évoluer : . “ En définitive, que nous considérions un simple four électrique, une chaîne de magasins de détail gérée par ordinateur, un chat endormi, un écosystème, ou Gaïa elle-même tant que nous nous intéressons à quelque chose qui est adaptatif, capable de récolter de l’information et d’emmagasiner expérience et savoir, son étude est une question de cybernétique et l’objet étudié peut être nommé un ”système”.. ” Références Č, V. (1985). “Thermodynamical approach to the traveling salesman problem : An ef- ficient simulation algorithm”. In : Journal of Optimization Theory and Applications 45, p. 41–51. C, P. et D. R. C. H (1997). Modélisation et Simulation des Écosystèmes. Masson. C, Nichael Lynn (1985). “A Representation for the Adaptive Generation of Simple Sequential Programs”. In : ICGA, p. 183–187. D, Johannes, Gabi L et Elisavet H F (2012). “TSH and Thyrotropic Agonists : Key Actors in Thyroid Homeostasis”. In : Journal of thyroid research. D, Marco, Vittorio M et Alberto C(1996). “The Ant System : Optimization by a colony of cooperating agents”. In :IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS-PART B 26 (1), p. 29–41. E, Wolfgang (2000). Engineering distributed objects. Wiley.com. F, Lawrence J. (1962). “Autonomous automata”. In : Industrial Research 4 (2), p. 14– 19. 17. C G, Pierre-Paul (1959). “La Reconstruction du nid et les coordinations interindividuelles chez Bellicositermes natalensis et Cubitermes sp. La théorie de la stigmergie : essai d’interprétation du comportement des Termites constructeurs”. In : Insectes sociaux. H, John H. (1975). Adaptation in Natural and Artificial Systems. University Michigan Press. H, Bernado A (1988). The ecology of computation. Elsevier Science Inc. K, J et R E (1995). “Particle Swarm Optimization”. In : IEEE International of first Conference on Neural Networks. K, Jeffrey O, TadH et Bernado AH (1989). “Dynamics of computational ecosystems”. In : Physical Review A. K, Scott, Mario P V et D. G (1983). “Optimization by simulated annealing”. In : science 220 (4598). K, Andreï (1965). “Three Approaches for Defining the Concept of Information Quantity”. In : Problems of information transmission 1 (1), p. 1–7. L, Leslie (18 mai 1987). distribution. English. E-mail.  : https://research. microsoft . com / en - us / um / people / lamport / pubs / distributed - system . txt (visité le 08/08/2013). L M, Jean-Louis (1994). La théorie du système général, théorie de la modélisation. Les classiques du réseau intelligence de la complexité. L, James (1993). La terre est un être vivant : l’hypothèse Gaïa. Champs sciences. Flammarion.  : 978-2-0812-4481-8. P, Ilya et Isabelle S (1996). La fin des certitudes : temps, chaos et les lois de la nature. Odile Jacob.  : 2738103308. S, Ferdinand de (1931). Cours de linguistique générale. Payot. Geneva. Z, Franco et Mirko V(2011). “A survey on nature-inspired metaphors for pervasive service ecosystems”. In : International Journal of Pervasive Computing and Communications 7 (3), p. 186–204. Z, Bernard P., Herbert P et Tag Gon K (2000). Theory of Modeling and Simulation [Second Edition] : Integrating Discrete Event and Continuous Complex Dynamic Systems. 18C 2 P Nous avons présenté dans le chapitre précédent notre vision d’un système distribué comme un écosystème computationnel composé de son biotope (un ensemble de ressources de calcul interconnectées) et de sa biocénose (les entités logicielles qui vont s’exécuter). La mise en pratique de ce modèle n’est pas sans soulever certains problèmes, liés d’une part à l’environnement et d’autre part aux entités, que nous allons présenter dans ce chapitre. La figure 2.1 montre les différents éléments qui vont intervenir dans le système distribué. Nous avons à la base une simulation, que l’on souhaite répartir sur un ensemble de machines, qui va produire un réseau d’interactions. Nous allons modéliser ce réseau d’interactions grâce à un graphe dynamique que nous allons pouvoir manipuler et analyser. Ce graphe va évoluer dans un environnement modélisant l’ensemble des machines qui sont à disposition. De cette analyse, nous allons pouvoir fournir des informations concernant la distribution de la simulation sur l’ensemble des machines. D’un point de vue écologique, nous avons vu qu’un écosystème est composé d’un biotope et d’une biocénose. Le biotope représente un environnement spatialisé qui va fournir un habitat ainsi que des ressources à la biocénose pour lui permettre de vivre. Cette biocénose comporte l’ensemble des êtres vivants de l’écosystème (flore, faune, micro-organismes). Un ensemble de biotopes caractérisés par un climat forme un biotope de plus haut niveau appelé biome . Ce dernier peut être terrestre ou aquatique. Enfin, l’ensemble des biomes va former la biosphère. Dans le cadre des systèmes distribués, nous avons une infrastructure composée de machines et d’un réseau qui permet l’exécution d’entités logicielles. Cette infrastructure va pro- 1. Terme introduit pour la première fois par Frederic Edward C en 1916 19. P . Simulation Réseaux d’interactions Ensemble de machines Modèle : graphe dynamique micro macro Environnement Système distribué Écosystème computationnel F 2.1 : Description du contexte. La partie colorée désigne ce à quoi nous nous intéressons c’est à dire d’une part le modèle d’un réseau d’interactions créé par une simulation et d’autre part un environnement de distribution modélisant les ressources disponibles. poser des ressources (capacité de calcul, mémoires, accès à diverses sondes ou autres périphériques, etc…) aux entités logicielles afin de leur permettre de remplir leurs fonctions. La table 2.1 récapitule la comparaison entre un écosystème d’un point de vue écologique et l’écosystème formé par un système distribué. Nous manipulons et analysons la syntaxe de la simulation dont la sémantique nous est inaccessible. Tout au plus, nous approchons la sémiologie de la simulation. Cette syntaxe nous permet de mettre en relation l’ensemble des éléments intervenant dans le système. Afin de pouvoir l’analyser, il est nécessaire de définir un modèle qui nous fournisse les moyens de la manipuler. Tout d’abord se pose le problème de la modélisation de la biocénose logicielle. Il s’agit d’entités logicielles qui ont la possibilité d’interagir entre elles. Deux problèmes se posent alors : 1. comment modéliser le réseau d’interactions formé par les entités en interaction ? 2. quel est le modèle d’interaction qui va nous permettre de définir de quelle manière des entités interagissent entre elles ? La modélisation du réseau d’interaction peut être réalisée grâce à un graphe dans lequel chaque entité représente un nœud et où une arête représente une interaction entre deux entités. Il y a cependant un premier problème qui se pose : du fait que les entités sont réparties sur un ensemble de machines, chaque machine ne peut construire qu’un sous-graphe local, représentant les entités qu’elle héberge. On considère en effet comme contrainte que le nombre potentiel d’entités est trop important pour pouvoir réifier sur une seule machine une 20Écologie Computationnel aquatique, terrestre ensemble de machines connectées via un réseau Milieu eau, air, énergie capacité calcul, mémoire, sondes, périphériques Ressources Population flore, faune entités logicielles Dynamique du milieu climatique (saisons, météo), géologique (tectonique des plaques, érosion) ajout/suppression de ressources, pannes, connexion/déconnexion de ressources Dynamique de la population cycle naissance/mort, reproduction début et éventuellement fin de programmes Interactions liées aux sens/à la perception de l’autre liées aux communications contraintes liées à l’environnement T 2.1 : Comparaison entre la vision d’un écosystème d’un point de vue écologique et d’un point de vue computationnel. structure de données dont la taille serait proportionnelle aux nombres d’entités ou d’interactions. Il est donc impossible de construire un graphe global qui représenterait l’ensemble des entités, ce graphe est donc un graphe distribué formé par l’ensemble des sous-graphes locaux de chaque machine. De plus, afin de pouvoir modéliser la dynamique liée à la fois aux entités et aux interactions, le graphe devra lui même être dynamique. Nous avons besoin d’un modèle de dynamique qui soit adapté à la distribution du graphe et à l’absence de réification de la structure globale. Nous avons vu que le système distribué que nous cherchons à modéliser est en soi un système complexe. Le contrôle de tels systèmes est un défi majeur. Plusieurs verrous en sont les causes, l’aspect multi-échelles temporelles et spatiales de la dynamique constitue sans doute l’élément essentiel. Une des méthodes consiste à identifier et modéliser des motifs de dynamique qui capturent plus ou moins grossièrement temporellement et spatialement la trajectoire du système. Cette démarche entreprise, il est alors envisageable à l’aide de ces informations d’influencer la trajectoire du système afin de le faire se diriger vers un objectif recherché. On tente de gouverner le système plutôt que de tenter d’obtenir un contrôle 21. P optimal que nous sommes incapables d’exercer du fait que cela impliquerait de contrôler l’ensemble des variables qui, dans le cadre de tels systèmes, est considérable. Nous complétons cette démarche en essayant également de découvrir des solutions sur la façon dont il est possible de gouverner un tel système afin d’en améliorer la robustesse et la résilience. La robustesse permet de quantifier la capacité du système à maintenir sa trajectoire lorsqu’il est soumis à des aléas qui créent des perturbations souvent majeures et en chaîne. La notion de résilience peut être définie de deux manières [C S. H 1996] : d’une part la résilience d’ingénierie définie dans [P 1984], et d’autre part la résilience écologique telle que décrite dans [C. S H 1973]. La résilience d’ingénierie permet de mesurer la stabilité autour d’un état d’équilibre en s’appuyant sur la capacité du système à résister aux perturbations et sa vitesse à revenir à l’état d’équilibre. Cette définition est cependant insuffisante car elle ne prend pas en compte la possibilité de multiples états d’équilibre pour le système. La résilience écologique quant à elle permet de mesurer, pour un état d’équilibre stable, l’amplitude de la perturbation nécessaire pour modifier la trajectoire du système en le plaçant dans un autre domaine de stabilité. D’une manière plus générale, on peut considérer la résilience comme la capacité d’un système à s’adapter aux perturbations en ré-organisant sa structure interne afin de lui permettre de conserver ses caractéristiques globales [W et al. 2004] : . “ Resilience is the capacity of a system to absorb disturbance and reorganize while undergoing change so as to still retain essentially the same function, structure, identity, and feedbacks.. ” Dans le cadre des écosystèmes computationnels, cette dernière définition reflète ce que l’on souhaite obtenir du système distribué : peu importe les perturbations venant agir sur le système (dynamique des ressources de calcul, dynamique des entités, …), on souhaite que ce système s’adapte et continue à remplir sa fonction. Afin d’illustrer notre propos, nous pouvons considérer que nous avons besoin de calculer et de maintenir un plus court chemin entre deux nœuds du modèle, pour optimiser le routage des communications par exemple. Nous calculons donc une solution initiale puis, du fait de la dynamique, des perturbations viennent remettre en question la validité de notre solution. Il peut s’agir en l’occurrence de la suppression de certains nœuds ou arêtes faisant partie de la solution ou l’ajout de nouveaux éléments dans le graphe qui vont contribuer à l’apparition d’une nouvelle solution significativement meilleure. Nous attendons de notre système que malgré ces perturbations il soit capable de s’adapter en mettant à jour la solution initiale de façon à ce qu’elle continue à être valable. C’est cela que nous entendons par résilience. Cette résilience du système repose sur l’auto-organisation qui émerge des interactions entre les entités et plus particulièrement de mécanismes de collaboration mais aussi de compétition. On trouvera principalement de la collaboration à l’intérieur de l’organisation, c’est à dire entre ses membres, tandis que la compétition résulte d’interactions entre des entités situées aux limites des organisations. La gouvernance du système, dans l’optique d’optimiser sa résilience, nécessite dans un premier temps la détection des organisations de manière 22. A B états du système niveau d’énergie . Énergie nécessaire au changement d’état . état . . état stable x. . . domaine de stabilité F 2.2 : Résilience d’ingénierie et résilience écologie. On constate qu’il faut plus d’énergie au système pour quitter l’état d’équilibre A que pour quitter l’état B : la résilience d’ingénierie est plus forte en A que en B. En revanche, le domaine de stabilité associé à l’état B est plus important que celui associé à l’état A : la résilience écologie de B est plus forte que celle de A. à maximiser la robustesse de ces organisations. Pour cela, il est important de comprendre et de définir ce qui caractérise une organisation. Une organisation est une structure du graphe associée à une sémantique qui va donner un sens et un rôle à l’organisation. Cette structure possède une forme qui va influencer la robustesse de l’organisation face aux perturbations. Par exemple, si la structure de l’organisation forme un sous-graphe complet, sa robustesse sera maximale car très difficile à casser. Au contraire, si la structure forme un chemin, la suppression d’un seul élément peut casser l’organisation. La difficulté liée à la dynamique réside dans l’entretien de la structure de l’organisation afin de maintenir cette dernière dans le temps. En effet, une entité qui disparaît va modifier la structure de l’organisation dont elle fait partie. De même que l’ajout d’une nouvelle entité va nécessiter de déterminer si elle fait partie d’une nouvelle organisation en formation ou si elle peut être intégrée à une organisation existante ; dans ce dernier cas, il est nécessaire de mettre à jour la structure de cette organisation. Afin de mieux analyser les organisations, on peut considérer que trois parties peuvent potentiellement composer une organisation (voir la figure 2.4) : — le noyau qui, s’il existe, correspond à la partie intérieure stable de l’organisation ; — une membrane regroupant l’ensemble des entités de l’organisation qui interagissent 23. P . . F 2.3 : Exemples de formes d’organisation. Les éléments colorés forment l’organisation. avec au moins une entité en dehors de l’organisation ; — une partie intérieure intermédiaire. Le noyau reflète l’idée d’un point d’équilibre de l’organisation et offre donc des éléments d’informations nous permettant d’affiner la détection des organisations : si l’on est capable de détecter la présence de multiples points centraux à l’intérieur d’une même organisation, l’organisation a une forte probabilité d’être instable. L’affinage consiste alors à diviser l’organisation afin d’obtenir de nouvelles organisations plus petites mais plus robustes. Cela implique de disposer d’un outil adapté à notre contexte et permettant de caractériser ces points d’équilibres. Nous verrons par la suite une présentation de mesures de centralité qui permettent de détecter les points centraux d’un graphe. Références H, C. S (1973). “Resilience and stability of ecological systems”. In : Annual review of ecology and systematics 4, p. 1–23. H, C S. (1996). “Engineering resilience vs. ecological resilience”. In : Engineering Within Ecological Constraints. The National Academies Press, p. 31–44. : 9780309051989. P, Stuart L (1984). “The complexity and stability of ecosystems”. In :Nature 307 (5949), p. 321–326. W, Brian et al. (2004). “Resilience, Adaptability and Transformability in Social– ecological Systems”. In : Ecology and Society 9 (2). 24Références . F 2.4 : Décomposition d’une organisation possédant les trois composantes : en orange le noyau, en noir la partie intermédiaire et en rouge la membrane. Les nœuds gris repré- sentent les nœuds ne faisant pas partie de l’organisation. 25Deuxième partie Positionnement 27C 3 R  3.1 Graphes dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1.1 Une première approche . . . . . . . . . . . . . . . . . . . 31 3.1.2 Modélisation de la dynamique . . . . . . . . . . . . . . . . 36 3.1.3 Une approche stochastique des graphes : les chaînes de Markov 40 3.1.4 Vers une représentation formelle . . . . . . . . . . . . . . . 41 3.1.5 Centralité . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.2 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2.1 Communautés et organisations . . . . . . . . . . . . . . . . 54 3.2.2 Forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.3 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.3.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.3.2 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Les réseaux d’interactions sont partout dans le monde qui nous entoure. On les retrouve à tous niveaux : des interactions chimiques entre des molécules aux interactions sociales entre des êtres vivants. Ce chapitre est consacré à présenter la modélisation de réseaux d’interactions et en particulier celle de la dynamique présente dans ces réseaux. De manière formelle, un réseau est un système dans lequel un ensemble d’entités sont connectées entre elles [M. E. J. N 2003]. Ces connections résultent d’une interaction entre les entités concernées, c’est pourquoi on parlera de réseau d’interactions. Lorsque ce réseau est plongé dans le temps, nous allons pouvoir observer une dynamique au niveau des 29. R  entités, de nouvelles pouvant apparaître, d’autres existantes pouvant disparaître, ainsi qu’au niveau des interactions entre les entités. On observe aussi une dynamique des propriétés qui composent ces différents éléments. Cette dynamique, qui est en soi une composante du réseau, va être la pierre angulaire de nos travaux. Parmi l’ensemble des réseaux, une certaine catégorie se distingue en regroupant des réseaux qui partagent certaines des caractéristiques suivantes : — une structure complexe de par son irrégularité ou un nombre d’entités et d’interactions suffisamment important, rendant la visualisation et la compréhension du ré- seau trop compliquées pour l’œil humain ; — une dynamique portant à la fois sur la structure (évolution des entités ainsi que des interactions) mais aussi sur les informations caractérisant les éléments du réseaux (entités et interactions) ; — un comportement non-prédictible ; — l’émergence de nouvelles propriétés du système, comme par exemple d’auto-organisation dont nous reparlerons par la suite ; — des mécanismes de collaboration/compétition. Ces réseaux sont associés aux systèmes complexes et vont être l’objet de notre attention. Les mondes réel et virtuel regorgent d’exemples de tels réseaux : les interactions protéinesprotéines, les échanges entre individus sur Internet, les collaborations scientifiques, les communications entre des machines, etc… Certains exemples sont présentés sur la figure 3.1. Nous avons vu dans ce qui précède que nous pouvons distinguer trois composants des réseaux d’interactions : — tout d’abord, un ensemble d’entités ; — puis des interactions entre ces entités ; — et enfin, une dynamique omniprésente. Nous utilisons le terme entité afin de définir de manière générique les processus autonomes qui composent ces systèmes : il s’agira selon le contexte de molécules, de cellules, d’individus ou encore d’ordinateurs voire de processus. On peut trouver ces objets sous d’autres noms dans la littérature (agents, nœuds, sommets). Les entités peuvent correspondre à des objets localisables dans notre espace physique lorsque le réseau est spatialisé, ou au contraire les entités peuvent évoluer dans un espace virtuel tel que le web. Une interaction représente l’action réciproque d’une entité sur une autre. Cette action peut être directe lorsque une entité demande explicitement à une autre d’effectuer une certaine action, ou au contraire l’interaction peut se faire indirectement lorsque l’action d’une entité est le résultat du comportement d’autres entités. Les interactions indirectes peuvent par exemple être liées à des mécanismes de rétro-action, ou des mécanismes de dépôt de message. L’entité qui est à l’origine de l’interaction peut procéder de deux manières : — soit elle rentre dans un état bloquant dont elle ne sortira qu’à la réception de la ré- ponse de l’entité cible, une telle interaction peut alors être qualifiée de synchrone ; — soit elle continue à effectuer d’autres actions tant que celles-ci ne dépendent pas du résultat de l’action initiale, puis lorsque ce résultat est disponible, l’entité peut alors 303.1. Graphes dynamiques s’occuper de son traitement, on parlera alors d’interaction asynchrone ; L’action que représente une interaction est elle aussi dépendante du contexte : réaction chimique, échange de courrier, connexion d’un câble sont autant d’exemples de ce que peut être cette action. La figure 3.1 illustre certaines de ces possibilités. Afin d’être capables d’étudier et de manipuler ces réseaux, nous avons besoin d’une structure capable des les modéliser. La modélisation d’un ensemble d’éléments et d’un ensemble de paires de ces mêmes éléments est possible grâce aux graphes. Cependant, les graphes tels quels ne nous permettent pas de modéliser l’élément moteur qu’est la dynamique globale du réseau, c’est pourquoi nous allons nous intéresser au domaine des graphes dynamiques. 3.1 Graphes dynamiques 3.1.1 Une première approche Le graphe est un objet à la fois informatique et mathématique permettant la représentation de problèmes composés d’un ensemble d’éléments pouvant être reliés entre eux. Dans la littérature, le graphe trouve son origine il y a quelques siècles, dans le problème des sept ponts de Königsberg de L. E[E 1741]. Les éléments représentés par le graphe sont appelés nœuds, et les relations existantes entre ces nœuds sont appelés respectivement arcs ou arêtes selon que la relation est ordonnée ou non. Dans le cas où les relations sont ordonnées, on parlera de graphe orienté ou di-graphe. Un graphe G est alors noté G = (V,E) où V représente l’ensemble des nœuds du graphe et E l’ensemble des arêtes (des arcs dans le cas d’un graphe orienté). Certains problèmes nécessitent que les nœuds et/ou les arêtes du graphe possèdent un poids. C’est le cas, par exemple, du problème de l’arbre couvrant de poids minimal [B 1926] où l’on cherche à extraire un sous-graphe dont l’ensemble des nœuds soit le même que celui du graphe d’origine et dont l’ensemble de arêtes soit un sous ensemble qui permette de connecter tous les nœuds sans qu’il y ait de cycle et de telle sorte que la somme des poids des arêtes de ce sous ensemble soit minimale. C’est aussi le cas de certains algorithmes de plus court chemin tel que D [D 1959] dans lesquels on cherche à minimiser la somme des poids de arêtes composant le chemin, ou encore le problème de flot maximum comme l’algorithme de F-F [F 1956]. Lorsque les éléments du graphe disposent de tels poids, on parle alors de graphe pondéré en précisant éventuellement si la pondération porte sur les nœuds, les arêtes voire même les deux. Un graphe pondéré alors noté G = (V,E,pV ,pE ) ou pV est une fonction de V → R et pE une fonction de E → R représentant respectivement les poids des nœuds et ceux des arêtes. De manière plus générale, on peut souhaiter associer plus d’une valeur aux éléments du graphe. Ces valeurs, que nous allons désigner sous le terme d’attributs, vont pouvoir être utilisées pour caractériser les éléments. Il s’agit alors d’une association entre un mot, la clef, et la valeur correspondante. Si les ensembles KV etKE représentent respectivement l’ensemble 31. R  . (a) La plus grande composante du réseau de collaboration de l’institut Santa Fe, avec les divisions principales indiquées par différentes formes de nœuds [G et M. E. J. N 2002] . (b) Le réseau trophique (ici d’un milieu cô- tier) décrit les liens existant entre les diffé- rents organismes d’un écosystème en terme de nutrition. Il se base sur les chaînes alimentaires et permet de visualiser les flux d’énergie et de matière existant au sein de l’écosystème. Source : https://fr.wikipedia.org/ wiki/Réseau_trophique, consultée le 30 octobre 2013. . (c) Réseau d’interactions entre un échantillon de livres vendus sur le site Amazon. Les nœuds représentent des livres. Une interaction entre deux livres signifie que ces livres ont été achetés ensemble. F 3.1 : Quelques exemples de réseaux 323.1. Graphes dynamiques des clefs possibles pour les nœuds et les arêtes, on peut alors généraliser les fonctions pV et pE précédentes : pV : V ×KV → R pE : E ×KE → R (3.1) Nous choisissons ici l’ensemble R pour désigner l’ensemble dont font partie les valeurs des attributs. Ces valeurs peuvent cependant être autre chose que des réels, il peut s’agir d’entiers, de couleurs, etc… L’ensemble R permet cependant d’englober toutes ces valeurs et de fournir ainsi une manière générique de décrire les attributs. Un graphe dynamique permet de modéliser les modifications pouvant survenir au niveau de la structure du graphe (modification de l’ensemble des nœuds V (G) ou de celui des arêtes E(G)) mais aussi sur l’évolution des attributs associés aux éléments (nœuds, arêtes). Dans la littérature, la notion de graphe dynamique est référencée sous différents termes qui dépendent du contexte et du domaine dans lesquels le graphe est exploité. Par exemple la notion de réseaux complexes est particulièrement utilisée dans l’étude de réseaux extraits du monde réel comme c’est le cas de [B et al. 2006] dans une étude du graphe du net. La particularité de ces réseaux est d’être constitués d’un ensemble massif et dynamique d’entités en forte interaction. La notion de réseaux complexes englobe entre autres celle de réseaux sans échelle ainsi que celle de réseaux petit-monde [S et W 1998] . Les réseaux sans échelle introduits par A.-L. B et E. B [B et B 2003] sont des réseaux dans lesquels la distribution des degrés suit une loi de puissance, ainsi quelques nœuds sont fortement connectés tandis que la grande majorité ne le sont que très faiblement. Cette répartition des degrés fait que le réseau est invariant d’échelle, c’est à dire que l’on observe les mêmes propriétés peu importe l’échelle considérée (cf. la figure 3.2). Les réseaux petit-monde quant à eux possèdent une grande partie de nœuds faiblement connectés mais de telle sorte que la longueur moyenne du plus court chemin entre deux nœuds du réseau soit faible. Afin de montrer que le réseau que nous formons, en tant qu’être humain connecté à un certain nombre d’autres humains que nous connaissons, est de type petit-monde, le sociologue Stanley M mena une expérience en 1967 dans laquelle il tente de faire transiter 60 lettres remises à des personnes d’une ville du Nebraska et devant atteindre une ville du Massachusetts en échangeant ces lettres uniquement en mains propres avec des connaissances personnelles. Sur ces 60 lettres, seulement 3 arrivèrent... mais en quatre jours (les deux villes étant séparées d’environ 2250 km). Notre objectif n’est pas de nous consacrer ici à la description de l’ensemble des termes utilisés pour désigner un graphe dynamique. On trouvera dans la thèse de Yoann P [P-  2008] une partie permettant d’approfondir la description de plusieurs des termes que nous avons vus. Pour notre part, nous retiendrons le terme réseau d’interactions pour dé- signer la structure réelle ou virtuelle émergeant d’interactions entre des éléments que nous nommons entités. Le terme graphe dynamique désigne l’objet qui va nous permettre de modéliser ce réseau. La figure 3.3 permet de visualiser ces différentes couches : 1. scale-free networks et small-world networks 33. R  . . 0 20 40 60 80 100 120 140 160 180 200 220 240 0 5,000 10,000 degrés nombre de nœuds distribution des degrés 34 F 3.2 : Réseau sans-échelle généré avec GS par attachement préférentiel.3.1. Graphes dynamiques . a b c F 3.3 : Présentation des différentes couches en se basant sur une simulation de boids : (a) le réseau d’interactions, (b) le graphe dynamique initial modélisant le réseau, (c) une vue macroscopique du graphe dynamique a. un ensemble d’agents nommés boids est simulé [R 1987] , leur but est de reproduire le comportement de groupe d’organismes vivants tels que certaines espèces de poissons ou encore certaines espèces d’oiseaux ; on considère qu’il y a une interaction entre deux boids lorsque la distance qui les sépare est suffisamment faible pour que l’un influence le comportement de l’autre ; b. le graphe dynamique modélisant le réseau d’interactions : chaque boid est représenté par un nœud, les interactions sont représentées par une arête entre les nœuds correspondants ; il s’agit là d’une vue du graphe à l’échelle microscopique ; c. le même graphe mais vu d’une échelle macroscopique : les boids ont été regroupés afin de former des structures. Une vue macroscopique du graphe signifie que l’on va désormais observer des structures 2. le modèle des boids est présenté en détail dans l’annexe A 35. R  composées de nœuds plutôt que les nœuds eux mêmes. Ces structures seront principalement des organisations que nous allons présenter par la suite (cf .3.2.1). Ce type de vue implique de procéder à un changement d’échelle qui passera par une phase de détection des structures qui nous intéressent, puis par la création d’un nouveau graphe donc les nœuds représenteront les structures détectées à l’étape précédente. 3.1.2 Modélisation de la dynamique Si les nœuds et les arêtes du graphe sont des éléments dont la représentation ne pose pas de problème majeur, la représentation de la dynamique qui va opérer à plusieurs niveaux sur le graphe est bien moins intuitive. Nous allons nous intéresser aux différentes manières de modéliser la dynamique dans un graphe. Cette dynamique est composée d’un ensemble de modifications qui peuvent survenir dans le graphe. Dans [F. H et G 1997], F. H et G. G proposent différents types de dynamiques de graphe qui vont permettre de définir que les ensembles d’éléments du graphe (nœuds et arêtes) vont pouvoir évoluer. C’est à dire qu’il est possible que le graphe se voie ajouter ou retirer des nœuds ou des arêtes au fil du temps. Les auteurs définissent alors un type de graphe où seul l’ensemble des nœuds évolue, puis de manière similaire un graphe où seul l’ensemble des arêtes évolue. On notera que la dynamique ne peut difficilement porter que sur les nœuds du fait que la suppression d’un nœud implique la suppression de l’ensemble des arêtes adjacentes à ce nœud. Les auteurs définissent aussi des types de dynamiques permettant de faire évoluer le poids des nœuds et/ou des arêtes. Cette première approche de la dynamique nous permet d’énumérer les modifications qui vont survenir sur un graphe dynamique. Tout d’abord des modifications sur les ensembles de nœuds et d’arêtes, il y a alors la possibilité d’ajouter et/ou de supprimer des éléments, et ensuite, des modifications sur les attributs associés aux éléments. Nous allons voir dans ce qui suit différentes façons de modéliser ces modifications et par conséquent la dynamique du graphe. Dynamique séquentielle Une première approche de la dynamique d’un graphe G consiste à le modéliser comme une séquence de graphes statiques Gi. i symbolise alors un temps discret et Gi représente l’état du graphe au temps i. Le graphe G est alors un triplet (V (G),E(G),{Gi}) où V (G) est l’ensemble des nœuds présents dans au moins un des graphes Gi, de même pour E(G) qui représente l’ensemble des arêtes présentes dans au moins un des graphes Gi. On retrouve alors la définition de graphe évolutif proposé dans [Afonso F 2002 ; B-X, A. F et J 2003] : . “ Soit G = (V,E) un graphe orienté avec V un ensemble de sommets et E un ensemble d’arêtes dont les extrémités appartiennent à V . Soit SG = (G1,G2,...,GT ) un ensemble de sous-graphes de G. Le système GE = (G,SG ) est appelé ”graphe évolutif”.. ” 363.1. Graphes dynamiques . V (G) = {A,B,C,D,E} E(G) = {AB, AC, AD,BD,BE,CD,DE} . A B D i = 1 V1(G) = {A,B,D} E1(G) = {AD,BD} . A B C D i = 2 V2(G) = {A,C,D} E2(G) = {AC, AD} . A B C D E i = 3 V3(G) = {B,C,D,E} E3(G) = {BE,CD,DE} . A B C D E i = 4 V4(G) = {A,B,C,D,E} E4(G) = {AB, AD,CD,DE} F 3.4 : Illustration du modèle de dynamique séquentielle Dans ce modèle, la dynamique se produit étape par étape, chaque étape correspondant à un graphe statique. La figure 3.4 propose un exemple de ce type de dynamique. Dynamique cumulative Une dynamique cumulative consiste à agréger la totalité du graphe dynamique en un graphe statique contenant les informations sur les périodes de présence de chaque élément dans le graphe. Ces périodes sont des segments du temps dans lequel le graphe est plongé qui indique quand un élément était présent dans le graphe. On notera alors le graphe G = (V,E,PV ,PE ) où V (respectivement E) est l’ensemble des nœuds (des arêtes) apparaissant au moins une fois dans le graphe dynamique. PV et PE sont des fonctions permettant de dé- finir la présence dans les graphes des nœuds (respectivement des arêtes). Cette dynamique est illustrée figure 3.5. Contrairement à une dynamique séquentielle où l’échantillonnage impose d’avoir un temps discret, il est ici possible d’utiliser un temps continu. Nous utiliserons donc T afin de désigner le temps de manière générique, cet ensemble couvrant tout ou partie de l’ensemble N si l’on souhaite utiliser un temps discret, ou de l’ensemble R pour un temps continu. PV et PE sont alors des fonctions de V → P(T)  (respectivement E → P(T)). Dans [C, P et V 2003], les auteurs utilisent ce type de dynamique pour l’étude de grands graphes représentant des télécommunications. Une fenêtre de temps est définie, c’est à dire un segment de l’ensemble T, puis un graphe statique correspondant à l’agrégation des événements survenus pendant cette fenêtre de temps est extrait à partir du graphe dynamique. 3. P(X) désigne l’ensemble des parties de X 37. R  . V (G) = {A,B,C,D,E} E(G) = {AB, AC, AD,BD,BE,CD,DE} . PV (A) = {1,2,4} PV (B) = {1,3,4} PV (C) = {2,4} PV (D) = {1,4} PV (E) = {3,4} . PE (AB) = {4} PE (AC) = {2} PE (AD) = {1,2,3} PE (BD) = {1} PE (BE) = {3} PE (CD) = {3,4} PE (DE) = {3,4} . A B C D E i = 1 A B C D E i = 2 A B C D E i = 3 A B C D E i = 4 F 3.5 : Illustration du modèle de dynamique cumulative. Les éléments en pointillés ne sont pas présents dans le graphe pour le temps donné. Dynamique par flux d’événements On considère que la dynamique du graphe est définie par un flux d’événements généré par un processus PG . Ce processus prend la forme d’une fonction qui à un intervalle temporel associe un ensemble ordonnée d’événements survenus dans cet intervalle. L’ensemble U représente l’ensemble de tous les événements possibles. Chaque événement u ∈ U est un triplet (ϑ,w,e) dans lequel : — ϑ désigne la date à laquelle l’événement survient ; — w est un élément d’un ensemble W définissant l’ensemble des actions pouvant venir modifier le graphe ; cette action peut être l’ajout ou la suppression d’un élément (nœud ou arête) ou la modification d’un attribut. Dans ce dernier cas, w contient aussi la clef et la nouvelle valeur de l’attribut modifié ; — e désigne l’élément impliqué dans l’événement. Le processus PG peut alors être défini : PG : T×T → P(U) (t,t ′ ) → { u = (ϑ,w,e) | t < ϑ ≤ t ′ } (3.2) On introduit l’opérateur ⊕ entre un graphe G = (V,E) et un ensemble d’événements U ∈ U qui permet d’appliquer à G les événements contenus dans U. À l’aide d’un processus itératif qui opère aux moments choisis ti et en prenant un graphe initial G0 au temps t0, il nous est alors possible de construire le graphe Gi, i > 0 : Gi = Gi−1 ⊕PG (ti−1,ti) (3.3) 383.1. Graphes dynamiques . A B D t = 1 u1 = (1, A JOUT, A) u2 = (1, A JOUT,B) u3 = (1, A JOUT,D) u4 = (1, A JOUT, AD) u5 = (1, A JOUT,BD) . A B C D t = 2 u6 = (2,RET IRE,BD) u7 = (2,RET IRE,B) u8 = (2, A JOUT,C) u9 = (2, A JOUT,C A) . A B C D E t = 3 u10 = (3,RET IRE, AC) u11 = (3,RET IRE, A) u12 = (3, A JOUT,B) u13 = (3, A JOUT,E) u14 = (3, A JOUT,BE) u15 = (3, A JOUT,DE) u16 = (3, A JOUT,CD) . A B C D E t = 4 u17 = (4,RET IRE,BE) u18 = (4, A JOUT, A) u19 = (4, A JOUT, AB) u20 = (4, A JOUT, AD) F 3.6 : Illustration du modèle de dynamique en flux. Les éléments rouges viennent d’être ajoutés dans le graphe, tandis que les éléments en pointillés ont été supprimés. Contrairement aux dynamiques séquentielle et cumulative, l’indice i des Gi n’indique pas le temps mais le nombre d’itérations du processus permettant de générer le graphe. Un aperçu du fonctionnement de cette dynamique est donné figure 3.6. On retrouve cette modélisation de la dynamique dans la littérature dans les problèmes de ré-optimisation qui consiste , pour un problème donné, à adapter une solution initiale aux changements survenus dans le graphe afin d’éviter de recalculer une solution à partir de zéro. C’est le cas des travaux de C. D et G. F. I [D et I 2006] sur le problème de recherche de l’ensemble des plus courts chemins . Conclusion Nous venons donc de voir différentes façons de modéliser la dynamique d’un graphe. Ces modèles se différencient en partie sur la manière dont le temps est représenté. L’approche séquentielle utilise un domaine de temps discret, chaque élément de la séquence représentant une étape de ce temps. Au contraire, l’approche cumulative permet de gérer le temps de façon continue pour peu que l’ensemble T représentant le temps soit lui-même continu. Cela est aussi possible en utilisant un modèle de dynamique par flux. D’autre part, les modèles se différencient sur la façon de représenter les ensembles d’élé- ments. Les modèles séquentiel et cumulatif décrivent le contenu de ces ensembles alors que le modèle flux décrit la manière de les construire. Dans nos travaux, nous avons choisi de voir la dynamique comme un flux. Ce modèle nous parait être le mieux adapté à notre contexte dans lequel il n’est pas possible de construire ni de connaître à l’avance l’ensemble de tous les nœuds du graphe et encore moins celui des 4. APSP, All-Pairs Shortest Paths 39. R  arêtes. Cette impossibilité est due d’une part au caractère non-déterministe de la trajectoire des systèmes que nous observons, et d’autre part à une de nos hypothèses de départ considérant que la quantité d’entités et d’interactions est trop importante pour pouvoir être réifiée en une seule structure. 3.1.3 Une approche stochastique des graphes : les chaînes de Markov Nous avons vu jusqu’à présent la modélisation du graphe et de sa dynamique en s’appuyant sur la théorie des ensembles. Il est aussi possible de parvenir à cette modélisation à l’aide de probabilités. Il nous semble donc important de présenter cette approche. Une chaîne de Markov est un processus opérant sur un ensemble d’états S = s1,s2,...,sn qui permet de se déplacer d’un état à un autre par étape [G et S 1997]. On appelle probabilité de transition la probabilité pi j de passer de l’état si à l’état sj. Les probabilités de transition sont contenues dans la matrice de transition P du processus. La probabilité de passer de l’état si à l’état sj en k étapes correspond à l’élément i j de la matrice P k et est noté p (k) i j . Il est possible d’utiliser les chaînes de Markov afin de définir les graphes dynamiques sous la forme d’un processus stochastique. Pour cela, on considère l’ensemble d’états GM contenant l’ensemble des graphes à M sommets ainsi qu’une suite de variables aléatoires X1,X2,...,Xn où chaque Xi appartient àGM . On considère la probabilité initiale p(x) = P(X1 = x) ainsi qu’une probabilité de transition p(x, y) = P(Xm+1 = y|Xm = x). La notion de temps est définie dans [R, R et S 2011] comme une suite J1,...,Jn,... de délais entre les événements. La date Tn de l’événement n est alors : Tn = ∑n i=1 Ji Nous allons reprendre un des exemples présentés dans [R, R et S 2011] afin d’illustrer ce mode de représentation des graphes. Dans cet exemple, nous considérons un ensemble de M personnes représentant les nœuds du graphe, {1,...,M}. Une information qui n’est connue à l’origine que par une personne doit être partagée jusqu’à être connue de tout le monde. À chaque étape une personne connaissant l’information choisit de la partager avec n’importe quelle autre personne ce qui ajoute une arête entre ces deux personnes. Le processus s’arrête lorsque chaque personne est au moins connectée à une autre. Les délais entre les étapes sont calculés en utilisant une distribution de M-L dont la fonction de survie est : P(J > t) = Eβ(−t β ) = ∑∞ n=0 (−t β ) n Γ(nβ+1) Le but de cette expérience est alors d’étudier le temps total nécessaire à la diffusion de l’information en fonction du paramètre β. 403.1. Graphes dynamiques 3.1.4 Vers une représentation formelle La représentation formelle d’un graphe dynamique nécessite en premier lieu de repré- senter le temps dans lequel le graphe évolue. Ensuite, par rapport à ce temps, il faut être capable de représenter d’une part l’état de la structure du graphe à un temps donné, d’autre part l’état des données associées aux différents éléments du graphe. Formalisme pour les réseaux tolérants aux délais Dans [C et al. 2012], A. C et al. présentent un modèle nommé TVG (pour « Time-Varying Graphs ») afin d’unifier différents modèles présents dans la littérature dans certains domaines des systèmes dynamiques en particulier les réseaux tolérants aux délais, les réseaux de mobilité opportuniste ou encore les réseaux complexes du monde réel. La représentation d’un graphe G est (V,E,T,ρ,ζ) avec : — V , l’ensemble des entités ; — E, l’ensemble des relations entre entités ; — T, une partie d’un domaine temporel T ; — ρ : E ×T → {0,1}, la fonction de présence des arêtes ; — ζ : E ×T → T, la fonction de latence des arêtes. La dynamique peut être étendue aux entités par l’ajout d’une fonction indicatrice de leur présence ψ : V ×T → {0,1} et une fonction de latence pour les entités φ : V ×T → T. Les fonctions de latence permettent, en ce qui concerne ζ, de définir le temps nécessaire pour traverser une arête à un temps t, et pour ce qui est de φ de définir les temps de traitements locaux. Cette représentation est adaptée pour la modélisation d’infrastructure de communication, en particulier les réseaux mobiles. Elle contient de ce fait certains éléments comme les fonctions de latence qui sont propres aux domaines cibles comme les réseaux tolérants aux délais. Du fait que cette représentation soit dédiée à ces domaines particuliers, elle ne peut nous satisfaire là où nous cherchons à exprimer les choses de façon générale. C’est pourquoi nous allons désormais présenter une nouvelle représentation formelle permettant de repré- senter un graphe dynamique de manière générique : le temps dans lequel il est plongé, sa structure et les attributs liés aux différents éléments. Proposition d’un formalisme générique Temps Nous avons commencé à voir dans 3.1.2 que la définition d’un modèle de dynamique implique la définition de la temporalité dans laquelle le graphe est plongé. C’est au travers de cette ligne de temps que nous allons pouvoir définir l’évolution du graphe. Le temps peut être une succession dénombrable ordonnée de valeurs ti, comme c’est le cas pour une dynamique séquentielle, de telle sorte qu’à chaque ti est associé un état Gi du graphe. On dira du temps qu’il est discret du fait qu’entre deux temps successifs, ti et ti+1, 41. R  il n’est pas possible de définir un nouvel état du graphe. Ce type de temporalité est exprimé par l’ensemble N ou une partie de cet ensemble. Au contraire, le temps peut être non dénombrable. Pour toutes valeurs du temps t et t ′ tel que t < t ′ il est possible d’obtenir une nouvelle valeur t ′′ tel que t < t ′′ < t ′ . On considère alors le temps comme continu et il est possible de l’exprimer par l’ensemble R. Structure L’ensemble des nœuds du graphe dynamique est dépendant du temps. On le définira donc comme la fonction v qui a un temps t donné associe un ensemble de nœuds Vt. On considère que l’ensemble des nœuds possibles pour un graphe est infini mais dénombrable. On peut par conséquent utiliser l’ensemble N afin de le représenter, chaque nœud pouvant donc être associé à un entier. L’ensemble des nœuds du graphe est alors un élé- ment de P(N). P(N) constitue l’ensemble des parties de N, c’est à dire l’ensemble de ses sous-ensembles : P(N) = {U |U ⊆ N}. Nous utiliserons donc ce dernier afin de représenter l’ensemble de tous les nœuds. La fonction v sera alors : v : T → P(N) t → Vt (3.4) De même, l’ensemble des arêtes du graphe dynamique est aussi dépendant du temps. Il sera défini à l’aide de la fonction e qui à un temps donné t associe un ensemble d’arêtes Et : e : T → P(N×N) t → Et , Et ⊆ (Vt ×Vt) (3.5) Il nous est donc possible de définir la partie structurelle d’un graphe dynamiqueG comme étant le triplet (v,e,T). Attributs Nous avons vu en 3.1.1 les fonctions pV et pE qui permettent de définir un ensemble de propriétés, les attributs, sur les éléments du graphe. Nous pouvons étendre la définition de ces fonctions pour y inclure la composante temporelle : pV : V ×KV ×T → R pE : E ×KE ×T → R (3.6) Le graphe lui-même pouvant posséder des propriétés qui vont évoluer avec le temps, nous introduisons la fonction pG qui, à un ensemble de clef KG , permet d’associer des valeurs : pG : KG ×T → R (3.7) On peut par exemple considérer l’ensemble de clefs KV = {poi d s,couleur,t ai l le}. La fonction pV (n,couleur,t) permet alors de connaitre la couleur du nœud n au temps t. En considérant le triplet A = (pG ,pV ,pE ), nous pouvons alors définir un graphe dynamique avec attributs comme étant le quadruplet (v,e,A,T). 423.1. Graphes dynamiques Application aux modèles de dynamique Considérons maintenant notre représentation formelle en fonction des différents modèles de dynamique que nous avons présentés en 3.1.2. Nous laisserons ici de côté la partie concernant les attributs. Dynamique séquentielle (G0 = (V0,E0),...,Gi = (Vi ,Ei),...,Gn) une séquence de graphes statiques. On définit alors le graphe dynamique correspondant par G = (v,e,[0,n]), avec : — v(t) = Vt — e(t) = Et Dynamique cumulative En considérant : — le temps R + ; — l’ensemble VA de tous les nœuds présents à au moins un instant t ∈ R + ; — EA l’ensemble équivalent pour les arêtes ; — la fonction indicatrice α : VA ×R + → {0,1} définissant si un nœud est présent dans le graphe à un temps donné ; — la fonction indicatrice β : VA ×VA ×R + → {0,1} définissant de manière équivalente si une arête est présente dans le graphe à un temps donné. On peut alors définir le graphe dynamique G = (v,e,R +) avec : — v(t) = {u | α(u,t) = 1}; — e(t) = { (u, v) | β(u, v,t) = 1 } . Dynamique par flux On considère un processus PG correspondant à un graphe dynamique, ainsi qu’un graphe initial Gt0 correspondant à l’état du graphe au temps t0. En reprenant l’opérateur ⊕ défini en 3.1.2, on peut alors construire le graphe Gt = (Vt ,Et) : Gt = Gt0 ⊕PG (t0,t) On obtient alors le graphe dynamique G = (v,e,T) avec : v(t) = Vt e(t) = Et Pour résumer, nous considérons un graphe dynamique comme étant un processus dynamique fournissant un flux d’événements. Ces événements décrivent les modifications qui surviennent dans le graphe. Il est alors possible de construire le graphe à partir de sa version précédente en appliquant successivement les événements qui sont survenus entre temps. Le formalisme, que nous avons introduit ci-dessus, permet de décrire ce processus. 43. R  3.1.5 Centralité La notion de centre est utilisée dans différents domaines scientifiques, comme la géomé- trie ou encore la physique, sous divers noms tels que barycentre, centre de masse, centroïde, centre de gravité, etc…Elle est l’expression du besoin de définir une zone d’équilibre dans un objet, qu’il soit pondéré ou non. La centralité n’est pas directement liée à la dynamique du graphe. Elle va cependant être une mesure importante pour une partie de nos travaux, lorsque nous chercherons à détecter les centroïdes des organisations. Dans le domaine des graphes, on cherche principalement à mesurer à quel point chaque nœud se trouve éloigné du centre du graphe. On parle alors de mesure de centralité qui permet d’introduire une relation d’ordre entre les nœuds en fonction de cet éloignement vis à vis du centre du graphe. Il est alors possible de déterminer le ou les centres du graphe comme étant les nœuds qui minimisent ou maximisent (en fonction de la mesure choisie) cette mesure. La centralité dans les graphes est l’expression du besoin de faire ressortir les informations les plus importantes qui, du fait de l’augmentation de la quantité d’informations contenue dans les graphes, se retrouvent noyées dans la masse. C’est par exemple le cas dans l’étude de réseaux sociaux [F 1978] où la centralité permet de mieux cerner l’importance des nœuds dans le réseau et d’appréhender la diffusion d’informations à travers le réseau. Dans la littérature, la centralité, les centres et les centroïdes font l’objet de nombreux travaux : de C. J donnant une preuve de leur existence dans chaque arbre en 1869 [J 1869] aux travaux de P. J. S qui généralise leurs définitions [S 1978], en passant par leur présence dans les livres de théorie des graphes [O 1962 ; FrankH 1969 ; M. N 2010]. Dans ce qui suit, nous allons aborder certaines mesures de centralité que sont : le degré, la proximité, l’intermédiarité, la centralité spectrale ou encore le PageRank utilisé par le moteur de recherche G. De nombreux travaux scientifiques traitant de ces mesures, ainsi que d’autres mesures qui ne seront pas abordées ici, peuvent être consultées pour approfondir le sujet [M. N 2010 ; C 2010]. Certaines des mesures citées sont présentées dans la figure 3.7. Nous utiliserons par la suite les graphes G1 et G2 (cf. figure 3.8) pour illustrer les mesures de la centralité que nous présenterons. Degré La mesure de centralité la plus simple est le degré, consistant tout simplement à utiliser le degré des nœuds comme valeur de centralité, c’est à dire le nombre d’arêtes adjacentes au nœud considéré. On considère donc que plus un nœud est connecté à d’autres nœuds, plus ce nœud est important. L’inconvénient de cette mesure est de ne considérer que localement les nœuds ce qui peut aboutir à de fortes valeurs de centralité pour des nœuds qui seraient isolés (par exemple si ces nœuds sont connectés à de nombreuses feuilles du réseau). 443.1. Graphes dynamiques . (a) Degré . (b) Proximité . (c) Vecteur propre . (d) Page Rank F 3.7 : Quelques exemples de mesure de la centralité. Plus la taille du nœud est importante (et plus sa couleur s’approche du jaune), plus la valeur de la centralité de ce nœud est importante. Si l’on considère la matrice d’adjacence A du graphe, le degré du nœud i se note alors : cd (i) = ∑ j Ai j Lorsque le graphe est orienté, il devient nécessaire de considérer d’une part le degré entrant, et d’autre part le degré sortant. Pour chaque nœud i, on obtient deux mesures cde (i) et cd s(i) : cde (i) = ∑ j Aj i ; cd s(i) = ∑ j Ai j La figure 3.9 montre l’application du degré aux graphes définis dans la figure 3.8.Actuellement, le degré reste à la base de nombreux travaux sur la centralité dans la littérature. 45. R  .C A E F H B D G I (a) G1 . C A E F H B D G (b) G2 F 3.8 : Graphes jouets utilisés pour illustrer les différentes centralités (tirés de [C 2010]) Proximité La proximité, ou closeness, permet de tenir compte de l’ensemble du graphe pour le calcul de la centralité. La proximité d’un nœud i est égale à la moyenne des longueurs des plus courts chemins de i vers tous les autres nœuds du graphe. Autrement dit, la proximité cc (i) du nœud i d’un graphe G = (V,E) est définie par l’équation : cc (i) = 1 |V | −1 ∑ j∈V \{i} d(i, j) (3.8) où d(i, j) représente la longueur du plus court chemin entre les nœuds i et j. L’inconvénient de cette méthode réside dans le fait qu’elle nécessite le calcul de l’ensemble des plus courts chemins du graphe. Ceci implique d’une part une complexité en O(|V | 3 ) si l’on utilise l’algorithme de F-W [F 1962]. On peut améliorer la complexité en utilisant l’algorithme de J [J 1977] qui nous permet d’obtenir en O(|V |·|E|+|V | 2 l og |V |). D’autre part, cette méthode nécessite une approche globale qui est difficile dans le cas d’un graphe distribué. 463.1. Graphes dynamiques . A B C D E F G H I cd (A) = 4 cd (B) = 1 cd (C) = 1 cd (D) = 1 cd (E) = 2 cd (F) = 4 cd (G) = 1 cd (H) = 1 cd (I) = 1 (a) Le degré appliqué au graph G1 . A B C D E F G H cde (A) = 1 cde (B) = 2 cde (C) = 3 cde (D) = 5 cde (E) = 2 cde (F) = 2 cde (G) = 1 cde (H) = 2 (b) Le degré entrant appliqué au graph G2 . A B C D E F G H cd s(A) = 3 cd s(B) = 3 cd s(C) = 3 cd s(D) = 2 cd s(E) = 2 cd s(F) = 2 cd s(G) = 2 cd s(H) = 1 (c) Le degré sortant appliqué au graph G2 F 3.9 : La centralité utilisant le degré appliquée aux graphes G1 et G2. La taille des nœuds est proportionnelle à la valeur de la centralité. 47. R  . A B C D E F G H I cd (A) = 0.067 cd (B) = 0.045 cd (C) = 0.045 cd (D) = 0.045 cd (E) = 0.071 cd (F) = 0.067 cd (G) = 0.045 cd (H) = 0.045 cd (I) = 0.045 (a) G1 . A B C D E F G H cde (A) = 0.083 cde (B) = 0.083 cde (C) = 0.083 cde (D) = 0.071 cde (E) = 0.071 cde (F) = 0.063 cde (G) = 0.071 cde (H) = 0.045 (b) G2 F 3.10 : Mesure de la proximité appliquée aux graphes G1 et G2 en utilisant l’équation 3.9. La taille des nœuds est proportionnelle à la valeur de la centralité. De plus, la proximité est bien adaptée pour un graphe connexe dans lequel pour n’importe quelle paire de nœuds i, j il existe un chemin entre i et j. Dans le cas d’un graphe possédant plusieurs composantes connexes, ou dans le cas d’un graphe orienté dans lequel l’existence d’un chemin entre n’importe quelle paire de nœuds n’est pas assurée, on obtient des distances égales à l’infini. Une solution à ce problème est proposée dans [M. N 2010] consistant à considérer l’inverse des distances plutôt que les distances elles-mêmes : cc (i) = 1 |V | −1 ∑ j∈V \{i} 1 d(i, j) (3.9) Intermédiarité Lorsqu’une information est diffusée à travers un réseau, une route est calculée puis l’information emprunte cette route depuis le nœud émetteur jusqu’à sa destination. Chaque 483.1. Graphes dynamiques nœud composant la route participe à la diffusion de cette information et l’absence de l’un d’entre eux pourrait mener à une diffusion plus longue voire à une absence de diffusion. À partir de ce point de vue, l’importance d’un nœud réside dans le rôle qu’il joue dans la diffusion d’information. Si l’on considère que la diffusion d’une information d’un nœud A à un nœud B emprunte un plus court chemin entre ces deux nœuds, on peut alors, en calculant l’ensemble de tous les plus courts chemins du graphe, déterminer pour un nœud i la proportion de plus courts chemins CB (i) dont i fait partie. CB est une mesure de centralité que l’on nomme intermé- diarité, et qui est attribuée à F [F 1977]. On considère gi j le nombre de plus courts chemins entre les nœuds i et j, et gi j(k) le nombre de plus courts chemins entre i et j dont le nœud k fait partie. On peut définir alors bi j(k) comme le rapport entre ces deux valeurs : bi j(k) = gi j(k) gi j (3.10) On peut alors définir l’intermédiarité : CB (i) = ∑ s,t∈V,s̸=t bst(i) (3.11) On peut normaliser cette centralité en utilisant le facteur 1 n 2 , ou 1 n 2−n+1 [M.N 2010] : CB (i) = 1 n 2 ∑ s,t∈V,s̸=t bst(i) (3.12) Tout comme la proximité, les inconvénients de cette mesure sont liés à la nécessité de calculer l’ensemble des plus courts chemins du graphe. Centralité spectrale Il est intéressant de considérer que les valeurs de la centralité des nœuds peuvent être liées : plus un nœud est entouré de voisins ayant une centralité élevée, plus sa propre centralité devrait être importante. Ainsi, on peut définir la centralité CS(i) d’un nœud i par la centralité de ses voisins : CS(i) = 1 λ ∑ j∈V (G) Ai jCS(j) (3.13) où λ est une constante. En considérant le vecteur x = (CS(0),CS(1),...,CS(n)), on peut ré-écrire l’équation pré- cédente sous la forme : λx = Ax (3.14) La seule solution positive de cette équation est le vecteur propre associé à la plus grand valeur propre λ de A. 49. R  . A B C D E F G H I cd (A) = 36 cd (B) = 0 cd (C) = 0 cd (D) = 0 cd (E) = 32 cd (F) = 36 cd (G) = 0 cd (H) = 0 cd (I) = 0 (a) G1 . A B C D E F G H cde (A) = 7 cde (B) = 4.5 cde (C) = 10 cde (D) = 17 cde (E) = 7.5 cde (F) = 9 cde (G) = 3.5 cde (H) = 1.5 (b) G2 F 3.11 : Application de l’intermédiarité aux graphes G1 et G2 Page Rank Le PageRank [B et P 1998] est une mesure de centralité utilisée par G afin de permettre un classement des nombreuses pages web selon leur importance. Comparé à d’autres mesures cherchant à mettre en relation la valeur de la centralité d’un nœud avec celle de ces voisins comme la centralité spectrale évoquée précédemment ou encore la centralité de Katz [K 1953], le PageRank tente de réduire l’impact de la centralité d’un nœud fortement connecté sur ses voisins. Autrement dit, la centralité d’un nœud doit être diffusée aux voisins dans une moindre mesure lorsque celui-ci est connecté à un milliard de nœuds que lorsqu’il n’est connecté qu’à une dizaine. Le PageRank CPR(i) d’un nœud i peut s’exprimer sous la forme suivante : CPR(i) = ∑ j∈Nin i CPR(j) |Nout j | (3.15) Nin i et Nout i représentent respectivement l’ensemble des nœuds pointant vers i, et l’ensemble des nœuds vers lesquels i pointe. |Nout i | est donc égal au degré sortant du nœud 503.1. Graphes dynamiques . A B C D E F G H I cd (A) = 0.2387 cd (B) = 0.0674 cd (C) = 0.0674 cd (D) = 0.0674 cd (E) = 0.1181 cd (F) = 0.2387 cd (G) = 0.0674 cd (H) = 0.0674 cd (I) = 0.0674 (a) G1 . A B C D E F G H cde (A) = 0.1111 cde (B) = 0.1007 cde (C) = 0.1712 cde (D) = 0.2174 cde (E) = 0.0788 cde (F) = 0.1598 cde (G) = 0.0522 cde (H) = 0.1089 (b) G2 F 3.12 : Application du PageRank aux graphes G1 et G2 i. Le PageRank est une version de la centralité spectrale qui intègre le dégré sortant des voisins. On peut interpréter le PageRank de manière probabiliste. On considère alors un “surfeur” aléatoire explorant successivement des sites web en cliquant sur les liens qu’il trouve. Il y a une probabilité (1−d) qu’à un moment donné, ce surfeur cesse son activité. La constante d est appelée facteur d’amortissement . Sa valeur recommandée est 0.85. Elle est intégrée dans le PageRank de la manière suivante : CPR(i) = 1−d n +d · ∑ j∈Nin i CPR(j) |Nout j | (3.16) Bilan Nous avons vu différentes approches permettant de mesurer la centralité des nœuds d’un graphe. L’ensemble des valeurs est résumé dans le tableau 3.1 de manière à pouvoir 5. « damping factor » 51. R  comparer les mesures entre elles. Ces approches ne représentent qu’un fragment de l’ensemble des mesures de centralité existantes. On remarque cependant que le calcul de ces mesures peut nécessiter soit des données locales comme c’est le cas pour le degré, soit au contraire, des données globales (ensemble de plus courts chemins, matrice d’adjacence) pour le reste des mesures. L’utilisation de données locales permet un traitement décentralisé de la mesure et par conséquent de s’affranchir des problèmes posés par les grands graphes. En revanche, le risque lorsque l’on utilise de telles données est de trouver des optima locaux, en l’occurrence attribuer une forte centralité à des nœuds qui ne seraient centraux que localement et non pas à l’échelle du graphe. A contrario, l’utilisation de données globales permet des solutions valides pour l’ensemble du graphe mais implique une centralisation de la structure du graphe ainsi qu’une charge de calcul plus importante. On constate dans le tableau 3.1 que le classement des nœuds du graphe G1 est identique entre les différentes approches, à une exception près pour la proximité. La comparaison du degré avec les autres mesures est plus délicate en ce qui concerne le graphe G2 du fait que ce graphe est orienté. Globalement, les classements sont différents, avec seulement une similarité dans la tête de classement de l’intermédiarité et du PageRank. 3.2 Structures Il est régulièrement question dans ces travaux de structures, c’est pourquoi nous allons prendre le temps de développer ce concept. Nous considérons une structure comme un ensemble de nœuds et d’arêtes appartenant à un même graphe qui sera en règle générale associée à une propriété sémantique. La structure en elle-même est un objet général, qui peut contenir des arêtes sans leurs extrémités par exemple. Un exemple basique de structure est le plus court chemin entre deux nœuds A et B contenant l’ensemble des arêtes consécutives permettant d’aller de A à B ainsi que les extrémités de ces arêtes et dont la sémantique serait qu’il n’existe pas de structure plus petite permettant de joindre A et B. La difficulté introduite par la dynamique est de maintenir la propriété propre à la structure au travers des modifications qui s’opèrent dans le graphe. En reprenant l’exemple de plus court chemin, il faut adapter le contenu de la structure afin que la propriété ”chemin le plus court” reste toujours valable. Une approche naïve de ce problème serait de recalculer une nouvelle solution au problème à chaque modification significative du graphe. Mais peut-on dans ce cas parler de maintien de la solution ? Non. Le maintien de la solution implique la réutilisation d’une solution précédemment calculée dans le but de réduire le temps de calcul nécessaire. De plus, on cherche à ce que cette solution varie le moins possible tant qu’elle reste valide : il peut y avoir plusieurs plus courts chemins entre deux nœuds, tant que la solution initialement retenue fait partie des solutions optimales il est préférable de la conserver plutôt que d’osciller entre différentes solutions. Ce dernier point est important lorsque l’on s’intéresse au taux de renouvellement de la solution. 523.2. Structures Degré Proximité Intermédiarité PageRank G1 A 0.250000 0.139619 0.346154 0.238738 B 0.062500 0.095195 0.000000 0.067399 C 0.062500 0.095195 0.000000 0.067399 D 0.062500 0.095195 0.000000 0.067399 E 0.125000 0.149592 0.307692 0.118131 F 0.250000 0.139619 0.346154 0.238738 G 0.062500 0.095195 0.000000 0.067399 H 0.062500 0.095195 0.000000 0.067399 I 0.062500 0.095195 0.000000 0.067399 G2 A → 0.166667 ← 0.055556 0.145626 0.116667 0.111132 B → 0.166667 ← 0.111111 0.145626 0.075000 0.100724 C → 0.166667 ← 0.166667 0.145626 0.166667 0.171158 D → 0.111111 ← 0.277778 0.124823 0.283333 0.217368 E → 0.111111 ← 0.111111 0.124823 0.125000 0.078776 F → 0.111111 ← 0.111111 0.109220 0.150000 0.159766 G → 0.111111 ← 0.055556 0.124823 0.058333 0.052230 H → 0.055556 ← 0.111111 0.079433 0.025000 0.108847 T 3.1 : Comparaison des différentes centralités pour les graphes G1 et G2. Les valeurs ont été normalisées afin de permettre la comparaison. → symbolise le degré sortant, ← le degré entrant. 53. R  3.2.1 Communautés et organisations Dans notre vie quotidienne, nous utilisons de manière intuitive le concept de communauté afin de désigner un groupe de personnes en fonction d’une caractéristique partagée par les membres du groupe. Il peut s’agir par exemple de la communauté scientifique, d’une communauté religieuse, ou encore la communauté open-source. Tous ces exemples montrent l’idée que nous avons d’une communauté : un ensemble d’individus qui interagissent entre eux grâce à un intérêt commun. Lorsque l’on considère une population, il existe donc un ré- seau d’interactions qui émerge des liaisons entre individus générées par divers centres d’intérêt. Parmi les propriétés pouvant être attribuées aux structures, celles de communauté et d’organisation nous intéressent particulièrement. Ces deux propriétés sont étroitement liées et portent sur des groupes de nœuds fortement connectés comparés à l’ensemble du graphe. Dans un contexte statique, nous nommerons ces structures communautés. Lorsque la structure possède une base qui se maintient avec la dynamique, on parle alors d’organisation. Du fait du contexte dynamique dans lequel s’effectuent nos travaux, nous nous focaliserons uniquement sur la notion d’organisation par la suite. Les structures d’organisation soulèvent deux problèmes majeurs. Tout d’abord, comment détecter ces structures ? Puis, comment maintenir les structures détectées au travers de la dynamique du graphe. Maintenir l’organisation signifie que cette dernière possède une signification lorsqu’on l’observe à une échelle macroscopique et qu’il faut adapter le contenu de la structure afin de conserver cette signification. Nous allons considérer un exemple afin d’illustrer ce que nous entendons par maintenir l’organisation. Si l’on considère un graphe modélisant les interactions dans un réseau social : chaque nœud représente une personne et lorsque deux personnes discutent entre elles, une arête est créée entre les nœuds qui les représentent. Si ces mêmes personnes ne discutent plus un certain temps, l’arête est supprimée. Si l’on considère un centre d’intérêt I, on suppose que les personnes intéressées par I vont discuter entre elles et ainsi former une organisation. Au fil du temps, certaines personnes vont cesser d’être intéressées par I et au contraire d’autres vont le devenir, modifiant de ce fait la structure de l’organisation. L’organisation engendrée par I se maintient donc dans le temps même si sa structure change. Définitions On trouve dans [B et al. 2006] un rappel sur les différentes définitions de communauté. Tout d’abord une définition historique qui considère que dans un graphe G une communauté est un sous-graphe G ′ de G dans lequel les nœuds sont fortement connectés, c’est à dire qu’il existe une forte cohésion entre les membres. La définition la plus forte considère que les communautés sont des cliques, c’est à dire un ensemble de nœuds maximal tel que chaque membre est connecté à tous les autres. Cette définition peut être affaiblie par le concept de k-clique : chaque membre du sous-ensemble de nœuds est relié à tous les autres par au maximum k intermédiaires. Les auteurs présentent 543.2. Structures . F 3.13 : 3 communautés formant des cliques enfin la notion de k-plex afin d’affaiblir la définition d’une communauté : il s’agit d’un sousgraphe à n sommets dans lequel chaque sommet est connecté à au moins n −k membres. Enfin, une autre façon d’aborder la définition d’une communauté est présentée : il s’agit d’utiliser la fréquence des arêtes pour mesurer la cohésion entre les membres d’un groupe. On peut trouver plusieurs définitions de telles mesures dans [W et F 1994]. 3.2.2 Forme La manière dont les nœuds d’une même structure interagissent entre eux et avec les nœuds extérieurs permet de donner une forme à la structure. Cette forme va nous permettre de classer les structures afin d’associer des propriétés aux différentes classes. Les chemins forment une classe de formes dont les membres sont peu connectés entre eux (de une à deux connections) mais peuvent potentiellement être connectés à une quantité importante de nœuds extérieurs. Ce type de forme est fragile dans le sens où le retrait d’un seul élément peut entraîner une perte de connexité de la structure. Les structures dont tous les membres sont connectés forment les cliques ou sous-graphes complets. Contrairement aux chemins, cette forme de structure est solide du fait qu’il est nécessaire de retirer au moins n −1 éléments afin de déconnecter la structure. Ces deux exemples, quelque peu extrêmes, nous permettent de mettre en avant que la densité de connections au sein d’une structure est un des éléments qui va permettre de définir sa forme. Plus la valeur de cette mesure sera élevée plus la structure sera difficile à déconnecter par la suppression d’arêtes ou de nœuds. Les chemins ont donc une densité faible, tandis que celle des cliques est maximale (il n’est pas possible de connecter davantage les nœuds d’une clique). 55. R  . Étude Graphe dynamique Génération du graphe Simulation Générateur source de la structure du graphe augmentation du graphe par l’ajout d’informations Processus produisant le graphe initial Processus lisant le graphe et produisant de nouvelles informations F 3.14 : Concept de processus. Un processus initial est utilisé pour générer le graphe. Un autre processus est utilisé pour analyser le graphe et l’augmenter grâce aux informations calculées. 3.3 Processus Nous avons vu qu’un graphe dynamique est composé d’une structure de nœuds et d’arcs qui évolue au fil du temps. On peut alors se poser la question : quelle est la source de cette dynamique ? La source initiale de cette dynamique est la source même du graphe qui, dans le cadre de nos travaux, sera principalement une simulation. Cependant, la dynamique prend aussi ses sources dans d’autres mécanismes tels que des algorithmes qui permettent, en ajoutant des informations, d’augmenter le graphe. D’une manière générale, nous désignons ces mécanismes sous le terme de processus qui pourront agir indépendamment du graphe produit ou au contraire utiliser le graphe existant dans le but de l’augmenter. Comme nous l’avons vu dans le paragraphe précédent, un processus peut désigner un générateur de la structure du graphe ou encore un algorithme maintenant une structure (arbre couvrant, plus court chemin) ou une mesure sur le graphe, mais il peut s’agir aussi d’une information telle que le flot pouvant parcourir un graphe. Nous présentons dans la figure 3.14 le concept le processus et de quelle manière ces processus viennent s’insérer dans la construction et l’étude du graphe. Un processus ne possède pas de présence concrète dans le graphe. Il s’agit d’un objet abstrait dont la présence n’est perçue qu’au travers des informations qu’il produit à partir d’informations fournies par un graphe et/ou d’autres processus. Dans certains cas, le processus ne nécessite pas d’information en entrée comme dans le cas par exemple d’un gé- nérateur de graphe basé sur un algorithme [B et A 1999 ; D et M 2002]. Le processus peut utiliser les informations qu’il a lui-même produites dans 563.3. Processus . Processus A génération du graphe Processus B détection d’organisations Processus C mesure Processus D calcul plus court chemin F 3.15 : Un graphe dynamique vu comme le résultat d’un ensemble de processus le graphe afin d’affiner ces informations ou de les mettre à jour pour prendre en compte des changements qui seraient survenus dans le graphe : il y a alors une rétroaction du processus sur lui-même. 3.3.1 Exemple La figure 3.15 nous présente un système dans lequel les processus A, B, C et D cohabitent afin de créer un graphe dynamique. Le processus A est un générateur qui est capable de fournir les informations nécessaires à la création de la structure du graphe. Les processus B et D permettent de maintenir des structures : une vue macro du graphe initial dans laquelle les nœuds représentent des organisations dans le cas du processus B, et un plus court chemin entre deux nœuds dans celui du processus D. Enfin, le processus C calcule une mesure en utilisant le graphe initial ainsi que la vue macro générée par le processus B puis retransmet les nouvelles informations mesurées afin d’augmenter les informations contenues initialement dans le graphe. 3.3.2 Propriétés Une première propriété qui permet de caractériser les processus concerne la nature du lien qui permet de transmettre les informations. Cette transmission peut se faire de façon continue ou discrète comme cela est illustré dans la figure 3.16. Dans le cas d’une trans- 57. R  Processus A . transmission discrète Processus B transmission continue F 3.16 : Transmission discrète et continue : le processus A transmet les informations comme une suite de messages contrairement au processus B dont le résultat prend la forme d’un flux continu d’informations. . Processus A microscopique Processus B macroscopique F 3.17 : Processus micro/macro. mission discrète, les informations modifiant le graphe prennent la forme d’une séquence, c’est pourquoi on parlera de processus itératif. Au contraire, dans un processus continu, la transmission prend la forme d’un flux continu d’informations. On peut différencier les processus en fonction de leur échelle d’action. On dira d’un processus qu’il opère à l’échelle microscopique lorsque les informations qu’il produit ont pour cible les nœuds ou les arêtes du graphe comme par exemple un processus qui mesurerait le degré des nœuds. Cependant, lorsque les informations produites concernent le graphe dans son intégralité, comme par exemple le degré maximum, on dira que le processus opère à une échelle macroscopique. Une propriété des processus proche de celle de micro/macro est la notion de local/global. Un processus agissant localement ne nécessite qu’une partie locale du graphe pour produire de l’information. Au contraire, lorsqu’un processus agit globalement il a besoin de l’ensemble du graphe afin de pouvoir fonctionner. Ces deux notions de micro/macro et local/global semblent proches au premier abord mais sont cependant bien distinctes : la notion de microscopique/macroscopique est liée à la sortie du processus tandis que celle de local/global concerne l’entrée du processus. Il est donc tout à fait possible de considérer un processus microscopique et global ou encore un processus 58Références . Processus A local Processus B global F 3.18 : Processus local/global. macroscopique et local. Références B, A. et E. B (2003). “Scale-Free Networks”. In : Scientific American, p. 50– 59. B, Albert-László et Réka A (1999). “Emergence of Scaling in Random Networks”. In : Science 286 (5439), p. 509–512. : 10.1126/science.286.5439.509.  : http://www.sciencemag.org/content/286/5439/509.abstract. B, S. et al. (2006). “Complex Networks : Structure and Dynamics”. In : Phys. Rep. 424 (4-5), p. 175–308. B, Otakar (1926). “O jistém problému minimálním (About a certain minimal problem)”. In : Práce mor. přírodověd. spol. v Brně III (3), p. 37–58. B, Sergey et Lawrence P (1998). “The anatomy of a large-scale hypertextual Web search engine”. In : Computer networks and ISDN systems 30 (1), p. 107–117.  : 0169-7552. B-X, B., A. F et A. J (avr. 2003). “Computing shortest, fastest, and foremost journeys in dynamic networks”. In : International Journal of Foundations of Computer Science 14 (2), p. 267–285. C, A. et al. (2012). “Time-Varying Graphs and Dynamic Networks”. In : International Journal of Parallel, Emergent and Distributed Systems. In press.  : 10.1080/ 17445760.2012.668546. C, Nacim Fateh (2010). “Calcul de centralité et identification de structures de communautés dans les graphes de documents.” Université de Toulouse III.  : http:// thesesups.ups-tlse.fr/1364/. C, Corina, Daryl P et Chris V (déc. 2003). “Computational Methods for Dynamic Graphs”. In : Journal of Computational & Graphical Statistics 12 (4). ISSN 1061-8600, Online ISSN : 1537-2715, 950–970(21). 59. R  D, Camil et Giuseppe F. I (2006). “Fully dynamic all pairs shortest paths with real edge weights”. In :J. Comput. Syst. Sci. 72 (5), p. 813–837. : 0022-0000.  : 10.1016/j.jcss.2005.05.005. D, E. W. (1959). “A note on two problems in connexion with graphs”. In : Numerische Mathematik 1, p. 269–271. D, S. N. et J. F. F. M (2002). “Evolution of networks”. In : Adv. Phys, p. 1079–1187. E, Leonhard (1741). “Solutio problematis ad geometriam situs pertinentis”. In : Commentarii academiae scientiarum Petropolitanae 8, p. 128–140. F, Afonso (mai 2002). “On models and algorithms for dynamic communication networks : The case for evolving graphs”. In : 4e rencontres francophones sur les Aspects Algorithmiques des Telecommunications (ALGOTEL’2002). Mèze, France. F, Robert W. (1962). “Algorithm 97 : Shortest Path”. In : Communications of the ACM 5 (6), p. 345. F, Lester Randolph (1956). Network Flow Theory. F, Linton C. (1977). “A set of measures of centrality based upon betweenness”. In : Sociometry 40, p. 35–41. — (1978). “Centrality in social networks conceptual clarification”. In : Social Networks 1 (3), p. 215–239.  : 0378-8733.  : 10.1016/0378- 8733(78)90021- 7.  : http://www.sciencedirect.com/science/article/pii/0378873378900217. G, M. et M. E. J. N (2002). “Community structure in social and biological networks”. In : Proc. Natl. Acad. Sci. USA 99, p. 8271–8276. G, Charles M. et J. Laurie S (1997). Introduction to Probability.  : 978-0- 8218-9414-9.  : http://www.dartmouth.edu/~chance/teaching_aids/books_ articles/probability_book/book.html. H, F. et G. G (1997). “Dynamic Graph Models”. In : Mathematical and Computer Modelling 25 (7), p. 79–87. H, Frank (oct. 1969). Graph Theory. Published : Paperback. Westview Press.  : 0201410338.  : http : / / www . amazon . com / exec / obidos / redirect ? tag = citeulike07-20&path=ASIN/0201410338. J, Donald B. (1977). “Efficient Algorithms for Shortest Paths in Sparse Networks”. In : J. ACM 24 (1), p. 1–13.  : 0004-5411.  : 10.1145/321992.321993.  : http://doi.acm.org/10.1145/321992.321993 (visité le 17/10/2013). J, Camille (1869). “Sur les assemblages des lignes”. In : J. Reine Angew. Math 70, p. 185–190. K, Leo (1953). “A New Status Index Derived from Sociometric Index”. In : Psychometrika, p. 39–43. N, M. E. J. (2003). “The Structure and Function of Complex Networks”. In : SIAM Review 45, p. 167–256.  : 10.1137/S003614450342480. N, Mark (2010).Networks : An Introduction. New York, NY, USA : Oxford University Press, Inc.  : 0199206651, 9780199206650. 60Références O, Oystein (1962). Theory of graphs. English. American Mathematical Society, Providence. v. P. P, Yoann (2008). “Modélisation et traitement décentralisé des graphes dynamiques : Application aux réseaux mobiles ad hoc”. French. Université du Havre.  : http : //tel.archives-ouvertes.fr/tel-00371962/PDF/these.pdf. R, Marco, Fabio R et Enrico S (2011). “Semi-Markov Graph Dynamics”. In : PLoS ONE 6 (8). R, Craig W. (août 1987). “Flocks, herds and schools : A distributed behavioral model”. In : SIGGRAPH Comput. Graph. 21 (4), p. 25–34.  : 0097-8930.  : http: //doi.acm.org/10.1145/37402.37406.  : http://doi.acm.org/10.1145/ 37402.37406. S, Peter J. (1978). “Centers to centroids in graphs”. In : Journal of Graph Theory 2 (3), p. 209–222. S, S. H. et D. J. W (1998). “Collective dynamics of ’small-world’ networks”. In : Nature 393, p. 440–442. W, Stanley et Katherine F (1994). Social Networks Analysis. Cambridge University Press. 61C 4 R   4.1 Partitionnement du graphe . . . . . . . . . . . . . . . . . . . . . . 64 4.2 Approches statiques . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.2.1 Technique de la bissection récursive . . . . . . . . . . . . . 65 4.2.2 Technique multi-niveaux . . . . . . . . . . . . . . . . . . . 65 4.2.3 Classification hiérarchique . . . . . . . . . . . . . . . . . . 66 4.2.4 Théorie spectrale . . . . . . . . . . . . . . . . . . . . . . 69 4.2.5 Approches bio-inspirées . . . . . . . . . . . . . . . . . . . 71 4.3 Approches dynamiques . . . . . . . . . . . . . . . . . . . . . . . . 76 4.3.1 Approches par diffusion . . . . . . . . . . . . . . . . . . . 77 4.3.2 Approches par particules . . . . . . . . . . . . . . . . . . . 77 4.3.3 Diffusion de labels . . . . . . . . . . . . . . . . . . . . . . 78 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Dans le cadre de la distribution d’une application, nous avons besoin de déterminer comment répartir les différents composants de l’application. Nous utilisons pour cela un algorithme de répartition de charge qui permet de calculer une répartition de manière à équilibrer le travail des différentes machines. L’application que l’on souhaite distribuer est une simulation de système complexe dont les composants à répartir sont les entités du système. Les particularités de la répartition dont nous avons besoin sont d’une part la dynamique liée au système, et d’autre part la volonté de réduire la consommation de la bande passante du réseau. La quantité massive d’interactions 63. R   . F 4.1 : Un exemple de partitionnement d’un graphe. Chaque couleur représente une partie. Les lignes hachurées représentent les arêtes entre les parties que l’on souhaite minimiser. au sein du système, qui se traduisent par des communications distantes lorsque ce système est distribué, justifie ce besoin de tenir compte de cette contrainte. 4.1 Partitionnement du graphe Nous avons vu précédemment que le réseau d’interactions formé par les entités peut être modélisé par un graphe dynamique. Répartir les entités sur un ensemble de machines consiste donc à calculer une classification des nœuds du graphe pour laquelle chaque classe représente une machine. La classe d’un nœud nous permet alors de savoir sur quelle machine l’entité, correspondant au nœud, doit s’exécuter. Notre problème consiste donc à dé- terminer cette classification de manière à ce que les tailles des classes soient similaires pour obtenir une répartition équilibrée. De plus, on cherche à réduire la quantité d’arêtes reliant des nœuds de classes différentes. On considère un graphe G = (V,E), et l’espace Sk représentant l’ensemble des solutions possibles au problème du partitionnement en k parties. Une solution S ∈ Sk est un ensemble {C1,...,Ck }, les Ci formant un recouvrement de V et étant deux-à-deux disjoints : i ∪Ci = V ∀Ci ,Cj ∈ S, Ci ∩Cj = ; Un exemple de partition de graphe est donné figure sur la 4.1. Trouver la meilleure partition est un problème NP-difficile [S et S 2013], qui nécessite la mise en place d’heuristique afin d’en trouver une solution approchée. On commence par définir une fonction Q : Sk → R nous permettant de mesurer la qualité d’une solution et, de ce fait, de comparer des solutions deux-à-deux. Si, pour deux solutions S et S ′ , Q(S) < Q(S ′ ), alors on considère S ′ comme meilleure que S. On définit ensuite une fonction de voisinage N(S) qui, à partir d’une solution existante S, va créer un ensemble de solutions voisines de S, à l’aide de transformations locales. On obtient alors une solution localement optimale lorsque ∀S ′ ∈ N(S), Q(S ′ ) ≤ Q(S). 644.2. Approches statiques Partitionner le graphe est un problème similaire à la détection de communautés dans un graphe. On peut en effet considérer cette détection comme la recherche de la meilleure partition du graphe dont on ignore le nombre de parties. Dans les deux problèmes on cherche à connaître la structure de plus haut niveau dont chaque nœud fait partie. C’est pourquoi dans ce qui suit, nous présenterons des méthodes de partitionnement mais aussi des méthodes de détection de communautés. 4.2 Approches statiques 4.2.1 Technique de la bissection récursive La bissection récursive n’est pas en soi un algorithme de partitionnement mais une technique définissant une manière de procéder qui doit permettre de diminuer la complexité globale. Elle consiste à utiliser un algorithme de partitionnement pour diviser le graphe en deux parties. On applique ensuite récursivement l’algorithme sur chaque partie jusqu’à obtenir le nombre de parties souhaitées. Le nombre de parties de la solution est alors sous la forme 2 k , la technique impose en effet que ce nombre soit une puissance de 2. On part du principe que la complexité de procéder k fois à un 2-partitionnement est significativement plus faible que d’utiliser directement un 2 k -partitionnement. De plus, à chaque étape, les deux parties créées peuvent être traitées indépendamment, rendant la technique naturellement parallélisable. Il a été prouvé dans [G et J 1979] que trouver la solution optimale à ce problème est NP-complet. C’est pourquoi il est nécessaire d’utiliser une heuristique permettant de trouver une solution approchée. Heuristique de Kernighan-Lin Une heuristique, dite gloutonne, consiste à améliorer une solution initiale établie arbitrairement. L’amélioration est effectuée en procédant à un échange de nœuds deux-à-deux entre les deux parties qui permettent de réduire la somme du poids des arêtes entre ces parties. On procède à l’échange tant qu’il est possible d’obtenir un gain significatif. La complexité de cette heuristique est 0(n 2 ). L’algorithme de K-L [K et S. L 1970] propose d’améliorer cette méthode gloutonne en échangeant plus d’un sommet à la fois. Le résultat devient meilleur mais la complexité de l’algorithme augmente en O(n 3 ). Il existe cependant une amélioration proposée par F et M dans [F et M 1982] qui permet d’obtenir une complexité en O(|E(G)|), E(G) désignant l’ensemble des arêtes du graphe G. 4.2.2 Technique multi-niveaux En complément de la bissection récursive, il est possible d’adopter une approche multiniveaux. Cela consiste à créer un graphe de taille plus petite que le graphe d’origine en fu- 65. R   . (a) (b) (c) (d) (e) (f) F 4.2 : Illustration de l’approche multi-niveaux appliquée au partitionnement. (a) pré- sente le graphe initial, dans lequel on détermine un regroupement des nœuds en (b). Puis en (c) les nœuds des groupes sont fusionnés afin de créer un graphe d’un plus haut niveau. (d) et (e) montrent le calcul d’une partition par bissection. Le graphe est reconstruit en (f). sionnant des sommets. Chaque sommet du graphe ainsi obtenu représente un groupe de sommets du graphe d’origine. Une fois qu’une partition est calculée sur ce graphe simplifié, il suffit de revenir au graphe d’origine. Cette procédure est présentée à l’aide d’un exemple trivial dans la figure 4.2. Cette technique implique de devoir définir la façon dont les nœuds sont regroupés pour être fusionnés. Cela peut être fait de multiples façons, en regroupant par exemple les nœuds reliés entre eux par des arêtes ayant un poids élevé comme c’est le cas dans [K et K 1999], par exemple. 4.2.3 Classification hiérarchique On peut étendre l’idée de l’approche multi-niveaux en créant une hiérarchie entre les partitionnements d’une partition composée des singletons contenant chaque nœud, à une partition contenant comme unique partie l’intégralité des nœuds du graphe. La construction 664.2. Approches statiques de cette hiérarchie peut se faire de manière ascendante. On commence alors avec une solution où chaque nœud représente une partie, puis on fusionne les parties deux-à-deux pour obtenir une nouvelle solution. Et ainsi de suite jusqu’à obtenir une seule partie contenant tous les nœuds. Au contraire, l’approche peut être descendante. On commence alors avec une solution contenant comme seule partie l’ensemble des nœuds, puis on divise la partie en deux, et ainsi de suite jusqu’à obtenir autant de parties que de nœuds. On peut représenter cette hiérarchie, c’est à dire l’historique des fusions (hiérarchie ascendante), ou des divisions (hiérarchie descendante), à l’aide d’un dendrogramme. Un tel schéma est représenté sur la figure 4.3. À chaque étape, on calcule la qualité de la partition dans son état actuel. On peut alors connaître l’état pour lequel la qualité est maximale, ce qui nous donne le meilleur partitionnement. Cette méthode nécessite la mise en place de deux mesures. Tout d’abord, une mesure de qualité que nous avons déjà abordée, qui nous permet de comparer des partitions afin d’évaluer laquelle est la meilleure. Ensuite, nous avons besoin d’une mesure de similarité d(i, j) qui nous permette d’évaluer la similarité entre deux groupes de nœuds i et j. Cette mesure va ainsi nous permettre de choisir les nœuds, ou groupes de nœuds qui vont être fusionnés. Par exemple, dans le cas d’un graphe spatialisé, il peut s’agir de la distance euclidienne ou d’un dérivé ; dans ce cas, lorsque les groupes de nœuds contiennent plusieurs éléments, il est nécessaire d’appliquer un opérateur comme la moyenne ou le barycentre. Mark E. J. N propose un algorithme de détection de communauté dans [M. E. J. N 2004] utilisant une méthode de classification hiérarchique ascendante, en présentant des résultats sur un graphe d’environ 50000 nœuds formés par un réseau de collaborations entre chercheurs. Il utilise une mesure de qualité Q, nommée modularité. En considé- rant ei j la proportion d’arêtes connectant le groupe i au groupe j et ai = ∑ j ei j, la mesure de cette modularité est donnée par : Q = ∑ i ( ei i − a 2 i ) (4.1) L’algorithme procède par itérations. On considère une solution initiale où chaque nœud représente une communauté. Puis, à l’étape i, on choisit deux communautés à fusionner de telle sorte que ∆Q = Qi −Qi−1 soit le plus grand possible, Qi représentant la modularité à l’étape i. L’auteur montre ensuite que ∆Q = 2(ei j − ai aj) ce qui peut être calculé en temps constant. La complexité d’une itération de l’algorithme est donc O(n +m), n le nombre de nœuds, m le nombre d’arêtes. Ce qui amène à une complexité générale de O((n +m)n). Aaron C, Mark E. J. N et Cristopher M proposent une amélioration de cet algorithme dans [C, M. N et M 2004] en optimisant les structures de données nécessaires au calcul. Ils obtiennent ainsi une complexité O(md l og n), où d représente la profondeur du dendrogramme décrivant la hiérarchie des communautés. Ils présentent des résultats sur un graphe mettant en relation des livres à l’aide des informations de recommandations trouvées sur Amazon.com. Ils obtiennent ainsi un graphe de 400000 nœuds pour 2 millions d’arêtes. La table 4.1 présente les dix plus grandes communautés trouvées sur ce graphe. 67. R   . 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Q 0 0.2 0.4 F 4.3 : Dendrogramme associé à une classification hiérarchique ascendante. La courbe de gauche représente l’évolution de la qualité Q au fur et à mesure des fusions. On observe que la qualité maximale est atteinte à l’avant dernière fusion, ce qui nous donne une bissection du graphe. 684.2. Approches statiques Rang Taille Description 1 114538 General interest : politics ; art/literature ; general fiction ; human nature ; technical books ; how things, people, computers, societies work, etc. 2 92276 The arts : videos, books, DVDs about the creative and performing arts 3 78661 Hobbies and interests I : self-help ; self-education ; popular science fiction, popular fantasy ; leisure ; etc. 4 54582 Hobbies and interests II : adventure books ; video games/comics ; some sports ; some humor ; some classic fiction ; some western religious material ; etc. 5 9872 classical music and related items 6 1904 children’s videos, movies, music and books 7 1493 church/religious music ; African-descent cultural books ; homoerotic imagery 8 1101 pop horror ; mystery/adventure fiction 9 1083 jazz ; orchestral music ; easy listening 10 947 engineering ; practical fashion T 4.1 : Les 10 plus grandes communautés dans le réseau Amazon.com, représentant environ 87% des nœuds du réseau. 4.2.4 Théorie spectrale Il existe également des méthodes de partitionnement utilisant la théorie spectrale, c’est à dire qu’elles utilisent les matrices et leurs valeurs/vecteurs propres. Ulrike  L dans [V L 2007] nous propose une introduction complète à ce type de partitionnement. Ces méthodes [P, S et L 1990 ; T, D et F 2006] nécessitent de construire une matrice d’adjacence qui représente les arêtes du graphe. Il s’agit d’une matrice carrée de dimension n × n, où n correspond au nombre de nœuds dans le graphe. Chaque composant ai j représente le poids de l’arête entre les nœuds i et j, ou, dans le cas d’un graphe non-pondéré, vaut 0 ou 1 pour indiquer la présence de l’arête. Si le graphe n’est pas orienté, sa matrice d’adjacence sera symétrique, c’est à dire que ∀i, j ∈ V (G), ai j = aj i. La figure 4.4 nous montre un exemple de matrice d’adjacence. L’utilisation de la matrice d’adjacence permet d’augmenter la vitesse d’accès aux arêtes mais est coûteuse du point de vue de la mémoire nécessaire. Matrice Laplacienne On considère la matrice diagonale D dont chaque élément di i représente le degré du nœud. Dans le cas d’un graphe pondéré, di i représente la somme du poids des arêtes connec- 69. R   tées à i. On peut donc définir D de façon générale à partir de la matrice d’adjacence A : di j =    ∑n k=0 ai k , si i = j 0, sinon La matrice Laplacienne L non-normalisée du graphe est alors : L = D − A Cette matrice peut être normalisée de deux façons [C 1997]. D’une part la Laplacienne normalisée symétrique L norm, et d’autre part, une matrice L ma correspondant à la matrice de transition d’une marche aléatoire sur le graphe : L nor m = D −1/2 ·L ·D −1/2 L ma = D −1 ·L Valeurs et vecteurs propres Les méthodes spectrales utilisent les valeurs et vecteurs propres de la matrice Laplacienne, normalisée ou non, afin de calculer un partitionnement du graphe. Une valeur propre d’une matrice A est un réel λ pour lequel il est possible de trouver un vecteur u ∈ R n tel que A·u = λ·u. Le vecteur u est alors appelé vecteur propre de A. Les valeurs propres de A sont les racines λi du polynôme caractéristique de A décrit par : det(A −λ·In), où det représente le déterminant de la matrice, et In la matrice identité de taille n ×n. Calcul du partitionnement La forme générale de la méthode de calcul permettant d’obtenir la partition nous est donnée dans l’algorithme 1. On calcule les vecteurs propres ui de la Laplacienne, normalisée où non. Nous pouvons alors créer la matrice U donc les colonnes sont les vecteurs ui. Les lignes de U vont former les vecteurs {y1,..., yn}, chaque vecteur yi étant associé au nœud i. Nous allons ensuite partitionner l’espace formé par les points yi en k classes Ci à l’aide d’un algorithme des k-moyennes. Cet algorithme permet de diviser un espace de n points en k parties uniformes. Sa version la plus populaire est l’algorithme de L [L 1982], aussi connu sous le nom d’itérations de V. Dans le cas où la Laplacienne utilisée est L sym, il est nécessaire de normaliser les lignes deU. Cela est dû au fait que l’utilisation de L sym réduit la différence entre les valeurs propres, ce qui réduit la précision de l’algorithme des k-moyennes, et donc la qualité de la partition. Les nouvelles valeurs de U sont alors : u ′ i j = ui j √∑ k u 2 i k 704.2. Approches statiques . 2 5 4 3 1 6 A =          0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0          L =          2 −1 0 0 −1 0 −1 3 −1 0 −1 0 0 −1 2 −1 0 0 0 0 −1 3 −1 −1 −1 −1 0 −1 3 0 0 0 0 −1 0 1          F 4.4 : Matrice d’adjacence et Laplacienne non-normalisée d’un graphe. 4.2.5 Approches bio-inspirées Certaines techniques d’optimisation, inspirées de phénomènes que l’on trouve dans la nature, peuvent être utilisées afin de calculer une partition du graphe. C’est le cas du recuit simulé ou encore des algorithmes génétiques. Recuit simulé Le recuit simulé [K, V et G 1983 ; Č 1985] s’inspire de la technique du recuit utilisé en métallurgie afin de modifier les caractéristiques d’un métal. Elle consiste à augmenter progressivement la température du système puis à procéder à un refroidissement contrôlé. Appliquée à l’optimisation, cette technique consiste à minimiser l’énergie E que l’on attribue à la solution. On part d’une solution initiale dont on calcule la 71. R   Algorithme 1 : Calcul d’une partition à l’aide de la théorie spectrale Entrées : — G, un graphe dont une cherche une partition en k parties Sorties : — S, la solution 1 début 2 L ← calcul de la Laplacienne ; 3 u1,...,uk ← calcul des k premiers vecteurs propres de L ; 4 U ←   u11 ... uk1 ... ... ... u1n ... ukn   ; 5 pour i ∈ {1,...,n} faire 6 yi ← i ème ligne de U ; 7 fin 8 {C1,...,Ck } ← k-means({y1,..., yn}); 9 retourner S = {A1,..., Ak }, Ai = {j | y j ∈Ci} 10 fin valeur initiale de E, E0. On attribue au système une température T , initialement fixée à une valeur élevée T0. À chaque étape, on procède à une modification de la solution en calculant, selon une méthode à définir, la variation d’énergie ∆E que cette solution apporte. Si ∆E est négatif, on procède à la modification de la solution ; sinon, on procède à cette modification avec une probabilité e − ∆E T . On procède à une diminution de la température T soit de manière continue, soit par palier au bout d’un certain nombre d’itérations. L’algorithme (cf.algorithme 2) se termine lorsque l’on atteint une température suffisamment basse. Algorithme génétique Un algorithme génétique [H 1975] consiste à faire évoluer une population de solutions initiales de telle sorte que chaque nouvelle génération soit de meilleure qualité. Pour cela, on code les solutions sous la forme d’une chaîne, par analogie aux chaînes de nucléotides contenues dans l’ADN. On procède à la génération d’une nouvelle population par des mécanismes de croisement et de mutation. La figure 4.5 présente ces deux mécanismes ainsi que le codage de la solution. Le croisement consiste à sélectionner deux individus A et B (voire plus) parmi la population actuelle, en fonction de leur qualité, et de les combiner afin de créer un nouvel individu. Sélection Il s’agit du premier opérateur à définir, qui va directement influencer l’évolution de la population. Il englobe deux notions importantes : qui peut être sélectionné, et comment se passe la sélection. Dans [B 1994], T. B nous résume deux approches 724.2. Approches statiques Algorithme 2 : Recuit simulé appliqué au partitionnement Entrées : — G, un graphe G ; — S0, une solution initiale Sorties : — S, un partition de G Données : — T0, la température initiale ; — Tar r e t, la température à atteindre ; — ρ ∈]0,1[, le facteur de diminution de la température ; 1 début 2 T ← T0 ; 3 S ← S0 ; 4 tant que T > Tar r e t faire 5 pour S ′ ∈ N(S) faire 6 ∆E ←Q(S)−Q(S ′ ); 7 si ∆E < 0 alors 8 S ← S ′ ; 9 fin 10 sinon si aléatoire() < e − ∆E T alors 11 S ← S ′ ; 12 fin 13 fin 14 T ← T ×ρ ; 15 fin 16 retourner S 17 fin qui définissent quelles populations sont en mesure de se reproduire. La première, nommée (µ+λ)-sélection, implique que les parents et leurs descendants peuvent se reproduire. Au contraire, la sélection (µ,λ) indique que seuls les descendants participent à la reproduction, et dans ce cas, chaque population ne vit que pour une étape de l’algorithme. La sélection (µ+λ) permet de maintenir des individus de bonne qualité sur le long terme, mais de ce fait, nous augmentons le risque que la population de solutions se cantonne autour d’un optimum local. Lorsque l’ensemble des individus sélectionnables est établi, il faut procéder à la sélection. Il existe différentes méthodes utilisant la qualité des individus et l’aléatoire. La pression de sélection définit le degré d’importance de la qualité dans la sélection. Plus elle sera élevée, meilleurs seront les individus sélectionnés. La méthode standard consiste à utiliser la qualité d’un individu de manière à ce que sa chance d’être sélectionné soit proportionnelle à sa 73. R   qualité. D’autres méthodes existent, comme par exemple la sélection par tournoi [M et G 1995], dans laquelle on sélectionne s compétiteurs, dont on retient le meilleur. Croisement On choisit ensuite un locus qui correspond à une position dans la chaîne codant la solution. La chaîne de A est alors coupée du début jusqu’au locus, puis est combinée avec la chaîne de B, elle-même coupée du locus à la fin de la chaîne. L’intérêt de cette opération est remise en question [C et F 1999], du fait qu’il est nécessaire qu’elle soit adaptée au problème pour être efficace. Or si on utilise une méthode dédiée à un problème dans un contexte plus général, la qualité du résultat risque d’être pire que celui obtenu via une méthode aléatoire. Mutation La mutation permet d’insérer de l’aléatoire en provoquant des modifications dans les chaînes codant les solutions. Ce mécanisme va ainsi permettre d’explorer plus en profondeur l’espace des solutions, en évitant de se cloisonner dans des optima locaux. Ces mécanismes vont permettre la création d’une nouvelle population de solutions, de meilleure qualité que la précédente. On peut alors reproduire l’étape de création d’une nouvelle population jusqu’à atteindre une qualité souhaitée ou dépasser un nombre maximum itérations. Colonie de fourmis Nous verrons par la suite que nous utilisons un algorithme à base de colonie de fourmis pour le partitionnement du graphe (cf.10.2). Des approches similaires existent dans la littérature comme c’est le cas de celle proposée par Pascale K et Dominique S dans [K et S 1994] qui est appliquée aux graphes statiques. L’algorithme utilise q espèces d’animats pour déterminer une partition de taille p du graphe, avec q ≥ p. Les animats vont se reproduire et mourir à un certain âge. La solution de partitionnement est donnée par la quantité d’animats sur les nœuds : lorsqu’une espèce est majoritairement présente sur un nœud, on dit alors que ce nœud est colonisé par l’espèce. L’homéostasie de ce système repose sur deux mécanismes de rétroaction : une rétroaction négative induite par la mort des animats lorsque leur âge dépasse une limite maximale, et une rétroaction positive grâce à la reproduction des animats lorsqu’ils se trouvent sur un nœud colonisé par leur espèce. Les animats se déplacent sur le graphe de manière à favoriser les nœuds colonisés par leur espèce et fuir le reste. Dans [K, L et S 1997], les auteurs précédents en collaboration avec Paul L proposent un algorithme utilisant des colonies de fourmis. Il s’agit cependant d’un modèle de fourmi différent de celui que nous allons manipuler du fait de l’absence de phéromones. Le graphe est projeté dans un espace que les fourmis vont pouvoir parcourir, avec la capacité de déplacer des nœuds. Cette méthode n’est pas sans rappeler celle du tri du couvain [F et S-F 1992]. Les fourmis sont donc capables de transporter un nœud qui se trouverait sur leur position puis de le déposer à un autre point de l’espace après un certain nombre d’itérations. La probabilité de transporter un nœud augmente 744.2. Approches statiques Algorithme 3 : Algorithme génétique appliqué au partitionnement Entrées : — G, un graphe Données : — p, nombre d’individus par population — Qmax , qualité maximale souhaitée — itérationsmax , nombre maximal d’itérations de l’algorithme Sorties : — S, une partition de G 1 début 2 P0 ←ensemble initial de p solutions ; 3 itérations ← 0 ; 4 répéter 5 Qmax ← 0 ; 6 itérations ← itérations+1 ; 7 pour tous les Si ∈ P0 faire 8 Qi ←Q(Si); 9 Qmax ← max(Qmax ,Qi); 10 fin 11 P1 ← ; ; /* On normalise la suite des Qi pour obtenir une suite dont la somme est égale à 1. Celle-ci est utilisée par la suite comme distribution de probabilités. */ 12 d = normaliser({Qi},Qmax ); 13 pour i ∈ {1,...,p} faire /* la fonction croisement({Si},{pi}) choisit deux individus à l’aide de la distribution de probabilités {pi}, puis procède à un croisement de ces individus et retourne « l’enfant » obtenu. */ 14 C ← croisement(P0,d); /* la fonction mutation(S) va modifier l’individu S par des perturbations locales. */ 15 C ← mutation(C); 16 P1 ← P1 +{C}; 17 Qmax ← max(Qmax ,Q(C)); 18 fin 19 P0 ← sélection(P0,P1); 20 jusqu’à Qmax ≥ Qf in ou itérations > itérationsmax ; 21 retourner S ∈ P0 tel que ∀S ′ ∈ P0, Q(S) ≥ Q(S ′ ); 22 fin 75. R   . 13 9 2 5 1 6 7 8 12 11 4 10 3 Codage 1 2 3 4 5 6 7 8 9 10 11 12 13 A A A A B B B B B C C C C . 1 2 3 4 5 6 7 8 9 10 11 12 13 Sélection reproducteurs A B B A C B C B A A C B C locus C C A B A A C B B C C B A Croisement A B B A C B C B B C C B A Mutation A B B A C B C B B C C A A F 4.5 : Codage, croisement et mutation dans un algorithme génétique. On considère pour le codage que les nœuds peuvent être de numérotés de 1 à n, le code est alors une chaîne de caractères où le i ème caractère représente la classe du nœud i. Le croisement permet de combiner les codes de deux individus, et la mutation d’ajouter de l’aléatoire. lorsque celui-ci est isolé. De même, la probabilité de déposer le nœud transporté augmente si la fourmi est entourée de nœuds similaires. La solution émerge du fait qu’en déplaçant les nœuds vers d’autres nœuds similaires, les fourmis vont faire que les nœuds d’une même partie du graphe vont être regroupés. 4.3 Approches dynamiques Nous avons présenté jusqu’à présent des approches qui n’ont pas la capacité de prendre en compte la dynamique d’un graphe. Pour pouvoir en utiliser certains sur un graphe dynamique, cela nécessiterait de devoir calculer une nouvelle solution à partir de rien à chaque changement significatif qui surviendrait dans le graphe. D’autres peuvent être adaptés mais n’ont pas une approche prévue pour la dynamique et n’apportent donc pas les performances souhaitées. C’est pourquoi nous allons à présent nous intéresser aux approches permettant de gérer cette dynamique en adaptant une solution préalablement calculée aux modifications du graphe. 764.3. Approches dynamiques 4.3.1 Approches par diffusion Les algorithmes de diffusion constituent un premier type d’approche qui permet de prendre en compte la dynamique. Cependant, cette méthode ne manipule pas de graphe, mais seulement un ensemble d’entités. On considère ici que le réseau formé par les ressources sur lesquelles nous souhaitons distribuer l’application n’est pas complet. Chaque ressource n’est donc pas en mesure de communiquer, et donc d’échanger une entité, avec n’importe quelle autre mais seulement avec un nombre restreint de voisins. Chaque ressource se voit attribuer une température qui correspond à la quantité d’entités qu’elle héberge actuellement, et donc à sa charge de calcul. Cette approche s’inspire alors de la manière dont la chaleur se diffuse des points chauds aux points froids pour échanger des entités entre les ressources de manière à équilibrer la température de ces ressources. La diffusion peut se faire de deux façons. Tout d’abord, de manière globale comme c’est le cas dans [H.-C. L et R 1992]. L’algorithme opère de manière centrale avec une vue globale sur les ressources qui lui permet de déterminer une solution de répartition des entités. Au contraire, l’algorithme de diffusion peut être lui même réparti sur l’ensemble des ressources. Chaque instance de l’algorithme ne possède alors qu’une vue locale des ressources : celle sur laquelle il est hébergé, et celles auxquelles cette dernière est connectée. L’inconvénient des algorithmes de diffusion est lié au fait qu’il n’y a pas d’utilisation d’un graphe et donc de prise en compte des interactions qui existent entre les entités, or il s’agit d’un des objectifs que nous nous sommes fixés. 4.3.2 Approches par particules L’approche particulaire proposée dans [H et S 1995] permet d’ajouter aux algorithmes de diffusion cette prise en compte des interactions entre les entités. Cet algorithme s’inspire de la stabilisation que l’on obtient en plaçant des fluides de viscosités différentes dans un même bassin. Il considère un ensemble de tâches T , l’équivalent de nos entités, comme étant les particules de fluides ; les communications entre ces tâches sont utilisées pour définir la cohésion entre les particules. La charge potentielle des machines, quant à elle, est utilisée pour définir une force de gravitation. Le coût de la migration d’une tâche est alors défini comme une force de friction qui va permettre d’éviter les migrations intempestives et participer à la stabilisation du système. Les auteurs définissent donc trois forces : — l’équilibrage, qui va permettre de prendre en compte la charge des ressources ; — la cohésion, elle correspond à laforce induite par les communications entre les tâches ; — la friction, son rôle est de limiter la quantité de migrations. Ces forces sont respectivement pondérées par les constantes globales cl b, ccomm et c f r i c t. Pour une tâche t, dont le nombre d’instructions est st, et l’emplacement l oc(t) = j, la 77. R   force d’équilibrage qui est exercée par une ressource k voisine de j est définie par : f j→k l b (t) = cl b V j l oad +1 V k l oad +1 (4.2) V k l oad représente la mesure de la charge de la ressource k et peut être définie de plusieurs façons, la plus précise étant : V k l oad = 1 µk ∑ t|l oc(t)=k st (4.3) µk permet de définir la vitesse de calcul de la ressource k, ce qui permet de prendre en considération les capacités de chaque ressource. La force de cohésion, quant à elle, est définie par : f j→k comm(t) = ccomm ( V j comm(t)−V k comm(t) ) (4.4) V k comm(t) correspond au potentiel de communication de la tâche t sur la ressource k : V k comm(t) = ∑ t ′∈T a ( k,l oc(t ′ ) ) · c(t,t ′ ) (4.5) a(j,k) définit le coût d’une communication entre les ressources k et j. L’intensité des communications entre deux tâches t et t ′ est donnée par c(t,t ′ ). En cas d’absence de communications entre les tâches, c(t,t ′ ) est nulle. Enfin, la force de friction appliquée à la tâche t est la suivante : f j→k f r i c t(t) = −c f r i c tdt a(j,k) (4.6) dt permet de définir le coût de la migration de la tâche t en mesurant la quantité de données qu’il serait nécessaire de transférer dans l’hypothèse de cette migration. La force finale exercée sur la tâche t, située sur la ressource j, par la ressource k est donc : f j→k r es (t) = f j→k l b (t)+ f j→k comm(t)+ f j→k f r i c t(t) (4.7) Nous avons vu des méthodes de partitionnement du graphes dans lesquelles il est né- cessaire d’identifier des groupes de nœuds de manière à obtenir une faible quantité d’arêtes entre les groupes. La détection de groupes à l’intérieur desquels les membres entretiennent des interactions qui se démarquent des interactions avec l’extérieur du groupe relève du domaine de la détection de communautés. 4.3.3 Diffusion de labels Dans [R, A et K 2007], les auteurs proposent de détecter les communautés, dans des réseaux à grande échelle, à l’aide d’un mécanisme de diffusion de labels. Dans ce type d’algorithme, on considère que chaque nœud du réseau possède un label qui 784.3. Approches dynamiques définit la communauté dont il fait partie. Un nœud choisit alors de rejoindre la communauté la plus présente parmi ses voisins. On procède alors par itération, le nouveau label L ′ x (t) d’un nœud x est calculé en fonction du label courant de ses voisins xi : L ′ x = f ( Lx1 ,...,Lxk ) (4.8) La fonction f retourne le label dont la fréquence est la plus importante parmi les voisins. Pour pallier l’oscillation de labels qui peut apparaître en cas de présence de sous-graphe biparti, U. N. R et al.proposent de désynchroniser le calcul du label d’un nœud en utilisant les labels de ses voisins qui ont déjà été calculés pour l’étape t : L ′ x = f ( L ′ x1 ,...,L ′ xm ,Lxm+1 ...,Lxk ) (4.9) Cet algorithme possède un inconvénient : il peut mener à la production de super-communautés. Ces structures sont liées à l’aspect épidémique de l’algorithme faisant que les communautés trop faiblement connectées sont absorbées pour former une communauté de plus haut niveau. Ian X.Y. L et al.étudient et étendent, dans [L et al. 2009], l’algorithme par diffusion de labels cité ci-dessus, et en améliorent d’une part la complexité, et d’autre part la qualité de la détection. Chaque label L se voit attribuer un score sx (L) en chaque nœud x du réseau. Ce score va décroître à chaque itération. Le calcul du nouveau label de x devient alors : L ′ x = argmax L ∑ x ′∈Nx sx ′ (Lx ′)·d(x ′ ) m ·wx,x ′ (4.10) Nx correspond à l’ensemble des nœuds x ′ connectés à x par une arête dont le poids est donné par wx,x ′. d(x) est une mesure permettant de comparer les nœuds entre eux ; il peut s’agir par défaut du degré. La constante m permet de relativiser l’importance de cette mesure d dans le calcul. La décroissance des scores est effectuée à l’aide de la constante δ de la façon suivante : s ′ x (L ′ x ) = ( max x ′∈Nx (Lx ) sx (Lx ′) ) −δ (4.11) où Nx (Lx ) désigne l’ensemble de voisins x ′ de x tel que Lx ′ = Lx . Pour pallier la création de super-communautés, les auteurs proposent une seconde modification qui consiste à utiliser la distance dG à l’origine du label L, notée O(L), dans la mise à jour du score. Celle-ci devient alors : s ′ x (Lx ) = 1−δ(dG (O(Lx ),x)), (4.12) avec dG (O(Lx ),x) = 1+ min x ′∈Nx (Lx ) dG (O(Lx ),x ′ ). (4.13) Les auteurs montrent que l’algorithme ainsi modifié obtient de meilleurs résultats, temporel et qualitatif, sur le graphe d’un réseau social composé d’un million de nœuds pour 58 millions d’arêtes. 79. R   Références B, Thomas (1994). Evolutionary algorithms in theory and practice. T. Bäck. Č, V. (1985). “Thermodynamical approach to the traveling salesman problem : An ef- ficient simulation algorithm”. In : Journal of Optimization Theory and Applications 45, p. 41–51. C, Kumar et David B F (1999). “Fitness distributions in evolutionary computation : motivation and examples in the continuous domain”. In : BioSystems 54 (1), p. 15–29.  : 0303-2647. C, Fan RK (1997). Spectral graph theory. T. 92. AMS Bookstore.  : 0821803158. C, Aaron, MarkN et Cristopher M (2004). “Finding community structure in very large networks”. In : Physical review E. APS 70 (6), p. 066111. F, C. M. et R. M. M (1982). “A linear time heuristic for improving network partitions”. In : ACM IEEE Design Automation Confe- rence, pages, p. 175–181. F, Nigel R. et A. B. S-F (1992). “Brood sorting by ants : distributing the workload over the work-surface”. In : Behavioral Ecology and Sociobiology. Springer 30 (2), p. 109–123. G, Michael R et David S J (1979). Computers and intractability. T. 174. Freeman New York. H, Hans-Ulrich et Michael S (1995). “Decentralized dynamic load balancing : The particles approach”. In : Information Sciences. Elsevier 84 (1), p. 115–128. H, John H. (1975). Adaptation in Natural and Artificial Systems. University Michigan Press. K, George et Vipin K (1999). “A fast and high quality multilevel scheme for partitioning irregular graphs”. In : SIAM, Journal on Scientific Computing 20 (1), p. 359– 392. K, B.W. et S. L (1970). “An Efficient Heuristic Procedurefor Partitioning Graphs”. In : The Bell system technical journal 49 (1), p. 291–307. K, Scott, Mario P V et D. G (1983). “Optimization by simulated annealing”. In : science 220 (4598). K, Pascale, Paul L et Dominique S (1997). “A colony of ant-like agents for partitioning in VLSI technology”. In : Proceedings of the Fourth European Conference on Artificial Life. MIT, p. 417–424. K, Pascale et Dominique S (1994). “Emergent colonization and graph partitioning”. In : Proceedings of the third international conference on Simulation of adaptive behavior : from animals to animats 3, p. 494–500. L, Ian XY et al. (2009). “Towards real-time community detection in large networks”. In : Physical Review E. APS 79 (6). L, H.-C. et Cauligi S. R (1992). “A dynamic load-balancing policy with a central job dispatcher (LBC)”. In : Software Engineering, IEEE Transactions on 18 (2), p. 148–158. 80Références L, Stuart (1982). “Least squares quantization in PCM”. In : Information Theory, IEEE Transactions on 28 (2), p. 129–137.  : 0018-9448. M, Brad L. et David E. G (1995). “Genetic Algorithms, Tournament Selection, and the Effects of Noise”. In : Complex Systems 9, p. 193–212. N, Mark E. J. (2004). “Fast algorithm for detecting community structure in networks”. In : Physical review E. APS 69 (6), p. 066133. P, Alex, Horst D. S et Kang-Pu L (1990). “Partitioning sparse matrices with eigenvectors of graphs”. In : SIAM, Journal on Matrix Analysis and Applications 11 (3), p. 430–452. R, Usha Nandini, Réka A et Soundar K (2007). “Near linear time algorithm to detect community structures in large-scale networks”. In : Physical Review E. APS 76 (3), p. 036106. S, Peter et Christian S (2013). “Think Locally, Act Globally : Highly Balanced Graph Partitioning”. In : Experimental Algorithms. Springer, p. 164–175. : 3642385265. T, J. D., K. D. D et J. E. F (2006). “Partitioning and Dynamic Load Balancing for the Numerical Solution of Partial Differential Equations”. In : Numerical solution of partial differential equations on parallel computers. Bruaset, Are Magnus. Springer. V L, Ulrike (2007). “A tutorial on spectral clustering”. In : Statistics and computing 17 (4), p. 395–416.  : 0960-3174. 81C 5 C  5.1 Système distribué . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.1.1 Le système distribué, cette super-machine . . . . . . . . . . 84 5.1.2 Réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.1.3 Stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.1.4 Intergiciel . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.2 Différents types de systèmes distribués . . . . . . . . . . . . . . . . 89 5.2.1 Grappe de calcul . . . . . . . . . . . . . . . . . . . . . . . 89 5.2.2 Grille de calcul . . . . . . . . . . . . . . . . . . . . . . . . 90 5.2.3 Cloud computing . . . . . . . . . . . . . . . . . . . . . . . 91 5.2.4 Écosystème computationnel . . . . . . . . . . . . . . . . . 92 5.3 Algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.3.1 Classification . . . . . . . . . . . . . . . . . . . . . . . . 94 5.3.2 Marche aléatoire dans un graphe . . . . . . . . . . . . . . . 97 5.3.3 Algorithmes fourmis . . . . . . . . . . . . . . . . . . . . . 98 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Jusqu’à présent, nous nous sommes intéressés à la modélisation des réseaux d’interactions dans le chapitre 3, puis à la répartition de charges dans le chapitre 4. Ces deux éléments nous fournissent la base théorique et algorithmique de la distribution. Dans ce chapitre, nous allons nous pencher sur les modèles existants de systèmes distribués, en tant qu’infrastructure, ainsi que sur l’algorithmique possible dans un tel environnement. 83. C  5.1 Système distribué Avant de pouvoir procéder à un calcul distribué, il est nécessaire de mettre en place un environnement dans lequel nous allons pouvoir exécuter nos algorithmes. Vu de l’extérieur, cet environnement peut être considéré comme une machine de haut niveau. Nous allons donc examiner, dans un premier temps, de quoi cette machine est constituée, et comment définir l’architecture de son fonctionnement. 5.1.1 Le système distribué, cette super-machine Un système distribué est composé de machines qui vont être reliées grâce à un réseau et combinées à des ressources : capacité de calcul, mémoire, stockage, voire des capteurs qui vont servir d’instruments de mesure permettant d’obtenir de l’information. Nous utilisons le terme de “machine” au sens large, c’est à dire qu’il désigne n’importe quel appareil, équipé d’au moins un processeur et de mémoire, qui lui permettent d’exécuter des flux d’instructions. Dans le cadre de nos travaux, ces flux d’instructions qui s’exécutent sur un ensemble de données forment, à un plus haut niveau, le comportement des entités. La manière dont les processeurs, d’une même machine, se synchronisent pour exécuter les instructions, permet une première classification des machines, proposée par Michael J. F en 1966 dans [F 1966] (cf.figure 5.1) : SISD « Single Instruction, Single Data stream », les instructions sont exécutées de manière séquentielle sur une donnée à la fois ; SIMD « Single Instruction, Multiple Data streams », une même instruction est exécutée sur plusieurs données différentes ; MISD « Multiple Instructions, Single Data stream », plusieurs instructions sont exécutées sur une même donnée ; MIMD « Multiple Instructions, Multiple Data streams », plusieurs instructions sont exécutées sur des données différentes. Cette classification permet de définir comment les processeurs sont dépendants les uns des autres. Le type SISD correspond au fonctionnement d’une machine mono-processeur, telle que décrite dans l’architecture de V N [V N 1993]. Les types SIMD et MISD représentent des architectures multi-processeurs, où chaque processeur est lié aux autres soit pour l’instruction qui est exécutée, soit pour la donnée sur laquelle l’instruction est exécutée. Les processeurs dédiés aux graphismes sont un exemple d’architecture SIMD. Un processeur graphique est composé de nombreux processeurs de flux (plusieurs milliers sur des cartes haut de gamme récentes) fonctionnant en mode SIMD. On peut ainsi exécuter une même fonction (les instructions) sur les points (les données) en parallèle. L’architecture MIMD représente un système composé de plusieurs processeurs capables de fonctionner indépendamment les uns des autres. Les ordinateurs personnels actuels sont principalement de type MIMD : bien qu’ils n’aient qu’un seul processeur physique, celui-ci est divisé en plusieurs processeurs logiques (les « cœurs ») qui sont capables de fonctionner 845.1. Système distribué . SISD instructions données P MISD instructions données P P SIMD instructions données P P MIMD instructions données P P F 5.1 : Classification de l’architecture des machines proposée par Michael J. F. Les processeurs sont représentés par .P . indépendamment des autres. Dans [M 2003], Richard S. M résume cette architecture en quatre points : — chaque processeur exécute sa propre séquence d’instructions ; — chaque processeur travaille sur une partie différente du problème ; — chaque processeur communique des données aux autres ; — les processeurs peuvent avoir à attendre d’autres processeurs ou à attendre pour obtenir un accès à des données. L’architecture d’un système distribué est de type MIMD. Nous avons en effet un problème divisé en différentes parties : les entités. Chaque entité possède sa propre séquence d’instructions et va être attribuée à un processeur. Les interactions entre les entités impliquent un échange de données entre les processeurs. 85. C  On peut voir l’architecture MIMD comme un ensemble d’architectures SISD dont il faudrait définir le couplage. E. E. J propose une classification qui permet d’étendre type MIMD [J 1988], et de prendre en compte ce couplage. Il utilise pour cela la manière dont la mémoire est répartie sur le système et des méthodes de communication entre les processeurs. La mémoire peut être commune à l’ensemble des machines, on dira qu’elle est globale ; ou elle peut être distribuée sur ce même ensemble. Les communications peuvent se faire directement à l’aide de variables, ou indirectement par transmission de messages. La classification qui en découle est donc : GMSV « Global Memory, Shared Variables » ; GMMP « Global Memory, Message Passing » ; DMSV « Distributed Memory, Shared Variables » ; DMMP « Distributed Memory, Message Passing ». Le type GMSV regroupe principalement les systèmes où le couplage entre les processeurs est fort, comme dans le cas de machines multi-processeurs. Les systèmes distribués que nous manipulons ont un couplage faible entre les processeurs, la mémoire est répartie sur l’ensemble des machines, et les communications nécessitent l’envoi des messages ; c’est pourquoi les systèmes distribués, tels que nous les appréhendons, seront principalement de type DMMP. 5.1.2 Réseaux Le réseau est un des éléments clefs du système. Grâce aux communications qu’il permet entre les machines, les entités vont avoir la possibilité d’interagir, tout en étant situées sur des machines différentes, et de migrer d’une machine à une autre. Un réseau est caractérisé par la latence d’une communication qui transite par ce réseau, ainsi que par sa bande passante, c’est à dire la vitesse à laquelle il est possible de transférer de l’information. La latence d’une communication entre deux machines reliées à l’aide d’une fibre optique va être différente de celle nécessaire à l’établissement d’une connexion à un satellite via les ondes. La latence peut être due à une limitation technique, et dans ce cas être constante et prévisible. Elle peut aussi être liée à des conditions variables, comme par exemple dans le cas d’un réseau mobile où la connexion entre deux machines peut varier en fonction des obstacles, de la météo, etc…Les réseaux tolérants aux délais [F 2003 ; C et al. 2012] forment un domaine de recherche visant à gérer les problèmes liés à ce type de délais. Chaque réseau possède une topologie qui établit les connections entre les machines. Cette topologie va donc nous permettre de définir comment circulent les données au sein du réseau. Elle est à la fois physique et logique, la topologie physique apportant un certain nombre de contraintes que la topologie logique doit respecter. Un réseau de type Token Ring par exemple, possède une topologie physique en forme d’étoile : chaque machine est connectée à un élément central appelé « Unité d’Accès au Média » (MAU, Media Access Unit). En revanche, la topologie logique du Token Ring forme un anneau : chaque machine peut communiquer avec deux autres, elle reçoit des informations de l’une, et peut en envoyer 865.1. Système distribué à l’autre ; la communication est donc circulaire. On peut alors représenter cette topologie à l’aide d’un graphe, dont les nœuds représentent les machines, et où une arête entre deux machines symbolise la possibilité d’une communication directe. Plusieurs réseaux peuvent être interconnectés afin de créer un réseau de plus grande envergure. L’exemple le plus connu est naturellement celui d’Internet, qui n’est autre qu’une interconnexion, à l’échelle mondiale, d’une multitude de sous-réseaux locaux. 5.1.3 Stockage Les ressources désignent ce qui est nécessaire à l’exécution des entités, et ce qu’elles vont pouvoir exploiter. D’après ce que nous avons vu précédemment, les ressources principales sont, d’une part, les ressources de calcul, c’est à dire les processeurs, et d’autre part, la mémoire. Les processeurs vont permettre d’exécuter les entités et donc de leur donner la possibilité d’agir dans l’application distribuée, tandis que la mémoire est nécessaire pour stocker la structure représentant l’état de l’entité. D’autres types de ressources peuvent être disponibles. L’espace de stockage en constitue une grande partie. On va distinguer : — un stockage direct associé à une seule machine, c’est à dire que l’accès au stockage par cette machine ne nécessite pas l’utilisation du réseau ; — un stockage centralisé accessible par l’ensemble des machines (ou limité à un groupe de machines) ; — un stockage décentralisé. On peut de plus distinguer un stockage sous forme de fichiers, d’un stockage dans une base de données. Un stockage centralisé implique la mise en place d’une machine dédiée (il peut s’agir éventuellement d’une simple façade virtuelle) à laquelle les machines vont pouvoir se connecter pour accéder aux ressources de stockage. Il peut s’agir par exemple de « serveurs de stockage en réseau » (N.A.S.) dont l’accès se fait à l’aide de systèmes de fichiers dé- diés ; ou encore de « réseaux de stockage » (S.A.N.) qui opèrent à une couche inférieure aux fichiers, au niveau des blocs de données, permettant ainsi à une machine du système d’accéder à une zone de stockage distante de manière locale. Un stockage distribué implique que ce stockage soit formé par l’agrégation de stockages directs associés à chaque machine du système. C’est le cas, par exemple, dans un réseau peer-to-peer où les fichiers sont séparés en morceaux qui sont hébergés, avec de la redondance, sur les machines. Une machine, souhaitant obtenir un fichier, doit alors obtenir une liste des machines possédant des morceaux de ce fichier, puis télécharger l’ensemble de ces morceaux afin de pouvoir reconstituer le fichier. Le stockage distribué est un système dans le système. Son objectif est de fournir un accès concurrent à des données tout en permettant aux machines de s’abstraire de la gestion du matériel. Il doit donc être en mesure de gérer les pannes, et d’être extensible afin de s’adapter aux besoins des machines. 87. C  5.1.4 Intergiciel L’intergiciel est la couche logicielle qui va venir s’insérer entre le système d’exploitation des machines et l’application distribuée. Il s’agit de la « glue » qui permet de maintenir ensemble les différentes parties de l’application. Il permet ainsi de gérer l’ensemble des ressources disponibles et fournir à cette application une abstraction de l’environnement. Si l’on voit le système distribué comme une machine de haut niveau, l’intergiciel en est son système d’exploitation, qui va permettre aux entités de communiquer entre elles et d’échanger de l’information. Il peut aussi être utilisé sur une unique machine pour mettre une communication entre différents processus. Il est d’autant plus nécessaire lorsque les ressources sont hétérogènes. D’une part, concernant les machines, dont les ressources matérielles ainsi que le système d’exploitation peuvent différer. Et d’autre part, concernant la partie réseau qui peut inclure différents protocoles de communication que l’intergiciel doit être capable de gérer. La technologie RMI (pour « Remote Method Invocation ») de Java [W, R et W 1996] est un exemple d’intergiciel qui fournit les moyens d’invoquer un objet situé sur une machine distante. Cette technologie est décentralisée, chaque machine virtuelle Java hébergeant un serveur de registres, qui répertorie les entités hébergées et permet la communication entre les machines. Une entité (ici un objet) qui souhaite en contacter une autre doit connaître la localisation de celle-ci et son identifiant unique. À partir de ces informations, le registre local va fournir un objet représentant localement l’entité distante, mais dont les méthodes seront routées vers la dite entité. Approche synchrone et asynchrone Les intergiciels tels que RMI (CORBA [OMG 1991], DCOM [R 1997], etc…) rentrent dans la catégorie des « Remote Procedure Call » (littéralement Appel de Procédure Distante). Ils permettent d’abstraire l’invocation de morceaux de code distants. L’inconvé- nient vient du fait que cette technique est généralement synchrone, l’invocateur devant attendre la fin de l’exécution de la procédure invoquée. Or, si cela ne pose guère de problème lorsque la procédure est locale, il en est tout autre lorsque celle-ci est distante : les latences induites par les communications nécessaires peuvent avoir un impact fortement négatif sur les performances globales de l’application distribuée. Une solution a ce problème est d’utiliser un type de communication asynchrone comme c’est le cas dans le modèle d’intergiciel orienté message (MOM, « Message-oriented Middleware ») [C 2004]. Dans ce modèle, l’invocation, par une entité source, d’une procé- dure d’une entité cible prend la forme d’un message. L’entité source émet donc un message contenant les informations nécessaires à l’invocation, puis le message est transmis jusqu’à la machine hébergeant l’entité cible. Dès que cette dernière devient disponible, elle peut alors exécuter la procédure puis répondre à l’entité source. Le caractère asynchrone de cette technique vient du fait qu’une fois le message émis, l’entité source peut continuer à effectuer d’autres tâches et revenir sur le traitement en cours une fois que la réponse de la cible 885.2. Différents types de systèmes distribués est disponible. On obtient alors un état non-bloquant de l’entité source lorsqu’elle procède à une invocation distante. Ce modèle permet donc de gérer des réseaux possédant une latence élevée. Approche décentralisée Certains intergiciels ont une architecture décentralisée. C’est le cas d’intergiciels utilisant des protocoles réseaux pair-à-pair [J et L 2004], ou d’intergiciels dédiés aux grilles [L et A 2004] (cf.5.2.2 pour une présentation des grilles). Une approche décentralisée permet d’augmenter la tolérance aux fautes du système qui n’est plus dépendant de quelques points centraux. De plus, elle permet de mieux répartir la charge du réseau du fait qu’une connexion peut être établie directement avec la machine visée, sans nécessiter le passage par un serveur central, véritable goulot d’étranglement des communications. Il existe des intergiciels hybrides [S 2001] qui combinent les avantages des deux approches, centralisée et décentralisée. Ceci en utilisant un réseau pair-à-pair pour les communications, sur lequel s’ajoutent certains services ayant une architecture client/serveur. 5.2 Différents types de systèmes distribués Plusieurs éléments vont permettre de caractériser un système distribué. Tout d’abord, la façon dont sont réparties les ressources. Celles-ci peuvent être homogènes, c’est à dire que chaque machine va apporter les mêmes ressources ; ou au contraire hétérogènes, dans ce cas les ressources peuvent être variables en fonction des machines. 5.2.1 Grappe de calcul Une grappe de calcul, encore appelée ferme de calcul, ou tout simplement par son nom anglais cluster, désigne un système distribué dans lequel l’ensemble de machines qui le composent, apparaît comme une unique machine. Le réseau, reliant les machines entre elles, est particulièrement rapide comparé à d’autres modèles de systèmes distribués. La topologie logique d’une grappe est centralisée. On peut voir sur la figure 5.2 une création « maison » d’une grappe à l’aide d’ordinateurs à bas coût, les R P . Ce type d’architecture est particulièrement adaptée pour des services nécessitant une haute disponibilité ou pour du calcul intensif. Une grappe est un supercalculateur qui est dédié au calcul. Chaque machine possède son propre système d’exploitation. Un répartiteur de charge est placé en amont de ces machines, et reçoit les demandes de calcul. Par exemple, une grappe est idéale pour servir les requêtes d’un service web. Les requêtes sont envoyées au répartiteur de charge qui les distribue aux machines composant la grappe de manière à répartir au mieux la charge. On peut ainsi maintenir une qualité de service optimale même en cas de trafic important. 1. http://www.raspberrypi.org/ 89. C  F 5.2 : Une grappe réalisée avec des R P. L’ensemble des machines composant la grappe est évolutif : on peut ajouter ou retirer des machines pour adapter dynamiquement la dimension de cette grappe pour que sa taille corresponde aux besoins réels actuels. 5.2.2 Grille de calcul Là où une grappe de calcul repose sur du matériel dédié, la grille va, quant à elle, regrouper diverses machines disponibles pour former le système distribué. Le réseau, reliant les machines entre elles, est donc potentiellement de plus grande envergure, et possède donc des performances plus faibles que le réseau dédié d’une grappe. Le terme de grille est présenté par Ian F et Carl K, dans un livre dédié aux grilles de calcul [F et K 2003], comme une analogie avec le réseau électrique (« power grid » en anglais) qui permet de fournir un accès universel à une ressource : . “ The word Grid is used by analogy with the electric power grid, which provides pervasive access to electricity and, like the computer and a small number of other advances, has had a dramatic impact on human capabilities and society.. ” 905.2. Différents types de systèmes distribués Une grille de calcul offre une approche décentralisée [F 2002] permettant de faire collaborer des machines, qui n’étaient pas initialement prévues à cet effet, afin de participer à une tâche de plus haut niveau. Cette collaboration peut se faire à une échelle mondiale grâce à Internet. Le projet SETI@home , initié par le Space Science Laboratory de l’université de Californie à Berkeley, permet à des volontaires de mettre à disposition leur machine afin de former une grille de calcul permettant d’analyser des échantillons de radiotéléscopes afin de détecter d’éventuelles traces d’intelligence extra-terrestre. Au delà de cet objectif, il s’agit aussi d’une preuve de concept qu’il est possible, grâce à la collaboration de volontaires, de créer à faible coût une capacité de calcul de grande envergure. La grille ouvre la porte à l’informatique ubiquitaire (« ubiquitous computing » ou encore « pervasive computing »). Un utilisateur peut participer et interagir avec une grille depuis n’importe où, pour peu qu’une connexion soit disponible, et avec n’importe quel appareil contenant l’intergiciel adéquat. Cette interaction pouvant potentiellement se faire de façon à ce que l’utilisateur n’en ait pas conscience. Le concept d’informatique ubiquitaire a été introduit par Mark W [W 1991 ; W 1993] qui prédisait en 1991 que les équipements matériels et logiciels connectés seraient un jour tellement bien intégrés dans notre environnement qu’on n’aurait plus conscience de leur présence : . “ Specialized elements of hardware and software, connected by wires, radio waves and infrared, will be so ubiquitous that no one will notice their presence.. ” 5.2.3 Cloud computing Un type de système distribué, que beaucoup côtoient sûrement sans s’en rendre compte, est le « cloud computing » , ou informatique dans le nuage. Si le terme est sujet à un fort engouement, sa compréhension n’en est pas pour autant des plus claires, du fait de l’abondance des définitions que l’on trouve à son propos. La NIST  donne, dans [M etG 2011], la définition suivante du cloud computing : . “ Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.. Le « nuage » est un ensemble flou de ressources, que l’on peut facilement dimension- ” ner, et auxquelles on accède sous forme de services depuis n’importe quel point d’entrée du réseau. Ian F et al. nous donnent une définition similaire qui plonge ce nuage dans l’Internet [F, Z et al. 2008] : . “ A large-scale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted, virtualized, dynamically-scalable, managed computing power, storage, platforms, and services are delivered on demand to external customers over the Internet.. 2. « Search for Extra-Terrestrial Intelligence », ” http://setiathome.ssl.berkeley.edu/ 3. National Institute of Standards and Technology 91. C  On retrouve à nouveau la notion d’ extensibilité associée au cloud computing. Contrairement aux grilles, cette extensibilité semble principalement nécessaire pour des raisons économiques. Ce contexte économique est aussi reflété par le fait que nous ne sommes plus dans une optique de collaboration afin d’atteindre un objectif, mais plutôt dans une optique de services rendus à des utilisateurs. La notion de service est omniprésente dans le cloud computing. On parlera ainsi de « Software as a Service » (Saas), « Platform as a Service » (Paas) et même de «Infrastructure as a Service» (IaaS). Ces concepts sont représentés dans la figure 5.3. Le terminal d’un utilisateur ne possède plus, à proprement parler, d’applications installées mais d’une interface qui lui permet d’accéder à un service. Si l’on considère l’ordinateur, ou le smartphone, d’une grande partie des utilisateurs aujourd’hui, un simple navigateur web suffit à accéder à des fonctionnalités qui auraient nécessitées des applications dédiées il y a une dizaine d’années (emails, calendrier, stockage, cartes géographiques, etc…). On trouvera dans [S et K 2011], une comparaison détaillée des différences entre les modèles de grappe, grille et cloud computing. 5.2.4 Écosystème computationnel Nous avons vu jusqu’à présent, trois modèles de système distribué permettant de ré- partir les parties d’une application distribuée sur un ensemble de machines. Ces modèles supportent une dynamique qui est principalement liée au souci d’adapter la taille du système à la dimension du problème. Les applications que nous considérons sont d’un type particulier. Il s’agit en effet de simulations de système complexe. Cela implique deux points importants concernant le système distribué. Tout d’abord, les interactions existant entre les entités vont tenir le rôle principal dans l’application, comme nous l’avons vu dans le chapitre 3. Ensuite, de ces interactions va émerger de l’organisation qui va venir structurer le réseau d’interactions et donc apporter de nouvelles propriétés à l’application distribuée. À ces deux points s’ajoute une forte dynamique à la fois des entités mais aussi des interactions. Les entités ont la particularité d’être autonomes. Du fait de l’étroite ressemblance entre les simulations que l’on souhaite distribuer et les écosystèmes biologiques, J. O. K, T.H et B. A.H ont introduit le modèle d’écosystème computationnel [H 1988 ; K, H et H 1989]. Ils s’appuient en particulier sur les mécanismes de compétition et de collaboration entre les ressources, ainsi que sur la capacité d’adaptation du système aux perturbations. Pour cela, le système nécessite un contrôle décentralisé, ainsi qu’un mode de communication asynchrone entre les entités. Dans [J et B 2008], Mariusz J et Seth B proposent une approche thermodynamique des écosystèmes computationnels. Ils cherchent en particulier à étudier et à comprendre les principes thermodynamiques qui régissent l’auto-organisation dans les systèmes naturels afin d’appliquer ses principes à un écosystème computationnel. Celui-ci s’organise alors autour d’un flux entrant d’énergie (un flux d’information) et produit 925.2. Différents types de systèmes distribués . Modèle . Applications . Runtimes . Bases de données . Logiciel serveur . Virtualisation . Matériel serveurs . Stockage . Réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classique IaaS PaaS SaaS Géré par : l’utilisateur .. . le cloud . F 5.3 : Répartition, entre utilisateur et fournisseur du cloud, de la gestion des diffé- rentes couches d’un système distribué en fonction du modèle (IaaS, PaaS, SaaS). en retour de la chaleur (le débit du système, c’est à dire le nombre de tâches achevées par unité de temps). Le modèle d’écosystème computationnel se rapproche d’un modèle de grille dont les tâches seraient des entités autonomes et qui se focaliserait sur les interactions entre ces entités. Ce rapprochement est principalement dû à la volonté d’utiliser une infrastructure existante composée de l’agrégation d’appareils de tous les jours, plutôt que d’une infrastructure dédiée. Bien que ces deux modèles aient une approche décentralisée des communications, l’écosystème computationnel va plus loin dans cette démarche en décentralisant le contrôle de l’application elle-même. Contrairement aux grilles et au cloud computing, un écosystème computationnel ne s’oriente pas vers le calcul ou vers le service, mais considère les choses d’une manière plus générale, ce qui permet éventuellement une cohabitation des deux aspects. Les propriétés que l’on souhaite voir attachées à un écosystème computationnel sont 93. C  l’adaptabilité, la robustesse et la résilience. L’aspect adaptatif signifie que le système est capable de faire preuve d’apprentissage qu’il va pouvoir mettre à profit afin de réagir efficacement aux perturbations. En partie grâce à cette adaptabilité, l’écosystème computationnel tend à être robuste, c’est à dire capable de résister aux pannes ou aux défaillances pouvant survenir dans le système. Enfin, dans le cas où des perturbations importantes ont fait que le système a quitté sa trajectoire, celui doit être en mesure de retrouver une trajectoire similaire stable, c’est à dire faire preuve de résilience. On tente d’obtenir ces propriétés à l’aide de mécanismes de redondance et d’apprentissage collectif. Il s’agit bien sûr de la vision globale d’un écosystème computationnel idéal dont nous sommes encore loin. 5.3 Algorithmique La partie 5.1 précédente nous a permis de décrire une machine de haut niveau, composée de l’agrégation de nombreuses machines, décuplant les capacités d’une simple machine, en particulier la puissance de calcul et la mémoire. Ce système distribué ainsi formé va cependant modifier nos méthodes algorithmiques, habituées à être appliquées sur des machines monoprocesseurs. Un algorithme centralisé considère une séquence d’instructions qui vont être appliquées sur un ensemble de données entrantes, afin de produire une ou plusieurs données sortantes. Un tel algorithme ne pourra donc pas profiter pleinement de la puissance de calcul fournie par un système distribué. Il est nécessaire pour cela de décomposer l’algorithme en un ensemble de parties, les entités, qui vont pouvoir être réparties dans le système. Ces entités vont s’exécuter indépendamment, communiquer entre elles, et finalement aboutir à un ré- sultat. On parle alors d’algorithmes distribués. Gerard T nous fournit, dans son livre dédié à ce sujet [T 2000], une description des trois points principaux qui distinguent les algorithmes distribués des algorithmes centralisés : — absence de connaissance sur l’état global du système ; — absence d’échelle de temps globale ; — non-déterminisme. Chaque entité d’un algorithme distribué ne peut utiliser qu’une quantité restreinte de connaissances, dites locales, qui sont celles contenues sur la machine hébergeant l’entité. Ces informations peuvent être étendues à celles que possèdent les voisins directs mais l’entité n’a pas la possibilité de connaître l’état global du système dans lequel elle évolue. Du fait de l’hétérogénéité de la vitesse des processeurs et de l’absence de contrôle centralisé, chaque entité possède sa propre échelle de temps désynchronisée des autres. 5.3.1 Classification Les algorithmes distribués peuvent être classés d’après plusieurs critères, selon Nancy L dans [L 1996] : — la méthode de communication entre processus ; — le modèle temporel ; 945.3. Algorithmique — le modèle de gestion des fautes ; — les problèmes abordés. La classification proposée est basée sur le modèle temporel qui semble être le critère permettant de faire la meilleure distinction entre les algorithmes. On obtient ainsi trois classes d’algorithmes : — modèle synchrone ; — modèle asynchrone ; — modèle hybride partiellement synchrone. Modèle synchrone Le modèle synchrone est peu probable dans le cas d’un système distribué car, comme nous l’avons vu, il n’y a pas de synchronisation au niveau matériel entre les processeurs du système. Cette synchronisation peut cependant être simulée au niveau logiciel, ce qui justifie la présence de ce modèle d’algorithmes. On utilise pour cela une méthode de diffusion de messages dans un graphe. Le graphe est celui dont les nœuds représentent les processeurs et dont les arêtes sont données par la topologie logique du réseau. Chaque processeur possède un état qu’il va diffuser à ses voisins. Chaque processeur met à jour son état à l’aide d’une fonction de transition qui considère l’état courant et l’état des voisins. On peut alors définir une étape qui consiste pour chaque processeur à : 1. générer le message qui sera envoyé aux voisins ; 2. envoyer ce message ; 3. lire les messages des voisins ; 4. appliquer la fonction de transition. La fonction de transition permet d’exécuter le code des entités attachées au processeur. On peut, grâce à ce mécanisme, diffuser un message d’arrêt par exemple, qui permettrait de signaler la fin de l’algorithme. Cette technique permet de définir deux types de complexité. Tout d’abord, une complexité temporelle correspondant au nombre d’étapes nécessaires afin la finalisation de l’algorithme. Puis une complexité en terme de communication qui correspond au nombre total de messages non-nuls envoyés. Modèle asynchrone Le modèle général permettant de décrire le fonctionnement asynchrone est donné par « l’automate d’entrée/sortie » introduit dans [L et T 1987]. Il s’agit d’une machine à état dont les transitions sont associées à des actions de type entrée, sortie, ou interne. Un automate e/s A est défini par sa signature S = si g (A). S est un triplet contenant l’ensemble des actions d’entrée in(S), l’ensemble des actions de sortie out(S), et enfin celui des actions internes int(S). L’ensemble des actions externes est défini comme l’union ex t(S) = 95. C  P. i send(m)i j . r ecei ve(m)j i . deci de(v)i . ini t(v)i F 5.4 : Un automate e/s de processus C. i,j r ecei ve(m)i,j . send(m)i,j F 5.5 : Un automate e/s de communication in(S)∪out(S), et celui des actions localement contrôléesl ocal(S) = out(S)∪int(S). L’ensemble ac t(S) désigne l’ensemble des actions. L’automate A est alors constitué des éléments suivants : — si g (A), la signature de A ; — st ates(A), l’ensemble des états de A ; — st ar t(A) ⊆ st ates(A), l’ensemble des états initiaux ; — t r ans(A), un ensemble de relations de transitions ; — t asks(A), une relation d’équivalence avec l ocal(si g (A)); une tâche va permettre de procéder à plusieurs actions locales en une seule opération. Afin de modéliser le système distribué, il est nécessaire de définir deux types d’automates e/s. Tout d’abord, l’automate associé à un processus Pi, symbolisé figure 5.4. Son état initial est donné par l’action ini t(v)i où v représente une donnée d’entrée. Cette initialisation va déclencher le processus qui aboutira sur une action finale deci de(v). Pour y parvenir, le processus a la possibilité de communiquer avec d’autres automates grâce aux actions send(m)i j et r ecei ve(m)j i. Ensuite, un automate e/s de communication Ci,j qui va permettre de définir la communication entre des processus Pi et Pj. Ce type d’automate est représenté dans la figure 5.5, il dispose d’une action d’entrée send(m)i j et d’une de sortie r ecei ve(m)i j où m représente le message à transmettre. Un automate e/s de communication permet par exemple de représenter un canal de communication en mode FIFO  et de définir ainsi l’ordre dans lequel les messages envoyés seront lus. On peut alors définir un algorithme asynchrone grâce à une composition de ces automates. On distinguera un modèle asynchrone à mémoire partagée, d’un modèle à réseau 4. « First In, First Out » 965.3. Algorithmique asynchrone. Dans le premier, les processus peuvent communiquer instantanément à l’aide de variables partagées. Dans le second, les processus communiquent au travers d’un réseau. Modèle partiellement synchrone On considère dans ce modèle que, bien qu’il n’y ait pas de synchronisation matérielle entre les processeurs, chaque processeur peut accéder à une horloge commune et synchroniser son exécution par rapport à cette horloge. On peut alors reprendre le modèle précédent d’automate en modifiant les propriétés de l’ensemble des tâches : celles-ci doivent alors être bornées en temps. 5.3.2 Marche aléatoire dans un graphe Nous avons abordé, dans ce qui précède, une manière générale et formelle permettant de modéliser un algorithme distribué. Dans le cadre de nos travaux, nous manipulons un graphe qui est réparti dans un système distribué, un écosystème computationnel, et nous souhaitons pouvoir appliquer des algorithmes sur ce graphe. Le système que nous utilisons est décentralisé, tant au niveau des communications entre les machines, qu’au niveau du contrôle. Nous sommes donc dans le cas d’un modèle asynchrone d’algorithme, dans lequel chaque processeur va avoir la possibilité d’exécuter des actions internes et d’échanger des informations avec d’autres processeurs. Une marche aléatoire consiste en un ensemble de particules qui vont se déplacer aléatoirement dans le graphe. On initialise cet ensemble en répartissant les particules sur l’ensemble du graphe. Puis chaque particule va choisir à chaque étape un nœud parmi les nœuds voisins de sa position. L’action interne d’un processeur consiste dans ce cas à calculer les nouvelles positions de particules. Si certaines particules se déplacent sur une partie du graphe située sur un autre processeur, il y a alors une action d’envoi de ces particules vers les processeurs correspondants. Puis une action de réception des particules ayant choisi de se déplacer vers la partie du graphe hébergée par le processeur. La marche aléatoire d’une particule a est alors la suite X a 0 ,X a 1 ,...,X a k où X a i est un nœud du graphe et telle que X a i+1 a été choisi dans le voisinage de X a i avec une probabilité pa(X a i ,X a i+1 ). On peut alors obtenir des informations sur le graphe en procédant à une analyse statistique des déplacements des particules. Par exemple, l’étude de la fréquence de passage des particules sur les arêtes peut donner des informations concernant les points de congestion du graphe. Les marches aléatoires sont un type d’algorithme intéressant dans le cas des algorithmes distribués du fait qu’elles ne sont pas inquiétées par les contraintes que ceux-ci soulèvent. En particulier, une marche aléatoire ne nécessite pas de connaissance sur l’état global du système, chaque particule n’utilise que des informations locales pour choisir sa future destination. Elles sont, de plus, facilement adaptables à la dynamique du système. 97. C  Il est possible d’adapter une marche aléatoire à un problème spécifique en insérant un biais dans la probabilité pa(X a i ,X a i+1 ). Nous allons présenter, dans ce qui suit, un type d’algorithme utilisant une telle marche biaisée, les algorithmes fourmis. 5.3.3 Algorithmes fourmis Les algorithmes fourmis ont été initialement introduits par Marco D dans [D 1992], puis formalisés sous le nom de « Ant Colony Optimization » (ACO) dans [D, D C et Luca M G 1999]. Depuis lors, ces algorithmes sont la source de nombreuses contributions scientifiques. On trouvera un état de l’art détaillé par Antoine D et Yoann P dans [D et P 2009]. L’idée est de reproduire le comportement de fourmis naturelles qui se déplacent dans leur environnement en étant attirées et en déposant des molécules chimiques, appelées phéromones. On introduit donc une colonie de fourmis artifi- cielles dans un graphe, lesquelles , grâce à leurs déplacements, vont permettre de résoudre certains problèmes combinatoires. Le problème initial était celui du voyageur de commerce, dans lequel on recherche un cycle hamiltonien de poids minimum dans le graphe. Les fourmis vont donc parcourir le graphe, à l’image d’une marche aléatoire. Elles vont, de plus, déposer des phéromones sur les arêtes qu’elles traversent. Ces phéromones s’évaporent à chaque itération, c’est à dire que l’on applique un facteur ρ ∈]0,1[ à la concentration en phéromones de chaque arête. Le choix de l’arête à traverser est biaisé par la concentration en phéromones des arêtes, ainsi que, éventuellement, par le poids, ou la distance pondérant cette arête. Une solution est obtenue en extrayant la piste de phéromones dont la concentration est la plus forte. Une piste de phéromones correspond à un chemin dans le graphe. Chaque fourmi renforce donc une piste, et donc une solution, en déposant une quantité de phéromones sur son passage. Il existe plusieurs améliorations de ce renforcement, comme l’algorithme AntQ [Luca Maria G et D 1995] ou encore Max-Min Ant System [S et H 2000]. Les algorithmesfourmis, dans leur expression la plus proche du modèle naturel, semblent donc être un outil adapté aux systèmes distribués. C’est le cas par exemple dans [S-  et al. 1997], les auteurs présentent Ant-Based Control, un algorithme dont les fourmis sont autonomes et le fonctionnement complètement décentralisé. Cet algorithme est utilisé pour répartir la charge d’un réseau de communication, les fourmis collaborant pour mettre à jour les tables servant à router les appels téléphoniques. Modèle Un algorithme fourmis repose sur un processus itératif dont chaque cycle permet de dé- placer les fourmis dans un graphe G = (V,E) et de procéder à l’évaporation des phéromones. L’ensemble des fourmis au temps t est noté F(t). La quantité de phéromone à l’instant t sur l’arête e est notée τe (t). À chaque cycle cette quantité de phéromone est mise à jour en 985.3. Algorithmique tenant compte de l’évaporation et du passage des fourmis : τe (t +1) = ρ ×τe (t)+∆τe (t) (5.1) La constante ρ ∈]0,1[ définit le facteur d’évaporation des phéromones(1−ρ). ∆τe (t) correspond à la quantité de phéromone déposée par les fourmis ayant traversé l’arête e au temps t. Pour une fourmi k, cette quantité est notée ∆τ k e (t). Cette quantité est nulle si la fourmi k n’a pas traversé l’arête i j. On obtient alors : ∆τe (t) = ∑ k∈F(t) ∆τ k e (t) (5.2) Nous devons ensuite définir la loi de probabilité qui va être utilisée par une fourmi pour choisir une arête à traverser. En considérant une fourmi k, posk ∈ V désigne la position actuelle de k. On peut alors définir ωk comme l’ensemble des arêtes que peut traverser la fourmi k : ωk = { (i, j) ∈ E | i = posk } On définit alors la probabilité p k e (t), la probabilité pour une fourmi k de traverser l’arête e au temps t : p k e (t) =    [τe (t)]α ·[ηe ] β ∑ e ′∈ωk [τe ′(t)]α ·[ηe ′] β si e ∈ ωk 0 sinon (5.3) Le paramètre ηe permet d’utiliser une propriété des arêtes pour ajuster leur importance dans la loi de probabilité. Il peut s’agir par exemple de la longueur, comme défini dans Ant System, on a alors ηe = 1/de où de est la longueur de e, ce qui augmente la probabilité de choisir les arêtes dont la longueur est faible. Le déroulement du cycle d’un algorithme fourmis au temps t est donné par l’algorithme 4. Le nombre initial de fourmis peut être fixé en fonction du nombre de nœuds. On définit alors une quantité κ de fourmi par nœud, et N(v)le nombre de fourmis présentes sur le nœud v. Lorsqu’un nœud est ajouté dans le graphe, on ajoute κ fourmi sur ce nœud. Lorsqu’un nœud v est supprimé, nous avons plusieurs cas de figure : — N(v) < κ, on supprime κ fourmis dans le graphe en commençant par celles du nœud supprimé ; — N(v) = κ, on supprime juste les fourmis du nœud ; — N(v) > κ, on supprime κ fourmis du nœud puis on répartit les N(v) − κ restante aléatoirement dans le graphe. En respectant ce mécanisme, nous obtenons une démographie stable de la population des fourmis, qui reste constamment proportionnelle d’un facteur κ au nombre de nœuds. 99. C  Algorithme 4 : Cycle d’un algorithme fourmis Données : — F, l’ensemble des fourmis ; — E, l’ensemble des arêtes du graphe ; — t, la date courante. 1 début 2 pour chaque k ∈ F faire 3 pour chaque e ∈ ωk faire 4 calculer p k e (t); 5 fin /* La méthode choisir() permet de sélectionner aléatoirement un élément de l’ensemble donné en premier paramètre en fonction de la distribution de probabilités donnée en second paramètre */ 6 e ← choisir(ωk , { p k e0 (t),...,p k ei (t),...} ) ; 7 traverser e ; 8 ∆τe ← ∆τe +∆τ k e ; 9 fin 10 pour chaque e ∈ E faire 11 τe ← τe ×ρ +∆τe ; 12 fin 13 fin Références C, A. et al. (2012). “Time-Varying Graphs and Dynamic Networks”. In : International Journal of Parallel, Emergent and Distributed Systems. In press.  : 10.1080/ 17445760.2012.668546. C, Edward (2004). “Message-oriented middleware”. In : Middleware for communications, p. 1–28. D, Marco (1992). “Optimization, learning and natural algorithms”. In : Ph. D. Thesis, Politecnico di Milano, Italy. D, Marco, Gianni D C et Luca M G (1999). “Ant algorithms for discrete optimization”. In : Artificial life 5 (2), p. 137–172. D, Antoine et Yoann P (2009). “Tour d’horizon des problèmes combinatoires traités par les fourmis artificielles”. In : Fourmis artificielles 1, Des bases de l’optimisation aux applications industrielles, p. 71–100. F, Kevin (2003). “A delay-tolerant network architecture for challenged internets”. In : Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications. ACM, p. 27–34.  : 1581137354. 100Références F, Michael J (1966). “Very high-speed computing systems”. In : Proceedings of the IEEE 54 (12), p. 1901–1909.  : 0018-9219. F, Ian (2002). “What is the grid ?-a three point checklist”. In : GRIDtoday 1 (6). F, Ian et Carl K (2003). The Grid 2 : Blueprint for a new computing infrastructure. Access Online via Elsevier.  : 0080521533. F, Ian, Yong Z et al. (2008). “Cloud computing and grid computing 360-degree compared”. In : Grid Computing Environments Workshop, 2008. GCE’08. Ieee, p. 1– 10.  : 1424428602. G, Luca Maria et Marco D (1995). “Ant-Q : A reinforcement learning approach to the traveling salesman problem”. In : ICML, p. 252–260. H, Bernado A (1988). The ecology of computation. Elsevier Science Inc. J, Mariusz et Seth B (2008). “Energy, entropy and work in computational ecosystems : A thermodynamic account”. In : J, Eric E (1988). “Completing an MIMD multiprocessor taxonomy”. In : ACM SIGARCH Computer Architecture News 16 (3), p. 44–47.  : 0163-5964. J, Markus Oliver et Yugyung L (2004). “Peer-to-peer middleware”. In : Middleware for Communications, p. 81–107.  : 0470862084. K, Jeffrey O, TadH et Bernado AH (1989). “Dynamics of computational ecosystems”. In : Physical Review A. L, Gregor von et Kaizar A (2004). “Grid middleware”. In : Middleware for Communications, p. 109. L, Nancy A (1996). Distributed algorithms. Morgan Kaufmann.  : 0080504701. L, Nancy A et Mark R T (1987). “Hierarchical correctness proofs for distributed algorithms”. In : Proceedings of the sixth annual ACM Symposium on Principles of distributed computing. ACM, p. 137–151.  : 089791239X. M, Peter et Timothy G (2011). “The NIST definition of cloud computing (draft)”. In : NIST special publication 800 (145), p. 7. M, Richard S. (2003). Cluster Computing : Architectures, Operating Systems, Parallel Processing & Programming Languages. OMG, Committee (1991). The Common Object Request Broker : Architecture and Specification. OMG Document Revision 1. R, Frank E (1997).Dcom : Microsoft Distributed Component Object Model with Cdrom. IDG Books Worldwide, Inc.  : 0764580442. S, Naidila et SM Dilip K (2011). “Cluster, grid and cloud computing : A detailed comparison”. In : Computer Science & Education (ICCSE), 2011 6th International Conference on. IEEE, p. 477–482.  : 1424497175. S, Rüdiger (2001). “A definition of peer-to-peer networking for the classification of peer-to-peer architectures and applications”. In : Peer-to-Peer Computing, 2001. Proceedings. First International Conference on. IEEE, p. 101–102.  : 0769515037. S, Ruud et al. (1997). “Ant-based load balancing in telecommunications networks”. In : Adaptive behavior 5 (2), p. 169–207.  : 1059-7123. 101. C  S, Thomas et Holger H H (2000). “MAX–MIN ant system”. In : Future generation computer systems 16 (8), p. 889–914.  : 0167-739X. T, Gerard (2000).Introduction to distributed algorithms. Cambridge university press. : 0521794838. V N, John (1993). “First Draft of a Report on the EDVAC”. In : Annals of the History of Computing, IEEE 15 (4), p. 27–75.  : 1058-6180. W, Mark (1991). “The computer for the 21st century”. In : Scientific american 265 (3), p. 94–104.  : 0036-8733. — (1993). “Some computer science issues in ubiquitous computing”. In : Communications of the ACM 36 (7), p. 75–84.  : 0001-0782. W, Ann, Roger R et Jim W (1996). “A Distributed Object Model for the Java TM System”. In : Computing Systems 9, p. 265–290.  : 0895-6340. 102Troisième partie Modèle 103C 6 M   6.1 Qu’est ce que l’interaction ? . . . . . . . . . . . . . . . . . . . . . . 106 6.1.1 Interactions & Émergence . . . . . . . . . . . . . . . . . . 106 6.1.2 Causalité ascendante et descendante . . . . . . . . . . . . . 107 6.2 Propriétés des interactions . . . . . . . . . . . . . . . . . . . . . . 107 6.2.1 Interaction directe ou indirecte . . . . . . . . . . . . . . . . 107 6.2.2 Interaction synchrone ou asynchrone . . . . . . . . . . . . . 108 6.2.3 Interaction ciblée ou diffuse . . . . . . . . . . . . . . . . . 109 6.3 Représentation et manipulation des interactions . . . . . . . . . . . . 109 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Tout ce que nous avons vu jusqu’à présent tourne autour de la notion d’interaction. Au point que ce sont ces interactions qui semblent jouer un rôle majeur dans le réseau. Les entités en sont réduites à jouer le rôle secondaire d’attributs, nécessaire certes, permettant de définir les acteurs des interactions. Ces interactions forment la syntaxe qui décrit le réseau, lui donnant ainsi une forme et sont à l’origine de l’émergence des organisations qui vont participer à structurer le graphe. Derrière cette syntaxe se cache la sémantique de la simulation qui ne nous est pas accessible. Nous devons donc nous contenter d’étudier cette syntaxe ainsi que la sémiologie de la simulation qui s’exprime au travers de phénomènes qui apparaissent dans le graphe comme par exemple sa structuration. C’est grâce à l’analyse de ces éléments que nous pourrons réussir à améliorer notre gouvernance du système. Pour cela nous avons besoin de comprendre les mécanismes qui entourent les différentes interactions, ainsi qu’une meilleure appréhension des interactions elles-mêmes et de leurs propriétés, cela afin d’en fournir une meilleure 105. M   modélisation. 6.1 Qu’est ce que l’interaction ? L’encyclopédie communautaire, W , commence par définir une interaction de la sorte : . “ Une interaction, dans le langage courant, est l’action ou l’influence réciproque qui peut s’établir entre deux objets ou plus. Une interaction est toujours suivie d’un ou plusieurs effets. En physique, en chimie, ou en biologie, une interaction a pour effet de produire une modification de l’état des objets en interaction.. Une interaction définit donc un lien de causalité qui se crée entre au moins deux entités. ” Une entité, de par son comportement, va alors déclencher une action qui va produire un effet sur d’autres entités, pouvant introduire une modification de leur état. L’interaction peut aussi exister à différents niveau de représentation du système ainsi que entre ces niveaux. Comme nous le verrons dans ce qui suit en 6.1.2, il existe en effet une interaction ascendante et descendante entre les niveaux microscopique et macroscopique. 6.1.1 Interactions & Émergence Les interactions sont responsables de l’apparition de propriétés, propres à des groupes ou au système lui-même, que l’on ne peut expliquer par la seule somme de celles des membres du groupe. On qualifie alors ces propriétés d’émergentes et on parlera plus généralement de l’émergence qui existe au sein du système. Ce phénomène d’émergence est classé de différentes manière dans la littérature, Damien O nous en donne une présentation dans [O 2006]. Le dictionnaire de Philosophie de Cambridge, [A 1995], oppose l’émergence descriptive à l’émergence explicative. La première implique la présence de propriétés globales qui ne peuvent pas être définies à partir de la somme des propriétés des parties. La seconde, l’émergence dite explicative, énonce l’émergence à l’aide des lois qui régissent le système : les lois des situations les plus complexes dans le système ne sont déductibles d’aucune façon par composition des lois des situations les plus simples. Nous considérerons pour notre part, l’émergence forte et l’émergence faible. L’émergence forte [C 1997 ; C 2006] se base sur l’apparition d’organisations, en tant que structure composée d’entités, sur une échelle macroscopique. Ces organisations possèdent leurs propres propriétés qui ne sont pas à déductibles des propriétés des entités de l’échelle microscopique qui composent l’organisation. La définition de l’émergence faible nous est donnée dans [B 1999] : on considère que l’émergence est faible lorsqu’il est possible d’obtenir l’organisation du niveau macroscopique à partir d’une simulation utilisant le niveau microscopique ainsi que des conditions 1. consultée le 14 novembre 2013, https://fr.wikipedia.org/wiki/Interaction 1066.2. Propriétés des interactions externes au système considéré. David J. C, quant à lui, exprime dans [C 2006] le fait que l’émergence faible implique que le niveau macroscopique peut être obtenu à partir du niveau microscopique mais que certaines propriétés apparaissent qui sont inattendues compte tenu les principes qui régissent le niveau microscopique. 6.1.2 Causalité ascendante et descendante L’interaction, désignée de manière générale, permet donc l’émergence de nouvelles propriétés du système. Les interactions sont tout d’abord l’action d’une entité sur une autre, voire sur plusieurs autres. Il s’agit d’un lien de causalité qui se crée entre une cause et un effet. Puis, ces interactions vont permettre de structurer le graphe et de ce fait, aboutir à la création d’organisation. Ces liens ne peuvent cependant pas expliquer à eux seuls l’émergence survenant dans le système. L’émergence nécessite d’une part la présence de boucles de rétroaction, qui impliquent que l’effet engendré par une cause va en retour agir sur cette même cause, entrainant ainsi la création d’une boucle de causalité. De plus, les interactions existent aussi entre une organisation et les entités. D’une part de manière ascendante, les entités vont causer des effets sur leur organisation qui vont modifier les propriétés de celle-ci. D’autre part, ces interactions existent aussi de manière descendante, c’est à dire que le comportement du groupe va causer des effets sur ces individus. On peut, pour illustrer cette notion, considérer l’exemple d’un groupe d’individus qui s’organise autour d’une certaine idéologie. Les évolutions des idées de chacun vont permettre de faire évoluer l’idéologie globale du groupe, il s’agit alors d’une causalité ascendante. Mais cette idéologie globale va aussi influencer les idées de chaque membre du groupe, et dans ce cas on parle d’une causalité descendante. 6.2 Propriétés des interactions Nous avons tenté de définir, dans ce qui précède, ce qu’est l’interaction, d’une façon gé- nérale. Une interaction a besoin de s’appuyer sur un vecteur afin de lui permettre d’atteindre sa cible. Il peut s’agir de la voix, d’un message, mais aussi de molécules, ou d’éléments abstraits comme la proximité entre les entités. Grâce à ce vecteur et à la façon dont il permet de propager l’interaction, nous pouvons proposer certaines propriétés des interactions. 6.2.1 Interaction directe ou indirecte Lorsqu’une entité a connaissance d’une autre et agit de manière à provoquer des modifications immédiates sur cette autre entité, on pourra dire de cette interaction qu’elle est directe. Lorsqu’une personne parle à une autre, par exemple, il s’agit d’une interaction directe, il n’y a pas d’intermédiaire entre ces personnes. Au contraire, l’interaction peut nécessiter l’intervention d’un intermédiaire (voire de plusieurs). On qualifie, dans ce cas, cette interaction d’indirecte. De telles interactions néces- 107. M   . niveau microscopique causalité ascendante causalité descendante niveau macroscopique F 6.1 : Causalité ascendante et descendante. sitent la création d’une information qui va être transmise indirectement à une entité, ou un groupe d’entités. L’environnement peut servir de vecteur pour la transmission de cette information comme c’est le cas avec le mécanisme de stigmergie dont nous parlions en 1.1. Dans ce dernier cas, l’interaction indirecte se fait entre une entité et un groupe d’entité.Pour illustrer cette idée, nous pouvons considérer, par exemple, une personne qui collerait une affiche dans un lieu de passage : l’information contenu sur l’affiche est alors diffusée de manière indirecte aux personnes qui prendront le temps de lire cette affiche. Mais une interaction indirecte peut aussi être ciblée entre deux entités. Pour reprendre l’exemple de la communication entre deux personnes, l’information que l’on transmettait directement à l’oral peut être transmise de manière indirecte au travers d’une lettre ou d’un courriel. 6.2.2 Interaction synchrone ou asynchrone Il est possible de caractériser les interactions en fonction de l’état qu’elles provoquent sur les entités qui en sont à l’origine. En considérant deux entités source et cible. source est 1086.3. Représentation et manipulation des interactions à l’origine d’une interaction qui va déclencher chez cible une réaction qui aboutira sur une réponse à source. Cette réponse permet soit de retourner une information, soit de simplement valider le fait que la réaction a eu lieu. source a besoin de cette réponse pour effectuer un certain traitement. Dans le cas où source rentre dans un état bloquant en l’attente de la réponse de cible, on parlera alors d’interaction synchrone. État bloquant implique que l’entité n’effectue plus aucune action tant que son état ne s’est pas débloqué. L’entité source peut aussi décider que certaines actions peuvent être traitées sans attendre la réponse de cible. Elle traite alors tout ou partie de ces actions et lorsque la réponse de cible est disponible, elle effectue le traitement correspondant. On parle dans ce cas d’interaction asynchrone. Ces deux types d’interactions sont illustrés dans la figure 6.2. Il est important de noter que même si les notions de synchrone/asynchrone peuvent sembler liées aux notions de directe/indirecte que nous avons vu précédemment, il n’en est rien. Les notions directe/indirecte permettent de définir le moyen qui permet l’interaction tandis que les notions de synchrone/asynchrone définissent une propriété concernant les entités lorsqu’elles interagissent. Ainsi il est possible qu’une interaction indirecte soit synchrone et qu’une interaction directe soit asynchrone. 6.2.3 Interaction ciblée ou diffuse L’interaction initiée par une entité peut être dirigée vers une autre entité en particulier. C’est le cas lorsqu’une personne parle à une autre, ou qu’une machine démarre une communication avec une machine spécifique. On peut dire alors que cette interaction est ciblée. Cependant, l’interaction peut prendre une autre forme. Une entité peut en effet initier une interaction sans avoir la connaissance de qui sera impliquée dans cette interaction. Lorsqu’une fourmi dépose de la phéromone dans l’environnement par exemple, cette fourmi ne cible personne en particulier mais diffuse un message qui va potentiellement lui permettre d’interagir avec un grand nombre d’individu. Si une personne au milieu d’une foule crie un message pour prévenir d’un danger, elle ne cible personne en particulier mais atteint tout le monde autour d’elle. On qualifie de telles interactions de diffuse. 6.3 Représentation et manipulation des interactions Dans l’ensemble de ces travaux, les interactions sont modélisées à l’aide d’un graphe dynamique composé d’un ensemble de nœuds représentant les entités intervenant dans les interactions, ainsi que d’un ensemble d’arêtes représentant les interactions entre les entités. La difficulté de la représentation réside dans la manière de créer et supprimer les arêtes modélisant les interactions. Celle-ci pourrait paraître triviale, en particulier dans le cas d’interactions directes : l’arête est créée en début de communication, puis supprimée lorsque cette communication prend fin. Cependant, dans le cas de communications de très courte durée ou dans le cas d’interactions indirectes dans lesquelles deux courtes communications 109. M   (a) . source cible établissement d’une communication l’entité devient disponible communication acceptée réponse envoyée fin de la communication traitement de la réponse attente de la réponse (b) . source cible envoie d’une nouvelle requête traitement de la requête envoie de la réponse fin de la communication traitement de la réponse F 6.2 : Interaction (a) synchrone et (b) asynchrone entre une entité source et une entité cible. 1106.3. Représentation et manipulation des interactions . a b a b a b a b a b a b a b a b nouvelle communication fin de communication nouvelle communication fin de communication F 6.3 : Création d’interactions naïve (envoi du message, réception de la réponse) interviennent, ce mode de représentation aboutit à l’oscillation de la présence de l’arête correspondante dans le graphe. Or nous avons vu que l’interaction joue un rôle majeur dans notre modèle, ce qui nous amène à deux constats : 1. pour un observateur humain, la visualisation du modèle peut être faussée par un temps d’apparition trop court, donnant l’impression que deux entités interagissent peu ou pas ; 2. d’un point de vue algorithmique, l’oscillation de la présence des arêtes peut entraîner l’oscillation de la solution et fausser la stabilisation de l’algorithme (dans le cas d’un algorithme dynamique itératif). Pour pallier ces problèmes, nous introduisons une persistance de l’interaction dans le graphe. À chaque arête e est associée une valeur que nous noterons ρ(e). Lorsqu’une nouvelle interaction entre deux entités commence, deux cas de figure peuvent se présenter : — l’arête e correspondante n’existe pas ; elle est alors créée avec ρ(e) = ρini t ; — l’arête e existe ; la valeur de ρ(e) est alors incrémentée d’une valeur δρ. On considère un processus itératif qui permet, à espacement temporel régulier, d’appliquer un facteur ϖ aux valeurs ρ(e) de chaque arête e. La valeur de ϖ est incluse dans l’intervalle ]0; 1[. Lorsque la valeur ρ d’une arête e passe en dessous d’un seuil ρdel, l’arête e est alors supprimée. Ce mécanisme permet de supprimer les oscillations des arêtes dans le graphe tout en conservant un modèle cohérent. Les figures 6.3 et 6.4 illustrent les différences qu’apportent la persistance dans la présence d’une arête entre deux nœuds. 111. M   . a b a b a b a b a b a b a b a b nouvelle communication fin de communication nouvelle communication fin de communication ρ = 1 ρ = 0.7 . ρ = 0.49 . ρ = 0.99 . ρ = 0.69 . ρ = 0.48 . ρ = 0.34 . ρ = 0.24 F 6.4 : Création d’interactions avancée avec ρini t = 1, δρ = 0.5, ϖ = 0.7 et ρdel = 0.3. Références A, Robert (1995). The Cambridge Dictionary of Philosophy. en. Cambridge University Press. 2390 p.  : 9781107268616. B, M. A. (1999). “Weak Emergence”. In : T, James E. Philosophical Perspectives, Mind, Causation And World. T. 11, p. 375–399.  : 9780631207931. C, David J. (1997). The Conscious Mind : In Search of a Fundamental Theory.  : 0195117891. — (2006). “Strong and weak emergence”. In : The reemergence of emergence, p. 244– 256. O, Damien (2006). Modélisation informatique de systèmes à base d’interactions et dé- tection d’organisations. Modèles du vivant. Habilitation à Diriger des Recherches de l’Université du Havre. 112C 7 M   7.1 Qu’est ce qu’une organisation ? . . . . . . . . . . . . . . . . . . . . 113 7.2 Du micro au macro : le changement d’échelle . . . . . . . . . . . . . 114 7.2.1 Granularité de la vue sur le modèle . . . . . . . . . . . . . . 115 7.2.2 Intérêt du changement d’échelle . . . . . . . . . . . . . . . 115 7.2.3 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . 117 7.3 Réification des organisations . . . . . . . . . . . . . . . . . . . . . 117 7.3.1 Propriété de connexité . . . . . . . . . . . . . . . . . . . . 117 7.3.2 Fusion d’organisations connexes . . . . . . . . . . . . . . . 118 Nous avons vu dans le chapitre 6 que l’interaction était une pièce maîtresse dans l’étude de la dynamique des graphes, et qu’elle permet l’émergence de structures dans le graphe que nous nommons organisations. Ce chapitre va s’intéresser à ces organisations, leur modélisation, et leur manipulation. 7.1 Qu’est ce qu’une organisation ? Les interactions au sein d’un réseau d’entités permettent de définir des structures. Il peut s’agir d’une densité des interactions plus importante à l’intérieur de la structure qu’avec les entités de l’extérieur, ou de propriétés spécifiques permettant de donner un sens à la structure. Du fait de la dynamique du réseau d’interactions, les éléments de la structure vont évoluer au fil du temps, mais la sémantique va rester la même. On nomme une telle struc- 113. M   ture organisation. Lorsque l’apparition d’une organisation n’est pas due à un comportement directement programmé du système mais qu’au contraire cette organisation émerge du comportement de bas niveau des entités, on parle alors d’auto-organisation. Par exemple, un algorithme qui calcule un plus court chemin entre deux nœuds d’un graphe et qui adapte la structure calculée aux modifications survenant dans le graphe. Le plus court chemin est alors une organisation dont les éléments forment un chemin, de telle sorte que ce chemin soit le plus court possible. Cette organisation est le fruit du calcul d’un algorithme et n’est donc pas une auto-organisation. En revanche, si l’on considère le graphe de la figure 3.1c qui présente un ensemble de livres sur l’informatique disponible sur Amazon, qui interagissent lorsqu’ils sont achetés ensemble, on voit ici se dégager des auto-organisations, qui correspondent à différents domaines informatiques (programmation Java, Linux, base de données, etc…). 7.2 Du micro au macro : le changement d’échelle La détection des organisations dans un graphe nous permet de définir pour chaque nœud, l’organisation dont il fait partie. Ainsi pour un graphe G = (V,E), on obtient un ensemble V M = {Ci} tel que : ∀Ci ∈ V M , Ci ⊂ V ∪ i Ci = V ∀Ci ,Cj ,Ci ̸= Cj , Ci ∩Cj = ; On peut alors définir l’ensemble E M des arêtes existant entre les organisations : E M = { (Ci ,Cj) | ∃u ∈Ci , v ∈Cj , ∃ e = (u, v) ∈ E } Une arête existe entre deux organisations Ci et Cj s’il existe au moins une arête dans le graphe G entre un nœud contenu dans Ci et un contenu dans Cj. Le graphe G M = (V M ,E M ) ainsi obtenu est appelé une vue macroscopique du graphe G. S’il est possible de construire une ou plusieurs vue macroscopique d’un graphe, on peut alors parler d’un graphe multi- échelle. Nous ne tenons pas compte, dans ces travaux, du chevauchement possible des organisations. C’est à dire qu’il est possible que la propriété ∀Ci ,Cj ,Ci ̸= Cj , Ci ∩Cj = ; ne soit pas respectée si un nœud s’avère appartenir à plusieurs organisations. Si l’on considère par exemple, un réseau d’interactions formés par des personnes, celles-ci peuvent être connectées ensemble de différentes façons : membres d’une même famille, du même école, de tel ou tel réseau social, etc… G. P et al., dans [P et al. 2005], ont été les premiers à prendre en compte ce problème dans la détection statique d’organisations. Pour approfondir le domaine du chevauchement d’organisations, on peut se référer à un état de l’art sur le sujet dans [X, K et S 2011]. On parle de changement d’échelle lorsque l’on passe d’un graphe G, que l’on nomme la vue microscopique, à une vue macroscopique G M de G. Nous pouvons donc appliquer à cette vue macroscopique les méthodes d’analyses qu’il est possible d’appliquer à un graphe. 1147.2. Du micro au macro : le changement d’échelle 7.2.1 Granularité de la vue sur le modèle Nous avons donc un graphe initial qui forme la vue microscopique, c’est à dire que ces composants sont atomiques. À partir de cette vue microscopique, nous pouvons construire une vue macroscopique, mais cette nouvelle vue peut aussi servir de base au calcul d’une autre vue macroscopique de plus haut niveau. Le changement d’échelle peut donc être ré- cursif. On parle alors de la granularité de la vue que l’on a sur le modèle. Il s’agit d’une information qui nous permet de définir à quel niveau de complexité nous observons un modèle. Lorsque cette granularité est microscopique, ces composantes sont atomiques, c’est à dire qu’elles sont les plus petites possibles, et correspondent donc aux entités initiales du réseau d’interactions. Plus la granularité augmente, plus les nœuds du graphe représentent une agrégation complexe de ces entités (organisations, organisations d’organisations, etc…). Dans la figure 7.1, on peut observer un graphe initial, de couleur foncée . , qui représente la vue microscopique du modèle. On peut procéder à un premier regroupement des nœuds pour former une vue macroscopique, représentée en couleur vert foncé . . Il est ensuite possible de ce servir de cette vue macroscopique comme base afin de créer une nouvelle vue de plus haut niveau, représentée en clair . . On obtient ainsi trois vues de granularité différentes sur le modèle. 7.2.2 Intérêt du changement d’échelle L’intérêt du changement d’échelle est tout d’abord analytique. L’organisation n’apparait qu’à partir d’une certaine granularité, c’est pourquoi rester à l’échelle microscopique n’est pas pertinent lorsque l’on souhaite observer le fonctionnement émergent du système. Cette échelle est en revanche nécessaire pour comprendre les mécanismes intrinsèques permettant d’expliquer le comportement global. Si l’on prend l’exemple du corps humain, observer les atomes qui le composent ne nous permet pas de comprendre les mécanismes complexes qui le régissent comme la motricité, les différents sens, etc… Nous avons déjà besoin d’augmenter la complexité de notre échelle de représentation (molécules, organes, etc…), c’est à dire de passer à des échelles macroscopiques, afin de comprendre le fonctionnement du corps humain. Cette analyse est simplifiée du fait qu’une vue macroscopique soit un graphe, ce qui nous permet d’exploiter les outils d’analyse ou les algorithmes prévus pour être exploités sur des graphes. Le changement d’échelle a aussi un intérêt en terme de visualisation d’informations. Pour un observateur humain, la visualisation du modèle à une échelle macroscopique permet de clarifier une vue qui peut s’avérer complexe du fait du nombre important d’entités composant les simulations. Cette clarification passe par la réduction ou le regroupement d’informations visible par l’observateur, que ce soit en terme d’éléments du graphes (nœuds, arêtes) que de données sur ces éléments. Dans [A et al. 2003], David A et al.s’intéresse tout particulièrement à la visualisation de graphes petit-mondes dans lesquels plusieurs échelles sont présentes. Ils proposent une métrique permettant d’identifier les arêtes inter-organisations, 115. M   . F 7.1 : Un graphe initial représentant l’échelle microscopique . , et deux vues macroscopiques, . et . , de ce graphe. 1167.3. Réification des organisations et qui peut être utilisée par l’interface graphique afin d’améliorer le rendu et la navigation. 7.2.3 Processus Le changement d’échelle est effectué au travers d’un processus qui va nous permettre de créer la vue macroscopique. Il peut s’agir d’un algorithme de détection d’organisations ou tout autre algorithme capable de fournir une surjection de l’ensemble initial de nœuds vers un ensemble de structures. Ce processus agit donc comme le générateur du graphe correspond à l’échelle macroscopique. Outre les processus « classiques » applicables aux graphes qui vont utiliser uniquement le graphe de la vue macroscopique, nous pouvons considérer des processus qui vont être en mesure d’utiliser à la fois la vue microscopique et macroscopique pour effectuer des mesures. 7.3 Réification des organisations La création d’une vue macroscopique passe par plusieurs étapes. La première est création d’une classification des nœuds qui va permettre de déterminer de quelle organisation chaque nœud fait partie. Cette classification est donnée par une algorithme de détection d’organisations sous la forme d’une valeur associée à chaque nœud, correspondant à l’index d’une organisation. La seconde étape est de reconstruire les structures correspondant aux organisations à l’aide de la classification. Enfin, la dernière étape consiste à construire l’ensemble des arêtes existant entre les organisations. Chaque arête entre deux organisations A et B peut être pondéré par la quantité totale d’arêtes existant à l’échelle microscopique entre les nœuds de A et ceux de B. 7.3.1 Propriété de connexité La difficulté de la création de la vue macroscopique réside dans la seconde étape de sa construction. On considère que le sous-graphe induit par les nœuds d’une même organisation doit être connexe, c’est à dire qu’il existe un chemin dans ce sous-graphe entre n’importe quelle paire de nœuds de l’organisation. Le problème que nous abordons ici est donc de fabriquer une vue macroscopique à partir d’une classification en s’assurant de cette propriété de connexité. Il y a deux possibilités pour l’algorithme de détection : 1. soit le nombre d’organisations est un paramètre de l’algorithme ; 2. soit au contraire l’algorithme doit déterminer de lui-même le nombre d’organisations. Si l’algorithme est libre de fixer le nombre d’organisations, on peut supposer que la propriété de connexité est respectée. Nous nous intéressons donc au cas où le nombre d’organisations est imposé. Dans ce cas, il est possible que l’algorithme fusionne des organisations afin d’aboutir au nombre désiré, comme illustré dans l’exemple de la figure 7.2. C’est le cas dans 117. M   . F 7.2 : Exemple de détection d’organisations non-connexes. Le nombre d’organisations à détecter est fixé à deux, cependant on observe quatre organisations, l’algorithme doit fusionner certaines de ces organisations. l’algorithme AntCo2 présenté dans la partie 10.2, où des colonies de fourmis numériques détectent chacune un ensemble d’organisations. Il est alors nécessaire, pour fournir une vue respectant la propriété de connexité des organisations, d’effectuer un traitement permettant de récupérer les composantes connexes de chaque sous-graphe d’une organisation. Il s’agit de la seconde étape de la création de la vue macroscopique, qui nous permet d’obtenir les structures finales des organisations. 7.3.2 Fusion d’organisations connexes Cependant, l’algorithme qui fournit la classification peut avoir fusionné des organisations entre lesquelles il existe des arêtes. Dans un tel cas, la détection des composantes connexes n’est d’aucune utilité. Afin de détecter ces cas de figure, nous proposons l’approche suivante. Nous considé- rons qu’une organisation est une structure robuste. Cette robustesse est caractérisée par la présence d’un unique centroïde de l’organisation. Nous définissons cette notion en détail dans la partie 8.2. En ayant à disposition un algorithme qui nous permette de détecter les centres d’équilibre dans un graphe, que nous nommons les centroïdes, nous pouvons alors appliquer cet algorithme à chaque organisation afin de déterminer si l’organisation possède plusieurs centroïdes. Dans ce cas, on considère que l’organisation est unefusion de plusieurs sous-organisations (une par centroïde) et qu’il faut donc procéder à une mitose, c’est à dire à séparer les sousorganisations. Nous proposons dans le chapitre 8 suivant, un algorithme permettant de dé- tecter dynamiquement les centroïdes d’un graphe à l’aide d’un algorithme fourmis. 118C 8 D   8.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 8.2 Centralité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 8.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . 120 8.2.2 Centres et centroïdes . . . . . . . . . . . . . . . . . . . . . 121 8.3 Des fourmis et des centroïdes . . . . . . . . . . . . . . . . . . . . . 122 8.4 Application aux organisations . . . . . . . . . . . . . . . . . . . . . 125 8.5 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 8.5.1 Condition d’arrêt . . . . . . . . . . . . . . . . . . . . . . . 128 8.5.2 Comparaison des résultats . . . . . . . . . . . . . . . . . . 128 8.5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 129 8.1 Présentation Dans le chapitre 7 précédent, nous exposions une approche dont le but est de permettre d’améliorer la robustesse du système en détectant les organisations qui seraient composées de l’agrégation de plusieurs sous-organisations, ce qui fragiliserait l’ensemble. Cette technique repose sur la détection de points d’équilibre, les centroïdes, à l’intérieur de l’organisation, qui nécessite par conséquent une mesure qui nous permette d’évaluer la centralité des nœuds. Nous avons présenté dans la partie 3.1.5 une description de la notion de centralité dans un graphe. Il s’agit de mesurer l’importance des nœuds dans le graphe, en considérant par 119. D   exemple la diffusion d’information : plus un nœud est un point de passage obligé pour l’acheminement d’une information entre deux nœuds, plus sa centralité sera importante. Nous avons présenté plusieurs mesures afin d’illustrer cette notion, qui était basées sur le degré, les plus court chemins, ou sur le voisinage. La plupart de ces méthodes nécessitent des considérer le graphe d’une manière globale, que ce soit au travers du calcul de l’ensemble des plus courts chemins, ou par la construction de la matrice d’adjacence du graphe. Seul une mesure se basant sur le degré peut permettre une approche locale. Cependant, la structure d’une organisation peut être complexe et ne pas reposer que sur le degré de ses membres. Nous avons donc besoin d’étendre la portée des connaissances que nous avons des nœuds, sans entrer dans une approche globale. La considération d’une connaissance globale du graphe impliquerait une remise en question permanente de la validité de cette connaissance du fait de la dynamique de ce graphe. Ceci explique notre motivation pour proposer une nouvelle approche permettant de ne pas nécessiter de connaissances globales du graphe, de tenir compte du voisinage, et d’être capable de s’adapter à la dynamique du graphe. Nous proposons donc, dans ce qui suit, une approche fourmis du calcul de la centralité, plus particulièrement de la recherche des centroïdes d’un graphe. 8.2 Centralité Nous complétons ici l’état de l’art, que nous avons vu sur la centralité dans la partie 3.1.5, en développant les concepts de centre et de centroïde. Nous commençons tout d’abord par définir les notions nécessaires avant de décrire en détails les notions qui nous intéressent. 8.2.1 Définitions Distance entre deux nœuds La distance séparant deux nœuds a et b correspond au nombre d’arcs composant le plus court chemin entre a et b. Elle est notée d(a,b). Excentricité L’excentricité d’un nœud v est la distance maximale existant entre v et n’importe quel autre nœud du graphe [Frank H 1969]. Cette mesure, décrite dans l’équation 8.1, est notée e(v). e(v) = max x∈V (G) (d(v,x)) (8.1) 1208.2. Centralité Distance d’un nœud La distance d’un nœud v, notée d(v), est la somme des distances entre v et les autres nœuds du graphe, telle que définie dans l’équation 8.2. d(v) = ∑ x∈V (G) d(v,x) (8.2) 8.2.2 Centres et centroïdes Le terme centroïde est utilisé dans plusieurs domaines scientifiques tels que la géométrie ou la physique. Il est aussi utilisé dans les sciences humaines pour agréger, par exemple, un ensemble de points dans l’espace. Le centroïde d’un objet est son barycentre ou son centre géométrique. Dans le cas d’un objet pondéré dont la densité est uniforme , le centroïde sera alors le centre de masse. Le centroïde évoque l’idée d’un point d’équilibre de l’objet. Les centres et centroïdes font l’objet de nombreux travaux dans la littérature. De C. J-  donnant une preuve de leur existence dans chaque arbre [J 1869] à P.J. S généralisant leurs définitions [S 1978], en passant par des parties traitant de ce concept dans les livres sur la théorie des graphes [O 1962 ; Frank H 1969]. Dans ce qui suit, nous allons décrire le concept de centroïde appliqué aux graphes en commençant par définir les notations qui sont utilisées. G désigne un graphe connexe dont V (G) est l’ensemble de ses sommets et E(G) l’ensemble de ses arcs. T désigne un arbre, c’est à dire un graphe dépourvu de cycle. op(e,u), avec e = (u, v) un arc, désigne le nœud v qui est l’opposé de u par rapport à l’arc e. Définition formelle Les concepts de centres et centroïdes ont d’abord été définis pour les arbres [J 1869 ; O 1962 ; Frank H 1969] puis étendus aux graphes. D’après [Frank H 1969], un nœud c0 est considéré comme un point central ou centre de G si son excentricité e(c0) est minimale pour G, cf. équation 8.3. e(c0) = min v∈V (G) (d(v)) (8.3) Le centre de gravité d’un graphe G est un ensemble de nœuds v qui minimise la fonction m() décrite dans l’équation 8.4. Le centre de masse d’un arbre T est un nœud dont le poids est minimal. m(v) = 1 |V (G)| ∑ x∈V (G) d(v,x) 2 (8.4) [Frank H 1969] définit le centroïde d’un graphe comme un ensemble de nœuds appelés points du centroide. Dans [T 1985], le centroïde est considéré comme 121. D   . 17 14 15 22 12 15 18 19 12 F 8.1 : Distances des nœuds. La structure en gras représente le sous-graphe induit par les nœuds dont la distance est minimale, ce qui correspond au centroïde de ce graphe. étant le sous-graphe induit par les points du centroïde, c’est à dire le sous-graphe H de G tel que V (H) soit l’ensemble de points du centroïde et E(H) = {(u, v) | (u, v) ∈ E(G); u, v ∈ V (H)} Il existe dans la littérature plusieurs façons de caractériser les points du centroïde. Dans [Frank H 1969], les points d’un arbre T sont définis comme étant les nœuds dont le poids est minimal, i.e. les centres de masse de T . Dans le cas d’un graphe connexe et nondirigé, [S 1978] définit les points du centroïde comme étant les nœuds dont la distance est minimale, cf. figure 8.1. Enfin, d’une manière plus générale, P.J. S définit le k-centrum d’un graphe G [S-  1978] qui permet de lier les définitions de centre et centroïde. On note rk (v) la somme des k plus grandes distances entre un nœud v est les autres nœuds du graphe tel que défi- nit dans l’équation 8.5. L’ensemble des nœuds minimisant rk est appelé le k −cent r um de G et est noté C(G;k). Si k = 1, alors r1(v) correspond à l’eccentricité de v, par conséquent C(G; 1) est le centre de G. Si k = n avec n = |V (G)|, alors rn(v) est la distance de v etC(G;n) le centroïde de G. rk (v) = max S⊆V (G);|S|=k { ∑ s∈S d(v,s) } (8.5) 8.3 Des fourmis et des centroïdes L’algorithme 5 vu précédemment pour le calcul du centroïde permet de fournir le centroïde exact du graphe mais possède cependant quelques particularités qui font que cet algorithme est difficilement adaptable aux graphes dynamiques, alors qu’il s’agit du contexte dans lequel nous nous plaçons : 1228.3. Des fourmis et des centroïdes Algorithme 5 : Calcul classique du centroïde Data : - G, le graphe, E(G) l’ensemble des arcs - A, ensemble de fourmis 1 begin 2 centroide = [] ; 3 min = +∞ ; 4 forall the node n ∈ V (G) do 5 d = ∑ u∈V (G)/{n} d(n,u); 6 if d < min then 7 centroide = [n] ; 8 min = d ; 9 end 10 else if d = min then 11 centroide.ajouter(n) ; 12 end 13 return centroide ; 14 end 15 end 1. la complexité en O(|V | 3 ) [F 1962], qui peut toutefois être réduite à O(|V | ×|E| + |V | 2 log|V |) [D. B. J 1977], due à la nécessité de calculer l’ensemble des plus courts chemins du graphe ; 2. il ne permet pas d’adapter une solution précédemment calculée aux changements survenus dans le graphe ; 3. il est nécessaire d’avoir une connaissance globale du graphe. . Nous nous intéressons donc à définir une heuristique qui nous permettra de trouver une solution approchée du centroïde d’un graphe en utilisant uniquement des informations locales. Il s’agit d’un algorithme fourmis [D, M et C 1996] dans lequel une colonie de fourmis explore le graphe, en utilisant la stigmergie comme moyen de communication au travers de phéromones qui sont déposées sur chaque arc traversé. L’idée générale de cet algorithme est que chaque nœud possède une masse que les fourmis peuvent déplacer par fragment vers d’autres nœuds. Le but final est d’augmenter la masse des nœuds du centroïde en réduisant de plus en plus la masse de ceux qui s’en éloignent. Une fourmi a est composée des attributs suivants : — posa, correspond au nœud sur lequel la fourmi se situe actuellement ; — phnmax (a) et massmax (a) qui seront décrit dans la suite ; — tmassa, la masse transportée par a ; 123. D   — une liste tabou de nœuds correspondant aux positions précédentes de a, qui est utilisée afin d’éviter un retour en arrière. Pour chaque arête e, la mesure phe(e) correspond au taux de phéromone actuel de e. On peut ensuite définir, pour chaque nœud n, un taux de phéromone phn(n) qui est la somme des phe(ei) où les ei correspondent aux arêtes adjacentes à n. Nous utilisons dans la suite la taux de phéromone des nœuds plutôt que celui des arêtes afin de prendre en compte le passage des fourmis sur les nœuds et non sur les arêtes. Les phéromones s’évaporent à chaque étape de l’algorithme suivant un facteur ρ ∈ [0; 1]. Si phei(e) correspond au taux de phéromones de e au temps i alors nous avons : phei+1(e) = phei(e)×ρ,∀e ∈ E(G) Les attributs phnmax (a) et massmax (a) représente respectivement le taux de phéromones maximal et la masse maximale que la fourmi a a rencontré durant son exploration du graphe. Afin de maintenir ces attributs à une valeur représentative, on utilise le même principe d’évaporation que pour les phéromones : les valeurs décroissent au fur et à mesure ce qui permet de les adapter aux changements qui surviennent dans le graphe. Les valeurs de ces attributs sont mis à jour au début du cycle d’une fourmi en considérant les arêtes adjacentes à la position actuelle de la fourmi, ainsi que leur extrémité opposée. À chaque étape de l’algorithme, chaque fourmi doit choisir une arête adjacente à sa position actuelle qu’elle devra alors traverser. La distribution de probabilité P permettant de définir la probabilité p(ei) de chaque arête ei = (posa, v) d’être choisie est basée sur le taux de phéromone phn(v) ainsi que sur une fonction ηa(ei), définie par l’équation 8.6, qui permet de prendre en compte la masse du nœud se trouvant à l’autre extrémité de l’arête. L’expression de p(ei) est donnée par l’équation 8.7. L’importance du taux de phéromone par rapport à la masse peut être contrôlée à l’aide du paramètre α. La fonction ηa(e) retourne une valeur comprise entre λ ∈ [0,1[ et 1. Le paramètre λ permet de définir un seuil minimal et ainsi permettre de continuer l’exploration de nœuds dont la masse est faible voire nulle. On utilise l’opérateur op pour désigner l’extrémité opposé d’une arête. Ainsi, si e = (u, v) alors e opu = v et e opv = u. ηa(e) = λ+(1−λ)× mass(op(e,posa)) massmax (a) (8.6) p(e) = phn(e opposa))α ×ηa(e) (8.7) La seconde partie du comportement d’une fourmi est sa capacité à prélever une partie de la masse d’un nœud afin de la répartir sur d’autres nœuds. Chaque fourmi a possède un attribut tmassa qui correspond à la masse qui est actuellement transportée par a. Si cette masse est nulle, la fourmi tente de prélever une quantité de masse q de sa position courante comprise entre les paramètres tmassmin et tmassmax . Dans le cas contraire, la fourmi 1248.4. Application aux organisations dépose une partie de la masse qu’elle transporte sur sa position actuelle n, cette quantité étant définie par la fonction d r op(a,n) dans l’équation 8.8. d r op(a,n) = tmassa × phn(n) phnmax (a) (8.8) L’étape d’une fourmi est décrite dans l’algorithme 7 tandis que l’algorithme 6 présente l’exécution globale de l’algorithme fourmi. Algorithme 6 : Algorithme général Data : - G, le graphe, E(G) l’ensemble des arêtes - A, ensemble de fourmis 1 begin 2 repeat 3 forall the arête e ∈ E(G) do 4 phe(e) ← phe(e)×ρ ; 5 end 6 forall the fourmi a ∈ A do 7 exécuter l’algorithme 7 sur a ; 8 end 9 until condition d’arrêt soit atteinte ; 10 end 8.4 Application aux organisations Les organisations dans un graphe dynamique G telles que nous les avons présentées dans 3.2.1 forment des sous-graphes de G et nous avons vu dans le chapitre 4 que le but de la dé- tection de ces organisations est de fournir une partition de l’ensemble des nœuds du graphe qui soit représentative de la cohésion qui existe entre ces nœuds. Dans le cas d’un graphe dynamique, on peut souhaiter que ces structures soient robustes avec un taux de renouvellement faible, c’est à dire que les éléments composant la structure varient peu au cours du temps. Les structures modélisant les organisations, fournies par l’algorithme de détection d’organisations, peuvent comporter des nœuds qui affaiblissent la robustesse de leurs organisation. C’est le cas de l’organisation présentée dans la figure 8.2 : la suppression d’un des éléments de la partie faible en orange déconnecte l’organisation. La détection des parties faibles des organisations pourrait permettre d’améliorer la détection de ces organisations en fournissant un résultat plus stable. La figure 8.3 montre comment augmenter la robustesse des organisations. 125. D   Algorithme 7 : Étape d’une fourmi Données : — a, la fourmi — transport, masse transportée par a — pos, position de a — mp, masse de pos 1 début 2 pour tous les arête ei adjacente à pos faire 3 calculer p(ei); 4 fin 5 construire la distribution de probabilité P à partir des p(ei); 6 choisir aléatoirement une arête e en fonction de P ; /* traverser l’arête choisie */ 7 pos ← op(e, pos) ; /* mettre à jour les valeurs maximales */ 8 pour tous les arête (pos, v) faire 9 phnmax (a) ← max(phnmax (a), phn(v)) ; 10 tmassmax (a) ← max(massmax (a), masse(v)) ; 11 fin 12 si transport = 0 alors 13 alea ← random(tmassmin, tmassmax ) ; 14 q ← min(alea, masse(pos)) ; 15 transport ← transport + q ; 16 prendreMasse(q) ; 17 sinon 18 q ← drop(a, pos) ; 19 transport ← transport- q ; 20 deposerMasse(q) ; 21 fin 22 fin . F 8.2 : une organisation comportant une partie faible (en orange). 1268.5. Résultats . (a) (b) (c) F 8.3 : (a) une organisation est fournie par un algorithme de détection d’organisations, (b) une partie faible est détectée, (c) l’organisation initiale est scindée en deux nouvelles organisations sans partie faible. . F 8.4 : Dans cet arbre de 50 nœuds, les fourmis ont détecté le centroïde optimal (repré- senté en orange sur la figure), c’est à dire le même centroïde que celui calculé par l’algorithme classique 8.5 Résultats Nous avons présenté dans [D, O et S 2011] des résultats obtenus à l’aide de cet algorithme. Nous avons comparé les résultats de notre algorithme fourmis avec les résultats obtenus en utilisant l’algorithme 5 classique du centroïde, le calcul des plus courts chemins se faisant grâce à l’algorithme de F-W. Le but est ici de vérifier que ce nouvel algorithme est capable de trouver une solution approchée du centroïde d’un graphe. La figure 8.4 par exemple, montre un graphe dans lequel les fourmis ont réussi à trouver le centroïde optimal. Les paramètres de l’algorithme sont donnés dans la table 8.5. 127. D   8.5.1 Condition d’arrêt Nous avons, dans un premier temps, comparé les résultats sur des graphes statiques. L’algorithme fourmis étant prévu pour être exécuté de manière continue, il est nécessaire de définir une condition d’arrêt afin de le stopper. Pour chaque nœud, nous définissons une mesure de stabilisation, décrite dans l’équation 8.9, qui nous permet de connaitre l’évolution de la masse d’un nœud. Cette mesure est normalisé entre 0 et 1, 0 signifiant que la masse du nœud évolue fortement, 1 que la masse est stable. Nous pouvons définir une mesure de stabilisation globale, décrite dans l’équation 8.10, qui est une moyenne de la mesure de stabilisation de l’ensemble des nœuds. La condition d’arrêt consiste à définir un seuil ϵ qui est la limite supérieure à atteindre pour la stabilisation globale afin d’arrêter l’algorithme. Pour ces expérimentations, ϵ est fixé à 0.99. d i f ft(n) = |masst−1(n)−masst(n)| masst(n) st abt(n ∈ V (G)) = min(1,1−d i f ft(n)) (8.9) st abt(G) = ∑ n∈V (G) st abt(n) |V (G)| (8.10) 8.5.2 Comparaison des résultats Nous avons utilisé différents modèles de graphes statiques pour ces expériences : 1. des arbres construits à l’aide du modèle d’attachement préférentiel deB-A [B et A 1999] ; 2. des graphes construits à l’aide du modèle de D-M [D et M 2002] ; 3. des grilles à deux dimensions, pleines et avec des vides aléatoires. La comparaison des résultats se concentrent sur la différence entre les centroïdes calculés CA etCC ainsi que sur les temps d’exécution tA et tC , respectivement de l’algorithme fourmis et de l’algorithme classique. La différence ∆t entre tA et tC , est exprimé comme le gain que tA apporte par rapport à tC : ∆t = tA − tC tC La différence entre les centroïdes calculés repose sur deux points. D’une part la différence ∆s du nombre de nœuds contenus dans les centroïdes CA et CC : ∆s = |CA| −|CC | Et d’autre part, nous évaluons la différence Γ entre le contenu des centroïdes en mesurant pour chaque nœud v de CA\CC , les nœuds de CA qui ne sont pas dans CC , la plus courte 1288.5. Résultats T 8.1 : Résultats pour les arbres (modèle d’attachement préférentiel). Les mesures sont des moyennes sur 1000 itérations. xx symbolise la moyenne et σ la variance. nœuds 51 101 501 1001 arêtes 50 100 500 1000 ∆t -37.1% -84.2% -98.6% -99.0% σ(∆t) 38.03% 5.07% 0.51% 0.00% ∆s +0.5 +0.4 +0.5 +0.5 σ(∆s) 1.13 0.77 0.77 0.87 Γ 7.7% 6.7% 5.0% 4.0% σ(Γ) 8.6% 7.3% 5.2% 4.1% T 8.2 : Résultats pour les graphes sans échelle (modèle de D-M). Les mesures sont des moyennes sur 1000 itérations. xx symbolise la moyenne de la mesure xx et σ(xx) la variance. nœuds 53 103 503 1003 arêtes 103 203 1003 2003 t∆ -34.2% -79.1% -97.9% -99.0% σ(t∆) 19.84% 5.28% 0.30% 0.00% s∆ +1.5 +0.7 +0.6 +0.6 σ(s∆) 2.67 1.13 0.83 0.68 Γ 10.4% 6.2% 4.3% 3.7% σ(Γ) 9.4% 5.8% 3.8% 3.4% distance γ(v) entre v et le nœud deCC le plus proche, normalisée par le diamètre du graphe. Autrement dit : γ(v) = min u∈CC d(u, v) diam(G) Γ est alors la valeur moyenne de γ(v) pour v ∈CA : si cette mesure est nulle, alors les deux centroïdes sont confondus ; au contraire, plus la valeur augmente plus les centroïdes sont éloignés. 8.5.3 Conclusion Nous proposons une approche fourmis pour la recherche du centroïde d’un graphe. Il s’agit d’une marche aléatoire biaisée par le déplacement d’une masse virtuelle dans le graphe. Le but n’est pas ici de calculer le centroïde exact du graphe mais une valeur approchée qui puisse être calculée de manière décentralisée. L’objectif étant d’appliquer cet algorithme en complément d’une détection d’organisations elle-même utilisée pour la répartition de la 129. D   T 8.3 : Résultats pour les grilles. Les mesures sont des moyennes sur 1000 itérations. xx symbolise la moyenne de la mesure xx et σ(xx) la variance. nœuds 36 121 256 arêtes 60 220 480 t∆ -15.9% -89.3% -96.7% σ(t∆) 31.99% 2.48% 0.78% s∆ +2.9 +11.4 +13.3 σ(s∆) 3.51 6.83 9.69 Γ 17.4% 17.8% 13.8% σ(Γ) 4.7% 2.4% 1.8% T 8.4 : Résultats pour les grilles incomplètes. Les mesures sont des moyennes sur 1000 itérations. xx symbolise la moyenne de la mesure xx et σ(xx) la variance. nodes 22 93 214 edges 53 292 730 t∆ +197.8% -77.8% -94.4% σ(t∆) 122.77% 3.52% 0.88% s∆ +4.1 +9.2 +13.7 σ(s∆) 2.81 5.87 8.87 Γ 25.3% 19.4% 15.1% σ(Γ) 9.1% 5.2% 2.0% T 8.5 : Valeur des paramètres ϵ 0.99 λ 0.50 α 1.00 dépôt de phéromone 0.03 évaporation de phéromone ρ 0.86 1308.5. Résultats charge d’une simulation, la puissance de calcul requise doit être minimale afin de maximiser les ressources disponibles pour la simulation principale. Les résultats sur les graphes statiques nous permettent d’observer que l’algorithme fourmis est significativement plus rapide, dans les conditions de l’expérimentation, que l’algorithme classique ; le gain obtenu est d’autant plus important que le graphe est grand. Notons qu’il s’agit là de graphe statique ; dans le cas de graphes dynamiques, l’algorithme fourmis est capable d’adapter sa solution, alors que l’algorithme classique nécessite d’être recalculé entièrement. Concernant la qualité de la solution, la dégradation de la solution introduite par l’algorithme fourmis est faible en ce qui concerne les arbres et les graphes sans-échelle, les centroïdes calculés étant suffisamment proche pour que le résultat soit satisfaisant au vu de l’objectif recherché. Dans le cas des graphes dont la topologie est une grille (complète ou incomplète), l’algorithme fourmis fournit des résultats qui s’avèrent plus éloignés du résultat optimum. Cependant, cela est prévisible. En effet, l’heuristique repose sur l’hypothèse que le graphe est structuré, et que par conséquent, les fourmis vont pouvoir déplacer la masse vers les nœuds qui sont les plus à l’intérieur de la structure. Or, dans le cas de grille, la structure est absente, la partie locale du graphe dont une fourmi a connaissance est la même, peu importe la position de la fourmi dans le graphe (en dehors des bords de la grille). L’algorithme fourmis semble donc avoir un effet de bord qui est celui de nous permettre d’évaluer la force de la structuration à l’intérieur du graphe. Il s’agit bien sûr d’une hypothèse qui nécessite des investigations supplémentaires afin d’être vérifiée. 131C 9 O   9.1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 9.2 Algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 9.2.1 Générateurs . . . . . . . . . . . . . . . . . . . . . . . . . 137 9.2.2 Métriques . . . . . . . . . . . . . . . . . . . . . . . . . . 138 9.2.3 Recherche de structures . . . . . . . . . . . . . . . . . . . 138 9.3 Exportation, importation et visualisation . . . . . . . . . . . . . . . 138 9.3.1 Formats de fichier . . . . . . . . . . . . . . . . . . . . . . 138 9.3.2 Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . 141 9.3.3 Communications réseaux, inter-threads et inter-plateformes . 142 9.4 Comment l’utiliser . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Comme nous l’avons vu dans ce qui précède, l’étude des écosystèmes computationnels nécessite un modèle, et celui de graphe semble être le plus approprié. Du fait que le temps dans lequel le système est plongé va jouer un rôle majeur dans l’émergence d’organisations, nous devons considérer des graphes dynamiques afin de tenir compte de l’évolution des diffé- rents éléments. Nous avons vu dans la partie 3.1.2 que la dynamique pouvait être modélisée de différentes façons : sous la forme d’une séquence, par un modèle agrégatif, ou encore sous la forme d’un flux d’événements. C’est sous cette dernière forme que nous avons choisi de manipuler la dynamique. À ce jour, peu d’outils sont disponibles pour nous permettre de manipuler ce type de dynamique, et aider ainsi les chercheurs et les développeurs dans la création d’algorithmes distribués dans le cadre de graphes dynamiques, permettant de me- 133. O   surer des propriétés de ces graphes ou encore d’en fournir une visualisation. Ceci explique notre motivation pour lancer le projet GS, une bibliothèque logicielle en JavaTM pour la manipulation de graphes dynamiques. Le but de GSn’est donc pas de remplacer les autres bibliothèques de graphes, déjà nombreuses en Java et d’autres langages, mais de fournir les éléments spécifiques à la manipulation de la dynamique, permettant ainsi une API facile d’utilisation pour la modé- lisation de l’évolution de réseaux d’interactions et des processus qui opèrent sur ou à l’intérieur des ces derniers. Dans ce but, GS propose un ensemble d’outils permettant l’importation et l’exportation de la dynamique des graphes dans de nombreux formats ainsi que sous la forme d’une connection entre une source d’entrée et une de sortie. Toutefois, ses fonctionnalités principales sont la génération de graphes dynamiques, la conception d’algorithmes, et le développement de simulations, des prototypes aux problèmes à grande échelle. Sa gestion du temps permet à GS de contrôler la dynamique du graphe, tandis que l’introduction de style dans la description des graphes permet d’élargir la manière de les visualiser, leur structure, leur dynamique ainsi que leurs propriétés. Enfin, sa flexibilité permet aux utilisateurs d’introduire de nouvelles métriques afin d’enrichir l’ensemble des mesures existantes. Le fonctionnement interne de GS repose sur un modèle événementiel qui forme le cœur de la bibliothèque et fournit une manière de décrire la dynamique du graphe. Nous allons décrire dans la prochaine section le modèle utilisé dans la bibliothèque. Nous exposons ensuite dans 9.2 une description de différents algorithmique contenus dans G- S, en particulier des générateurs de graphes dynamiques, des mesures, etc… Puis, nous décrivons dans 9.3 les composants permettant l’importation, l’exportation sous forme de fichier, ainsi que la visualisation de graphes. 9.1 Modèle Afin de manipuler la dynamique, GS ne modélise pas directement un graphe comme une structure de données mais comme un flux d’événements décrivant des modifi- cations du graphe. Ceci correspond au formalisme d’une dynamique par flux d’événements que nous avons vu dans la partie 3.1.2. Il existe un nombre limité d’événement : — ajout ou suppression de nœuds ; — ajout ou suppression d’arêtes ; — ajout, modification ou suppression de propriétés, les attributs, associées aux nœuds, arêtes ou au graphe lui-même ; — évolution de l’indice temporel. On peut classer ces événements en deux catégories principales. D’une part, les événements qui vont décrire une modification de la structure du graphe ; et d’autre part, les évé- nements décrivant une modification de l’état interne d’un élément par la modification de la valeur d’une propriété qui lui est attachée. On peut considérer la temporalité comme une propriété du graphe, l’évolution de l’indice temporel rentre donc dans la seconde catégorie. 1349.1. Modèle Ce flux d’événements décrit complètement le graphe et son évolution. Dans G- S, certains composants vont être capables de produire un tel flux, nous les appelons des sources. D’autres composants seront en mesure de consommer les événements, nous les appelons des puits. Le flux d’événements existe donc entre une source et plusieurs puits. Il est possible qu’un composant soit à la fois une source et un puits, nous les appelons des canaux. Actuellement, le temps dansGSest modélisé comme un simple nombre croissant qui peut être diffusé à n’importe quel moment dans le flux d’événements. Cela signifie qu’on considère que les événements qui surviennent entre deux diffusions de ce marqueur temporel apparaissent en même temps, bien qu’ils restent ordonnés dans le flux à l’aide d’un identifiant. Cependant, GS permet aussi de modéliser les nœuds, arêtes et graphes en tant qu’objets que l’on peut manipuler. Il s’agit d’objets tampons qui permettent de connaître l’état courant de l’élément. Suivant notre modèle événementiel, un graphe est un objet auquel est appliqué une séquence de mises à jour correspondant aux événements, de manière similaire à celle décrite dans [D et al. 2010]. La bibliothèque fournit les objets graphes comme des canaux. Ils sont capables de recevoir des événements, et donc d’adapter leur structure, faite d’objets nœuds et d’arêtes, qui reflète l’état du graphe au temps présent. Ces objets graphes sont aussi capables de produire un flux d’événements qui décrit toutes les modifications du graphe. En effet, les sources, puits et canaux peuvent eux-même être connectés en tant que graphe (une autre sorte de graphe, comme l’on peut le voir dans la figure 9.1), en suivant le concept d’observateur [V et al. 1995]. Ce concept est utilisé pour créer un flux d’événements entre une source (le sujet) et plusieurs puits (les observateurs). Par exemple, une application habituelle de ce concept consiste en une source de type fichier, qui lit les événements du graphe depuis un système de fichiers, connecté à un objet graphe qui maintient l’état courant du graphe en tant que structure de données que l’on peut explorer, et qui est lui-même connecté à une vue qui représente graphiquement l’état du graphe. Le réseau formé par les sources, canaux, et puits peut contenir des cycles. Par exemple, il est parfois nécessaire de connecter l’affichage sur le graphe affiché afin d’obtenir les coordonnées des nœuds, éventuellement modifiées par l’utilisateur, qui peuvent ensuite être utilisées par des algorithmes. Un tel réseau est donné en exemple dans la figure 9.1. Il existe plusieurs implantations de l’objet graphe, qui peuvent être utilisées en fonction des exigences : il faut choisir entre rapidité d’exécution, consommation de la mémoire, et temps d’accès aux éléments. Dans GS, les algorithmes peuvent opérer sur les objets graphes ou directement sur le flux d’événements. La bibliothèque fournit différents composants que nous dé- crivons dans ce qui suit. 135. O   . Canal le graphe Source fichier A Puits fichier B Canal proxy inter-threads Canal visualisation Canal agencement Canal un algorithme F 9.1 : Un exemple basique de réseau composé d’une source, de canaux, et d’un puits. Un fichier “A” est lu par une source afin de créer un graphe. On initialise une vue sur ce graphe dans un thread dédié aux graphismes. La vue communique avec le graphe au travers d’un proxy inter-threads. Elle utilise un algorithme d’agencement afin de positionner les nœuds. De plus, on exécute un algorithme sur le graphe qui répercute le fruit de son calcul directement dans le graphe. Enfin, le graphe, augmenté des données de l’algorithme, est stocké dans un fichier “B”. 1369.2. Algorithmique . F 9.2 : Un générateur de graphe dynamique basé sur le modèle des boids. 9.2 Algorithmique 9.2.1 Générateurs Les générateurs sont des sources particulières qui vont être capables de produire un flux d’événements à partir de rien, de manière algorithmique. La plupart des générateurs produisent un graphe en suivant un modèle donné, comme par exemple le modèle B- A [B et A 1999], celui de W-S [W et S 1998], ou encore celui de D-M [D et M 2002]. Mais il peut aussi s’agir de générateurs de graphes aléatoires, de grilles ou de tores, ou de graphes complètement connectés par exemple. Ils essayent, quand cela est possible, d’être dynamique, soit en permettant au graphe généré de grandir progressivement avec le temps, ou bien en reposant sur un modèle totalement dynamique qui permette l’ajout et/ou la suppression d’éléments. Nous avons par exemple adapté la simulation de boids (cf. annexe A) afin de l’utiliser comme un générateur (cf. la figure 9.2). Nous travaillons aussi sur des générateurs plus spécifiques. Par exemple, certains gé- nérateurs permettent de transformer un type de données spécifiques en tant que graphe, comme c’est le cas desshapefilesreprésentant des réseaux routiers. C’est aussi le cas d’un gé- 137. O   nérateur permettant de générer un sous-graphe du Web à partir de une ou plusieurs adresses qu’il va être capable de suivre. 9.2.2 Métriques Un autre type d’algorithmes que l’on peut exécuter sur un graphe dynamique est celui des mesures dynamiques. L’utilisateur a la possibilité de connecter une telle métrique sur un graphe, puis de suivre l’évolution des valeurs mesurées. Un exemple de ce type d’algorithmes est celui des composantes connexes qui permet de compter, à chaque pas de temps du graphe, le nombre de composantes connexes présentes. On trouvera aussi dans GS différentes mesures de centralité, en particulier la plupart des mesures exposées dans la partie 3.1.5 de ce manuscrit, comme la proximité, l’intermédiarité, ou encore le PageRank. Un algorithme de marche aléatoire est aussi disponible, permettant par exemple de mesurer la centralité par une approche stochastique (cf.la figure 9.3). La mesure de la modularité, ainsi que la mesure Surprise [A et M 2011], permettant toutes deux d’évaluer la qualité d’une partition d’un graphe, sont présentes dans la bibliothèque. De tels algorithmes essayent, quand cela est possible, d’éviter d’avoir à recalculer la solution entière de zéro mais au contraire d’adapter la solution précédente aux changements du graphes. 9.2.3 Recherche de structures Une dernière catégorie importante d’algorithmes que nous proposons dansGS concerne les algorithmes permettant de trouver des structures dans le graphe. Ces structures peuvent être des plus courts chemins comme c’est le cas des algorithmes D [D 1959], son extension A* [H, N et R 1968], mais aussi celui de B- F [F 1956 ; B 1956] ou encore F-W [F 1962 ; W 1962]. Il peut aussi s’agir d’arbres couvrant qui peuvent être calculé par l’intermédiaire de l’algorithme de P [P 1957] ou de K [K 1956]. 9.3 Exportation, importation et visualisation 9.3.1 Formats de fichier Nous essayons de permettre l’utilisation de la plupart des formats de fichier permettant l’enregistrement d’un graphe. Ainsi GS comprend le format GML [P 2011], Pajek [B et M 2004], GEXF le format du logiciel Gephi [G 2009], le format TLP du logiciel Tulip [T 2013], DOT celui de Graphviz [G 2013], mais encore NCol, LGL ou de simples listes d’arêtes par exemple. Dans la mesure du possible, ces formats sont disponibles à la fois en lecture, et en écriture. 1389.3. Exportation, importation et visualisation . F 9.3 : Résultat d’une marche aléatoire sur un graphe généré à l’aide de l’algorithme de D-M. Les couleurs indiquent la fréquence de passage des entités sur l’arête, plus la couleur tend vers la rouge, plus le passage est important. On peut interpréter ceci en terme de centralité : plus un nœud est connecté à des arêtes dont la fréquence est forte, plus sa centralité est élevée. 139. O   001 DGS004 002 exemple 0 0 003 004 cg ”propriété du graphe”=10 005 006 an ”A” 007 an ”B” label:”Je suis B” 008 an ”C” 009 010 ae ”AB” ”A” ”B” 011 ae ”BC” ”B” > ”C” 012 013 st 2.0 014 015 dn ”B” F 9.4 : Exemple de fichier DGS. On construit un graphe à trois nœuds A, B et C puis une première arête AB entre les nœuds A et B, et un arc BC de B à C. À l’étape de temps 2, on supprime le nœud B. DGS : Dynamic Graph Stream La plupart des formats présentés ci-dessus ne permettent pas de tenir compte de la dynamique. Le format GEXF propose une gestion cumulative mais aucun ne permet de voir la dynamique comme un flux d’événements. C’est pourquoi, afin de permettre un stockage complet de la dynamique, GS introduit son propre format nommé DGS [G-  2013]. Il s’agit d’un format texte, lisible par l’œil humain, dans lequel chaque ligne décrit un événement. Ce format permet de décrire l’ensemble des événements de modification de la structure et des attributs que nous avons vu précédemment. Il permet de stocker différents types de valeurs des attributs (chaînes de caractères, entiers, réels, couleurs) mais aussi des types complexes (tableaux, tables de hachage). La figure 9.4 présente un exemple de fichier DGS. Une sortie DGS peut être connectée sur un graphe au début d’une simulation et enregistrer ainsi l’ensemble des changements qui vont s’effectuer pour toute la durée de cette simulation. On peut ainsi, grâce à une entrée DGS qui lirait le fichier produit, rejouer la totalité de la simulation par la suite. Le DGS est un format où chaque ligne correspond à un événement du graphe. Le ficher commence par une entête composée de six caractères qui permet de définir la version utili- 1409.3. Exportation, importation et visualisation sée : “DGS004”. Une ligne décrivant un événement commence par deux caractères qui vont définir le type : an, cn, dn permettent respectivement d’ajouter, modifier, et supprimer un nœud. Ils sont directement suivis de l’identifiant du nœud concerné ; ae, ce, de permettent quant à eux d’effectuer les mêmes opérations sur les arêtes. “ae” est de plus suivi par les identifiants des extrémités de l’arête entre lesquels peut s’ajouter le caractère “>” ou “<” afin de préciser la direction de l’arête ; cg permet de modifier les attributs du graphe ; st permet de modifier l’indice temporel ; cl permet d’effacer le graphe. La modification des attributs des éléments grâce aux types cn, ce, cg s’effectue sous la forme “clef:valeur” ou “clef=valeur”. Les valeurs possibles sont des entiers, des réels, des chaînes de caractères, des couleurs, mais aussi des tableaux et des dictionnaires. Les tableaux sont entourés par les caractères “[” et “]”, tandis que les dictionnaires le sont par les caractères “{” et “}”. Les valeurs ou associations clef/valeur, de ces types complexes sont séparées par par le caractère “,”. L’indice temporel, défini par le type “st”, est actuellement donné sous la forme d’un réel. Dans les futurs versions, le format de l’indice pourra être personnalisé pour permettre par exemple l’utilisation de dates. 9.3.2 Visualisation La visualisation du graphe est une pièce importante d’une bibliothèque de graphe. Ivan H, Guy M et M. Scott M en présentent une vue d’ensemble dans [H, M et M 2000]. La dynamique liée au réseau d’interactions apporte ses propres contraintes, comme cela est présenté par exemple par S. B-M et D. A. MF dans [B-M et MF 2006]. GS fournit les outils de base pour permettre la visualisation d’un graphe. Ces outils sont composés d’un algorithme d’agencement des nœuds dans l’espace, d’une visionneuse, et d’un système de style qui permet de personnaliser l’affichage. Le style est inspiré des feuilles de style utilisées en HTML, le CSS . On peut alors définir le style du graphe, des nœuds et des arêtes. Il est aussi possible de personnaliser le style d’un élément en particulier via son identifiant, ou d’un groupe d’éléments à l’aide de classes. Certaines propriétés comme la couleur ou la taille des éléments peuvent être dynamique ce qui permet la visualisation de l’évolution de mesures associées aux éléments. La figure 9.5 présente un exemple exploitant la personnalisation de l’affichage. L’affichage permet les interactions entre l’utilisateur et le graphe, et peut ainsi communiquer les événements liés à l’interface graphique (clics de la souris, position des nœuds) à un algorithme ou une simulation tournant sur le graphe. Du fait que GS est une 1. Cascading Style Sheet 141. O   F 9.5 : Affichage avancé dans GS bibliothèque et non un programme final, l’affichage peut être inséré dans n’importe quelle application Java. 9.3.3 Communications réseaux, inter-threads et inter-plateformes La bibliothèque fournit un protocole réseau, nommé NetStream, qui va permettre la diffusion des événements entre des sockets. Il s’agit d’un format binaire optimisé pour réduire la quantité de données et ainsi augmenter les performances. Ce protocole permet de connecter une source et un puits situés sur différentes machines, ou encore de faire communiquer GS avec un programme écrit dans un langage différent. Il est possible, par exemple, d’héberger un graphe sur un serveur en utilisant GS et de créer un af- fichage dans le navigateur d’un client grâce à une implantation Javascript de NetStream. GS permet aussi de connecter une source et un puits qui sont exécutés dans des threads différents. On utilise pour cela un système de boite aux lettres qui sert d’intermédiaire entre les threads. Nous utilisons, par exemple, un canal inter-threads afin de permettre de séparer l’affichage du graphe du traitement qui s’effectue sur ce graphe. Ainsi la vue peut être exécutée de manière transparente dans son propre thread afin de décharger l’utilisateur de la gestion des mécanismes liés à la visualisation. Interactions avec NetLogo Tandis que le protocole NetStream permet d’utiliser GS avec des plateformes qui sont écrites dans un autre langage de programmation que le Java, il est tout à fait possible d’intégrer la bibliothèque directement dans des plateformes qui, comme NetLogo par exemple, sont écrites en Java. Nous avons mis au point une extension NetLogo qui permet de modéliser le réseau d’interactions, formés par les tortues, en un graphe. Cela nous permet d’exploiter l’ensemble de l’algorithmique disponible dans GS afin de l’appliquer dans NetLogo. Cela nous permet aussi de produire des graphes dynamiques à l’aide de simulations définies grâce au logiciel NetLogo qui est un outil développé dans ce but, et qui possède un large éventail d’exemples. 1429.4. Comment l’utiliser . Source Puits NetStream Réseau ou boucle locale Socket NetStream Traitement Processus 1 GraphStream Processus 2 Autre programme F 9.6 : Le protocole NetStream. Un programme GS est lancé dans lequel une source produit un graphe qui est envoyé à un puits NetStream. Un autre programme est lancé, éventuellement sur une machine différente. Ce programme inclut un socket qui se connecte au puits NetStream et qui va être capable d’interpréter le protocole et de traiter le graphe dynamique reçu. L’extensionGSpour NetLogo s’accompagne de la possibilité d’afficher le graphe créé par GS directement dans l’interface de NetLogo, comme présenté dans la fi- gure 9.7. 9.4 Comment l’utiliser GS est une bibliothèque gratuite et libre, free as in freedom. La bibliothèque est divisée en plusieurs modules, afin de s’adapter aux besoins des utilisateurs. Le cœur de GSconstitue le module principal gs-core qui se veut minimal tout en permettant de manipuler un graphe dynamique, de lire la plupart des formats de fichier, et de fournir un affichage minimal. Les algorithmes sont contenus dans un module gs-algo, en dehors de certains algorithmes qui disposent de leur propre module, comme c’est le cas de AntCo2 . Un affichage offrant plus de fonctionnalités est également disponible dans un module gs-ui. D’autres modules spécifiques sont aussi disponibles, par exemple un projet permettant de modéliser les réseaux routiers comme c’est le cas dans la figure 9.8, qui présente une figure extraite de [N et al. 2009] présentant une marche aléatoire dans un graphe modélisant le réseau routier du Havre. 143. O   F 9.7 : Intégration de GS dans NetLogo 144Références . . . . . . F 9.8 : Le réseau routier du Havre et de ses environs modélisé en tant que graphe par GS. On applique sur ce graphe une marche aléatoire « temporisée » c’est à dire que les entités qui l’utilisent vont à la vitesse maximale autorisée sur les arcs. Les entités possèdent, de plus, une mémoire des arcs traversés (la taille de la mémoire est fixée à 40 pour cet exemple) qui agit comme une liste d’arcs tabous qui ne peuvent être utilisés qu’en dernier recours. Les différents modules peuvent être téléchargés depuis le site web de GS, http://graphstream-project.org, qui procure aussi une documentation complète, ainsi que la documentation de l’API et de nombreux tutoriels. Ils sont aussi disponibles dans le ré- pertoire central de Maven, pour les projets utilisant cette méthode de production. Enfin, les sources et les versions en cours de développement sont hébergées et disponibles sur Github, https://github.com/graphstream. Références A, Rodrigo et Ignacio M (2011). “Deciphering network community structure by surprise”. In : PloS one 6 (9), e24195.  : 1932-6203. B, Albert-László et Réka A (1999). “Emergence of Scaling in Random Networks”. In : Science 286 (5439), p. 509–512. : 10.1126/science.286.5439.509.  : http://www.sciencemag.org/content/286/5439/509.abstract. B, Vladimir et Andrej M (2004). Pajek—analysis and visualization of large networks. Springer.  : 3642622143. 145. O   B, Richard (1956). On a routing problem. DTIC Document. B-M, Skye et Daniel A MF (2006). “The art and science of dynamic network visualization”. In : Journal of Social Structure 7 (2), p. 1–38. D, Camil et al. (2010). “Dynamic graph algorithms”. In : Algorithms and theory of computation handbook. Chapman & Hall/CRC, p. 9–9.  : 1584888229. D, E. W. (1959). “A note on two problems in connexion with graphs”. In : Numerische Mathematik 1, p. 269–271. D, S. N. et J. F. F. M (2002). “Evolution of networks”. In : Adv. Phys, p. 1079–1187. F, Robert W. (1962). “Algorithm 97 : Shortest Path”. In : Communications of the ACM 5 (6), p. 345. F, Lester Randolph (1956). Network Flow Theory. G (2009). GEXF File Format.  : http://gexf.net/format/ (visité le 04/11/2013). G (2013). GraphStream - The DGS File Format.  : http://graphstreamproject.org/doc/Advanced- Concepts/The- DGS- File- Format_1.1/ (visité le 04/11/2013). G (2013). The DOT Language | Graphviz - Graph Visualization Software.  : http: //www.graphviz.org/content/dot-language (visité le 04/11/2013). H, Peter E, Nils J N et Bertram R (1968). “A formal basis for the heuristic determination of minimum cost paths”. In : Systems Science and Cybernetics, IEEE Transactions on 4 (2), p. 100–107.  : 0536-1567. H, Ivan, Guy M et M. Scott M (2000). “Graph visualization and navigation in information visualization : A survey”. In : Visualization and Computer Graphics, IEEE Transactions on 6 (1), p. 24–43.  : 1077-2626. K, Joseph B (1956). “On the shortest spanning subtree of a graph and the traveling salesman problem”. In : Proceedings of the American Mathematical society 7 (1), p. 48– 50.  : 0002-9939. N, Michel et al. (2009). “Exploitation of a displacement survey to detect road network use vulnerability”. In : ICCSA 2009 Conference Proceedings Special Sessions, p. 151– 155. P, Universität (2011). Graph Modelling Language. Projects.  : http://www.fim. uni-passau.de/en/fim/faculty/chairs/theoretische-informatik/projects. html (visité le 11/03/2013). P, Robert Clay (1957). “Shortest connection networks and some generalizations”. In : Bell system technical journal 36 (6), p. 1389–1401. T (2013). Tulip software graph format (TLP) | Tulip.  : http://tulip.labri.fr/ TulipDrupal/?q=tlp-file-format (visité le 04/11/2013). V, John et al. (1995). “Design patterns : Elements of reusable object-oriented software”. In : Reading : Addison-Wesley 49, p. 120. W, Stephen (1962). “A theorem on boolean matrices”. In : Journal of the ACM (JACM) 9 (1), p. 11–12.  : 0004-5411. 146Références W, Duncan J et Steven HS (1998). “Collective dynamics of ‘small-world’networks”. In : nature 393 (6684), p. 440–442.  : 0028-0836. 147Quatrième partie Distribution 149C 10 R   10.1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 10.1.1 Pourquoi une répartition dynamique ? . . . . . . . . . . . . 152 10.1.2 Organisations et répartition . . . . . . . . . . . . . . . . . 153 10.1.3 Répartition dynamique . . . . . . . . . . . . . . . . . . . . 153 10.1.4 Qui répartit le répartiteur ? . . . . . . . . . . . . . . . . . . 153 10.2 AntCo2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 10.2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . 155 10.2.2 Extraction des organisations . . . . . . . . . . . . . . . . . 159 10.2.3 Lissage . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 10.3 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 10.3.1 Description des simulations . . . . . . . . . . . . . . . . . 163 10.3.2 Méthodes existantes . . . . . . . . . . . . . . . . . . . . . 163 10.3.3 Intégration du nombre de migrations . . . . . . . . . . . . . 169 10.3.4 Synthèse générale sur les résultats . . . . . . . . . . . . . . 177 Dans ce qui précède, nous avons vu comment modéliser un système distribué dont le but est la simulation de systèmes complexes. Nous allons maintenant nous intéresser à la distribution de ce système qui repose sur deux points principaux. Nous présentons dans un premier temps notre contribution à la répartition de charges, telle que nous l’avons définie dans le chapitre 4, et qui permet de repartir les différentes entités sur les ressources de calcul disponible de façon à équilibrer la charge de ces ressources. Ensuite dans le chapitre suivant, nous nous focalisons sur notre apport à la couche logicielle, nommée intergiciel, permettant au système de s’abstraire de la partie distribution. 151. R   10.1 Vue d’ensemble La répartition de charges est une technique intervenant dans différents domaines et permettant de manière générale de répartir des tâches sur un ensemble de ressources capables de les effectuer, et cela de manière à exploiter au mieux les ressources. La répartition de charges peut par exemple être utilisée devant un site web pour diriger les requêtes HTTP vers différents serveurs afin d’exploiter la puissance de plusieurs serveurs et ainsi assurer une meilleure qualité de service pour les utilisateurs. Bien que dans notre cas, la répartition de charges consiste à répartir des entités plutôt que des requêtes http, le rôle d’un algorithme de répartition de charges reste d’équilibrer la charge de calcul d’un ensemble de machines disponibles. Du fait que ces entités interagissent, elles produisent des communications entre les machines qui peuvent surcharger le réseau. C’est pourquoi nous cherchons dans nos travaux, en complément d’une répartition équilibrée de la charge calcul, à optimiser la charge réseau. Pour cela, nous réduisons les communications distantes, que nous appelons aussi communications effectives et qui correspondent aux interactions entre des entités situées sur des machines différentes, en privilégiant au contraire les communications locales, lorsque les entités impliquées dans l’interaction se trouvent sur la même machine. 10.1.1 Pourquoi une répartition dynamique ? Nous avons vu dans le chapitre 4 un état de l’art sur la répartition de charges statique et dynamique. Dans le cadre de nos travaux, une répartition statique implique de calculer une solution de répartition pour le graphe d’interaction à un temps t. Nous pouvons ensuite conserver cette solution tout au long de la distribution ou en calculer une nouvelle à partir de zéro lorsque des conditions qui restent à définir sont remplies (délai, événement déclencheur, etc…). Si la première solution statique est adaptée à un système dont l’ensemble des entités est lui aussi statique et où l’on ne cherche pas à minimiser la charge réseau, il devient impossible de l’envisager dans notre contexte. Tout d’abord parce que les nouvelles entités qui vont apparaître au cours de la distribution, n’étant pas présentes au calcul de la solution de répartition, n’auront pas de ressource de calcul attribuée. Ces entités ainsi que celles qui vont disparaître vont participer à déséquilibrer la charge de calcul au fur et à mesure. Au niveau de la charge réseau, si dans le meilleur des cas le répartiteur prend en compte les interactions au moment du calcul, il va considérer le système au tout début de son évolution, là où les interactions ne l’ont pas encore structuré. Recalculer une nouvelle solution depuis le début implique un coût de calcul supplémentaire et il est donc nécessaire de jouer entre la fréquence du calcul et la validité de la solution de répartition : plus le calcul sera fréquent, meilleure sera la solution, mais plus importante sera la charge de calcul dédiée uniquement à la répartition. Une répartition statique, outre le fait qu’elle ne permet pas de prendre en compte la dynamique des entités autrement que par un nouveau calcul, ne permet pas non plus de 15210.1. Vue d’ensemble prendre en compte la dynamique des machines. 10.1.2 Organisations et répartition Dans notre contexte, les entités du système interagissent permettant l’émergence d’autoorganisation. La quantité d’interactions entre les membres d’une même organisation étant plus importante que celle entre les membres d’organisations différentes, il devient possible, pour peu que l’on soit capable de détecter ces organisations, de répartir les dites organisations sur l’ensemble des machines de façon à ce que les membres d’une même organisation soient placés sur une même machine. On obtient ainsi une répartition de la majeure partie des communications sur les machines, tandis que la part des communications entre machines, c’est à dire des communications entre les organisations, est faible. 10.1.3 Répartition dynamique La nature du système que nous distribuons implique que l’algorithme de répartition de charges soit en mesure de prendre en compte la dynamique et soit capable de s’adapter aux perturbations induites par l’ouverture du système. La prise en compte de la dynamique va au delà d’un nouveau calcul d’une solution de répartition lorsqu’une modification significative est détectée. Du fait que l’on cherche à optimiser la charge de calcul, il ne faut pas que la charge dédiée au répartiteur de charges soit supérieure au gain apporté, et doit donc être minimisée. Une caractéristique importante de l’algorithme de répartition est donc d’avoir la capacité de mettre à jour une solution existante afin de ne pas avoir à recalculer une solution à partir du début. 10.1.4 Qui répartit le répartiteur ? La localisation du répartiteur de charges dans le système distribué est un problème qui s’impose aussi à nous. Dans [D, O et S 2010b], nous présentions trois scénarios envisageables concernant les différentes localisations possibles, résumés dans la figure 10.1. La première solution consiste à centraliser la réification du graphe dynamique modélisant la totalité de l’application sur une machine dédiée et d’exécuter le répartiteur de charges sur ce graphe. Les notifications de migrations des entités sont ensuite envoyées aux machines correspondantes. Cette solution possède plusieurs désavantages. Tout d’abord, elle ne tolère pas les pannes : si une panne se produit sur la machine dédiée au calcul de la répartition, cela désactive entièrement le calcul sur la totalité de l’application distribuée. De plus, la mise à jour du graphe et l’envoi des notifications de migration tendent à augmenter la charge du ré- seau. Enfin, cette solution, dans notre contexte, abouti à un non-sens : nous considérons en effet une forte dynamique, autant au niveau de l’application que des machines permettant la distribution ; or cette solution implique de rendre une partie des machines, la partie centrale dédiée à la répartition, statique. 153. R   . (a) (b) (c) . machines répartiteur de charges F 10.1 : Différents scénarios d’utilisation du répartiteur de charges : (a) une machine dédiée, (b) un ensemble de machines dédiées, (c) chaque machine participe à la répartition La seconde solution est similaire à la précédente : la réification du graphe est toujours centralisée mais cette fois-ci sur un ensemble de machines, chaque machine hébergeant une partie du graphe. Cette solution permet de tolérer des pannes qui surviendraient sur des machines dédiées au calcul de la répartition mais implique à nouveau une augmentation de la charge du réseau. La dernière solution consiste à inclure une instance du répartiteur de charges sur chacune des machines. Chacune de ces instances travaille sur la partie locale du graphe modé- lisant l’exécution de l’application distribuée, c’est à dire le sous-graphe composé des entités s’exécutant sur la machine courante. Les instances partageant des interactions entre entités s’échangent des informations afin de maintenir un graphe global décentralisé qui soit cohé- rent. Cette solution apporte plusieurs avantages : 1. la solution devient intégralement tolérante aux pannes des machines : de par la vision locale que chaque instance a du graphe, une panne survenant sur une machine n’a pas de répercutions sur le reste des machines ; 2. contrairement aux deux premières solutions, seules les informations concernant les intersections entre les différents sous-graphes sont échangées au travers du réseau. De plus, les échanges d’informations se font de façon pair à pair ce qui permet de mieux répartir ces échanges sur le réseau. Dans ce dernier scénario, la charge de calcul de chaque instance du répartiteur est dé- pendante de la quantité d’entités hébergées sur la machine. Si les entités sont réparties de manière équilibrée sur l’ensemble des machines, alors la charge de calcul dédiée au répartiteur est elle aussi répartie de manière équilibrée ! On peut alors dire d’un tel répartiteur de charge qu’il est auto-réparti. Ces différents scénarios ne sont malheureusement pas possibles pour n’importe quel algorithme de répartition de charges du fait que l’algorithme doit lui même être distribuable pour les deux derniers scénarios. Le premier scénario est difficilement envisageable dans notre contexte du fait que nous avons comme contrainte un nombre d’entités considéré comme trop important pour qu’une 15410.2. AntCo2 structure de données dont la taille serait proportionnelle à ce nombre d’entités puisse être utilisée. Or il est peu probable qu’une telle structure ne soit pas nécessaire lorsque le répartiteur ne fonctionne que sur une machine. 10.2 AntCo2 Afin de répondre aux problèmes liés à la dynamique, Antoine D propose dans sa thèse [D 2005] un algorithme nommé AntCo2 permettant la détection d’organisations dans un graphe dynamique. Cet algorithme repose sur des colonies de fourmis dont les mé- canismes de rétroaction positive et de rétroaction négative vont permettre à l’algorithme de s’adapter à la dynamique. Nous allons voir dans un premier temps le fonctionnement de cet algorithme, puis nous verrons un problème lié à l’oscillation éventuelle de la solution qui aboutit à un surplus de migrations des entités. Pour terminer, nous développerons une contribution permettant de lisser le résultat fourni par AntCo2 afin de limiter l’oscillation. 10.2.1 Présentation L’idée principale sur laquelle repose AntCo2 consiste à utiliser la structure du réseau d’interaction sous-jacent à la simulation, les organisations, pour mieux distribuer les entités qui la composent sur les ressources de calcul à disposition. Le rôle d’AntCo2 consiste à détecter ces organisations au sein du réseau d’interaction, représenté par un graphe dynamique. L’algorithme cherche alors à placer, si possible, les entités d’une même organisation sur la même ressource de calcul. L’objectif est de minimiser les coûts de communication entre entités fortement liées par leur liens préférentiels d’interaction, en distribuant la charge de calcul par organisation sur les ressources disponibles. Cependant, la détection d’organisation dans un graphe dynamique pose, comme nous l’avons vu, le problème du maintien de ces organisations à travers les changements du graphe. Si une approche naïve consiste à recalculer les organisations à chaque changement signifi- catif dans le graphe, cette approche, outre la charge considérable de calcul générée évoquée plus haut (cf. 10.1.3), pose la question importante de la mise en concordance des organisations détectées entre deux étapes. AntCo2 est un algorithme dynamique capable de recycler les calculs des étapes précédentes pour s’adapter à ces changements. Il est similaire en cela aux algorithmes de ré-optimisation. AntCo2 utilise des colonies de fourmis numériques pour détecter et suivre les organisations dans le graphe dynamique représentant le réseau d’interaction de la simulation. Les fourmis vont classifier les nœuds du graphe en les associant à une colonie de fourmis ou une autre. Chaque colonie représente une ressource de calcul et, pour les distinguer, est associée à une couleur. Les fourmis vont coloniser des parties du graphes pour se les approprier et ainsi indiquer sur quelle ressource de calcul les entités doivent s’exécuter. Chaque sousgraphe connexe dont les nœuds sont d’une même couleur forme alors une organisation au 155. R   sens de la répartition sur les ressources de calcul. Cependant chaque couleur peut éventuellement représenter plusieurs organisations. En effet le nombre d’organisations ne correspond pas au nombre de ressources de calcul. De plus, le nombre de fourmis de chaque colonie dépend de la puissance relative des ressources de calcul et peut donc capturer un nombre d’organisations petites ou grandes différent. Un algorithme fourmi est constitué d’un ensemble de fourmis qui vont parcourir un environnement, en l’occurrence le graphe dynamique, en déposant de l’information sur leur chemin, des phéromones numériques par analogie aux molécules chimiques déposées par les fourmis naturelles. Ces phéromones vont agir comme une boucle de rétroaction positive qui va permettre de renforcer un chemin ou une zone en particulier. L’homéostasie du système est possible grâce à un phénomène d’évaporation des phéromones qui permet d’une part d’éviter une sur-concentration de phéromones et d’autre part d’adapter la solution aux modifications de l’environnement. L’algorithme repose sur un mécanisme de collaboration ainsi qu’un mécanisme de compétition. La collaboration existe entre les fourmis d’une même colonie et permet aux fourmis de détecter une structure en étant attirées par les phéromones de la colonie dont elles font partie. Ceci est complété par la compétition qui se produit entre les colonies et qui se manifeste par une répulsion des fourmis envers les phéromones des autres colonies. Ce second mécanisme va permettre de maintenir une certaine pression sur la membrane des organisations détectées et de maintenir un nombre équilibré d’organisations par colonie. Nous allons maintenant décrire le fonctionnement de l’algorithme. Chaque fourmi traverse le graphe dynamique, passant de nœud en nœud en suivant les arêtes. À chaque passage sur une arête, les fourmis déposent une quantité de phéromones colorées spécifique à leur colonie, un indicateur que les autres fourmis pourront lire. Quand un nœud est entouré d’arêtes d’une couleur dominante, on dit que le nœud est conquis par la colonie de cette couleur. L’algorithme en déduit donc que l’entité représentée par ce nœud doit s’exé- cuter sur la ressource de calcul correspondante. Cette communication indirecte par le biais de phéromones est dite stigmergique (cf. 6.2.1). Lesfourmis choisissent la prochaine arête à traverser en utilisant un choix aléatoire biaisé. Elles ont tendance à favoriser les arêtes qui représentent un fort niveau d’interaction ainsi que celles ayant déjà une quantité importante de phéromones de leur couleur. Le premier critère permet de favoriser la colonisation de zones de forte interaction, les organisations. Le second permet aux fourmis, par rétroaction positive, de se regrouper sur une même zone au sein de ces organisations. Les phéromones s’évaporent à chaque étape de l’algorithme, en conséquence elles doivent être maintenues par le passage constant des fourmis. C’est ce mécanisme qui permet à la fois la colonisation des organisations par une colonie à l’exclusion des autres, et la gestion de la dynamique du graphe. En effet, Les nouvelles organisations seront colonisées en raison de leur forte interaction. Les organisations détectées seront entretenues par la forte interaction et une quantité importante de phéromones d’une couleur sur leurs arêtes. Les organisation qui disparaissent seront progressivement abandonnées par les fourmis en raison de plus faibles interactions et du mécanisme de rétroaction négative dû à l’évaporation des phé- 15610.2. AntCo2 romones non renouvelées. Ainsi les solutions de distribution déterminées par AntCo2 sont continuellement entretenues et évoluent en accord avec l’évolution du réseau d’interaction sous-jacent lui-même. La communication indirecte entre lesfourmis est aussi un atout pour la distribution même de l’algorithme. En effet les fourmis étant des processus indépendants utilisant les informations déposées dans leur environnement, elles sont implicitement distribuables. Ceci permet d’utiliser AntCo2 avec les scénarios b et c de distribution évoqués dans la figure 10.1, en particulier le scénario c qui implique une forme d’auto-répartition de l’algorithme d’AntCo2 lui-même (cf. 10.1.4). Le modèle de l’algorithme est le suivant. Nous considérons un grapheG(t) = (V(t),E(t),C(t)) représentant l’ensemble des entités à distribuer et leurs interactions. Le temps t permet de gérer la dynamique de l’ensemble de nœuds V(t), arêtes E(t) et couleurs C(t). Chaque couleur est une colonie et représente une ressource de calcul. Les arêtes sont pondérées par un poids w (t) indiquant l’importance de leur interaction au niveau de la simulation. À cette description, nous ajoutons une information de quantité de phéromones déposée par les fourmis sur les arêtes. Ainsi ces dernières contiennent un ensemble de messages déposés par les fourmis de chaque couleur : card(C(t)) messages au temps t. Ces messages représentent la quantité de phéromones de chaque couleur présente sur les arêtes au temps t. On note F(t) l’ensemble des fourmis au temps t, et Fc (t) l’ensemble des fourmis de couleur c au temps t. Une fourmi k de couleur c traversant une arête e entre les itérations t et t +1 dépose une quantité de phéromones de couleur c : ∆ (t) k (e,c) (10.1) La somme totale de phéromones de couleur c déposée sur l’arête e par toutes les fourmis de cette couleur entre t et t +1 est : ∆ (t) (e,c) = ∑ k∈Fc (t) ∆ (t) k (e,c) (10.2) Ainsi, la quantité totale de phéromones sur une arête, quelle que soit la couleur est : ∆ (t) (e) = ∑ c∈C(t) ∆ (t) (e,c) (10.3) Quand ∆ (t) (e) ̸= 0, la proportion de phéromones de la couleur c sur e par rapport aux autres couleurs entre les temps t et t +1 est : K (t) c (e) = ∆ (t) (e,c) ∆(t) (e) (10.4) avec K (t) c (e) ∈ [0,1]. 157. R   La quantité totale de phéromones de couleur c présente sur l’arête e entre les temps t et t +1 est : τ (t) (e,c) (10.5) et la quantité totale, en considérant toutes les couleurs est : τ (t) (e) (10.6) Au début, cette valeur est fixée à : τ (0)(e) = ϵ (10.7) Nous verrons par la suite que cette quantité ne peut être négative. Comme nous l’avons dit plus haut, les phéromones s’évaporent à chaque étape de l’algorithme. Ainsi, la quantité totale de phéromones de couleur c sur l’arête e au temps t est définie par la récurrence : τ (t) (e,c) = ρ ·τ (t−1)(e,c)+∆ (t−1)(e,c) (10.8) Où ρ ∈]0,1] est le facteur de persistance des phéromones (l’évaporation est 1−ρ). La couleur ξ (t) (u) d’un nœud u du graphe est ensuite définie par la couleur prédominante sur toutes ses arêtes adjacentes : ξ (t) (u) = arg max c∈C(t) ∑ e∈Eu(t) τ (t) (e,c) (10.9) avec Eu(t) l’ensemble des arêtes adjacentes au nœud u au temps t. Les fourmis utilisent le graphe G(t) comme environnement et le traversent en allant de nœud en nœud. Ainsi, à chaque pas de temps, chaque fourmi est associée à un nœud (qui peut donc accueillir plusieurs fourmis). À chaque étape, les fourmis traversent une arête. La quantité de phéromones perçue par une fourmi de couleur c est τ (t) (e,c), mais pondérée par la présence d’autres couleurs de phéromones sur l’arête. Grâce à ce mécanisme, les fourmis sont attirées par leur couleur et repoussées par les autres couleurs. On utilise un facteur K (t) c (e) pour définir les phéromones perçues sur une arête e par une fourmi de couleur c : Ω (t) (e,c) = K (t) c (e)τ (t) (e,c) (10.10) Ainsi à chaque étape de temps, une fourmi k de couleur c sur un nœud u choisit de traverser une arête ou une autre en fonction des phéromones de sa couleur et des autres couleurs sur cette arête. Nous notons p (t) (e,c) la probabilité que cette fourmi traverse l’arête e = (u, v) entre t et t +1 :    p (t) (e,c) = w (0) ∑ (e) ei ∈Eu(t) w (0)(ei) if t = 0 p (t) (e,c) = ( Ω (t) (e,c) )α · ( w (t) (e) )β ∑ ei ∈Eu(t) ( Ω (t) (ei ,c) )α · ( w (t) (ei) )β if t ̸= 0 (10.11) 15810.2. AntCo2 où les paramètres α et β (tous deux > 0), comme dans l’article original de D [D, M et C 1996], permettent de modifier l’importance relative des phéromones par rapport au poids des arêtes, et où Eu(t) est l’ensemble des arêtes adjacentes au nœud u. Afin d’éviter les mouvements oscillatoires dans lesquels les fourmis vont et viennent entre les deux mêmes nœuds u et v, nous introduisons dans chaque fourmi une mémoire des derniers nœuds visités. Cela est très comparable à une liste tabou d’une taille donnée. Nous introduisons dans 10.11 un coefficient η ∈]0,1] qui diminue l’importance des arêtes déjà traversées. Ainsi chaque fourmi se souvient des M arêtes dernièrement traversées. La valeur η pour une fourmi k sur le nœud u, considérant l’arête e = (u, v) est : ηk (v) = { 1 si v ∉ Wk η si v ∈ Wk (10.12) Pour une fourmi de couleur c sur le nœud u, la nouvelle probabilité de choisir l’arête e = (u, v) entre les temps t et t +1 est : p (t) (e,c) = ( Ω(t) (e,c) )α · ( w (t) (e) )β ·ηk (u) ∑ ei ∈Eu(t) ( Ω (t) (ei ,c) )α · ( w (t) (ei) )β ·ηk (vi) (10.13) Ce modèle présente le principe global defonctionnement de l’algorithme. Il existe d’autres mécanismes qui sont utilisés dans les dernières versions de l’algorithme. Ils permettent de l’améliorer en évitant la sur- ou sous-population de fourmis dans certaines zones du graphe par exemple, en utilisant un paramètre d’agoraphobie ainsi qu’un autre de surpopulation. Il y a aussi des mécanismes permettant de gérer l’ajout ou le retrait de colonies durant l’exé- cution, fournissant ainsi la possibilité d’avoir une nombre de ressources de calcul variable durant la simulation. Ces mécanismes sont décrits plus en détail dans [D 2005] et [B-  et al. 2007]. 10.2.2 Extraction des organisations AntCo2 fournit une classification des nœuds du graphe qui permet de dire que tel nœud appartient à telle colonie. Le résultat ne fournit pas directement la structure des organisations, mais permet de l’extraire : si deux nœuds adjacents appartiennent à une même colonie alors ils sont dans la même organisation. On peut, à partir de cette assertion, extraire les organisations à un temps donné. L’analyse que nous souhaitons faire des organisations implique cependant d’aller au delà de l’étude de leur structure à un temps donné, afin d’étudier l’évolution de cette structure. Il est donc nécessaire d’être en mesure de maintenir la structure extraite d’une organisation dans le temps. 159. R   F 10.2 : Application de AntCo2 à un graphe de 400 nœuds générés par attachement préférentiel. Six colonies de fourmis ont été utilisées ici, on compte cependant une dizaine d’organisations qu’il faut extraire. 10.2.3 Lissage La membrane des organisations est une zone d’instabilité du fait que les nœuds de cette partie de l’organisation interagissent avec les nœuds d’autres organisations. En fonction de l’intensité de ces interactions, l’algorithme de détection d’organisations peut avoir quelques difficultés à déterminer à quelle organisation appartiennent ces nœuds. C’est par exemple le cas d’un nœud dans le graphe du Zachary Karate Club [Z 1977] dans lequel on observe deux factions, celle de Mr. H et celle de J telles que représentées sur la figure 10.3, mais où un nœud entretient des relations ambiguës avec les deux factions ce qui rend difficile de le classer dans l’une ou l’autre. Lorsque de tels nœuds existent dans un graphe dynamique, il y a une forte probabilité qu’ils oscillent d’une colonie à une autre. Dans le cadre de la répartition de charges, une colonie étant associée à une ressource de calcul, un changement de colonie va se traduire par la migration de l’entité correspondante au nœud vers sa nouvelle machine. Cette migration a un coût d’une part en terme de charge réseau du fait que les données liées à l’entité doivent être transférées, et d’autre part un coût temporel du fait que l’entité devient temporairement indisponible pendant sa migration. 16010.2. AntCo2 . F 10.3 : Graphe du Zachary Karate Club. Les nœuds carrés représentent la faction de Mr. Hi, les ronds celle de John. Le nœud rond sans couleur pose problème pour déterminer la faction à laquelle il appartient. Le problème vient du fait que nous devons être capables de distinguer une migration qui est le fruit d’un réel changement d’organisation d’un nœud et qui est donc nécessaire, du bruit qui se produit aux périphéries des organisations provoquant des migrations à répétition. Ce qui suit décrit différentes techniques de lissage dont le but est de réduire ce bruit provoquant des migrations intempestives. Ces techniques prennent la forme d’un filtre qui se place entre l’algorithme AntCo2 et la plate-forme dont le rôle est de procéder à une distribution effective. Différents modes de lissage Le but n’est pas ici de référencer toutes les techniques possibles et imaginables mais de présenter celles qui nous paraissent être les principales. Ces techniques peuvent être décrites sous la forme d’une fonction booléenne dont un résultat de 0 indique que la migration ne doit 161. R   pas être effective, et inversement lorsque le résultat est 1 : l(n,o,m) → b : (V,N,N) → {0,1} (10.14) où : — n est le nœud pour lequel un changement de colonie est possible ; — o correspond à la couleur de la colonie à laquelle appartient actuellement le nœud ; — m est la couleur de la nouvelle colonie proposée par AntCo2 pour le nœud. Un lissage de base passif est le lissage identité qui se contente de transmettre les résultats de AntCo2 sans les modifier : l(n,o,m) = 1 (10.15) Une première technique consiste à utiliser le temps. On introduit alors un délai qu’il faut respecter avant de procéder à une nouvelle migration de l’entité : l(n,o,m) = { 0 si t ime()−l ast(n) < del ai 1 sinon (10.16) où : — t ime() donne la date actuelle sous la forme d’une valeur entière ; — l ast(n) est une fonction donnant la dernière date de migration du nœud n ; — del ai est une constante correspondant au délai minimum nécessaire entre deux migrations d’un nœud. Cette technique possède l’avantage de sa simplicité de mise en œuvre et permet de ré- duire la fréquence des migrations d’une entité oscillante. Cependant, l’oscillation des migrations perdure bien qu’à une échelle de temps différente. De plus, si la fréquence de l’oscillation est proportionnelle au délai, cette technique devient quasiment inefficace. Il est possible de pallier ce dernier problème en instaurant un délai aléatoire par entité à chaque nouvelle migration. Cette méthode comme la précédente reste une technique basique qui permet simplement de réduire la fréquence de l’oscillation des migrations sans toutefois la supprimer. Lissage biomimétique Une autre approche consiste à s’inspirer à nouveau de la nature, en l’occurrence du comportement de groupe que l’on retrouve chez certaines espèces d’oiseaux, de poissons ou encore d’insectes. C. R dans [R 1987] proposa un modèle permettant de reproduire le comportement de ces essaims sur la base de trois règles s’appliquant à chaque entité, nommée boid, de la simulation : 1. la cohésion, qui permet aux boids de se regrouper ; 2. la séparation, un mécanisme permettant de maintenir une certaine distance entre deux boids afin qu’ils n’occupent pas le même espace ; 16210.3. Résultats 3. l’alignement, qui permet à l’ensemble des boids du groupe d’avoir une direction similaire. On peut facilement étendre ce modèle afin de faire cohabiter plusieurs espèces de boids qui se repousseraient mutuellement ou au contraire qui seraient régis par une relation de proie/prédateur. L’intérêt de ce modèle dans le cadre du lissage des résultats de AntCo2 vient du fait que lorsqu’une entité (respectant les règles des boids) fait partie d’un groupe, il est nécessaire d’appliquer une certaine force afin de séparer l’entité de son groupe ce qui donne une certaine forme d’élasticité à la structure qui lui permet de rester soudée tout en s’adaptant aux perturbations de l’environnement. Or c’est cette élasticité que l’on recherche dans le lissage : une force qui maintienne l’entité dans son organisation suffisamment pour résister aux migrations intempestives mais qui permette tout de même à l’entité de quitter l’organisation lorsque c’est nécessaire. 10.3 Résultats 10.3.1 Description des simulations La première simulation, nommée S1, est composée d’un graphe statique de 10201 nœuds dont la topologie est une grille. Quatre colonies de fourmis sont utilisées pour répartir la charge. La table 10.1 récapitule les paramètres utilisés pour initialiser l’algorithme AntCo2 , qui est appliqué pendant 10000 étapes. Nous nous basons sur le modèle des boids pour la seconde simulation, nommée S2, afin de générer un graphe aléatoire. Les nœuds du graphe restent les mêmes tout au long de la simulation mais les interactions évoluent. Le modèle des boids est idéal du fait qu’il amène à la création d’organisation : des groupes de boids fortement liés se créent au fur et a mesure. Pour éviter la création d’un seul groupe, nous utilisons deux espèces de boids : la première est attirée par la seconde, tandis que la seconde est repoussée par la première. Nous utiliserons de même quatre colonies de fourmis dans AntCo2 qui sera initialisé avec les mêmes paramètres que la simulation précédente. 10.3.2 Méthodes existantes Les résultats de AntCo2 sont initialement mesurés au travers de deux mesures r1 et r2. La première permet de mesurer la proportion de communications effectives, établies entre des entités hébergées sur différentes machines, par rapport aux communications locales établies entre des entités hébergées sur une même machine. Cette mesure, dont le résultat est compris dans l’intervalle [0; 1], permet d’évaluer la charge réseau : plus r1 est proche de zéro, plus la charge réseau est faible. On considère un graphe G(t) = (V(t),E(t)) au temps t. Pour chaque arête e ∈ E(t), w (t) (e) indique le poids de e. A(t) englobe les arêtes correspondant 163. R   graine aléatoire : 29136152552356L α : 1.0 β : 3.0 fourmi par sommet : 4 ρ : 0.8 dépôt phéromone : 0.1 mémoire : 9 agoraphobie : 0.3 surpopulation : 10 T 10.1 : Paramètres. aux communications effectives, c’est à dire les arêtes dont les nœuds sont contrôlés par des colonies différentes de fourmis. r1 peut alors s’écrire : r1 = ∑ a∈A(t) w (t) (a) ∑ e∈E(t) w (t) (e) (10.17) Cette mesure seule ne suffit pas : si toutes les entités sont placées sur une seule et même machine alors l’on obtient une valeur de r1 optimale, or la charge de calcul n’est pas équilibrée ! r1 est donc associée à la mesure r2 qui permet de mesurer la qualité de la répartition de la charge de calcul par un ratio entre la taille (en nombre de nœuds acquis) de la plus petite colonie et la taille de la plus grande. Ainsi, plus r2 se rapproche de 1, plus la diffé- rence entre les quantités d’entités des ressources de calcul diminue et donc meilleure est la répartition de la charge. En considérant les sous-ensembles de nœuds Vi correspondant aux nœuds contrôlés par chaque colonie de fourmis i, on peut écrire r2 sous la forme suivante : r2 = min(card(V1),...,card(Vk )) max(card(V1),...,card(Vk )) (10.18) Si l’on considère r i 1 , r t 1 etr c 1 comme correspondant respectivement aux valeurs de r1 pour la méthode sans lissage, avec lissage temporisé, et avec le lissage par cohésion, on peut alors considérer les différences ∆ t i r1 = r t 1 − r i 1 et ∆ ci r1 = r c 1 − r i 1 . De manière similaire pour r2, on peut considérer les différences ∆ t i r2 = r t 2 − r i 2 et ∆ ci r2 = r c 2 − r i 2 . Ces différences nous permettent de mieux évaluer la divergence des méthodes de lissage par rapport au résultat initial. 16410.3. Résultats Simulation S1 On peut observer sur les figures 10.4 et 10.5 l’évolution des paramètres r1 et r2 pour la simulation S1 pour les différentes méthodes de lissage. On constate une période d’instabilité sur les premières 1000 itérations, commune aux trois modes de lissage comparés, qui correspond au temps nécessaire à AntCo2 pour stabiliser la solution. Puis on observe que la mesure r1 se stabilise rapidement vers une valeur seuil proche de 0. La valeur 0 implique qu’il n’y ait pas d’interactions entre les organisations, ce qui n’aurait aucun intérêt du fait que dans cas, il n’y aurait pas de structuration à l’échelle globale du graphe. La méthode de lissage utilisée affecte peu l’évolution des mesures r1 et r2. On constate une valeur moyenne pour ∆ t i r1 de 3.87·10−3 avec un écart type de 2.81·10−2 , et pour ∆ ci r1 de 1.65·10−4 avec un écart type de 1.88·10−3 . La mesure r1 pour les lissages temporisé et par cohésion est donc très proche de la mesure d’origine, avec un écartement plus faible pour le lissage par cohésion. En ce qui concerne la mesure r2, la valeur moyenne de ∆ t i r2 est égale à 1.20 · 10−3 et celle de ∆ ci r2 vaut 1.72 · 10−4 avec un écart type respectif de 1.05 · 10−2 et de 2.07 · 10−3 . On constate que la mesure de r2 pour les résultats avec lissage par cohésion est très proche du résultat d’origine. C’est aussi le cas, bien que de manière plus fluctuante, pour le lissage temporisé. Un décalage se fait ressentir pour le lissage temporisé par rapport aux résultats d’origine et cela principalement lors d’une évolution significative de la mesure. Ce décalage n’est cependant que le résultat de la temporisation du fait que les valeurs dont dépendent les mesures r1 et r2 ne varient qu’en présence de migrations. Modifier le délai dans le cas du lissage temporisé n’a que peu d’impact sur les mesures r1 et r2 : on constate simplement que le décalage relatif à l’évolution des mesures est proportionnel au délai de la méthode de lissage (cf. les figures 10.6 et 10.7 pour la simulation S1, et les figures 10.8 et 10.9 pour S2). Simulation S2 L’ajout de la dynamique entraine des modifications significatives dans la structure du graphe qui va nous permettre d’étudier l’adaptation dont est capable de faire preuve l’algorithme. L’aspect général du tracé de r1 présenté dans la figure 10.10 montre que le lissage a peu d’incidence sur la valeur de cette mesure. Le tracé de ∆ t i r1 et ∆ ci r1 indique que le lissage temporisé améliore la qualité de r1, et que la valeur de r1 pour le lissage par cohésion est confondue avec la valeur d’origine. La valeur moyenne de ∆ t i r1 est 6.38 · 10−3 pour un écart type de 2.71 · 10−2 . Celle de ∆ ci r1 est 2.54 · 10−4 avec un écart type de 1.51 · 10−3 . L’observation de la mesure r2 (cf. la figure 10.11) ne nous permet pas une conclusion tranchée sur l’impact du lissage. L’observation de ∆ t i r2 et ∆ ci r2 montre que le lissage par cohésion entraine une différence moins importante avec le résultat d’origine que le lissage temporisé, mais que pour ces deux lissages, la différence est fluctuante. 165. R   . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0 0.2 0.4 0.6 0.8 1 nombre de cycles r1 . . sans lissage . . temporisé (100 étapes) . . cohésion 1 . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0 0.2 0.4 nombre de cycles ∆tir1 et ∆cir1 . . ∆ti. r1 . ∆ci. r1 1 F 10.4 : Tracé de la mesure r1 pour la simulation S1. La différence moyenne entre la mesure de r1 pour le lissage temporisé et celle de la méthode sans lissage est 3.87·10−3 avec un écart type de 2.81 · 10−2 . Pour le lissage par cohésion, cette différence moyenne est de 1.65 · 10−4 avec un écart type de 1.88 · 10−3 16610.3. Résultats . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0.6 0.7 0.8 0.9 1 nombre de cycles r2 . . sans lissage . . temporisé (100 étapes) . . cohésion 1 . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0 0.1 nombre de cycles ∆tir2 et ∆cir2 . . ∆ti. r2 . ∆ci. r2 1 F 10.5 : Tracé de la mesure r2 pour la simulation S1. La différence moyenne entre la mesure de r2 pour le lissage temporisé et celle de la méthode sans lissage est 1.20·10−3 avec un écart type de 1.05 · 10−2 . Pour le lissage par cohésion, cette différence moyenne est de 1.72 · 10−4 avec un écart type de 2.07 · 10−3 167. R   . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0 0.2 0.4 0.6 nombre de cycles r1 . . 50 cycles . . 100 cycles . . 500 cycles 1 . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0 0.2 0.4 0.6 nombre de cycles ∆tir1 . . 50 cycles . . 100 cycles . . 500 cycles 1 F 10.6 : Impact de la valeur du délai sur l’évolution de r1 pour la simulation S1. Synthèse pour r1 et r2 Cette première série de résultats nous permet d’observer l’impact de la méthode de lissage sur les mesures r1 et r2. Le lissage a pour but de réduire la quantité de migrations en tentant de supprimer les migrations qui sont le résultat de l’oscillation d’une entité entre plusieurs colonies. Les mesures r1 et r2 ne tenant pas compte des migrations, on ne s’attend pas ici à une amélioration du résultat de ces mesures mais l’on souhaite en revanche que le lissage ne les dégrade pas. D’après les observations que l’on peut faire sur les résultats, le lissage a un impact faible sur les mesures, ce qui nous permet de le considérer comme peu significatif. Le lissage utilisant la cohésion est plus proche des résultats d’origine que la méthode temporisée. Bien que les différences soient peu significatives, on peut toutefois noter que 16810.3. Résultats . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0.7 0.8 0.9 nombre de cycles r2 . . 50 cycles . . 100 cycles . . 500 cycles 1 . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0 0.1 0.2 nombre de cycles ∆tir2 . . 50 cycles . . 100 cycles . . 500 cycles 1 F 10.7 : Impact de la valeur du délai sur l’évolution de r2 pour la simulation S1. la mesure r1 semble être la moins affectée par le lissage. D’après ces premiers résultats, l’objectif est atteint : l’ajout du lissage n’a pas dégradé la qualité de la répartition. 10.3.3 Intégration du nombre de migrations L’objectif que nous cherchons à atteindre au travers des méthodes de lissage est la réduction de la quantité de migrations. En effet, une migration rend temporairement indisponible l’entité migrante et implique des communications effectives pour transporter l’entité d’une machine à une autre. Nous allons observer désormais l’évolution d’une part du nombre total de migrations survenant pendant la simulation, et d’autre part de celui des communications effectives. Ces 169. R   . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0.68 0.7 0.72 0.74 0.76 nombre de cycles r1 . . 50 cycles . . 100 cycles . . 500 cycles 1 . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0 0.1 nombre de cycles ∆tir1 . . 50 cycles . . 100 cycles . . 500 cycles 1 F 10.8 : Impact de la valeur du délai sur l’évolution de r1 pour la simulation S2. informations sont représentées sur la figure 10.12 pour la première simulation et sur la figure 10.13 pour la seconde. Simulation S1 On constate que la méthode temporisée a permis de réduire de près de deux tiers la quantité totale de migrations pendant la simulation S1. On note toutefois une augmentation du nombre total de communications, mais cette augmentation a eu lieu durant la période d’instabilité des 1000 premiers cycles. Cette méthode a permis en moyenne de diminuer le nombre de migrations par cycle de 3.55, pour un écart type de 70.71. La quantité de communications a, quant à elle, augmenté en moyenne de 78.09 par cycle, pour un écart type 17010.3. Résultats . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0.9 0.95 1 nombre de cycles r2 . . 50 cycles . . 100 cycles . . 500 cycles 1 . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 −0.1 0 0.1 nombre de cycles ∆tir2 . . 50 cycles . . 100 cycles . . 500 cycles 1 F 10.9 : Impact de la valeur du délai sur l’évolution de r2 pour la simulation S2. de 568.16. La réduction du nombre de migrations entrainée par la méthode par cohésion est moins importante que celle de la méthode précédente mais a permis, tout de même, de réduire d’un peu moins d’un tiers la quantité de migrations pour une augmentation des communications faible. Le tracé de la quantité totale de communications montre que l’impact sur les communications est quasiment nul. On observe une réduction moyenne de 1.48 migrations par cycle, pour un écart type de 6.80 ; ainsi qu’une augmentation moyenne de 3.33 communications par cycle, pour un écart type de 38.00. 171. R   . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0.65 0.7 0.75 nombre de cycles r1 . . sans lissage . . temporisé (100 étapes) . . cohésion 1 . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0 0.1 nombre de cycles ∆tir1 et ∆cir1 . . ∆ti. r1 . ∆ci. r1 1 F 10.10 : Tracé de la mesure r1 pour la simulation S2. La différence moyenne entre la mesure de r2 pour le lissage temporisé et celle de la méthode sans lissage est 6.38·10−3 avec un écart type de 7.08 · 10−3 . Pour le lissage par cohésion, cette différence moyenne est de 2.54 · 10−4 avec un écart type de 1.51 · 10−3 17210.3. Résultats . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 0.7 0.8 0.9 1 nombre de cycles r2 . . sans lissage . . temporisé (100 étapes) . . cohésion 1 . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 −0.1 0 0.1 nombre de cycles ∆tir2 et ∆cir2 . . ∆ti. r2 . ∆ci. r2 1 F 10.11 : Tracé de la mesure r2 pour la simulation S2. La différence moyenne entre la mesure de r2 pour le lissage temporisé et celle de la méthode sans lissage est −5.21 · 10−4 avec un écart type de 2.71·10−2 . Pour le lissage par cohésion, cette différence moyenne est de −9.47 · 10−5 avec un écart type de 1.08 · 10−2 173. R   . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 103 104 nombre de cycles Cumul des migrations . . sans lissage . . temporisé (100 étapes) . . cohésion 1 . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 105 106 107 nombre de cycles Cumul des communications . . sans lissage . . temporisé (100 étapes) . . cohésion 1 F 10.12 : Évolution du nombre total de communications effectives et de migrations pour la simulation S1 (échelle logarithmique) 17410.3. Résultats . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 104 105 106 107 108 nombre de cycles Cumul des migrations . . sans lissage . . temporisé (100 étapes) . . cohésion 1 . . 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 105 106 107 108 109 nombre de cycles Cumul des communications . . sans lissage . . temporisé (100 étapes) . . cohésion 1 F 10.13 : Évolution du nombre total de communications effectives et de migrations pour la simulation S2 (échelle logarithmique) 175. R   Simulation S2 Les résultats des mesures effectuées sur la simulation S2 montrent une très forte réduction du nombre de migrations grâce au lissage temporisé, cette méthode ayant permis de réduire le nombre total de migrations d’un facteur 65.37. La quantité de migrations par cycle a été réduite de 4778.06, pour un écart type de 933.86. L’impact sur les communications se traduit par une augmentation moyenne de 483.23 communications par cycle, pour un écart type de 586.94. Relativement aux résultats de la méthode temporisée, le lissage par cohésion n’a eu que peu d’impact sur le nombre total de migrations. On observe toutefois une réduction nonnégligeable de 279.22 migrations par cycle, pour un écart type de 97.42. La quantité de communications, quant à elle, n’a augmenté en moyenne que de 19.56 par cycle, pour un écart type de 119.63. Synthèse pour le nombre de migrations et de communications On remarque ici que la méthode de lissage implique un compromis entre la réduction du nombre de migrations et l’augmentation des communications effectives. Ceci s’explique du fait que le lissage augmente la difficulté pour une entité de quitter une organisation pour une autre qui lui serait plus appropriée. Si la nouvelle organisation est plus appropriée, on peut supposer que l’entité interagit fortement avec les membres de cette nouvelle organisation, ce qui se traduit par des communications effectives tant que l’entité n’aura pas rejoint le groupe. Pour évaluer ce compromis, on considère qu’une migration possède un coût cm et qu’une communication possède un coût cc . Comme nous connaissons le nombre total de migrations nm et celui de communications nc , nous pouvons calculer le coût total C de la simulation sous la forme : C = nc ×cc +nm ×cm Une migration impliquant au minimum une communication, on peut exprimer cm en fonction de cc tel que cm = k ×cc pour k ≥ 1. On obtient alors : C = cc ×(nc +k ×nm) En se basant sur une valeur de référence cc = 1, nous pouvons faire varier la valeur de k et observer les implications sur C. Les figures 10.14 et 10.15 illustrent ces variations pour les différents modes de lissage. On peut alors observer que dans la cas de la simulation S1 le choix de la méthode de lissage la mieux adaptée est dépendant de k. Lorsque k < 20, on constate que le lissage temporisé a un apport négatif sur le coût global de la simulation. Passé ce seuil, plus la valeur de k augmente, plus le lissage temporisé permet d’améliorer de façon significative le coût. Le lissage par cohésion améliore le coût global, même pour des faibles valeurs de k. Passé le seuil de k = 35, cette méthode est moins performante que le lissage temporisé. 17610.3. Résultats . . 0 5 10 15 20 25 30 35 40 45 50 7 · 106 8 · 106 9 · 106 k . . sans lissage . . temporisé . . cohésion 1 F 10.14 : Évolution de C en fonction de k pour la simulation S1 . . 0 5 10 15 20 25 30 35 40 45 50 1 · 109 2 · 109 3 · 109 k . . sans lissage . . temporisé . . cohésion 1 F 10.15 : Évolution de C en fonction de k pour la simulation S2 Contrairement à la simulation S1 où le choix de la méthode de lissage est dépendant de k, l’observation du coût pour S2 ne laisse aucune ambiguïté : le lissage temporisé est avantageux peu importe la valeur de k. Le lissage par cohésion apporte tout de même une amélioration du coût qui est cependant sans commune mesure avec l’amélioration apportée par la temporisation. 10.3.4 Synthèse générale sur les résultats Nous avons présenté des résultats sur des méthodes de lissage des résultats de AntCo2 . Le but de ce lissage est de réduire la quantité de migrations sans détériorer la qualité de la répartition. Nous avons donc dans un premier temps observé l’impact du lissage sur les mesures r1 et r2 qui permettent d’évaluer respectivement la charge du réseau et la charge de calcul. Puis nous avons analysé l’évolution de la quantité totale de migrations ainsi que 177. R   de celle des communications entre machines. Pour cela, nous avons considéré deux simulations : une première, S1, sur un graphe statique dont la topologie est une grille ; et une seconde, S2, sur un graphe dynamique généré grâce au modèle des boids (cf. l’annexe A). D’autres expérimentations devront être réalisées sur des topologies de graphes différentes afin d’affiner ces résultats. L’étude de r1 et r2 nous a permis d’observer que le lissage a un faible impact sur la qualité de la solution. Cet impact est fluctuant, et peut en général être positif ou négatif. On distingue tout de même le cas de la mesure r1 dans la simulation S2 pour le lissage temporisé pour laquelle l’impact est ici négatif, bien que dans une moindre mesure. L’étude du nombre de migrations et de communications permet de démarquer la mé- thode de lissage temporisé, en particulier dans le cas de la simulation S2 qui correspond au cas de figure le plus proche de la pratique. La méthode par cohésion remplit tout de même notre objectif d’améliorer la répartition en réduisant la quantité de migrations. Cependant, le lissage temporisé possède l’avantage de la simplicité de sa mise en pratique. 178C 11 I 11.1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 11.2 L’acteur, un objet actif . . . . . . . . . . . . . . . . . . . . . . . . 180 11.2.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 181 11.2.2 Le paradigme acteur . . . . . . . . . . . . . . . . . . . . . 184 11.2.3 Gestion des différents mécanismes . . . . . . . . . . . . . . 184 11.3 Une architecture décentralisée . . . . . . . . . . . . . . . . . . . . 187 11.3.1 Agence . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 11.3.2 Le tout acteur . . . . . . . . . . . . . . . . . . . . . . . . 187 11.4 Services des agences . . . . . . . . . . . . . . . . . . . . . . . . . 188 11.4.1 Découverte d’autres agences . . . . . . . . . . . . . . . . . 188 11.4.2 Lucioles et horloge globale décentralisée . . . . . . . . . . . 188 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Nous avons vu jusqu’à présent que nous pouvons modéliser l’application que l’on souhaite distribuer sous la forme d’un graphe dynamique. Puis, nous avons présenté comment, en utilisant un algorithme dynamique de détection d’organisations, nous pouvions fournir les informations nécessaires à la répartition des entités de l’application sur l’ensemble des machines à disposition de manière à équilibrer la charge de calcul et à réduire la charge du réseau. Afin de parvenir à une distribution de l’application, nous avons besoin de fournir à cette application un environnement qui va permettre de gérer la répartition effective des entités sur l’ensemble des machines. Cet environnement, que nous avons décrit dans la partie 5.1.4, prend la forme d’une couche qui va venir se placer entre l’application et l’ensemble des 179. I machines. Nous présentons ici notre plateforme de distribution qui a été développée durant cette thèse, qui permet d’aborder la distribution de manière dynamique et décentralisée. Elle s’appuie sur le modèle d’acteur que nous décrivons dans la partie 11.2. 11.1 Vue d’ensemble L’intergiciel est une couche qui va venir se placer entre les ressources de calcul et l’application que l’on souhaite distribuer. Il va permettre à l’application de s’abstraire de la gestion des ressources de l’une des façons suivantes : 1. soit en rendant la distribution complètement opaque pour l’application qui n’a alors pas connaissance de sa distribution ; 2. soit en distribuant de manière transparente, de ce fait l’application a alors connaissance de sa distribution et peut éventuellement agir dessus ; l’intergiciel permet dans ce cas de fournir la gestion et les fonctionnalités de base pour permettre cette distribution. Nous voyons l’intergiciel comme faisant partie de l’écosystème computationnel dans lequel va évoluer l’application et qui va lui permettre d’être distribuée. Une particularité de l’ensemble des machines qui sont à disposition est sa dynamique : de nouvelles machines peuvent être ajoutées au cours de la distribution tandis que certaines peuvent être retirées. Le retrait de machines peut être d’une part intentionnel, c’est à dire que nous avons un certain contrôle sur ce retrait, mais il peut être aussi inopiné, suite à une défaillance par exemple. Ces ajouts et suppressions de machines peuvent aussi être liés à des perturbations de la connexion comme ça peut être le cas de connexion sans fil pour des machines mobiles. L’objectif de l’intergiciel vis-à-vis de cette dynamique est d’être capable de s’adapter aux différents cas de figure, particulièrement les cas liés à l’imprévisible, et cela afin de garantir la robustesse du système. Le rôle de l’intergiciel est de gérer les migrations des entités sur les machines disponibles en utilisant les informations fournies par l’algorithme de répartition de charges. Il doit aussi fournir l’outillage nécessaire pour permettre aux entités d’interagir entre elles en particulier lorsque ces entités sont hébergées sur des machines différentes. Cette partie de l’écosystème computationnel doit à son tour subir les contraintes liées aux simulations que l’on souhaite distribuer c’est à dire une ouverture du système, une quantité d’entités et d’interactions entre ces entités suffisamment importante pour empêcher l’utilisation de structures de données globales. 11.2 L’acteur, un objet actif Du fait du nombre important d’entités que la plateforme doit être capable de supporter, et de la quantité d’interactions entre ces entités, nous avons besoin d’un modèle qui soit adapté à ces contraintes. Des communications directes entres les entités ne sont pas envisageables 18011.2. L’acteur, un objet actif du fait qu’il en résulterait un blocage systématique, voire définitif, de l’application. Nous optons donc pour des communications indirectes prenant la forme de requêtes envoyées par une entité à une autre. Nous utilisons, de ce fait, le concept d’objet actif, aussi nommé acteur, dont l’architecture a été initialement définie par C. H, P. B et R. S dans [H, B et S 1973]. Un objet actif se distingue d’un objet classique par le fait qu’il possède son propre fil d’exécution qui lui permet une gestion désynchronisée des appels aux méthodes. La figure 11.1 illustre cette différence. Dans le cas d’objets classiques, A doit attendre que B termine l’exécution de la méthode avant de pouvoir effectuer d’autres tâches. A est alors dans un état bloquant tant que B n’a pas terminé son exécution. Au contraire, dans le cas d’objets actifs, l’appel d’une méthode prend la forme d’une requête qui est envoyée à la cible et dont on peut traiter le résultat que plus tard, lorsqu’il sera disponible. A peut alors effectuer d’autres tâches en attendant que l’exécution de B soit terminée. 11.2.1 Architecture Un acteur est formé de différents composants. Tout d’abord, le noyau même de l’acteur qui est le moteur étant capable d’exécuter les requêtes. Le noyau est composé d’un thread, d’une liste de requêtes à exécuter, et d’un objet classique qui contient les méthodes disponibles. Les requêtes sont exécutées à l’intérieur du thread selon une politique FIFO  qui peut cependant être personnalisée pour répondre aux besoins de l’application. On peut par exemple définir des requêtes prioritaires qui seraient exécutées en premier lieu. Le second composant d’un objet actif est le proxy qui permet de recevoir les requêtes et donc d’alimenter la liste du noyau. Les requêtes peuvent être envoyées au proxy au travers d’un réseau ou d’une boucle locale ce qui permet de distribuer les objets actifs sur un ensemble de machines. L’envoi des requêtes est réalisé grâce à un objet talon qui symbolise l’objet que l’on souhaite contacter, ce qui permet de le manipuler de manière transparente. Afin de gérer l’asynchronisme des appels aux méthodes, l’objet talon procède à deux opérations : 1. il envoie une requête, décrivant la méthode invoquée, au proxy de l’objet actif qu’il représente ; 2. il retourne directement à l’objet appelant un futur qui représente le résultat de la requête qui sera transmis par la suite. Le futur permet de fournir les fonctionnalités nécessaires pour connaître l’état de la requête. Ainsi l’objet appelant peut savoir, grâce au futur qui lui a été retourné, si le résultat est disponible, ou encore entrer dans un état bloquant dont il ne pourra sortir qu’une fois le résultat mis à disposition. La figure 11.2 résume l’ensemble de l’architecture d’un acteur. 1. First In First Out 181. I . objets classiques objets actifs A A appelle une méthode de B B B exécute la méthode B B retourne le résultat A A traite le résultat A A envoie une requête à B A A exécute d’autres tâches A quand le résultat est disponible A procède au traitement B B reçoit une requête B en fonction d’un ordonnanceur la requête est exécutée B B retourne le résultat F 11.1 : Appel de méthode entre objets classiques et objets actifs. Un objet A appelle une méthode d’un objet B. B exécute alors cette méthode et retourne un résultat à A qui effectue alors un traitement. 18211.2. L’acteur, un objet actif . . . . . réseau requêtes objet contenant les méthodes thread d’exécution proxy objet talon futur F 11.2 : Architecture d’un acteur. 183. I 11.2.2 Le paradigme acteur Dans [A et al. 1997], Gul A et al. résument les principes fondamentaux qui servent de base au paradigme acteur : 1. tout objet est un acteur, les auteurs incluent aussi les messages et les nombres dans cette propriété ; bien que nous considérons nous aussi un système où tout est acteur, comme nous le verrons dans 11.3.2, certains objets restent des objets classiques (en particulier les types primitifs comme les entiers et les réels) pour des raisons de performances ainsi que pour simplifier la plateforme de distribution ; 2. on ne peut agir sur un acteur, l’observer, ou le modifier autrement que par l’envoi d’une requête à cet acteur, qu’il exécutera lui-même ; 3. les seules choses qui se produisent dans un système composé d’acteurs sont des évè- nements, qui consistent à l’envoi/réception d’un message entre acteurs ; 4. un acteur peut envoyer plusieurs messages au même moment mais les reçoit de manière linéaire et ne les traite donc qu’un par un ; 5. chaque acteur a connaissance d’un ensemble d’autres acteurs ; cet ensemble peut évoluer au fil du temps grâce à l’échange de messages qui permet de rencontrer indirectement de nouveaux acteurs. Il ressort de ces principes que la transmission des requêtes est au cœur d’un système composé d’acteurs. 11.2.3 Gestion des différents mécanismes Nous avons vu l’architecture générale d’un acteur. Dans la pratique, il est nécessaire de gérer différents problèmes liés à ce modèle, ainsi qu’à la décentralisation de la plateforme. En particulier, sur l’identification des objets, le référencement des futurs, ainsi que sur le mécanisme de migration d’un objet. Gestion des objets La plateforme de distribution est constituée d’un nombre important d’acteurs qui sont pour certains des composants de l’application distribuée, et pour d’autres des composants de la plateforme elle-même. Afin de contacter chacun de ces acteurs, pour leur transmettre des requêtes, il est nécessaire d’être en mesure de les identifier de manière unique. L’identification d’un acteur est faite grâce à une chaîne de caractères correspondant à une URI  telle que définie dans [M, B-L et F 2005]. L’identifiant a alors la forme suivante : protocole://hote/chemin/id 2. Uniform Resource Identifier 18411.2. L’acteur, un objet actif Cet identifiant peut être divisé en deux parties. D’une part, une partie fixe composée du chemin et de l’id qui sont fixés définitivement à la création de l’acteur. Et d’autre part, une partie variable, composée du protocole et de l’hôte, qui elle varie en fonction de la machine qui hé- berge l’objet actif. L’id est une chaîne de caractères unique pour l’ensemble des machines. Elle est créée à partir de l’adresse de la machine et d’une estampille temporelle afin d’assurer cette unicité. Le chemin permet de regrouper des objets entre eux lorsque ceux-ci partagent une même fonction par exemple, ou sont du même type. Enfin, le protocole définit la mé- thode à utiliser afin de communiquer avec le proxy de l’objet actif désigné. La seconde partie peut être omise, dans ce cas on considère que l’objet actif cible se situe sur la même machine que la source. Chaque acteur possède un certain nombre de méthodes qui peuvent être appelées par d’autres acteurs. Le nom de la fonction qu’un acteur source souhaite appeler est alors ajouté à l’identifiant de la cible pour former une requête : protocole://hote/chemin/id?callable=nom Gestion des futurs Les futurs sont aussi des composants qui ont besoin d’être identifiés de manière unique. La portée de cette unicité peut toutefois être limitée à celle de la machine qui héberge l’acteur à la source de la requête. La référence du futur peut alors être ajoutée à la requête lorsque l’on en attend un résultat : protocole://hote/chemin/id?callable=nom&future=id_futur Le futur est alors référencé sur la machine source en attendant le résultat de l’acteur cible. Celui-ci, une fois l’exécution de la requête terminée, peut retourner le résultat, accompagné de la référence du futur, à l’acteur source. Gestion des migrations La migration consiste à déplacer un acteur de la machine qui l’héberge à une autre. Il est donc nécessaire pour cela de transférer la liste des requêtes courantes ainsi que l’objet utilisé par l’acteur pour exécuter les requêtes. Le protocole de migration consiste à : 1. demander l’accord de migration à la machine de destination ; 2. transférer les données de l’acteur si l’autorisation est accordée ; 3. reprendre l’exécution des requêtes depuis le nouvel hôte. Lorsqu’une demande de migration est effectuée, l’acteur entre dans un état de transition lorsque l’exécution de la requête courante est terminée. La demande d’hébergement est alors envoyée à la machine de destination. Celle-ci donne alors son autorisation pour continuer la migration, ou au contraire, refuse que la migration soit effectuée si, par exemple, elle ne 185. I . 1 2 3 4 5 machine A machine B entité à migrer nouveau noyau de l’entité demande de migration création du réceptacle autorisation de migration duplication des données suppression des données d’origine F 11.3 : Protocole de migration possède pas les ressources nécessaires pour accueillir le nouvel acteur. Si la migration est refusée, l’acteur retourne à l’exécution de ses requêtes : la migration est annulée. Si la machine accepte, elle initialise une nouvelle liste de requêtes qui servira à accueillir les requêtes reçues pendant la migration. L’acteur duplique ensuite ses requêtes vers cette nouvelle liste ainsi que les autres données qui lui sont associées. Si aucune erreur n’est rencontrée pendant la migration, l’acteur peut alors continuer son exécution sur son nouvel hôte, et les anciennes données peuvent être supprimées. Gestion des threads L’architecture d’un acteur implique que chaque acteur possède son propre fil d’exécution. En pratique, et particulièrement dans notre cas où nous manipulons un nombre important d’acteurs, il n’est pas possible d’affecter à chaque acteur un thread dédié. La plateforme de distribution que nous proposons est prévue pour accueillir des machines « standards ». Ces machines permettent à ce jour d’exécuter 4 à 8 threads  simultanément dans des conditions optimales. Nous serions donc fortement limités sur la quantité d’acteurs qui pourraient s’exécuter sur chaque agence. 3. en considérant 2 à 4 cœurs hyperthreadés par machine 18611.3. Une architecture décentralisée C’est pourquoi nous définissons un ensemble de threads qui sera partagé par l’ensemble des acteurs. Afin d’exécuter une requête, un acteur doit donc attendre qu’un thread soit disponible, puis prendre la main sur ce thread. L’acteur exécute sa requête puis rend la main qu’il a prise sur le thread. 11.3 Une architecture décentralisée Le modèle d’intergiciel que nous proposons repose sur une architecture décentralisée dans le sens où la hiérarchie entre les machines est inexistante. Chaque machine participe donc à la formation de l’écosystème computationnel au même titre que les autres. L’objectif est d’augmenter la robustesse du système. En effet, lorsqu’un système est centralisé, il devient dépendant de la partie centrale, et si cette dernière venait à être inaccessible, le système entier en deviendrait figé. 11.3.1 Agence L’agence est la réification locale de la plateforme distribuée sur chacune des machines y participant. Une machine qui souhaite rejoindre la distribution doit donc lancer sa propre agence qui va ensuite se connecter au réseau d’agences. Une agence est un acteur particulier qui a la possibilité d’en créer d’autres. Elle permet de fournir les fonctionnalités de base de la plateforme. 11.3.2 Le tout acteur Chaque composant de la plateforme de distribution est un acteur. Ainsi on trouve l’acteur principal qui est l’agence, puis les fonctionnalités de cette agence, les entités, etc… De même, les protocoles de communication, qui permettent l’échange de requêtes entre agences, sont aussi des acteurs. On peut classer ces acteurs en plusieurs catégories : l’agence elle est unique et nécessaire pour une instance locale de la plateforme ; les fonctionnalités acteurs modulaires qui sont chargés par l’agence pour étendre sesfonctionnalités ; ils n’ont pas la possibilité de migrer ; les protocoles ce sont les acteurs dédiés à l’échange de requêtes entre les acteurs situés sur des agences différentes ; les entités il s’agit des acteurs qui vont composer l’application distribuée ; ils ont la possibilité de migrer d’une agence à une autre. 187. I 11.4 Services des agences 11.4.1 Découverte d’autres agences La plateforme distribuée repose sur une architecture décentralisée, formée par l’interconnexion d’agences. De ce fait, elle ne possède pas d’annuaire centralisé auquel une agence pourrait se connecter pour connaître la liste des agences actuellement connectées à la plateforme. Une agence a cependant besoin d’informations afin de pouvoir se connecter à d’autres, c’est pourquoi il est nécessaire d’introduire une fonctionnalité permettant à l’agence d’obtenir ces informations, sans avoir recours à une structure centrale. La fonctionnalité « Discovery » utilise une diffusion multicastsur le protocole IPv6, telle que définie dans [H et D 2006], afin de transmettre les informations relatives. Le multicast est une technique de routage de paquets ip permettant de transmettre les paquets à un ensemble de machines plutôt qu’à une machine en particulier (unicast). Contrairement au broadcast qui diffuse les paquets à toutes les machines sans distinction, le multicast permet de créer une adresse ip virtuelle qui est partagée par les machines qui souhaitent recevoir ces informations. Ces trois modes de diffusion de paquets ip sont illustrés par la fi- gure 11.4. La diffusion par multicast est particulièrement intéressante par exemple dans le cas de diffusion d’un flux vidéo : plutôt que de maintenir autant de connexions que d’utilisateurs, on peut alors créer une connexion unique qui diffusera la vidéo à tous les utilisateurs qui le souhaitent. Le multicast sur le protocole IPv6 est particulièrement intéressant (comparé à celui sur IPv4) du fait qu’il permet un contrôle plus fin sur la diffusion en permettant, par exemple, de spécifier la portée qu’auront les paquets diffusés. On définit une adresse de multicast qui est commune à toutes les agences. Chaque module Discovery diffuse donc les informations de base propres à son agence en utilisant ce protocole. Ces informations incluent l’adresse réseau de l’agence, les protocoles qu’elle est capable de manipuler, ainsi qu’une information de hachage symbolisant l’état actuel de l’agence. De plus, Discovery est à l’écoute d’éventuels messages en provenance d’autres agences. Grâce aux informations contenues dans les messages reçus, il est alors possible de tenir un annuaire local des agences disponibles. Le hachage permet de déterminer si des modi- fications significatives sont survenues dans l’agence, qui nécessiteraient de contacter cette agence afin de mettre à jour des informations. Par exemple, si l’on souhaite suivre l’évolution des entités présentes sur une agence tout en réduisant la quantité de requêtes envoyées à cette agence, il suffit de redemander la liste des entités uniquement lorsque le hachage est modifié. 11.4.2 Lucioles et horloge globale décentralisée La décentralisation implique l’absence de contrôle central et global sur les entités. Par conséquent, si l’on souhaite créer une application dans laquelle une même étape algorithmique est exécutée simultanément pour l’ensemble des entités, alors la présence d’une horloge globale, permettant aux agences de se synchroniser, est une nécessité. Dans le cas d’un 18811.4. Services des agences . unicast broadcast multicast F 11.4 : Différences entre unicast, broadcast et multicast. Une source . diffuse de l’information aux cibles . . système centralisé, un « maître », la partie centrale, peut être utilisée afin de fournir ce synchronisme. Or notre système est décentralisé, car nous souhaitons éviter par exemple, que l’indisponibilité du maître fournissant le synchronisme paralyse l’application entière. À nouveau, la nature regorge de mécanismes qui sont des sources d’inspiration pour nous aider à trouver des solutions aux problèmes que nous rencontrons. En l’occurrence, l’inspiration est puisée dans la lumière émise par les lucioles, et plus particulièrement dans le mécanisme de synchronisation qui apparaît chez certaines espèces. Les mâles produisent des flashs pour attirer les femelles, et on peut observer la synchronisation des flashs et de ce fait l’émergence d’un rythme global. La photographie présentée dans la figure 11.5 est une longue exposition prise à l’est des États-Unis où l’on peut observer ces lucioles. Ce phénomène est le sujet de différents ouvrages scientifique : John B en fait un présentation détaillé dans [B 1988], il est la source d’inspiration de Steven H. S dans un chapitre de son livre [S 2003], mais on le retrouve aussi plus récemment dans [L et C 2008] par Sara M. L et Christopher K. C. Nous nous sommes inspirés de ce phénomène afin de simuler une synchronisation globale qui ne nécessite pas de connaissance globale. La fonctionnalité « Luciole » permet de répéter une même étape algorithmique en tentant de se synchroniser avec les autres lucioles connues. Chaque luciole exécute dans un premier temps le code qui lui est associé. Il s’agit d’envoyer une requête aux acteurs liés à la luciole et d’attendre que la requête ait été exé- cutée. La luciole émet ensuite un signal vers les lucioles dont elle a connaissance, c’est à dire qu’elle envoie une requête dont le but est d’indiquer qu’elle a terminé son exécution et qu’elle se prépare pour un nouveau cycle. Elle indique dans cette requête le temps t qui lui a été nécessaire afin de réaliser un cycle. Elle tente ensuite, pendant un temps maximal ∆t de recevoir les signaux de ses voisines. ∆t est égal à la différence entre le temps maximum 189. I F 11.5 : Les lucioles « synchrones » à Elkmont dans le parc national des Great Smoky Mountains tM mis par les lucioles voisines, et t : ∆t = { δ si t > tM tM − t +δ sinon La constante δ définit un délai minimal qui permet d’absorber d’éventuelles fluctuations dans le temps nécessaire à l’exécution d’un cycle. Lorsque tous les signaux ont été reçus, ou si le délai est écoulé, la luciole met à jour la valeur de tM en fonction des données reçues puis redémarre un nouveau cycle. La présence d’un temps d’expiration permet de ne pas bloquer définitivement le système dans l’attente d’une hypothétique réponse : la luciole tente d’attendre ses voisines, mais continue son chemin en cas d’absence de réponse. Nous avons développé un prototype permettant de tester ce concept. Pour cela, nous simulons des lucioles de façon à ce que chaque luciole possède son temps d’exécution, qui va évoluer au fur et à mesure de la simulation. Le comportement d’une luciole de ce prototype est donné par l’algorithme 8. Afin de mesurer le synchronisme du réseau de lucioles, nous utilisons la mesure ψ(v), définie par l’équation 11.1, qui permet de mesurer le décalage du début de l’exécution d’une luciole v avec ses voisines. La fonction ω(v) permet de définir la dernière date d’exécution de la luciole v. On peut alors observer la synchronisation globale en analysant la valeur moyenne ψ de ψ(v) pour l’ensemble L des lucioles (cf. équation 11.2). La figure 11.6 présente le tracé de cette mesure. On y voit que suite à une période de désynchronisation correspondant aux 80 premières secondes, le mesure atteint une valeur très proche de 0 ce qui nous permet de considérer que les lucioles se sont synchronisées. On observe ensuite une désynchronisation 19011.4. Services des agences Algorithme 8 : Cycle d’une luciole 1 début 2 tant que en vie faire /* La fonction random() retourne une valeur dans [−1; 1]. Le paramètre δdel ai définit l’évolution maximale du délai par cycle */ 3 délai ← délai+random()×δdel ai ; 4 flash(max) ; /* Nous demandons simplement à la luciole de faire une pause dans son exécution ce qui permet de simuler le temps qui serait nécessaire dans la pratique pour effectuer le traitement des actions */ 5 dormir(délai) ; 6 max ← délai; /* La fonction horloge() donne la date courante */ 7 d ← horloge()+(max−délai)+δ ; /* Le nombre de messages attendus dépend de la topologie du réseau d’interconnexion des lucioles. Pour simuler ce réseau, nous générons un graphe dans lequel chaque nœud représente une luciole */ 8 tant que d > horloge() et qu’il manque des messages faire 9 dormir(d-horloge()) ; 10 fin 11 pour chaque m ∈ messag es faire 12 max ← max(max,m); 13 fin 14 fin 15 fin autour de la 140ème seconde, puis à nouveau une synchronisation. On peut considérer le réseau synchronisé lorsque la mesure ψ passe en dessous d’un certain seuil ϵ. ψ(v) = 1 card(N(v)) × ∑ u∈N(v) |ω(v)−ω(u)| (11.1) ψ = 1 card(L) × ∑ v∈L ψ(v) (11.2) Ce type de synchronisation ne permet pas d’assurer la régularité des cycles. Elle permet en revanche de s’adapter complètement à la dynamique de l’infrastructure et de ne dé- pendre d’aucune centralisation, ce qui est en parfaite adéquation avec les objectifs que nous 191. I . . 20 40 60 80 100 120 140 160 180 200 220 240 0ms 200ms 400ms date (en secondes) . .ψ . . σ(ψ) 1 F 11.6 : Synchronisation des lucioles. La valeur moyenne ψ de la mesure ψ, ainsi que son écart type σ(ψ). recherchons. Les premiers tests réalisés grâce au prototype indiquent que ce concept est fonctionnel. Il est nécessaire d’élargir les expérimentations et de réaliser des tests sur une implantation en pratique. Références A, Gul et al. (1997). “A foundation for actor computation”. In : Journal of Functional Programming 7 (1), p. 1–72.  : 0956-7968. B, John (1988). “Synchronous rhythmic flashing of fireflies. II.” In : Quarterly Review of Biology, p. 265–289.  : 0033-5770. H, Carl, Peter B et Richard S (1973). “A universal modular actor formalism for artificial intelligence”. In : Proceedings of the 3rd international joint conference on Artificial intelligence. Morgan Kaufmann Publishers Inc., p. 235–245. H, Robert M. et Stephen E. D (2006). IP Version 6 Addressing Architecture.  : http://tools.ietf.org/html/rfc4291 (visité le 24/11/2013). L, Sara M et Christopher K C (2008). “Flash signal evolution, mate choice, and predation in fireflies”. In : Annu. Rev. Entomol. 53, p. 293–321.  : 0066-4170. M, Larry, Tim B-L et Roy T. F (2005). Uniform Resource Identifier (URI) : Generic Syntax.  : https://tools.ietf.org/html/rfc3986 (visité le 22/11/2013). S, Steven H (2003). Sync : The emerging science of spontaneous order. Hyperion.  : 0786868449. 192C  P Nous avons présenté, dans ces travaux, différents éléments permettant de contribuer à la modélisation d’un système distribué en tant qu’écosystème computationnel. Il s’agit d’un vaste domaine, et nous n’avons pas la prétention d’avoir apporté autre chose qu’un simple pas, sur la longue distance qu’il reste encore à parcourir avant d’atteindre un écosystème fonctionnel. Les systèmes complexes, et plus particulièrement leur simulation, ont permis de fixer le cadre et de définir les contraintes concernant les applications que l’on souhaite distribuer. Une première partie des travaux est concentrée sur les graphes dynamiques qui permettent de modéliser le réseau d’interactions sous-jacent à un système complexe. La diffi- culté réside dans la dynamique, dont nous avons présenté différentes approches, et tenté d’apporter une esquisse de formalisme. Nous exploitons le graphe afin d’en dégager de l’organisation. Nous avons repris pour cela l’algorithme AntCo2 , un algorithme fourmis permettant de détecter des organisations dans un graphe dynamique, et nous avons proposé des améliorations visant à réduire l’oscillation des nœuds entre plusieurs organisations. De plus, nous proposons d’utiliser la centralité, et plus particulièrement les centroïdes, afin de dé- tecter des organisations fragiles et ainsi augmenter la robustesse du système. La manipulation du graphe est possible grâce à un outil de modélisation que nous présentons : G- S. Il permet de fournir les bases d’une architecture permettant de gérer la dynamique d’un graphe. Les travaux se concentrent ensuite sur le système distribué. La détection d’organisations est utilisée afin de répartir la charge du système sur un ensemble dynamique de machines. Cela permet de plus de réduire la charge du réseau. Nous avons présenté une plateforme qui permet d’aborder la distribution de manière décentralisée. L’objectif est de former un système qui soit robuste et résilient, et pour cela il doit être en mesure de s’adapter à la dynamique et aux différentes perturbations provoquant des évènements imprévisibles. Nous utilisons pour cela le modèle d’acteur, ainsi qu’un système où tout est acteur. L’aspect dé- centralisé apportant son lot de contraintes, nous avons fait certaines propositions afin de permettre une première dans la résolution de certains de ces problèmes : la découverte des machines voisines participant à la distribution, et la création d’un synchronisme global ne faisant appel qu’à des mécanismes locaux. Notre problématique possède de nombreux aspects : de la modélisation des graphes dynamiques, à la distribution en pratique d’une application, en passant par la détection de com- 193. I munauté, la répartition de charges, ou encore la centralité d’un graphe. De plus, beaucoup de temps a été consacré au développement durant cette thèse : d’une part de l’outil de modélisation de graphes dynamique GS ainsi que de ces multiples extensions ; et d’autre part de la plateforme de distribution. De ce fait, une seule thèse ne suffit pas à approfondir sérieusement tous les aspects du travail, et certaines choses mériteraient donc d’être validées de façon plus importante. Les perspectives, qui vont définir la suite de ces travaux, sont donc multiples. Nous avons ouvert une nouvelle piste permettant d’augmenter la résilience du système en détectant les centroïdes des organisations. Il est nécessaire par la suite d’approfondir les expérimentations de l’algorithme proposé, en particuliers en élargissant les topologies de graphe considérées. Puis de continuer dans cette voie en appliquant l’algorithme de détection de centroïde à l’affinage des résultats de la détection d’organisations afin d’augmenter la robustesse de ces organisations. Il devra s’en suivre des expérimentations afin d’évaluer le gain apporté. La bibliothèque de modélisation GS, qui a été développée au cours de ces travaux, possède désormais une base solide. Il s’agit d’un outil qui est déjà utilisé en pratique et qui possède sa propre communauté. Elle fait régulièrement l’objet d’atelier au sein de la conférence ECCS  [D et P 2010 ; D, P et S 2011] et de tutoriels au cours l’école thématique CSSS  en 2012 et 2013. Du temps supplémentaire devra lui être accordé par la suite pour continuer son amélioration et ses possibilités afin de fournir un outil qui soit le plus complet possible. Nous avons par exemple commencé à nous intéresser à l’interconnexion deGS avec une base de donnée de type NoSQL . Différents outils existent déjà, des serveurs de base de données comme par exemple Neo4J , Titan , ou encore InfiniteGraph  ; mais aussi des interfaces de programmation comme par exemple Cypher , Gremlin  ou Blueprints . Pour plus d’informations sur ce sujet, la page W  propose une liste plus exhaustive de ces différents outils. Le but ne serait pas ici d’apporter un n-ième outil qui apporterait des fonctionnalités déjà existantes mais : 1. de permettre l’interaction de GS avec les outils existants ; 2. étudier de quelle façon notre bibliothèque pourrait contribuer à ce domaine en apportant son savoir-faire en terme de dynamique de graphes. 4. European Conference on Complex System 5. Complex Systems Summer School 6. Not Only SQL 7. http://www.neo4j.org/ 8. http://thinkaurelius.github.com/titan/ 9. http://infinitegraph.com/ 10. http://www.neo4j.org/learn/cypher 11. http://gremlin.tinkerpop.com/ 12. http://blueprints.tinkerpop.com/ 13. https://en.wikipedia.org/wiki/Graph_database 194Références Cette approche fait partie des voies que nous avons à explorer dans le cadre de la mise en œuvre de graphes distribués qui est une perspective importante de notre problématique. Les travaux commencé au cours de cette thèse sur le changement d’échelle n’en sont qu’à leurs balbutiements. Le projet « organic », librement consultable sur la forge logicielle Github  vise à produire de manière automatique un graphe qui soit une vue macroscopique d’un autre. Il est basé sur GS et correspond aux travaux qui ont été réalisés sur la réification des organisations. Plus de temps sont nécessaires pour approfondir ce projet, améliorer ses performances et son ergonomie, ce qui rentre pleinement dans les perspectives de nouveaux travaux qui prendront la suite de ceux-ci. Nous avons aussi commencé à envisager l’étude des organisations en nous focalisant sur les membranes de ces organisations, c’est à dire la frontière délimitant l’organisation et dont les nœuds sont en contact avec d’autres organisations. Cette membrane semble jouer un rôle important dans la représentation des organisations et une discussion importante est nécessaire afin d’explorer ce sujet en profondeur. 14. https://github.com/gsavin/organic 195Annexes 197A A U      :   A.1 Règles de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 A.2 Voisinage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 A.3 Intégration dans GS . . . . . . . . . . . . . . . . . . . . 201 Nous utilisons régulièrement dans ces travaux le modèle comportemental des boids, introduit dans [R 1987]. Craig R souhaitait pouvoir reproduire dans une simulation le comportement de groupe que l’on retrouve dans les nuées d’oiseaux, les troupeaux d’animaux terrestres, ou encore les bancs de poissons. Ce modèle a été utilisé dans des jeux vidéos (Half-Life par exemple) ainsi que dans des films (Batman Returns de Tim B entre autres). Nous lui portons un intérêt particulier du fait qu’il permet de créer un réseau d’interactions dans lequel on observe des propriétés émergentes. L’interaction est définie par la proximité entre les individus, qui fait que la présence d’un boid va influencer les propriétés de ses voisins. Les propriétés émergentes du système sont les organisations qui se créent. Ce modèle est donc particulièrement adapté pour nos expérimentations. A.1 Règles de base Ce modèle définit le comportement d’un individu à partir de trois règles : 1. la séparation ; 199A. U      :   . séparation alignement cohésion F A.1 : Règles appliquées aux boids telles que définies par Craig R. 2. l’alignement ; 3. la cohésion. La séparation est un mécanisme qui permet d’éviter aux boids les collisions avec leurs voisins. Lorsqu’un boid est trop proche d’un de ses voisins, il est alors repoussé par ce dernier. L’alignement, quant à lui, fait que chaque individu tente d’aligner le vecteur définissant sa direction et sa vitesse sur celui de ces voisins. Enfin, la cohésion défini l’attraction exercée sur un boid par ses voisins proches. A.2 Voisinage Le voisinage d’un boid regroupe ses voisins les plus proches. Il est donc nécessaire de définir une distance maximale qui permet d’expliciter cette proximité : pour un boid donné, son voisinage correspond à l’ensemble des boids se trouvant à une distance inférieure à la distance maximale définie. Cette distance maximale seule ne permet pas de définir un voisinage correct du fait qu’il inclut à la fois les individus qui se trouvent devant et derrière le boid considéré. Ceci peut mener à la stagnation des groupes de boids. C’est pourquoi nous introduisons l’angle correspondant à un champ de vision qui permet de définir en fonction de la direction d’un boid les individus qu’il peut “voir” et qui vont donc influencer sa trajectoire. Nous limitons de plus le nombre d’individus qui peuvent être contenu dans un même voisinage. La raison est d’éviter l’explosion exponentielle du nombre d’interactions lors de la création de groupes et empêcher ainsi la création d’amas de boids, qui d’une part sont peu représentatif de la réalité, et d’autre part, apporte une contrainte majeure en terme de complexité lors de l’étude du graphe modélisant le réseau d’interactions. Les individus les plus proches sont sélectionnés en priorité. Le voisinage peut être calculé de manière gloutonne, ce qui implique pour chaque individu de considérer l’ensemble de la population. Ainsi, la complexité d’une étape est O(n 2 ) où n représente la taille de la population. Cette méthode a l’avantage d’être facilement mise en place, et peut être efficace pour des tailles de population faibles. En revanche, elle s’avère 200A.3. Intégration dans GS inutilisable lorsque la taille de la population est importante. C’est pourquoi nous ajoutons une seconde méthode utilisant un n-tree, qui permet de diviser l’espace en cellules. Chaque individus n’a alors à considérer que la cellule dont il fait partie et éventuellement les cellules avoisinantes. On réduit ainsi la complexité en limitant les individus considérés à ceux suffisamment proches. A.3 Intégration dans GS Notre implantation du modèle de boids est réalisée en utilisant la bibliothèque logicielle GS. Chaque boid est directement modélisé par un nœud, et le réseau d’interactions par un graphe. Il est possible de définir plusieurs espèces de boids avec ses propres caractéristiques. La configuration est effectuée via les attributs du graphe et peut donc être stockée facilement dans un fichier DGS. La simulation est disponible à la fois en tant que graphe mais aussi en tant que générateur de graphe, ce qui permet de l’intégrer facilement dans des applications existantes. 201A B S   B.1 Simulation statique, S1 . . . . . . . . . . . . . . . . . . . . . . . . 203 B.2 Simulation dynamique, S2 . . . . . . . . . . . . . . . . . . . . . . 204 Cette annexe décrit les graphes qui ont été utilisés par les simulations S1 et S2 lors de l’étude du lissage des résultats de l’algorithme AntCo2 dans la partie 10.3. B.1 Simulation statique, S1 La simulation S1 est effectuée sur un graphe statique dont la topologie est une grille. On considère un espace en deux dimensions divisé à intervalles réguliers. Chaque case ainsi formée représente un nœud qui est connecté aux quatre cases adjacentes : nord, sud, ouest et est. Un exemple d’une telle grille est donné dans la figure B.1. On peut étendre le voisinage d’un nœud, bien que ça ne soit pas le cas pour cette simulation, aux quatre cases accessibles en diagonale : nord-ouest, nord-est, sud-ouest et sud-est. Chaque nœud est donc de degré 4, excepté les nœuds de la bordure de degré 3 et les quatre nœuds des coins de degré 2. Il est possible d’obtenir une structure entièrement régulière en plaquant la grille sur un tore comme illustré dans la figure B.2. Dans le cadre de la simulation S1, on considère une grille de dimension 101×101, composée de 10201 nœuds pour 20200 arêtes. La génération du graphe est faite avant l’exécution de l’algorithme AntCo2 . Ce dernier est ensuite exécuté pendant 10000 cycles. 203B. S   . F B.1 : Une grille de dimension 11×11 . . 1 F B.2 : Un exemple de grille plaquée sur un tore B.2 Simulation dynamique, S2 La simulation S2 est effectuée, quant à elle, sur un graphe dynamique. La dynamique porte sur les interactions, l’ensemble des nœuds restant fixe. Nous utilisons le modèle des boids, décrit dans l’annexe A, afin de générer les interactions entre les entités. Deux espèces de boids sont utilisés : les moustiques et les abeilles. Les paramètres de ces espèces sont donnés dans la table B.1. La seconde espèce permet d’ajouter de la perturbation dans le graphe en repoussant les boids première espèce. Au total, 10000 nœuds sont créés, la quantité d’arêtes varie selon les cycles pour une moyenne d’environ 50000 nouvelles arêtes par cycle. Pour chacun des 10000 cycles, on fait donc évoluer la structure du graphe grâce aux boids, puis on effectue un cycle de l’algorithme AntCo2 . 204B.2. Simulation dynamique, S2 Moustiques Abeilles 0 angle de vue 0.25 0.15 distance de visibilité 0.15 0.3 facteur de vitesse 0.3 0.9 vitesse max 1.0 0.04 vitesse min 0.1 0.1 facteur de direction 0.2 0.5 facteur d’attraction 0.3 0.001 facteur de répulsion 0.005 1.1 inertie 1.1 10 taille max du voisinage 10 9000 quantité 1000 T B.1 : Paramètres du modèle de boids utilisé pour la simulation S2 205A C GS C.1 Diagrammes de classes . . . . . . . . . . . . . . . . . . . . . . . . 207 C.1.1 Éléments . . . . . . . . . . . . . . . . . . . . . . . . . . 207 C.1.2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 211 C.1.3 Source et puits . . . . . . . . . . . . . . . . . . . . . . . . 211 C.1.4 Fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 C.1.5 Algorithmes et générateurs . . . . . . . . . . . . . . . . . . 215 C.2 Spécifications de DGS au format BNF . . . . . . . . . . . . . . . . . 215 C.1 Diagrammes de classes Nous exposons, dans cette partie de l’annexe, certaines classes de la bibliothèqueG- S. C.1.1 Éléments Il s’agit de la structure de base qui définit un objet pouvant contenir des attributs. Les méthodes getAttribute(String) et hasAttribute(String) possèdent différentes dé- clinaisons (qui ne sont pas présentées dans le schéma) permettant d’apporter des précisions sur le type de l’attribut, par exemple getNumber(String) ou hasLabel(String). 207C. GS Element . String getId(); int getIndex(); getAttribute(String); boolean hasAttribute(String); void addAttribute(String, Object); void setAttribute(String, Object); void removeAttribute(String); int getAttributeCount(); . AbstractElement abstract void attributeChanged(Event,String,Object,Object); Element La classe AbstractElement permet de regrouper les parties de code communes aux nœuds, arêtes et aux graphes, concernant la gestion des attributs. De même, les classes AbstractNode, AbstractEdge et AbstractGraph regroupent respectivement le code commun aux différentes implantations de nœuds, d’arêtes et de graphes. Node . Graph getGraph(); int getDegree(); boolean hasEdgeBetween(String|int); Edge getEdgeBetween(String|int); Iterator getEdgeIterator(); Iterator getNeighborNodeIterator(); Iterable getEachEdge(); . Element Certaines variations des méthodes ne sont pas présentées dans ce schéma. Il est par exemple possible de faire la distinction entre arêtes sortantes et entrantes. La méthode getDegree(), par exemple, est alors déclinée en getInDegree() et getOutDegree(), de même que la méthode getEdgeBetween(String) possède ses variations getEdgeToward(String) 208C.1. Diagrammes de classes et getEdgeFrom(String). Les itérateurs possèdent aussi leurs variantes qui permettent par exemple d’utiliser un parcours en largeur ou en profondeur. . AbstractNode abstract void addEdgeCallback(AbstractEdge); abstract void removeEdgeCallback(AbstractEdge); abstract void clearCallback(); AbstractElement Node Edge. Graph getGraph(); boolean isDirected(); boolean isLoop(); Node getNode0(); Node getNode1(); Node getSourceNode(); Node getTargetNode(); Node getOpposite(Node); . Element AbstractEdge . AbstractElement Edge 209C. GS Graph . Node addNode(String); Node getNode(String|int); Node removeNode(String|int); Edge addEdge(String,String,String[,boolean]); Edge getEdge(String|int); Edge removeEdge(String|int); void clear(); double getStep(); void stepBegins(double); void setNodeFactory(NodeFactory); void setEdgeFactory(EdgeFactory); void setStrict(boolean); void setAutoCreate(boolean); void read(String); void write(String); Viewer display([boolean]); . Element Structure Pipe . AbstractGraph abstract void addNodeCallback(AbstractNode); abstract void removeNodeCallback(AbstractNode); abstract void addEdgeCallback(AbstractEdge); abstract void removeEdgeCallback(AbstractEdge); abstract void clearCallback(); . AbstractElement Graph 210C.1. Diagrammes de classes C.1.2 Structure Structure . int getNodeCount(); int getEdgeCount(); Iterator getNodeIterator(); Iterator getEdgeIterator(); Iterable getEachNode(); Iterable getEachEdge(); Collection getNodeSet(); Collection getEdgeSet(); La structure permet de définir un objet qui va contenir des nœuds et des arêtes. L’objectif est de fournir une façon générique de modéliser un tel objet afin de permettre un développement plus large. Par exemple, en considérant une classe Organisation qui implanterait cette interface, il serait possible d’y appliquer un algorithme qui manipule la structure, plutôt que de limiter la portée de cet algorithme aux graphes. C.1.3 Source et puits Source . void addSink(Sink); void addElementSink(ElementSink); void addAttributeSink(AttributeSink); void removeSink(Sink); void removeElementSink(ElementSink); void removeAttributeSink(AttributeSink); void clearSinks(); void clearElementSinks(); void clearAttributeSinks(); ElementSink . void nodeAdded(String,long,String); void nodeRemoved(String,long,String); void edgeAdded(String,long,String,String,String,boolean); void edgeRemoved(String,long,String); void graphCleared(String,long); void stepBegins(String,long,double); 211C. GS L’interface ElementSink définit un objet qui est capable de recevoir les événements liés aux modifications de la structure du graphe. AttributeSink . void {node|edge}AttributeAdded(String,long,String,String,Object); void graphAttributeAdded(String,long,String,Object); void {node|edge}AttributeChanged(String,long,String,String,Object,Object); void graphAttributeChanged(String,long,String,Object,Object); void {node|edge}AttributeRemoved(String,long,String,String); void graphAttributeRemoved(String,long,String); En complément, l’interface AttributeSink définit un objet qui est capable de recevoir les événements liés aux modifications des attributs des différents éléments d’un graphe, ainsi que du graphe lui-même. Sink. ElementSink AttributeSink L’interface Sink définit un objet qui est à la fois un ElementSink et AttributeSink. Pipe. Source Sink La classe Pipe représente un canal. Il s’agit simplement d’un objet qui est à la fois une source et un puits. L’intérêt des canaux est de permettre de définir la façon dont les évènements sont transmis entre une source et un puits. On peut alors créer des proxys qui permettent de faire transiter les évènements entre une source et un puits situés dans différents threads d’exécution, ou sur différentes machines. Replayable . Controller getReplayController(); 212C.1. Diagrammes de classes Replayable.Controller . void replay([String]); L’interface Replayable permet de caractériser une source qui peut être rejouée, c’est à dire qui possède une certaine mémoire. Un graphe par exemple, possède la mémoire de son état courant, mais pas de sa dynamique, il peut donc être en partie « rejoué ». C.1.4 Fichiers FileSource . void readAll(String|InputStream|Reader|URL); void begin(String|InputStream|Reader|URL); boolean nextEvents(); boolean nextStep(); void end(); . Source Un objet de type FileSource permet de définir une source qui va lire les événements dans un fichier. L’intégralité du fichier peut être lue à l’aide de la méthode readAll(), ou la lecture peut se faire événement par événement, ou encore par bloc d’événements. . FileSource FileSourceDGS FileSourceGEXF FileSourceTLP FileSourcePajek FileSourceGML FileSourceGPX FileSourceDOT FileSourceEdge FileSourceGraphML 213C. GS FileSink . void writeAll(String|InputStream|Reader|URL); void begin(String|InputStream|Reader|URL); void flush(); void end(); Sink Les objets FileSink permettent quant à eux d’écrire le graphe dans un fichier. En fonction du format, la dynamique pourra être exportée ou non. . FileSink FileSinkDGS FileSinkGEXF FileSinkSVG FileSinkImages FileSinkGML FileSinkTikZ FileSinkDOT FileSinkDynamicGML FileSinkGraphML Afin de faciliter la gestion des différentes sources et puits fichiers, il existe des « fabriques » qui permettent de créer une source ou un puits correspondant à un nom de fichier, en fonction de l’extension de celui-ci. . FileSourceFactory FileSource sourceFor(String); . FileSinkFactory FileSink sinkFor(String); Ces fabriques sont utilisées par exemple dans l’implantation des méthodes read(..) et write(..) de Graph. 214C.2. Spécifications de DGS au format BNF C.1.5 Algorithmes et générateurs Les interfaces Algorithm et DynamicAlgorithm décrivent la forme générique des algorithmes dans GS. La première permet de définir un algorithme visant à s’exécuter ponctuellement sur un graphe. Il est alors initialiser, puis calculer au travers de la méthode compute(). Un algorithme dynamique est, quant à lui, régulièrement exécuté, par exemple à chaque évènement stepBegins. Il se différencie d’un algorithme statique par la méthode terminate() qui marque la fin de l’exécution de l’algorithme. Algorithm . void init(Graph); vodi compute(); DynamicAlgorithm void terminate(); Generator . void begin(); boolean nextEvents(); vodi end(); Source Les objets de type Generator permettent de générer de manière algorithmique des graphes. C.2 Spécifications de DGS au format BNF GS introduit son propre format de fichier, le format DGS pour « Dynamic Graph Stream ». Ce format, présenté dans la partie 9.3.1, permet de stocker un flux d’évé- nements décrivant la dynamique d’un graphe. Chaque ligne décrit alors un événement. La grammaire de ce format de fichier est donnée dans ce qui suit, sous la forme de Backus-Naur. ::=
( | | )*
::= ::= “DGS004” | “DGS003” ::= ( | | | | | | | | ) ( | ) ::= “an” 215C. GS ::= “cn” ::= “dn” ::= “ae” ( )? ::= “ce” ::= “de” ::= “cg” ::= “st” ::= “cl” ::= ( )* ::= ( ‘+’ | ‘-’ )? ( ( ‘,’ )* )? ::= | | ‘’ | | ::= ‘{’ ( ( ‘,’ )* )? ‘}’ ::= ‘[’ ( ( ‘,’ )* )? ‘]’ ::= ::= ‘<’ | ‘>’ | ‘’ ::= ‘=’ | ‘:’ ::= | | ( ‘.’ )* ::= ‘#’ ( . )* ::= ‘0’ | ( ‘1’ .. ‘9’ ) ( ‘0’ .. ‘9’ )* ::= ( ‘.’ ( ‘0’ )* )? ::= ( ‘a’ .. ‘z’ | ‘A’ .. ‘Z’ ) ( ‘a’ .. ‘z’ | ‘A’ .. ‘Z’ | ‘0’ .. ‘9’ | ‘-’ | ‘_’ )* ::= ‘”’ ( [ˆ‘”’] | ‘”’ )* ‘”’ 216A D P 3 D.1 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . 217 D.2 Requêtes aux acteurs . . . . . . . . . . . . . . . . . . . . . . . . . 220 La plateforme d3 , pour « dynamic and decentralized distribution », est l’intergiciel qui a été développé pendant cette thèse. Le code est hébergé sur la forge Github à l’adresse : https://github.com/gsavin/d3 et une description est disponible sur le site qui lui est dédié : http://d3-project.org/ D.1 Diagramme de classes Nous présentons ici une partie des classes composant la plateforme de distribution, en particulier la partie correspondant au modèle d’acteur. La classe abstraite Actor donne la base pour l’ensemble des acteurs. Elle regroupe les composants permettant de définir son URI. L’acteur qui étend cette classe doit définir les méthodes call(..) permettant d’effectuer une requête sur cet acteur. 217D. P 3 . abstract Actor String id; HostAddresse address; String agencyId; String path; IdentifiableType getType(); URI getURI(); abstract boolean isRemote(); abstract Object call(String name, Object... args); abstract void call(String name, Future future, Object ... args); On distingue, tout d’abord, les acteurs locaux LocalActor correspondant aux acteurs situés sur l’agence courante, des acteurs distants RemoteActor. . LocalActor BodyThread thread; BodyMap callables; void init(); void terminate(); void migrate(); void join(); . Actor . RemoteActor RemoteAgency getRemoteAgency(); Actor L’acteur principal de la plateforme est l’agence défini par la classe Agency. Elle permet de donner un point d’ancrage aux acteurs locaux et de regrouper les acteurs distants. 218D.1. Diagramme de classes . Agency static Agency getLocalAgency(); Features getFeatures(); Protocols getProtocols(); Actors getActors(); RemoteHosts getRemoteHosts(); RemoteActors getRemoteActors(); void register(LocalActor); void unregister(LocalActor); . LocalActor Les fonctionnalités de l’agence peuvent être étendues grâce aux acteurs Feature. . abstract Feature abstract void initFeature(); LocalActor Certains acteurs ont la permission d’effectuer des échanges réseaux, en particulier d’ouvrir un port d’écoute de connexions extérieures. Ces acteurs sont nommés protocoles, et représentés par la classe Protocol. Une sous catégorie de ces protocoles, les transmetteurs, permettent de transmettre une requête d’une agence à l’autre. Ils sont définis par la classe Transmitter. . abstract Protocol final InetSocketAddress socketAdress; final String scheme; InetAddress getAddress(); int getPort(); String getScheme(); abstract void listen(); . LocalActor 219D. P 3 . abstract Transmitter CodingMethod getPreferredCodingMethod(); void transmit(RemotePort, Call); void transmitFuture(RemotePort, String, Object); abstract SelectableChannel getChannel(); abstract int read(ReadableByteChannel); abstract void close(Channel); abstract void write(Request); abstract void write(FutureRequest); . Protocol Les entités sont des acteurs qui ont la possibilité de migrer d’une agence à une autre. Elles sont définies par la classe Entity. . Entity void initEntity(); void migrateTo(RemoteAgency); LocalActor Le résultat d’une requête envoyée à un acteur est retourné sous la forme d’un Future. Il permet de gérer la mise à disposition asynchrone de ce résultat. . Future String getId(); void init(Object value); T getValue(); boolean isAvailable(); void waitForValue(); D.2 Requêtes aux acteurs Une classe définissant un acteur doit indiquer quelles méthodes peuvent être invoquées par d’autres acteurs. Cela est possible grâce à l’annotation @Callable. La figure D.1 montre la définition d’une telle méthode. 220D.2. Requêtes aux acteurs public class MonEntite extends Entity { ... @Callable(”nom.de.la.requete”) public void uneMethodeInvocable() { ... } ... } F D.1 : Exemple de méthode invocable dans d3 Lorsqu’une nouvelle classe d’acteur est détectée par l’agence, d3 construit une « carte » de l’anatomie de l’acteur, c’est à dire qu’il détecte les méthodes qui peuvent être appelées grâce aux requêtes, et fait une association entre le nom de la requête et un objet qui permet d’appeler la méthode correspondante. Afin d’optimiser l’exécution, cet objet est compilé à la volée une seulefois. Dans le cas où un problème empêcherait cette compilation, la plateforme se rabat sur la « réflection ». 221Bibliographie et index 223B A, Gul et al. (1997). “A foundation for actor computation”. In : Journal of Functional Programming 7 (1), p. 1–72.  : 0956-7968. A, Rodrigo et Ignacio M (2011). “Deciphering network community structure by surprise”. In : PloS one 6 (9), e24195.  : 1932-6203. A, D. P. (nov. 2003). “Public Computing : Reconnecting People to Science”. In : Presented at the Conference on Shared Knowledge and the Web, Residencia de Estudiantes, Madrid, Spain.  : http://boinc.berkeley.edu/madrid.html. A, David et al. (2003). “Multiscale Visualization of Small World Networks.” In : INFOVIS. T. 3, p. 75–81. A, Robert (1995). The Cambridge Dictionary of Philosophy. en. Cambridge University Press. 2390 p.  : 9781107268616. A, Baruch et R G (1987). “A new distributed algorithm to find breadth first search trees”. In : Information Theory, IEEE Transactions on 33 (3), p. 315–322.  : 0018-9448. B, Thomas (1994). Evolutionary algorithms in theory and practice. T. Bäck. B, Laurent et al. (2006). “Programming, Composing, Deploying for the Grid”. Anglais. In : Grid Computing : Software Environments and Tools. Sous la dir. d’Omer F. C Jose C. ; Rana. Springer, p. 205–229. : 978-1-85233-998-2.  : http:// hal.inria.fr/inria-00486114/PDF/ProgrammingDeployingComposingForTheGrid. pdf. B, Henry et Carl H (1977). “Laws for communicating parallel processes”. In : B, Roberto et al. (2007). “Looking for a definition of dynamic distributed systems”. In : Parallel Computing Technologies. Springer, p. 1–14.  : 3540739394. B, A. et E. B (2003). “Scale-Free Networks”. In : Scientific American, p. 50– 59. B, Albert-László et Réka A (1999). “Emergence of Scaling in Random Networks”. In : Science 286 (5439), p. 509–512. : 10.1126/science.286.5439.509.  : http://www.sciencemag.org/content/286/5439/509.abstract. B, Vladimir et Andrej M (2004). Pajek—analysis and visualization of large networks. Springer.  : 3642622143. B, M. A. (1999). “Weak Emergence”. In : T, James E. Philosophical Perspectives, Mind, Causation And World. T. 11, p. 375–399.  : 9780631207931. 225B B, Richard (1956). On a routing problem. DTIC Document. B-M, Skye et Daniel A MF (2006). “The art and science of dynamic network visualization”. In : Journal of Social Structure 7 (2), p. 1–38. B, Cyrille et al. (2006). “Organization Detection Using Emergent Computing”. In : International Transactions on Systems Science and Applications 2 (1), p. 61–70. — (2007). “Organization Detection for Dynamic Load Balancing in Individual-Based Simulations”. In : Multi-Agent and Grid Systems 3 (1), p. 42.  : http://litis.univlehavre.fr/%20dutot/biblio/MAGS2007.pdf. B, Toni A et Ramesh K K (2003). “A survey of middleware”. In : Computers and Their Applications, p. 254–258. B, S. et al. (2006). “Complex Networks : Structure and Dynamics”. In : Phys. Rep. 424 (4-5), p. 175–308. B, Stephen P. et Martin G. E (2006). “A Graph-theoretic perspective on centrality”. In : Social Networks 28 (4), p. 466–484.  : 0378-8733.  : DOI : 10 . 1016/j.socnet.2005.11.005.  : http://www.sciencedirect.com/science/ article/B6VD1-4J32JGJ-1/2/c8bf3911c0e5bb0e701c0a541e380475. B, Otakar (1926). “O jistém problému minimálním (About a certain minimal problem)”. In : Práce mor. přírodověd. spol. v Brně III (3), p. 37–58. B, Ulrik (2001). “A Faster Algorithm for Betweenness Centrality”. In :Journal of Mathematical Sociology 25, p. 163–177. B, Sergey et Lawrence P (1998). “The anatomy of a large-scale hypertextual Web search engine”. In : Computer networks and ISDN systems 30 (1), p. 107–117.  : 0169-7552. B, John (1988). “Synchronous rhythmic flashing of fireflies. II.” In : Quarterly Review of Biology, p. 265–289.  : 0033-5770. B-X, B., A. F et A. J (avr. 2003). “Computing shortest, fastest, and foremost journeys in dynamic networks”. In : International Journal of Foundations of Computer Science 14 (2), p. 267–285. C, Alain et al. (2006). “Emergent Properties in Natural and Artificial Dynamical Systems”. In : sous la dir. de Moulay Aziz A et Cyrille B. Springer complexity : Understanding Complex Systems. Springer Verlag, p. 25–52.  : http : / / litis . univ-lehavre.fr/%20dutot/biblio/EPNADS2006.pdf. C, A. et al. (2012). “Time-Varying Graphs and Dynamic Networks”. In : International Journal of Parallel, Emergent and Distributed Systems. In press.  : 10.1080/ 17445760.2012.668546. Č, V. (1985). “Thermodynamical approach to the traveling salesman problem : An ef- ficient simulation algorithm”. In : Journal of Optimization Theory and Applications 45, p. 41–51. C, David J. (1997). The Conscious Mind : In Search of a Fundamental Theory.  : 0195117891. — (2006). “Strong and weak emergence”. In : The reemergence of emergence, p. 244– 256. 226Bibliographie C, Kumar et David B F (1999). “Fitness distributions in evolutionary computation : motivation and examples in the continuous domain”. In : BioSystems 54 (1), p. 15–29.  : 0303-2647. C, Nacim Fateh (2010). “Calcul de centralité et identification de structures de communautés dans les graphes de documents.” Université de Toulouse III.  : http:// thesesups.ups-tlse.fr/1364/. C, Fan RK (1997). Spectral graph theory. T. 92. AMS Bookstore.  : 0821803158. C, Aaron, MarkN et Cristopher M (2004). “Finding community structure in very large networks”. In : Physical review E. APS 70 (6), p. 066111. C, P. et D. R. C. H (1997). Modélisation et Simulation des Écosystèmes. Masson. C, Thomas H. et al. (2009). “Introduction to Algorithms”. In : MIT Press, p. 558– 565.  : 978-0-262-03384-8. C, Corina, Daryl P et Chris V (déc. 2003). “Computational Methods for Dynamic Graphs”. In : Journal of Computational & Graphical Statistics 12 (4). ISSN 1061-8600, Online ISSN : 1537-2715, 950–970(21). C, George, JeanD et TimK (2012).Distributed Systems : Concepts and Design Edition 5. Addison-Wesley.  : 978-0-13-214301-1. C, Nichael Lynn (1985). “A Representation for the Adaptive Generation of Simple Sequential Programs”. In : ICGA, p. 183–187. C, Edward (2004). “Message-oriented middleware”. In : Middleware for communications, p. 1–28. D, Camil, David E, Zvi G et Giuseppe F. I (2010). “Algorithms and theory of computation handbook”. In : sous la dir. de Mikhail J. A et Marina B. Chapman & Hall/CRC, p. 9–9.  : 978-1-58488-822-2.  : http:// portal.acm.org/citation.cfm?id=1882757.1882766. D, Camil, David E, Zvi G et Giuseppe F I (2010). “Dynamic graph algorithms”. In : Algorithms and theory of computation handbook. Chapman & Hall/CRC, p. 9–9.  : 1584888229. D, Camil et Giuseppe F. I (2006). “Fully dynamic all pairs shortest paths with real edge weights”. In :J. Comput. Syst. Sci. 72 (5), p. 813–837. : 0022-0000.  : 10.1016/j.jcss.2005.05.005. D, Johannes, Gabi L et Elisavet H F (2012). “TSH and Thyrotropic Agonists : Key Actors in Thyroid Homeostasis”. In : Journal of thyroid research. D, E. W. (1959). “A note on two problems in connexion with graphs”. In : Numerische Mathematik 1, p. 269–271. D, Marco (1992). “Optimization, learning and natural algorithms”. In : Ph. D. Thesis, Politecnico di Milano, Italy. D, Marco, Gianni D C et Luca M G (1999). “Ant algorithms for discrete optimization”. In : Artificial life 5 (2), p. 137–172. 227B D, Marco, Vittorio M et Alberto C(1996). “The Ant System : Optimization by a colony of cooperating agents”. In :IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS-PART B 26 (1), p. 29–41. D, S. N. et J. F. F. M (2002). “Evolution of networks”. In : Adv. Phys, p. 1079–1187. — (2003). Evolution of Networks : From Biological Nets to the Internet and WWW. Oxford University Press. D, Stuart (2002). “Richard Bellman on the Birth of Dynamic Programming”. In : Oper. Res. 50 (1), p. 48–51.  : 0030-364X.  : 10.1287/opre.50.1.48.17791.  : http://portal.acm.org/citation.cfm?id=767815.769382. D, Antoine (2005). “Distribution dynamique adaptative par des mécanismes d’intelligence collective, détection d’organisations par des techniques de collaboration et de compétition”. FST, Université du Havre : LITIS, Laboratoire d’Informatique, de Traitement de l’Information et des Systèmes. 206 p.  : http://litis.univ-lehavre. fr/%20dutot/biblio/PhdThesisDutot.pdf. D, Antoine, Frédéric G et al. (2007). “GraphStream : A Tool for bridging the gap between Complex Systems and Dynamic Graphs”. In : EPNACS : Emergent Properties in Natural and Artificial Complex Systems. D, Antoine et Yoann P (2009). “Tour d’horizon des problèmes combinatoires traités par les fourmis artificielles”. In : Fourmis artificielles 1, Des bases de l’optimisation aux applications industrielles, p. 71–100. — (sept. 2010). “GraphStream Workshop”. In : Emergent Properties in Natural and Arti- ficial Complex Systems (EPNACS) in European Conference on Complex System (ECCS) 2010. D, Antoine et al. (oct. 2006a). “Pyocyanic Bacillus Propagation Simulation”. In : CoSSom workshop in European Simulation and Modeling conference (ESM). Toulouse, France.  : http://litis.univ-lehavre.fr/%20dutot/biblio/COSSOM2006.pdf. E, S. R. (2004). “What is dynamic programming ?” In : Nat Biotech 22, p. 909–910. E, Wolfgang (2000). Engineering distributed objects. Wiley.com. E, D. (déc. 1995). “Dynamic Euclidean minimum spanning trees and extrema of binary functions”. In : Discrete and Computational Geometry 13 (1), p. 111–122.  : 10.1007/BF02574030.  : http://dx.doi.org/10.1007/BF02574030. E, Leonhard (1741). “Solutio problematis ad geometriam situs pertinentis”. In : Commentarii academiae scientiarum Petropolitanae 8, p. 128–140. F, Kevin (2003). “A delay-tolerant network architecture for challenged internets”. In : Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications. ACM, p. 27–34.  : 1581137354. F, Afonso (mai 2002). “On models and algorithms for dynamic communication networks : The case for evolving graphs”. In : 4e rencontres francophones sur les Aspects Algorithmiques des Telecommunications (ALGOTEL’2002). Mèze, France. F, C. M. et R. M. M (1982). “A linear time heuristic for improving network partitions”. In : ACM IEEE Design Automation Confe- rence, pages, p. 175–181. 228Bibliographie F, Robert W. (1962). “Algorithm 97 : Shortest Path”. In : Communications of the ACM 5 (6), p. 345. F, Michael J (1966). “Very high-speed computing systems”. In : Proceedings of the IEEE 54 (12), p. 1901–1909.  : 0018-9219. F, David B. (2006). Evolutionary Computation : Toward a New Philosophy of Machine Intelligence. en. John Wiley & Sons. 295 p.  : 9780471749202. F, Lawrence J. (1962). “Autonomous automata”. In : Industrial Research 4 (2), p. 14– 19. F, Lester Randolph (1956). Network Flow Theory. F, Lester Randolph et D. R. F (1956). “Maximal Flow through a Network”. In : Canadian Journal of Mathematics, p. 399–404. F, Ian (2002). “What is the grid ?-a three point checklist”. In : GRIDtoday 1 (6). F, Ian et Carl K (2003). The Grid 2 : Blueprint for a new computing infrastructure. Access Online via Elsevier.  : 0080521533. F, Ian, Yong Z et al. (2008). “Cloud computing and grid computing 360-degree compared”. In : Grid Computing Environments Workshop, 2008. GCE’08. Ieee, p. 1– 10.  : 1424428602. F, Pierre et al. (2009). “Distributed computing with advice : information sensitivity of graph coloring”. Anglais. In : Distributed Computing 21 (6). See paper for details., p. 395–403.  : 10.1007/s00446- 008- 0076- y.  : http://hal.archivesouvertes.fr/hal-00395775/PDF/DisComp-ICALP07.pdf. F, Nigel R. et A. B. S-F (1992). “Brood sorting by ants : distributing the workload over the work-surface”. In : Behavioral Ecology and Sociobiology. Springer 30 (2), p. 109–123. F, Linton C. (1977). “A set of measures of centrality based upon betweenness”. In : Sociometry 40, p. 35–41. — (1978). “Centrality in social networks conceptual clarification”. In : Social Networks 1 (3), p. 215–239.  : 0378-8733.  : 10.1016/0378- 8733(78)90021- 7.  : http://www.sciencedirect.com/science/article/pii/0378873378900217. F, Alfonso, Gian Pietro P et Giovanni V (1998). “Understanding Code Mobility”. In : IEEE Transactions on Software Engineering 24, p. 342–361.  : 0098- 5589.  : http://doi.ieeecomputersociety.org/10.1109/32.685258. G, R. G., P. A.H et P. M. S (1983). “A Distributed Algorithmfor MinimumWeight Spanning Trees”. In : ACM Trans. Program. Lang. Syst. 5 (1), p. 66–77.  : 0164-0925.  : 10.1145/357195.357200.  : http://doi.acm.org/10.1145/ 357195.357200 (visité le 27/10/2013). G, Luca Maria et Marco D (1995). “Ant-Q : A reinforcement learning approach to the traveling salesman problem”. In : ICML, p. 252–260. G, Michael R et David S J (1979). Computers and intractability. T. 174. Freeman New York. G (2009). GEXF File Format.  : http://gexf.net/format/ (visité le 04/11/2013). 229B G, M. et M. E. J. N (2002). “Community structure in social and biological networks”. In : Proc. Natl. Acad. Sci. USA 99, p. 8271–8276. G, S. et al. (déc. 1989). “Self-organized shortcuts in the Argentine ant”. In : Naturwissenschaften 76 (12), p. 579–581.  : 10.1007/BF00462870.  : http://dx.doi. org/10.1007/BF00462870. G (2013). GraphStream - The DGS File Format.  : http://graphstreamproject.org/doc/Advanced- Concepts/The- DGS- File- Format_1.1/ (visité le 04/11/2013). G (2013). The DOT Language | Graphviz - Graph Visualization Software.  : http: //www.graphviz.org/content/dot-language (visité le 04/11/2013). G, Pierre-Paul (1959). “La Reconstruction du nid et les coordinations interindividuelles chez Bellicositermes natalensis et Cubitermes sp. La théorie de la stigmergie : essai d’interprétation du comportement des Termites constructeurs”. In : Insectes sociaux. G, Charles M. et J. Laurie S (1997). Introduction to Probability.  : 978-0- 8218-9414-9.  : http://www.dartmouth.edu/~chance/teaching_aids/books_ articles/probability_book/book.html. G, H. L. et G. A.W (nov. 1970). “A Pipeline Fast Fourier Transform”. In :IEEE Trans. Comput. 19 (11), p. 1015–1019.  : 0018-9340.  : 10.1109/T- C.1970. 222826.  : http://portal.acm.org/citation.cfm?id=1311954.1312605. H-L (2013). Boid. Half-Life Wiki.  : http://half-life.wikia.com/wiki/Boid (visité le 14/11/2013). H, F. et G. G (1997). “Dynamic Graph Models”. In : Mathematical and Computer Modelling 25 (7), p. 79–87. H, Frank (oct. 1969). Graph Theory. Published : Paperback. Westview Press.  : 0201410338.  : http : / / www . amazon . com / exec / obidos / redirect ? tag = citeulike07-20&path=ASIN/0201410338. H, Peter E, Nils J N et Bertram R (1968). “A formal basis for the heuristic determination of minimum cost paths”. In : Systems Science and Cybernetics, IEEE Transactions on 4 (2), p. 100–107.  : 0536-1567. H, Hans-Ulrich et Michael S (1995). “Decentralized dynamic load balancing : The particles approach”. In : Information Sciences. Elsevier 84 (1), p. 115–128. H, Ivan, Guy M et M. Scott M (2000). “Graph visualization and navigation in information visualization : A survey”. In : Visualization and Computer Graphics, IEEE Transactions on 6 (1), p. 24–43.  : 1077-2626. H, Carl, Peter B et Richard S (1973). “A universal modular actor formalism for artificial intelligence”. In : Proceedings of the 3rd international joint conference on Artificial intelligence. Morgan Kaufmann Publishers Inc., p. 235–245. H, Robert M. et Stephen E. D (2006). IP Version 6 Addressing Architecture.  : http://tools.ietf.org/html/rfc4291 (visité le 24/11/2013). H, John H. (1975). Adaptation in Natural and Artificial Systems. University Michigan Press. 230Bibliographie H, C. S (1973). “Resilience and stability of ecological systems”. In : Annual review of ecology and systematics 4, p. 1–23. H, C S. (1996). “Engineering resilience vs. ecological resilience”. In : Engineering Within Ecological Constraints. The National Academies Press, p. 31–44. : 9780309051989. H, Bernado A (1988). The ecology of computation. Elsevier Science Inc. J, Mariusz et Seth B (2008). “Energy, entropy and work in computational ecosystems : A thermodynamic account”. In : J, Donald B. (1977). “Efficient Algorithms for Shortest Paths in Sparse Networks”. In : J. ACM 24 (1), p. 1–13.  : 0004-5411.  : 10.1145/321992.321993.  : http://doi.acm.org/10.1145/321992.321993 (visité le 17/10/2013). J, Eric E (1988). “Completing an MIMD multiprocessor taxonomy”. In : ACM SIGARCH Computer Architecture News 16 (3), p. 44–47.  : 0163-5964. J, Camille (1869). “Sur les assemblages des lignes”. In : J. Reine Angew. Math 70, p. 185–190. J, Markus Oliver et Yugyung L (2004). “Peer-to-peer middleware”. In : Middleware for Communications, p. 81–107.  : 0470862084. K, George et Vipin K (1999). “A fast and high quality multilevel scheme for partitioning irregular graphs”. In : SIAM, Journal on Scientific Computing 20 (1), p. 359– 392. K, Leo (1953). “A New Status Index Derived from Sociometric Index”. In : Psychometrika, p. 39–43. K, J et R E (1995). “Particle Swarm Optimization”. In : IEEE International of first Conference on Neural Networks. K, Jeffrey O, TadH et Bernado AH (1989). “Dynamics of computational ecosystems”. In : Physical Review A. K, B.W. et S. L (1970). “An Efficient Heuristic Procedurefor Partitioning Graphs”. In : The Bell system technical journal 49 (1), p. 291–307. K, Scott, Mario P V et D. G (1983). “Optimization by simulated annealing”. In : science 220 (4598). K, Jon M. (août 2000). “Navigation in a small world”. In : Nature 406 (6798), p. 845.  : 0028-0836.  : 10.1038/35022643.  : http://dx.doi.org/10. 1038/35022643. K, Frederick (1997). “An Overview of Mobile Agent Programming”. In : Selected papers from the 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages. London, UK : Springer-Verlag, p. 100–115.  : 3-540-62503-8.  : http: //portal.acm.org/citation.cfm?id=646912.710959. K, Andreï (1965). “Three Approaches for Defining the Concept of Information Quantity”. In : Problems of information transmission 1 (1), p. 1–7. K, S. (2008). Intergiciel et Construction d’Applications Réparties. K, Joseph B (1956). “On the shortest spanning subtree of a graph and the traveling salesman problem”. In : Proceedings of the American Mathematical society 7 (1), p. 48– 50.  : 0002-9939. 231B K, Pascale, Paul L et Dominique S (1997). “A colony of ant-like agents for partitioning in VLSI technology”. In : Proceedings of the Fourth European Conference on Artificial Life. MIT, p. 417–424. K, Pascale et Dominique S (1994). “Emergent colonization and graph partitioning”. In : Proceedings of the third international conference on Simulation of adaptive behavior : from animals to animats 3, p. 494–500. L, Leslie (18 mai 1987). distribution. English. E-mail.  : https://research. microsoft . com / en - us / um / people / lamport / pubs / distributed - system . txt (visité le 08/08/2013). L, Gregor von et Kaizar A (2004). “Grid middleware”. In : Middleware for Communications, p. 109. L, R. Greg et Douglas C. S (1996). Active Object – An Object Behavioral Pattern for Concurrent Programming. L M, Jean-Louis (1994). La théorie du système général, théorie de la modélisation. Les classiques du réseau intelligence de la complexité. L, Ian XY et al. (2009). “Towards real-time community detection in large networks”. In : Physical Review E. APS 79 (6). L, Sara M et Christopher K C (2008). “Flash signal evolution, mate choice, and predation in fireflies”. In : Annu. Rev. Entomol. 53, p. 293–321.  : 0066-4170. L, H.-C. et Cauligi S. R (1992). “A dynamic load-balancing policy with a central job dispatcher (LBC)”. In : Software Engineering, IEEE Transactions on 18 (2), p. 148–158. L, Stuart (1982). “Least squares quantization in PCM”. In : Information Theory, IEEE Transactions on 28 (2), p. 129–137.  : 0018-9448. L, James (1993). La terre est un être vivant : l’hypothèse Gaïa. Champs sciences. Flammarion.  : 978-2-0812-4481-8. L, Nancy A (1996). Distributed algorithms. Morgan Kaufmann.  : 0080504701. L, Nancy A et Mark R T (1987). “Hierarchical correctness proofs for distributed algorithms”. In : Proceedings of the sixth annual ACM Symposium on Principles of distributed computing. ACM, p. 137–151.  : 089791239X. M, Qusay H et John W (2004). Middleware for communications. Wiley Online Library.  : 0470862068. M, Larry, Tim B-L et Roy T. F (2005). Uniform Resource Identifier (URI) : Generic Syntax.  : https://tools.ietf.org/html/rfc3986 (visité le 22/11/2013). M, Peter et Timothy G (2011). “The NIST definition of cloud computing (draft)”. In : NIST special publication 800 (145), p. 7. M, Brad L. et David E. G (1995). “Genetic Algorithms, Tournament Selection, and the Effects of Noise”. In : Complex Systems 9, p. 193–212. M, Richard S. (2003). Cluster Computing : Architectures, Operating Systems, Parallel Processing & Programming Languages. 232Bibliographie M, Henning S. et Christian M. R (2008). An Introduction to Sequential Dynamical Systems. Springer. N, Michel et al. (2009). “Exploitation of a displacement survey to detect road network use vulnerability”. In : ICCSA 2009 Conference Proceedings Special Sessions, p. 151– 155. N, M. E. J. (2003). “The Structure and Function of Complex Networks”. In : SIAM Review 45, p. 167–256.  : 10.1137/S003614450342480. N, Mark (2010).Networks : An Introduction. New York, NY, USA : Oxford University Press, Inc.  : 0199206651, 9780199206650. N, Mark E. J. (2004). “Fast algorithm for detecting community structure in networks”. In : Physical review E. APS 69 (6), p. 066133. — (2006). “Finding community structure in networks using the eigenvectors of matrices”. In : Physical review E. APS 74 (3), p. 036104. O, Damien (2006). Modélisation informatique de systèmes à base d’interactions et dé- tection d’organisations. Modèles du vivant. Habilitation à Diriger des Recherches de l’Université du Havre. OMG, Committee (1991). The Common Object Request Broker : Architecture and Specification. OMG Document Revision 1. O, Tore, Filip A et John S (2010). “Node centrality in weighted networks : Generalizing degree and shortest paths”. In : Social Networks 32 (3), p. 245– 251.  : 0378-8733.  : 10.1016/j.socnet.2010.03.006.  : http://www. sciencedirect.com/science/article/pii/S0378873310000183. O, Oystein (1962). Theory of graphs. English. American Mathematical Society, Providence. v. P. OS, David (2001). “Graph-cellular automata : a generalised discrete urban and regional model”. In : Environment and Planning B : Planning and Design 28, p. 687–705. P, Gergely et al. (2005). “Uncovering the overlapping community structure of complex networks in nature and society”. In : Nature 435 (7043), p. 814–818. : 0028-0836. P, Universität (2011). Graph Modelling Language. Projects.  : http://www.fim. uni-passau.de/en/fim/faculty/chairs/theoretische-informatik/projects. html (visité le 11/03/2013). P, Yoann (2008). “Modélisation et traitement décentralisé des graphes dynamiques : Application aux réseaux mobiles ad hoc”. French. Université du Havre.  : http : //tel.archives-ouvertes.fr/tel-00371962/PDF/these.pdf. P, Yoann et Frédéric G (2010). “Short and robust communication paths in dynamic wireless networks”. In : Proceedings of the 7th international conference on Swarm intelligence. ANTS’10. Berlin, Heidelberg : Springer-Verlag, p. 520–527.  : 3-642- 15460-3, 978-3-642-15460-7.  : http://portal.acm.org/citation.cfm?id= 1884958.1885012. P, Stuart L (1984). “The complexity and stability of ecosystems”. In :Nature 307 (5949), p. 321–326. 233B P, W. et M. M. S (1991). “Some properties of graph centroids”. In : Annals of Operations Research 33 (3). 10.1007/BF02115757, p. 227–236.  : 0254-5330.  : http://dx.doi.org/10.1007/BF02115757. P, Pascal et Matthieu L (2005). “Computing communities in large networks using random walks”. In : Computer and Information Sciences-ISCIS 2005. Springer, p. 284– 293.  : 3540294147. P, Alex, Horst D. S et Kang-Pu L (1990). “Partitioning sparse matrices with eigenvectors of graphs”. In : SIAM, Journal on Matrix Analysis and Applications 11 (3), p. 430–452. P, Ilya (2008). Les lois du chaos. Flammarion.  : 978-2-0812-1487-3. P, Ilya et Isabelle S (1996). La fin des certitudes : temps, chaos et les lois de la nature. Odile Jacob.  : 2738103308. P, Robert Clay (1957). “Shortest connection networks and some generalizations”. In : Bell system technical journal 36 (6), p. 1389–1401. R, Marco, Fabio R et Enrico S (2011). “Semi-Markov Graph Dynamics”. In : PLoS ONE 6 (8). R, Usha Nandini, Réka A et Soundar K (2007). “Near linear time algorithm to detect community structures in large-scale networks”. In : Physical Review E. APS 76 (3), p. 036106. R, Frank E (1997).Dcom : Microsoft Distributed Component Object Model with Cdrom. IDG Books Worldwide, Inc.  : 0764580442. R, Craig W. (août 1987). “Flocks, herds and schools : A distributed behavioral model”. In : SIGGRAPH Comput. Graph. 21 (4), p. 25–34.  : 0097-8930.  : http: //doi.acm.org/10.1145/37402.37406.  : http://doi.acm.org/10.1145/ 37402.37406. S, Naidila et SM Dilip K (2011). “Cluster, grid and cloud computing : A detailed comparison”. In : Computer Science & Education (ICCSE), 2011 6th International Conference on. IEEE, p. 477–482.  : 1424497175. S, Peter et Christian S (2013). “Think Locally, Act Globally : Highly Balanced Graph Partitioning”. In : Experimental Algorithms. Springer, p. 164–175. : 3642385265. S, Ichiro (2001). “Adaptive Protocols for Agent Migration”. In : Proceedings of the The 21st International Conference on Distributed Computing Systems. ICDCS ’01. Washington, DC, USA : IEEE Computer Society, p. 711–.  : http : / / portal . acm . org / citation.cfm?id=876878.879272. S, Ferdinand de (1931). Cours de linguistique générale. Payot. Geneva. S, S. (août 2007). “Graph clustering”. In : Computer Science Review 1 (1), p. 27– 64.  : 15740137.  : 10.1016/j.cosrev.2007.05.001.  : http://dx.doi. org/10.1016/j.cosrev.2007.05.001. S, Michael (2002). UNICORE Plus Final Report. Published : Joint Project Report for the BMBF Project UNICORE Plus.  : http : / / www . unicore . org / documents / UNICOREPlus-Final-Report.pdf. 234Bibliographie S, Rüdiger (2001). “A definition of peer-to-peer networking for the classification of peer-to-peer architectures and applications”. In : Peer-to-Peer Computing, 2001. Proceedings. First International Conference on. IEEE, p. 101–102.  : 0769515037. S, Ruud et al. (1997). “Ant-based load balancing in telecommunications networks”. In : Adaptive behavior 5 (2), p. 169–207.  : 1059-7123. S, Peter J. (1978). “Centers to centroids in graphs”. In : Journal of Graph Theory 2 (3), p. 209–222. — (1983). “Some definitions of central structures”. In : Lecture Notes in Mathematics1073/1984, p. 169–178. Sß, Markus et M S (1997). “A performance model for mobile agent systems”. In : International Conference on Parallel and Distributed Processing Techniques and Applications. Sous la dir. d’HEditor A. T. 2. Citeseer, p. 1132–1140.  : http : //citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.39.30&rep=rep1& type=pdf. S, S. H. et D. J. W (1998). “Collective dynamics of ’small-world’ networks”. In : Nature 393, p. 440–442. S, Steven H (2003). Sync : The emerging science of spontaneous order. Hyperion.  : 0786868449. S, Thomas et Holger H H (2000). “MAX–MIN ant system”. In : Future generation computer systems 16 (8), p. 889–914.  : 0167-739X. T, Gerard (2000).Introduction to distributed algorithms. Cambridge university press. : 0521794838. T, J. D., K. D. D et J. E. F (2006). “Partitioning and Dynamic Load Balancing for the Numerical Solution of Partial Differential Equations”. In : Numerical solution of partial differential equations on parallel computers. Bruaset, Are Magnus. Springer. T, Bent, Lone L et Tsung-Min K (1996). “A Facile Tutorial”. In : Proceedings of the 7th International Conference on Concurrency Theory. CONCUR ’96. London, UK : Springer-Verlag, p. 278–298.  : 3-540-61604-7.  : http://portal.acm.org/ citation.cfm?id=646731.703703. T, Miroslaw (1985). “Centers and Centroids of Unicyclic Graphs”. In : Mathematica Slovaca 35 (3), p. 223–228. T (2013). Tulip software graph format (TLP) | Tulip.  : http://tulip.labri.fr/ TulipDrupal/?q=tlp-file-format (visité le 04/11/2013). T, Alexander, Gunther A et Christian B (2006). “Fireflies as role models for synchronization in ad hoc networks”. In : Proceedings of the 1st international conference on Bio inspired models of network, information and computing systems. BIONETICS ’06. New York, NY, USA : ACM.  : 1-4244-0463-0.  : http://doi. acm . org / 10 . 1145 / 1315843 . 1315848.  : http : / / doi . acm . org / 10 . 1145 / 1315843.1315848. V, John et al. (1995). “Design patterns : Elements of reusable object-oriented software”. In : Reading : Addison-Wesley 49, p. 120. 235B V L, Ulrike (2007). “A tutorial on spectral clustering”. In : Statistics and computing 17 (4), p. 395–416.  : 0960-3174. V N, John (1993). “First Draft of a Report on the EDVAC”. In : Annals of the History of Computing, IEEE 15 (4), p. 27–75.  : 1058-6180. W, Brian et al. (2004). “Resilience, Adaptability and Transformability in Social– ecological Systems”. In : Ecology and Society 9 (2). W, Stephen (1962). “A theorem on boolean matrices”. In : Journal of the ACM (JACM) 9 (1), p. 11–12.  : 0004-5411. W, Stanley et Katherine F (1994). Social Networks Analysis. Cambridge University Press. W, Duncan J et Steven HS (1998). “Collective dynamics of ‘small-world’networks”. In : nature 393 (6684), p. 440–442.  : 0028-0836. W, Mark (1991). “The computer for the 21st century”. In : Scientific american 265 (3), p. 94–104.  : 0036-8733. — (1993). “Some computer science issues in ubiquitous computing”. In : Communications of the ACM 36 (7), p. 75–84.  : 0001-0782. W, Roy D. (1991). “Performance of dynamic load balancing algorithms for unstructured mesh calculations”. In : Concurrency : Practice and experience 3 (5), p. 457–481. W, Ann, Roger R et Jim W (1996). “A Distributed Object Model for the Java TM System”. In : Computing Systems 9, p. 265–290.  : 0895-6340. X, Jierui, Stephen K et Boleslaw K S (2011). “Overlapping community detection in networks : the state of the art and comparative study”. In : arXiv preprint arXiv :1110.5813. Z,W.W. (1977). “An information flow modelfor conflict and fission in small groups”. In : Journal of Anthropological Research 33, p. 452–473. Z, Franco et Mirko V(2011). “A survey on nature-inspired metaphors for pervasive service ecosystems”. In : International Journal of Pervasive Computing and Communications 7 (3), p. 186–204. Z, Bernard P., Herbert P et Tag Gon K (2000). Theory of Modeling and Simulation [Second Edition] : Integrating Discrete Event and Continuous Complex Dynamic Systems. Z, Shuai et al. (2010). “The comparison between cloud computing and grid computing”. In : Computer Application and System Modeling (ICCASM), 2010 International Conference on. T. 11. IEEE, p. V11–72.  : 1424472350. 236P D, Antoine, DamienO et GuilhelmS (29 june 2009). “Dagda, a load-balanced middleware to distribute Complex Systems simulations”. In : 3rd International Conference on Complex Systems and Applications (ICCSA’09). France, p. 171–174.  : http: //litis.univ-lehavre.fr/~savin/bib/ICCSA2009.pdf. — (juil. 2010a). “Collaboration and Competition in Boids Simulations with Predation”. In : Emergent Properties in Natural and Artificial Complex Systems (EPNACS) in European Conference on Complex System (ECCS) 2010. — (29th March - 1st April 2010b). “Swarm Intelligence to Distribute Simulations in Computational Ecosystems”. In : Swarm Intelligence Algorithms and Applications Symposium (SIAAS) in the Thirty Sixth Annual Convention of the Society for the Study of Artificial Intelligence and Simulation of Behaviour (AISB’10). De Montfort University, Leicester.  : http://litis.univ-lehavre.fr/~savin/bib/AISB2010.pdf. — (sept. 2011). “Centroids : a decentralized approach”. In : Emergent Properties in Natural and Artificial Complex Systems (EPNACS) in European Conference on Complex System (ECCS) 2011. D, Antoine, Yoann P et Guilhelm S (sept. 2011). “GraphStream Workshop”. In : Emergent Properties in Natural and Artificial Complex Systems (EPNACS) in European Conference on Complex System (ECCS) 2011. D, Antoine et al. (oct. 2006b). “Pyocyanic Bacillus Propagation Simulation”. In : CoSSom workshop in European Simulation and Modeling conference (ESM). Toulouse, France.  : http://litis.univ-lehavre.fr/~dutot/biblio/COSSOM2006.pdf. S, Guilhelm (16-18 novembre 2009). “Dagda, un intergiciel pour la distribution dynamique de simulations de système complexe”. In : majecSTIC 2009. France.  : http: //litis.univ-lehavre.fr/~savin/bib/majecSTIC2009.pdf. 237I A acteur ............................ 181 algorithme distribué ................ 94 auto-réparti .......................154 B biocénose ...................... 16, 19 biome .............................19 biosphère ..........................19 biotope.........................16, 19 bissection récursive.................65 C causalité .....................106, 107 centralité ......................... 119 spectrale ...................... 44 centre ........................ 44, 120 centre de gravité ...............121 centroïde ......... 44, 118, 119, 121 de gravité......................44 de masse ...................... 44 k-centrum ....................122 classification hiérarchique ascendante .................... 67 descendante ................... 67 closeness ................voir proximité cloud computingvoir informatique dans le nuage collaboration ....................... 22 communauté.......................54 communication distante ...................... 152 effective ................. 152, 163 locale ....................152, 163 compétition ........................ 22 complexité ..........................8 D dendrogramme.....................67 distance ......................120, 121 dynamique du graphe cumulative.....................37 flux d’événements .............. 38 séquentielle....................36 E écologie ........................... 16 écosystème ........................19 computationnel ......14, 16, 19, 92 émergence........................106 descriptive....................106 explicative....................106 faible.........................106 forte .........................106 essaim..............................7 excentricité .......................120 F ferme de calcul .....voir grappe de calcul G granularité ........................ 115 graphe .............................31 distribué ....................... 21 dynamique ................33, 109 évolutif........................36 239I orienté ........................ 31 pondéré ....................... 31 ré-optimisation (pour la) ........ 39 grappe de calcul.................15, 89 grille de calcul .................. 15, 90 H homéostasie........................12 I informatique dans le nuage .......... 91 interaction asynchrone ...................109 ciblée ........................109 diffuse ....................... 109 directe ....................... 107 indirecte......................107 proactive ...................... 12 rétroactive .....................12 synchrone ....................109 intergiciel ......................15, 151 intermédiarité ..................44, 49 K k-clique ........................... 54 k-plex ............................. 55 Kolmogorov, complexité de ...........8 M macroscopique, vue............114, 118 Markov, chaîne de ..................40 matrice d’adjacence....................69 de transition ................... 40 Laplacienne....................70 membrane..................9, 23, 160 microscopique, vue ................ 114 middleware..............voir intergiciel multi-échelles ...................... 21 multi-niveaux ......................65 multicast ......................... 188 N NoSQL ........................... 194 noyau ............................. 23 O objet actif .........................181 organisation....................10, 114 auto-organisation...10, 22, 114, 153 P PageRank ...................... 44, 50 partitionnement ....................64 phénomène.........................11 diachronique ................... 11 synchronique ...................11 phéromone ........................ 98 processus ..................... 56, 117 continu........................58 global ......................... 58 itératif ........................ 58 local .......................... 58 macro .........................58 micro ......................... 58 proximité ...................... 44, 46 R répartition de charges .............. 151 réseau complexe ...................... 33 d’interactions .................. 33 sans échelle....................33 résilience .......................... 22 écologique ..................... 22 d’ingénierie .................... 22 rétroaction ........................107 robustesse ......................... 22 S stigmergie.............9, 108, 123, 156 structure...........................52 système complexe ....................... 7 dissipatif .......................11 distribué...................14, 151 fermé ......................... 10 240Index ouvert .........................10 T temps, plongé dans le................11 termite ............................. 9 théorie spectrale ................... 69 thermodynamique ..................92 U ubiquitaire, informatique ............ 91 V valeur propre.......................70 vecteur propre ..................... 70 241Résumé Nous présentons dans ces travaux une contribution concernant la distribution de simulations de système complexe dans des environnements distribués ouverts. Nous considérons ces environnements comme des écosystèmes computationnels, dont nous décrivons les propriétés et les caractéristiques, dans lesquels évoluent, de par leur exécution, les simulations. Elles sont modélisées sous la forme d’un réseau d’interactions représenté à l’aide d’un graphe dynamique. En considérant les différentes dynamiques possibles, nous proposons un formalisme général représentant ces graphes, ainsi qu’une interface de programmation, G- S, permettant de les manipuler et de les étudier. Le graphe dynamique est alors un sujet d’étude dans lequel nous recherchons des organisations, que nous suivons dans le temps, afin de minimiser les coûts de communication entre les machines et d’équilibrer la charge de calcul. Nous apportons une amélioration visant à réduire les oscillations des résultats de l’algorithme AntCo2 utilisant des colonies de fourmis numériques qui, grâce à des mécanismes de compétition et de collaboration, détecte des organisations. La stabilité de ces dernières est déterminée par l’intermédiaire d’une heuristique de recherche distribuée et dynamique de centroïdes. Un intergiciel est proposé permettant de distribuer de manière décentralisée et dynamique les simulations dans un écosystème computationnel en favorisant les organisations et en respectant l’équilibrage de charge. Abstract This work presents our contribution about the distribution of complex system simulations in open distributed environments. We consider these environments as computational ecosystems, of whose we describe properties and characteristics, wherein simulations will evolve, by their execution. An interaction network models these simulations, that we represent as a dynamic graph. Considering the different kinds of possible dynamics, we propose a global formalism that can be used to describe these graphs, along with a software framework, GS, allowing their manipulation and their study. The dynamic graph is then the object of a study wherein we are looking for organisations, following them through time, in order to minimise communications’s costs between machines, and to balance the computation load. We bring an improvement aiming to reduce results’s oscillations of AntCo2 , which is algorithm using digital ants colonies to detect organisations, through competition and collaboration mechanisms. Stability of these organisations is determined by a dynamic and distributed heuristic to find centroid of graph. We propose a middleware allowing a dynamic and decentralized distribution of simulations in a computational ecosystem, by favouring organisations and respecting the load balancing. 243 D´etection de rails, caract´erisation de croisements et localisation de trains sur la trajectoire d’un m´etro automatique Jorge Corsino Espino To cite this version: Jorge Corsino Espino. D´etection de rails, caract´erisation de croisements et localisation de trains sur la trajectoire d’un m´etro automatique. Other. Ecole Nationale Sup´erieure des Mines de Paris, 2014. French. . HAL Id: pastel-01068899 https://pastel.archives-ouvertes.fr/pastel-01068899 Submitted on 26 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.T H È S E INSTITUT DES SCIENCES ET TECHNOLOGIES École doctorale nO432 : Sciences des Métiers de l’ingénieur Doctorat ParisTech T H È S E pour obtenir le grade de docteur délivré par l’École nationale supérieure des mines de Paris Spécialité « Informatique temps-réel, robotique et automatique » présentée et soutenue publiquement par Jorge CORSINO ESPINO le 13 Juin 2014 Détection de rails, caractérisation de croisements et localisation de trains sur la trajectoire d’un métro automatique Rails detection, turnouts characterisation and trains localization in an automated metro’s trajectory Directrice de thèse : Brigitte d’ANDRÉA-NOVEL Co-encadrement de la thèse : Bogdan STANCIULESCU Co-encadrement de la thèse : Philippe FORIN Jury M. Didier AUBERT, Directeur de Recherche, IFSTTAR Rapporteur M. Antoine MANZANERA, Maître de Conférence (HDR), ENSTA ParisTech Rapporteur Mme. Brigitte d’ANDRÉA-NOVEL, Professeur, Mines ParisTech Examinateur Mme. Bernadette DORIZZI, Directrice de Recherche, TELECOM SudParis Examinateur M. Philippe FORIN, Ingénieur, SIEMENES SAS Examinateur M. Bogdan STANCIULESCU, Maître de Conférence, Mines ParisTech Examinateur M. Said EL FASSI, Ingénieur, SNCF Invité MINES ParisTech Centre de Robotique 60 bd Saint Michel, 75006 PARIS - France✐ ❘❡♠❡r❝✐❡♠❡♥ts ❏❡ r❡♠❡r❝✐❡ ▼♦♥s✐❡✉r ❉✐❞✐❡r ❆✉❜❡rt ❡t ▼♦♥s✐❡✉r ❆♥t♦✐♥❡ ▼❛♥③❛♥❡r❛ q✉✐ ♠✬♦♥t ❢❛✐t ❧✬❤♦♥♥❡✉r ❞✬❛❝❝❡♣t❡r ❞✬êtr❡ r❛♣♣♦rt❡✉rs ❞❡ ❝❡tt❡ t❤ès❡✳ ▲❛ ✈❡rs✐♦♥ ✜♥❛❧❡ ❞❡ ❝❡ ♠é♠♦✐r❡ ❛ ❜é♥é✜❝✐é ❞❡ ❧❡✉r ❧❡❝t✉r❡ très ❛tt❡♥t✐✈❡ ❡t ❞❡ ❧❡✉rs r❡♠❛rq✉❡s ♣ré❝✐❡✉s❡s✳ ▼❡s r❡♠❡r❝✐❡♠❡♥ts s✬❛❞r❡ss❡♥t ❛✉ss✐ à ▼❛❞❛♠❡ ❇❡r♥❛❞❡tt❡ ❉♦r✐③③✐ ♣♦✉r ❛✈♦✐r ❛❝❝❡♣té ❞✬êtr❡ ♣rés✐❞❡♥t ❞✉ ❥✉r②✳ ❏❡ r❡♠❡r❝✐❡ é❣❛❧❡♠❡♥t t♦✉s ❧❡s ♠❡♠❜r❡s ❞✉ ❥✉r② ❞✬❛✈♦✐r ❛❝❝❡♣té ❞✬❛ss✐st❡r à ❧❛ ♣rés❡♥t❛t✐♦♥ ❞❡ ❝❡ tr❛✈❛✐❧✱ ♣❛rt✐❝✉❧✐èr❡♠❡♥t à ▼♦♥s✐❡✉r ❙❛✐❞ ❊▲ ❋❛ss✐✱ ♣r♦♠♦t❡✉r ❞❡ ❝❡tt❡ t❤ès❡ ❈■❋❘❊✳ ❏❡ ✈♦✉❞r❛✐s r❡♠❡r❝✐❡r ▼❛❞❛♠❡ ❇r✐❣✐tt❡ ❞✬❆♥❞ré❛✲◆♦✈❡❧ ❞✬❛✈♦✐r ❞✐r✐❣é ❧❡s tr❛✈❛✉① ❞❡ t❤ès❡ ❡t ❞❡ ♠✬❛✈♦✐r ❛❝❝✉❡✐❧❧✐ ❛✉ s❡✐♥ ❞✉ ❝②❝❧❡ ❞✬■♥❣é♥✐❡✉r ❈✐✈✐❧ ♦♣t✐♦♥ ▼❆❘❊❱❆✳ ▲❡s ❝♦♥♥❛✐ss❛♥❝❡s ❛❝q✉✐s❡s ♣❡♥❞❛♥t ❝❡t ❛♥♥é❡ ♠✬♦♥t ♣❡r♠✐t ❞❡ ♠✐❡✉① ❛✛r♦♥t❡r ❧❡s tr❛✈❛✉① ❞❡ t❤ès❡✳ ❏❡ r❡♠❡r❝✐❡ ▼♦♥s✐❡✉r ❇♦❣❞❛♥ ❙t❛♥❝✐✉❧❡s❝✉ q✉✐ ❛ ❞é♣♦sé s❛ ❝♦♥✜❛♥❝❡ ❡♥ ♠♦✐ ♣♦✉r ré❛❧✐s❡r ✉♥❡ t❤ès❡ ❡t ♣♦✉r ❛✈♦✐r ❡♥❝❛❞ré ♠❡s tr❛✈❛✉①✳ ■❧ ♠✬❛ t♦✉❥♦✉rs ❡♥❝♦✉r❛❣é ♣♦✉r ré❞✐❣❡r ❞❡s ❛rt✐❝❧❡s ❡t ♥♦✉s ❛✈♦♥s ♣❛ssés ❞❡s très ❜♦♥s ♠♦♠❡♥ts ❛♣rès ❞❡s ❥♦✉r♥é❡s ❞❡ tr❛✈❛✐❧ ✐♥t❡♥s❡s✳ ❏❡ r❡♠❡r❝✐❡ é❣❛❧❡♠❡♥t ▼♦♥s✐❡✉r P❤✐❧✐♣♣❡ ❋♦r✐♥✱ ❝♦✲❡♥❝❛❞r❛♥t ❞❡ t❤ès❡ ❝ôté ✐♥❞✉str✐❡❧✳ ■❧ ❛ t♦✉✲ ❥♦✉rs été ❞✐s♣♦♥✐❜❧❡✱ à ❧✬é❝♦✉t❡ ❞❡ ♠❡s ♥♦♠❜r❡✉s❡s q✉❡st✐♦♥s✱ ❡t s✬❡st t♦✉❥♦✉rs ✐♥tér❡ssé à ❧✬❛✈❛♥❝é❡ ❞❡ ♠❡s tr❛✈❛✉①✳ ▲❡s ♥♦♠❜r❡✉s❡s ❞✐s❝✉ss✐♦♥s q✉❡ ♥♦✉s ❛✈♦♥s ❡✉❡s ❛✐♥s✐ q✉❡ s❡s ❝♦♥s❡✐❧s s♦♥t ♣♦✉r ❜❡❛✉❝♦✉♣ ❞❛♥s ❧❡ rés✉❧t❛t ✜♥❛❧ ❞❡ ❝❡ tr❛✈❛✐❧✳ ❯♥ r❡♠❡r❝✐❡♠❡♥t s♣é❝✐❛❧ ♣♦✉r ❧❡s ♣❡rs♦♥♥❡s q✉✐ ♦♥t ❛❝❝❡♣té ❞❡ r❡❧✐r❡ q✉❡❧q✉❡s ♣❛rt✐❡s ❞✉ ♠❛✲ ♥✉s❝r✐t ✿ ▼❛rt②♥❛✱ ❆♥♥❡ ❙♦♣❤✐❡✱ ❋❛t✐♥✱ ❏✉❧✐❡♥✱ ❇❡♥❥❛♠✐♥✱ ❏♦ã♦✱ ❖❧✐✈✐❡r✱ ❙②❧✈❛✐♥✱ ❖♠❛r✱✳✳✳ P✉✐s✱ ❥❡ s♦✉❤❛✐t❡ ✈✐✈❡♠❡♥t r❡♠❡r❝✐❡r t♦✉s ♠❡s ❝♦❧❧è❣✉❡s ❞✉ ❈❆❖❘ ❡t ❞❡ ❙■❊▼❊◆❙✳ ❈❡s tr♦✐s ❛♥♥é❡s ❞❡ ❜♦♥♥❡ ❛♠❜✐❛♥❝❡ ❡t ❞❡ ❝♦❧❧❛❜♦r❛t✐♦♥ s❡r♦♥t ✐♥♦✉❜❧✐❛❜❧❡s✳ ❈❡rt❛✐♥s ❞✬❡♥tr❡ ✈♦✉s s♦♥t ❞❡✈❡✲ ♥✉s ❞❡s ❛♠✐s✳ ❊♥✜♥ s❛♥s ❛✈♦✐r ❞✐r❡❝t❡♠❡♥t ♣❛rt✐❝✐♣é ❛✉ tr❛✈❛✐❧ ❞❡ r❡❝❤❡r❝❤❡✱ ❥❡ r❡♠❡r❝✐❡ t♦✉t❡s ❧❡s ♣❡rs♦♥♥❡s q✉✐ ♦♥t ❛✐❞é à s♦♥ ❛❝❝♦♠♣❧✐ss❡♠❡♥t ❡t q✉✐ ♠✬♦♥t ❛❝❝♦♠♣❛❣♥é à ❙✐❡♠❡♥s ❡t à ❧✬❊❝♦❧❡ ❞❡ ▼✐♥❡s ❞❡ P❛r✐s✳ ❏❡ ❞♦✐s ❜❡❛✉❝♦✉♣ à ♠❛ ❢❛♠✐❧❧❡ ❡t ♠❡s ❛♠✐s✳ ❏❡ ♥❡ ❧❡s ❝✐t❡r❛✐ ♣❛s✱ ❥❡ ♣❡♥s❡ s✐♠♣❧❡♠❡♥t à ❡✉①✳❚❛❜❧❡ ❞❡s ♠❛t✐èr❡s ✶ ■♥tr♦❞✉❝t✐♦♥ ✶ ✶✳✶ ■♥tr♦❞✉❝t✐♦♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶ ✶✳✷ ❈♦♥t❡①t❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸ ✶✳✷✳✶ ❙ûr❡té ❢❡rr♦✈✐❛✐r❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸ ✶✳✷✳✷ ◆♦r♠❡s ❊◆ ✺✵✶✷✾ ❡t ❊◆ ✺✵✶✷✻ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✹ ✶✳✷✳✸ ◆♦r♠❡ ❊◆ ✶✺✷✷✼ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✻ ✶✳✸ ▲❛ ✈✐t❡ss❡ ❝♦♠♠❡r❝✐❛❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼ ✶✳✸✳✶ ▼❛r❝❤❡ ❞✉ tr❛✐♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼ ✶✳✸✳✷ ❉✐st❛♥❝❡ ❞✬❛rrêt ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽ ✶✳✹ ❈♦♥❞✉✐t❡s ♥♦♥ ❛✉t♦♠❛t✐sé❡s ❞✉ tr❛✐♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾ ✶✳✹✳✶ ❖✉✈❡rt✉r❡ ❞❡ ❧❛ ❧✐❣♥❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾ ✶✳✹✳✷ ❘❡♣r✐s❡ ❡♥ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵ ✶✳✹✳✸ ▼♦✉✈❡♠❡♥t ❡♥ ❣❛r❛❣❡ ♦✉ ❛t❡❧✐❡r ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✶ ✶✳✺ ❖❜❥❡❝t✐❢s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✷ ✶✳✺✳✶ ❖❜❥❡❝t✐❢s t❡❝❤♥✐q✉❡s ❡t ♣❡r❢♦r♠❛♥❝❡s à ❛tt❡✐♥❞r❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✷ ✶✳✺✳✷ ❖❜❥❡❝t✐❢s s❝✐❡♥t✐✜q✉❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✷ ✶✳✻ ❖r❣❛♥✐s❛t✐♦♥ ❞✉ ♠❛♥✉s❝r✐t ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✹ ✷ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ ✶✺ ✷✳✶ ➱t❛t ❞❡ ❧✬❛rt ❞❡s s②stè♠❡s ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❢❡rr♦✈✐❛✐r❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✺ ✷✳✷ ❈❤♦✐① ❞✉ ❝❛♣t❡✉r ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✾ ✷✳✷✳✶ ❈❛♣t❡✉rs ❛❝t✐❢s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✾ ✷✳✷✳✷ ❈❛♣t❡✉rs ♣❛ss✐❢s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✵ ✷✳✸ ▲❡ ❱é❤✐❝✉❧❡ ❆✉t♦♠❛t✐q✉❡ ▲é❣❡r ✿ ❱❆▲ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✶ ✷✳✸✳✶ ❈♦♠♣♦s✐t✐♦♥ ❞✬✉♥ ✈é❤✐❝✉❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✶ ✷✳✸✳✷ ❈❛r❛❝tér✐st✐q✉❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✷ ✷✳✸✳✸ ▼♦❞è❧❡ ❞✉ ✈é❤✐❝✉❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✸ ✷✳✹ ➱t❛❧♦♥♥❛❣❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✹ ✷✳✹✳✶ ▼♦❞é❧✐s❡r ✉♥❡ ❝❛♠ér❛ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✹ ✷✳✹✳✷ ▼ét❤♦❞❡s ❞✬ét❛❧♦♥♥❛❣❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✼ ✷✳✹✳✸ ▼ét❤♦❞❡ ❞✬ét❛❧♦♥♥❛❣❡ ♣r♦♣♦sé❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸✷ ✷✳✹✳✹ ❘és✉❧t❛ts ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸✺ ✸ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ✸✾ ✸✳✶ ▼♦t✐✈❛t✐♦♥s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸✾ ✸✳✶✳✶ ❇❛s❡ ❞❡ ❞♦♥♥é❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸✾ ✸✳✶✳✷ ▲❛ ♣✐st❡ ❞❡ r♦✉❧❡♠❡♥t ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✹✵ ✸✳✷ ➱t❛t ❞❡ ❧✬❛rt ❡t ❛♣♣r♦❝❤❡s t❡sté❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✹✶ ✸✳✸ ❆♣♣r♦❝❤❡ r❡t❡♥✉❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✺✶ ✸✳✸✳✶ ❙é❧❡❝t✐♦♥ ❞✉ ▼❛sq✉❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✺✶ ✸✳✸✳✷ ❆♥❛❧②s❡ ❞❡s ❣r❛❞✐❡♥ts ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✺✸ ✸✳✸✳✸ ❘❡❝❤❡r❝❤❡ ❞✉ ♠♦❞è❧❡ ❞❛♥s ❧✬❡s♣❛❝❡ ✸❉ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✺✼ ✸✳✸✳✹ ❉é♣❡♥❞❛♥❝❡ t❡♠♣♦r❡❧❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✻✷ ✸✳✸✳✺ ❉ét❡r♠✐♥❛t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✻✸ ✸✳✹ ❘és✉❧t❛ts ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✻✼✐✈ ❚❛❜❧❡ ❞❡s ♠❛t✐èr❡s ✹ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ✼✸ ✹✳✶ ▼♦t✐✈❛t✐♦♥s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼✸ ✹✳✷ ▲❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼✺ ✹✳✸ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼✼ ✹✳✸✳✶ ❯t✐❧✐s❛t✐♦♥ ❞❡ ❧❛ tr❛♥s❢♦r♠é❡ ❇✐r❞ ❡②❡s✬ ✈✐❡✇ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼✼ ✹✳✸✳✷ ❉❡s❝r✐♣t❡✉r ✿ ❚❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼✽ ✹✳✸✳✸ ❉❡s❝r✐♣t❡✉r ✿ ❍✐st♦❣r❛♠♠❡ ❞❡ ❣r❛❞✐❡♥ts ♦r✐❡♥tés ✭❍❖●✮ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✶ ✹✳✹ ❘és✉❧t❛ts ❞❡ ❞ét❡❝t✐♦♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✹ ✹✳✹✳✶ ▼❛❝❤✐♥❡s à ✈❡❝t❡✉rs ❞❡ s✉♣♣♦rt ✭❙❱▼✮ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✹ ✹✳✹✳✷ ▼❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ❡t ❝♦✉r❜❡ ❘❖❈ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✺ ✹✳✹✳✸ ❘és✉❧t❛ts ❞✉ ❞❡s❝r✐♣t❡✉r ❜❛sé ❡♥ ❚❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✻ ✹✳✹✳✹ ❘és✉❧t❛ts ♦❜t❡♥✉s ❛✈❡❝ ❍❖● ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✼ ✹✳✺ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞✉ t②♣❡ ❞✬❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✾ ✹✳✺✳✶ ❙❱▼ ♠✉❧t✐✲❝❧❛ss❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾✵ ✹✳✺✳✷ ❉❡s❝r✐♣t❡✉r ♣r♦♣♦sé ✿ ❍❖● ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾✵ ✹✳✺✳✸ ❘és✉❧t❛ts ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾✷ ✺ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ✿ tr❛✐♥s ✾✼ ✺✳✶ ■♥tr♦❞✉❝t✐♦♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾✼ ✺✳✶✳✶ ❙②stè♠❡s ❡♥ ❝♦♠♠❡r❝✐❛❧✐s❛t✐♦♥ ✐♥❞✉str✐❡❧❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾✾ ✺✳✷ ❇❛s❡ ❞❡ ❞♦♥♥é❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵✵ ✺✳✸ ❙é❧❡❝t✐♦♥ ❞✉ ❞❡s❝r✐♣t❡✉r ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵✷ ✺✳✸✳✶ ❉❡s❝r✐♣t❡✉rs ❧♦❝❛✉① ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵✷ ✺✳✸✳✷ ❆♥❛❧②s❡ ❣❧♦❜❛❧❡ ✿ ❍✐st♦❣r❛♠♠❡ ❞❡ ❣r❛❞✐❡♥ts ♦r✐❡♥tés ✭❍❖●✮ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵✻ ✺✳✹ ❘és✉❧t❛ts ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵✼ ✻ ❈♦♥❝❧✉s✐♦♥s ✶✶✶ ✻✳✶ ❈♦♥❝❧✉s✐♦♥s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✶✶ ✻✳✷ ❚r❛✈❛✉① ❢✉t✉rs ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✶✸ P✉❜❧✐❝❛t✐♦♥s ✶✶✺ ❆✳✶ ❆rt✐❝❧❡ ■❚❙❈ ✷✵✶✷ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✶✻ ❆✳✷ ❆rt✐❝❧❡ ■❈■❘❚ ✷✵✶✸ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✷✶ ❆✳✸ ❆rt✐❝❧❡ ■❚❙❈ ✷✵✶✸ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✷✼ ❇✐❜❧✐♦❣r❛♣❤✐❡ ✶✸✸❈❤❛♣✐tr❡ ✶ ■♥tr♦❞✉❝t✐♦♥ ❙♦♠♠❛✐r❡ ✶✳✶ ■♥tr♦❞✉❝t✐♦♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶ ✶✳✷ ❈♦♥t❡①t❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸ ✶✳✷✳✶ ❙ûr❡té ❢❡rr♦✈✐❛✐r❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸ ✶✳✷✳✷ ◆♦r♠❡s ❊◆ ✺✵✶✷✾ ❡t ❊◆ ✺✵✶✷✻ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✹ ✶✳✷✳✷✳✶ ◆✐✈❡❛✉ ❞❡ ♣r♦❜❛❜✐❧✐té ❞❡ ❧✬❛❝❝✐❞❡♥t ♣♦t❡♥t✐❡❧ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✹ ✶✳✷✳✷✳✷ ◆✐✈❡❛✉ ❞❡ ❣r❛✈✐té ❞❡s ❞♦♠♠❛❣❡s ❡♥❣❡♥❞rés ♣❛r ❧✬❛❝❝✐❞❡♥t ♣♦t❡♥t✐❡❧ ✺ ✶✳✷✳✷✳✸ ◆✐✈❡❛✉ ❞❡ r✐sq✉❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✺ ✶✳✷✳✸ ◆♦r♠❡ ❊◆ ✶✺✷✷✼ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✻ ✶✳✸ ▲❛ ✈✐t❡ss❡ ❝♦♠♠❡r❝✐❛❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼ ✶✳✸✳✶ ▼❛r❝❤❡ ❞✉ tr❛✐♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼ ✶✳✸✳✷ ❉✐st❛♥❝❡ ❞✬❛rrêt ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽ ✶✳✹ ❈♦♥❞✉✐t❡s ♥♦♥ ❛✉t♦♠❛t✐sé❡s ❞✉ tr❛✐♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾ ✶✳✹✳✶ ❖✉✈❡rt✉r❡ ❞❡ ❧❛ ❧✐❣♥❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾ ✶✳✹✳✷ ❘❡♣r✐s❡ ❡♥ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵ ✶✳✹✳✷✳✶ ❆❝t✐♦♥s ❞✉ s②stè♠❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵ ✶✳✹✳✸ ▼♦✉✈❡♠❡♥t ❡♥ ❣❛r❛❣❡ ♦✉ ❛t❡❧✐❡r ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✶ ✶✳✹✳✸✳✶ ❆❝t✐♦♥s ❞✉ s②stè♠❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✶ ✶✳✺ ❖❜❥❡❝t✐❢s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✷ ✶✳✺✳✶ ❖❜❥❡❝t✐❢s t❡❝❤♥✐q✉❡s ❡t ♣❡r❢♦r♠❛♥❝❡s à ❛tt❡✐♥❞r❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✷ ✶✳✺✳✷ ❖❜❥❡❝t✐❢s s❝✐❡♥t✐✜q✉❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✷ ✶✳✻ ❖r❣❛♥✐s❛t✐♦♥ ❞✉ ♠❛♥✉s❝r✐t ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✹ ✶✳✶ ■♥tr♦❞✉❝t✐♦♥ ❉❛♥s ❧❡s ❞❡r♥✐èr❡s ❞é❝❡♥♥✐❡s✱ ❧❡s s②stè♠❡s ❞❡ tr❛♥s♣♦rts ♦♥t ✈✉ s✬❛♠é❧✐♦r❡r ❧❡s ❝♦♥❞✐t✐♦♥s ❞❡ sé❝✉r✐té✱ ❧✬♦♣t✐♠✐s❛t✐♦♥ ❞❡s rés❡❛✉①✱ ❧❛ ré❞✉❝t✐♦♥ ❞❡ ❧❛ ❝♦♥s♦♠♠❛t✐♦♥ ❞✬é♥❡r❣✐❡ ❡t ❧❛ ❞✐♠✐♥✉t✐♦♥ ❞❡ ❧❛ ♣♦❧❧✉t✐♦♥✳ ▲❡s r❡❝❤❡r❝❤❡s ❛✉t♦✉r ❞❡ ❧❛ ❝♦♥❞✉✐t❡ ❛✉t♦♠❛t✐q✉❡✱ ❞❛♥s ❧❛q✉❡❧❧❡ ❞❡ ♥♦✉✈❡❧❧❡s t❡❝❤♥✐q✉❡s s♦♥t ❡♥ tr❛✐♥ ❞❡ s❡ ❞é✈❡❧♦♣♣❡r✱ s❡ ♣♦✉rs✉✐✈❡♥t✳ ❈❡s r❡❝❤❡r❝❤❡s ✐♥❝❧✉❡♥t ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ❡t ❧❡ s✉✐✈✐ ❞❡s ♠❛rq✉❛❣❡s ❞❡s ✈♦✐❡s ❞❡ ❝✐r❝✉❧❛t✐♦♥ ❡♥ ♠❛✐♥t❡♥❛♥t ❧❛ ❞✐st❛♥❝❡ ❞❡ sé❝✉r✐té ♣❛r r❛♣♣♦rt ❛✉① ❛✉tr❡s ✈é❤✐❝✉❧❡s✱ ❧❡s ❝❤❛♥❣❡♠❡♥ts ❞❡ ✈♦✐❡ ♣♦✉r ❞é♣❛ss❡r ✉♥ ✈é❤✐❝✉❧❡✱ ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✱ ❧❛ ❣❡st✐♦♥ ❞❡s ❝❛rr❡❢♦✉rs ❡t ❧✬❛♠é❧✐♦r❛t✐♦♥ ❞❡s ❝♦♥❞✐t✐♦♥s ❞❡ ✈✐s✐❜✐❧✐té ❞❡s ❝❛♠ér❛s✳ ■❧s ✈✐s❡♥t ❛✉ ❞é✈❡❧♦♣♣❡♠❡♥t ❞❡ ❙②stè♠❡s ■♥t❡❧❧✐❣❡♥ts ❞❡ ❚r❛♥s♣♦rts ✭❙❚■✮ ♦✉ ✓■♥t❡❧❧✐❣❡♥t ❚r❛♥s♣♦rt ❙②st❡♠s✔ ✭■❚❙✮✳ ▲❡s ♣r❡♠✐èr❡s r❡❝❤❡r❝❤❡s ❡♥ ♠❛t✐èr❡ ❞❡ ✓✈é❤✐❝✉❧❡ ✐♥t❡❧❧✐❣❡♥t✔ ❡t ❞❡ ✓r♦✉t❡ ✐♥t❡❧❧✐❣❡♥t❡✔ ♦♥t été ré❛❧✐sé❡s ❛✉ ♠✐❧✐❡✉ ❞❡s ❛♥♥é❡s ✶✾✽✵ ❛✈❡❝ ❧❡ ♣r♦❥❡t ❊✉r♦♣é❡♥ P❘❖▼❊❚❍❊❯❙ ✭❆❝r♦♥②♠❡ ❞❡ P❘❖❣r❛▼ ❢♦r ❛♥ ❊✉r♦♣❡❛♥ ❚r❛✣❝ ✇✐t❤ ❍✐❣❤❡st ❊✣❝✐❡♥❝② ❛♥❞ ❯♥♣r❡❝❡❞❡♥t ❙❛❢❡t②✮ ❡♥ ❊✉r♦♣❡✱ ❛✉① ➱t❛ts✲❯♥✐s ❧❡ ♣r♦❥❡t ■❱❍❙ ✭■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡ ❛♥❞ ❍✐❣❤✇❛② ❙②st❡♠✮ ❡t ❛✉ ❏❛♣♦♥ ❱■❈❙ ✭❱❡❤✐❝❧❡ ■♥❢♦r♠❛t✐♦♥ ❛♥❞ ❈♦♠♠✉♥✐❝❛t✐♦♥ ❙②st❡♠✮ ❬▼❛ss✐♠♦ ❡t ❛❧✳ ✷✵✵✵❪✳✷ ❈❤❛♣✐tr❡ ✶✳ ■♥tr♦❞✉❝t✐♦♥ ▲❡s tr❛♥s♣♦rts ❡♥ ❝♦♠♠✉♥ ❥♦✉❡♥t ✉♥ rô❧❡ ❡ss❡♥t✐❡❧ ❞❛♥s ❧❡s ❛❝t✐♦♥s ❞❡ ❞é✈❡❧♦♣♣❡♠❡♥t ❞✉r❛❜❧❡ ❡t ❧❡ ♠étr♦ s✬❡st ✐♠♣♦sé ❞❛♥s t♦✉t❡s ❧❡s ❣r❛♥❞❡s ♠étr♦♣♦❧❡s ❝♦♠♠❡ ❧❛ s♦❧✉t✐♦♥ ❧❛ ♣❧✉s ❡✣❝❛❝❡ ❡♥ ♠❛t✐èr❡ ❞❡ tr❛♥s♣♦rt ✉r❜❛✐♥ ❞❡ ♠❛ss❡✱ ❝❛r ✐❧ ♣rés❡♥t❡ ❞❡ ♥♦♠❜r❡✉① ❛✈❛♥t❛❣❡s ♣❛r r❛♣♣♦rt ❛✉① ✈é❤✐❝✉❧❡s ♣❡rs♦♥♥❡❧s ❝♦♠♠❡ ❧❛ r❛♣✐❞✐té✱ ❧❛ sé❝✉r✐té✱ ❧❛ ✜❛❜✐❧✐té✱ ✉♥❡ ❢❛✐❜❧❡ ♣♦❧❧✉t✐♦♥ ❡t ✉♥ ❝♦ût s✉✣s❛♠♠❡♥t ❜❛s ♣♦✉r êtr❡ ❛❝❝❡ss✐❜❧❡ à t♦✉s✳ ❆❝t✉❡❧❧❡♠❡♥t✱ ❧❡s s②stè♠❡s ❞❡ tr❛♥s♣♦rt ✉r❜❛✐♥s ❡♥t✐èr❡♠❡♥t ❛✉t♦♠❛t✐q✉❡s s❡ ❞é✈❡❧♦♣♣❡♥t✱ ❝❛r ✐❧s ♣rés❡♥t❡♥t ❞❡ ♥♦♠❜r❡✉① ❛✈❛♥t❛❣❡s ♣♦✉r ❧❡s ❡①♣❧♦✐t❛♥ts✳ ▲✬❛✉t♦♠❛t✐s❛t✐♦♥ ♣❡r♠❡t ♣❧✉s ❞❡ sé❝✉r✐té ❡t ✉♥❡ ♠❡✐❧❧❡✉r❡ ❛❞❛♣t❛t✐♦♥ ❛✉① ❜❡s♦✐♥s ❞✉ tr❛✜❝✱ t♦✉t ❡♥ ♦✛r❛♥t ✉♥❡ ❣r❛♥❞❡ ❛ttr❛❝t✐✈✐té ♣♦✉r ❧❡s ♣❛ss❛❣❡rs✳ ❙✐❡♠❡♥s ❙✳❆✳❙✳ ❛ ❝réé ❡t ❞é✈❡❧♦♣♣é ❧❡ ♣r❡♠✐❡r ♠étr♦ ❛✉ ♠♦♥❞❡ ❡♥t✐èr❡♠❡♥t ❛✉t♦♠❛t✐q✉❡ ❡t s❛♥s ❝♦♥❞✉❝t❡✉r ❡♥ ✶✾✽✸ à ▲✐❧❧❡ s♦✉s ❧❡ ♥♦♠ ❞❡ ❱❆▲ ✭❱é❤✐❝✉❧❡ ❆✉t♦♠❛t✐q✉❡ ▲é❣❡r✮✳ ❉✬❛❜♦r❞ rés❡r✈é❡ ❛✉① ♠étr♦s ❧é❣❡rs ❡t é❝♦♥♦♠✐q✉❡s✱ ❧✬❛✉t♦♠❛t✐s❛t✐♦♥ ❛ ❞❡♣✉✐s été ❛♣♣❧✐q✉é❡ à ❞❡s ♠étr♦s ❞❡ ❣❛❜❛r✐t ♣❧✉s ✐♠♣♦rt❛♥t ❝♦♠♠❡ ▼❊❚❊❖❘ ✭▼➱❚r♦ ❊st✲❖✉❡st ❘❛♣✐❞❡ à P❛r✐s ❧✐❣♥❡ ✹✮✳ ❙❛ s♦✉♣❧❡ss❡ ❞✬❡①♣❧♦✐✲ t❛t✐♦♥ ❧❡ r❡♥❞ é❣❛❧❡♠❡♥t ♣❛r❢❛✐t❡♠❡♥t ❛❞❛♣té ❛✉① ❞❡ss❡rt❡s ❞✬❛ér♦♣♦rts✳ ❉❡ ❝❡ ❢❛✐t✱ ✐❧ ❡st ❞é❥à ❡♥ ❡①♣❧♦✐t❛t✐♦♥ à P❛r✐s ❖r❧②✱ P❛r✐s ❈❤❛r❧❡s ❞❡ ●❛✉❧❧❡ ❡t ❈❤✐❝❛❣♦ ❬Pr♦✈♦st ✷✵✵✺❪✳ ▲✬❛♠é❧✐♦r❛t✐♦♥ ❞❡ ❧❛ sûr❡té ❡t ❧❛ sé❝✉r✐té s♦♥t ♣r✐♠♦r❞✐❛❧❡s ♣♦✉r ♥✬✐♠♣♦rt❡ q✉❡❧ s②stè♠❡ ❞❡ tr❛♥s♣♦rt ❡t ♦♥t ❡♥tr❛î♥é ❝❡s ❞❡r♥✐èr❡s ❛♥♥é❡s ✉♥❡ ❞✐♠✐♥✉t✐♦♥ ❞✉ ♥♦♠❜r❡ ❞✬❛❝❝✐❞❡♥ts✳ ❯♥❡ ❛♥❛❧②s❡ ❞❡s ❛❝❝✐❞❡♥ts ❢❡rr♦✈✐❛✐r❡s ❣râ❝❡ à ❞❡s ❞♦♥♥é❡s ❡①tr❛✐t❡s ❞❡ ❧✬❊✉r♦st❛t ✭❝❡♥tr❡ ❡✉r♦♣é❡♥ ❝❤❛r❣é ❞❡ ❧✬✐♥❢♦r♠❛t✐♦♥ st❛t✐st✐q✉❡ à ❧✬é❝❤❡❧❧❡ ❝♦♠♠✉♥❛✉t❛✐r❡✮ ❬◆❈❆P ✷✵✶✸❪✱ ❝♦♥st❛t❡ q✉❡ ❧❡s ❞❡✉① ♣r✐♥❝✐♣❛❧❡s ❝❛✉s❡s ❞✬❛❝❝✐❞❡♥ts s♦♥t ❧❡s ♣❛ss❛❣❡s à ♥✐✈❡❛✉ ❡t ❧❡s ❝♦❧❧✐s✐♦♥s ✭t❛❜❧❡❛✉ ✶✳✶✮✳ ❚❛❜❧❡❛✉ ✶✳✶ ❆❝❝✐❞❡♥ts ❢❡rr♦✈✐❛✐r❡s ✲ ♥♦♠❜r❡ ❞❡ ✈✐❝t✐♠❡s ♣❛r t②♣❡ ❞✬❛❝❝✐❞❡♥t✱ ❯❊✲✷✼✱ ✷✵✶✷ ✷✵✵✽ ✷✵✵✾ ✷✵✶✵ ✷✵✶✶ ❜❧❡ssés ❞é❝ès ❜❧❡ssés ❞é❝ès ❜❧❡ssés ❞é❝ès ❜❧❡ssés ❞é❝ès ❈♦❧❧✐s✐♦♥ ✾✷ ✷✸ ✺✸ ✶✵ ✷✻✼ ✹✶ ✹✾ ✶✺ ❉ér❛✐❧❧❡♠❡♥t ✶✺ ✸ ✶✾ ✸✷ ✷✶ ✸ ✹✺ ✹ P❛ss❛❣❡s à ♥✐✈❡❛✉ ✹✺✸ ✸✾✾ ✸✺✹ ✹✸✸ ✸✽✶ ✸✼✽ ✸✷✾ ✸✶✼ ❇✐❡♥ q✉❡ ❧❡s ❛❝❝✐❞❡♥ts ❢❡rr♦✈✐❛✐r❡s s♦✐❡♥t ♣❡✉ ♥♦♠❜r❡✉① ♣❛r r❛♣♣♦rt ❛✉① ❛❝❝✐❞❡♥ts r♦✉t✐❡rs✱ ❧❡✉r ✐♠♣❛❝t ♠é❞✐❛t✐q✉❡ ❡t ❧❡s ♣❡rt✉r❜❛t✐♦♥s ❞❡ ❝✐r❝✉❧❛t✐♦♥ ❝♦♥❞✉✐s❡♥t ❧❡s ❡①♣❧♦✐t❛♥ts ❡t ❧❡s ❛✉t♦r✐tés ❞❡ t✉t❡❧❧❡ à ❛♠é❧✐♦r❡r ❡♥ ♣❡r♠❛♥❡♥❝❡ ❧❛ sé❝✉r✐té ❞❡s ❝✐r❝✉❧❛t✐♦♥s✳ P♦✉r ❞é✜♥✐r ✉♥❡ s♦❧✉t✐♦♥ ✐♥❞✉str✐❡❧❧❡ ♣♦✉r ❧❡s ♠étr♦s ❛✉t♦♠❛t✐q✉❡s✱ ♥♦✉s s♦✉❤❛✐t♦♥s é✈❛❧✉❡r ❧❡s ❛♣♣r♦❝❤❡s ❜❛sé❡s s✉r ❧❛ ✈✐s✐♦♥ ♣❛r ♦r❞✐♥❛t❡✉r ❡t ❧❡ tr❛✐t❡♠❡♥t ❛✉t♦♠❛t✐sé ❞❡s ✐♠❛❣❡s✱ ❛✈❡❝ ❧✬♦❜❥❡❝t✐❢ ❞❡ ♣r♦♣♦s❡r ❞❡s ♠❡s✉r❡s ♣ré✈❡♥t✐✈❡s ❝♦♥tr❡ ❧❡s ❝♦❧❧✐s✐♦♥s✳ ❈❡tt❡ t❤ès❡ ♣♦rt❡ s✉r ❧❛ ❢♦♥❝t✐♦♥ ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❞❛♥s ❧❡ ❞♦♠❛✐♥❡ ❢❡rr♦✈✐❛✐r❡ à ♣❛rt✐r ❞❡ ❧❛ ✈✐s✐♦♥ ♣❛r ♦r❞✐♥❛t❡✉r✳ ■❧ s✬❛❣✐t ❞✬❛ss✉r❡r ✉♥❡ ♣❡r❝❡♣t✐♦♥ ❞❡ ❧✬❡♥✈✐r♦♥♥❡♠❡♥t s✐t✉é à ❧✬❛✈❛♥t ❞✉ tr❛✐♥ ♣❛r ❧✬✐♥t❡r♠é❞✐❛✐r❡ ❞✬✉♥ ❝❛♣t❡✉r ♦♣t✐q✉❡ ❛✜♥ ❞❡ ❞ét❡❝t❡r ❡t ❞✬é✈❛❧✉❡r ❧❡s ❞✐st❛♥❝❡s ❡t t❛✐❧❧❡s ❞❡s ♦❜st❛❝❧❡s s✐t✉és s✉r ❧❛ ✈♦✐❡✳ ▲❛ ❧✐st❡ s✉✐✈❛♥t❡ ❡st ✉♥❡ ♣r❡♠✐èr❡ ✐❞❡♥t✐✜❝❛t✐♦♥ ❞❡s ❛♣♣❧✐❝❛t✐♦♥s ❢❡rr♦✈✐❛✐r❡s ♣♦✉r ❧❡sq✉❡❧❧❡s ❞❡s s②stè♠❡s ❞❡ tr❛✐t❡♠❡♥ts ❞✬✐♠❛❣❡s ❡①✐st❡♥t ✭♠❛✐s q✉✐ ♣♦s❡♥t ♣❛r❢♦✐s ❡♥❝♦r❡ ❞❡s ♣r♦❜❧è♠❡s ❞❡ ♠✐s❡ ❛✉ ♣♦✐♥t✮ ✿ ✕ ❙✉r✈❡✐❧❧❛♥❝❡ ❞❡ ♣❛ss❛❣❡ à ♥✐✈❡❛✉ ✭✈♦✐t✉r❡ ♦✉ ❝❛♠✐♦♥ ❛rrêtés✱ ♣❡rs♦♥♥❡s✮ ✿ ❝❛♠ér❛s ✜①❡s✳ ✕ ❙✉r✈❡✐❧❧❛♥❝❡ ❞❡ ♣ér✐♠ètr❡ ✭♦❜s❡r✈❛t✐♦♥ ❞❡s ✐♥tr✉s✐♦♥s ❞❛♥s ❞❡s ❧✐❡✉① ✐♥t❡r❞✐ts ❝♦♠♠❡ ❧❡s t✉♥✲ ♥❡❧s✱ ❧❡s ♣♦♥ts ❡t ❧❛ ✈♦✐❡✮ ✿ ❝❛♠ér❛s ✜①❡s✳ ✕ ❉ét❡❝t✐♦♥ ❞❡ ❝❤✉t❡ ❞✬♦❜❥❡t ♦✉ ❞❡ ♣❡rs♦♥♥❡ s✉r ❧❛ ✈♦✐❡ ❡♥ st❛t✐♦♥ ✿ ❝❛♠ér❛s ✜①❡s✳ ✕ ❉ét❡❝t✐♦♥ ❞✬♦❜❥❡t ❛❜❛♥❞♦♥♥é s✉r ✉♥ q✉❛✐ ♦✉ ❞❛♥s ✉♥ ❝♦✉❧♦✐r ✿ ❝❛♠ér❛s ✜①❡s✳ ✕ ❙✉r✈❡✐❧❧❛♥❝❡ ❞❡s ✐♥❢r❛str✉❝t✉r❡s ❡t ❞❡ ❧❛ ❝❛té♥❛✐r❡ ✿ ❝❛♠ér❛ ♠♦♥té❡ s✉r ❧❡ tr❛✐♥✳ ✕ ❙✉r✈❡✐❧❧❛♥❝❡ ❞❛♥s ❧❡s ✈é❤✐❝✉❧❡s ✿ ❡♥r❡❣✐str❡♠❡♥t ❞❡s ❞♦♥♥é❡s ♣♦✉r ❡♥q✉êt❡ ❛♣rès ✉♥ ✐♥❝✐❞❡♥t✱ ❞ét❡❝t✐♦♥ ❞❡ ❝♦♠♣♦rt❡♠❡♥ts ❛♥♦r♠❛✉① ✭♠✐s❡ ❛✉ ♣♦✐♥t ❞✐✣❝✐❧❡✮✳✶✳✷✳ ❈♦♥t❡①t❡ ✸ ❈❡s s♦❧✉t✐♦♥s s♦♥t s♦✉✈❡♥t ✐♥st❛❧❧é❡s ❞❛♥s ✉♥ ❡♥✈✐r♦♥♥❡♠❡♥t ❝♦♥trô❧é✳ ▲❛ ♠✐s❡ ❡♥ ÷✉✈r❡ ❡♥ ❞❡✈✐❡♥t s✐♠♣❧✐✜é❡ ♣❛r ❧❛ ❞é✜♥✐t✐♦♥ ❞✬✉♥ ❡♥s❡♠❜❧❡ ❞❡ ♣❛r❛♠ètr❡s ♣❡r♠❡tt❛♥t ❞✬❛tt❡✐♥❞r❡ ❧❡s ♦❜❥❡❝t✐❢s ♦♣ér❛t✐♦♥♥❡❧s✳ ❈❡tt❡ ♠ét❤♦❞♦❧♦❣✐❡ ❡st ❞✐✣❝✐❧❡♠❡♥t ❛♣♣❧✐❝❛❜❧❡ ❞❛♥s ♥♦tr❡ ❝♦♥t❡①t❡✱ ❞❛♥s ❧❡q✉❡❧ ❧❡s ✈❛r✐❛t✐♦♥s ❞❡ ❧✉♠✐♥♦s✐té s♦♥t ❞❡ ❣r❛♥❞❡ ❛♠♣❧✐t✉❞❡ ❡t ❧✬❡♥✈✐r♦♥♥❡♠❡♥t s❝é♥✐q✉❡ é✈♦❧✉❡ ❛✈❡❝ ✉♥❡ ❣r❛♥❞❡ r❛♣✐❞✐té✳ ▲❡s ♦❜❥❡❝t✐❢s ❞❡ sé❝✉r✐té ♦♣ér❛t✐♦♥♥❡❧❧❡ ❞❡s ❢♦♥❝t✐♦♥s ❞♦✐✈❡♥t êtr❡ ❝♦♠♣❛t✐❜❧❡s ❛✈❡❝ ❧❡ ♥✐✈❡❛✉ ❞❡ sé❝✉r✐té ❞❡s ❛✉t♦♠❛t✐s♠❡s ❞❡ ❝♦♥❞✉✐t❡✳ ✶✳✷ ❈♦♥t❡①t❡ ❉❡ ♥♦♠❜r❡✉① ♣r♦❥❡ts ❞❡ r❡❝❤❡r❝❤❡ ♦♥t été ♠❡♥és ♦✉ s♦♥t ❡♥ ❝♦✉rs ♣♦✉r ❢❛✐r❡ ❛✈❛♥❝❡r ❧❡s ❞é✈❡✲ ❧♦♣♣❡♠❡♥ts ♠❛tér✐❡❧s ❡t ❧♦❣✐❝✐❡❧s ✈❡rs ❧✬❛✉t♦♠❛t✐s❛t✐♦♥ t♦t❛❧❡ ❞❡ ❧❛ ❝♦♥❞✉✐t❡ ❡t ♣♦✉r ❧✬❛♠é❧✐♦r❛t✐♦♥ ❞❡s ❝♦♥❞✐t✐♦♥s ❞❡ sé❝✉r✐té ❡t ❧✬♦♣t✐♠✐s❛t✐♦♥ ❞❡s tr❛♥s♣♦rts✳ ◆♦✉s ❝❤❡r❝❤♦♥s à ♠❡ttr❡ ❛✉ s❡r✈✐❝❡ ❞✉ ♠étr♦ ❛✉t♦♠❛t✐q✉❡ ❧❡s ❛✈❛♥❝é❡s ❞❛♥s ❧❡ ❞♦♠❛✐♥❡ ❞✉ tr❛✐t❡♠❡♥t ❞✬✐♠❛❣❡ ❞é✈❡❧♦♣♣é❡s ♣♦✉r ❧❡s ■❚❙✳ ❉❛♥s ❧❡ ❝❛s ❞❡ ✈♦✐t✉r❡s ✐♥t❡❧❧✐❣❡♥t❡s✱ ✐❧ ❡①✐st❡ ❞❡ ♥♦♠✲ ❜r❡✉s❡s ét✉❞❡s ❞❡ s②stè♠❡s ❞✬❛✐❞❡ à ❧❛ ❝♦♥❞✉✐t❡ ✉t✐❧✐s❛♥t ❞❡s ❝❛♠ér❛s✳ P❛r ❝♦♥tr❡✱ ❧❡s ❝❛♠ér❛s s♦♥t ❛✉❥♦✉r❞✬❤✉✐ très ♣❡✉ ♣rés❡♥t❡s ❞❛♥s ❧❡s tr❛✐♥s✳ ▲❛ ❧✐st❡ s✉✐✈❛♥t❡ ❡st ✉♥❡ ♣r❡♠✐èr❡ ✐❞❡♥t✐✜❝❛t✐♦♥ ❞❡s ❛♣♣❧✐❝❛t✐♦♥s ❢❡rr♦✈✐❛✐r❡s ♣♦✉r ❧❡sq✉❡❧❧❡s ❞❡s s②stè♠❡s ❞❡ tr❛✐t❡♠❡♥ts ❞✬✐♠❛❣❡s ❡①✐st❡♥t ✿ s✉r✈❡✐❧❧❛♥❝❡ ❞❡ ♣❛ss❛❣❡ à ♥✐✈❡❛✉ ❬❱❛③q✉❡③ ❡t ❛❧✳ ✷✵✵✹❪ ✭✈♦✐t✉r❡ ♦✉ ❝❛♠✐♦♥ ❛rrêtés✱ ♣❡rs♦♥♥❡s✮ ❛✈❡❝ ❞❡s ❝❛♠ér❛s ✜①❡s ♣♦✉r ❛♥❛❧②s❡r ❧❛ s❝è♥❡ ❀ s✉r✈❡✐❧❧❛♥❝❡ ❞❡ ♣ér✐♠ètr❡ ✭♦❜s❡r✈❛t✐♦♥ ❞❡s ✐♥tr✉s✐♦♥s ❞❛♥s ❞❡s ❧✐❡✉① ✐♥t❡r❞✐ts ✿ t✉♥♥❡❧s✱ ♣♦♥ts ❡t ✈♦✐❡✮ ❬●❛r❝✐❛ ❡t ❛❧✳ ✷✵✵✺❪ ❀ ❞ét❡❝t✐♦♥ ❞❡ ❝❤✉t❡ ❞✬♦❜❥❡ts ♦✉ ❞❡ ♣❡rs♦♥♥❡s s✉r ❧❛ ✈♦✐❡ ❡♥ st❛t✐♦♥ ❬❑❛✇❛♠✉r❛ ❡t ❛❧✳ ✷✵✶✶❪ ❀ s✉r✈❡✐❧❧❛♥❝❡ ❞❡s ✐♥❢r❛str✉❝t✉r❡s ❡t ❞❡s ❝❛té♥❛✐r❡s ❛✈❡❝ ✉♥❡ ❝❛♠ér❛ ♠♦♥té❡ s✉r ❧❡ tr❛✐♥ ❬P✉❤❧♠❛♥♥ ❡t ❛❧✳ ✷✵✵✹❪✳ ❆✈❡❝ ❧✬✐♠♣❧❛♥t❛t✐♦♥ ❞❡s ❝❛♠ér❛s ❞❛♥s ❧❛ ❧♦❝♦♠♦t✐✈❡ ❞❡s ♠étr♦s ❛✉t♦♠❛t✐q✉❡s✱ ♥♦✉s ❝❤❡r❝❤♦♥s à ❝♦♥tr✐❜✉❡r à ❧✬❛♠é❧✐♦r❛t✐♦♥ ❞❡ ❧❛ sé❝✉r✐té ❡t ❞❡ ❧❛ sûr❡té ❞❡s tr❛♥s♣♦rts✱ ❡t ♣❛r ❝♦♥séq✉❡♥t à ❛✉❣♠❡♥t❡r ❧❛ ♣r♦❞✉❝t✐✈✐té ❡t ❧❡s s❡r✈✐❝❡s ❞❛♥s ❧❡s tr❛♥s♣♦rts ♣✉❜❧✐❝s ❬◆❛♥❣t✐♥ ❡t ❛❧✳ ✷✵✵✺❪✳ ✶✳✷✳✶ ❙ûr❡té ❢❡rr♦✈✐❛✐r❡ ▲❡ ♠étr♦ ❡st ✉♥ tr❛♥s♣♦rt ❡♥ ❝♦♠♠✉♥ ❡♥ s✐t❡ ♣r♦♣r❡ ✭❚❈❙P✮✱ ❝✬❡st✲à✲❞✐r❡✱ ✉♥ tr❛♥s♣♦rt q✉✐ ❡♠♣r✉♥t❡ ✉♥❡ ✈♦✐❡ ♦✉ ✉♥ ❡s♣❛❝❡ q✉✐ ❧✉✐ ❡st rés❡r✈é✳ ▲❡ ♠étr♦ ❡♥t✐èr❡♠❡♥t ❛✉t♦♠❛t✐q✉❡ ❡st ❝♦♥s✐❞éré ❧✉✐ ❝♦♠♠❡ ✉♥ ✓❚❈❙P ✐♥té❣r❛❧✔ ❞❛♥s ❧❛ ♠❡s✉r❡ ♦ù ✐❧ ❝✐r❝✉❧❡ ❣é♥ér❛❧❡♠❡♥t ❡♥ s♦✉t❡rr❛✐♥ ♦✉ ❡♥ ✈✐❛❞✉❝ ❡t q✉❡ s♦♥ ❝❤❡♠✐♥ ♥✬❡st ❥❛♠❛✐s tr❛✈❡rsé ♣❛r ✉♥❡ ❛✉tr❡ r♦✉t❡✳ ❆✐♥s✐✱ ❧❡s ♣r✐♥❝✐♣❛✉① r✐sq✉❡s ♣♦✉r ❝❡s s②stè♠❡s ❢❡rr♦✈✐❛✐r❡s s♦♥t ❧✐♠✐tés ✿ ❞ér❛✐❧❧❡♠❡♥t✱ ❝♦❧❧✐s✐♦♥ ❞❡ tr❛✐♥s ♣❛r r❛ttr❛♣❛❣❡✱ ♣r✐s❡ ❡♥ é❝❤❛r♣❡ ❞❛♥s ❧❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ✭❡ss❡♥t✐❡❧❧❡♠❡♥t ❧❡s ❛✐❣✉✐❧❧❛❣❡s✮ ❡t ❝❤♦❝ ❢r♦♥t❛❧✳ ▲❛ sûr❡té ❞❡ ❢♦♥❝t✐♦♥♥❡♠❡♥t ❞❡s s②stè♠❡s ✐♥❞✉str✐❡❧s ❡st ❞é✜♥✐❡ ♣❛r ❧✬❛❜s❡♥❝❡ ❞❡ r✐sq✉❡ ✐♥❛❝❝❡♣✲ t❛❜❧❡✱ ❞❡ ❜❧❡ss✉r❡ ♦✉ ❞✬❛tt❡✐♥t❡ à ❧❛ s❛♥té ❞❡s ♣❡rs♦♥♥❡s✱ ❞✐r❡❝t❡♠❡♥t ♦✉ ✐♥❞✐r❡❝t❡♠❡♥t✱ rés✉❧t❛♥t ❞✬✉♥ ❞♦♠♠❛❣❡ ❞û ❛✉ ♠❛tér✐❡❧ ♦✉ à ❧✬❡♥✈✐r♦♥♥❡♠❡♥t✳ P♦✉r ❝❡s s②stè♠❡s✱ ❧❡s ♣❛♥♥❡s ♣❡✉✈❡♥t ♣r♦✈❡♥✐r ❞❡ ♥♦♠❜r❡✉① ❢❛❝t❡✉rs ❞✐✛ér❡♥ts ✿ ✕ ❊rr❡✉rs ❧♦❣✐❝✐❡❧❧❡s ❀ ✕ ❊rr❡✉rs ❤✉♠❛✐♥❡s ❀ ✕ ■♥✢✉❡♥❝❡ ❞❡ ❧✬❡♥✈✐r♦♥♥❡♠❡♥t ❀ ✕ P❛♥♥❡ ♠❛tér✐❡❧❧❡ ❞❡s ♠é❝❛♥✐s♠❡s ❀ ▲❡ t❡r♠❡ sé❝✉r✐té ♣❡✉t ❛✈♦✐r ❞❡✉① s❡♥s✱ ❧❡ ♣r❡♠✐❡r ✭sé❝✉r✐té✲❝♦♥✜❞❡♥t✐❛❧✐té✮ ❛ tr❛✐t à ✉♥❡ ✈♦✲ ❧♦♥té ❤✉♠❛✐♥❡ ❞❡ ❝❛✉s❡r ✉♥❡ ❞é❢❛✐❧❧❛♥❝❡✱ t❛♥❞✐s q✉❡ ❧❡ s❡❝♦♥❞ s❡♥s ✭sé❝✉r✐té✲✐♥♥♦❝✉✐té✮ ❡st ❧✬❛❜s❡♥❝❡ ❞❡ ❝♦♥séq✉❡♥❝❡s ❝❛t❛str♦♣❤✐q✉❡s ♣♦✉r ❧❡s ✉s❛❣❡rs ❡t ❧✬❡♥✈✐r♦♥♥❡♠❡♥t✳ ❈✬❡st ❡ss❡♥t✐❡❧❧❡♠❡♥t ❝❡tt❡ s❡❝♦♥❞❡ ♥♦t✐♦♥ q✉✐ ♥♦✉s ✐♥tér❡ss❡ ♣♦✉r ❧❡ ❞é✈❡❧♦♣♣❡♠❡♥t ❞✬❛♣♣❧✐❝❛t✐♦♥s ❞❛♥s ❧❡s tr❛♥s♣♦rts ❛✉t♦✲ ♠❛t✐q✉❡s✳✹ ❈❤❛♣✐tr❡ ✶✳ ■♥tr♦❞✉❝t✐♦♥ ✶✳✷✳✷ ◆♦r♠❡s ❊◆ ✺✵✶✷✾ ❡t ❊◆ ✺✵✶✷✻ ❈✬❡st ♣♦✉rq✉♦✐ ❧❛ ♥♦r♠❡ ❡✉r♦♣é❡♥♥❡ ✺✵✶✷✾ ❢✉t ❝réé❡ ❬❊✉r♦♣é❡♥❡ ✷✵✵✸❛❪✳ ❊❧❧❡ ❞é✜♥✐t ❧❡ ♥✐✈❡❛✉ ❞❡ sé❝✉r✐té ✐♥té❣ré ❞❡ ❧✬❛♥❣❧❛✐s ✭❙■▲✲❙❡❝✉r✐t② ■♥t❡❣r✐t② ▲❡✈❡❧✮✳ ▲❛ ♥♦r♠❡ ❞ét❛✐❧❧❡ ❧❡s ❡①✐❣❡♥❝❡s ♣♦✉r ❛tt❡✐♥❞r❡ ❝❤❛q✉❡ ♥✐✈❡❛✉ ❞✬✐♥té❣r✐té ❞❡ ❧❛ sé❝✉r✐té✳ ❈❡s ❡①✐❣❡♥❝❡s s♦♥t ♣❧✉s sé✈èr❡s ❛✉① ♥✐✈❡❛✉① ❞✬✐♥✲ té❣r✐té ❞❡ ❧❛ sé❝✉r✐té ❧❡s ♣❧✉s é❧❡✈és✱ ❞❡ ♠❛♥✐èr❡ à ❣❛r❛♥t✐r ✉♥❡ ♣r♦❜❛❜✐❧✐té ❞❡ ❞é❢❛✐❧❧❛♥❝❡ ❞❛♥❣❡r❡✉s❡ ♣❧✉s ❜❛ss❡✳ ❈❡s ❡①✐❣❡♥❝❡s ❞❡ q✉❛❧✐té ❝♦♥st✐t✉❡♥t ❧❡s ❝r✐tèr❡s ❞❡ ✜❛❜✐❧✐té ❞✉ s②stè♠❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡s r✐sq✉❡s✳ ▲❡ ♥✐✈❡❛✉ ❙■▲ s❡rt à ❛♣♣ré❝✐❡r ❧❛ ♣r♦❜❛❜✐❧✐té ❞❡ ❞é❢❛✐❧❧❛♥❝❡ ❞❛♥❣❡r❡✉s❡ ♣❛r ❤❡✉r❡ ✭P❋❍✲Pr♦❜❛❜✐❧✐t② ❋❛✐❧✉r❡ ♣❡r ❍♦✉r✮ ❡t ❧❡ ❚❛✉① ♠❛①✐♠✉♠ ❛❝❝❡♣t❛❜❧❡ ❞✬♦❝❝✉rr❡♥❝❡ ❞✬✉♥ ❞❛♥❣❡r ✭❚❍❘✮ ♣❛r ❤❡✉r❡ ❞❡s ❢♦♥❝t✐♦♥s ❞❡ sé❝✉r✐té ❞❡s s②stè♠❡s é❧❡❝tr✐q✉❡s ❡t é❧❡❝tr♦♥✐q✉❡s ♣r♦❣r❛♠♠❛❜❧❡s ❡t ❡st ❞é✜♥✐ s❡❧♦♥ ✹ ♥✐✈❡❛✉① ❞❡ sé❝✉r✐té ✭t❛❜❧❡❛✉ ✶✳✷✮✳ ❈❤❛q✉❡ ♥✐✈❡❛✉ ❝♦rr❡s♣♦♥❞ à ✉♥❡ ♣❧❛❣❡ ❞❡ ♣r♦❜❛❜✐❧✐té ❞❡ ❞é❢❛✐❧❧❛♥❝❡ ❞✬✉♥❡ ❢♦♥❝t✐♦♥ ❞❡ sé❝✉r✐té✳ P❧✉s ❧❡ ♥✐✈❡❛✉ ❞✬✐♥té❣r✐té ❞❡ sé❝✉r✐té ❞❡s s②stè♠❡s ❞❡ sé❝✉r✐té ❡st é❧❡✈é✱ ♣❧✉s ✐❧ ❡st ♣r♦❜❛❜❧❡ q✉✬✐❧s ❡①é❝✉t❡♥t ❡✣❝❛❝❡♠❡♥t ❧❡s ❢♦♥❝t✐♦♥s ❞❡ sé❝✉r✐té ❞❡♠❛♥❞é❡s✳ ▲❡ ❙■▲ ✹ ❡st ❧❡ s②stè♠❡ ❞❡ sé❝✉r✐té ❧❡ ♣❧✉s é❧❡✈é ❡t ❧❡ ❙■▲ ✶ ❧❡ ♠♦✐♥s é❧❡✈é✳ ❚❛❜❧❡❛✉ ✶✳✷ ❚❛❜❧❡ ❞❡s ♥✐✈❡❛✉① ❙■▲ ◆✐✈❡❛✉ ❞❡ ❙é❝✉r✐té ■♥té❣ré ✭❙■▲✮ ❚❛✉① ♠❛①✐♠✉♠ ❛❝❝❡♣t❛❜❧❡ ❞✬♦❝❝✉r✲ r❡♥❝❡ ❞✬✉♥ ❞❛♥❣❡r ✭❚❍❘✮ ♣❛r ❤❡✉r❡ ❡t ♣❛r ❢♦♥❝t✐♦♥ ❙■▲ ✹ ❚❍❘ ❝♦♠♣r✐s ❡♥tr❡ 10−9 ❡t 10−8 ❙■▲ ✸ ❚❍❘ ❝♦♠♣r✐s ❡♥tr❡ 10−8 ❡t 10−7 ❙■▲ ✷ ❚❍❘ ❝♦♠♣r✐s ❡♥tr❡ 10−7 ❡t 10−6 ❙■▲ ✶ ❚❍❘ ❝♦♠♣r✐s ❡♥tr❡ 10−6 ❡t 10−5 ▲✬❛✉t♦♠❛t✐s❛t✐♦♥ ✐♥té❣r❛❧❡ ❞❡s tr❛✐♥s ❡st s♦✉♠✐s❡ à ✉♥ ♥✐✈❡❛✉ ❞❡ sé❝✉r✐té ❙■▲ ✹ ❡t s♦♥ rô❧❡ ♣r✐♥❝✐♣❛❧ ❡st ❞✬❛ss✉r❡r ✿ ✕ ❧✬❛✉t♦♥♦♠✐❡ ❡t ❧❛ sé❝✉r✐té ❞✉ ♠♦✉✈❡♠❡♥t ❞❡s tr❛✐♥s✱ ✕ ❧❡ r❡s♣❡❝t ❞❡ ❧❛ s✐❣♥❛❧✐s❛t✐♦♥✱ ✕ ❧❛ ❧♦❝❛❧✐s❛t✐♦♥✱ ✕ ❧❛ tr❛♥s♠✐ss✐♦♥ ❞✬✐♥❢♦r♠❛t✐♦♥s✱ ✕ ❧❛ ré❣✉❧❛t✐♦♥ ❞❡ ✈✐t❡ss❡✳ ▲❛ ♥♦r♠❡ ❡✉r♦♣é❡♥♥❡ ❊◆ ✺✵✶✷✾ ❞é✜♥✐t ❧❛ sé❝✉r✐té ♣❛r ✓ ❧✬❛❜s❡♥❝❡ ❞❡ t♦✉t ♥✐✈❡❛✉ ❞❡ r✐sq✉❡ ✐♥❛❝✲ ❝❡♣t❛❜❧❡ ✔✳ ❉❡ ♠ê♠❡✱ ❊◆ ✺✵✶✷✻ ❬❊✉r♦♣é❡♥❡ ✷✵✵✸❜❪ ❞é✜♥✐t ❧❡ ♥✐✈❡❛✉ ❞❡ ❣r❛✈✐té ❡♥ ❛ss♦❝✐❛♥t ❧❡s q✉❛♥✲ t✐✜❝❛t✐♦♥s ❛✈❡❝ ❧❡s ❝♦♥séq✉❡♥❝❡s ❡♥❣❡♥❞ré❡s ♣❛r ❧✬❛❝❝✐❞❡♥t ♣♦t❡♥t✐❡❧✳ P♦✉r ❞é✜♥✐r ❡t é✈❛❧✉❡r ❧❡ ♥✐✈❡❛✉ ❞✬❛❝❝❡♣t❛❜✐❧✐té ❞❡s r✐sq✉❡s✱ ❝❡tt❡ ♥♦r♠❡ ♣r♦♣♦s❡ ❧❛ ♠❛tr✐❝❡ ❣r❛✈✐té✴♦❝❝✉rr❡♥❝❡ ❬▼❛❜r♦✉❦ ✷✵✶✵❪✳ ◆♦✉s ❛❧❧♦♥s ❞ét❛✐❧❧❡r ❧❡s ❞é✜♥✐t✐♦♥s ❞✉ ♥✐✈❡❛✉ ❞❡ ♣r♦❜❛❜✐❧✐té✱ ❞✉ ♥✐✈❡❛✉ ❞❡ ❣r❛✈✐té ❡t ❞✉ ♥✐✈❡❛✉ ❞❡ r✐sq✉❡✱ ♣♦✉r ♣♦✉✈♦✐r ❝♦♠♣r❡♥❞r❡ ❧❡ ❝❤♦✐① ❞❡s t❡❝❤♥✐q✉❡s ❞❡ tr❛✐t❡♠❡♥t ❞✬✐♠❛❣❡s ♣r♦♣♦sé❡s ♣♦✉r s❛t✐s❢❛✐r❡ ❛✉① ❡①✐❣❡♥❝❡s ❢❡rr♦✈✐❛✐r❡s✳ ✶✳✷✳✷✳✶ ◆✐✈❡❛✉ ❞❡ ♣r♦❜❛❜✐❧✐té ❞❡ ❧✬❛❝❝✐❞❡♥t ♣♦t❡♥t✐❡❧ ▲❛ ♥♦r♠❡ ❊◆ ✺✵✶✷✻ ♣r♦♣♦s❡ ❞❡s ♣r♦❜❛❜✐❧✐tés q✉❛♥t✐t❛t✐✈❡s✱ ❞✬♦ù ❧❛ ♣r♦❜❛❜✐❧✐té ❞✬♦❝❝✉rr❡♥❝❡ ❞✬✉♥ é✈é♥❡♠❡♥t ♣❡✉t êtr❡ ✿ ✕ ❋réq✉❡♥t ✿ s✉r✈✐❡♥❞r❛ ♣r♦❜❛❜❧❡♠❡♥t s♦✉✈❡♥t✳ ▲❡ r✐sq✉❡ ❞❡ ❝♦♥❝rét✐s❛t✐♦♥ ❞✉ ❞❛♥❣❡r s❡r❛ ❝♦♥t✐♥✉❡❧❧❡♠❡♥t ♣rés❡♥t (P > 10−3/h)✳ ✕ Pr♦❜❛❜❧❡ ✿ s✉r✈✐❡♥❞r❛ ♣❧✉s✐❡✉rs ❢♦✐s✳ ▲❡ ❞❛♥❣❡r s❡ ❝♦♥❝rét✐s❡r❛ ❢réq✉❡♠♠❡♥t (10−3/h > P > 10−4/h)✳ ✕ ❖❝❝❛s✐♦♥♥❡❧ ✿ s✉r✈✐❡♥❞r❛ ♣r♦❜❛❜❧❡♠❡♥t ♣❧✉s✐❡✉rs ❢♦✐s ❛✉ ❝♦✉rs ❞❡ ❧❛ ✈✐❡ ❞❡ s②stè♠❡✳ ▲❡ ❞❛♥❣❡r s❡ ❝♦♥❝rét✐s❡r❛ ♣❧✉s✐❡✉rs ❢♦✐s (10−4/h > P > 10−5/h)✳✶✳✷✳ ❈♦♥t❡①t❡ ✺ ✕ ❘❛r❡ ✿ s✉r✈✐❡♥❞r❛ ♣r♦❜❛❜❧❡♠❡♥t ❛✉ ❝♦✉rs ❞❡ ❧❛ ✈✐❡ ❞✉ s②stè♠❡✳ ❖♥ ♣❡✉t r❛✐s♦♥♥❛❜❧❡♠❡♥t s✬❛tt❡♥❞r❡ à ❧❛ ❝♦♥❝rét✐s❛t✐♦♥ ❞❡ ❝❡ ❞❛♥❣❡r (10−5/h > P > 10−7/h)✳ ✕ ■♠♣r♦❜❛❜❧❡ ✿ ♣❡✉ ♣r♦❜❛❜❧❡ ♠❛✐s ♣♦ss✐❜❧❡✳ ❖♥ ♣❡✉t ❛❞♠❡ttr❡ q✉❡ ❝❡ ❞❛♥❣❡r s❡ ❝♦♥❝rét✐s❡r❛ ❡①❝❡♣t✐♦♥♥❡❧❧❡♠❡♥t (10−7/h > P > 10−8/h)✳ ✕ ■♥✈r❛✐s❡♠❜❧❛❜❧❡ ✿ ❊①trê♠❡♠❡♥t ✐♠♣r♦❜❛❜❧❡✳ ❖♥ ♣❡✉t ❛❞♠❡ttr❡ q✉❡ ❝❡ ❞❛♥❣❡r ♥❡ s❡ ❝♦♥❝ré✲ t✐s❡r❛ ♣❛s✳ (10−9/h > P)✳ P♦✉r ♥♦tr❡ ❝❛s✱ ❧❛ ♣r♦❜❛❜✐❧✐té ❤♦r❛✐r❡ P s✬❛♣♣❧✐q✉❡ à ❧❛ ❧✐❣♥❡ ❞❡ ♠étr♦ ❝♦♠♣❧èt❡ ✭t♦✉s ❧❡s éq✉✐✲ ♣❡♠❡♥ts ❞❡ ❧❛ ❝♦♥❞✉✐t❡ ❛✉t♦♠❛t✐q✉❡ ✜①❡s ❡t ❡♠❜❛rq✉és✮✳ ✶✳✷✳✷✳✷ ◆✐✈❡❛✉ ❞❡ ❣r❛✈✐té ❞❡s ❞♦♠♠❛❣❡s ❡♥❣❡♥❞rés ♣❛r ❧✬❛❝❝✐❞❡♥t ♣♦t❡♥t✐❡❧ ▲❡s ♥✐✈❡❛✉① ❞❡ ❣r❛✈✐té ❞❡s ❞♦♠♠❛❣❡s ❡♥❣❡♥❞rés ♣❛r ❧✬❛❝❝✐❞❡♥t ♣♦t❡♥t✐❡❧ ♣❡✉✈❡♥t êtr❡ ❛♥❛❧②sés s✉r tr♦✐s ❛s♣❡❝ts ✿ s❡❧♦♥ ❧❡s ❞♦♠♠❛❣❡s ❛✉① ♣❡rs♦♥♥❡s✱ ❛✉ s②stè♠❡ ❡t à ❧✬❡♥✈✐r♦♥♥❡♠❡♥t✳ ❈♦♥s✐❞ér❛♥t ❧❡s ❝♦♥séq✉❡♥❝❡s s✉r ❧❡s ♣❡rs♦♥♥❡s✱ ❧❛ ♥♦r♠❡ ❊◆ ✺✵✶✷✻ ♣r♦♣♦s❡ q✉❛tr❡ ♥✐✈❡❛✉① ❞❡ ❣r❛✈✐té ❞❡s ❞♦♠♠❛❣❡s ✿ ✕ ❈❛t❛str♦♣❤✐q✉❡ ✿ ♣❧✉s✐❡✉rs ❜❧❡ssés ❣r❛✈❡s ♦✉ ♣❧✉s✐❡✉rs ♠♦rts✳ ✕ ●r❛✈❡ ✿ ✉♥ ❜❧❡ssé ❣r❛✈❡ ♦✉ ✉♥ ♠♦rt✳ ✕ ❙✐❣♥✐✜❛♥t ✿ ✉♥ ❜❧❡ssé ❧é❣❡r✳ ✕ ■♥s✐❣♥✐✜❛♥t ✿ ♥✐ ❜❧❡ssé✱ ♥✐ ♠♦rt✳ ✶✳✷✳✷✳✸ ◆✐✈❡❛✉ ❞❡ r✐sq✉❡ ●é♥ér❛❧❡♠❡♥t✱ ✐❧ ❡①✐st❡ ✉♥❡ ❝♦♥❢✉s✐♦♥ ❡♥tr❡ ❧❡ r✐sq✉❡ ❡t ❧❡ ♥✐✈❡❛✉ ❞❡ r✐sq✉❡✳ ❊♥ ❡✛❡t✱ ❧❡ ♥✐✈❡❛✉ ❞❡ r✐sq✉❡ ✐❞❡♥t✐✜❡ ❧❛ ❝♦♠❜✐♥❛✐s♦♥ ❞✉ ♥✐✈❡❛✉ ❞❡ ♣r♦❜❛❜✐❧✐té ❞✬♦❝❝✉rr❡♥❝❡ ❞❡ ❧✬❛❝❝✐❞❡♥t ♣♦t❡♥t✐❡❧ ❛✐♥s✐ q✉❡ ❧❡ ♥✐✈❡❛✉ ❞❡ ❣r❛✈✐té ❞❡s ❞♦♠♠❛❣❡s ❡♥❣❡♥❞rés ♣❛r ❝❡t ❛❝❝✐❞❡♥t ♣♦t❡♥t✐❡❧ ❀ ❞✬♦ù ♣❧✉s✐❡✉rs ❝❧❛ss✐✜❝❛t✐♦♥s ❛♣♣❛r❛✐ss❡♥t✳ ▲❛ ♥♦r♠❡ ❊◆ ✺✵✶✷✻ ✐❞❡♥t✐✜❡ ✹ ♥✐✈❡❛✉① ❞❡ r✐sq✉❡ ✿ ✕ ❘✐sq✉❡s ✐♥t♦❧ér❛❜❧❡s ✿ ❞♦✐✈❡♥t êtr❡ é❧✐♠✐♥és✳ ✕ ❘✐sq✉❡s ♥♦♥ s♦✉❤❛✐t❛❜❧❡s ✿ ♥❡ ♣❡✉✈❡♥t êtr❡ ❛❝❝❡♣tés✱ ❛✈❡❝ ❧✬❛❝❝♦r❞ ❞❡ ❧✬❊①♣❧♦✐t❛♥t✱ q✉❡ s✐ ❧✬♦♥ ♥❡ ♣❡✉t ♣❛s ré❞✉✐r❡ ❧❡ r✐sq✉❡✳ ✕ ❘✐sq✉❡s t♦❧ér❛❜❧❡s ✿ ❛❝❝❡♣t❛❜❧❡s✱ ❛✈❡❝ ❧✬❛❝❝♦r❞ ❞❡ ❧✬❊①♣❧♦✐t❛♥t✱ ❡t ♠♦②❡♥♥❛♥t ❞❡s ♣ré❝❛✉t✐♦♥s ❛♣♣r♦♣r✐é❡s✳ ✕ ❘✐sq✉❡s ♥é❣❧✐❣❡❛❜❧❡s ✿ ❛❝❝❡♣t❛❜❧❡s✱ ❛✈❡❝ ❧✬❛❝❝♦r❞ ❞❡ ❧✬❊①♣❧♦✐t❛♥t✳ ❋✐♥❛❧❡♠❡♥t✱ à ♣❛rt✐r ❞❡ ❝❡s ❞é✜♥✐t✐♦♥s✱ ❧❡s ❞✐✛ér❡♥t❡s ♥♦r♠❡s r❡❝♦♠♠❛♥❞❡♥t ❧❛ ♠✐s❡ ❡♥ ♣❧❛❝❡ ❞✬✉♥❡ ♠❛tr✐❝❡ ❣r❛✈✐té✴♦❝❝✉rr❡♥❝❡ ♣♦✉r é✈❛❧✉❡r ❧❡ r✐sq✉❡✳ ❯♥ ❡①❡♠♣❧❡ ❞❡ ❝❡tt❡ ♠❛tr✐❝❡ ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✶✳✶✳ ❋✐❣✉r❡ ✶✳✶ ✕ ▼❛tr✐❝❡ ❣r❛✈✐té✴♦❝❝✉rr❡♥❝❡✳ ■♠❛❣❡ ❡①tr❛✐t❡ ❞❡ ❬▼❛❜r♦✉❦ ✷✵✶✵❪✳✻ ❈❤❛♣✐tr❡ ✶✳ ■♥tr♦❞✉❝t✐♦♥ ✶✳✷✳✸ ◆♦r♠❡ ❊◆ ✶✺✷✷✼ ❆♣♣❧✐❝❛❜❧❡ ❞❡♣✉✐s ❧❡ ✶❡r ❥❛♥✈✐❡r ✷✵✶✶✱ ❧❛ ♥♦r♠❡ ❊◆✶✺✷✷✼✱ r❡❧❛t✐✈❡ à ❧❛ sé❝✉r✐té ♣❛ss✐✈❡ ❡♥ ❝❛s ❞❡ ❝♦❧❧✐s✐♦♥ ❢r♦♥t❛❧❡✱ s✬✐♠♣♦s❡ à t♦✉s ❧❡s ♥♦✉✈❡❛✉① ✈é❤✐❝✉❧❡s ❢❡rr♦✈✐❛✐r❡s✳ ❆♣♣❧✐q✉é❡ ❛✉① ♠étr♦s✱ ❡❧❧❡ st✐♣✉❧❡ q✉❡ ✓❧✬❡s♣❛❝❡ ❞❡ s✉r✈✐❡✔ ✭❡s♣❛❝❡ ♥♦r♠❛❧❡♠❡♥t ♦❝❝✉♣é ♣❛r ❧❡s ♣❛ss❛❣❡rs ♦✉ ❧❡ ❝♦♥❞✉❝t❡✉r✮ s♦✐t ♣rés❡r✈é ❡♥ ❝❛s ❞❡ ❝♦❧❧✐s✐♦♥ ❢r♦♥t❛❧❡ ❞✬✉♥❡ r❛♠❡ r♦✉❧❛♥t à 25❦♠✴❤ ❝♦♥tr❡ ✉♥❡ r❛♠❡ ❛rrêté❡✳ ❈❡♣❡♥❞❛♥t s✐ ❧❡s ❝♦♥❞✐t✐♦♥s ❞✬❡①♣❧♦✐t❛t✐♦♥ s♦♥t t❡❧❧❡s q✉✬✉♥ s❝é♥❛r✐♦ ❞❡ ❝♦❧❧✐s✐♦♥ ♥❡ ♣❡✉t ♣❛s s❡ ♣r♦❞✉✐r❡✱ ♦✉ s✬✐❧ ❡①✐st❡ ❞❡s ♣r❡✉✈❡s ♠♦♥tr❛♥t q✉❡ ❧❛ ♣r♦❜❛❜✐❧✐té ♣♦✉r q✉❡ ❝❡ s❝é♥❛r✐♦ s❡ ♣r♦❞✉✐s❡ ❡st s✐ ❢❛✐❜❧❡ q✉✬❡❧❧❡ ❡st ❧❛r❣❡♠❡♥t ❛❝❝❡♣t❛❜❧❡✱ ❛❧♦rs✱ ✐❧ ♥✬❡st ♣❛s ♥é❝❡ss❛✐r❡ ❞❡ ❧❡ ❝♦♥s✐❞ér❡r ♣♦✉r ❧❛ ❝♦♥❝❡♣t✐♦♥ ❞✉ ✈é❤✐❝✉❧❡✳ ❈✬❡st ♣ré❝✐sé♠❡♥t ❧❡ ❝❛s ♣♦✉r ❧❡ s②stè♠❡ ❱❆▲ ❡t✱ ♣❧✉s ❣é♥ér❛❧❡♠❡♥t✱ ♣♦✉r ❧❡s ♠étr♦s ❡♥ ❝♦♥❞✉✐t❡ ❛✉t♦♠❛t✐q✉❡ ✐♥té❣r❛❧❡ ✭s②stè♠❡s ✓♠❛♥❧❡ss✔✮ à ❧✬❡①❝❡♣t✐♦♥ ❞❡s ♣❤❛s❡s ❞❡ r❡♣r✐s❡ ❡♥ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡ s✉✐t❡ à ✉♥❡ ✐♥❞✐s♣♦♥✐❜✐❧✐té ❞✉ ✓♣✐❧♦t❡ ❛✉t♦♠❛t✐q✉❡✔✳ ▲✬❛♥t✐❝♦❧❧✐s✐♦♥ r❡♣♦s❡ ❛❧♦rs ❡♥t✐èr❡♠❡♥t s✉r ❧❡ ❝♦♥❞✉❝t❡✉r✱ ❛✈❡❝ ❧❡s r✐sq✉❡s ✐♥❤ér❡♥ts à ❝❡ ♠♦❞❡ ❞❡ ❝♦♥❞✉✐t❡ ✭♠❛❧❛✐s❡✱ ♣❡rt❡ ❞✬❛tt❡♥t✐♦♥✱✳✳✳✮✳ ❈❡s ♣❤❛s❡s ét❛♥t ♥é❛♥♠♦✐♥s r❛r❡s ❡t ❞❡ ❝♦✉rt❡s ❞✉ré❡s✱ ❧✬❛❥♦✉t ❞✬✉♥ ❞✐s♣♦s✐t✐❢ ❛♥t✐✲ ❝♦❧❧✐s✐♦♥s ♦♣ér❛t✐♦♥♥❡❧ ♣❡♥❞❛♥t ❧❛ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡ à ✈✉❡ ♣❡r♠❡ttr❛✐t ❞❡ s❛t✐s❢❛✐r❡ ❛✉① ❡①✐❣❡♥❝❡s ❞❡ ❧❛ ♥♦r♠❡✳ ❉❡ ♣❧✉s✱ ❧❛ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡ à ✈✉❡ ❡st ❡①trê♠❡♠❡♥t ♣❡rt✉r❜❛♥t❡ ♣♦✉r ❧❛ ❞✐s♣♦♥✐❜✐❧✐té ❞❡ ❧❛ ❧✐❣♥❡✳ ❙❛ ✈✐t❡ss❡ ❝♦♠♠❡r❝✐❛❧❡ s❡ ✈♦✐t r❛♣✐❞❡♠❡♥t ♣❡rt✉r❜é❡✳ ▲✬❛❣❡♥t ❞❡ ❝♦♥❞✉✐t❡ ♥✬ét❛♥t ♣❛s à ❜♦r❞✱ ✐❧ ❡st ♥é❝❡ss❛✐r❡ ❞❡ ❞✐str✐❜✉❡r ❧❡ ❧♦♥❣ ❞❡ ❧❛ ❧✐❣♥❡ ❞✉ ♣❡rs♦♥♥❡❧ ♣♦✉r ré❞✉✐r❡ ❧❡ t❡♠♣s ❞✬✐♥t❡r✈❡♥t✐♦♥✳ P♦✉r ❧✐♠✐t❡r ❧❡s ✐♠♣❛❝ts ❞✉ t❡♠♣s ❞✬✐♥t❡r✈❡♥t✐♦♥ s✉r ❧❛ ❞✐s♣♦♥✐❜✐❧✐té ❞❡ ❧❛ ❧✐❣♥❡✱ ✐❧ s❡♠❜❧❡ ✐♥tér❡ss❛♥t ❞❡ ❞é✈❡❧♦♣♣❡r ❧❡s ♠♦②❡♥s ♣❡r♠❡tt❛♥t ❞✬❛✉❣♠❡♥t❡r ❧❛ ✈✐t❡ss❡ ❞❡ ❝♦♥❞✉✐t❡ à ✈✉❡✱ t♦✉t ❡♥ r❡s♣❡❝t❛♥t ❧❛ ♥♦r♠❡ ❊◆ ✶✺✷✷✼✳ P♦✉r ❧❛ ❞ét❡❝t✐♦♥s ❞❡s ♣❡t✐ts ♦❜st❛❝❧❡s✱ ❛❝t✉❡❧❧❡♠❡♥t✱ ❞❡s ♠❡s✉r❡s ❞❡ ♣r♦t❡❝t✐♦♥ ❞❡ ❧✬❡♥✈✐r♦♥♥❡✲ ♠❡♥t ❞✉ ✈é❤✐❝✉❧❡ s♦♥t ♠✐s❡s ❡♥ ÷✉✈r❡ ♣♦✉r é✈✐t❡r t♦✉t❡ ✐♥tr✉s✐♦♥ ❞✬♦❜❥❡t ❞❛♥s ❧❡ ❞♦♠❛✐♥❡✳ ❆✉ ❝❛s ♦ù✱ ♠❛❧❣ré t♦✉t✱ ✉♥ ♦❜❥❡t s❡r❛✐t s✉r ❧❡ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t ❞✉ ✈é❤✐❝✉❧❡✱ ✉♥❡ tr❛✈❡rs❡ ✓❝❤❛ss❡ ❝♦r♣s✔ ❡st ♠♦♥té❡ à ❧✬❛✈❛♥t ❞❡s r❛♠❡s ❱❆▲✱ ❥✉st❡ ❛✉✲❞❡ss✉s ❞✉ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t✳ ❊❧❧❡ ❛ ♣♦✉r rô❧❡s ❞✬✉♥❡ ♣❛rt ❞❡ ❝❤❛ss❡r ❧❡s é✈❡♥t✉❡❧s ❝♦r♣s étr❛♥❣❡rs ✭❝❛✐❧❧♦✉①✱ ❞é❜r✐s✳✳✳✮ ♣rés❡♥ts s✉r ❧❡s ♣✐st❡s ❞❡ r♦✉❧❡♠❡♥t ♣♦✉r ♥❡ ♣❛s ❡♥❞♦♠♠❛❣❡r ❧❡s ♣♥❡✉s ❡t ❞✬❛✉tr❡ ♣❛rt ❞❡ ❞é❝❧❡♥❝❤❡r ❧❡ ❢r❡✐♥❛❣❡ ❞✬✉r❣❡♥❝❡ ♣♦✉r ❛rrêt❡r ❧❡ tr❛✐♥ ❛✉ ♣❧✉s tôt ❛♣rès ✉♥ ❝❤♦❝✳ ❉❛♥s ❝❡ ❝❛s✱ ✉♥ ❛❣❡♥t ❞♦✐t êtr❡ ❡♥✈♦②é s✉r ♣❧❛❝❡ ♣♦✉r ❞é❝✐❞❡r s✐ ❧❡ tr❛✐♥ ♣❡✉t ♦✉ ♥♦♥ r❡♣❛rt✐r✳ ❖r✱ ❞❛♥s ❧❛ ♣r❛t✐q✉❡✱ ❧❛ ♣❧✉♣❛rt ❞❡s ❞é❝❧❡♥❝❤❡♠❡♥ts s♦♥t ❞✉s à ❞❡s ❝❛✉s❡s q✉✐ ♥❡ ❥✉st✐✜❡♥t ♣❛s ❧✬❡♥✈♦✐ ❞✬✉♥ ❛❣❡♥t s✉r ♣❧❛❝❡ ✭❝❤♦❝ ❛✈❡❝ ✉♥ ❧❛♣✐♥ s✉r ❖r❧②❱❛❧ ♣❛r ❡①❡♠♣❧❡✮✳ ❯♥❡ ❝❛♠ér❛ ♣❧❛❝é❡ ❞❡rr✐èr❡ ❧❡ ♣❛r❡✲❜r✐s❡✱ ❛ss♦❝✐é❡ à ✉♥ ❡♥r❡❣✐str❡✉r ❡t à ✉♥❡ tr❛♥s♠✐ss✐♦♥ ✈❡rs ❧❡ P❈❈ ♣❡r♠❡ttr❛✐t ❞❡ ❢❛✐r❡ r❡♣❛rt✐r ❧❡ tr❛✐♥ ❛✉ ♣❧✉s tôt ❛♣rès ✉♥ ❝❤♦❝ ❜é♥✐♥✳ ▲❛ ✜❣✉r❡ ✶✳✷ ♥♦✉s ♠♦♥tr❡ ✉♥ ❡①❡♠♣❧❡ ❞❡ ❝❡tt❡ ❜❛rr❡✳ ❋✐❣✉r❡ ✶✳✷ ✕ ▲❛ tr❛✈❡rs❡ ❝❤❛ss❡✲❝♦r♣s ❞✉ ❱❆▲✳✶✳✸✳ ▲❛ ✈✐t❡ss❡ ❝♦♠♠❡r❝✐❛❧❡ ✼ ❈♦♠♣t❡ t❡♥✉ ❞❡ ❧❛ ❢❛✐❜❧❡ ♣r♦♣♦rt✐♦♥ ❞❡ t❡♠♣s ❞✉r❛♥t ❧❛q✉❡❧❧❡ ❞❡s ❝♦❧❧✐s✐♦♥s s♦♥t ♣♦ss✐❜❧❡s✱ ❧✬❛❞❥♦♥❝t✐♦♥ à ❧❛ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡✱ ❞✬✉♥ ❞✐s♣♦s✐t✐❢ ❞❡ ❞ét❡❝t✐♦♥ ❛✉t♦♠❛t✐q✉❡ ❞✬♦❜st❛❝❧❡s à ♣❛rt✐r ❞✉ tr❛✐t❡♠❡♥t ❞✬✐♠❛❣❡s✱ ♣❡r♠❡ttr❛✐t ❞❡ s❛t✐s❢❛✐r❡ ❛✉① ❡①✐❣❡♥❝❡s ❞❡ sé❝✉r✐té ❞❡ ❝❡tt❡ ♥♦r♠❡ s❛♥s ♣r♦❝é❞❡r à ❞❡s ♠♦❞✐✜❝❛t✐♦♥s str✉❝t✉r❡❧❧❡s ❞❡s r❛♠❡s✳ ❉❡ ❝❡tt❡ ♠❛♥✐èr❡✱ ❧✬❛❥♦✉t ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❡t ❞❡ ❧❛ ✈✐s✉❛❧✐s❛t✐♦♥ ❞❡s ✈♦✐❡s ♣❡r♠❡ttr❛✐t✱ ❞❡ ♣❧✉s✱ s❡❧♦♥ ❧❡s ❝❛s ✿ ✕ ▲❛ ❞ét❡❝t✐♦♥ ❞❡ ❢❛✉ss❡s ❛❧❛r♠❡s ❞✉❡s ❛✉① ♣❡t✐ts ♦❜st❛❝❧❡s✳ ✕ ▲❡s ♠♦✉✈❡♠❡♥ts ❛✉t♦♠❛t✐q✉❡s ❞❡ tr❛✐♥s ❡♥ ❣❛r❛❣❡✱ s❛♥s éq✉✐♣❡r t♦✉t ❧❡ ❢❛✐s❝❡❛✉ ❞❡ ✈♦✐❡s ❛✈❡❝ ❧❡s ❞✐s♣♦s✐t✐❢s ❞❡ ❧♦❝❛❧✐s❛t✐♦♥ ❡t ❞❡ s✐❣♥❛❧✐s❛t✐♦♥✳ ✶✳✸ ▲❛ ✈✐t❡ss❡ ❝♦♠♠❡r❝✐❛❧❡ ▲❛ ✈✐t❡ss❡ ❝♦♠♠❡r❝✐❛❧❡ ❡st ✉♥ ❞❡s ❢❛❝t❡✉rs q✉✐ ❞ét❡r♠✐♥❡ ❧❛ q✉❛❧✐té ❞❡s ♣r❡st❛t✐♦♥s ❞❡s tr❛♥s✲ ♣♦rts ♣✉❜❧✐❝s ❡t ❧❡✉r ❛ttr❛❝t✐✈✐té✳ ❊❧❧❡ r❡♣rés❡♥t❡ ❧❡ r❛♣♣♦rt ❡♥tr❡ ❧❛ ❧♦♥❣✉❡✉r ❞✉ tr❛❥❡t ❡t ❧❡ t❡♠♣s ♥é❝❡ss❛✐r❡ ♣♦✉r ❧❡ ♣❛r❝♦✉r✐r✱ ② ❝♦♠♣r✐s ❧❛ ❞✉ré❡ ❞❡s ❛rrêts ✐♥t❡r♠é❞✐❛✐r❡s✳ ❊❧❧❡ ❝♦♠♣r❡♥❞✱ ❧❛ ❞✉✲ ré❡ ❞✉ ♣❛r❝♦✉rs ❡♥tr❡ ❧❡s st❛t✐♦♥s✱ ❧❡ t❡♠♣s ❞✬❛tt❡♥t❡ ❛✉① st❛t✐♦♥s✱ ❧❡ t❡♠♣s ❞✬❛tt❡♥t❡ ❛✉① ❢❡✉① ❞❡ ❝✐r❝✉❧❛t✐♦♥✱ ❛✐♥s✐ q✉❡ ❧❡s ❛✉tr❡s t❡♠♣s ❞✬❛rrêt ✭✐♥❝✐❞❡♥ts✱ ❛❝❝✐❞❡♥ts✱ ❡t❝✳✮✳ ▲❡s ♣r✐♥❝✐♣❛✉① ❢❛❝t❡✉rs q✉✐ ✐♥✢✉❡♥❝❡♥t ❧❛ ✈✐t❡ss❡ ❝♦♠♠❡r❝✐❛❧❡ s♦♥t ✿ ✕ ▲❛ ✈✐t❡ss❡ ♠❛①✐♠❛❧❡ q✉❡ ♣❡✉✈❡♥t ❛tt❡✐♥❞r❡ ❧❡s ✈é❤✐❝✉❧❡s✱ q✉✐ ❞é♣❡♥❞ ❞❡ ❧❡✉r ♠♦t♦r✐s❛t✐♦♥✱ ♠❛✐s ❛✉ss✐ ❞❡ ❧✬✐♥❢r❛str✉❝t✉r❡ q✉✬✐❧s ✈♦♥t ✉t✐❧✐s❡r ✿ s✐t❡ ♣r♦♣r❡ ❡①❝❧✉s✐❢✱ ❡♥t✐èr❡♠❡♥t ♣r♦té❣é ❀ s✐t❡ ♣r♦♣r❡ ♣❛rt❛❣é ❀ ✈♦✐r✐❡ ❜❛♥❛❧✐sé❡✳ ✕ ▲❛ ❧♦♥❣✉❡✉r ❞❡s ✐♥t❡r✲st❛t✐♦♥s✱ q✉✐ ❞ét❡r♠✐♥❡ ❧❡ ♥♦♠❜r❡ ❞✬❛rrêts s✉r ❧❛ ❧✐❣♥❡✳ ✕ ▲❡s ♣✉✐ss❛♥❝❡s ❞✬❛❝❝é❧ér❛t✐♦♥ ❡t ❞❡ ❢r❡✐♥❛❣❡✱ q✉✐ ❥♦✉❡♥t ✉♥ rô❧❡ ❞✬❛✉t❛♥t ♣❧✉s ✐♠♣♦rt❛♥t q✉❡ ❧❡ ♥♦♠❜r❡ ❞✬❛rrêts ❡st é❧❡✈é✳ ✕ ▲❡ t❡♠♣s ❞✬❛rrêt ❡♥ st❛t✐♦♥✱ q✉✐ ❞é♣❡♥❞ ❡♥ ♠♦②❡♥♥❡ ❞✉ ♥♦♠❜r❡ ❞❡ ✈♦②❛❣❡✉rs q✉✐ ♠♦♥t❡♥t ❡t q✉✐ ❞❡s❝❡♥❞❡♥t✱ ♠❛✐s ❛✉ss✐ ❞❡ ❧✬♦r❣❛♥✐s❛t✐♦♥ ❞❡s ♣♦rt❡s ❡t ❞❡s ❡s♣❛❝❡s ✐♥tér✐❡✉rs ❞❡s ✈é❤✐❝✉❧❡s✳ ❉❡s ❡①❡♠♣❧❡s ❞❡ ✈✐t❡ss❡s ❝♦♠♠❡r❝✐❛❧❡s ❞❡s ♠étr♦s s♦♥t ✿ ✷✶ ❦♠✴❤ ♣♦✉r ❧❛ ❧✐❣♥❡ ✹ ❞❡ P❛r✐s ❡t ❞❡ ✸✾ ❦♠✴❤ ♣♦✉r ❧❛ ❧✐❣♥❡ ✶✹ ❞❡ P❛r✐s✳ ▲❡s ❧✐❣♥❡s ❞❡ ♠étr♦ ❛✉t♦♠❛t✐q✉❡ ❧é❣❡r ✭❱❆▲✮ ♦♥t ✉♥❡ ✈✐t❡ss❡ ❝♦♠♠❡r❝✐❛❧❡ ❝♦♠♣r✐s❡ ❡♥tr❡ ✸✵ ❡t ✸✺ ❦♠✴❤✳ ❈❡❝✐ ❡st ✉♥❡ ❝♦♥séq✉❡♥❝❡ ❞❡ ❧❛ ♠❡✐❧❧❡✉r❡ ♦♣t✐♠✐s❛t✐♦♥ ❞❡ ❝❡rt❛✐♥s ♣❛r❛♠ètr❡s ♣♦✉r ❧❡s ♠étr♦s ❢♦♥❝t✐♦♥♥❛♥t s✉r ❞❡s ✐♥❢r❛str✉❝t✉r❡s q✉✐ ❧❡✉r s♦♥t t♦t❛❧❡♠❡♥t ❞é❞✐é❡s ❝♦♠♠❡ ❧❡s t❡♠♣s ❞✬❛rrêt ❡♥ st❛t✐♦♥ ❡t ❧❡s ❝❛♣❛❝✐tés ❞✬❛❝❝é❧ér❛t✐♦♥ ❡t ❞❡ ❢r❡✐♥❛❣❡✳ ✶✳✸✳✶ ▼❛r❝❤❡ ❞✉ tr❛✐♥ P♦✉r ❧❡s tr❛♥s♣♦rts ❢❡rr♦✈✐❛✐r❡s✱ ❧❛ ♠❛r❝❤❡ t②♣❡ ✭r❡❧❛t✐♦♥ ❡♥tr❡ ❧❛ ✈✐t❡ss❡ ❡t ❧❛ ♣♦s✐t✐♦♥✮ ❞✬✉♥ tr❛✐♥ ❡♥tr❡ ❞❡✉① st❛t✐♦♥s ♦ù ✐❧ s✬❛rrêt❡ ♣❡✉t êtr❡ ❞é❝♦✉♣é❡ ❡♥ tr♦✐s ♣❤❛s❡s ✿ ✕ P❤❛s❡ ✶ ❞✬❛❝❝é❧ér❛t✐♦♥ ❡♥tr❡ ❧❛ ✈✐t❡ss❡ ✐♥✐t✐❛❧❡ ♥✉❧❧❡ ❡t ❧❛ ✈✐t❡ss❡ ♠❛①✐♠❛❧❡✳ ✕ P❤❛s❡ ✷ ❞❡ ♠❛r❝❤❡ à ✈✐t❡ss❡ ❝♦♥st❛♥t❡✳ ✕ P❤❛s❡ ✸ ❞❡ ❢r❡✐♥❛❣❡ ❡♥tr❡ ❧❛ ✈✐t❡ss❡ ♠❛①✐♠❛❧❡ ❡t ❧❛ ✈✐t❡ss❡ ✜♥❛❧❡ ♥✉❧❧❡✳ ▲♦rsq✉❡ ❧❡s tr♦♥ç♦♥s s♦♥t ❝♦✉rts✱ ✐❧ ♣❡✉t ❛rr✐✈❡r q✉❡ ❧❡ ❝♦♥✈♦✐ ♥✬❛✐t ♣❛s ❧❛ ♣♦ss✐❜✐❧✐té ❞✬❛tt❡✐♥❞r❡ ❧❛ ✈✐t❡ss❡ ♠❛①✐♠❛❧❡ ❀ ❞❛♥s ❝❡ ❝❛s✱ ❧❛ ♣❤❛s❡ ❞✬❛❝❝é❧ér❛t✐♦♥ ❡st ✐♠♠é❞✐❛t❡♠❡♥t s✉✐✈✐❡ ❞✬✉♥❡ ♣❤❛s❡ ❞❡ ❢r❡✐♥❛❣❡✳ ▲❡s ❞❡✉① ❝❛s s♦♥t ✐❧❧✉strés ❞❛♥s ❧❛ ✜❣✉r❡ ✶✳✸✱ ✐♥❞✐q✉❛♥t ❧❛ ✈✐t❡ss❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ♣♦s✐t✐♦♥ ❞✉ tr❛✐♥✳✽ ❈❤❛♣✐tr❡ ✶✳ ■♥tr♦❞✉❝t✐♦♥ ❋✐❣✉r❡ ✶✳✸ ✕ ❈♦✉r❜❡s ❞❡ ✈✐t❡ss❡ ❞✉ tr❛✐♥ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ t❛✐❧❧❡ ❞✉ tr♦♥ç♦♥✳ s1 ≈ V 2 2a ; t1 = V a s2 = V · t2 s3 ≈ V 2 2d t3 = V d ✭✶✳✶✮ ❊♥ ❛✉tr❡✱ ❡♥ ❝✐r❝✉❧❛t✐♦♥ ❢❡rr♦✈✐❛✐r❡✱ ♥♦✉s ♣♦✉✈♦♥s ❞✐✛ér❡♥❝✐❡r ✹ t②♣❡s ❞❡ ♠❛r❝❤❡ ✿ ✕ ▲❛ ♠❛r❝❤❡ ♥♦r♠❛❧❡ ✿ ❧❛ ✈✐t❡ss❡ ❧✐♠✐t❡ ❞✉ tr❛✐♥ ❞é♣❡♥❞ ❞❡ ❧❛ s❡❝t✐♦♥ ❞❡ ❧✐❣♥❡ ❝♦♥❝❡r♥é❡✱ ❞❡ ❧❛ ✈✐t❡ss❡ ❧✐♠✐t❡ ❞❡s ❞✐✛ér❡♥ts é❧é♠❡♥ts ❞✉ tr❛✐♥ ❛✐♥s✐ q✉❡ ❞❡ s❛ ❝❛♣❛❝✐té ❞❡ ❢r❡✐♥❛❣❡✳ ✕ ▲✬♦❜❧✐❣❛t✐♦♥ ❞❡ ♠❛r❝❤❡r ❡♥ ♠❛♥÷✉✈r❡ ✐♠♣♦s❡ ❛✉ ❝♦♥❞✉❝t❡✉r ❞❡ s✬❛✈❛♥❝❡r ❛✈❡❝ ♣r✉❞❡♥❝❡✱ s❛♥s ❞é♣❛ss❡r ❧❛ ✈✐t❡ss❡ ❞❡ ✸✵ ❦♠✴❤ ❡t ❡♥ s❡ t❡♥❛♥t ♣rêt à ♦❜é✐r ❛✉① s✐❣♥❛✉① q✉✬✐❧ ♣♦✉rr❛✐t r❡♥❝♦♥tr❡r ❡t ❞✬♦❜é✐r à t♦✉t❡ ✐♥❥♦♥❝t✐♦♥ ❞✬✉♥ ❛❣❡♥t ❞❡ ♠❛♥÷✉✈r❡✳ ✕ ▲❛ ♠❛r❝❤❡ à ✈✉❡ ✿ ❡❧❧❡ ✐♠♣♦s❡ à ✉♥ ❝♦♥❞✉❝t❡✉r ❞❡ s✬❛✈❛♥❝❡r ❛✈❡❝ ♣r✉❞❡♥❝❡✱ ❝♦♠♣t❡ t❡♥✉ ❞❡ ❧❛ ♣❛rt✐❡ ❞❡ ✈♦✐❡ q✉✬✐❧ ❛♣❡rç♦✐t ❞❡✈❛♥t ❧✉✐✱ ❞❡ ♠❛♥✐èr❡ à ♣♦✉✈♦✐r s✬❛rrêt❡r ❛✈❛♥t ✉♥❡ q✉❡✉❡ ❞❡ tr❛✐♥✱ ✉♥ s✐❣♥❛❧ ❞✬❛rrêt ♦✉ ✉♥ ♦❜st❛❝❧❡✳ ❊❧❧❡ ❡st ❣é♥ér❛❧❡♠❡♥t ❧✐♠✐té❡ à ✶✽❦♠✴❤ ♣♦✉r ❧❡ ❱❆▲✳ ✕ ▲❛ ♠❛r❝❤❡ ❛✈❡❝ ♣r✉❞❡♥❝❡ ✐♠♣♦s❡ à ✉♥ ❝♦♥❞✉❝t❡✉r ❞❡ ❧✐♠✐t❡r s❛ ✈✐t❡ss❡ ❝♦♠♣t❡ t❡♥✉ ❞✉ ♠♦t✐❢ q✉✐ ❧✉✐ ❛ été ✐♥❞✐q✉é✳ ✶✳✸✳✷ ❉✐st❛♥❝❡ ❞✬❛rrêt ▲❡ ❝♦❞❡ ❞❡ ❧❛ r♦✉t❡ ❞é✜♥✐t ❧❛ ❞✐st❛♥❝❡ ❞✬❛rrêt ❝♦♠♠❡ s✉✐t ✿ ✓▲❛ ❞✐st❛♥❝❡ ❞✬❛rrêt ❞✬✉♥ ✈é❤✐❝✉❧❡ ❝♦rr❡s♣♦♥❞ à ❧❛ ❞✐st❛♥❝❡ ♣❛r❝♦✉r✉❡ ♣❡♥❞❛♥t ❧❡ t❡♠♣s ❞❡ ré❛❝t✐♦♥ ❞❡ s♦♥ ❝♦♥❞✉❝t❡✉r ❡t ❧❛ ❞✐st❛♥❝❡ ❞❡ ❢r❡✐♥❛❣❡✔ ❀ ❧❡ t❡♠♣s ❞❡ ré❛❝t✐♦♥ ❞✉ ❝♦♥❞✉❝t❡✉r ❡♥ ❝❛s ❞✬✐♥❝✐❞❡♥t ❡st é✈❛❧✉é t②♣✐q✉❡♠❡♥t à ✶ s❡❝♦♥❞❡✳ ❆✐♥s✐✱ ❧❛ ❞✐st❛♥❝❡ dparcourue ❡st ❧❛ s♦♠♠❡ ❞❡ ❧❛ ❞✐st❛♥❝❡ ❞❡ ❢r❡✐♥❛❣❡ ❡t ❞❡ ❧❛ ❞✐st❛♥❝❡ ♣❛r❝♦✉r✉❡ ♣❛r ❧❡ tr❛✐♥ ♣❡♥❞❛♥t ❧❛ ♠✐s❡ ❡♥ r♦✉t❡ ❞✉ ❢r❡✐♥❛❣❡ ✭❝✬❡st✲à✲❞✐r❡ ❛✈❛♥t q✉❡ ❧❡ ❢r❡✐♥❛❣❡ ♥❡ s♦✐t ❡✛❡❝t✐❢✮✳ ▲✬❡①♣r❡ss✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ ♣❛r❝♦✉r✉❡ ❡st ❞♦♥♥é❡ ♣❛r ❧✬éq✉❛t✐♦♥ ✶✳✷✱ ♦ù ❧❡ t❡♠♣s ❞❡ ré❛❝t✐♦♥ ❡st Tsysteme ` ✱ ❧❛ ✈✐t❡ss❡ ❞✉ tr❛✐♥ ❡st v✱ s❛ ❞é❝é❧ér❛t✐♦♥ γ ✭♣❧✉s γ ❡st ❣r❛♥❞✱ ♠❡✐❧❧❡✉r ❡st ❧❡ ❢r❡✐♥❛❣❡✮✱ ❧❛ ✈✐t❡ss❡ à ❛tt❡♥❞r❡ vbut✱ g ❡st ❧✬❛❝❝é❧ér❛t✐♦♥ ❞❡ ❧❛ ♣❡s❛♥t❡✉r ❡t i r❡♣rés❡♥t❡ ❧❛ ❞é❝❧✐✈✐té ❞✉ t❡rr❛✐♥ ♣♦✉r ♠✐❧❧❡✳ Dparcourue = tsysteme ` v + v 2 − vbut 2(γ − g · i) ✭✶✳✷✮ ❙✐ ♥♦✉s ❝♦♥s✐❞ér♦♥s q✉❡ ❧❡ t❡♠♣s ré❛❝t✐♦♥ ❞✉ s②stè♠❡ ❝♦♠♣❧❡t ✭❞✐s♣♦s✐t✐❢ ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ✰ tr❛♥s♠✐ss✐♦♥ ✰ ❝❤❛î♥❡ ❞❡ ❢r❡✐♥❛❣❡✮ ❞❛♥s ❧❡ ♣✐r❡ ❝❛s ❡st é❣❛❧ à Tsysteme ` = 1 s✱ ✉♥❡ ❞é❝❧✐✈✐té ♥✉❧❧❡ ❡t ❧✬❛rrêt ❝♦♠♣❧❡t ❞✉ tr❛✐♥ vbut = 0✱ ❧❛ ❞✐st❛♥❝❡ ❞✬❛rrêt s❡ ré❞✉✐t à ❧✬éq✉❛t✐♦♥ ✶✳✸ Darretˆ = v + v 2 2γ ✭✶✳✸✮✶✳✹✳ ❈♦♥❞✉✐t❡s ♥♦♥ ❛✉t♦♠❛t✐sé❡s ❞✉ tr❛✐♥ ✾ ◆♦✉s ♣r♦♣♦s♦♥s ❞✬❛♥❛❧②s❡r ❧❛ ❞✐st❛♥❝❡ ❞✬❛rrêt ♣♦✉r ❞✐✛ér❡♥t❡s ✈✐t❡ss❡s ❞❡ ♥♦tr❡ tr❛✐♥ ❱❆▲✱ s❛❝❤❛♥t q✉❡ ❧❛ ❞é❝é❧ér❛t✐♦♥ ♠✐♥✐♠❛❧❡ ❛ss✉ré❡ ❡♥ ❝❛s ❞❡ ❢r❡✐♥❛❣❡ ❞✬✉r❣❡♥❝❡ ❡st é❣❛❧❡ à γ = 1.8m/s2 ✳ P♦✉r ❧❛ ✈✐t❡ss❡ ♠❛①✐♠❛❧❡ ❞✬❡①♣❧♦✐t❛t✐♦♥ ✭✽✵❦♠✴❤✮ ❧❛ ❞✐st❛♥❝❡ ❞✬❛rrêt ❡st ❞❡ ✶✻✵ ♠✳ ❉❛♥s ❧❡ ❝❛s ❞✬✉♥❡ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡ ❡♥ ♠♦❞❡ ❞é❣r❛❞é ♦ù ❧❛ ✈✐t❡ss❡ ❡st ❧✐♠✐té❡ à ✶✽❦♠✴❤ ♥♦✉s ❛✈♦♥s ✉♥❡ ❞✐st❛♥❝❡ ❞✬❛rrêt ❞❡ ✶✷ ♠✳ ✶✳✹ ❈♦♥❞✉✐t❡s ♥♦♥ ❛✉t♦♠❛t✐sé❡s ❞✉ tr❛✐♥ ▲✬♦❜❥❡❝t✐❢ ❞✉ ♣r♦❥❡t ❡st ❞✬❛♠❡❧✐♦r❡r ❧❛ sé❝✉r✐té ❞❡s ♣❡rs♦♥♥❡s ❡t ❞❡s éq✉✐♣❡♠❡♥ts ❞❡s ♠étr♦s ❛✉t♦♠❛t✐q✉❡s s❛♥s ❝♦♥❞✉❝t❡✉r à ♣❛rt✐r ❞✬✉♥❡ ❛♣♣r♦❝❤❡ ❜❛sé❡ s✉r ❧❛ ✈✐s✐♦♥ ♣❛r ♦r❞✐♥❛t❡✉r✳ ❊♥ ♣❛rt✐✲ ❝✉❧✐❡r✱ ❧✬ét✉❞❡ ♣♦rt❡ s✉r ✉♥ ❞✐s♣♦s✐t✐❢ ♣❡r♠❡tt❛♥t ❞❡ s❛t✐s❢❛✐r❡ ❛✉① ❡①✐❣❡♥❝❡s ❞❡ ❧❛ ♥♦r♠❡ ❊◆ ✶✺✷✷✼ s❛♥s ♠♦❞✐✜❡r ❧❛ str✉❝t✉r❡ ❞❡ ❧❛ ❝❛✐ss❡ ❡①✐st❛♥t❡ t♦✉t ❡♥ ❛✉❣♠❡♥t❛♥t s✐ ♣♦ss✐❜❧❡ ❧❛ ✈✐t❡ss❡ ♠❛①✐♠❛❧❡ ❞❡ ❧❛ ♠❛r❝❤❡ à ✈✉❡✳ ▲✬ét✉❞❡ ♣♦rt❡ s✉r ❧❛ ❢♦♥❝t✐♦♥ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡✱ ❡♥ ♣❛rt✐❝✉❧✐❡r✱ ❧❛ ♣ré✈❡♥t✐♦♥ ❞❡s ❝♦❧❧✐s✐♦♥s ❞❡ tr❛✐♥s✳ ▲❛ ♣r❡♠✐èr❡ s♦❧✉t✐♦♥ q✉✐ ✈✐❡♥t à ❧✬❡s♣r✐t ♣♦✉r ré❛❧✐s❡r ✉♥ ❞✐s♣♦s✐t✐❢ ❛♥t✐❝♦❧❧✐s✐♦♥s ❜❛sé s✉r ❧❛ ✈✐s✐♦♥ ❝♦♥s✐st❡ à r❡❝❤❡r❝❤❡r ❧❡s ♦❜st❛❝❧❡s ♣♦t❡♥t✐❡❧s ❞❡✈❛♥t ❧❡ tr❛✐♥ ❡t à ❧❡s ❝♦♥❢r♦♥t❡r à ✉♥❡ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❞❡s ♦❜st❛❝❧❡s ♣♦ss✐❜❧❡s ✭❞❛♥s ♥♦tr❡ ❝❛s✱ ✉♥❡ ❛✉tr❡ r❛♠❡ ❛rrêté❡✮✳ ❈❡♣❡♥❞❛♥t✱ ❝♦♠♣t❡✲ t❡♥✉ ❞✉ ❤❛✉t ❞❡❣ré ❞❡ sé❝✉r✐té ❞❡♠❛♥❞é ❞❛♥s ❧❡ ♠♦♥❞❡ ❢❡rr♦✈✐❛✐r❡✱ ❛ss✉r❡r ❧❛ ❞ét❡❝t✐♦♥ ❛✉ s❡✉✐❧ ❞❡ ♣r♦❜❛❜✐❧✐té r❡q✉✐s ✭❃✵✱✾✾✾✮ ❝♦♥❞✉✐r❛✐t à ✉♥ t❛✉① ❞❡ ❢❛✉① ♣♦s✐t✐❢s ✐♥❛❝❝❡♣t❛❜❧❡ ❡♥ r❛✐s♦♥ ❞❡s ♣❡rt✉r❜❛t✐♦♥s ❡♥❣❡♥❞ré❡s s✉r ❧❛ ❧✐❣♥❡✳ ❉❡ ♣❧✉s✱ ❝❡s ♣❡rt✉r❜❛t✐♦♥s ❡❧❧❡s✲♠ê♠❡s ét❛♥t ❞❡s s♦✉r❝❡s ♣♦t❡♥t✐❡❧❧❡s ❞✬❛❝❝✐❞❡♥ts✱ ❧❛ sé❝✉r✐té ❣❧♦❜❛❧❡ ♥✬❡♥ s❡r❛✐t ♣❛s ❛♠é❧✐♦ré❡✱ ✈♦✐r❡ s❡r❛✐t ❞é❣r❛❞é❡✳ ❈❡s r❛✐s♦♥s ♥♦✉s ♦❜❧✐❣❡♥t à ❝♦♥❝❡✈♦✐r ❧❡ s②stè♠❡ ❞❡ ♠❛♥✐èr❡ ❞✐✛ér❡♥t❡✳ ◆♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ♣♦✉r ❞é✜♥✐r ✉♥❡ ③♦♥❡ ❧✐❜r❡ ❞✬♦❜st❛❝❧❡s ✭tr❛✐♥s✮✳ ❈❡tt❡ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ♥✬❡st ❜❛sé❡ q✉❡ s✉r ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡ ❡t ♣❡r♠❡t ❞❡ ❞ét❡r♠✐♥❡r ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ❧❛ ✈♦✐❡✳ ❆✉✲❞❡❧à ❞❡ ❝❡tt❡ ❞✐st❛♥❝❡✱ ✐❧ ❡①✐st❡ tr♦✐s ❤②♣♦t❤ès❡s ♣♦✉r ❧❡ s②stè♠❡ ✿ ✕ ▲❛ ✈♦✐❡ ❡st ❧✐❜r❡ ♠❛✐s ❡❧❧❡ ♥✬❡st ♣❛s ✈✐s✐❜❧❡ à ❝❛✉s❡ ❞❡ ❧❛ rés♦❧✉t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛✱ ❞❡s ❝♦♥❞✐t✐♦♥s ♠été♦r♦❧♦❣✐q✉❡s✱ ❞✬✉♥❡ ✢❛q✉❡ ❞✬❡❛✉✱ ❞❡s ♣❛r♦✐s ❞✉ t✉♥♥❡❧ ❡♥ ✈✐r❛❣❡✳✳✳ ✕ ▲❛ ✈♦✐❡ ❡st ♦❝❝✉♣é❡ ♣❛r ✉♥ tr❛✐♥✳ ✕ ❖♥ s❡ tr♦✉✈❡ à ✉♥❡ ❞❡s ❡①tré♠✐tés ❞❡ ❧❛ ❧✐❣♥❡ ❡t ❧❛ ✈♦✐❡ ❛rr✐✈❡ à s❛ ✜♥✳ ◆♦✉s ♣r♦♣♦s♦♥s ❞❡ ❞é✈❡❧♦♣♣❡r ✉♥ s②stè♠❡ ❝❛♣❛❜❧❡ q✉❡❧❧❡s q✉❡ s♦✐❡♥t ❧❡s ❝♦♥❞✐t✐♦♥s ❞✬é❝❧❛✐r❛❣❡ ♦✉ à ❧❛ ♣rés❡♥❝❡ ❞✬♦❜st❛❝❧❡s ✓♥♦r♠❛✉①✔ ✭❧❡s ♣❛r♦✐s ❞✉ t✉♥♥❡❧ ❡♥ ✈✐r❛❣❡ ♣❛r ❡①❡♠♣❧❡✮✱ ❞✬é✈❛❧✉❡r s❛ ❞✐st❛♥❝❡ ❞❡ ✈✐s✐❜✐❧✐té ♣♦✉r ♣❡r♠❡ttr❡ ❛✉ ❝♦♥❞✉❝t❡✉r✱ ❞✬❛❞❛♣t❡r ❧❛ ✈✐t❡ss❡ ❞❡ ❝✐r❝✉❧❛t✐♦♥ à ✜♥ ❞❡ ♥❡ ♣❛s ❡♥tr❛î♥❡r ❞❡ ✓❢❛✉①✲♣♦s✐t✐❢s✔ s②sté♠❛t✐q✉❡s ❡t ❞❡ ❞✐♠✐♥✉❡r ❧✬✐♠♣❛❝t ❣❧♦❜❛❧ ❞❡ ❧✬✐♥❝✐❞❡♥t✳ ❆ ♣r✐♦r✐✱ tr♦✐s ♣❤❛s❡s ❞✬❡①♣❧♦✐t❛t✐♦♥ ❞❡ ❧❛ ❧✐❣♥❡ s♦♥t s✉s❝❡♣t✐❜❧❡s ❞❡ t✐r❡r ❜é♥é✜❝❡ ❞✬✉♥ ❞✐s♣♦s✐t✐❢ ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ✿ ❧✬♦✉✈❡rt✉r❡ ❞❡ ❧❛ ❧✐❣♥❡✱ ❧❛ r❡♣r✐s❡ ❡♥ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡ ❛♣rès ✉♥❡ ♣❛♥♥❡ ❡t ❧❡s ♠♦✉✈❡♠❡♥ts ❡♥ ❣❛r❛❣❡✳ ✶✳✹✳✶ ❖✉✈❡rt✉r❡ ❞❡ ❧❛ ❧✐❣♥❡ ❉❛♥s s❛ ✈❡rs✐♦♥ ❛❝t✉❡❧❧❡✱ ❝❡tt❡ ❢♦♥❝t✐♦♥ ❡st ❛ss✉ré❡ ♣❛r ✉♥ tr❛✐♥ ✈✐❞❡ ❞❡ ♣❛ss❛❣❡r q✉✐ ♦✉✈r❡ ❧✬❡①✲ ♣❧♦✐t❛t✐♦♥ ❞❡ ❧❛ ❧✐❣♥❡✳ ▲❡ tr❛✐♥ ♣❡✉t êtr❡ ❝♦♥❞✉✐t ♠❛♥✉❡❧❧❡♠❡♥t à ❞❡s ✈✐t❡ss❡s r❡❧❛t✐✈❡♠❡♥t ❜❛ss❡s ❡t ❧❛ sé❝✉r✐té ❞✉ ♠♦✉✈❡♠❡♥t ❡st ❛ss✉ré❡ ♣❛r ❧❡ ❝♦♥❞✉❝t❡✉r q✉✐ ✈ér✐✜❡ ✈✐s✉❡❧❧❡♠❡♥t ❧✬❛❜s❡♥❝❡ ❞✬♦❜❥❡t s✉r ❧❛ ✈♦✐❡✳ ❙✉r ❧❡ ♠étr♦ ❱❆▲ ❞❡ ▲✐❧❧❡✱ ❝❡tt❡ ♣r♦❝é❞✉r❡ ♥✬❛ ❧✐❡✉ q✉✬à t✐tr❡ ❡①❝❡♣t✐♦♥♥❡❧ ✭❛♣rès ❞❡s tr❛✈❛✉① s✉r ❧❛ ❧✐❣♥❡✱ ✉♥ é✈è♥❡♠❡♥t ❝❧✐♠❛t✐q✉❡ ♣❛rt✐❝✉❧✐❡r ❝♦♠♠❡ ✉♥❡ t❡♠♣êt❡✱ ✳✳✳✮✳ ❙✐♥♦♥ ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ✈♦✐❡ ❡st ❛ss✉ré❡ ❡♥ ❛✉t♦♠❛t✐q✉❡ à ✈✐t❡ss❡ ré❞✉✐t❡ ✭tr❛✐♥ s❛♥s ❝♦♥❞✉❝t❡✉r ♥✐ ♣❛ss❛❣❡r✮✳ ❉❛♥s ❧❡s ❞❡✉① ❝❛s✱ ❝❡tt❡ ♣r♦❝é❞✉r❡ ❧♦♥❣✉❡ ❡t ❢❛st✐❞✐❡✉s❡ ✐♠♣❛❝t❡ ❞✬❛✉t❛♥t ♣❧✉s ❧✬❡①♣❧♦✐t❛t✐♦♥ q✉❡ ❧❛ ❧✐❣♥❡ ❡st ❧♦♥❣✉❡✳✶✵ ❈❤❛♣✐tr❡ ✶✳ ■♥tr♦❞✉❝t✐♦♥ ▲❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ❧❛ ♣✐st❡ ❡♥ ❛✉t♦♠❛t✐q✉❡ à ❜❛ss❡ ✈✐t❡ss❡ r❡st❡ ✉♥ ♠♦②❡♥ ❞❡ ❞ét❡r♠✐♥❡r ❧❛ ♣rés❡♥❝❡ ❞❡s ♣❡t✐ts ♦❜st❛❝❧❡s ❞❛♥s ❧❡ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t ❞❡ ❧❛ ✈♦✐❡✱ ❝❛r ❧❛ ♣r♦❜❛❜✐❧✐té ❞❡ tr♦✉✈❡r ❞❡s ♦❜st❛❝❧❡s ❞❛♥s ✉♥ s✐t❡ ♣r♦♣r❡ ✐♥té❣r❛❧ ❡st très ❢❛✐❜❧❡ ❛✐♥s✐ q✉❡ ❧❛ ❣r❛✈✐té ❞❡s ❞♦♠♠❛❣❡s ❡♥ ❝❛s ❞❡ ❝♦❧❧✐s✐♦♥ ❝♦♠♣t❡ t❡♥✉ ❞❡ ❧❛ ✈✐t❡ss❡ ❧✐♠✐té❡ ❞✉ tr❛✐♥✳ P♦✉r q✉❡ s②stè♠❡ ♦♣t✐q✉❡ ❛♣♣♦rt❡ ✉♥❡ ❛♠é❧✐♦r❛t✐♦♥✱ ✐❧ ❞❡✈r❛✐t ♣♦✉✈♦✐r ❞ét❡❝t❡r ❧❡s ♣❡t✐ts ♦❜st❛❝❧❡s ❛✈❛♥t ❞❡ ❧❡s ♣❡r❝✉t❡r ❛✈❡❝ ✉♥ t❛✉① ❞❡ ❢❛✉① ♥é❣❛t✐❢s très ❢❛✐❜❧❡✱ ❝❡ q✉✐ r❡st❡ ❞✐✣❝✐❧❡ ❡♥ r❛✐s♦♥ ❞❡ ❧❛ ❣r❛♥❞❡ ✈❛r✐été ❞✬♦❜st❛❝❧❡s à ❞ét❡❝t❡r✳ ✶✳✹✳✷ ❘❡♣r✐s❡ ❡♥ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡ ❙✉r s②stè♠❡s ❱❆▲✱ ❧❛ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡ à ✈✉❡ ❡st ✉♥ ♠♦❞❡ ❞é❣r❛❞é ❞✉ s②stè♠❡ ❞❡ ❝♦♥❞✉✐t❡ ❛✉t♦♠❛t✐q✉❡✱ q✉❛♥❞ ❧❡ s②stè♠❡ ❞❡ ❝♦♥trô❧❡ ❛✉t♦♠❛t✐q✉❡ ❞✉ ♣✐❧♦t❡ ❛✉t♦♠❛t✐q✉❡ ✭P❆✮ ♥✬❡st ♣❧✉s ❛❝t✐❢✳ ■❧ ♣❡✉t é❣❛❧❡♠❡♥t êtr❡ ✉t✐❧✐sé ❤♦rs ❞✉ ❞♦♠❛✐♥❡ ❞❡ ❝♦♥trô❧❡ ❛✉t♦♠❛t✐q✉❡ ❞❡s tr❛✐♥s ❝♦♠♠❡ ❧❛ ③♦♥❡ ❛t❡❧✐❡r ❡t ❧❛ ✈♦✐❡ ❞✬❡ss❛✐s✳ ▲❛ r❡♣r✐s❡ ❡♥ ♠❛♥✉❡❧❧❡ ❞❡ ❧❛ r❛♠❡ s✬♦♣èr❡ ❞❛♥s ❧❡s s✐t✉❛t✐♦♥s s✉✐✈❛♥t❡s ✿ ✕ P❡rt❡ ❞❡ ❝♦♥trô❧❡ ❞❡ ❜♦✉❝❧❡s sé❝✉r✐t❛✐r❡s ❞❡ ❧❛ r❛♠❡ ✭tr❛✈❡rs❡ ❝❤❛ss❡ ❝♦r♣s✱ ♣♦rt❡s✳✳✳✮✳ ✕ P❛♥♥❡ ❞❡s éq✉✐♣❡♠❡♥ts ❡♠❜❛rq✉és✱ ❞✬❛✉t♦♠❛t✐s♠❡s✳ ✕ P❛♥♥❡ ❞❡s éq✉✐♣❡♠❡♥ts ✜①❡s ❞✬❛✉t♦♠❛t✐s♠❡s ❣ér❛♥t ✉♥ tr♦♥ç♦♥✳ ✕ P❡rt❡ ❞❡ ❧♦❝❛❧✐s❛t✐♦♥ ❞❡ ❧❛ r❛♠❡✳ ❈❡ ♠♦❞❡ ♣❡r♠❡t ❞❡ r❡t✐r❡r ✉♥❡ r❛♠❡ ❞❡ ❧✬❡①♣❧♦✐t❛t✐♦♥ ❧♦rsq✉✬✉♥ ❞é❢❛✉t ✐♥t❡r❞✐t ❧❛ ♣♦✉rs✉✐t❡ ❞❡ ❧❛ ❝♦♥❞✉✐t❡ ❛✉t♦♠❛t✐q✉❡✳ ■❧ ♣❡r♠❡t é❣❛❧❡♠❡♥t ❛✉① r❛♠❡s ❞❡ tr❛✈❡rs❡r ❞❡s ③♦♥❡s ♦ù ❧❡ ♠♦❞❡ ❡♥ ❛✉t♦♠❛t✐q✉❡ ♥✬❡st t❡♠♣♦r❛✐r❡♠❡♥t ♣❧✉s ♣♦ss✐❜❧❡✳ ❉❛♥s ❝❡s ❝❛s✱ t♦✉t❡ ❧❛ sé❝✉r✐té r❡♣♦s❡ s✉r ❧✬❛❣❡♥t ❞❡ ❝♦♥❞✉✐t❡ ♣rés❡♥t à ❜♦r❞ ❞✉ tr❛✐♥ ❡t s✉r ❧✬❛♣♣❧✐❝❛t✐♦♥ ❞❡ ♣r♦❝é❞✉r❡s ❞✬❡①♣❧♦✐t❛t✐♦♥ ✭é❝❤❛♥❣❡s ❛✈❡❝ ❧❡ P♦st❡ ❞❡ ❈♦♥trô❧❡ ❞❡ ❈♦♠♠❛♥❞❡ ✭P❈❈✮✱✳✳✳✮✳ P♦✉r ❝❡tt❡ r❛✐s♦♥ ❧❛ ❝♦♥s✐❣♥❡ ❞❡ ✈✐t❡ss❡ ❡♥ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡ à ✈✉❡ ❡st ❧✐♠✐té❡ à 18 km/h (5 m/s)✳ ▲✬❛❣❡♥t ❞❡ ❝♦♥❞✉✐t❡ ❞♦✐t r❡s♣❡❝t❡r ❧❡s ❝♦♥s✐❣♥❡s ❢♦✉r♥✐❡s ♣❛r ❧❛ s✐❣♥❛❧✐s❛t✐♦♥ ❧❛tér❛❧❡ ❞❡ ❧❛ ✈♦✐❡ ✭s✐❣♥❛✉① ❞❡ ♠❛♥÷✉✈r❡✱ ❧✐♠✐t❡ ❞❡ ✈✐t❡ss❡✳✳✳✮✳ ➚ ♣❛rt✐r ❞✉ ♣✉♣✐tr❡ ♠❛♥✉❡❧ ❞❡ ❝♦♥❞✉✐t❡ s✐t✉é ❡♥ têt❡ ❞✉ ✈é❤✐❝✉❧❡✱ ❧✬❛❣❡♥t ❞✬❡①♣❧♦✐t❛t✐♦♥ ❛ à s❛ ❞✐s♣♦s✐t✐♦♥ ❧❡s ❝♦♠♠❛♥❞❡s ❡ss❡♥t✐❡❧❧❡s ♣❡r♠❡tt❛♥t ❞❡ ❞é♣❧❛❝❡r ❧❡ tr❛✐♥ ❡♥ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡ ✭tr❛❝t✐♦♥✱ ❢r❡✐♥❛❣❡✮✱ ❛✐♥s✐ q✉✬✉♥ ❜♦✉t♦♥ ❞✬❛rrêt ❞✬✉r❣❡♥❝❡✳ ❊♥ ❝❛s ❞❡ ♣❛♥♥❡ ❞❡s ❛✉t♦♠❛t✐s♠❡s ❡♠❜❛rq✉és✱ ✉♥ ❛❣❡♥t ❞✬❡①♣❧♦✐t❛t✐♦♥ ❞♦✐t ✿ ✕ ❙❡ r❡♥❞r❡ s✉r ♣❧❛❝❡ ❡t r❡♣r❡♥❞r❡ ❧❡ r❛♠❡ ❡♥ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡✳ ✕ ❙✐ ❧❡ tr❛✐♥ ét❛✐t ❡♥ ♣❛♥♥❡ ❡♥tr❡ ❞❡✉① st❛t✐♦♥s✱ ❧❡ ❝♦♥❞✉✐r❡ ❥✉sq✉✬à ❧❛ st❛t✐♦♥ s✉✐✈❛♥t❡ ♣♦✉r é✈❛❝✉❡r ❧❡s ♣❛ss❛❣❡rs✳ ✕ ❘❡♣r❡♥❞r❡ s❛ ♠❛r❝❤❡ s❛♥s ❛rrêt ❥✉sq✉✬❛✉ t❡r♠✐♥✉s✳ ❆❝t✉❡❧❧❡♠❡♥t✱ ❛✈❡❝ ❧❛ ❧✐♠✐t❛t✐♦♥ ❞❡ ✈✐t❡ss❡ à 18km/heure✱ ❝❡tt❡ ♣r♦❝é❞✉r❡ ❡♥❣❡♥❞r❡ ❞é❥à ✉♥❡ très ❢♦rt❡ ♣❡rt✉r❜❛t✐♦♥ s✉r ❧❛ ❧✐❣♥❡ q✉✐ ✈♦✐t s❛ ✈✐t❡ss❡ ❝♦♠♠❡r❝✐❛❧❡ ❝❤✉t❡r ❞❡ 35km/h à ♠♦✐♥s ❞❡ 18km/h✱ s✉rt♦✉t s✐ ❧✬✐♥❝✐❞❡♥t ❛ ❡✉ ❧✐❡✉ ♣❡✉ ❛♣rès ❧❡ ❞é♣❛rt ❞✬✉♥ t❡r♠✐♥✉s✳ ❖r✱ ♣♦✉r r❡s♣❡❝t❡r ❧❛ ♥♦r♠❡ ❊◆ ✶✺✷✷✼ ❡♥ ♥❡ ♣r♦❝é❞❛♥t à ❛✉❝✉♥❡ ♠♦❞✐✜❝❛t✐♦♥ ♥✐ s✉r ❧❛ str✉❝t✉r❡ ❞❡s ❝❛✐ss❡s ♥✐ s✉r ❧❡ s②stè♠❡✱ ❧❛ ✈✐t❡ss❡ ♠❛①✐♠❛❧❡ ❞❡ ❝♦♥❞✉✐t❡ à ✈✉❡ ❞❡✈r❛✐t êtr❡ ❛❜❛✐ssé❡ à 8km/h✱ ❝❡ q✉✐ r❡♥❞r❛✐t ❧❛ ❧✐❣♥❡ ✐♥❡①♣❧♦✐t❛❜❧❡ ❥✉sq✉✬à ❝❡ q✉❡ ❧❛ r❛♠❡ s♦✐t é✈❛❝✉é❡✳ ✶✳✹✳✷✳✶ ❆❝t✐♦♥s ❞✉ s②stè♠❡ ▲❡ s②stè♠❡ ♣r♦♣♦sé ❞❛♥s ♥♦s tr❛✈❛✉① ❞❡ t❤ès❡ ♣❡r♠❡t ❞❡ r❡❝♦♥♥❛îtr❡ ❧❛ ✈♦✐❡ à ❧✬❛✈❛♥t ❞✉ tr❛✐♥ ❥✉sq✉✬à ✉♥❡ ❞✐st❛♥❝❡ ❉ réé✈❛❧✉é❡ ❡♥ ♣❡r♠❛♥❡♥❝❡✳ ❆✉✲❞❡❧à ❞❡ ❝❡tt❡ ❞✐st❛♥❝❡✱ ❧❡ s②stè♠❡ ❢❛✐t ❧✬❤②✲ ♣♦t❤ès❡ q✉✬✉♥❡ r❛♠❡ ♦❝❝✉♣❡ ❧❛ ✈♦✐❡ ❡♥ ❛✈❛❧ ❞❡ ❝❡tt❡ ❧✐♠✐t❡✳ ■❧ ✈ér✐✜❡ ❛❧♦rs q✉❡ ❧❛ ✈✐t❡ss❡ ❝♦✉r❛♥t❡ ❞✉ tr❛✐♥ ❡st ✐♥❢ér✐❡✉r❡ à ❧❛ ✈✐t❡ss❡ q✉✐ ❝♦♥❞✉✐r❛✐t✱ ❡♥ ❝❛s ❞❡ ❞é❝❧❡♥❝❤❡♠❡♥t ❞✉ ❢r❡✐♥❛❣❡ ❞✬✉r❣❡♥❝❡✱ à✶✳✹✳ ❈♦♥❞✉✐t❡s ♥♦♥ ❛✉t♦♠❛t✐sé❡s ❞✉ tr❛✐♥ ✶✶ ✉♥❡ ❝♦❧❧✐s✐♦♥ à 8km/h✳ ❉ès q✉❡ ❝❡tt❡ ❝♦♥❞✐t✐♦♥ ♥✬❡st ♣❧✉s r❡s♣❡❝té❡✱ ❧❡ s②stè♠❡ ❞é❝❧❡♥❝❤❡ ❧❡ ❢r❡✐♥❛❣❡ ❞✬✉r❣❡♥❝❡✳ ❈❡ ♣r❡♠✐❡r ♣♦✐♥t ♣❡r♠❡t ❞❡ r❡s♣❡❝t❡r str✐❝t❡♠❡♥t ❧❛ ♥♦r♠❡✱ ♠❛✐s ✉♥❡ ❝♦❧❧✐s✐♦♥✱ ♠ê♠❡ à 8km/h✱ ♥✬❡st é✈✐❞❡♠♠❡♥t ♣❛s s♦✉❤❛✐t❛❜❧❡ ♥✐ ♠ê♠❡ ✉♥ ❞é❝❧❡♥❝❤❡♠❡♥t ❞✉ ❢r❡✐♥❛❣❡ ❞✬✉r❣❡♥❝❡✳ ❈❡♣❡♥❞❛♥t✱ ❛✜♥ ❞❡ ♥❡ ♣❛s r❛❧❡♥t✐r ✐♥✉t✐❧❡♠❡♥t ❧❡ tr❛✐♥ ❡♥ ♣rés❡♥❝❡ ❞✬✉♥ ✓❢❛✉① ♣♦s✐t✐❢✔ ✭❧❛ ✈♦✐❡ ❡st ❧✐❜r❡ ♠❛✐s ♥♦♥ r❡❝♦♥♥✉❡ ❛✉✲❞❡❧à ❞❡ ❧❛ ❞✐st❛♥❝❡ ❉✮✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞❡ ❝♦♠♣❧ét❡r ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ♣❛r ✉♥❡ r❡❝♦♥♥❛✐ss❛♥❝❡ ♣♦s✐t✐✈❡ ❞✬♦❜st❛❝❧❡s✳ ❙✐ ✉♥ ♦❜st❛❝❧❡ ❡st ✐❞❡♥t✐✜é à ❧❛ ❞✐st❛♥❝❡ ❉✱ ❧❡ s②stè♠❡ ✈ér✐✜❡ ❛❧♦rs q✉❡ ❧❛ ✈✐t❡ss❡ ❝♦✉r❛♥t ❡st ✐♥❢ér✐❡✉r❡ à ❝❡❧❧❡ q✉✐ ♣❡r♠❡t ❞✬❛rrêt❡r ♥♦r♠❛❧❡♠❡♥t ❧❡ tr❛✐♥ ❡♥ ❛♠♦♥t ❞❡ ❧✬♦❜st❛❝❧❡✳ ▲❛ ✜❣✉r❡ ✶✳✹ ♥♦✉s ♠♦♥tr❡ ✉♥ ❡①❡♠♣❧❡ ❞❡ ❝♦✉r❜❡ ❞❡ ✈✐t❡ss❡ ♣♦✉r ✉♥ ❝❛s ♦ù ❧❛ ✈♦✐❡ ♥✬❡st ♣❧✉s ❞ét❡❝té❡ ❡t q✉❡ ❧❡ s②stè♠❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡ tr❛✐♥s ♥❡ r❡❝♦♥♥❛✐t ♣❛s ❧❛ ❢♦r♠❡ ❞✬✉♥ tr❛✐♥✳ ❋✐❣✉r❡ ✶✳✹ ✕ ➱✈♦❧✉t✐♦♥ ❞❡ ❧❛ ✈✐t❡ss❡ ❞✉ tr❛✐♥ ❡♥ ❢♦♥❝t✐♦♥ ❞✉ s②stè♠❡ ♣r♦♣♦sé✳ P❛r ❝♦♥tr❡ q✉❛♥❞ ❧❡ s②stè♠❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡ tr❛✐♥s r❡❝♦♥♥❛✐t q✉❡ ❧❛ ✈♦✐❡ ♥✬❡st ♣❧✉s ✈✐s✐❜❧❡✱ ❝❛r ❡❧❧❡ ❡st ♦❝❝✉♣é❡ ♣❛r ✉♥ tr❛✐♥✱ ❧❛ ✈✐t❡ss❡ ❛♣♣❧✐q✉❡ ✉♥❡ ❞é❝é❧ér❛t✐♦♥ ❝♦♠♣❧èt❡ ❞✉ tr❛✐♥ ❝♦♠♠❡ ♠♦♥tré ♣❛r ❧❡ tr❛❝é r♦✉❣❡ ❞❛♥s ❧❛ ✜❣✉r❡ ✶✳✹✳ ▲❛ r❡❝❤❡r❝❤❡ ❞✬♦❜st❛❝❧❡ r❡♣♦s❡r❛ s✉r ❧✬✉t✐❧✐s❛t✐♦♥ ❞✬✉♥ ❝❧❛ss✐✜❡✉r ❜✐♥❛✐r❡ ♣♦✉r r❡❝♦♥♥❛îtr❡ ❧❛ s✐❧❤♦✉❡tt❡ ❢r♦♥t❛❧❡ ❞✬✉♥ tr❛✐♥✳ ✶✳✹✳✸ ▼♦✉✈❡♠❡♥t ❡♥ ❣❛r❛❣❡ ♦✉ ❛t❡❧✐❡r ❆❝t✉❡❧❧❡♠❡♥t✱ ❧❡s ❣❛r❛❣❡s s♦♥t ❞❡s ③♦♥❡s très ❝❤❛r❣é❡s ❡♥ éq✉✐♣❡♠❡♥ts ✜①❡s ❞✬❛✉t♦♠❛t✐s♠❡s✳ ■❧ ❡①✐st❡ ✉♥ ❣r❛♥❞ ♥♦♠❜r❡ ❞❡s ❜❛❧✐s❡s ♣♦✉r ❛ss✉r❡r ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ❡t s✐❣♥❛❧✐s❛t✐♦♥ ❞✉ tr❛✐♥ ♣♦✉r ♣♦✉✈♦✐r ❞é♣❧❛❝❡r ❧❡s tr❛✐♥s ❡♥ ❛✉t♦♠❛t✐q✉❡✱ ❝❡ q✉✐ ❡♥tr❛î♥❡ ✉♥ s✉r✲❝♦ût ❞✬✐♥st❛❧❧❛t✐♦♥ ❡t ❞❡ ♠❛✐♥t❡♥❛♥❝❡✳ ❉✬❛✉tr❡s ❣❛r❛❣❡s ♥é❝❡ss✐t❡♥t ❧❛ ♣rés❡♥❝❡ ❞✬✉♥ ❛❣❡♥t à ❜♦r❞ ♣♦✉r ♣♦✉✈♦✐r ❞é♣❧❛❝❡r ❧❡s tr❛✐♥s ❡♥ ♠❛r❝❤❡ à ✈✉❡✱ ❝❛r ✐❧ ♥✬❡①✐st❡ ♣❛s ❞❡ ❝♦♥trô❧❡ ❛✉t♦♠❛t✐q✉❡✳ ❉❛♥s ❧❡s ❞❡✉① ❝❛s✱ ❧❛ ✈✐t❡ss❡ ❞❡s ✈♦✐t✉r❡s ❡st ré❞✉✐t❡ ❡t ❧✐♠✐té❡ à 8 km/h✳ ▲❡s ♥✐✈❡❛✉① ❞❡ sé❝✉r✐té ❡①✐❣és ❞❛♥s ❝❡s ❞é♣❧❛❝❡♠❡♥ts ♥❡ s♦♥t ♣❛s ❝♦♠♣❛r❛❜❧❡s à ❧❛ r❡♣r✐s❡ ❡♥ ♠♦❞❡ ♠❛♥✉❡❧✱ ❝❛r ✐❧ ♥✬② ❛ ♣❛s ❞❡ ♣❛ss❛❣❡r à ❜♦r❞✳ ❈❡♣❡♥❞❛♥t✱ ❧❡s ❞é❣âts ❞✉ ♠❛tér✐❡❧ ♥❡ s♦♥t ♣❛s s♦✉❤❛✐t❛❜❧❡s✳ ✶✳✹✳✸✳✶ ❆❝t✐♦♥s ❞✉ s②stè♠❡ P♦✉r ❝❡ t②♣❡ ❞❡ ❝♦♥❞✉✐t❡✱ ❡t ♣❛r❝❡ q✉❡ ❞❛♥s ❧❡s ❣❛r❛❣❡s ♥♦✉s ♣♦✉✈♦♥s r❡♥❝♦♥tr❡r ❧✬❤②♣♦t❤ès❡ ❞❡ ✜♥ ❞❡ ❧❛ ❧✐❣♥❡✱ ❧❡s ❛❝t✐♦♥s ❞✉ s②stè♠❡ s✉r ❧❛ ✈✐t❡ss❡ ❞✉ tr❛✐♥ s♦♥t ❧❡s ♠ê♠❡s ♣♦✉r ❧❛ ♥♦♥✲❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ q✉❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞✬✉♥ tr❛✐♥✳ ▲❛ ✜❣✉r❡ ✶✳✺ ♥♦✉s ♠♦♥tr❡ ❝♦♠♠❡ ❧❡ tr❛✐♥ ❡st ❛rrêté à ❧❛ ❞✐st❛♥❝❡ ❉ ♣♦✉r ❧❡s ❞❡✉① ❝❛s✳✶✷ ❈❤❛♣✐tr❡ ✶✳ ■♥tr♦❞✉❝t✐♦♥ ❋✐❣✉r❡ ✶✳✺ ✕ ➱✈♦❧✉t✐♦♥ ❞❡ ❧❛ ✈✐t❡ss❡ ❡♥ ❣❛r❛❣❡✳ ✶✳✺ ❖❜❥❡❝t✐❢s ▲❛ t❤ès❡ ❛ ♣♦✉r ❛♠❜✐t✐♦♥ ❞❡ ♠❡ttr❡ ❛✉ s❡r✈✐❝❡ ❞✉ ♠étr♦ ❛✉t♦♠❛t✐q✉❡ ❧❡s ❛✈❛♥❝é❡s ❞❛♥s ❧❡ ❞♦♠❛✐♥❡ ❞✉ tr❛✐t❡♠❡♥t ❞✬✐♠❛❣❡✳ ▲❡s ❝❛♠ér❛s s♦♥t ❛✉❥♦✉r❞✬❤✉✐ très ♣❡✉ ♣rés❡♥t❡s s✉r ❧❡s ♠❛tér✐❡❧s r♦✉❧❛♥ts ❢❡rr♦✈✐❛✐r❡s✱ s✐ ❝❡ ♥✬❡st ♣♦✉r ❧❛ ✈✐❞é♦ s✉r✈❡✐❧❧❛♥❝❡✳ ❉❛♥s ❝❡ ❝❛s✱ ❧❡s ✐♠❛❣❡s s♦♥t s♦✐t ❡♥r❡❣✐stré❡s à ❜♦r❞ ♣✉✐s ré❝✉♣éré❡s ❡♥ ✜♥ ❞❡ ♣❛r❝♦✉rs ♦✉ ❡♥ ❝❛s ❞✬✐♥❝✐❞❡♥t✱ s♦✐t tr❛♥s♠✐s❡s ❡♥ t❡♠♣s ré❡❧ ❛✉ rés❡❛✉ ❞✉ s♦❧ ♣♦✉r êtr❡ ✈✐s✐♦♥♥é❡s à ❞✐st❛♥❝❡✳ ❈❡♣❡♥❞❛♥t✱ très ♣❡✉ ❞❡ tr❛✐t❡♠❡♥t ✐♥t❡❧❧✐❣❡♥t ❞❡ ❧✬✐♠❛❣❡ ❡st ✐♥té❣ré ❞❛♥s ❧❡s s②stè♠❡s ✈✐❞é♦✳ P♦✉r ré♣♦♥❞r❡ ❛✉① ❛♣♣❧✐❝❛t✐♦♥s q✉❡ ♥♦✉s ✈✐s♦♥s✱ ♥♦tr❡ ♥♦✉✈❡❛✉ ❞✐s♣♦s✐t✐❢ ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s s❡ ❞♦✐t ❞✬❛tt❡✐♥❞r❡ ❞❡✉① t②♣❡s ❞✬♦❜❥❡❝t✐❢s ✿ ✕ ❖❜❥❡❝t✐❢s t❡❝❤♥✐q✉❡s ❡t ♣❡r❢♦r♠❛♥❝❡s à ❛tt❡✐♥❞r❡✳ ✕ ❖❜❥❡❝t✐❢s s❝✐❡♥t✐✜q✉❡s✳ ✶✳✺✳✶ ❖❜❥❡❝t✐❢s t❡❝❤♥✐q✉❡s ❡t ♣❡r❢♦r♠❛♥❝❡s à ❛tt❡✐♥❞r❡ ✕ ❊♥ ❝♦♥❞✐t✐♦♥s ♥♦r♠❛❧❡s ❞❡ ✈✐s✐❜✐❧✐té✱ ❧❡ s②stè♠❡ ❞♦✐t ❞ét❡❝t❡r ✉♥ tr❛✐♥ ✐♠♠♦❜✐❧❡✴♠♦❜✐❧❡ s✐t✉é ❞❡✈❛♥t ❧✉✐ s✉✣s❛♠♠❡♥t tôt ♣♦✉r q✉❡ ❧✬❛rrêt s♦✐t ♣♦ss✐❜❧❡ ❛✈❛♥t ❧❛ ❝♦❧❧✐s✐♦♥✳ ✕ ▲❡ t❛✉① ❞❡ ✓❢❛✉①✲♥é❣❛t✐❢s✔ ✭♥♦♥✲❞ét❡❝t✐♦♥ ❞✬✉♥ ♦❜st❛❝❧❡ ♣rés❡♥t✮ ❞♦✐t êtr❡ s✉✣s❛♠♠❡♥t ❢❛✐❜❧❡ ♣♦✉r ♣❡r♠❡ttr❡✱ ❝♦♠❜✐♥é ❛✉ r❛t✐♦ ✭❞✉ré❡ ❞❡ ❝♦♥❞✉✐t❡ ❡♥ ♠♦❞❡ ♠❛♥✉❡❧✴❞✉ré❡ t♦t❛❧❡ ❞❡ ❝✐r❝✉✲ ❧❛t✐♦♥ ❞✉ tr❛✐♥✮ ❡t ❛✉ ✓t❛✉① ❞✬❡rr❡✉r ❤✉♠❛✐♥❡✔✱ ❞✬❛tt❡✐♥❞r❡ ❡♥ ♠♦②❡♥♥❡ ❧❡ ♥✐✈❡❛✉ ❙■▲✹ s✉r ❧✬❡♥s❡♠❜❧❡ ❞❡s ❝✐r❝✉❧❛t✐♦♥s ❞✉ tr❛✐♥✳ ❈❡ t❛✉① ❡st ✜①é à 10−5/heure ❞❡ ❢♦♥❝t✐♦♥♥❡♠❡♥t ❡♥ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡✳ ✕ ▲❡ t❛✉① ❞❡ ✓❢❛✉①✲♣♦s✐t✐❢s✔ ✭❞ét❡❝t✐♦♥ ❞✬✉♥ ♦❜st❛❝❧❡ à t♦rt✮ ❞♦✐t êtr❡ ✐♥❢ér✐❡✉r à 10−3/heure ❛♣♣❧✐❝❛❜❧❡ ♣♦✉r ❧❛ ❝♦♥❞✉✐t❡ ❛✉t♦♠❛t✐q✉❡ ❡♥ ❣❛r❛❣❡s✱ ❧❛ té❧é ❝♦♥❞✉✐t❡ ❡t ❧❛ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡✳ ▲❡ ❞✐s♣♦s✐t✐❢ ❞❡✈r❛ êtr❡ ❞é❝♦♥♥❡❝té ♣♦✉r ❧❛ ❝♦♥❞✉✐t❡ ❛✉t♦♠❛t✐q✉❡ ❡♥ ❧✐❣♥❡✳ ✕ ▲✬é✈❛❧✉❛t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ à ❧✬♦❜st❛❝❧❡ ❞♦✐t ❛✈♦✐r ✉♥❡ ♣ré❝✐s✐♦♥ ❞✬❡♥✈✐r♦♥ 10%✳ ✕ ❊♥ ✈✐s✐❜✐❧✐té ré❞✉✐t❡✱ q✉✬❡❧❧❡ s♦✐t ❞✉❡ ❛✉① ❝♦♥❞✐t✐♦♥s ❞✬é❝❧❛✐r❛❣❡ ♦✉ à ❧❛ ♣rés❡♥❝❡ ❞✬♦❜st❛❝❧❡s ✓♥♦r♠❛✉①✔ ✭❧❡s ♣❛r♦✐s ❞✉ t✉♥♥❡❧ ❡♥ ✈✐r❛❣❡ ♣❛r ❡①❡♠♣❧❡✮✱ ❧❡ s②stè♠❡ ❞♦✐t é✈❛❧✉❡r s❛ ❞✐st❛♥❝❡ ❞❡ ✈✐s✐❜✐❧✐té ♣♦✉r ♣❡r♠❡ttr❡ ❛✉ ❝♦♥❞✉❝t❡✉r ❞❛♥s ❧❡ ❝❛s ❞✬✉♥❡ r❡♣r✐s❡ ❡♥ ♠❛♥✉❡❧❧❡✱ ❞✬❛❞❛♣t❡r ❧❛ ✈✐t❡ss❡ ❞❡ ❝✐r❝✉❧❛t✐♦♥ ❛✜♥ ❞❡ ♥❡ ♣❛s ❡♥tr❛î♥❡r ❞❡ ✓❢❛✉①✲♣♦s✐t✐❢s✔ s②sté♠❛t✐q✉❡s✳ ✶✳✺✳✷ ❖❜❥❡❝t✐❢s s❝✐❡♥t✐✜q✉❡s ✕ ▲✬✐♥♥♦✈❛t✐♦♥ ♣r♦♣♦sé❡ ♣❛r ❝❡ ♣r♦❥❡t r❡♣♦s❡ s✉r ❧❛ ❞é✜♥✐t✐♦♥ ❞✬❛❧❣♦r✐t❤♠❡s ♣r❡♥❛♥t ❡♥ ❝♦♠♣t❡ ❧❛ ❝♦♠♣❧❡①✐té ❞❡ ❧❛ ③♦♥❡ ✜❧♠é❡ ❡t s✉rt♦✉t ❧❡s t❛✉① très ❜❛s ❞❡ ❢❛✉① ♣♦s✐t✐❢s ❡t ♥é❣❛t✐❢s✳ ❆❝✲ t✉❡❧❧❡♠❡♥t✱ ❧❡s rés✉❧t❛ts ❞❡s s②stè♠❡s ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✴r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡s ❢♦r♠❡s ❞❛♥s✶✳✺✳ ❖❜❥❡❝t✐❢s ✶✸ ❧❡ ❞♦♠❛✐♥❡ ❞✉ tr❛✐t❡♠❡♥t ❞✬✐♠❛❣❡s ♥✬♦♥t ♣❛s été tr❛✐tés ❞❡ ❢❛ç♦♥ à ❛tt❡✐♥❞r❡ ❞❡s rés✉❧t❛ts s❛t✐s❢❛✐s❛♥t ❧✬❡①✐❣❡♥❝❡ ❞❡s ♥✐✈❡❛✉① ❞❡ sé❝✉r✐té ❡t ❞✐s♣♦♥✐❜✐❧✐té ❢❡rr♦✈✐❛✐r❡✳ ✕ ▲❡s ❝❛♠ér❛s s♦♥t ❡♠❜❛rq✉é❡s ❞❛♥s ✉♥ ✈é❤✐❝✉❧❡ ❢❡rr♦✈✐❛✐r❡ r♦✉❧❛♥t ❡t ❧❡ ❢♦♥❞ ❞✬✐♠❛❣❡ ❡st ❝♦♠✲ ♣❧❡①❡✳ ▲❛ ✈✐s✐♦♥ ❛✈❛♥t ❞✉ ✈é❤✐❝✉❧❡ ❞♦✐t s✬❛✛r❛♥❝❤✐r ❞❡s ❞✐✛ér❡♥t❡s ♣❛rt✐❝✉❧❛r✐tés ❞✬✉♥ t✉♥♥❡❧ ❢❡r✲ r♦✈✐❛✐r❡ ✭❝♦✉r❜❡s s❡rré❡s✱ ❝r♦✐s❡♠❡♥t ❞✬✉♥ ✈é❤✐❝✉❧❡✱ t✉♥♥❡❧ ♠♦♥♦✈♦✐❡✱ s②stè♠❡ ❞✬❛✐❣✉✐❧❧❛❣❡✱✳✳✳✮✳ ✕ ▲❛ ✈♦✐❡ ❢❡rré❡ ♥✬❡st ♣❛s ✉♥❡ s✉r❢❛❝❡ ❧✐ss❡ ✭❝♦♥tr❛✐r❡♠❡♥t à ❧❛ r♦✉t❡✮ ❡t ❧✬❡♥✈✐r♦♥♥❡♠❡♥t ♣❡✉t✲ êtr❡ ❝♦♠♣❧❡①❡ ❡t très ✈❛r✐❛❜❧❡ ❝♦♠♠❡ ❡♥ t✉♥♥❡❧ ♦✉ ❡♥ ❛ér✐❡♥✳ P❛r ❝♦♥tr❡✱ ❧❡ ❢❛✐t q✉❡ ❧❡ ✈é❤✐❝✉❧❡ s♦✐t ❣✉✐❞é s❡r❛ ♠✐s à ♣r♦✜t ♣♦✉r ❛♠é❧✐♦r❡r ♥♦t❛❜❧❡♠❡♥t ❧❛ ✜❛❜✐❧✐té ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ♣❛r ❧❛ ❝♦♥♥❛✐ss❛♥❝❡ ❛ ♣r✐♦r✐ ❞❡ ❧✬❡♥✈✐r♦♥♥❡♠❡♥t✳ ✕ ▲❡s s②stè♠❡s ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✴r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡s ❢♦r♠❡s ❞❛♥s ❧❡ ❞♦♠❛✐♥❡ ❞✉ tr❛✐t❡✲ ♠❡♥t ❞✬✐♠❛❣❡s ♥✬♦♥t ♣❛s ❛❝t✉❡❧❧❡♠❡♥t ❛tt❡✐♥t ❞❡s rés✉❧t❛ts ✾✾✳✾✾✾✾✪✳ ▲❡s s②stè♠❡s ❞❡ ♠étr♦s ❛✉t♦♠❛t✐q✉❡s ét❛♥t t♦✉❥♦✉rs ❡♥ s✐t❡ ♣r♦♣r❡ ✐♥té❣r❛❧✱ ❧❡s ❛✉tr❡s r❛♠❡s ❝♦♥st✐t✉❡♥t ♣r❡sq✉❡ ❡①❝❧✉s✐✈❡♠❡♥t ❧❡s ♦❜st❛❝❧❡s ♣♦t❡♥t✐❡❧s à ❞ét❡❝t❡r✳ P♦✉r ❛tt❡✐♥❞r❡ ❧✬♦❜❥❡❝t✐❢ ❞❡ sé❝✉r✐té ❞❛♥s t♦✉s ❧❡s ❝❛s✱ ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s s❡r❛ ❡ss❡♥t✐❡❧❧❡♠❡♥t ❜❛sé❡ s✉r ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ❧❛ ✈♦✐❡ ♣✉✐sq✉❡ ❧❛ ♣rés❡♥❝❡ ❞✬✉♥❡ ❛✉tr❡ r❛♠❡ s✉r ❧❛ ♣♦rt✐♦♥ ❞❡ ✈♦✐❡ s✉r✈❡✐❧❧é❡✱ ❡♥ ✐♥t❡r❞✐r❛ ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡✳ ●râ❝❡ à ❝❡tt❡ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡✱ ♥♦✉s ♣♦✉rr♦♥s ❞é✜♥✐r ✉♥❡ ③♦♥❡ ❧✐❜r❡ ❞✬♦❜st❛❝❧❡s ❡t ✉♥❡ ré❣✐♦♥ ❞✬✐♥térêt ♣♦✉r ❞é❝❧❡♥❝❤❡r ✉♥❡ r❡❝❤❡r❝❤❡ ❞✬♦❜st❛❝❧❡s✳ ❯♥❡ ❢♦✐s ❧✬♦❜st❛❝❧❡ ❞ét❡❝té✱ ✐❧ ❢❛✉❞r❛ é✈❛❧✉❡r s❛ ❞✐st❛♥❝❡ ❛✈❡❝ ✉♥❡ ♣ré❝✐s✐♦♥ ❝♦♠♣❛t✐❜❧❡ ❛✈❡❝ ❧❛ ✈✐t❡ss❡ ❞✉ tr❛✐♥✳ ➱t❛♥t ❞♦♥♥é q✉❡ ❧❛ ❞✐st❛♥❝❡ ❞✉ tr❛✐♥ à ❧✬♦❜❥❡t ❞ét❡❝té ❡st ✉♥❡ ❞♦♥♥é❡ ❝r✐t✐q✉❡✱ q✉✐ ❞♦✐t êtr❡ s✉♣ér✐❡✉r❡ à ❧❛ ❞✐st❛♥❝❡ ❞✬❛rrêt ❞✉ ✈é❤✐❝✉❧❡✱ ♥♦✉s ♣r♦♣♦s❡r♦♥s ❞❡s ❛❧❣♦r✐t❤♠❡s ♣❡r♠❡tt❛♥t ❞❡ ré❛❧✐s❡r ❝❡tt❡ ❢♦♥❝t✐♦♥ ❛✈❡❝ ❧❡s ♥✐✈❡❛✉① ❞❡ sé❝✉r✐té r❡q✉✐s ♣♦✉r ❧❡ s②stè♠❡ ❞❡ tr❛♥s♣♦rt ❢❡rr♦✈✐❛✐r❡✳ ◆♦✉s ❞é✜♥✐ss♦♥s ❝♦♠♠❡ ✓❜✉❧❧❡ ❞❡ sé❝✉r✐té✔✱ ❧❛ ③♦♥❡ ❞❡ ❧❛ ✈♦✐❡ à ❞ét❡❝t❡r q✉✐ ❞♦✐t à t♦✉t ♣r✐① êtr❡ ③♦♥❡ ❧✐❜r❡ ❞✬♦❜st❛❝❧❡s✳ ❈❡tt❡ ❜✉❧❧❡ ❡st ❞é✜♥✐❡ ❝♦♠♠❡ ❧✬❡s♣❛❝❡ q✉❡ ❧❡ tr❛✐♥ ✈❛ très ♣r♦❜❛❜❧❡♠❡♥t ♦❝❝✉♣❡r ❞❛♥s ❧❡s ♣r♦❝❤❛✐♥s ✐♥st❛♥ts✱ ❡t ❞♦♥t ✐❧ ❢❛✉t ❛ss✉r❡r ❧❛ ♥♦♥✲♦❝❝✉♣❛t✐♦♥ ♣❛r ❞❡s ♦❜st❛❝❧❡s✳ ❯♥ ❡①❡♠♣❧❡ ❞❡ ❝❡tt❡ ❜✉❧❧❡ ❞❡ sé❝✉r✐té ♣♦✉r ✉♥ tr❛✐♥ ❡st ❡①♣♦sé ❞❛♥s ❧❛ ✜❣✉r❡ ✶✳✻✳ ❉❡ ♣❧✉s✱ ❝❡tt❡ ❛♣♣r♦❝❤❡ ♣❡✉t êtr❡ ❛✉ss✐ ✉t✐❧✐sé❡ ❞❛♥s ❧❡s ♣❛ss❛❣❡s à ♥✐✈❡❛✉ ❝❛r s✐ ✉♥❡ ✈♦✐t✉r❡ ❜❧♦q✉❡ ❝❡ ❞❡r♥✐❡r✱ ❧❡s r❛✐❧s s❡r♦♥t ♠❛sq✉és ♣❛r ❧❛ ✈♦✐t✉r❡✱ ❡t ♣❛rt❛♥t ❧❛ ③♦♥❡ ❞❡ sé❝✉r✐té s❡r❛ ré❞✉✐t❡✳ ❈❡♣❡♥❞❛♥t✱ ❝♦♠♠❡ ❞❛♥s ♥♦tr❡ ❝❛s ❧❡ ♠étr♦ ❛✉t♦♠❛t✐q✉❡ ❡st ✉♥ ❚❈❙P ✐♥té❣r❛❧✱ ♥♦✉s ♥❡ tr❛✐t❡r♦♥s ♣❛s ❧❡s ♣❛ss❛❣❡s à ♥✐✈❡❛✉✳ ❋✐❣✉r❡ ✶✳✻ ✕ ❇✉❧❧❡ ❞❡ sé❝✉r✐té✳ ❈❡tt❡ ét✉❞❡ ♣❡r♠❡ttr❛ ♥♦♥ s❡✉❧❡♠❡♥t ❞❡ ❞é❜♦✉❝❤❡r s✉r ❞❡s ❛♣♣❧✐❝❛t✐♦♥s ❝♦♥❝rèt❡s✱ ♠❛✐s s✉rt♦✉t ❞✬é✈❛❧✉❡r ❧❛ ♠❛t✉r✐té ❞❡s t❡❝❤♥♦❧♦❣✐❡s ❞❡ tr❛✐t❡♠❡♥ts ❞✬✐♠❛❣❡s ♣♦✉r ré❛❧✐s❡r ❞❡s ❢♦♥❝t✐♦♥s sûr❡s ❛♣♣❧✐q✉é❡s ❛✉① s②stè♠❡s ❢❡rr♦✈✐❛✐r❡s✳✶✹ ❈❤❛♣✐tr❡ ✶✳ ■♥tr♦❞✉❝t✐♦♥ ✶✳✻ ❖r❣❛♥✐s❛t✐♦♥ ❞✉ ♠❛♥✉s❝r✐t ❉❛♥s ❧❡ ❝❤❛♣✐tr❡ ✷ ♥♦✉s ❡①♣♦s♦♥s ✉♥ ét❛t ❞❡ ❧✬❛rt ❞❡s s②stè♠❡s ❡①✐st❛♥ts✱ ❧❡s ♣r✐♥❝✐♣❛❧❡s ❝❛r❛❝té✲ r✐st✐q✉❡s ❞❡ ♥♦tr❡ ♣❧❛t❡❢♦r♠❡ ❛✐♥s✐ q✉❡ ❧❡ ♣r♦t♦t②♣❛❣❡ ❞✉ ❝❛♣t❡✉r✳ ❆♣rès s♦♥ ✐♥st❛❧❧❛t✐♦♥ ❧✬ét❛❧♦♥♥❛❣❡ ❞❡ ❧❛ ❝❛♠ér❛ ❡st ❛♥❛❧②sé✳ ▲❡ ❝❤❛♣✐tr❡ ✸ ❡st ❞é❞✐é à ✉♥ ét❛t ❞❡ ❧✬❛rt s✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❢❡rré❡✱ ❛♥❛❧②sé à ♣❛rt✐r ❞❡s ❡①❡♠♣❧❡s ❞❡ ❞✐✛ér❡♥t❡s t❡❝❤♥✐q✉❡s t❡sté❡s✳ ❆✉ss✐✱ ♥♦✉s ♣rés❡♥t♦♥s ✉♥❡ ❛♣♣r♦❝❤❡ ♦r✐❣✐♥❛❧❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ❛✈❡❝ ❧✬♦❜❥❡❝t✐❢ ❞❡ ❞ét❡r♠✐♥❡r ✉♥❡ ③♦♥❡ ❞❡ ❧❛ ✈♦✐❡ ❧✐❜r❡ ❞✬♦❜st❛❝❧❡s✳ ▲❡ ❝❤❛♣✐tr❡ ✹ ♣rés❡♥t❡ ❧❛ ❞ét❡❝t✐♦♥ ❡t ❧❛ ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡s ❝r♦✐s❡♠❡♥ts ❢❡rr♦✈✐❛✐r❡s✱ ♣♦✐♥t ✐♠✲ ♣♦rt❛♥t ❞❛♥s ❧❛ ❞ét❡r♠✐♥❛t✐♦♥ ❞❡ ❧❛ ③♦♥❡ ❧✐❜r❡ ❞✬♦❜st❛❝❧❡s✱ ❝❛r à ❧✬❛rr✐✈é❡ ❞✬✉♥ ❝r♦✐s❡♠❡♥t ❞✐✈❡r❣❡♥t✱ ❧❡ s②stè♠❡ ❞♦✐t êtr❡ ❝❛♣❛❜❧❡ ❞✬❛♥❛❧②s❡r ❧❡s ❞❡✉① ✈♦✐❡s✳ P♦✉r ❝❡❧❛ ❞❡s t❡❝❤♥✐q✉❡s ❞❡ ❞ét❡❝t✐♦♥ ❡t ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ s♦♥t ♣r♦♣♦sé❡s ❡t é✈❛❧✉é❡s à ♣❛rt✐r ❞✬✉♥❡ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❞✬✐♠❛❣❡s✳ ❉ét❡r♠✐♥❡r ❧❛ ♣rés❡♥❝❡ ❞✬✉♥ tr❛✐♥ ♣♦✉r ❧❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ❝♦♥✈❡r❣❡♥ts s✬❛✈èr❡ ♣❧✉s ❝♦♠♣❧✐q✉é✳ ◆♦✉s ♣rés❡♥t♦♥s ❡♥s✉✐t❡ ❞❛♥s ❧❡ ❝❤❛♣✐tr❡ ✺ ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ♦❜st❛❝❧❡s ✭tr❛✐♥s✮✳ ❈♦♠♠❡ ✐♥❞✐q✉é✱ ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ♥♦✉s ♣❡r♠❡ttr❛ ❞❡ ❞ét❡r♠✐♥❡r ✉♥❡ ré❣✐♦♥ ❞✬✐♥térêt ❞❛♥s ❧❛q✉❡❧❧❡ ♥♦✉s ♣♦✉rr♦♥s ré❛❧✐s❡r ✉♥❡ r❡❝❤❡r❝❤❡ ❞❡s tr❛✐♥s✳ ❉❛♥s ❝❡ ❝❤❛♣✐tr❡✱ ♥♦✉s ❡①♣♦s♦♥s ❧❡s ❞é♠❛r❝❤❡s s✉✐✈✐❡s ♣♦✉r ♦❜t❡♥✐r ✉♥ ❞❡s❝r✐♣t❡✉r r♦❜✉st❡ ❡t à ❧❛ ❢♦✐s s✐♠♣❧❡ ❡♥ ❝❛❧❝✉❧✳ ❋✐♥❛❧❡♠❡♥t✱ ❧❡ ❝❤❛♣✐tr❡ ✻ ❡st ❝♦♥s❛❝ré ❛✉① ❝♦♥❝❧✉s✐♦♥s ❡t ❛✉① tr❛✈❛✉① ❢✉t✉rs✳❈❤❛♣✐tr❡ ✷ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ ❙♦♠♠❛✐r❡ ✷✳✶ ➱t❛t ❞❡ ❧✬❛rt ❞❡s s②stè♠❡s ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❢❡rr♦✈✐❛✐r❡s ✳ ✳ ✳ ✳ ✳ ✳ ✶✺ ✷✳✷ ❈❤♦✐① ❞✉ ❝❛♣t❡✉r ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✾ ✷✳✷✳✶ ❈❛♣t❡✉rs ❛❝t✐❢s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✾ ✷✳✷✳✷ ❈❛♣t❡✉rs ♣❛ss✐❢s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✵ ✷✳✸ ▲❡ ❱é❤✐❝✉❧❡ ❆✉t♦♠❛t✐q✉❡ ▲é❣❡r ✿ ❱❆▲ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✶ ✷✳✸✳✶ ❈♦♠♣♦s✐t✐♦♥ ❞✬✉♥ ✈é❤✐❝✉❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✶ ✷✳✸✳✷ ❈❛r❛❝tér✐st✐q✉❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✷ ✷✳✸✳✸ ▼♦❞è❧❡ ❞✉ ✈é❤✐❝✉❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✸ ✷✳✹ ➱t❛❧♦♥♥❛❣❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✹ ✷✳✹✳✶ ▼♦❞é❧✐s❡r ✉♥❡ ❝❛♠ér❛ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✹ ✷✳✹✳✶✳✶ ❱❡❝t❡✉r ❞❡ tr❛♥s❧❛t✐♦♥ ❡t ♠❛tr✐❝❡ ❞❡ r♦t❛t✐♦♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✺ ✷✳✹✳✷ ▼ét❤♦❞❡s ❞✬ét❛❧♦♥♥❛❣❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✼ ✷✳✹✳✷✳✶ ❉ét❡r♠✐♥❛t✐♦♥ ❞❡s ♣❛r❛♠ètr❡s ✐♥tr✐♥sèq✉❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✽ ✷✳✹✳✷✳✷ ❖❜t❡♥t✐♦♥ ❞❡s ♣❛r❛♠ètr❡s ❡①tr✐♥sèq✉❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✷✾ ✷✳✹✳✸ ▼ét❤♦❞❡ ❞✬ét❛❧♦♥♥❛❣❡ ♣r♦♣♦sé❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸✷ ✷✳✹✳✸✳✶ ❊st✐♠❛t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸✷ ✷✳✹✳✸✳✷ ❋✐❧tr❛❣❡ t❡♠♣♦r❡❧ ❞❡s ♣♦✐♥ts ❞❡ ❢✉✐t❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸✺ ✷✳✹✳✹ ❘és✉❧t❛ts ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸✺ ✷✳✶ ➱t❛t ❞❡ ❧✬❛rt ❞❡s s②stè♠❡s ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❢❡rr♦✲ ✈✐❛✐r❡s ❉❛♥s ❝❡tt❡ s❡❝t✐♦♥ ❞✉ ❝❤❛♣✐tr❡✱ ♥♦✉s ✈♦✉❧♦♥s ❡①♣♦s❡r ✉♥❡ ❞❡s❝r✐♣t✐♦♥ ❣é♥ér❛❧❡ ❞❡s ♣r✐♥❝✐♣❛✉① s②stè♠❡s ❞é✈❡❧♦♣♣és ♣♦✉r ❧❡ ♠✐❧✐❡✉ ❢❡rr♦✈✐❛✐r❡ ❜❛sés ❞❛♥s ❧✬❡①tr❛❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❡t ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✳ ▲✬♦❜❥❡❝t✐❢ ❡st ❞❡ ❝♦♠♣r❡♥❞r❡ ❧❡s ❧✐♠✐t❛t✐♦♥s ❞❡s ❞✐✛ér❡♥t❡s ♠ét❤♦❞❡s ❡t ❞❡ t✐r❡r ♣r♦✜t ❞❡s s②stè♠❡s ❞é❥à ❞é✈❡❧♦♣♣és✳ ❉ét❡❝t❡✉r ❞✬♦❜st❛❝❧❡s ♠✉❧t✐✲❝❛♣t❡✉rs ♣♦✉r ❧❡s ✈♦✐❡s ❢❡rré❡s ❉❛♥s ❧❡ ♣r♦❥❡t ❞❡ ❬▼♦❝❦❡❧ ❡t ❛❧✳ ✷✵✵✸❪ ✐♠♣❧é♠❡♥té ❡t t❡sté ❡♥ ✷✵✵✸ ❡♥ ❆❧❧❡♠❛❣♥❡✱ ♥♦✉s ❡st ♣ré✲ s❡♥té ✉♥ s②stè♠❡ ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s s✉r ❧❛ ✈♦✐❡ ❢❡rré❡ ♣♦✉r ❞❡s tr❛✐♥s ré❣✐♦♥❛✉①✳ ▲❡ s②stè♠❡ ❡st ♣r✐♥❝✐♣❛❧❡♠❡♥t ❜❛sé s✉r ❧❛ ❢✉s✐♦♥ ❞❡ ❝❛♣t❡✉rs ❛❝t✐❢s ❡t ♣❛ss✐❢s✱ ✉♥❡ ❛♣♣r♦❝❤❡ q✉✐ ❝♦♥❞✉✐t à ✉♥❡ ❢♦rt❡ ♣r♦❜❛❜✐❧✐té ❡♥ t❡r♠❡s ❞✬❡✣❝❛❝✐té✱ ❡t ♣❡r♠❡t ❞❡ ❞ét❡❝t❡r ❞❡s ♦❜st❛❝❧❡s à 300 ♠ètr❡s ❛✈❡❝ ✉♥❡ ✈✐t❡ss❡ ❞❡ 100 km/h ❞❛♥s ❞❡s ❝♦♥❞✐t✐♦♥s ♥♦r♠❛❧❡s ✭♣❛s ❞❡ ♣❧✉✐❡✱ ♣❛s ❞❡ ❜r♦✉✐❧❧❛r❞✱ ❡t❝✮✳ ▲❡ s②stè♠❡ ❡st ❝♦♠♣♦sé ❞❡ tr♦✐s ❧❛s❡rs ❡t tr♦✐s ❝❛♠ér❛s✱ ♣♦✉r ❧❡sq✉❡❧s ✉♥ ❝❛♣t❡✉r ❞❡ ❝❤❛q✉❡ t②♣❡ ❛ été rés❡r✈é ♣♦✉r ❧✬❛♥❛❧②s❡ ♣r♦❝❤❡ ❡t ❞❡✉① ♣♦✉r ❧✬❛♥❛❧②s❡ à ❧♦♥❣✉❡ ♣♦rté❡✳ ▲❡s ❝❛♠ér❛s ✉t✐❧✐sé❡s ♦♥t ✉♥ ❣r❛♥❞ ❝❤❛♠♣ ❞❡ ✈✐s✐♦♥ ❧❛tér❛❧❡ ❡t ❧❡✉r ❛♥❣❧❡ ❞✬♦r✐❡♥t❛t✐♦♥ ❡st ❝♦♥trô❧é ♣❛r ✉♥ ♠✐r♦✐r ♠♦♥té s✉r✶✻ ❈❤❛♣✐tr❡ ✷✳ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ ✉♥ ♠♦t❡✉r ♣❛s à ♣❛s✱ ❣râ❝❡ ❛✉q✉❡❧ ❧❡s ❝❛♣t❡✉rs ♣❡✉✈❡♥t ❡♥✈❡❧♦♣♣❡r ❞❡ ♠❛♥✐èr❡ ❡✣❝❛❝❡ ❧❛ ✈♦✐❡ ❞❛♥s ❧❡s ✈✐r❛❣❡s✳ ▲❡ s②stè♠❡ ✉t✐❧✐s❡ ❧✬✐♥❢♦r♠❛t✐♦♥ ❡①t❡r♥❡ ❝♦♥❝❡rt❛♥t ❧❛ ♣♦s✐t✐♦♥ ❡t ❧❛ ✈✐t❡ss❡ ❞✉ tr❛✐♥✳ ❊♥ ♣❧✉s ❞❡ ❝❡❧❛✱ ✐❧ ❞✐s♣♦s❡ ❞✬✉♥❡ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❝♦♥t❡♥❛♥t ❞❡s ✐♥❢♦r♠❛t✐♦♥s s✉r ❧❛ ❢♦r♠❡ ❞❡ ❧❛ ✈♦✐❡ ❡t ❧❡s ♦❜❥❡ts q✉✐ ❧❛ ❝♦♥st✐t✉❡♥t✳ P♦✉r ❞ét❡r♠✐♥❡r ❧❛ ♣♦s✐t✐♦♥ ❡t ❢♦r♠❡ ❞❡ ❧❛ ✈♦✐❡✱ ❧❡ s②stè♠❡ s✬❛♣♣✉✐❡ s✉r ❧✬❡①tr❛❝t✐♦♥ ❞❡ ✈♦✐❡ à ♣❛rt✐r ❞✉ tr❛✐t❡♠❡♥t ❞✬✐♠❛❣❡s ❡t à ♣❛rt✐r ❞❡s ❞♦♥♥é❡s ❞❡ ❧♦❝❛❧✐s❛t✐♦♥ ❞✉ tr❛✐♥ ❡t ❞❡ ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❞❡ ❧❛ ✈♦✐❡ ❢❡rré❡✳ ◗✉❛♥t à ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✱ ❧❡ s②stè♠❡ ✉t✐❧✐s❡ ❧❡ tr❛✐t❡♠❡♥t ❞✬✐♠❛❣❡s ❡t ❧✬❛♥❛❧②s❡ ❞❡s ❞♦♥♥é❡s ❧❛s❡rs✳ ❈❡tt❡ ✐♥❢♦r♠❛t✐♦♥ ♣r♦✈❡♥❛♥t ❞❡s ❝❛♣t❡✉rs ❡st ❡①♣❧♦✐té❡ ❣râ❝❡ à ✉♥ ✜❧tr❡ ❞❡ ❑❛❧♠❛♥✳ ❱✐♥❣t✲s✐① ♦❜st❛❝❧❡s ❡♥ ❜♦✐s ♣❡✐♥t ♦♥t été ♣❧❛❝és s✉r ❧❛ ✈♦✐❡ ❡t s✉r ❧❡s ❝ôtés ❛✈❡❝ ❞❡s t❛✐❧❧❡s ❡♥tr❡ 0.4 m2 ❡t 2 m2 ✳ ❉❛♥s ❝❡tt❡ ❝♦♥✜❣✉r❛t✐♦♥ ❧❡ s②stè♠❡ ❛ ❞é♠♦♥tré ✉♥❡ ❣r❛♥❞❡ rés✐st❛♥❝❡ ❛✉① ✈✐❜r❛t✐♦♥s ❛✐♥s✐ q✉✬✉♥ t❛✉① ❞❡ ❢❛✉① ♥é❣❛t✐❢s très ❢❛✐❜❧❡✳ ▼❛❧❤❡✉r❡✉s❡♠❡♥t✱ ❧❡ ♣r♦❥❡t ♥❡ ♥♦✉s ❢♦✉r♥✐t ❧❡s ✈❛❧❡✉rs ❞❡ ❝❡s t❛✉① ❞❡ ❞ét❡❝t✐♦♥✳ ❙②stè♠❡ ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ♣♦✉r ❧❡s tr❛✐♥s ❛✉t♦♠❛t✐sés ▲❡ ♣r♦❥❡t ❞❡ ❘✉❞❡r✱ ❬❘✉❞❡r ❡t ❛❧✳ ✷✵✵✸❪ ✉t✐❧✐s❡ ❧❛ ♠ê♠❡ ♣❧❛t❡❢♦r♠❡ q✉❡ ❧❡ ♣r♦❥❡t ♣ré❝é❞❡♥t ❬▼♦❝❦❡❧ ❡t ❛❧✳ ✷✵✵✸❪ ❡t ♣❛r✈✐❡♥t à ❞ét❡❝t❡r ❞❡s ♦❜st❛❝❧❡s ❞❡ 0, 4 m2 ❥✉sq✉✬à ✉♥❡ ❞✐st❛♥❝❡ ❞❡ 200 ♠✳ ❈❡tt❡ ❢♦✐s✲❝✐✱ ❧❡s ❝❛♣t❡✉rs s♦♥t tr♦✐s ❝❛♠ér❛s ❡t ✉♥ ❧❛s❡r✳ ❯♥❡ ❝❛♠ér❛ ❛✈❡❝ ✉♥❡ ❧❡♥t✐❧❧❡ ❞❡ ❢♦❝❛❧❡ 35 ♠♠ ❡st ✉t✐❧✐sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❧♦✐♥t❛✐♥❡ ❡t ❞❡✉① ❝❛♠ér❛s ❡♥ ❝♦♥✜❣✉r❛t✐♦♥ stéré♦s❝♦♣✐q✉❡ ❛✈❡❝ ✉♥❡ ❢♦❝❛❧❡ ❞❡ ✶✷ ♠♠ ♣♦✉r ✉♥❡ ❛♥❛❧②s❡ ❥✉sq✉✬à ✺✵ ♠ètr❡s✳ ❈♦♠♠❡ ❝❛♣t❡✉r ❛❝t✐❢✱ ❧❡ s②stè♠❡ ♣♦ssè❞❡ ✉♥ ❧❛s❡r ❛✈❡❝ ✉♥❡ ♣♦rté❡ ❞❡ ✶✺✵ ♠ètr❡s ❡t ✉♥ ❛♥❣❧❡ ❞✬♦✉✈❡rt✉r❡ ❞❡ 8 ❞❡❣rés✳ ❈♦♠♠❡ ✐♥❢♦r♠❛t✐♦♥ s✉♣♣❧é♠❡♥t❛✐r❡✱ ✐❧ r❡ç♦✐t ❧❛ ✈✐t❡ss❡ ❡t ❧❛ ♣♦s✐t✐♦♥ ❞✉ tr❛✐♥ ♣r♦✈❡♥❛♥t ❞✉ s②stè♠❡ ❞❡ ❝♦♥trô❧❡ ❞✉ ✈é❤✐❝✉❧❡ ❡t ❞✬✉♥ ●P❙ ❞✐✛ér❡♥t✐❡❧✳ ▲❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ♣❛r ❧❡ tr❛✐t❡♠❡♥t ❞✬✐♠❛❣❡s ❡st ❜❛sé❡ s✉r ❧❛ ❢✉s✐♦♥ ❞❡ ❞✐✛ér❡♥t❡s t❡❝❤✲ ♥✐q✉❡s ✿ ✕ ❉ét❡❝t✐♦♥ ❞❡s ❜♦r❞s ✭❊❞❣❡ ❡❧❡♠❡♥ts✮ ✿ ❆♣rès ❛✈♦✐r ❛♣♣❧✐q✉é ✉♥ ✜❧tr❡ ❞❡ ❈❛♥♥② ❬P❛r❦❡r ✷✵✶✵❪ à ❧✬✐♠❛❣❡ ❝❡rt❛✐♥s ❛❣ré❣❛ts ❞❡ ♣♦✐♥ts ♣❡✉✈❡♥t êtr❡ ✈✉s ❝♦♠♠❡ ❞❡s ♦❜st❛❝❧❡s✳ ✕ ❉✐s❝♦♥t✐♥✉✐té ❞❡s r❛✐❧s ✭❚r❛❝❦ ❣❛♣s✮ ✿ ❉❛♥s ❧✬✐♠❛❣❡ ❞❡ ❈❛♥♥②✱ ❞ès q✉✬✐❧ ② ❛ ✉♥ ♠♦r❝❡❛✉ ❞❡ r❛✐❧ q✉✬♦♥ ♥❡ ✈♦✐t ♣❛s✱ ✐❧ ❡st ❝♦♥s✐❞éré ❝♦♠♠❡ ✉♥ ♣♦t❡♥t✐❡❧ ♦❜st❛❝❧❡ s✉r ❧❡ r❛✐❧✳ ✕ ❋❧✉① ♦♣t✐q✉❡ ✭❖♣t✐❝❛❧ ✢♦✇✮ ✿ ▼ét❤♦❞❡ ✉t✐❧✐sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❡♥ ♠♦✉✈❡♠❡♥t✳ ✕ ❆♥❛❧②s❡ ❞❡ ❧❛ ✈❛r✐❛♥❝❡ ❡t ❞❡ ❧❛ ❝♦rré❧❛t✐♦♥ ❡♥ ♥✐✈❡❛✉ ❞❡ ❣r✐s ✭●r❡② ✈❛❧✉❡ ✈❛r✐❛♥❝❡ ❛♥❞ ❝♦rr❡❧❛✲ t✐♦♥✮ ✿ ❧❛ ✈❛r✐❛♥❝❡ ❡t ❧❛ ❝♦rré❧❛t✐♦♥ t♦✉t ❛✉ ❧♦♥❣ ❞❡ ❧❛ ✈♦✐❡ s♦♥t ❝♦♥s✐❞éré❡s ❝♦♠♠❡ ✐♥✈❛r✐❛♥t❡s✳ ❯♥ ♦❜❥❡t s✉r ❧❛ ✈♦✐❡ ❝❤❛♥❣❡r❛ ❝❡s ✈❛❧❡✉rs✳ P♦✉r ❛✈♦✐r ✉♥ ♠❡✐❧❧❡✉r ♣♦✐♥t ❞❡ ✈✉❡ ❞❡ ❧❛ ✈♦✐❡✱ ❧✬❛rt✐❝❧❡ ♣r♦♣♦s❡ ❞✬✉t✐❧✐s❡r ❧❛ tr❛♥s❢♦r♠❛t✐♦♥ ✈♦❧ ❞✬♦✐s❡❛✉ ✭❇✐r❞ ❊②❡s✬ ❱✐❡✇✮✳ ✕ ❆♥❛❧②s❡ ❞❡ ❧❛ t❡①t✉r❡ ✭❙t❛t✐st✐❝s ♦❢ t❡①t✉r❡s✮ ✿ ❈❡tt❡ ❛♣♣r♦❝❤❡ ❡st s✐♠✐❧❛✐r❡ à ❧❛ ♣ré❝é❞❡♥t❡✱ ♠❛✐s ❛♣♣❧✐q✉é❡ à ❞❡s ♣♦rt✐♦♥s ❞❡ ❧✬✐♠❛❣❡ ♣❧✉s ♣❡t✐t❡s✳ ▲❛ ✈❛r✐❛♥❝❡ ❞❡ ❧❛ ✈♦✐❡ ❡st ❝♦♠♣❛ré ❛✈❡❝ ❝❡❧✉✐ ❞❡ ❧❛ ✈❛r✐❛♥❝❡ ❞❡s ③♦♥❡s ❝♦♥s✐❞éré❡s ❝♦♠♠❡ ♦❜st❛❝❧❡s ♣♦ss✐❜❧❡s✳ ❙✐ ❧❡ ❝❧✉st❡r ♦❜t❡♥✉ ❡st s✉✣s❛♠♠❡♥t ❧❛r❣❡✱ ❝❡❧❛ ❡st ❝♦♥s✐❞éré ❝♦♠♠❡ ✉♥ ♦❜st❛❝❧❡✳ ✕ ❙téré♦✈✐s✐♦♥ ❡t tr❛♥s❢♦r♠é❡ ❞❡ ♣❡rs♣❡❝t✐✈❡ ❙t❡r❡♦ ❜② ✐♥✈❡rs❡ ♣❡rs♣❡❝t✐✈❡ ♠❛♣♣✐♥❣ ♦✉ ❇✐r❞ ❊②❡s✬ ❱✐❡✇ ❬●❛♥❣♥❡t ❡t ❛❧✳ ✶✾✽✹❪✳ ❉❡✉① ❝❛♠ér❛s s♦♥t ét❛❧♦♥♥é❡s ❛✈❡❝ ❧❡ ♠ê♠❡ s②stè♠❡ ❞❡ ❝♦♦r❞♦♥♥é❡s ❡t ♣❛rt❛♥t ❧❛ tr❛♥s❢♦r♠❛t✐♦♥ ❞❡s ❞❡✉① ✐♠❛❣❡s ❞♦✐t êtr❡ ❧❛ ♠ê♠❡ s✐ t♦✉s ❧❡s ♦❜❥❡ts ❛♣♣❛rt✐❡♥♥❡♥t ❛✉ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t✳ P♦✉r ❧❛ ❢✉s✐♦♥ ❞❡ ❞♦♥♥é❡s✱ ✐❧s ✉t✐❧✐s❡♥t ✉♥ ✜❧tr❡ ❞❡ ❑❛❧♠❛♥ ✿ ❧❡ ✜❧tr❡ ❡st✐♠❡ ❧❛ ❧♦❝❛❧✐s❛t✐♦♥✱ ❧❛ ✈é❧♦❝✐té ❡t ❧✬❛❝❝é❧ér❛t✐♦♥ ❞❡ ❝❤❛q✉❡ ♦❜st❛❝❧❡ ♣♦t❡♥t✐❡❧✳ ▲❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ✜♥❛❧❡ ❡st ré❛❧✐sé❡ ♣❛r ✉♥ s②stè♠❡ ❞❡ ❞é❝✐s✐♦♥ ❡t ❞é♣❡♥❞ ❞❡s rés✉❧t❛ts ♦❜t❡♥✉s ♣❛r ❧❡s ❞✐✛ér❡♥ts s②stè♠❡s ♣r♦♣♦sés✳ ■❧ ❡①✐st❡ ✉♥❡ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❞❛♥s ❧❛q✉❡❧❧❡ s♦♥t ❡♥r❡❣✐strés ❧❡s ❞✐✛ér❡♥ts ♦❜❥❡ts q✉✐ ❛♣♣❛rt✐❡♥♥❡♥t à ❧❛ ✈♦✐❡ ♣♦✉r é✈✐t❡r ❧❡s ❢❛✉ss❡s ❞ét❡❝t✐♦♥s✳✷✳✶✳ ➱t❛t ❞❡ ❧✬❛rt ❞❡s s②stè♠❡s ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❢❡rr♦✈✐❛✐r❡s ✶✼ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ♣♦✉r ❧❛ ✈♦✐❡ ❢❡rré❡ ❉é✈❡❧♦♣♣é ❛✉ ❏❛♣♦♥✱ ❝❡ s②stè♠❡ ❬❨❛♠❛s❤✐t❛ ❡t ❛❧✳ ✶✾✾✻❪ ❞✐s♣♦s❡ ❝♦♠♠❡ ❤❛r❞✇❛r❡ ❞✬✉♥❡ ❝❛♠ér❛ ✐♥❢r❛r♦✉❣❡ ❡t ❞✬✉♥ ❧❛s❡r✳ ❈❡tt❡ ❝❛♠ér❛ ❛ été ❝❤♦✐s✐❡ ♣♦✉r ❛✈♦✐r ✉♥❡ ❜♦♥♥❡ rés✐st❛♥❝❡ ❛✉① ❝♦♥❞✐t✐♦♥s ❝❧✐♠❛t✐q✉❡s✱ ❝❛r ❧❛ ❝❛♠ér❛ tr❛✈❛✐❧❧❡ ❞❛♥s ❧❛ ❜❛♥❞❡ ✽ à ✶✸ µm✱ s♦✐t ✉♥❡ ❞❡s ❢❡♥êtr❡s ❞❡ tr❛♥s♠✐ss✐♦♥ ❞❡ ❧✬✐♥❢r❛r♦✉❣❡✱ tr❛♥s♣❛r❡♥t❡ ❛✉ ❜r♦✉✐❧❧❛r❞✳ ▲❡ s②stè♠❡ ❡st ❞✐✈✐sé ❡♥ tr♦✐s s♦✉s✲s②stè♠❡s ✿ ✲▲✬❡st✐♠❛t✐♦♥ ❞❡s ✈♦✐❡s ❢❡rré❡s ✿ ❝❡ s♦✉s✲s②stè♠❡ ❢❛✐t ✉♥❡ ♣ré❞✐❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❢❡rré❡✳ P♦✉r ② ❛rr✐✈❡r✱ ✐❧ r❡ç♦✐t ❞✐✛ér❡♥ts t②♣❡s ❞✬✐♥❢♦r♠❛t✐♦♥s ❝♦♠♠❡ ❧❛ ♣♦s✐t✐♦♥ ❞✉ tr❛✐♥ ❡t ❧❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡ ❧❛ ✈♦✐❡ ❞✬✉♥❡ ❜❛s❡ ❞❡ ❞♦♥♥é❡s à ♣❛rt✐r ❞❡sq✉❡❧❧❡s ✐❧ ré❛❧✐s❡ ✉♥❡ ✐♠❛❣❡ ❛rt✐✜❝✐❡❧❧❡ ❞❡ ❧❛ ✈♦✐❡ ♣♦✉r ❢❛✐r❡ ✉♥❡ ❝♦♠♣❛r❛✐s♦♥ ❛✈❡❝ ❧❛ ✈♦✐❡ ❞ét❡❝té❡ ♣❛r ❧❡ s②stè♠❡ ❞❡ ✈✐s✐♦♥✳ ▲✬❡①tr❛❝t✐♦♥ ❞❡s r❛✐❧s ❡st ❡✛❡❝t✉é❡ à ♣❛rt✐r ❞❡ ❧❛ ❝❛♠ér❛ ✐♥❢r❛r♦✉❣❡ ❞♦♥❝✱ à ❝❛✉s❡ ❞❡s ❝❤❛♥❣❡♠❡♥ts ❞❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡s r❛✐❧s ❡♥tr❡ ❧❡s ✐♠❛❣❡s ♥✉✐t✴❥♦✉r✱ ❞❡✉① ❡①tr❛❝t✐♦♥s ❞❡ ❧❛ ✈♦✐❡ s♦♥t ♥é❝❡ss❛✐r❡s ✿ ❧❡s r❛✐❧s ❛♣♣❛r❛✐ss❡♥t s♦♠❜r❡s ❡♥ ✈✐s✐♦♥ ❞✐✉r♥❡ ❡t ❝❧❛✐rs ❡♥ ✈✐s✐♦♥ ♥♦❝t✉r♥❡✳ P♦✉r ❞ét❡r♠✐♥❡r ❧❛ ♣rés❡♥❝❡ ❞❡s r❛✐❧s✱ ❧✬ét✉❞❡ ♣❛rt ❞❡ ❧❛ ❝♦♥s✐❞ér❛t✐♦♥ q✉✬✐❧s s♦♥t t♦✉❥♦✉rs ❝♦♥t✐♥✉s ❞❛♥s ❧❛ ❞✐r❡❝t✐♦♥ ✈❡rt✐❝❛❧❡ ❞❡ ❧✬✐♠❛❣❡✱ ❞♦♥❝ ✐❧ ❡st ♥é❝❡ss❛✐r❡ ❞✬❡①tr❛✐r❡ ❧❛ ♠♦②❡♥♥❡ ❤♦r✐③♦♥t❛❧❡ ❛✈❡❝ ✉♥ ✜❧tr❡ ❞❡ ♠♦②❡♥♥❡ ❣❧✐ss❛♥t❡✳ ❆✈❡❝ ✉♥ s✐♠♣❧❡ s❡✉✐❧❧❛❣❡✱ ❧❡s r❛✐❧s s♦♥t ❞ét❡❝tés✳ ✲▲❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❡♥ ❝r♦✐s❡♠❡♥ts s❡ ❧✐♠✐t❡ à ❧❛ ❞ét❡❝t✐♦♥ ❞❡ tr❛✐♥s✳ ❈❡❧❧❡✲❝✐ ❡st ❛ss✉✲ ré❡ ❣râ❝❡ à ❧❛ ❣r❛♥❞❡ ❞✐✛ér❡♥❝❡ ❡♥ ✐♥t❡♥s✐té ❡♥tr❡ ❧❡ tr❛✐♥ ❡t ❧❡ ❢♦♥❞ ❞❡ ❧✬✐♠❛❣❡ ❛✈❡❝ ✉♥❡ ❝❛♠ér❛ ✐♥❢r❛r♦✉❣❡✳ ▲❛ ❞ét❡❝t✐♦♥ s❡ ré❛❧✐s❡ ❡♥ ❡①tr❛②❛♥t ❞❡s ♠♦②❡♥♥❡s ♠♦❜✐❧❡s ❧❡ ❧♦♥❣ ❞❡ ❧❛ ✈❡rt✐❝❛❧❡ ❡t ❞❡ ❧✬❤♦r✐③♦♥t❛❧❡ ❞❡ ❧✬✐♠❛❣❡✳ ❖♥ ♦❜t✐❡♥t ❞❡s ♣♦rt✐♦♥s ❞✬♦❜st❛❝❧❡s ❞♦♥t ❧❡ ❝❡♥tr❡ ❡t ❧❛ ♣♦s✐t✐♦♥ s♦♥t ❝❛❧❝✉❧és ❡t ❡♥✈♦②és ❛✉ s②stè♠❡ ❞❡ ❝♦♥trô❧❡ ❞✉ ❧❛s❡r ♣♦✉r ❧❛ ✈ér✐✜❝❛t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡✳ ✲▲❡ ♣r♦t♦t②♣❡ ❞✐s♣♦s❡ ❞✬✉♥ s②stè♠❡ ♣♦✉r ❝♦♥♥❛îtr❡ ❧❡s ♠♦✉✈❡♠❡♥ts ❞✉ tr❛✐♥ ❡t ♣❡r♠❡ttr❡ ❞❡ ❢❛✐r❡ ❧❡ r❡❝❛❧❛❣❡ ❡♥tr❡ ❧✬✐♠❛❣❡ ❞❡ ❧❛ ✈♦✐❡ ❝❛❧❝✉❧é❡ ❡t ❝❡❧❧❡ ♦❜t❡♥✉❡ à ♣❛rt✐r ❞❡ ❧❛ ❝❛♠ér❛✳ ▲❡ ❧❛s❡r ♣❡r♠❡t ❞❡ ✈ér✐✜❡r ❡♥ ♠ê♠❡ t❡♠♣s ❧❛ ❞✐st❛♥❝❡ ❞❡s ♦❜st❛❝❧❡s ❞ét❡❝tés ♣❛r ❧❛ ❝❛♠ér❛✳ ❈❡ s②stè♠❡ ❛❝t✐❢ ❡st ❝♦♠♣♦sé ❞✬✉♥ ❧❛s❡r ❡t ❞✬✉♥ ❣②r♦♠ètr❡ ♣♦✉r ♠❡s✉r❡r ❧❡s ♠♦✉✈❡♠❡♥ts ❞✉ tr❛✐♥✳ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❞❡✈❛♥t ❧❡s ✈é❤✐❝✉❧❡s ❞❡ tr❛♥s♣♦rt ❣✉✐❞és ♣❛r stéré♦s❝♦♣✐❡ ❈❡ s②stè♠❡ ❬❉♦♦③❡ ❡t ❛❧✳ ✶✾✾✽✱ ▲♦✉❛❤❞✐ ❡t ❛❧✳ ✷✵✵✷❪ ❛ été ❞é✈❡❧♦♣♣é ♣♦✉r ❧❡ ♠étr♦ ❛✉t♦♠❛t✐sé ❱❆▲ ❡♥ ✷✵✵✶✳ ❙♦♥ ♣r✐♥❝✐♣❛❧ ♦❜❥❡❝t✐❢ ❡st ❞❡ ❞ét❡❝t❡r t♦✉t ♦❜❥❡t ♣❧❛❝é ❞❡✈❛♥t ❧❛ ♣❧❛t❡❢♦r♠❡✱ q✉✐ ♣♦sé s✉r ❧❛ ✈♦✐❡✱ ❞é♣❛ss❡ ❧❡ ♣❧❛♥ ❝♦♥st✐t✉é ♣❛r ❧❡s ♣✐st❡s ❞❡ r♦✉❧❡♠❡♥t✳ P♦✉r ② ❛rr✐✈❡r✱ ❧❡ s②stè♠❡ ♣r♦♣♦s❡ ❞✬✉t✐❧✐s❡r ❞❡s ❝❛♣t❡✉rs ♣❛ss✐❢s✳ ▲❡ ❝❛♣t❡✉r stéré♦s❝♦♣✐q✉❡ ❡st ❝♦♠♣♦sé ❞❡ tr♦✐s ❝❛♠ér❛s ❛♥❛❧♦❣✐q✉❡s ❞❡ 752 ❧✐❣♥❡s ♣❛r 582 ❝♦✲ ❧♦♥♥❡s✳ ▲✬❡♥tr❡✲❛①❡ ❞❡ 0.4 m ❛ été ❝❤♦✐s✐ ♣♦✉r ♠✐♥✐♠✐s❡r ❧✬❡rr❡✉r ❞❡ ❧♦❝❛❧✐s❛t✐♦♥ à ✉♥❡ ❞✐st❛♥❝❡ ❞❡ 70 m✳ ▲❡s ✈❛❧❡✉rs ❞❡ ❧❛ ❢♦❝❛❧❡ ❡t ❞❡ ❧✬❛♥❣❧❡ ❞✬✐♥❝❧✐♥❛✐s♦♥ ❞❡s ❝❛♠ér❛s s♦♥t ❞✐✛ér❡♥t❡s ♣♦✉r ❧❛ ❝❛♠ér❛ ❝❡♥tr❛❧❡ ❡t ❧❡ stéré♦s❝♦♣❡✳ ❉❡✉① ❛♣♣r♦❝❤❡s s♦♥t ♣rés❡♥té❡s ✿ à ♣❛rt✐r ❞✉ ♠♦✉✈❡♠❡♥t r❡❧❛t✐❢ ❞❡ ❧✬♦❜st❛❝❧❡ ♣❛r r❛♣♣♦rt ❛✉ tr❛✐♥ ✭❊❣♦ ♠♦t✐♦♥✮ ❡t à ♣❛rt✐r ❞❡ ❧❛ ♠✐s❡ ❡♥ ❝♦rr❡s♣♦♥❞❛♥❝❡ stéré♦s❝♦♣✐q✉❡✳ ❈♦♠♠❡ ❧❛ ♠✐s❡ ❡♥ ❝♦rr❡s♣♦♥✲ ❞❛♥❝❡ ❡st ✉♥❡ ♦♣ér❛t✐♦♥ très ❝♦♠♣❧❡①❡ q✉✐ ♥é❝❡ss✐t❡ ✉♥ ♥♦♠❜r❡ é❧❡✈é ❞✬♦♣ér❛t✐♦♥s ❛r✐t❤♠ét✐q✉❡s✱ ✐❧ ❡st ♣r♦♣♦sé ❞✬✉t✐❧✐s❡r s❡✉❧❡♠❡♥t ✉♥❡ ❧✐❣♥❡ ♣❛r ✐♠❛❣❡ ♠❛tr✐❝✐❡❧❧❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✳ ❈❡tt❡ ❧✐❣♥❡ ❝♦rr❡s♣♦♥❞ à ✉♥❡ ❞r♦✐t❡ ❞❡ s✉r✈❡✐❧❧❛♥❝❡ ❞ét❡r♠✐♥é❡ à ❧❛ ❞✐st❛♥❝❡ ♠✐♥✐♠❛❧❡ ❞✬❛rrêt✳ ▲❡ s②stè♠❡ ❛ ❜❡s♦✐♥ ❞✬✉♥ ét❛❧♦♥♥❛❣❡ ♣♦✉r s✬❛ss✉r❡r q✉❡ ❧❛ ❧✐❣♥❡ ❝❤♦✐s✐❡ ❞❡ ❝❤❛q✉❡ ❝❛♠ér❛ ❝♦rr❡s♣♦♥❞❡ ❜✐❡♥ ❛✉ ♠ê♠❡ ♣♦✐♥t✳ ▲❛ ♣r♦❝é❞✉r❡ ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❞❛♥s ❧✬❡♥tr❡✈♦✐❡ ❡st ❜❛sé❡ s✉r ✉♥ tr❛✐t❡♠❡♥t ❞❡s ❣r❛❞✐❡♥ts ❞❡s ❞❡✉① ❧✐❣♥❡s ❞❡s ✐♠❛❣❡s ❣❛✉❝❤❡ ❡t ❞r♦✐t❡✱ ♣❡r♠❡tt❛♥t ❧✬✐❞❡♥t✐✜❝❛t✐♦♥ ❞✬✉♥ ♥♦♠❜r❡ ❞❡ ♣♦✐♥ts ❞✬✐♥térêt ❝♦rr❡s♣♦♥❞❛♥t ❛✉① ❜♦r❞s ❞❡s ♦❜❥❡ts ❣râ❝❡ à ✉♥ s❡✉✐❧❧❛❣❡✳ ❯♥ rés❡❛✉ ❞❡ ♥❡✉r♦♥❡s ❞❡ t②♣❡ ❍♦♣✜❡❧❞ ♣❡r♠❡t ❡♥s✉✐t❡ ❞✬❛♣♣❛r✐❡r ❧❡s ♣♦✐♥ts ❞✬✐♥térêt r❡t❡♥✉s ❬❍❛②❦✐♥ ✶✾✾✹❪✳ ▲❡ s②stè♠❡ ré❛❧✐s❡ ❛✉ss✐ ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ❡t ❧❡ s✉✐✈✐ ❞❡s ♣✐st❡s ❡♥ ✉t✐❧✐s❛♥t ❧❛ ♠ét❤♦❞❡ ❞❡s ❝♦♥t♦✉rs ❛❝t✐❢s ❬❑❛ss ❡t ❛❧✳ ✶✾✽✽❪ ♣✉✐sq✉❡ ❧❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡s ♣✐st❡s s♦♥t ❝♦♥♥✉❡s✳ ❊♥ ❝♦♥séq✉❡♥❝❡✱ ❧❡✶✽ ❈❤❛♣✐tr❡ ✷✳ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ ♠♦❞è❧❡ r❡st❡ s✐♠♣❧❡ ❡t ❝♦♠♣❛t✐❜❧❡ ❛✈❡❝ ❧✬❛s♣❡❝t t❡♠♣s ré❡❧ r❡q✉✐s✳ ▲❡ ♣r♦❝é❞é ❛ été ✈❛❧✐❞é ❛✈❡❝ ❞❡s ❡①♣ér✐♠❡♥t❛t✐♦♥s ❞❛♥s ❧❡sq✉❡❧❧❡s ✜❣✉r❛✐❡♥t ❞✐✛ér❡♥ts t②♣❡s ❞✬♦❜st❛❝❧❡s ❡♥tr❡ ❧❡s ✈♦✐❡s✳ ▲❡ rés✉❧t❛t ❞❡s t❡sts ❡✛❡❝t✉és ❛✈❡❝ ❞✐✛ér❡♥ts ♦❜❥❡ts✱ ❡st ✉♥❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s à ✉♥❡ ❞✐st❛♥❝❡ ❞✬❡♥✈✐r♦♥ 30m ❛✈❡❝ ✉♥❡ ✈✐t❡ss❡ ❞❡ 25 km/h✳ ❱é❤✐❝✉❧❡ éq✉✐♣é ❞✬✉♥ s②stè♠❡ ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❈❡ ♣r♦❥❡t ❬❙❛s❛❦✐ ❡t ❛❧✳ ✶✾✾✾❪ ❞✐s♣♦s❡ ❝♦♠♠❡ ❤❛r❞✇❛r❡ ❞❡ tr♦✐s ❝❛♠ér❛s ❈❈❉ ❡t ❞✬✉♥ s②stè♠❡ ❞❡ ❧❛♠♣❡s ♣♦✉r é❝❧❛✐r❡r ❧❛ ✈♦✐❡✳ ▲❛ ❝♦♥✜❣✉r❛t✐♦♥ ❞❡s ❝❛♠ér❛s ♣❡r♠❡t ❞✬❛✈♦✐r ❞❡s ❞✐st❛♥❝❡s ❞❡ ✈✉❡ ♠❛①✐♠❛❧❡s ❞❡ ✶✵✵✱ ✷✵✵ ❡t ✹✵✵ ♠ètr❡s✳ ▲❡ s②stè♠❡ ❝❤❛♥❣❡ ❞❡ ❝❛♠ér❛ s❡❧♦♥ ❧❡s ❝♦♥❞✐t✐♦♥s ❞❡ ✈✐s✐❜✐❧✐té✱ ❞❡ ❧❛ ✈✐t❡ss❡ ❞✉ tr❛✐♥ ❡t ❞❡ ❧❛ ❢♦r♠❡ ❞❡ ❧❛ ✈♦✐❡✳ ❉❡ ♣❧✉s✱ ❧❡ s②stè♠❡ r❡ç♦✐t ❞❡s ✐♥❢♦r♠❛t✐♦♥s ❝♦♠♠❡ ❧❛ ✈✐t❡ss❡ ❡t ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ❞✉ tr❛✐♥ ♣♦✉r ♣♦✉✈♦✐r s②♥❝❤r♦♥✐s❡r ❧❡s ❜❛s❡s ❞❡ ❞♦♥♥é❡s ❞❡ ❧❛ ✈♦✐❡ ❡t ❞❡ ❧✬éq✉✐♣❡♠❡♥t✳ ▲❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❡st ❜❛sé❡ s✉r ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡s ♠♦t✐❢s à ♣❛rt✐r ❞❡s ✐♠❛❣❡s ✭P❛tt❡r♥ ♠❛t❝❤✐♥❣✮ ❬❲❡✐♥❡r ✶✾✼✸❪✳ P♦✉r é✈✐t❡r ❞❡ ❝♦♥❢♦♥❞r❡ ❧❡s éq✉✐♣❡♠❡♥ts ❞❡ ✈♦✐❡ ❛✈❡❝ ❞❡s ♦❜st❛❝❧❡s✱ ✐❧ ❡①✐st❡ ✉♥❡ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❛✈❡❝ ❞❡s é❝❤❛♥t✐❧❧♦♥s ✭t❡♠♣❧❛t❡s✮ ❞❡ ❧✬éq✉✐♣❡♠❡♥t✳ ❆✈❛♥t ❞❡ ❞é❝✐❞❡r s✬✐❧ s✬❛❣✐t ❞✬✉♥ ♦❜st❛❝❧❡ ♦✉ ♥♦♥✱ tr♦✐s ❛s♣❡❝ts s♦♥t à ✈ér✐✜❡r ✿ s❛ ❧♦❝❛❧✐s❛t✐♦♥✱ s❛ ♣♦s✐t✐♦♥ ♣❛r r❛♣♣♦rt ❛✉① r❛✐❧s ❡t s❛ s✐❣♥❛t✉r❡ ✭❝❛r❛❝tér✐st✐q✉❡s ❡①tr❛✐t❡s ❞❡ ❧✬✐♠❛❣❡✮✳ ▲❛ ✜❣✉r❡ ❄❄ t✐ré❡ ❞❡ ❬❙❛s❛❦✐ ❡t ❛❧✳ ✶✾✾✾❪✱ ♠♦♥tr❡ ✉♥ s❝❤é♠❛ ❞❡ t♦✉s ❧❡s s②stè♠❡s q✉✐ ❝♦♦♣èr❡♥t✳ ❋✐❣✉r❡ ✷✳✶ ✕ ❈♦♠❜✐♥❛✐s♦♥ ❞❡s s②stè♠❡s ♣♦✉r ❛❜♦✉t✐r ❛✉ s②stè♠❡ ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✳ ❉ét❡r♠✐♥❛t✐♦♥ ❞✬✉♥❡ ③♦♥❡ ❧✐❜r❡ ❞✬♦❜st❛❝❧❡s ♣♦✉r ❧❡s tr❛✐♥s ❞❡ ♠❛✐♥t❡♥❛♥❝❡ ❉❛♥s ❝❡tt❡ ét✉❞❡ ❞❡ ✷✵✶✵ ❬▼❛✐r❡ ✫ ❇✐❣❞❡❧✐ ✷✵✶✵❪✱ ▼❛✐r❡ ♥♦✉s ♣r♦♣♦s❡ ✉♥❡ ❛♣♣r♦❝❤❡ ❜❛sé❡ s✉r ❧❛ ❣é♦♠étr✐❡ ❞❡s ✈♦✐❡s ❢❡rré❡s✱♠❛✐s à ♣❛rt✐r ❞❡ ❧✬✉t✐❧✐s❛t✐♦♥ ❞❡s ✐♠❛❣❡s ♦❜t❡♥✉❡s ❣râ❝❡ à ❧❛ tr❛♥s❢♦r♠é❡ ✈✉❡ à ✈♦❧ ❞✬♦✐s❡❛✉ ✭❡♥ ❛♥❣❧❛✐s ❇✐r❞ ❊②❡s✬ ❱✐❡✇✮ ❝♦♠♠❡ ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✷✳✷✳ ❈❡tt❡ tr❛♥s❢♦r♠❛t✐♦♥ ❡st ♣♦ss✐❜❧❡ ❣râ❝❡ à ❧✬ét❛❧♦♥♥❛❣❡ ❞❡ ❧❛ ❝❛♠ér❛ ❡t ❧❛ ❧✬✉t✐❧✐s❛t✐♦♥ ❞❡ ❧✬❤②♣♦✲ t❤ès❡ ❞✉ ♠♦♥❞❡ ♣❧❛t✳ ▲❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ❡st ❢❛✐t❡ ❛✈❡❝ ❧❛ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤ ❬❇❛❧❧❛r❞ ✶✾✽✶❪✳ P♦✉r ❧✐♠✐t❡r ❧❛ ❝❤❛r❣❡ ❞❡ ❝❛❧❝✉❧✱ ❧✬✐♠❛❣❡ ♦r✐❣✐♥❛❧❡ ❡st ♣ré❛❧❛❜❧❡♠❡♥t ❧✐♠✐té❡ ❛✉① ❝♦♥t♦✉rs ❞❡s ♦❜❥❡ts ♣✉✐s ❜✐♥❛r✐sé❡✳ ▲❡ s②stè♠❡ ❞é✈❡❧♦♣♣é ♥✬❡st ♣❛s t❡♠♣s✲ré❡❧✱ ❡t ❧✬❛♥❛❧②s❡ ❞❡s ✐♠❛❣❡s ❡st ❢❛✐t❡ ❛ ♣♦st❡r✐♦r✐✳ ❈♦♠♠❡ ❧❡ s②stè♠❡ ✉t✐❧✐s❡ ❞❡s séq✉❡♥❝❡s ❞✬❡①tér✐❡✉r✱ ❧❛ ❧✉♠✐♥♦s✐té ♣❡✉t ✈❛r✐❡r ❡t ♣❛r ❝♦♥séq✉❡♥t✱ ♣♦✉r ❞ét❡r✲ ♠✐♥❡r ❧❡ s❡✉✐❧❧❛❣❡ ❈❛♥♥②✱ ✐❧ ❡st ♥é❝❡ss❛✐r❡ ❞✬✐♥❞✐q✉❡r ❧❛ ♣rés❡♥❝❡ ❞✉ r❛✐❧ ❞❛♥s ❧✬✐♠❛❣❡ ♣♦✉r ❛❞❛♣t❡r✷✳✷✳ ❈❤♦✐① ❞✉ ❝❛♣t❡✉r ✶✾ ❧❛ ✈❛❧❡✉r ❞✉ s❡✉✐❧❧❛❣❡✳ ▲❡ ❝❤♦✐① ❞❡s r❛✐❧s ❡st ❢❛✐t ❛✈❡❝ ❧✬❛✐❞❡ ❞✬✉♥ ♦♣ér❛t❡✉r ❡t ❧❡ s②stè♠❡ ❝❤♦✐s✐t ❧❡s tr❛♥s❢♦r♠é❡s ❞❡ ❍♦✉❣❤ ❧❡s ♣❧✉s ♣r♦❝❤❡s ❞❡ ❧❛ ♣♦s✐t✐♦♥ ✐♥❞✐q✉é❡ ♣❛r ❧✬♦♣ér❛t❡✉r✳ P❛r r❛♣♣♦rt à ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✱ ▲❡ s②stè♠❡ ❞ét❡r♠✐♥❡ q✉❡ ❧❛ ✈♦✐❡ ❡st ❧✐❜r❡ t❛♥t q✉❡ ❧❡s ❣r❛❞✐❡♥ts ❞❡ ❈❛♥♥② ❡♥tr❡✲✈♦✐❡s s♦♥t ♣❡r♣❡♥❞✐❝✉❧❛✐r❡ ❛✉① r❛✐❧s✱ ❝✬❡st✲à✲❞✐r❡✱ ❧❛ ❞ét❡❝t✐♦♥ ❞❡s tr❛✈❡rs❡s✳ ✭❛✮ ■♠❛❣❡ ❞✬♦r✐❣✐♥❡ ✭❜✮ ■♠❛❣❡ tr❛♥s❢♦r♠é❡ ❡t ❡①tr❛❝t✐♦♥ ❞❡s r❛✐❧s ré❛❧✐sé❡ ♠❛rq✉é❡ ❡♥ r♦✉❣❡ ❡t ❜❧❡✉ ❋✐❣✉r❡ ✷✳✷ ✕ ❚r❛♥s❢♦r♠é❡ ❡♥ ✈✉❡ ❞❡ ✈♦❧ ❞✬♦✐s❡❛✉ ❡t ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ✷✳✷ ❈❤♦✐① ❞✉ ❝❛♣t❡✉r ❊♥ ❝❡ q✉✐ ❝♦♥❝❡r♥❡ ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ❡t ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s s✉r ❧❛ ✈♦✐❡ ❢❡rré❡✱ ♥♦✉s ❛✈♦♥s ♣✉ ✈♦✐r ❞❛♥s ❧❛ s❡❝t✐♦♥ ✷✳✶ q✉✬✐❧ ❡①✐st❡ ♣❧✉s✐❡✉rs ❛♣♣r♦❝❤❡s ❛✈❡❝ ❞✐✛ér❡♥ts t②♣❡s ❞❡ ❝❛♣t❡✉rs✳ ◆♦✉s ♣♦✉✈♦♥s ❧❡s ❝❧❛ss✐✜❡r ❡♥ ❞❡✉① ❣r❛♥❞s ❣r♦✉♣❡s ✿ ❧❡s ❝❛♣t❡✉rs ♣❛ss✐❢s t❡❧s q✉❡ ❧❡s s②stè♠❡s ❞❡ ✈✐s✐♦♥ ❡t ❧❡s ❝❛♣t❡✉rs ❛❝t✐❢s t❡❧s q✉❡ ❧❡s r❛❞❛rs ❡t ❧❡s té❧é♠ètr❡s ❧❛s❡rs✳ ✷✳✷✳✶ ❈❛♣t❡✉rs ❛❝t✐❢s ▲❡s ❝❛♣t❡✉rs ❛❝t✐❢s ✐♥❝♦r♣♦r❡♥t ✉♥ é♠❡tt❡✉r✱ ❞♦♥❝ ✐❧s é♠❡tt❡♥t ❞❡ ❧✬é♥❡r❣✐❡ ♣♦✉r é❝❧❛✐r❡r ❧❛ s❝è♥❡ ❞❛♥s ❧❛ ❜❛♥❞❡ s♣❡❝tr❛❧❡ ❞✉ ré❝❡♣t❡✉r✳ ▲❡s ♣❧✉s ✉t✐❧✐sés s♦♥t ❧❡s r❛❞❛rs✱ ❧❡s té❧é♠ètr❡s ❧❛s❡rs ❡t✱ ❜❡❛✉❝♦✉♣ ♣❧✉s r❛r❡♠❡♥t✱ ❧❡s ✉❧tr❛s♦♥s q✉✐ r❡st❡♥t rés❡r✈és ❛✉① ♦❜st❛❝❧❡s ♣r♦❝❤❡s✱ ♣♦✉r ✉♥ ❝♦♥t❡①t❡ ♣❛r❦✐♥❣ ♣❛r ❡①❡♠♣❧❡✳ ◆♦✉s ♥✬ét✉❞✐❡r♦♥s ♣❛s ❧❡s ❝❛♣t❡✉rs ❛❝t✐❢s ❡♥ ❞ét❛✐❧ ✐❝✐✱ ❞❛♥s ❧❛ ♠❡s✉r❡ ♦ù ✐❧s ♥❡ s❡r♦♥t ♣❛s ✉t✐❧✐sés ❞❛♥s ❧❡ s②stè♠❡ ❞é✈❡❧♦♣♣é✱ ♣❛r ❝♦♥tr❡ ♥♦✉s ❛♥❛❧②s♦♥s ❧❡s ♣r✐♥❝✐♣❛❧❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡ tr♦✐s ❝❛♣t❡✉rs ❛❝t✐❢s✱ ❧❡✉rs ❝❛♣❛❝✐tés ❡t ❞é❢❛✐❧❧❛♥❝❡s ♣♦✉r ❧❡ s②stè♠❡ q✉❡ ♥♦✉s ❝❤❡r❝❤♦♥s à ❞é✈❡❧♦♣♣❡r✳ ✕ ❘❛❞❛r ✿ ▲❡s r❛❞❛rs s♦♥t ✉t✐❧✐sés ❡♥ ♣❛rt✐❝✉❧✐❡r ❞❛♥s ❧❡s s②stè♠❡s ❞✬❛♥t✐✲❝♦❧❧✐s✐♦♥ ❡t ❧❡s s②stè♠❡s ❞❡ ❝♦♥trô❧❡ ❞❡ ✈✐t❡ss❡ ❛❞❛♣t❛t✐❢s ✭❆❞❛♣t❛t✐✈❡ ❈r✉✐s❡ ❈♦♥tr♦❧✱ ❆❈❈✮ ❝♦♠♠❡r❝✐❛❧✐sés ❞❡♣✉✐s ✶✾✾✾ ♣♦✉r ❧❡s ✈♦✐t✉r❡s✳ ▲✬❛✈❛♥t❛❣❡ ❞✬✉♥ r❛❞❛r rés✐❞❡ ❞❛♥s s❛ ❣r❛♥❞❡ ♣♦rté❡ ✭♣❧✉s✐❡✉rs ❞✐③❛✐♥❡s ✈♦✐r❡ ❝❡♥t❛✐♥❡s ❞❡ ♠ètr❡s✮ ❡t s♦♥ ✐♥❞é♣❡♥❞❛♥❝❡ ❢❛❝❡ ❛✉① ❝♦♥❞✐t✐♦♥s ♠été♦r♦❧♦❣✐q✉❡s ❝♦♠♠❡ ❧❛ ♣❧✉✐❡ ♦✉ ❧❛ ♥❡✐❣❡ ❬❍❛♥❝♦❝❦ ❡t ❛❧✳ ✶✾✾✽❪✳ ❙❛ ♣ré❝✐s✐♦♥ ♣❡✉t êtr❡ ét❛❜❧✐❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡ ❧✬❛♥t❡♥♥❡✳ ❈❡♣❡♥❞❛♥t✱ ❧❡ r❛❞❛r ♣rés❡♥t❡ ✉♥ ❝❡rt❛✐♥ ♥♦♠❜r❡ ❞❡ ❧✐♠✐t❛t✐♦♥s✳ ❚♦✉t ❞✬❛❜♦r❞✱ ✐❧ ❡st très s❡♥s✐❜❧❡ ❛✉① ♣❡♥t❡s ❡t ❛✉① ✈✐r❛❣❡s ❡t ✐❧ ❛ ❞❡s ❞✐✣❝✉❧tés à ❞ét❡❝t❡r ❧❡s ♣❡t✐ts ♦❜st❛❝❧❡s✳ ❊t s✉rt♦✉t✱ ❧✬✉t✐❧✐s❛t✐♦♥ ❞✉ r❛❞❛r ♣♦s❡ ❧❡ ♣r♦❜❧è♠❡ ❞❡s ✐♥t❡r❢ér❡♥❝❡s é❧❡❝tr♦♠❛❣♥ét✐q✉❡s ❡♥tr❡ ♣❧✉s✐❡✉rs ✈é❤✐❝✉❧❡s ❧♦rs ❞❡ ❝r♦✐s❡♠❡♥ts ❞❛♥s ❧❛ ✈♦✐❡✳ ❉✬❛✉tr❡ ♣❛rt✱ ❧✬ét✉❞❡ ❞❡ ❞♦♥♥é❡s r❛❞❛r ❧❛✐ss❡ ❛♣♣❛r❛îtr❡ ❞❡ ♥♦♠❜r❡✉① é❝❤♦s ♣❛r❛s✐t❡s ❞❛♥s ❧❛ ❝❤❛✉ssé❡ ♦✉ s✉r ❧❡s ❜♦r❞s ❞❡ r♦✉t❡✳ P♦✉r é✈✐t❡r q✉❡ ❝❡❧❛ ♥❡ ♣r♦✈♦q✉❡ ✉♥ ❣r❛♥❞ ♥♦♠❜r❡ ❞❡✷✵ ❈❤❛♣✐tr❡ ✷✳ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ ❢❛✉ss❡s ❞ét❡❝t✐♦♥s✱ ❧❡s ♦❜❥❡ts ✐♠♠♦❜✐❧❡s s♦♥t ❣é♥ér❛❧❡♠❡♥t ✜❧trés ❡♥ ❝♦♠♣❛r❛♥t ❧❛ ♠❡s✉r❡ ❞❡ ❧❡✉r ✈✐t❡ss❡ à ❧❛ ✈✐t❡ss❡ ❞✉ ✈é❤✐❝✉❧❡ éq✉✐♣é ❬P❡rr♦❧❧❛③ ✷✵✵✽❪✳ ✕ ❚é❧é♠ètr❡ ▲❛s❡r ✿ ▲❡s ❧❛s❡rs ❢♦♥❝t✐♦♥♥❡♥t s✉r ❧❡ ♠ê♠❡ ♣r✐♥❝✐♣❡ q✉❡ ❧❡s r❛❞❛rs✱ ♠❛✐s ✉t✐❧✐s❡♥t ✉♥ ❢❛✐s❝❡❛✉ ❧✉♠✐♥❡✉①✳ ■❧s s♦♥t très ✉t✐❧✐sés ❞❛♥s ❧❡s ❞♦♠❛✐♥❡s ❞❡ ❧❛ r♦❜♦t✐q✉❡ ♣♦✉r ❧❛ ♥❛✈✐❣❛t✐♦♥ ❡t ❝❛rt♦❣r❛♣❤✐❡ ❞❡s r♦❜♦ts ❡♥ t❡rr❛✐♥ ✐♥❝♦♥♥✉ ❬❙t❡✉① ✫ ❊❧ ❍❛♠③❛♦✉✐ ✷✵✶✵❪✳ ▲❛ té❧é♠étr✐❡ ❧❛s❡r ❛rr✐✈❡ à ❞ét❡❝t❡r ❧❡s ♦❜st❛❝❧❡s ❡t à ❝♦♥♥❛îtr❡ ❧❡✉rs ❞✐st❛♥❝❡s ❬❊s♣✐♥♦ ❡t ❛❧✳ ✷✵✶✶❪✳ ▲❛ ❞ét❡❝t✐♦♥ ❡st ♣♦ss✐❜❧❡ s✉r t♦✉t t②♣❡ ❞✬♦❜❥❡ts✱ ♠ét❛❧❧✐q✉❡s ♦✉ ♥♦♥✱ ♠❛✐s ❧❡s ♦❜❥❡ts s♦♠❜r❡s ♣♦s❡♥t ❞❡s ♣r♦❜❧è♠❡s✱ ❞❡ ♠ê♠❡ q✉❡ ❧❡s s✉r❢❛❝❡s tr❛♥s♣❛r❡♥t❡s q✉✐ s♦♥t tr❛✈❡rsé❡s ♣❛r ❧❡ ❢❛✐s❝❡❛✉ ❧❛s❡r s❛♥s ré✢❡①✐♦♥✳ ▲❡ ❧❛s❡r ❡st ❧❡ ♠❡✐❧❧❡✉r ❝❛♥❞✐❞❛t ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✱ ❝❛r ✐❧ ❛ ✉♥❡ très ❜♦♥♥❡ rés♦❧✉t✐♦♥ ❡t ✉♥❡ ❜♦♥♥❡ ♣♦rté❡✱ s❛✉❢ ❡♥ ♣rés❡♥❝❡ ❞❡ ❜r♦✉✐❧❧❛r❞ ✭❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ❧♦♥❣✉❡✉r ♦♥❞❡✮✱ ❞❡ ♣❧✉✐❡ ♦✉ ❞❡ ♥❡✐❣❡✱ ❝❛r ❧❡s ❢❛✐s❝❡❛✉① s♦♥t ❞✐s♣❡rsés ❡t✴♦✉ ❛❜s♦r❜és✳ ▲❛ ♣♦✉ss✐èr❡ q✉✐ s❡ ❞é♣♦s❡ s✉r ❧❡s ❧❡♥t✐❧❧❡s ❢r♦♥t❛❧❡s ❡st s♦✉r❝❡ ❞❡ ♣r♦❜❧è♠❡s s✉rt♦✉t ❞❛♥s ✉♥ ❡♥✈✐r♦♥♥❡♠❡♥t ❢❡rr♦✈✐❛✐r❡ ✭❜❛❧❧❛st✱ t✉♥♥❡❧s✱ ❡t❝✳✮ ❡t ♣♦s❡ ❞❡s ❝♦♥tr❛✐♥t❡s ❞❡ ♠❛✐♥t❡♥❛♥❝❡✳ ❉❡ ♣❧✉s✱ ❧❡ ❧❛s❡r ❛ ✉♥❡ ❢❛✐❜❧❡ rés✐st❛♥❝❡ ❛✉① ❝❤♦❝s✳ ✕ ❙♦♥❛r ✿ ▲❡ s♦♥❛r ❡st très ❧✐♠✐té ❡♥ ♣♦rté❡ ✭❡♥✈✐r♦♥ ✷ ♠✮✱ ❡♥ ✈✐t❡ss❡ ❡t ❡♥ rés✐st❛♥❝❡ à ❧✬❡♥✈✐✲ r♦♥♥❡♠❡♥t✳ ■❧ ❡st s❡♥s✐❜❧❡ à ❧❛ t❡♠♣ér❛t✉r❡ ❡t à ❧❛ ♣r❡ss✐♦♥ ❡t é❣❛❧❡♠❡♥t ❛✉① ❛✉tr❡s s②stè♠❡s ✉t✐❧✐s❛♥t ❧❛ ♠ê♠❡ ❢réq✉❡♥❝❡ ✭❧♦rs ❞❡s ❝r♦✐s❡♠❡♥ts ❡♥tr❡ tr❛✐♥s✮✳ P❛r ❝♦♥séq✉❡♥t✱ s♦♥ ✉t✐❧✐s❛t✐♦♥ ❡st r❡str❡✐♥t❡✱ s❡ ❧✐♠✐t❛♥t ♣r✐♥❝✐♣❛❧❡♠❡♥t à ❧✬❛✐❞❡ ❛✉ st❛t✐♦♥♥❡♠❡♥t✳ ❉❛♥s ❧❡ ❞♦♠❛✐♥❡ ❢❡rr♦✲ ✈✐❛✐r❡ ✐❧ ❢❛✉t ❛❥♦✉t❡r q✉❡ ❧❡s ♠étr♦s ❣é♥èr❡♥t ❞❡s ✉❧tr❛s♦♥s ❡♥ ♣r♦✈❡♥❛♥❝❡ ❞❡s ♠♦t❡✉rs ❡t ❞❡s ❢r❡✐♥s✱ ❝❡ q✉✐ r❡♥❞ ❞✐✣❝✐❧❡ ❧✬✉s❛❣❡ ❞❡s ✉❧tr❛s♦♥s ❝♦♠♠❡ ♣♦ss✐❜❧❡s ❝❛♣t❡✉rs à ❡①♣❧♦✐t❡r✳ ✷✳✷✳✷ ❈❛♣t❡✉rs ♣❛ss✐❢s ❯♥ ❝❛♣t❡✉r ♣❛ss✐❢ ❡st ✉♥ ❝❛♣t❡✉r q✉✐ r❡ç♦✐t ❞❡ ❧✬é♥❡r❣✐❡ é♠✐s❡ s❛♥s q✉❡ ❧✉✐✲♠ê♠❡ ♥✬✐rr❛❞✐❡ ❧❛ s❝è♥❡✳ ❈❡s ❝❛♣t❡✉rs✱ ❞❛♥s ❧❡ ♠♦♥❞❡ ❞❡ ❧❛ r♦❜♦t✐q✉❡✱ s♦♥t ♠❛❥♦r✐t❛✐r❡♠❡♥t ❞❡s ❝❛♠ér❛s✳ ❉❡✉① ❛♣♣r♦❝❤❡s s♦♥t ❛❧♦rs ♣♦ss✐❜❧❡s ✿ ❧✬✉t✐❧✐s❛t✐♦♥ ❞✬✉♥❡ s❡✉❧❡ ❝❛♠ér❛ ♦✉ ❧✬❡①♣❧♦✐t❛t✐♦♥ ❞❡ ♣❧✉s✐❡✉rs ♣♦✐♥ts ❞❡ ✈✉❡ ❛✈❡❝ ♣❧✉s✐❡✉rs ❝❛♠ér❛s r❡❧✐é❡s ❞❡ ♠❛♥✐èr❡ r✐❣✐❞❡ s✉r ❧❡ ✈é❤✐❝✉❧❡✳ ❉❛♥s ♥♦tr❡ ❝❛s✱ ❛♣rès ❛✈♦✐r ❢❛✐t ✉♥❡ ❛♥❛❧②s❡ ❞❡s ❛✈❛♥t❛❣❡s ❡t ✐♥❝♦♥✈é♥✐❡♥ts ❞❡s ♣r✐♥❝✐♣❛✉① ❝❛♣✲ t❡✉rs ❛❝t✐❢s✱ ❞❡s ❜❡s♦✐♥s ❡t ❝♦♥tr❛✐♥t❡s ❞✬❡①♣❧♦✐t❛t✐♦♥ ❢❡rr♦✈✐❛✐r❡ ❡t ❞❡s ❝♦ûts✱ ♥♦✉s ❛✈♦♥s ❝❤♦✐s✐ ❞✬✉t✐❧✐s❡r ✉♥❡ s❡✉❧❡ ❝❛♠ér❛ ❝♦✉❧❡✉r ❞❛♥s ❧❡ s♣❡❝tr❡ ✈✐s✐❜❧❡✳ ❊♥ ♦✉tr❡✱ ♥♦✉s ❛✈♦♥s ❝❤♦✐s✐ ✉♥❡ ❝❛♠ér❛ ❝♦✉❧❡r ❝❛r✱ ✐❧ ❡st ❡♥✈✐s❛❣❡❛❜❧❡ q✉❡ ❧✬✉t✐❧✐s❛t✐♦♥ ❞❡s ❝❛♠ér❛s ❝♦♥t✐♥✉❡ à s❡ ré♣❛♥❞r❡ ❞❡ ♣❧✉s ❡♥ ♣❧✉s s✉r ❧❡s tr❛✐♥s ♣♦✉r ❞✬❛✉tr❡s ❛♣♣❧✐❝❛t✐♦♥s ❢❡rr♦✈✐❛✐r❡s ❝♦♠♠❡ ❧❛ té❧é✲❝♦♥❞✉✐t❡✱ ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❢❡✉① ❞❡ s✐❣♥❛❧✐s❛t✐♦♥✱ ❧❛ ✈✐❞é♦ s✉r✈❡✐❧❧❛♥❝❡ ❞❡s ♣❛ss❛❣❡s à ♥✐✈❡❛✉✱ ❡t❝✳ ▲❡ ❝❤♦✐① ❞✬✉♥ ❝❛♣t❡✉r ❞❡ ✈✐s✐♦♥ ❡st ♠♦t✐✈é ♣❛r ♣❧✉s✐❡✉rs r❛✐s♦♥s✳ ❚♦✉t ❞✬❛❜♦r❞✱ ✐❧ ♣❡r♠❡t ✉♥❡ ♣❡r❝❡♣t✐♦♥ ❣❧♦❜❛❧❡ ❞❡ ❧❛ s❝è♥❡✱ ét❛♥t ❧❡ s❡✉❧ ❝❛♣t❡✉r ❝❛♣❛❜❧❡ ❞❡ ❢♦✉r♥✐r ❞❡s ✐♥❢♦r♠❛t✐♦♥s à ❧❛ ❢♦✐s s✉r ❧❛ ✈♦✐❡ ❢❡rré❡ ❝♦✉r❛♥t❡✱ ❝♦♠♠❡ ❧❡s ♣❛♥♥❡❛✉① ❡t ❧❡s ❢❡✉① ❞❡ s✐❣♥❛❧✐s❛t✐♦♥✱ ❧❡s ❛✉tr❡s ✈♦✐❡s ❞❡ ❝✐r❝✉❧❛t✐♦♥ ❡t ❧❡s ♦❜st❛❝❧❡s✳ ❉❡ ♣❧✉s✱ ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡ ♣❛r tr❛✐t❡♠❡♥t ❞✬✐♠❛❣❡s ❡st ♣r✐✈✐❧é❣✐é❡✱ ❝❛r s♦♥ ❞é♣❧♦✐❡♠❡♥t s✉r ❞❡s tr❛✐♥s ♥✬❛✉❣♠❡♥t❡r❛ ♣❛s ❞❡ ❢❛ç♦♥ s✐❣♥✐✜❝❛t✐✈❡ ❧❡ ❝♦ût ❣❧♦❜❛❧ ❞✉ s②stè♠❡✳ ❊♥✜♥✱ ✐❧ s✬❛❣✐t ❞✬✉♥ s②stè♠❡ ♣❡✉ ❡♥❝♦♠❜r❛♥t✱ ✐❧ ❛ ✉♥ ❝❛r❛❝tèr❡ ♥♦♥ ✐♥tr✉s✐❢ ❡t ✐❧ ❝♦♥s♦♠♠❡ r❡❧❛t✐✈❡♠❡♥t ♣❡✉ ❞✬é♥❡r❣✐❡✳ ▲❡ s②stè♠❡ ✜♥❛❧ ❞♦✐t êtr❡ ❛ss❡③ r♦❜✉st❡ ♣♦✉r s✬❛❞❛♣t❡r ❛✉① ❞✐✛ér❡♥ts ét❛ts ❡t ❝❤❛♥❣❡♠❡♥ts ❞✬❡♥✈✐r♦♥♥❡♠❡♥t✱ ❞✬é❝❧❛✐r❛❣❡✱ ❛✐♥s✐ q✉✬à ❞❡s ❝♦♥❞✐t✐♦♥s ♠été♦r♦❧♦❣✐q✉❡s ✈❛r✐❛❜❧❡s✳ ❉❡ ♣❧✉s✱ ✐❧ ❞♦✐t êtr❡ ❢♦♥❝t✐♦♥♥❡❧ ❡♥ t✉♥♥❡❧ ♦✉ à ❧✬❡①tér✐❡✉r ❡t é❣❛❧❡♠❡♥t êtr❡ ❝❛♣❛❜❧❡ ❞✬❛❝❝❡♣t❡r ❞❡s ❝❤❛♥❣❡♠❡♥ts r❛♣✐❞❡s ❞❛♥s ❧❛ ❧✉♠✐♥♦s✐té✳ ▲❛ ❞②♥❛♠✐q✉❡ ❡st ❧✬✉♥❡ ❞❡s ♣r✐♥❝✐♣❛❧❡s ❝❛r❛❝tér✐st✐q✉❡s ❞✬✉♥ ❝❛♣t❡✉r ❞✬✐♠❛❣❡s✳ ❊❧❧❡ ❞é✜♥✐t ❡♥ q✉❡❧q✉❡ s♦rt❡ ❧❛ ♣❧❛❣❡ ❞❡ ❧✉♠✐♥♦s✐té q✉❡ ❧❡ ❝❛♣t❡✉r ♣❡✉t ♠❡s✉r❡r✳ ▲❛ ✈❛❧❡✉r ❡①♣r✐♠é❡ ❡♥ ❞❇✱ ❡st ❜❛sé❡ s✉r ❧❡ r❛♣♣♦rt ❡♥tr❡ ❧❛ ♣❧✉s ❢♦rt❡ ❡t ❧❛ ♣❧✉s ❢❛✐❜❧❡ ❧✉♠✐♥♦s✐té✳ ❯♥❡ ❝❛♠ér❛ ✈✐❞é♦ st❛♥❞❛r❞ ♥✬❡st ❝❛♣❛❜❧❡ ❞❡ ❝❛♣t✉r❡r q✉✬✉♥❡ ♣❛rt✐❡ ❞❡ ❧✬✐♥❢♦r♠❛t✐♦♥ ❝♦♥t❡♥✉❡ ❞❛♥s ✉♥❡ s❝è♥❡ ❞❡ ❣❛♠♠❡ ❞②♥❛♠✐q✉❡ é❧❡✈é❡✳ ❈❡♣❡♥❞❛♥t✱ ✉♥ ❝❛♣t❡✉r ❛✈❡❝ ✉♥❡ ❣r❛♥❞❡ ❞②♥❛♠✐q✉❡ ♣❡✉t ❛❝q✉ér✐r ❞❡s ✐♠❛❣❡s ❝♦♥t❡♥❛♥t ❞❡s✷✳✸✳ ▲❡ ❱é❤✐❝✉❧❡ ❆✉t♦♠❛t✐q✉❡ ▲é❣❡r ✿ ❱❆▲ ✷✶ ③♦♥❡s s♦♠❜r❡s ❞❡ ❧❛ ♠ê♠❡ ✐♠❛❣❡ s❛♥s êtr❡ é❜❧♦✉✐ ♣❛r ❧❛ ❢♦rt❡ ❧✉♠✐♥♦s✐té✳ ❯♥ ❝❛♣t❡✉r ❞❡ ✻✵ ❞❇✱ ♣❛r ❡①❡♠♣❧❡✱ ♣❡✉t ❛❝q✉ér✐r ❧✬✐♠❛❣❡ ❞✬✉♥❡ s❝è♥❡ ❞❛♥s ❧❛q✉❡❧❧❡ ❧❛ ❧✉♠✐♥♦s✐té ♠❛①✐♠❛❧❡ ❡st ✶✵✵✵ ❢♦✐s ♣❧✉s ❢♦rt❡ q✉❡ ❧❛ ✈❛❧❡✉r ♣❧✉s ❢❛✐❜❧❡ ✭20 × log 1000 = 60 dB✮ ▲❛ stéré♦✈✐s✐♦♥ ❛ été é❝❛rté❡✱ ❡♥ r❛✐s♦♥ ❞❡ s♦♥ ❝♦ût ❡t ❝❛r ❧❛ r❡❝♦♥str✉❝t✐♦♥ ✸❉ ❞❡ ❧❛ s❝è♥❡ ♥❡ ♥♦✉s ❛ ♣❛s s❡♠❜❧é ✐♥❞✐s♣❡♥s❛❜❧❡ ♣♦✉r ❞ét❡❝t❡r ❧❡s ♦❜st❛❝❧❡s✳ ❉❡ ♣❧✉s✱ s♦♥ ét❛❧♦♥♥❛❣❡ ❡t s♦♥ ❡♥tr❡t✐❡♥ ✐♥❞✉✐s❡♥t ✉♥ s✉r✲❝♦ût s✉♣♣❧é♠❡♥t❛✐r❡✳ ▲✬❛♣♣r♦❝❤❡ ♠♦♥♦✈✐s✐♦♥ ❝♦♥s✐st❡ ❡♥ ✉♥❡ ✐♥t❡r♣rét❛t✐♦♥ ❞❡ ❧✬✐♠❛❣❡ ❛✈❡❝ ✉♥❡ ❝♦♥♥❛✐ss❛♥❝❡ ❛ ♣r✐♦r✐ ❞❡ ❝❡ q✉✬❡st ✉♥ ♦❜st❛❝❧❡ ✭❣é♥ér❛❧❡♠❡♥t ✉♥ ✈é❤✐❝✉❧❡ ♦✉ ♣✐ét♦♥✮ ❡t ♥♦♥ ✉♥❡ r❡❝♦♥str✉❝t✐♦♥ ✸❉ ❞❡ ❧✬❡♥✈✐r♦♥♥❡♠❡♥t✳ ✷✳✸ ▲❡ ❱é❤✐❝✉❧❡ ❆✉t♦♠❛t✐q✉❡ ▲é❣❡r ✿ ❱❆▲ ❈❡tt❡ ❜rè✈❡ ❞❡s❝r✐♣t✐♦♥ ♣❡r♠❡ttr❛ ❞❡ r❡❝❡♥s❡r ❧❡s ♣r✐♥❝✐♣❛✉① s②stè♠❡s ❡t ❧✬éq✉✐♣❡♠❡♥t ❞❡s tr❛✐♥s ❱❆▲ ❡t ❝♦♠♣r❡♥❞r❡ ❧❡s ❜❡s♦✐♥s ❡t ❝♦♥tr❛✐♥t❡s ❞✉ s②stè♠❡ à ❞é✈❡❧♦♣♣❡r✳ ▲❛ ❝❛r❛❝tér✐st✐q✉❡ ♣r✐♥❝✐♣❛❧❡ ❞✉ ❱❆▲ ❡st ❞✬❛tt❡✐♥❞r❡✱ ❡♥ s✐t❡ ♣r♦♣r❡✱ ✉♥❡ ✈✐t❡ss❡ ❝♦♠♠❡r❝✐❛❧❡ ✭✈✐t❡ss❡ ♠♦②❡♥♥❡✱ ✉t✐❧❡ à ❧✬✉s❛❣❡r t❡♥❛♥t ❡♥ ❝♦♠♣t❡ ❧❛ ✈✐t❡ss❡ ❞❡ ♣♦✐♥t❡ ❡t ❧❡s ❛rrêts ❡♥ st❛t✐♦♥s✮ ❞❡ 35 km/h à ✉♥❡ ❢réq✉❡♥❝❡ é❧❡✈é❡ ✭❥✉sq✉✬à ✶ ♠✐♥✉t❡✮✳ ❙♦♥ ❣❛❜❛r✐t q✉✐ ❛✉t♦r✐s❡ ✉♥❡ ✐♥s❡rt✐♦♥ ❛✐sé❡ ❡♥ ♠✐❧✐❡✉ ✉r❜❛✐♥✱ ❛✈❡❝ ❞❡s ✈✐❛❞✉❝s étr♦✐ts✱ ❞❡s tr❛♥❝❤é❡s ❡t ❞❡s t✉♥♥❡❧s ré❞✉✐ts✳ ▲❡ r♦✉❧❡♠❡♥t s✉r ♣♥❡✉ ❛♠❡♥✉✐s❡ ❜r✉✐t ❡t ✈✐❜r❛t✐♦♥s ❡t ♣❡r♠❡t ❞❡ ❣r❛✈✐r ❞❡s ♣❡♥t❡s ❥✉sq✉✬à ✶✷ ✪ ❬❱❡r❤✐❧❧❡ ✷✵✵✼❪✳ ✷✳✸✳✶ ❈♦♠♣♦s✐t✐♦♥ ❞✬✉♥ ✈é❤✐❝✉❧❡ ▲❛ ❧♦♥❣✉❡✉r t♦t❛❧❡ ❞✉ ❱❆▲ ❡st ❞❡ 26, 14 m ♣♦✉r ✉♥❡ ❧❛r❣❡✉r ❞❡ 2, 08 m ❡t ✉♥❡ ❤❛✉t❡✉r ❞❡ 3, 275 m✳ ■❧ ❡st ❝♦♠♣♦sé ❞❡ ❞❡✉① ✈♦✐t✉r❡s ♥♦♥ s❝✐♥❞❛❜❧❡s s✉♣♣♦rté❡s ❝❤❛❝✉♥❡ ♣❛r ❞❡✉① ❡ss✐❡✉① ♠♦t❡✉rs✳ ▲❡s ✜❣✉r❡s ✷✳✸ ❡t ✷✳✹ ♠♦♥tr❡♥t ❧❡s ❞✐✛ér❡♥t❡s ❝♦t❡s ❞✉ tr❛✐♥✳ ❋✐❣✉r❡ ✷✳✸ ✕ P❧❛♥ ❞ét❛✐❧❧é ❞❡ ❧❛ ✈✉❡ ❧❛tér❛❧❡ ❞✉ ❱❆▲ ✷✵✽ ▲❡ r♦✉❧❡♠❡♥t ❞✉ ❱❆▲ ❡st ❝♦♠♣♦sé ❞❡ ❞❡✉① ❡ss✐❡✉① ♣❛r ✈♦✐t✉r❡✱ sé♣❛rés ❞❡ 10 m✱ ❞♦♥t ❧❡s r♦✉❡s ♣♦rt❡✉s❡s s♦♥t à ❡♥✈❡❧♦♣♣❡ ♣♥❡✉♠❛t✐q✉❡ ❡t r♦✉❧❡♥t s✉r ✉♥❡ ♣✐st❡ ❞❡ r♦✉❧❡♠❡♥t s♣é❝✐✜q✉❡ ❞♦♥t ❧❛ ❧❛r❣❡✉r ❡st ❛❞❛♣té❡ à ❝❡❧❧❡ ❞❡s ♣♥❡✉♠❛t✐q✉❡s✳ ❈❤❛q✉❡ ❡ss✐❡✉ s❡ ❝♦♠♣♦s❡ ❞❡ ✿ ✕ ❞❡✉① r♦✉❡s ♣♦rt❡✉s❡s✱ ✕ ✉♥ ♣♦♥t ré❞✉❝t❡✉r ❞✐✛ér❡♥t✐❡❧✱ ✕ ❞❡✉① ❞✐sq✉❡s ❞❡ ❢r❡✐♥✱ ✕ q✉❛tr❡ r♦✉❡s ❤♦r✐③♦♥t❛❧❡s ❞❡ ❣✉✐❞❛❣❡✳ ▲❡ ❣✉✐❞❛❣❡ ❡♥ ❧✐❣♥❡ ❡st ❛ss✉ré ♣❛r ❧❡s r♦✉❡s ❞❡ ❣✉✐❞❛❣❡ ♠♦♥té❡s ❛✉① q✉❛tr❡ ❡①tré♠✐tés ❞✉ ❝❛❞r❡ ❞❡ ❣✉✐❞❛❣❡✳ P♦✉r ❝❡❧❛✱ t♦✉t ❛✉ ❧♦♥❣ ❞❡ ❧❛ ♣✐st❡✱ ❡♥ ♣❧✉s ❞❡s ❞❡✉① ♣✐st❡s ❞❡ r♦✉❧❡♠❡♥t✱ ✐❧ ❡①✐st❡ ❞❡✉①✷✷ ❈❤❛♣✐tr❡ ✷✳ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ ❋✐❣✉r❡ ✷✳✹ ✕ P❧❛♥ ❞ét❛✐❧❧é ❞❡ ❧❛ ✈✉❡ ❢r♦♥t❛❧❡ ❞✉ ❱❆▲ ✷✵✽ r❛✐❧s ❞❡ ❣✉✐❞❛❣❡✳ ❊♥ ❧✬❛❜s❡♥❝❡ ❞❡s r❛✐❧s ❞❡ ❣✉✐❞❛❣❡✱ ❝❡ q✉✐ ❛rr✐✈❡ ❧♦rs ❞❡s ❝❤❛♥❣❡♠❡♥ts ❞❡ ❞✐r❡❝t✐♦♥ s✉r ❧❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ✭❛✐❣✉✐❧❧❛❣❡s✮✱ ❧❡ ❣✉✐❞❛❣❡ ❡st ❛ss✉ré ♣❛r ❞❡✉① ❣❛❧❡ts s✐t✉és ❧✬✉♥ à ❧✬❛✈❛♥t ❡t ❧✬❛✉tr❡ à ❧✬❛rr✐èr❡ ❞❡ ❝❤❛q✉❡ ❡ss✐❡✉✳ ❈❡s ❣❛❧❡ts s✬✐♥sèr❡♥t ❞❛♥s ✉♥ r❛✐❧ ❝❡♥tr❛❧ ❞❡ ❣✉✐❞❛❣❡ ❝♦♠♣♦sé ❞✬✉♥❡ ♦r♥✐èr❡ ❞❛♥s ❧✬❛①❡ ❞❡ ❧❛ ✈♦✐❡✳ ❯♥❡ ❡①♣❧✐❝❛t✐♦♥ ♣❧✉s ❞ét❛✐❧❧é❡ ❞❡s ❛✐❣✉✐❧❧❛❣❡s s❡r❛ ❡①♣♦sé❡ ❞❛♥s ❧❡ ❝❤❛♣✐tr❡ ✹✳ ✷✳✸✳✷ ❈❛r❛❝tér✐st✐q✉❡s ▲❡ tr❛❝é ❞❡ ❧❛ ✈♦✐❡ ❡st ❝♦♥st✐t✉é ❞✬✉♥❡ s✉❝❝❡ss✐♦♥ ❞✬❛❧✐❣♥❡♠❡♥ts ❞r♦✐ts ❡t ❞✬❛r❝ ❞❡ ❝❡r❝❧❡ ❞❡ r❛②♦♥ ♠✐♥✐♠✉♠ ✶✺✵ ♠ètr❡s ❡♥ ❧✐❣♥❡ ✭s❛✉❢ ❝❛s ♣❛rt✐❝✉❧✐❡r✮ ❡t ❞❡ ✹✵ ♠ètr❡s ❡♥ ③♦♥❡ ❞❡ ❣❛r❛❣❡ ❛t❡❧✐❡r✳ ▲❡ tr❛❝é ❡st ❞é✜♥✐ ❛✈❡❝ ❧❡s ❝♦♥❞✐t✐♦♥s ❞❡ ❝♦♥❢♦rt s✉✐✈❛♥t❡s ✿ ✕ ▲❡ r❛②♦♥ ❞❡ ❝♦✉r❜✉r❡ ❤♦r✐③♦♥t❛❧ ♠✐♥✐♠❛❧ s✉r ❧❛ ❧✐❣♥❡ ✭❝♦✉r❜✉r❡ ❞❡ ❧❛ ✈♦✐❡✮ ❡st ❞❡ 40 m✳ ✕ ▲❡ r❛②♦♥ ✈❡rt✐❝❛❧ ♠✐♥✐♠❛❧ s✉r ❧❛ ❧✐❣♥❡ ❡st ❞❡ 600 m ❡t ❧❛ ♣❡♥t❡ ♠❛①✐♠❛❧❡ ❞❡ 7%✳ ✕ ▲❡ ❞é✈❡rs ❞❡ ❧❛ ✈♦✐❡ ✈❛ ❞❡ 0% à 13% ❛✈❡❝ ✉♥❡ ✈❛r✐❛t✐♦♥ ❞✉ ❞é✈❡rs ♠❛①✐♠❛❧❡ ❞❡ 0, 55%/m✳ ✕ ❱❛r✐❛t✐♦♥ ♥♦r♠❛❧❡ ❞✉ ❞é✈❡rs ❁ ✹ ✪✴s ✕ ■❧ ❡①✐st❡ ❞✐✛ér❡♥ts t②♣❡s ❞✬❛✐❣✉✐❧❧❛❣❡s ✭❝♦♥✈❡r❣❡♥ts ❡t ❞✐✈❡r❣❡♥ts q✉✐ ♣❡✉✈❡♥t êtr❡ ❛ss♦❝✐és ❡♥ ✧❝÷✉r✲❝r♦✐sé✧✮ ❞♦♥t ✐❧ ❢❛✉t t❡♥✐r ❝♦♠♣t❡✳ ✕ ▲❛ ✈♦✐❡ ♣❡✉t êtr❡ ✉♥✐q✉❡ ♦✉ ❞♦✉❜❧❡✳ ❆♣rès ❛✈♦✐r ❛♥❛❧②sé ❧❡s s♣é❝✐✜❝✐tés ❢❡rr♦✈✐❛✐r❡s ❡t ❧❡ ♠étr♦ ❧é❣❡r ❱❆▲✱ s❡s ♣r✐♥❝✐♣❛❧❡s ❝❛r❛❝tér✐s✲ t✐q✉❡s ❞❡ ❢♦♥❝t✐♦♥♥❡♠❡♥t s♦♥t ❧❡s s✉✐✈❛♥t❡s ✿ ✕ ▲❛ ♣❧❛❣❡ ❞❡ ❞é❝é❧ér❛t✐♦♥ ❡♥ ❢r❡✐♥❛❣❡ ❞✬✉r❣❡♥❝❡ ❣❛r❛♥t✐❡ ❡st ❞❡ 1.8 à 2.4 m/s2 ✳ ✕ ▲❛ ♣❧❛❣❡ ❞❡ ✈✐t❡ss❡ ❞✉ ✈é❤✐❝✉❧❡ ✈❛ ❞❡ 0 à 80 km/h✳ ✕ ▲❡s ✈✐t❡ss❡s ♠♦②❡♥♥❡s ❡♥ ❡①♣❧♦✐t❛t✐♦♥ s♦♥t ❞❡ 25 km/h ❞❛♥s ❧❡s ❛ér♦♣♦rts ❡t ❞❡ 36 km/h ❞❛♥s ❧❡s ✈✐❧❧❡s✳ ✕ P♦✉r ✉♥❡ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ❧❛ ✈♦✐❡ ✭❛✈❛♥t ♦✉✈❡rt✉r❡ ❞❡ ❧❛ ❧✐❣♥❡ ❧❡ ♠❛t✐♥✮ ❧❡ t♦✉r ❞❡ ❧❛ ❧✐❣♥❡ ❡st ❡✛❡❝t✉é à 10 m/s ✭36 km/h✮✳ ✕ ▲❛ ✈✐t❡ss❡ ❞❡ ❢♦♥❝t✐♦♥♥❡♠❡♥t ❡♥ ♠♦❞❡ ❞é❣r❛❞é ❡♥ ❝♦♥❞✉✐t❡ ♠❛♥✉❡❧❧❡ ❡st ❧✐♠✐té❡ à 18 km/h✳ P♦✉r ❧❡s ♥♦✉✈❡❧❧❡s ✐♥st❛❧❧❛t✐♦♥s ❝❡tt❡ ✈✐t❡ss❡ ❡st ❧✐♠✐té❡ à 8 km/h✳ ✕ ▲❡ r♦✉❧✐s ❞❡ ❧❛ ❝❛✐ss❡ ♦s❝✐❧❧❡ ❡♥tr❡ +/−3 ◦ ✱ ♠❛✐s ❡♥ ❢♦♥❝t✐♦♥♥❡♠❡♥t ♥♦r♠❛❧ ❧❛ ✈✐t❡ss❡ ❛♥❣✉❧❛✐r❡ ❞✉ r♦✉❧✐s ❡st ❧✐♠✐té❡ à < 2 ◦/s✳✷✳✸✳ ▲❡ ❱é❤✐❝✉❧❡ ❆✉t♦♠❛t✐q✉❡ ▲é❣❡r ✿ ❱❆▲ ✷✸ ✕ ▲❡ t❛♥❣❛❣❡ ❞❡ ❧❛ ❝❛✐ss❡ ♦s❝✐❧❧❡ ❡♥tr❡ +/−5 ◦ ✱ ♠❛✐s ❡♥ ❢♦♥❝t✐♦♥♥❡♠❡♥t ♥♦r♠❛❧ ❧❛ ✈✐t❡ss❡ ❛♥❣✉❧❛✐r❡ ❞✉ t❛♥❣❛❣❡ ❡st ❧✐♠✐té❡ à < 2 ◦/s✳ ✕ ▲❡ ❧❛❝❡t ❞❡ ❧❛ ❝❛✐ss❡ ♦s❝✐❧❧❡ ❡♥tr❡ +/ − 0, 2 ◦ ✳ ✷✳✸✳✸ ▼♦❞è❧❡ ❞✉ ✈é❤✐❝✉❧❡ ▲❛ ♠♦❞é❧✐s❛t✐♦♥ ❞②♥❛♠✐q✉❡ ❞✬✉♥ ✈é❤✐❝✉❧❡ ❡st ✉♥❡ ét❛♣❡ ✐♠♣♦rt❛♥t❡ ♣♦✉r ❧❛ ❝♦♥❝❡♣t✐♦♥ ❞✉ s②s✲ tè♠❡ ❞❡ ❝♦♥trô❧❡✳ ▲❛ ❞②♥❛♠✐q✉❡ ❞✬✉♥ ✈é❤✐❝✉❧❡ ❡st ✉♥ s②stè♠❡ ❝♦♠♣❧❡①❡ ❡t ❞é♣❡♥❞❛♥t ❞❡s ♥♦♠❜r❡✉① ♣❛r❛♠ètr❡s✳ ❉❡ ❢❛ç♦♥ s✐♠♣❧✐✜é❡✱ ❧❡ ♠♦❞è❧❡ ❞é♣❡♥❞ ❞❡s ❢♦r❝❡s ❝réés ❡♥tr❡ ❧❡s r♦✉❡s ❡t ❧❡ s♦❧ ❡t ❧❡s ❞✐✛ér❡♥t❡s ♣✐è❝❡s ♠é❝❛♥✐q✉❡s ❞✉ ✈é❤✐❝✉❧❡✳ ❊♥ t❡♥❛♥t ❝♦♠♣t❡ ❞✉ ❝♦♥t❡①t❡ ❞❡ ♥♦tr❡ ét✉❞❡✱ à s❛✈♦✐r ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ♣❛r ✈✐s✐♦♥ ❝❡ r❛♣♣♦rt ♥❡ ❝❤❡r❝❤❡ ♣❛s à ♠♦❞é❧✐s❡r ❞❡ ❢❛ç♦♥ ❞ét❛✐❧❧é❡ ❧❛ ❞②♥❛♠✐q✉❡ ❞✉ ✈é❤✐❝✉❧❡✱ ♠❛✐s à ♦❜t❡♥✐r ✉♥❡ r❡❧❛t✐♦♥ ❡♥tr❡ ❧❡s ♣♦s✐t✐♦♥s ré❡❧❧❡s ❞❡s ♦❜st❛❝❧❡s ❡t ❧❡✉rs ♣♦s✐t✐♦♥s ❞❛♥s ❧✬✐♠❛❣❡✳ P♦✉r ❝❡❧❛✱ ❧❡s ♠♦✉✈❡♠❡♥ts r❡❧❛t✐❢s ❞❡ ❧❛ ❝❛✐ss❡ ✭❧❛❝❡t✱ r♦✉❧✐s✱ t❛♥❣❛❣❡✮ q✉✐ ♣♦rt❡ ❧❛ ❝❛♠ér❛ ♣❛r r❛♣♣♦rt à ❧✬❡ss✐❡✉ ❞♦✐✈❡♥t êtr❡ ♣r✐s ❡♥ ❝♦♠♣t❡✳ P✉✐sq✉❡ ❧❡s ✈✐❜r❛t✐♦♥s ❛✉①q✉❡❧❧❡s ❡st s♦✉♠✐s ❧❡ tr❛✐♥ s♦♥t ❢❛✐❜❧❡s✱ ♥♦✉s ♣♦✉✈♦♥s ❢❛✐r❡ ❧✬❤②♣♦t❤ès❡ q✉❡ ❧✬❛①❡ ❞❡ ❧✬❡ss✐❡✉ ❡t ❝❡❧✉✐ ❞❡ ❧❛ ❝❛♠ér❛ s♦♥t ♣❡r♣❡♥❞✐❝✉❧❛✐r❡s✳ ❯♥❡ r❡♣rés❡♥t❛t✐♦♥ ❞❡ ❝❡s ❛①❡s ❡st ♠♦♥tré❡ ❞❛♥s ❧❛ ✜❣✉r❡ ✷✳✺ ❬❘♦ss ✷✵✶✷❪✳ ❋✐❣✉r❡ ✷✳✺ ✕ ▼♦❞è❧❡ ❞✉ ✈é❤✐❝✉❧❡ ✈❛❧ ❡t ❛①❡s ❞❡s ❡ss✐❡✉① ❡t ❞❡ ❧❛ ❝❛♠ér❛ ➚ ♣❛rt✐r ❞✉ ♠♦❞è❧❡ ♣rés❡♥té✱ ✐❧ ❡st ♣♦ss✐❜❧❡ ❞❡ ❞é♠♦♥tr❡r q✉❡ ❧✬❛①❡ ❞✬♦r✐❡♥t❛t✐♦♥ ❞❡ ❧❛ ❝❛✐ss❡ ❞✉ tr❛✐♥ ❡st ❞é✜♥✐ ♣❛r ❧❡ ✈❡❝t❡✉r t~1 − t~2✳ ▲❡s ✈❡❝t❡✉rs t~1,t~2 r❡♣rés❡♥t❡♥t ❧❛ ♣♦s✐t✐♦♥ ❞❡ ❧✬❡ss✐❡✉ ❛✈❛♥t ❡t ❞❡ ❧✬❡ss✐❡✉ ❛rr✐èr❡ ♣❛r r❛♣♣♦rt ❛✉ r❡♣èr❡ ❣❧♦❜❛❧ ❞❡ ❧❛ s❝è♥❡✳ ❉❛♥s ❧❡s ✈✐r❛❣❡s✱ ✐❧ ❡①✐st❡ ✉♥ ❛♥❣❧❡ ✭θcaisse✮ ❡♥tr❡ ❧✬❛①❡ ❞❡ ❧❛ ❝❛✐ss❡ ❡t ❝❡❧✉✐ ❞❡ ❧❛ ✈♦✐❡ ❛✉ ❞r♦✐t ❞✉ ♣✐✈♦t ❞✬❡ss✐❡✉✳ θcaisse ❡st ❞é✜♥✐ ♣❛r ❧✬éq✉❛t✐♦♥ ✷✳✶✳ ➚ ❝❤❛q✉❡ ✐♥st❛♥t✱ ✐❧ ❢❛✉t t❡♥✐r ❝♦♠♣t❡ ❞❡ ❝❡t ❛♥❣❧❡ ♣♦✉r ♣♦✉✈♦✐r r❡❧✐❡r ❧❡s ✐♠❛❣❡s ❞❡ ❧❛ ❝❛♠ér❛ à s❛ ♣r♦❥❡❝t✐♦♥ ❞❛♥s ❧❡ ♠♦♥❞❡ ré❡❧✳ θcaisse = θT − ∠(t~1 − t~2) ✭✷✳✶✮ ♦ù θT r❡♣rés❡♥t❡ ❧✬❛♥❣❧❡ ❞❡ t~1✳✷✹ ❈❤❛♣✐tr❡ ✷✳ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ ✷✳✹ ➱t❛❧♦♥♥❛❣❡ ▲✬ét❛❧♦♥♥❛❣❡ ❞❡ ❧❛ ❝❛♠ér❛ ❡st ✉♥❡ ❞❡s ♣r❡♠✐èr❡s ét❛♣❡s ❞❡ ❧❛ ✈✐s✐♦♥ ♣❛r ♦r❞✐♥❛t❡✉r s✉rt♦✉t ❧♦rsq✉❡ ❞❡s ♠❡s✉r❡s ❞❡ ❞✐st❛♥❝❡s ♣ré❝✐s❡s s♦♥t ♥é❝❡ss❛✐r❡s✳ ❉❡s ❡①❡♠♣❧❡s ❞✬❛♣♣❧✐❝❛t✐♦♥s s♦♥t ✿ ❧❛ r❡❝♦♥str✉❝t✐♦♥ ❞❡♥s❡ ❞❡s ♣♦✐♥ts à ♣❛rt✐r ❞❡ ❧❛ stéré♦✈✐s✐♦♥ ❬❑♦❧♠♦❣♦r♦✈ ✫ ❩❛❜✐❤ ✷✵✵✷❪✱ ❧✬✐♥s♣❡❝t✐♦♥ ✈✐s✉❡❧❧❡ ❬▼❛r ❡t ❛❧✳ ✷✵✶✶❪✱ ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ❞✬♦❜❥❡ts ❬▲❡❢❛✉❞❡✉① ✫ ◆❛s❤❛s❤✐❜✐ ✷✵✶✷❪ ♦✉ ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ ❞❛♥s ❧✬❡s♣❛❝❡ ❬▲✐✉ ❡t ❛❧✳ ✶✾✾✵❪✳ ❈❡t ét❛❧♦♥♥❛❣❡ ♣❡✉t êtr❡ ❞✐✈✐sé ❡♥ ❞❡✉① ♣❤❛s❡s✳ ▲❛ ♣r❡♠✐èr❡ ❡st ❧❛ ♠♦❞é❧✐s❛t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ ❡♥ ❛♣♣r♦①✐♠❛♥t ♠❛t❤é♠❛t✐q✉❡♠❡♥t ❧❡ ♠♦❞è❧❡ ♣❤②s✐q✉❡ ❡t ♦♣t✐q✉❡✱ ❡t ❧❛ ❞❡✉①✐è♠❡ ❝♦♥s✐st❡ à ❡st✐♠❡r ❧❡s ✈❛❧❡✉rs ❞❡ ❝❡ ♠♦❞è❧❡✳ ✷✳✹✳✶ ▼♦❞é❧✐s❡r ✉♥❡ ❝❛♠ér❛ ▲❛ ♠♦❞é❧✐s❛t✐♦♥ ❞✬✉♥❡ ❝❛♠ér❛ ❡st ❜❛sé❡ s✉r ❧❛ ❞é✜♥✐t✐♦♥ ❞✬✉♥ ❡♥s❡♠❜❧❡ ❞❡ ♣❛r❛♠ètr❡s q✉✐ s❡ r❛♣♣r♦❝❤❡ ❧❡ ♣❧✉s ♣♦ss✐❜❧❡ ❞✉ ❝♦♠♣♦rt❡♠❡♥t ♣❤②s✐q✉❡ ❞✉ ❝❛♣t❡✉r à ❧✬❛✐❞❡ ❞✬✉♥ ♠♦❞è❧❡ ❣é♦♠étr✐q✉❡✳ ◆♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ❧❡ ✓♠♦❞è❧❡ sté♥♦♣é✔✱ ❞✉ ♥♦♠ ❞✉ s✐♠♣❧❡ ❞✐s♣♦s✐t✐❢ ♦♣t✐q✉❡ ✭❡♥ ❛♥❣❧❛✐s ✿ ♣✐♥❤♦❧❡✮✱ ❝❛r ✐❧ ♣❡r♠❡t ❞❡ ♠♦❞é❧✐s❡r ✉♥ ❛♣♣❛r❡✐❧ ♣❤♦t♦❣r❛♣❤✐q✉❡ ❡t ❝✬❡st ❧❡ ♣❧✉s ❝♦✉r❛♠♠❡♥t ✉t✐❧✐sé ❬❉♦♠✐♥✐q✉❡ ✫ ❊r✐❝ ✶✾✾✽❪✳ ▲❡ ♠♦❞è❧❡ ❣é♦♠étr✐q✉❡ sté♥♦♣é ✭✜❣✉r❡ ✷✳✻✮ ❡st ❝♦♥st✐t✉é ❞✬✉♥ ♣❧❛♥✱ ❛♣♣❡❧é ✓♣❧❛♥ ✐♠❛❣❡✔✱ s✉r ❧❡q✉❡❧ ❧✬✐♠❛❣❡ s❡ ❢♦r♠❡ s✉✐t❡ à ✉♥❡ ♣r♦❥❡❝t✐♦♥ ♣❡rs♣❡❝t✐✈❡✳ ❯♥ ♣♦✐♥t Oc✱ ♣❧❛❝é à ✉♥❡ ❞✐st❛♥❝❡ ✜①❡ f ♦✉ ❢♦❝❛❧❡ ❞✉ ♣❧❛♥ ✐♠❛❣❡✱ ❡st ❛♣♣❡❧é ❧❡ ❝❡♥tr❡ ♦♣t✐q✉❡ ✭♦✉ ♣♦✐♥t ❢♦❝❛❧✮ ❡t ❡st t❡❧ q✉❡ ❧❡s r❛②♦♥s ❞❡ ❧✉♠✐èr❡ r❡✢étés ♣❛r ❧❡s ♦❜❥❡ts ♣❛ss❡♥t ♣❛r ❝❡ ♣♦✐♥t✱ ❢♦r♠❛♥t ✉♥❡ ✐♠❛❣❡ ♣❡rs♣❡❝t✐✈❡ ❞❡ ❧❛ s❝è♥❡ s✉r ❧❡ ♣❧❛♥ ✐♠❛❣❡✳ ❋✐❣✉r❡ ✷✳✻ ✕ ■❧❧✉str❛t✐♦♥ ❞✉ ♠♦❞è❧❡ sté♥♦♣é✳ ▲❡s ❝❛♠ér❛s s♦♥t ❝❛r❛❝tér✐sé❡s ♣❛r ❞❡✉① ❣r♦✉♣❡s ❞❡ ♣❛r❛♠ètr❡s✱ ❞✬✉♥ ❝ôté ❧❡s ♣❛r❛♠ètr❡s ✐♥✲ tr✐♥sèq✉❡s✱ q✉✐ ♠♦❞é❧✐s❡♥t ❧❛ ❣é♦♠étr✐❡ ✐♥t❡r♥❡ ❡t ❧❡s ❝❛r❛❝tér✐st✐q✉❡s ♦♣t✐q✉❡s ❞❡ ❧❛ ❝❛♠ér❛ ✭❢♦❝❛❧❡✱ ❢❛❝t❡✉rs ❞✬❛❣r❛♥❞✐ss❡♠❡♥t✱ ❞✐st♦rs✐♦♥ ❞❡ ❧❛ ❧❡♥t✐❧❧❡✱ ❡t❝✳✮ ❡t ❞❡ ❧✬❛✉tr❡ ❧❡s ♣❛r❛♠ètr❡s ❡①tr✐♥sèq✉❡s q✉✐ ❧✐❡♥t ♣♦s✐t✐♦♥ ❡t ♦r✐❡♥t❛t✐♦♥ ❞✉ ❝❡♥tr❡ ♦♣t✐q✉❡ ❞❡ ❧❛ ❝❛♠ér❛ ✭r❡♣èr❡ ❞✉ ❝❛♣t❡✉r✮ ❛✉ r❡♣èr❡ ❞✉ s②stè♠❡ ❣❧♦❜❛❧ ❧♦❝❛❧✐sé ❞❡ ❧❛ s❝è♥❡✳ ❈❡s ❞❡r♥✐❡rs ♣❡r♠❡tt❡♥t ❞❡ ❧♦❝❛❧✐s❡r ❧❛ ❝❛♠ér❛ ❞❛♥s ❧✬❡♥✈✐r♦♥♥❡♠❡♥t ❡t s♦♥t ❝♦♠♣♦sés ❞❡ tr♦✐s ♣❛r❛♠ètr❡s ♣♦✉r ♠♦❞é❧✐s❡r ❧❛ tr❛♥s❧❛t✐♦♥ (Tx, Ty, Tz) ❡♥tr❡ Oc ✭r❡♣èr❡ ❞❡ ❧❛✷✳✹✳ ➱t❛❧♦♥♥❛❣❡ ✷✺ ❝❛♠ér❛✮ ❡t Ow ✭r❡♣èr❡ ❞❡ ❧❛ s❝è♥❡✮ ❡t tr♦✐s ♣♦✉r ❧❛ r♦t❛t✐♦♥ (α, β, γ)✳ ❉❛♥s ♥♦tr❡ ❝❛s✱ ❧❡ r❡♣èr❡ ❞❡ ❧❛ s❝è♥❡ ❡st ♣❧❛❝é ❞❛♥s ❧❡ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t ❡t ❝❡♥tré s✉r ❧✬❛①❡ ❞❡ ❧❛ ✈♦✐❡ ❡t ❧❛ ❝❛♠ér❛ ❡st ♣❧❛❝é❡ ❞❡rr✐èr❡ ❧❡ ♣❛r❡✲❜r✐s❡ à ❧✬❛✈❛♥t ❞✉ tr❛✐♥ ❝♦♠♠❡ ♣rés❡♥té ❞❛♥s ❧❛ ✜❣✉r❡ ✷✳✼✳ ❖♥ r❛♣♣❡❧❧❡ q✉✬ét❛♥t ❞♦♥♥é ❧❡ ♠♦❞è❧❡ sté♥♦♣é ❞✬✉♥❡ ❝❛♠ér❛✱ ❧❛ r❡❧❛t✐♦♥ ❡♥tr❡ ❧❡s ❝♦♦r❞♦♥♥é❡s ❤♦♠♦❣è♥❡s ❞✉ ♣♦✐♥t P s✉r ❧✬✐♠❛❣❡ ❡t s❡s ❝♦♦r❞♦♥♥é❡s ❤♦♠♦❣è♥❡s ❞❛♥s ❧❡ r❡♣èr❡ ❞❡ ❧❛ s❝è♥❡ ✭Ow✮ s✬❡①✲ ♣r✐♠❡r❛ ♣❛r ❧✬éq✉❛t✐♦♥ ✷✳✷✳ ▲❛ ♣r❡♠✐èr❡ ♠❛tr✐❝❡ A ❡①♣r✐♠❡ ❧✬✐♥té❣r❛❧✐té ❞❡s ♣❛r❛♠ètr❡s ✐♥tr✐♥sèq✉❡s ❞✉ ❝❛♣t❡✉r ❝❛♠ér❛✱ ❡t ❧❛ s❡❝♦♥❞❡ B ❡①♣r✐♠❡ ❧✬✐♥té❣r❛❧✐té ❞❡s ♣❛r❛♠ètr❡s ❡①tr✐♥sèq✉❡s✳   su sv s   =   αu 0 u0 0 0 αv v0 0 0 0 1 0   | {z } A  R T 0 1 | {z } B   X Y Z 1   ✭✷✳✷✮ ❆✈❡❝ ✿ ✕ (X, Y, Z, 1)✱ ❧❡s ❝♦♦r❞♦♥♥é❡s ❤♦♠♦❣è♥❡s ❞✉ ♣♦✐♥t P ❞❛♥s ❧❡ r❡♣èr❡ Ow✳ ✕ R✱ ❧❛ ♠❛tr✐❝❡ ❞❡ r♦t❛t✐♦♥ ❡♥tr❡ ❧❡ r❡♣èr❡ ❞❡ ❧❛ s❝è♥❡ ❡t ❧❛ ❝❛♠ér❛✳ ✕ T✱ ❧❡ ✈❡❝t❡✉r ❞❡ tr❛♥s❧❛t✐♦♥ ❡♥tr❡ ❧❛ ré❢ér❡♥❝❡ ❞❡ ❧❛ s❝è♥❡ ❡t ❧❛ ré❢ér❡♥❝❡ ❞❡ ❧❛ ❝❛♠ér❛✳ ✕ A✱ ❧❛ ♠❛tr✐❝❡ ❞❡ ♣r♦❥❡❝t✐♦♥ ❞❡ ♣❡rs♣❡❝t✐✈❡✳ ❊❧❧❡ ❡①♣r✐♠❡ ❧❛ tr❛♥s❢♦r♠❛t✐♦♥ ❡♥tr❡ ❧❡ r❡♣èr❡ ❞❡ ❧❛ ❝❛♠ér❛ ❡t ❝❡❧✉✐ ❞❡ ❧✬✐♠❛❣❡✳ ✕ (u0, v0)✱ ♣r♦❥❡té ❞✉ ❝❡♥tr❡ ♦♣t✐q✉❡ Oc s✉r ❧❡ ♣❧❛♥ ✐♠❛❣❡✱ ❡①♣r✐♠é ❡♥ ♣✐①❡❧s✳ ✕ αu, αv ❞é✜♥✐s ❝♦♠♠❡ s✉✐t ✿ αu = f · ku ❡t αv = f · kv ♦ù ku ❡t kv s♦♥t ❧❡ ❢❛❝t❡✉r ❞✬é❝❤❡❧❧❡ ❤♦r✐③♦♥t❛❧ ❡t ✈❡rt✐❝❛❧ (pixels/mm)✳ ✕ f✱ ❧❛ ❞✐st❛♥❝❡ ❢♦❝❛❧❡✳ ✕ (su, sv, s) ❧❡s ❝♦♦r❞♦♥♥é❡s ❤♦♠♦❣è♥❡s ❞❡ ❧❛ ♣r♦❥❡❝t✐♦♥ ❞✉ ♣♦✐♥t P s✉r ❧✬✐♠❛❣❡ r❡s♣❡❝t✐✈❡♠❡♥t✳ ❋✐❣✉r❡ ✷✳✼ ✕ ❆①❡s ❞❡s ❝♦♦r❞♦♥♥é❡s ❞❡ ❧❛ s❝è♥❡ ❡t ❞❡ ❧❛ ❝❛♠ér❛✳ ✷✳✹✳✶✳✶ ❱❡❝t❡✉r ❞❡ tr❛♥s❧❛t✐♦♥ ❡t ♠❛tr✐❝❡ ❞❡ r♦t❛t✐♦♥ ❆✜♥ ❞❡ ♣r❡♥❞r❡ ❡♥ ❝♦♠♣t❡ ❧❡s ❞é♣❧❛❝❡♠❡♥ts q✉❡ ❧❛ ❝❛♠ér❛ ✈❛ ❡✛❡❝t✉❡r✱ ♥♦✉s ❞❡✈♦♥s ❝❤♦✐s✐r ✉♥ r❡♣èr❡ st❛t✐q✉❡ ❞❛♥s ❧❛ s❝è♥❡✳ ◆♦✉s ✐♥tr♦❞✉✐s♦♥s ❞♦♥❝ ✉♥ r❡♣èr❡ s❝è♥❡ Ow✱ ✭✜❣✉r❡ ✷✳✼✮✳ ▲❡s ♣♦s✐t✐♦♥s ❞❡s ♣♦✐♥ts 3D ❡t ❞❡ ❧❛ ❝❛♠ér❛ s♦♥t ❛❧♦rs ❞é❝r✐t❡s ♣❛r r❛♣♣♦rt à ❝❡ r❡♣èr❡✳ ◆♦✉s ♣♦✉✈♦♥s ét❛❜❧✐r ✉♥❡ r❡❧❛t✐♦♥ ❡♥tr❡ ❧❡s ♣♦✐♥ts 3D ❞✉ Ow ❡t ❧❡ r❡♣èr❡ Oc✱ ❝♦♥♥❛✐ss❛♥t ❧❡ ✈❡❝t❡✉r ❞❡ tr❛♥s❧❛t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ T = [Tx, Ty, T z] 0 ✱ ❡t ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ ❡①♣r✐♠é❡ ♣❛r ✉♥❡ ♠❛tr✐❝❡ ❞❡ r♦t❛t✐♦♥ ❞❡ t❛✐❧❧❡ 3 × 3✳ ◆♦tr❡ s②stè♠❡ ♦♣t✐q✉❡ s❡r❛ ♣❧❛❝é à ❧✬❛✈❛♥t ❞✉ tr❛✐♥✱ ❞❡rr✐èr❡ ❧❡ ♣❛r❡✲❜r✐s❡ à ✉♥❡ ❤❛✉t❡✉r ❡t ✉♥❡ ✐♥❝❧✐♥❛✐s♦♥ ✜①❡s✳ ➚ ♣❛rt✐r ❞❡ ❧✬❛♥❛❧②s❡ ❞❡s ❝❛r❛❝tér✐st✐q✉❡s ❡①♣♦sé❡s ❞❛♥s ❧❛ s❡❝t✐♦♥ ✷✳✸✳✷✱ ❧❡s✷✻ ❈❤❛♣✐tr❡ ✷✳ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ ❝❤❛♥❣❡♠❡♥ts ❞✬❛♥❣❧❡s ❞✉s ❛✉① ✈✐❜r❛t✐♦♥s ❞✉ tr❛✐♥ s❡r♦♥t ❝♦♥s✐❞érés ❝♦♠♠❡ ♥✉❧s✳ P♦✉r ❞é✜♥✐r ❝❡tt❡ ♠❛tr✐❝❡ ❞❡ r♦t❛t✐♦♥✱ ♥♦✉s ✉t✐❧✐s❡r♦♥s ❧❛ ❝♦♥✈❡♥t✐♦♥ ✓X, Y, Z✔ ❝♦rr❡s♣♦♥❞❛♥t ❛✉① r♦t❛t✐♦♥s ❞❡ ❧❛ ❝❛♠ér❛ ❛✉t♦✉r ❞❡ ❝❤❛q✉❡ ❛①❡ ♣♦✉r ❛rr✐✈❡r à ❧❛ ♣♦s✐t✐♦♥ ❞❡s ❛①❡s✳ ❈❡tt❡ séq✉❡♥❝❡ ❡st ❞é✜♥✐❡ ❝♦♠♠❡ s✉✐t ✿ R(γ1) =   1 0 0 0 cos(γ1) cos(π/2 + γ1) 0 cos(π/2 − γ1) cos(γ1)   =   1 0 0 0 cos(γ1) − sin(γ1) 0 sin(γ1) cos(γ1)   ✭✷✳✸✮ R(γ2) =   cos(γ2) 0 cos(π/2 − γ2) 0 1 0 cos(π/2 + γ2) 0 cos(γ2)   =   cos(γ2) 0 sin(γ2) 0 1 0 − sin(γ2) 0 cos(γ2)   ✭✷✳✹✮ R(γ3) =   cos(γ3) cos(π/2 + γ3) 0 cos(π/2 − γ3) cos(γ3) 0 0 0 1   =   cos(γ3) − sin(γ3) 0 sin(γ3) cos(γ3) 0 0 0 1   ✭✷✳✺✮ R = R1(γ1)R2(γ2)R3(γ3) ✭✷✳✻✮ ♦ù ✿ ✕ (R1) r❡♣rés❡♥t❡ ❧❛ r♦t❛t✐♦♥ ❞✬✉♥ ❛♥❣❧❡ γ1 ❛✉t♦✉r ❞❡ X ✕ (R2) r❡♣rés❡♥t❡ ❧❛ r♦t❛t✐♦♥ ❞✬✉♥ ❛♥❣❧❡ γ2 ❛✉t♦✉r ❞❡ Y ✕ (R3) r❡♣rés❡♥t❡ ❧❛ r♦t❛t✐♦♥ ❞✬✉♥ ❛♥❣❧❡ γ3 ❛✉t♦✉r ❞❡ Z ❙✐ ❧❡ t❛♥❣❛❣❡ ❡st ❞é✜♥✐ ♣❛r ✭θ✮✱ ❧❡ r♦✉❧✐s ♣❛r ✭ψ✮ ❡t ❧❡ ❧❛❝❡t ♣❛r ✭φ✮✱ ❧❛ sér✐❡ ❞❡ r♦t❛t✐♦♥s q✉✐ ❡♥ rés✉❧t❡ s✬é❝r✐t ✿ RB N = RaR1(θ)R2(φ)R3(0) ❋✐❣✉r❡ ✷✳✽ ✕ ❘♦t❛t✐♦♥s s✉✐✈✐❡s ♣♦✉r ❛❞❛♣t❡r ❧❡ r❡♣èr❡ ❞❡ ❧❛ ❝❛♠ér❛ RC ❛✉ r❡♣èr❡ ❞❡ ❧❛ s❝è♥❡ RW R1(θ) =   1 0 0 0 cos(θ) − sin(θ) 0 sin(θ) cos(θ)   ✭✷✳✼✮ R(φ) =   cos(φ) 0 sin(φ) 0 1 0 − sin(φ) 0 cos(φ)   ✭✷✳✽✮ R3(0) = I ✭✷✳✾✮ Ra =   0 0 1 −1 0 0 0 −1 0   ✭✷✳✶✵✮✷✳✹✳ ➱t❛❧♦♥♥❛❣❡ ✷✼ ▲❡ r♦✉❧✐s s❡r❛ ❝♦♥s✐❞éré ♥✉❧✱ ❝❛r ♥♦tr❡ s②stè♠❡ s❡r❛ ✐♠♣❧❛♥té ❞❛♥s ✉♥❡ ❝❛❜✐♥❡ ❞❡ ♠étr♦ ❡t ♥♦✉s ❛✈♦♥s ❝♦♥s✐❞éré q✉❡ ❧✬❡✛❡t ❞✉ r♦✉❧✐s ❞❡ ❧❛ ❝❛✐ss❡ ❡st ❢❛✐❜❧❡ ❡t ❞♦♥❝ ❧✬✐♥✢✉❡♥❝❡ s✉r ❧❛ tr❛♥s❢♦r♠❛t✐♦♥ ❞✉ ♣✐①❡❧ ❡♥ ❞✐st❛♥❝❡s ❡st ♥é❣❧✐❣❡❛❜❧❡✳ ❈❡tt❡ ❤②♣♦t❤ès❡ ♣❡✉t êtr❡ ❡♥✈✐s❛❣é❡ s❡✉❧❡♠❡♥t s✐ ❧❡ r♦✉❧✐s ❞✉ tr❛✐♥ ❡st ❢❛✐❜❧❡✳ ❉❛♥s ❧❡ ❝❛s ❞✬✉♥ r♦✉❧✐s ❡①❝❡ss✐❢✱ ❝♦♠♠❡ ❧❡ tr❛✐♥ ❡st ❝♦♥s✐❞ér❛❜❧❡♠❡♥t ♣❧✉s ❤❛✉t q✉✬✉♥❡ ✈♦✐t✉r❡✱ ♦♥ ❛ ✉♥ ♠♦✉✈❡♠❡♥t ❧❛tér❛❧ ❞❡ ❧❛ ❝❛♠ér❛ q✉✐ ♥❡ ♣❡r♠❡t ♣❛s ❞❡ ❞é✜♥✐r ❧❡ s②stè♠❡ ❞❡ ❝♦♦r❞♦♥♥é❡s✳ ❯♥ ❡①❡♠♣❧❡ ❞❡ ❧✬❡✛❡t ❞✉ r♦✉❧✐s ❞❛♥s ❧❛ ♣r♦❥❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❞❡✈❛♥t ❧❛ ❝❛♠ér❛ ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✷✳✾✳ ❋✐❣✉r❡ ✷✳✾ ✕ ❊✛❡t ❞✉ r♦✉❧✐s ▲❛ séq✉❡♥❝❡ ❞❡s r♦t❛t✐♦♥s ❡st ❛❧♦rs ✿ RB N = RaR1(θ)R2(φ)✳ ▲❛ r❡❧❛t✐♦♥ ❡♥tr❡ ❧❡s ♣♦✐♥ts ❞❛♥s ❧❡ r❡♣èr❡ ❞❡ ❧❛ ❝❛♠ér❛ RC ❡t ❧❡ r❡♣èr❡ ❞❡ ❧❛ s❝è♥❡ RW ❡st ❞é✜♥✐❡ ♣❛r ✷✳✶✶ ❡t ✷✳✶✷✳  Pw 1  =  R T 0 1 Pc 1  ✭✷✳✶✶✮  Pc 1  =  RT −RT T 0 1  Pw 1  ✭✷✳✶✷✮ ✷✳✹✳✷ ▼ét❤♦❞❡s ❞✬ét❛❧♦♥♥❛❣❡ ❆♣rès ❧❛ ❞❡s❝r✐♣t✐♦♥ ❞✉ ♠♦❞è❧❡ ❞❡ ❝❛♠ér❛✱ ✐❧ ❡st ✐♠♣♦rt❛♥t ❞✬❛❝❝é❞❡r ❛✉① ✈❛❧❡✉rs ❞❡s ♣❛r❛♠ètr❡s ❞✉ ♠♦❞è❧❡✳ ❈✬❡st ❧❡ rô❧❡ ❞❡ ❧❛ ♣❤❛s❡ ❞✬ét❛❧♦♥♥❛❣❡✱ ét❛♣❡ ♥é❝❡ss❛✐r❡ ❞❛♥s ❧❡ ❞♦♠❛✐♥❡ ❞❡ ❧❛ ✈✐s✐♦♥ ♣❛r ♦r❞✐♥❛t❡✉r✱ ❝❡❝✐ ❛✜♥ ❞❡ ♣♦✉✈♦✐r ❡①tr❛✐r❡ ❧✬✐♥❢♦r♠❛t✐♦♥ 3D à ♣❛rt✐r ❞❡s ✐♠❛❣❡s 2D✳ ▲✬ét❛❧♦♥♥❛❣❡ ❞❡ ❧❛ ❝❛♠ér❛ ❡st ✉♥ ♣♦✐♥t ✐♠♣♦rt❛♥t ❞✉ s②stè♠❡✳ ▲❛ ❝♦♥♥❛✐ss❛♥❝❡ ❞❡s r❡♣èr❡s ✷❉ ✭♣❧❛♥ ✐♠❛❣❡✮ ❡t ✸❉ ✭♠♦♥❞❡ ré❡❧✮ ❡t ❧❛ r❡❧❛t✐♦♥ ❡①✐st❛♥t❡ ❡♥tr❡ ❡✉① s♦♥t ♥é❝❡ss❛✐r❡s ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✳ ▲✬♦❜❥❡❝t✐❢ ❡st ❞❡ ♣♦✉✈♦✐r ❞ét❡r♠✐♥❡r ❧❛ ❞✐st❛♥❝❡ ❞❡ ❧✬♦❜st❛❝❧❡ à ♣❛rt✐r ❞❡ s❛ ❧♦❝❛❧✐s❛t✐♦♥ ❞❛♥s ❧✬✐♠❛❣❡✳ ❈❡tt❡ r❡❧❛t✐♦♥ ❛ ♣r✐♦r✐ s✐♠♣❧❡ ❞é♣❡♥❞ ❝❡♣❡♥❞❛♥t ❞❡ ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ ♣❛r r❛♣♣♦rt à ❧❛ ✈♦✐❡✱ ❞♦♥❝ ❞❡ ❧✬❛ss✐❡tt❡ ❞❡ ❧❛ ✈♦✐t✉r❡ ♣♦rt❡✉s❡ ❞❡ ❧❛ ❝❛♠ér❛ ❡t ❞✉ ❣r❛❞✐❡♥t ❞❡ ♣❡♥t❡ s♦✉s ❧❛ ✈♦✐t✉r❡ ❡t ❞❛♥s t♦✉t❡ ❧❛ ③♦♥❡ ❞✬✐♥térêt✳ ▲❡s ♠ét❤♦❞❡s ❞✬ét❛❧♦♥♥❛❣❡ ♣❡✉✈❡♥t êtr❡ ❝❧❛ssé❡s s❡❧♦♥ ❞✐✛ér❡♥ts ❝r✐tèr❡s ✿ ❧✐♥é❛✐r❡s ♦✉ ♥♦♥✲ ❧✐♥é❛✐r❡s ❀ ✐♠♣❧✐❝✐t❡s ♦✉ ❡①♣❧✐❝✐t❡s✱ ❛✉t♦✲ét❛❧♦♥♥❛❣❡✱ ❡t❝✳ ❯♥❡ très ❜♦♥♥❡ ❛♥❛❧②s❡ ❞❡s ❛✈❛♥t❛❣❡s ❡t ✐♥❝♦♥✈é♥✐❡♥ts ❞❡s ❞✐✛ér❡♥t❡s ♠ét❤♦❞❡s ♣❡✉t s❡ tr♦✉✈❡r ❞❛♥s ❬❙❛❧✈✐ ❡t ❛❧✳ ✷✵✵✷❪✳ ▲✬♦❜❥❡❝t✐❢ ❞❡ ❝❡tt❡✷✽ ❈❤❛♣✐tr❡ ✷✳ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ t❤ès❡ ♥✬❡st ♣❛s ❞✬❛♥❛❧②s❡r ❡♥ ♣r♦❢♦♥❞❡✉r ❧✬ét❛❧♦♥♥❛❣❡ ❞❡s ❝❛♠ér❛s ♠♦♥♦❝✉❧❛✐r❡s✱ ♥♦✉s ❡①♣♦s❡r♦♥s ✐❝✐ ❞❡✉① ❛♣♣r♦❝❤❡s ✿ ❛✈❡❝ ♠✐r❡ ❞✬ét❛❧♦♥♥❛❣❡ ♦✉ s❛♥s ♠✐r❡✳ ▲✬ét❛❧♦♥♥❛❣❡ ❝❧❛ss✐q✉❡ ✉t✐❧✐s❡ ✉♥❡ ♠✐r❡ ♣❧❛♥❡✳ ❙❛❝❤❛♥t q✉❡ ❝❤❛q✉❡ ♣♦✐♥t ❞❡ ❧❛ ♠✐r❡ s❡ ♣r♦❥❡tt❡ ❞❛♥s ❧✬✐♠❛❣❡ s✉✐✈❛♥t ❧❡ ♠♦❞è❧❡ ❞é❝r✐t ❞❛♥s ❧✬éq✉❛t✐♦♥ ✷✳✷✱ ❧❡s ♣❛r❛♠ètr❡s ♣❡✉✈❡♥t êtr❡ ♦❜t❡♥✉s ❣râ❝❡ à ✉♥❡ rés♦❧✉t✐♦♥ ♣❛r ❧❛ ♠ét❤♦❞❡ ❞❡s ♠♦✐♥❞r❡s ❝❛rrés✳ ❈❡tt❡ t❡❝❤♥✐q✉❡ ✉t✐❧✐s❡ ✉♥❡ ♠✐r❡ ♣❧❛♥❡ ❞♦♥t ❧❡s ❝♦♦r❞♦♥♥é❡s ❜✐❞✐♠❡♥s✐♦♥♥❡❧❧❡s s♦♥t ❝♦♥♥✉❡s ❡t ♣❧✉s✐❡✉rs ♣r✐s❡s ❞❡ ✈✉❡ ❞❡ ❧❛ ♠✐r❡ ✭❞é♣❧❛❝❡♠❡♥ts ✐♥❝♦♥♥✉s ❞❡ ❧❛ ❝❛♠ér❛ ♦✉ ❞❡ ❧❛ ♠✐r❡✮ ♣♦✉r ét❛❜❧✐r ✉♥❡ r❡❧❛t✐♦♥ ❡♥tr❡ ❧❡s ❤♦♠♦❣r❛♣❤✐❡s ❣râ❝❡ ❛✉① ♣r♦♣r✐étés ❞❡ ❧❛ ❣é♦♠étr✐❡ ♣r♦❥❡❝t✐✈❡ ❡t ❛✉ss✐ ♦❜t❡♥✐r ❧❡s ♣❛r❛♠ètr❡s ❞❡ ❧❛ ❝❛♠ér❛✳ ❉❡ ♣❧✉s✱ ❡❧❧❡ ♣❡r♠❡t ❞✬❛❜♦✉t✐r à ✉♥ ét❛❧♦♥♥❛❣❡ très ✜♥✳ ■❧ ❡①✐st❡ ♣❧✉s✐❡✉rs ♦✉t✐❧s ❞é✈❡❧♦♣♣és ♣♦✉r ♦❜t❡♥✐r ❧❡s ♣❛r❛♠ètr❡s ❞❡ ❧❛ ❝❛♠ér❛ ❝♦♠♠❡ ❧❡ ✓❝❛♠ér❛ ❈❛❧✐❜r❛t✐♦♥ ❚♦♦❧❜♦①✔ ❞❡ ❈❛❧t❡❝❤ ❬❇♦✉❣✉❡t ✷✵✵✻❪ ❞é✈❡❧♦♣♣é ♣♦✉r ▼❛t❧❛❜ ❡t ❖♣❡♥❈❱✳ ▲❡s t❡❝❤♥✐q✉❡s ❞✬❛✉t♦✲ét❛❧♦♥♥❛❣❡ ♥❡ ♥é❝❡ss✐t❡♥t ❧✬✉t✐❧✐s❛t✐♦♥ ❞✬❛✉❝✉♥❡ ♠✐r❡ ❞✬ét❛❧♦♥♥❛❣❡✳ ❊❧❧❡s s❡ ❜❛s❡♥t ❡ss❡♥t✐❡❧❧❡♠❡♥t s✉r ❧❛ ❣é♦♠étr✐❡ é♣✐✲♣♦❧❛✐r❡ ✭♠❛tr✐❝❡ ❢♦♥❞❛♠❡♥t❛❧❡ ❡t ♠❛tr✐❝❡ ❡ss❡♥t✐❡❧❧❡✮✳ ▲✬✐❞é❡ ❝♦♥s✐st❡ à ❞é♣❧❛❝❡r ❧❛ ❝❛♠ér❛ ❞❛♥s ✉♥❡ s❝è♥❡ st❛t✐q✉❡ ❡t ❧❛ r✐❣✐❞✐té ❞❡ ❧❛ s❝è♥❡ ❢♦✉r♥✐t ❧❡s ❝❛r❛❝tér✐st✐q✉❡s ♥é❝❡ss❛✐r❡s✳ ■❧ ❢❛✉t ❞ét❡r♠✐♥❡r ❞❡s ♣♦✐♥ts ❝❛r❛❝tér✐st✐q✉❡s ❞❛♥s ❝❤❛❝✉♥❡ ❞❡s s❝è♥❡s ❡t✱ ❞❛♥s ✉♥ ♣r❡♠✐❡r ❧✐❡✉✱ ♥♦✉s ❝❛❧❝✉❧♦♥s ❞❡s ❝♦rr❡s♣♦♥❞❛♥❝❡s ❞❡ ♣♦✐♥ts ❡♥tr❡ ❞❡✉① ✐♠❛❣❡s✳ ❈❡❝✐ ♣❡✉t êtr❡ ❢❛✐t ♠❛♥✉❡❧❧❡♠❡♥t✱ ♠❛✐s ✐❧ ❡①✐st❡ ❛✉ss✐ ❞❡s ♠ét❤♦❞❡s ❛✉t♦♠❛t✐q✉❡s✳ ◆♦✉s ❝❛❧❝✉❧♦♥s ❡♥s✉✐t❡ ❧✬❤♦♠♦❣r❛♣❤✐❡ ❡♥ ✉t✐❧✐s❛♥t ❧❡s ✐♠❛❣❡s ❡❧❧❡s✲♠ê♠❡s ❬❙t✉r♠ ✷✵✵✽❪✳ ✷✳✹✳✷✳✶ ❉ét❡r♠✐♥❛t✐♦♥ ❞❡s ♣❛r❛♠ètr❡s ✐♥tr✐♥sèq✉❡s ▲❛ ❝❛♠ér❛ s❡r❛ éq✉✐♣é❡ ❛✈❡❝ ✉♥ ♦❜❥❡❝t✐❢ à ❢♦❝❛❧❡ ✜①❡ q✉❡ ♥♦✉s ❛✈♦♥s ❞ét❡r♠✐♥é❡ ❛♣rès ❛✈♦✐r ✓❞✐♠❡♥s✐♦♥♥é✔ ❧✬❡♥s❡♠❜❧❡ ❞✉ s②stè♠❡ ❝❛♠ér❛ ✰ ♦❜❥❡❝t✐❢✳ P♦✉r ❝❡❧❛✱ ♥♦✉s ❛✈♦♥s ♣r✐s ❡♥ ❝♦♠♣t❡ ❧❡ ❝❤❛♠♣ ❞❡ ✈✐s✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ ❡t ✉♥❡ rés♦❧✉t✐♦♥ ❞❡ ❧✬✐♠❛❣❡ à ✉♥❡ ❞✐st❛♥❝❡ D ♣♦✉r ♣♦✉✈♦✐r ✈♦✐r ❧❡s r❛✐❧s✳ ❈♦♠♠❡ ❧❛ ❝❛♠ér❛ ❡①✐st❡✱ ♥♦✉s ❛✈♦♥s ❛❝❝ès à s❡s s♣é❝✐✜❝❛t✐♦♥s ♣♦✉r ❞ét❡r♠✐♥❡r ❛✐sé♠❡♥t ❧❛ ❢♦❝❛❧❡ s♦✉❤❛✐té❡✳ ❋✐❣✉r❡ ✷✳✶✵ ✕ ❆♣♣r♦①✐♠❛t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ ♦❜❥❡t✴❝❛♠ér❛ s✉♣ér✐❡✉r❡ à 3m ●râ❝❡ à ❧❛ ✜❣✉r❡ ✷✳✶✵✱ ♥♦✉s ♣♦✉✈♦♥s ❞é❞✉✐r❡ ❢❛❝✐❧❡♠❡♥t à ♣❛rt✐r ❞✉ t❤é♦rè♠❡ ❞❡ ❚❤❛❧ès✱ ❧❛ ❢♦❝❛❧❡ q✉✐ ♣❡r♠❡t ❞✬❛✈♦✐r✱ à ♣❧❡✐♥❡ é❝❤❡❧❧❡✱ ✉♥ ♦❜❥❡t ❞❡ t❛✐❧❧❡ ❝♦♥♥✉❡ Tobjet à ❧❛ ❞✐st❛♥❝❡ D✳ ❆✐♥s✐✱ ❧❛ ❢♦❝❛❧❡ ❡st ❞♦♥♥é❡ ♣❛r ✷✳✶✸ ✿ f = TimageD Tobjet ✭✷✳✶✸✮ ❉❛♥s ♥♦tr❡ ❝❛s✱ ❧❛ ❢♦❝❛❧❡ ❛ été ❞é✜♥✐❡ à 16 mm ♣♦✉r q✉❡ ❧❛ ♣r♦❥❡❝t✐♦♥ ❞✉ r❛✐❧ à 25 ♠ètr❡s ❛✐t ✉♥❡ rés♦❧✉t✐♦♥ ❞❡ 30 ♣✐①❡❧s✳ ❯♥❡ ❢♦✐s ❧❛ ❢♦❝❛❧❡ ❞❡ ❧✬♦❜❥❡❝t✐❢ ❞é✜♥✐❡ ❡t ❧❡s ❝❛r❛❝tér✐st✐q✉❡s ❞✉ ❝❛♣t❡✉r ❝♦♥♥✉❡s✱ ❡♥ ❛♣♣❧✐q✉❛♥t ❧❡ ♠♦❞è❧❡ ❞❡ ❝❛♠ér❛ ❝♦♠♣❧❡t s❛♥s ❞✐st♦rs✐♦♥ ❞❡ ❧✬éq✉❛t✐♦♥ ✷✳✷✱ t♦✉s ❧❡s ♣❛r❛♠ètr❡s ✐♥tr✐♥sèq✉❡s s♦♥t ❝♦♥♥✉s✳✷✳✹✳ ➱t❛❧♦♥♥❛❣❡ ✷✾ ✷✳✹✳✷✳✷ ❖❜t❡♥t✐♦♥ ❞❡s ♣❛r❛♠ètr❡s ❡①tr✐♥sèq✉❡s ❉❛♥s ❧❛ ❝♦♥✜❣✉r❛t✐♦♥ ✜♥❛❧❡ ❞❡ ♥♦tr❡ s②stè♠❡✱ ❧❡s ♣❛r❛♠ètr❡s ❡①tr✐♥sèq✉❡s ♣♦✉rr♦♥t êtr❡ ❝♦♥♥✉s ❛ ♣r✐♦r✐✱ ❝❛r ❧✬✐♥st❛❧❧❛t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ s❡r❛ ❢❛✐t❡ ♣♦✉r ❛✈♦✐r ✉♥ ❝❤❛♠♣ ❞❡ ✈✐s✐♦♥ ❞é✜♥✐✳ ❙❛ ♣♦s✐t✐♦♥ ❡t s♦♥ ♦r✐❡♥t❛t✐♦♥ s❡r♦♥t ✜①é❡s ♣♦✉r q✉❡ ❧❡s r❛✐❧s s♦✐❡♥t t♦✉❥♦✉rs ♣rés❡♥ts ❞❛♥s ❧✬✐♠❛❣❡✳ ❈❡rt❡s✱ s❡s ♣❛r❛♠ètr❡s ♣❡✉✈❡♥t êtr❡ ✐♥❡①❛❝ts✱ ❝❛r ✐♥st❛❧❧❡r ❧❛ ❝❛♠ér❛ ❛✈❡❝ ✉♥ t❡❧ ❞❡❣ré ❞✬♦r✐❡♥t❛t✐♦♥ ✭θ✮ ♥✬❡st ♣❛s t♦✉❥♦✉rs ❢❛❝✐❧❡✳ ❉❡ ♣❧✉s✱ ❧❛ ♣r❡ss✐♦♥ ❞❡s ♣♥❡✉♠❛t✐q✉❡s ✈❛r✐❡ ♣♦✉r ❧❡s ❞✐✛ér❡♥ts tr❛✐♥s ❝❡ q✉✐ ❢❡r❛✐t ✈❛r✐❡r ❧❡s ♣❛r❛♠ètr❡s ♣♦✉r ❝❤❛q✉❡ tr❛✐♥✳ P♦✉r ♦❜t❡♥✐r ❧❡s ♣❛r❛♠ètr❡s ❡①tr✐♥sèq✉❡s✱ ❧❡s s②stè♠❡s ❜❛sés s✉r ❧✬✉t✐❧✐s❛t✐♦♥ ❞✬✉♥❡ ♠✐r❡ ✐♠✲ ♣❧✐q✉❡♥t ❧❛ ré❛❧✐s❛t✐♦♥ ❞❡ ♠❛♥÷✉✈r❡s ❞❛♥s ❧❡s ❛t❡❧✐❡rs ❛✈❡❝ ✉♥ tr❛✐♥ ✐♠♠♦❜✐❧❡ ❝❡ q✉✐ ✐♠♣❧✐q✉❡ ❞❡s tâ❝❤❡s ❧❛❜♦r✐❡✉s❡s ♣♦✉r ❧❛ ♠✐s❡ ❡♥ ❢♦♥❝t✐♦♥♥❡♠❡♥t ❡t ❧❛ ♠❛✐♥t❡♥❛♥❝❡ ❞✉ s②stè♠❡✳ ❉❛♥s ♥♦tr❡ ❝❛s✱ ❧❛ ♠✐r❡ ❞♦✐t ❛✈♦✐r ❞❡ très ❣r❛♥❞❡s ❞✐♠❡♥s✐♦♥s✳ ▲❛ ✜❣✉r❡ ✷✳✶✶ ♠♦♥tr❡ ✉♥ t❡st ❞✬ét❛❧♦♥♥❛❣❡ ❛✈❡❝ ✉♥❡ ♠✐r❡ ❞❡ ❞✐♠❡♥s✐♦♥s 1 m × 0.7 m ♣❧❛❝é❡ ❞❡✈❛♥t ❧❡ tr❛✐♥ à ✉♥❡ ❞✐st❛♥❝❡ ❞✬❡♥✈✐r♦♥ ✶✵ ♠ètr❡s✳ ❈❡ t❡st ♠♦♥tr❡ q✉❡ ❝❡tt❡ t❛✐❧❧❡ ♥✬❡st ♣❛s s✉✣s❛♥t❡ ♣♦✉r ét❛❧♦♥♥❡r ❧❛ ❝❛♠ér❛✳ ❋✐❣✉r❡ ✷✳✶✶ ✕ ❈❛♣t✉r❡ ❞✬✐♠❛❣❡ ❛✈❡❝ ✉♥❡ ♠✐r❡ ❞✬ét❛❧♦♥♥❛❣❡ ❞❡✈❛♥t ❧❡ tr❛✐♥ s✉r ❧❡ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t ❊♥ ❝♦♥❝❧✉s✐♦♥ ❞❡ ❝❡ t❡st ❡t ét❛♥t ❞♦♥♥é ❞❡s ✐♥❝♦♥✈é♥✐❡♥ts ❢✉t✉rs q✉❡ ❧❛ ♠✐r❡ ✐♥❞✉✐t ❞❛♥s ❧✬❡①✲ ♣❧♦✐t❛t✐♦♥ ❢❡rr♦✈✐❛✐r❡✱ t♦✉t❡s ❧❡s ♠ét❤♦❞❡s ✉t✐❧✐s❛♥t ✉♥❡ ♠✐r❡ ♦♥t été é❝❛rté❡s✳ ❯♥❡ ❜♦♥♥❡ ❛♣♣r♦❝❤❡ s❡r❛✐t ❞❡ ❞ét❡r♠✐♥❡r ❞❡ ❢❛ç♦♥ ❛✉t♦♠❛t✐q✉❡ ❝❡s ♣❛r❛♠ètr❡s✱ à ♣❛rt✐r ❞❡ ❧✬❡♥✈✐r♦♥♥❡♠❡♥t ❢❡rr♦✈✐❛✐r❡✱ ❝❡ q✉✐ ♣❡r♠❡ttr❛✐t ❞✬❛✈♦✐r ❞❡s ✈❛❧❡✉rs ❡①❛❝t❡s ❞✬ét❛❧♦♥♥❛❣❡ ♣♦✉r ❝❤❛q✉❡ tr❛✐♥ ❞❡ ❢❛ç♦♥ ✐♥❞é♣❡♥❞❛♥t❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ s♦♥ ét❛t ✭❝r❡✈❛✐s♦♥✱ ❝❛♠ér❛ ❞é♣❧❛❝é❡✱ ✳✳✳✮✳ ●râ❝❡ à ❧❛ ❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ❧❛ ♠♦r♣❤♦❧♦❣✐❡ ❞❡ ❧❛ ✈♦✐❡✱ ✐❧ ♣❡✉t êtr❡ ❡♥✈✐s❛❣é ❞✬❡✛❡❝t✉❡r ❧✬ét❛❧♦♥♥❛❣❡ ❡♥ t❡♠♣s ré❡❧ à ♣❛rt✐r ❞❡s ✐♠❛❣❡s ❡❧❧❡s✲♠ê♠❡s✳ P❛r ❝♦♥séq✉❡♥t✱ ❧❛ ♠ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❞ét❡r♠✐♥❡r ❝❡s ♣❛r❛♠ètr❡s ❡st ❜❛sé❡ s✉r ✉♥❡ ❡st✐♠❛✲ t✐♦♥ r♦❜✉st❡ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❡ ❧✬✐♠❛❣❡ ❣râ❝❡ à ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ❞❛♥s ✉♥❡ ♣♦rt✐♦♥ ❞❡ ✈♦✐❡ ❞r♦✐t❡ ❬◆✐❡t♦ ❡t ❛❧✳ ✷✵✵✼❜❪✳ ❈❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❡st ❛❧♦rs ✉t✐❧✐sé ♣♦✉r ❡st✐♠❡r ❧❛ r♦t❛t✐♦♥ ❡t ❧❛ tr❛♥s❧❛t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ ♣❛r r❛♣♣♦rt à ❧❛ ✈♦✐❡ Rw✳ ●râ❝❡ à ❝❡tt❡ ♠ét❤♦❞❡✱ ❧❛ ❝❛♠ér❛ ♣❡✉t êtr❡ ét❛❧♦♥♥é❡ ❞❡ ❢❛ç♦♥ s✐♠♣❧❡✱ s❛♥s ❛❥♦✉t❡r ❞❡ ❝♦♥tr❛✐♥t❡s ✐♠♣♦rt❛♥t❡s à ❧✬❡①♣❧♦✐t❛t✐♦♥ ❞❡s tr❛✐♥s✳ ■❧ ❡st ♠ê♠❡ ♣♦ss✐❜❧❡ ❞❡ ré❛❧✐s❡r ✓♦♥✲❧✐♥❡✔ ❧❡s ✈ér✐✜❝❛t✐♦♥s s✉r ❧❛ ❝❛♠ér❛✳ ➚ ♣❛rt✐r ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡✱ ✐❧ ❡st ♣♦ss✐❜❧❡ ❞❡ ❞é✜♥✐r ❧❡ t❛♥❣❛❣❡ ✭θ✮ ❡t ❧❡ ❧❛❝❡t ✭φ✮ ❞❡ ❧❛ ❝❛♠ér❛ ♣❛r ❧❡s éq✉❛t✐♦♥s ✷✳✶✹ ❡t ✷✳✶✺✳ αv ❡t αh r❡♣rés❡♥t❡♥t ❧❡ ❝❤❛♠♣ ❞❡ ✈✐s✐♦♥✱ uvp ❡t vvp ❧❛ ♣♦s✐t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❛♥s ❧❡ ♣❧❛♥ ✐♠❛❣❡ ❡t M ❡t N ❧❡ ♥♦♠❜r❡ ❞❡ ♣✐①❡❧s ❤♦r✐③♦♥t❛❧❡♠❡♥t ❡t ✈❡rt✐❝❛❧❡♠❡♥t✳ θ = arctan  tan αv  1 − 2vvp N  ✭✷✳✶✹✮ φ = arctan  tan αh  2uvp M − 1  ✭✷✳✶✺✮✸✵ ❈❤❛♣✐tr❡ ✷✳ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ ❊♥ ❞é✈❡❧♦♣♣❛♥t ❧✬éq✉❛t✐♦♥ ✷✳✷ ❡t ❡♥ ❝♦♥s✐❞ér❛♥t ❧❛ ♣r♦❥❡❝t✐♦♥ ❞❡s ♣♦✐♥ts Pw ♣♦✉r ❧❡sq✉❡❧s X → ∞✱ ❧❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ ♣❡✉t êtr❡ ❛✉ss✐ ♦❜t❡♥✉ ♣❛r ❧❡s éq✉❛t✐♦♥s ✷✳✶✻ ❡t ✷✳✶✼ ✿ uvp = f ku tan φ + u0 ✭✷✳✶✻✮ vvp = f kv tan θ sec φ + v0 ✭✷✳✶✼✮ ▲❡s ♣❛r❛♠ètr❡s ❞❡ tr❛♥s❧❛t✐♦♥✱ ❡♥t❡♥❞✉s ❝♦♠♠❡ ❧❛ ♣♦s✐t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ ♣❛r r❛♣♣♦rt à ❧✬♦r✐❣✐♥❡ ❞❡ ❝♦♦r❞♦♥♥é❡s ❣❧♦❜❛❧❡ ✭❛①❡ ❞❡ ❧❛ ✈♦✐❡✮✱ s♦♥t ❞é✜♥✐s ♣❛r ❧❛ ❞✐st❛♥❝❡ ❡♥tr❡ ❧✬❡ss✐❡✉ ❡t ❧✬❛✈❛♥t ❞❡ ❧❛ ❝❛✐ss❡ ❡t ❧❛ ❤❛✉t❡✉r ❞❡ ❧❛ ❝❛♠ér❛ ♣❛r r❛♣♣♦rt ❛✉ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t✳ ❉❛♥s ❧❡ ❝❛s ❞✬✉♥❡ ✈❡rs✐♦♥ ❞é✜♥✐t✐✈❡✱ ❝❡s ♣❛r❛♠ètr❡s s❡r♦♥t ✜①❡s ❡t ♣❛r ❝♦♥séq✉❡♥t ❧❛ ♣♦s✐t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ s❡r❛ ❝♦♥♥✉❡ ❛ ♣r✐♦r✐✱ ♠❛✐s ❞❛♥s ❧❛ ❝♦♥✜❣✉r❛t✐♦♥ ❞❡ ♥♦tr❡ ♣r♦t♦t②♣❡ ❧❛ ♣♦s✐t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ ♣❛r r❛♣♣♦rt ❛✉ ♣r❡♠✐❡r ❡ss✐❡✉ ❡st ✐♥❝♦♥♥✉❡✱ ❝❛r ❧❡s ❡♥r❡❣✐str❡♠❡♥ts ♦♥t été ❢❛✐ts ❛✈❡❝ ✉♥❡ ❝❛♠ér❛ ✐♥st❛❧❧é❡ ❛✈❡❝ ✉♥ tré♣✐❡❞ à ❧✬✐♥tér✐❡✉r ❞❡ ❧❛ r❛♠❡✳ ❈❡t ✐♥❝♦♥✈é♥✐❡♥t ♥♦✉s ♦❜❧✐❣❡ à ❞ét❡r♠✐♥❡r ❧❛ ♣♦s✐t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ à ♣❛rt✐r ❞❡s ❡♥r❡❣✐str❡♠❡♥ts✳ ◆♦✉s ❛✈♦♥s ❞❡s ✐♥❝♦♥♥✉❡s ❞❛♥s ♥♦s éq✉❛t✐♦♥s q✉❡ ♥❡ ♥♦✉s ♣❡r♠❡tt❡♥t ♣❛s ❞✬♦❜t❡♥✐r ❧❡s ♣❛r❛♠ètr❡s ❡①tr✐♥sèq✉❡s✳ ❈❡s ✐♥❝♦♥♥✉❡s s♦♥t ❧❛ ❤❛✉t❡✉r ❞❡ ❧❛ ❝❛♠ér❛ ❡t s♦♥ ❞é♣❧❛❝❡♠❡♥t ❧❛tér❛❧ ♣❛r r❛♣♣♦rt à ❧✬❛①❡ ♣r✐♥❝✐♣❛❧ ❞✉ tr❛✐♥✳ P♦✉r ♦❜t❡♥✐r ❧❛ ❤❛✉t❡✉r ❞❡ ❧❛ ❝❛♠ér❛ ❡t ❧❡ ❞é♣❧❛❝❡♠❡♥t ❧❛tér❛❧ ♣❛r r❛♣♣♦rt à ❧✬❡ss✐❡✉ s❛♥s ✉t✐❧✐s❡r ❞❡ ♠✐r❡✱ ❝✬❡st✲à✲❞✐r❡✱ à ♣❛rt✐r ❞❡ ❧❛ s❝è♥❡✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ❧❛ ♠❡s✉r❡ ❞❡ ❧✬é❝❛rt❡♠❡♥t ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡✳ P♦✉r ❝❡❧❛✱ ♥♦✉s ✉t✐❧✐s♦♥s ❧❡s ♣r♦♣r✐étés ❞❡s ❞❡✉① ❧✐❣♥❡s ♣❛r❛❧❧è❧❡s ❞❛♥s ❧✬❡s♣❛❝❡ ❡t ❧❡✉r ♣r♦❥❡❝t✐♦♥ ❞❛♥s ❧✬✐♠❛❣❡ ❬❲❛♥❣ ❡t ❛❧✳ ✷✵✵✼❪✳ ❋✐❣✉r❡ ✷✳✶✷ ✕ ❙②stè♠❡s ❞❡ ❝♦♦r❞♦♥♥é❡s ✉t✐❧✐sé ❞❛♥s ❧✬✐♠❛❣❡ ❡t ❧❡✉rs ❝❛r❛❝tér✐st✐q✉❡s ❞❛♥s ❧❡ ♠♦♥❞❡ ♣♦✉r ét❛❧♦♥♥❡r ❧❛ ❝❛♠ér❛ ❡t ❞ét❡r♠✐♥❡r s❛ ❤❛✉t❡✉r à ♣❛rt✐r ❞❡ ❧✬é❝❛rt❡♠❡♥t W ❞❡s r❛✐❧s✳ ❙✐ ♥♦✉s ❛♥❛❧②s♦♥s ❧❛ ✜❣✉r❡ ✷✳✶✷✱ ♥♦✉s ♣♦✉✈♦♥s ❞é❞✉✐r❡ q✉❡ ❧❛ ❞✐st❛♥❝❡ ❡♥tr❡ ❧❡ ❝❡♥tr❡ ♦♣t✐q✉❡ ❞❡ ❧❛ ❝❛♠ér❛ OC ❡t ❧✬♦❜❥❡t✱ ❞❛♥s ♥♦tr❡ ❝❛s✭❧❡ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t✮ ♣❡✉t s❡ ❞é❞✉✐r❡ ❞❡ ❧✬éq✉❛t✐♦♥ ✷✳✶✽ D = h csc θ ✭✷✳✶✽✮ ❉✬❛✉tr❡ ♣❛rt✱ ❧❛ t❛✐❧❧❡ ❞❡ ❧✬♦❜❥❡t Tobjet é❣❛❧❡ à ❧❛ ❞✐st❛♥❝❡ P✶P✷✱ ❡st ❞♦♥♥é ♣❛r ❧✬éq✉❛t✐♦♥ ✷✳✶✾ ✿ Tobjet = w sec φ ✭✷✳✶✾✮ ❙✐ ♥♦✉s ❛♣♣❧✐q✉♦♥s ❝❡s ❞❡✉① éq✉❛t✐♦♥s ✭✷✳✶✾ ❡t ✷✳✶✽✮ ❞❛♥s ❧✬éq✉❛t✐♦♥ ✷✳✶✸✱ ♥♦✉s ♣♦✉✈♦♥s ♦❜t❡♥✐r ❧❛ ❤❛✉t❡✉r ❞❡ ❧❛ ❝❛♠ér❛ à ♣❛rt✐r ❞❡ ❧✬é❝❛rt❡♠❡♥t ❞❡s r❛✐❧s ❡t ❞❡ ❧❛ ❢♦❝❛❧❡ ❞❡ ❧❛ ❝❛♠ér❛ ❝♦♠♠❡ ♠♦♥tr❡ ❧✬éq✉❛t✐♦♥ ✷✳✷✶ ✿✷✳✹✳ ➱t❛❧♦♥♥❛❣❡ ✸✶ f = Timageh csc θ w sec φ ✭✷✳✷✵✮ h = fw sec φ Timage csc θ ✭✷✳✷✶✮ P♦✉r ♦❜t❡♥✐r ❧❛ ♣♦s✐t✐♦♥ ❧❛tér❛❧❡ ❞❡ ❧❛ ❝❛♠ér❛✱ ♥♦✉s ♣♦✉✈♦♥s ❝♦♥s✐❞ér❡r ❞❡✉① ❝❛s ✿ ❧❛ ❝❛♠ér❛ ❡st ♣❧❛❝é❡ ❡①❛❝t❡♠❡♥t ❛✉ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡ Ty = 0✱ ♦✉ ❜✐❡♥ ❧❛ ❝❛♠ér❛ ❡st ❞é❝❛❧é❡ ❞✬✉♥❡ ❞✐st❛♥❝❡ Ty ❝♦♠♠❡ ❧❡ ♠♦♥tr❡ ❧❛ ✜❣✉r❡ ✷✳✶✸✳ ✭❛✮ ✭❜✮ ❋✐❣✉r❡ ✷✳✶✸ ✕ ❉❡✉① ❤②♣♦t❤ès❡s ❞✉ ♣❧❛❝❡♠❡♥t ❞❡ ❧❛ ❝❛♠ér❛✳ ❛✮ ▲❛ ❝❛♠ér❛ ❡st ♣❧❛❝é❡ ❛✉ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡✳ ❜✮ ▲❛ ❝❛♠ér❛ ❡st ❞é❝❛❧é❡ ❞✉ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡ ❞✬✉♥❡ ❞✐st❛♥❝❡ Ty ◗✉❛♥❞ ✐❧ ♥✬❡①✐st❡ ♣❛s ❞❡ tr❛♥s❧❛t✐♦♥ ❡♥tr❡ ❧❛ ❝❛♠ér❛ ❡t ❧❡ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡✱ ❡♥ ❞é✈❡❧♦♣♣❛♥t ✷✳✶✷✱ ♥♦✉s ♣♦✉✈♦♥s ❞é❞✉✐r❡ q✉❡ ❧❛ ♣r♦❥❡❝t✐♦♥ ❞✉ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡ ✭Y = 0✱ q✉❡❧q✉❡ s♦✐t X✮ ♥❡ ❞é♣❡♥❞ q✉❡ ❞✉ t❛♥❣❛❣❡ ❞❡ ❧❛ ❝❛♠ér❛ ❡t ❝♦rr❡s♣♦♥❞ à ❧✬éq✉❛t✐♦♥ ✷✳✷✷✳ ❉❡ ♣❧✉s✱ ❝❡tt❡ ✈❛❧❡✉r ❝♦ï♥❝✐❞❡ ❛✈❡❝ ❧❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❡s r❛✐❧s ❝♦♠♠❡ ♠♦♥tr❡ ❧✬éq✉❛t✐♦♥ ✷✳✶✻✳ u − u0 = −kuf Xc Zc y=0 = −kuf −X cos θ sin φ + Tz sin φ sin θ X cos θ cos φ − Tz sin θ cos φ = kuf tan φ ✭✷✳✷✷✮ ♦ù u r❡♣rés❡♥t❡ ❧❛ ♣♦s✐t✐♦♥ ❤♦r✐③♦♥t❛❧❡ ❡♥ ♣✐①❡❧s✱ uo ♣r♦❥❡té ❞✉ ❝❡♥tr❡ ♦♣t✐q✉❡ Oc s✉r ❧❡ ♣❧❛♥ ✐♠❛❣❡✱ ❡①♣r✐♠é ❡♥ ♣✐①❡❧s✱ ku ❧❡ ❢❛❝t❡✉r ❞✬é❝❤❡❧❧❡ ❤♦r✐③♦♥t❛❧ ❡♥ (pixels/mm)✱ ✭θ✮ ❧❡ t❛♥❣❛❣❡ ❡t ✭φ✮ ❧❡ ❧❛❝❡t✳ ❈❡♣❡♥❞❛♥t✱ q✉❛♥❞ ❧❛ ❝❛♠ér❛ ❡st ❞é♣❧❛❝é❡ ♣❛r r❛♣♣♦rt ❛✉ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡✱ ♣♦✉r ✭Y = 0, ∀X✮ ❧❡ ❞é✈❡❧♦♣♣❡♠❡♥t ❞❡ ❧✬éq✉❛t✐♦♥ ✷✳✷✷ ♥♦✉s ♠♦♥tr❡ ❝♦♠♠❡ ♣rés❡♥té ❞❛♥s ❧✬éq✉❛t✐♦♥ ✷✳✷✸✱ q✉❡ ❧❛ ♣r♦❥❡❝t✐♦♥ ❞✉ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡ s❡ ✈♦✐t ❞é♣❧❛❝é ♣❛r ❧✬❡✛❡t ❞❡ ❧❛ tr❛♥s❧❛t✐♦♥ Ty ❞❡ ❢❛ç♦♥ ♣r♦♣♦rt✐♦♥♥❡❧❧❡ à ❧❛ ♣r♦❥❡❝t✐♦♥ ❞❡ ❝❡tt❡ ❞❡r♥✐èr❡✳ u − u0 = −kuf Xc Zc y=0 = −kuf −X cos θ sin φ + Tz sin φ sin θ + Ty cos φ X cos θ cos φ − Tz sin θ cos φ + Ty sin φ = kuf(tan φ + Ty cos φ Zc ) ✭✷✳✷✸✮ ❊♥ ❝♦♥séq✉❡♥❝❡✱ ✐❧ ❡st ♣♦ss✐❜❧❡ ❞✬♦❜t❡♥✐r Ty à ♣❛rt✐r ❞❡ ❧❛ ♣♦s✐t✐♦♥ ❞✉ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡ uc ❞❛♥s ❧✬✐♠❛❣❡ ❡t ❧❛ ♣♦s✐t✐♦♥ ♦ù ❡❧❧❡ ❞❡✈r❛✐t êtr❡ s✐ ❧❛ ❝❛♠ér❛ ét❛✐t ❛✉ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡ uvp✳ ❈❡tt❡ ♣♦s✐t✐♦♥ ❡st ♦❜t❡♥✉❡ à ♣❛rt✐r ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❡ ♥♦tr❡ ✐♠❛❣❡✱ ❝❛r ♠ê♠❡ s✐ ❧❛ ❝❛♠ér❛ ❡st ❞é❝❛❧é❡✱ ❧❛ ♣♦s✐t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ r❡st❡ ❧❛ ♠ê♠❡✱ ✭éq✉❛t✐♦♥ ✷✳✷✹✮✳✸✷ ❈❤❛♣✐tr❡ ✷✳ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ u − u0 = limX→∞ −kuf Xc Zc y=0 = −kuf −X cos θ sin φ + Tz sin φ sin θ + Ty cos φ X cos θ cos φ − Tz sin θ cos φ + Ty sin φ = kuf tan φ ✭✷✳✷✹✮ uvp − uc = kuf tan φ − kuf(tan φ + Ty cos φ Zc ) = −kuf Ty cos φ Zc ✭✷✳✷✺✮ ✷✳✹✳✸ ▼ét❤♦❞❡ ❞✬ét❛❧♦♥♥❛❣❡ ♣r♦♣♦sé❡ ❆✉ ✈✉ ❞❡s éq✉❛t✐♦♥s ❞ét❛✐❧❧é❡s ♣ré❝é❞❡♠♠❡♥t✱ ❧❡s ♣❛r❛♠ètr❡s ❡①tr✐♥sèq✉❡s ❞❡ ♥♦tr❡ s②stè♠❡ ♣❡✉✈❡♥t êtr❡ ❞ét❡r♠✐♥és ❛ ♣♦st❡r✐♦r✐ ❡♥ ❡①♣❧♦✐t❛♥t ❧❡s ❝❛r❛❝tér✐st✐q✉❡s ♣❤②s✐q✉❡s ❞❡ ❧❛ ✈♦✐❡✳ P♦✉r ❝❡❧❛✱ ♥♦✉s ❛✈♦♥s ❞é✜♥✐ ✉♥❡ ♠ét❤♦❞❡ ❞✬ét❛❧♦♥♥❛❣❡ q✉❡ s✉✐t ❧❡ ❞✐❛❣r❛♠♠❡ ❞❡ ❧❛ ✜❣✉r❡ ✷✳✶✹✳ ◆♦✉s ♣r♦♣♦s♦♥s ❞❡ ❝❛❧❝✉❧❡r ❧❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ ♣♦✉r ✉♥❡ séq✉❡♥❝❡ ❞❡ M ✐♠❛❣❡s ♦ù ❧❡ ♠étr♦ ❛✈❛♥❝❡ ❡♥ ❧✐❣♥❡ ❞r♦✐t❡✳ ❈❡❧❛ ♥♦✉s ♣❡r♠❡ttr❛ ❞✬❛✣♥❡r ❧❡ rés✉❧t❛t ❡♥ ❢❛✐s❛♥t ✉♥ ♠♦②❡♥♥❛❣❡ t♦✉t ❛✉ ❧♦♥❣ ❞❡ ❧❛ séq✉❡♥❝❡ ♣♦✉r ❧❡s ❞✐✛ér❡♥ts ♣♦✐♥ts ❞❡ ❢✉✐t❡s ♦❜t❡♥✉s✳ P♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ❧❛ ❚r❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤ ❬❇❛❧❧❛r❞ ✶✾✽✶❪✱ ❞♦♥❝ ✐❧ ❡st ♥é❝❡ss❛✐r❡ ❞❡ ré❛❧✐s❡r ✉♥❡ ❡①tr❛❝t✐♦♥ ❞❡ ❝♦♥t♦✉rs ❞❡ ❧✬✐♠❛❣❡ ❛✈❡❝ ✉♥ ✜❧tr❡ ❞❡ ❈❛♥♥② ❬❈❛♥♥② ✶✾✽✻❪✳ P✉✐s✱ ✉♥❡ ❢♦✐s ♦❜t❡♥✉ ❧❡ ♣♦✐♥t ❞❡ ❢✉✐t❡✱ ♥♦✉s ♣♦✉✈♦♥s ❞ét❡r♠✐♥❡r ❧✬é❝❛rt❡♠❡♥t ❞❡s r❛✐❧s ❛✉ ❝❡♥tr❡ ❞❡ ❧✬✐♠❛❣❡ ✭vo✮✳ ❈❡❝✐ s❡r❛ ré❛❧✐sé ♣♦✉r ✉♥ ♥♦♠❜r❡ M ❞✬✐♠❛❣❡s ❝♦♥sé❝✉t✐✈❡s ❛✈❡❝ ❧❡ tr❛✐♥ ❡♥ ♠♦✉✈❡♠❡♥t✱ ♣♦✉r ✜♥❛❧❡♠❡♥t✱ ré❛❧✐s❡r ♦❜t❡♥✐r ❧❛ ♠♦②❡♥♥❡ ❞❡s ✈❛❧❡✉rs ♦❜t❡♥✉s✳ ❯♥❡ ét❛♣❡ ✐♠♣♦rt❛♥t❡ ❡st ❞❡ ❞ét❡❝t❡r ❞❡s rés✉❧t❛ts ❡rr♦♥és ♣♦✉r ♦❜t❡♥✐r ✉♥❡ ✈❛❧❡✉r ❞❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❡t ❞✬é❝❛rt❡♠❡♥t ❞❡s r❛✐❧s ❝♦rr❡❝ts✳ ❋✐❣✉r❡ ✷✳✶✹ ✕ ➱t❛♣❡s ❞❡ ❧❛ ♠ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧✬ét❛❧♦♥♥❛❣❡ ❞❡ ❧❛ ❝❛♠ér❛✳ ✷✳✹✳✸✳✶ ❊st✐♠❛t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ■❧ ❡①✐st❡ ❞❡s ♠ét❤♦❞❡s ♣❡r♠❡tt❛♥t ❞✬❡①tr❛✐r❡ ❞❡s ✐♥❢♦r♠❛t✐♦♥s ✸❉ à ♣❛rt✐r ❞✬✉♥❡ s❡✉❧❡ ✐♠❛❣❡✳ ■❧ s✬❛❣✐t ❞✬✐♥❞✐❝❡s ♠♦♥♦❝✉❧❛✐r❡s ❝♦♠♠❡ ❧❡s ♦♠❜r❡s✱ ❧❡s ♦❝❝❧✉s✐♦♥s✱ ❡t❝✳ ❈❡♣❡♥❞❛♥t✱ ❧❡ ♣❧✉s é✈✐❞❡♥t r❡st❡ ❧✬ét✉❞❡ ❞❡s ✓❧✐❣♥❡s ❞❡ ❢✉✐t❡✔ ❡t ❞❡s ✓♣♦✐♥ts ❞❡ ❢✉✐t❡✔ ✭✈❛♥✐s❤✐♥❣ ❧✐♥❡s ❡t ✈❛♥✐s❤✐♥❣ ♣♦✐♥ts ❡♥ ❛♥❣❧❛✐s✮✳ ❖♥ ♣❡✉t ❞é✜♥✐r ❧❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❛♥s ✉♥❡ ✐♠❛❣❡ ❝♦♠♠❡ ét❛♥t ❧❡ ♣♦✐♥t ❞❡ ❧✬❡s♣❛❝❡ ✈❡rs ❧❡q✉❡❧ t♦✉t❡s ❧❡s ❧✐❣♥❡s ❞❡ ♣r♦❢♦♥❞❡✉r✱ ♦✉ ❢✉②❛♥t❡s s❡ r❡♥❝♦♥tr❡♥t✱ ♦✉ s❡♠❜❧❡♥t ❝♦♥✈❡r❣❡r✳ ❊♥ t❡r♠❡s ❞❡ ❝❛♠ér❛✱ ❧❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ V ❞✬✉♥❡ ❞r♦✐t❡ l ✭❞❡ ❧✬❡s♣❛❝❡ ✸❉✮ ❡st ❧✬✐♥t❡rs❡❝t✐♦♥ ❞✉ ♣❧❛♥ ✐♠❛❣❡ ❞❡ ❧❛ ❝❛♠ér❛ ❛✈❡❝ ✉♥ r❛②♦♥ ♣❛r❛❧❧è❧❡ à l ♣❛ss❛♥t ♣❛r ❧❡ ❝❡♥tr❡ ❞❡ ♣r♦❥❡❝t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛✳ ❯♥❡ ❝♦♥séq✉❡♥❝❡ ❞❡ ❝❡ q✉✐ ♣ré❝è❞❡ ❡st q✉❡ ❞❡s ❞r♦✐t❡s ♣❛r❛❧❧è❧❡s ❛✉ ♣❧❛♥ ✐♠❛❣❡ ❛♣♣❛r❛✐ss❡♥t ♣❛r❛❧❧è❧❡s s✉r ❧✬✐♠❛❣❡ ✭✜❣✉r❡ ✷✳✶✺✮✳✷✳✹✳ ➱t❛❧♦♥♥❛❣❡ ✸✸ ❋✐❣✉r❡ ✷✳✶✺ ✕ ◆♦♠❜r❡ ❞❡ ♣♦✐♥ts ❞❡ ❢✉✐t❡ ✈❛r✐❛❜❧❡ ❡♥ ❢♦♥❝t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ✈✉❡ ❊♥ ♣r❛t✐q✉❡✱ ✐❧ ❡①✐st❡ ♣❧✉s✐❡✉rs ❛♣♣r♦❝❤❡s ♣❡r♠❡tt❛♥t ❞❡ ❝❛❧❝✉❧❡r ❞❡s ♣♦✐♥ts ❞❡ ❢✉✐t❡✳ ▲❡ ♣❧✉s s✐♠♣❧❡ ét❛♥t ❞❡ ❝❛❧❝✉❧❡r ❧✬✐♥t❡rs❡❝t✐♦♥ ❞❡ ❞❡✉① ❞r♦✐t❡s ❞❡ ❧✬✐♠❛❣❡ q✉✬♦♥ s❛✐t ♣❛r❛❧❧è❧❡s ❞❛♥s ❧✬❡s♣❛❝❡ ✸❉✳ ❉❛♥s ❧❡ ❝❛s ❞❡ ❞❡✉① ❞r♦✐t❡s ♣❛r❛❧❧è❧❡s l1 ❡t l2✱ ❧❡✉r ♣♦✐♥t ❞❡ ❢✉✐t❡ ❡st V = l1 × l2✳ ❉❛♥s ❧❡ ❝❛s ♦ù ❧✬♦♥ ❞✐s♣♦s❡ ❞❡ n ❞r♦✐t❡s ♣❛r❛❧❧è❧❡s (n > 2)✱ ♦♥ s❛✐t q✉❡ V ❛♣♣❛rt✐❡♥t à t♦✉t❡s ❝❡s ❞r♦✐t❡s✱ ❝❡ q✉✐ s❡ tr❛❞✉✐t ♣❛r ✿ l T 1 V = l T 2 V = ... lT n V = 0✳ ❈❡ s②stè♠❡ ♣❡✉t s❡ rés♦✉❞r❡ ❛✉ s❡♥s ❞❡s ♠♦✐♥❞r❡s ❝❛rrés ❡♥ ✉t✐❧✐s❛♥t ✉♥❡ ❞é❝♦♠♣♦s✐t✐♦♥ ❡♥ ✈❛❧❡✉rs s✐♥❣✉❧✐èr❡s ✭❙❱❉ ❞❡ ❧✬❛♥❣❧❛✐s ❙✐♥❣✉❧❛r ❱❛❧✉❡ ❉❡❝♦♠♣♦s✐t✐♦♥✮✳ ■❧ ❡st ♣ré❢ér❛❜❧❡ ❞❡ t♦✉t❡s ❧❡s ✉t✐❧✐s❡r ♣♦✉r ❛✉❣♠❡♥t❡r ❧❛ ♣ré❝✐s✐♦♥ ❞✉ ❝❛❧❝✉❧ ❞❡ V ✳ P♦✉r ❞ét❡❝t❡r ❧❡s ❧✐❣♥❡s ♣rés❡♥t❡s ❞❛♥s ❧✬✐♠❛❣❡✱ ♥é❝❡ss❛✐r❡s ♣♦✉r ❧❡ s②stè♠❡ ❞✬éq✉❛t✐♦♥s✱ ♦♥ ♣r♦♣♦s❡ ✉t✐❧✐s❡r ❧❛ très ❝♦♥♥✉❡ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤✱ q✉✐ ♣❡r♠❡t ❞❡ ❞ét❡❝t❡r ❞❛♥s ❧✬✐♠❛❣❡ ❧❛ ♣rés❡♥❝❡ ❞❡ ❝♦✉r❜❡s ♣❛r❛♠étr✐q✉❡s ❛♣♣❛rt❡♥❛♥t à ✉♥❡ ❢❛♠✐❧❧❡ ❝♦♥♥✉❡ ✭❞r♦✐t❡s✱ ❝❡r❝❧❡s✱ ❡❧❧✐♣s❡s✮ ❬❇❛❧❧❛r❞ ✶✾✽✶❪✳ ▲❛ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤ ❊❧❧❡ ❛ été ❞é❝r✐t❡ ♣♦✉r ❧❛ ♣r❡♠✐èr❡ ❢♦✐s ♣❛r P❛✉❧ ❍♦✉❣❤ ❡♥ ✶✾✻✷ ❡t ❡st ✉t✐❧✐sé❡ ❝♦♠♠❡ t❡❝❤♥✐q✉❡ ❞❡ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ❢♦r♠❡s ❛♣♣❧✐q✉é❡ s✉r ❞❡s ✐♠❛❣❡s ♥✉♠ér✐q✉❡s✳ ▲❡s ❛♣♣❧✐❝❛t✐♦♥s ❞❡ ❧❛ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤ s♦♥t ♥♦♠❜r❡✉s❡s ❡t ✈❛r✐é❡s✱ t❡❧❧❡s q✉❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡s tr❛✐ts ❞✉ ✈✐s❛❣❡ s✉r ❞❡s ✐♠❛❣❡s✱ ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡s ❝♦❞❡s à ❜❛rr❡s ♦✉ ❞✬❡♠♣r❡✐♥t❡s ❞✐❣✐t❛❧❡s✳ ▲❡ ❢♦♥❝t✐♦♥♥❡♠❡♥t ❞❡ ❧❛ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤ s❡ ❜❛s❡ s✉r ❧✬✉t✐❧✐s❛t✐♦♥ ❞✬✉♥ ❡s♣❛❝❡ ♣❛r❛♠étr✐q✉❡ ✭❡s♣❛❝❡ ❞❡ ❍♦✉❣❤✮ ♣❡r♠❡tt❛♥t ❞❡ s✐♠♣❧✐✜❡r ❧❡ ♣r♦❜❧è♠❡ ❝♦♠♣❧❡①❡ ❞❡ ❞ét❡❝t✐♦♥ ❣❧♦❜❛❧❡ ❞❡s ❢♦r♠❡s ❞❛♥s ❧✬❡s♣❛❝❡ ✐♠❛❣❡✳ ❉❛♥s ❝❡ ♥♦✉✈❡❧ ❡s♣❛❝❡✱ ❧❛ ❞ét❡❝t✐♦♥ ❡st ❧♦❝❛❧❡ ❡t ❞♦♥❝ ♣❧✉s s✐♠♣❧❡✳ ❉❡ ❝❡tt❡ ❢❛ç♦♥✱ ✉♥❡ ❞r♦✐t❡ ♣❛ss❛♥t ♣❛r ✉♥ ♣♦✐♥t ✭x, y✮ ❞❛♥s ❧✬❡s♣❛❝❡ ✐♠❛❣❡ ♣❡✉t êtr❡ ❞é✜♥✐❡ ♣❛r s♦♥ éq✉❛t✐♦♥ ♣♦❧❛✐r❡ ✭éq✉❛t✐♦♥ ✷✳✷✻✮✱ ❛✈❡❝ ❧❡ ❝♦✉♣❧❡ ✭θ, ρ✮✱ ❧❡s ♣❛r❛♠ètr❡s ❞❡ ❧✬❡s♣❛❝❡ ❞❡ ❍♦✉❣❤✳ x ∗ sin θ + y ∗ cos θ = ρ ✭✷✳✷✻✮ ❯♥❡ ❢♦✐s n ❧✐❣♥❡s ❞ét❡❝té❡s✱ ♦♥ ♣❡✉t ❞é✜♥✐r ❧❡ s②stè♠❡ ❞✬éq✉❛t✐♦♥s ✷✳✷✼ ❡t ❧❡ rés♦✉❞r❡ ❝♦♠♠❡ ✐♥❞✐q✉é ♣ré❝é❞❡♠♠❡♥t ❛✈❡❝ ❙❱❉ ♣♦✉r ♦❜t❡♥✐r ❧❛ s♦❧✉t✐♦♥ v ❞✉ s②stè♠❡✳ [c | s] ∗ v = p ✭✷✳✷✼✮ ♦ù v = (x, y) T ✱ c = (cos θ0, ... cos θn−1, cos θn) T ✱ s = (sin θ0, ...sin θn−1,sin θn) T ❡t p = (ρ0, ...ρn−1, ρn) T ✳ ❆✈❛♥t ❞❡ ré❛❧✐s❡r ❧❛ r❡❝❤❡r❝❤❡ ❞❡s ❧✐❣♥❡s ❞❛♥s ❧✬❡s♣❛❝❡ ❞❡ ❍♦✉❣❤✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞❡ ré❛❧✐s❡r ✉♥ ✜❧tr❛❣❡ ❞❛♥s ❧✬❡s♣❛❝❡ ❞❡s ♣❛r❛♠ètr❡s ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡s ❞r♦✐t❡s ❞❛♥s ❧✬✐♠❛❣❡✳ ▲❡ ♠étr♦✸✹ ❈❤❛♣✐tr❡ ✷✳ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ ♣rés❡♥t❡ ❞❡s ❡♥✈✐r♦♥♥❡♠❡♥ts très str✉❝t✉rés ❝❡ q✉✐ ❞✬✉♥ ❝♦té ♦✛r❡ ❞❡s ❛✈❛♥t❛❣❡s ♣♦✉r ❞é✜♥✐r ❞❡s ❝r✐tèr❡s ❞❡ r❡❝❤❡r❝❤❡✳ ❊♥ ❝♦♥tr❡♣❛rt✐❡✱ ❝❡s ❡♥✈✐r♦♥♥❡♠❡♥ts ❝♦♠♣♦rt❡♥t ❜❡❛✉❝♦✉♣ ❞❡ str✉❝t✉r❡s ❛✈❡❝ ❞❡s s❡❣♠❡♥ts ❞r♦✐ts✱ ❝❡ q✉✐ ✐♥tr♦❞✉✐t ❞❡s ❞ét❡❝t✐♦♥s ❡rr♦♥é❡s✳ ▲✬♦❜❥❡❝t✐❢ ❡st ❞❡ s✉♣♣r✐♠❡r ❧❡s ❧✐❣♥❡s ♣rés❡♥t❡s ❞❛♥s ❧✬✐♠❛❣❡ q✉✐ ♥✬❛♣♣❛rt✐❡♥♥❡♥t ♣❛s ❛✉ ❣r♦✉♣❡ ❞❡s ✓❧✐❣♥❡s ❞❡ ❢✉✐t❡✔ ❞✉ ♣♦✐♥t v r❡❝❤❡r❝❤é✳ ❈❡ ✜❧tr❛❣❡ ❡st ❜❛sé s✉r ❧✬♦r✐❡♥t❛t✐♦♥ θ ❞❡s ❧✐❣♥❡s ❛♣♣❛r✲ t❡♥❛♥t ❛✉ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t ✭r❛✐❧s✱ t❛♣✐s✱ ❡t❝✳✮ ❡t ❝♦♥s✐st❡ à s✉♣♣r✐♠❡r t♦✉t❡s ❧❡s ❧✐❣♥❡s q✉✐ ♥✬♦♥t ♣❛s ✉♥❡ ♦r✐❡♥t❛t✐♦♥ ♣r♦❝❤❡ ❞❡ ❝❡❧❧❡ r❡❝❤❡r❝❤é❡ ✭✜❣✉r❡ ✷✳✶✻✮✳ ✭❛✮ ✭❜✮ ❋✐❣✉r❡ ✷✳✶✻ ✕ P❛r❛♠ètr❡s ρ ❡t θ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡s ❧✐❣♥❡s✳ ➚ ❞r♦✐t❡ ♦♥ ♣❡✉t ✈♦✐r ❧❛ ♣r♦❥❡❝t✐♦♥ ❞✉ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t ❡t ❧❡s ✈❛❧❡✉rs ❞❡ θ q✉❡ ❞❡✈r♦♥t ❛✈♦✐r ❝❡s ❧✐❣♥❡s ❞❛♥s ❧✬❡s♣❛❝❡ ❞❡ ❍♦✉❣❤ ▲✬♦❜❥❡❝t✐❢ ❡st ❞❡ s✉♣♣r✐♠❡r ❞❛♥s ❧✬❡s♣❛❝❡ ❞❡ ❍♦✉❣❤ t♦✉t❡s ❧❡s ❧✐❣♥❡s ❞❡ ❧✬✐♠❛❣❡ q✉❡ ♥✬♦♥t ♣❛s ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡s ❧✐❣♥❡s ❞✉ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t✳ P♦✉r ❝❡❧❛✱ ❧❛ r❡❝❤❡r❝❤❡ ❞❡ ❧✐❣♥❡s ❞❛♥s ❧✬❡s♣❛❝❡ ❞❡ ♣❛r❛♠ètr❡s s❡r❛ ❡①❝❧✉s✐✈❡♠❡♥t ré❛❧✐sé❡ ❞❛♥s ❞❡✉① ③♦♥❡s ❞é✜♥✐❡s ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧✬♦r✐❡♥t❛t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❡ ❧✬✐♠❛❣❡✳ ❈❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ s❡r❛ ✐♥✐t✐❛❧❡♠❡♥t ✐♥tr♦❞✉✐t ♠❛♥✉❡❧❧❡♠❡♥t ♣♦✉r ✉♥❡ ✈✐❞é♦ ❡♥ ❧✐❣♥❡ ❞r♦✐t❡✳ ❈❡s ③♦♥❡s ❞❡ r❡❝❤❡r❝❤❡ s♦♥t ❞é✜♥✐❡s ❞❡ ❧❛ ♠❛♥✐èr❡ s✉✐✈❛♥t❡ ✿ ✕ θ < π/2 − θ0(1 + 10%) ✕ θ > π/2 − θ0(1 − 10%) ✕ θ > θ0(1 − 10%) − π/2 ✕ θ < θ0(1 + 10%) − π/2 ✭❛✮ ❚r❛♥s❢♦r♠é ❞❡ ❍♦✉❣❤ ♣♦✉r ✉♥❡ ✐♠❛❣❡ ❞❡ ❧❛ ✈♦✐❡✳ ✭❜✮ ▼❛sq✉❡✳ ▲❡s ❜❛rr❡s ❜❧❛♥❝❤❡s ❞ét❡r♠✐♥❡♥t ❧❛ ③♦♥❡ ❞❡ ❧✬❡s♣❛❝❡ ❞❡ ❍♦✉❣❤ ❞❛♥s ❧❛q✉❡❧❧❡ ♦♥ ré❛❧✐s❡ ❧❛ r❡✲ ❝❤❡r❝❤❡ ❞❡s ❧✐❣♥❡s ❋✐❣✉r❡ ✷✳✶✼ ✕ ❋✐❧tr❛❣❡ ❞❛♥s ❧✬❡s♣❛❝❡ ❞❡ ❍♦✉❣❤✳✷✳✹✳ ➱t❛❧♦♥♥❛❣❡ ✸✺ ▲✬✐♥❝♦♥✈é♥✐❡♥t ❞❡ ❧❛ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤ ❡st q✉❡ ❝✬❡st ✉♥ ❛❧❣♦r✐t❤♠❡ très ❧♦✉r❞ ❡♥ t❡♠♣s ❞❡ ❝❛❧❝✉❧✱ ♠❛✐s ❣râ❝❡ ❛✉ rétré❝✐ss❡♠❡♥t ♣r♦♣♦sé ❞❡ ❧✬❛♥❛❧②s❡ ❞❛♥s ❧✬❡s♣❛❝❡ ❞❡ ❍♦✉❣❤ ❝❡ ❞é❢❛✉t s❡ ✈♦✐t ré❞✉✐t✳ ❯♥❡ ❢♦✐s q✉❡ ❧❡s ❧✐❣♥❡s ♦♥t été ❞ét❡❝té❡s ❞❛♥s ❧✬❡s♣❛❝❡ ❞❡ ❍♦✉❣❤✱ ♥♦✉s ♣♦✉✈♦♥s ♦❜t❡♥✐r ❧❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❝♦rr❡s♣♦♥❞❛♥t ❛✉ ❣r♦✉♣❡ ❞❡ ❧✐❣♥❡s ❞ét❡❝té❡s ❣râ❝❡ à ❧❛ ❞é❝♦♠♣♦s✐t✐♦♥ ❡♥ ✈❛❧❡✉rs s✐♥❣✉❧✐èr❡s✳ ✷✳✹✳✸✳✷ ❋✐❧tr❛❣❡ t❡♠♣♦r❡❧ ❞❡s ♣♦✐♥ts ❞❡ ❢✉✐t❡ ❆✈❛♥t ❞❡ ré❛❧✐s❡r ❧❛ ♠♦②❡♥♥❡ t❡♠♣♦r❡❧❧❡ ❞❡s ♣♦✐♥ts ♦❜t❡♥✉s✱ ♦♥ ❞♦✐t s✉♣♣r✐♠❡r ❧❡s ✈❛❧❡✉rs ❛❜❡r✲ r❛♥t❡s✳ ❈❡s ♣♦✐♥ts ❞❡ ❢✉✐t❡ ♣❡✉✈❡♥t êtr❡ ❞✉s à ❧✬✐♥tr♦❞✉❝t✐♦♥ ❞❡ ❧✐❣♥❡s ❞ét❡❝té❡s ❞❛♥s ❧✬❡s♣❛❝❡ ❞❡ ❍♦✉❣❤ q✉✐ ♥✬❛♣♣❛rt✐❡♥♥❡♥t ♣❛s ❛✉① ❧✐❣♥❡s ❞❡ ♣r♦❢♦♥❞❡✉r ❞❡ ♥♦tr❡ s❝è♥❡✱ ♠❛✐s q✉✐ ♦♥t ✉♥❡ ♦r✐❡♥t❛t✐♦♥ s✐♠✐❧❛✐r❡✳ ❉✬❛✉tr❡ ♣❛rt✱ ❝♦♠♠❡ ♥♦tr❡ ♣❧❛t❡❢♦r♠❡ ❡st s♦✉♠✐s❡ à ❞❡s ✈✐❜r❛t✐♦♥s✱ ❧❡ ❢❛✐t ❞✬✉t✐❧✐s❡r ✉♥❡ séq✉❡♥❝❡ ✈✐❞é♦ ♣♦✉r ❞ét❡❝t❡r ❧❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ ♥♦✉s ♣❡r♠❡ttr❛ ❞✬♦❜t❡♥✐r ✉♥ rés✉❧t❛t ♣❧✉s ✜♥ ❝❛r ❧✬❡✛❡t ❞❡s ✈✐❜r❛t✐♦♥s s❡r❛ ♠♦②❡♥♥é s✉r ❧❡s ❞✐✛ér❡♥t❡s ✐♠❛❣❡s ❞✉ tr❛✐♥ ❡♥ ♠♦✉✈❡♠❡♥t✳ P♦✉r ✜❧tr❡r✱ ♥♦✉s ♣♦✉✈♦♥s ✉t✐❧✐s❡r ❞✐✛ér❡♥t❡s ♠ét❤♦❞❡s ❝♦♠♠❡ ❝❡❧❧❡ ♣rés❡♥té❡ ❞❛♥s ❧❡s tr❛✈❛✉① ❞❡ ❬❙✉tt♦r♣ ✫ ❇✉❝❤❡r ✷✵✵✻❪✱ q✉✐ ♣r♦♣♦s❡ ❞✬✉t✐❧✐s❡r ✉♥ ✜❧tr❡ ♣❛ss❡✲❜❛s s✉✐✈✐ ❞✬✉♥ ✜❧tr❡ ❞❡ ❑❛❧♠❛♥✳ ◆é❛♥♠♦✐♥s✱ ♥♦✉s ❝❤♦✐s✐ss♦♥s ✉♥❡ ♠ét❤♦❞❡ st❛t✐st✐q✉❡ q✉✐ ♥♦✉s ♣❡r♠❡ttr❛ ❞❡ ♣♦♥❞ér❡r ❝❤❛q✉❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞ét❡❝té Vi ✳ ▲❛ ♠ét❤♦❞❡ ❝❤♦✐s✐❡ ❡st ❧❡ ✓s❝♦r❡ st❛♥❞❛r❞✔ ✭❩✲s❝♦r❡ ❡♥ ❛♥❣❧❛✐s✮ ❡t r❡♣rés❡♥t❡ ❧❛ ❞✐✛ér❡♥❝❡ ❡♥tr❡ ✉♥❡ ❞ét❡❝t✐♦♥ X ❡t ❧❛ ♠♦②❡♥♥❡ µ ❞❡ ❧❛ ❞✐str✐❜✉t✐♦♥ ❞❡s ♣♦✐♥ts✱ ❡①♣r✐♠é❡ ❡♥ ✉♥✐tés ❞✬é❝❛rt t②♣❡ σ s❡❧♦♥ ❧❛ ❢♦r♠✉❧❡ ✷✳✷✽✳ Z = X − µ σ ✭✷✳✷✽✮ ▲❡ ❩✲s❝♦r❡ ❞♦♥♥❡ ❧✬é❝❛rt r❡❧❛t✐❢ ❡♥tr❡ ❧❛ ✈❛❧❡✉r ♠❡s✉ré❡ ❡t ❧❛ ✈❛❧❡✉r ❝✐❜❧❡✳ ▲❛ st❛♥❞❛r❞✐s❛t✐♦♥ ❝♦♥s✐st❡ à r❡♠♣❧❛❝❡r X ♣❛r Z = (X − µ)/σ ❡t ❞♦♥♥❡r❛ s②sté♠❛t✐q✉❡♠❡♥t ✉♥❡ ❧♦✐ ♥♦r♠❛❧❡ ❝❡♥tré❡ ré❞✉✐t❡ ♣♦✉r✈✉ q✉❡ X s♦✐t ♥♦r♠❛❧❡✳ ❯♥❡ ♣r♦♣r✐été ✐♠♣♦rt❛♥t❡ ❞❡ ❧❛ ❞✐str✐❜✉t✐♦♥ ♥♦r♠❛❧❡✱ ❡①♣♦sé❡ ❞❛♥s ❧❛ ✜❣✉r❡ ✷✳✶✽✱ ❡st ❧✬✐♥t❡r✈❛❧❧❡ ❞❡ ❝♦♥✜❛♥❝❡ ❞❛♥s ❝❡tt❡ ❞✐str✐❜✉t✐♦♥ s❡❧♦♥ ❧❡q✉❡❧ ✿ ✕ ❊♥✈✐r♦♥ ✻✽✪ ❞❡s ✈❛❧❡✉rs s❡ r❡tr♦✉✈❡♥t ❞❛♥s [−σ; σ] ✕ ❊♥✈✐r♦♥ ✾✺✪ ❞❡s ✈❛❧❡✉rs s❡ r❡tr♦✉✈❡♥t ❞❛♥s [−2σ; 2σ] ✕ ❊♥✈✐r♦♥ ✾✾✱✼✷✪ ❞❡s ✈❛❧❡✉rs s❡ r❡tr♦✉✈❡♥t ❞❛♥s [−3σ; 3σ] ▲❡s ✈✐❜r❛t✐♦♥s ❞✉ tr❛✐♥✱ ❡ss❡♥t✐❡❧❧❡♠❡♥t ❞✉❡s ❛✉① ✐rré❣✉❧❛r✐tés ❞❡ ❧❛ ✈♦✐❡✱ s✉✐✈❡♥t ✉♥❡ ❧♦✐ ♥♦r♠❛❧❡✳ ❈❡s ✈✐❜r❛t✐♦♥s ét❛♥t ❞❡ ❢❛✐❜❧❡ ❛♠♣❧✐t✉❞❡✱ ♦♥ ♣❡✉t ❝♦♥s✐❞ér❡r q✉❡ ❧❛ ❞✐str✐❜✉t✐♦♥ ❞❡s ♣♦✐♥ts ❞❡ ❢✉✐t❡ s✉✐t é❣❛❧❡♠❡♥t ✉♥❡ ❧♦✐ ♥♦r♠❛❧❡ ✭❡♥ ✷❉✮ ❜✐❡♥ q✉❡ ❧❛ r❡❧❛t✐♦♥ q✉✐ ❧❡s ❧✐❡♥t à ❧❛ ♣♦s✐t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ ♥❡ s♦✐t ♣❛s str✐❝t❡♠❡♥t ❧✐♥é❛✐r❡✳ ◆♦✉s ❛✈♦♥s ❞é✜♥✐ ✉♥ s❡✉✐❧ ♣♦✉r s✉♣♣r✐♠❡r ❧❡s ♣♦✐♥ts ❞❡ ❢✉✐t❡s ❛❜❡rr❛♥ts ❡♥ ❜❛s❡ ❛✉① ♣♦✉r❝❡♥t❛❣❡s ❡①♣♦sés ♣ré❝é❞❡♠♠❡♥t✳ ❈❡ s❡✉✐❧ ♥♦✉s ♣❡r♠❡ttr❛ ❞❡ s✉♣♣r✐♠❡r t♦✉s ❧❡s ♣♦✐♥ts ❞❡ ❢✉✐t❡ q✉✐ ♦♥t ✉♥ ❩✲s❝♦r❡ s✉♣ér✐❡✉r ♦✉ é❣❛❧ à ✶ ❡t ✐♥❢ér✐❡✉r ♦✉ é❣❛❧ ✲✶✳ P❛rt❛♥t✱ ❧❛ ♠♦②❡♥♥❡ ♥❡ s❡r❛ ré❛❧✐sé q✉✬❛✈❡❝ ❧❡s ✈❛❧❡✉rs t❡❧❧❡s q✉❡ ❧❡ ❩✲s❝♦r❡ s❛t✐s❢❛✐t |Z| < 1 ⇒ µ − σ < X < µ + σ✳ ✷✳✹✳✹ ❘és✉❧t❛ts ▲❡s ❞✐✛ér❡♥t❡s séq✉❡♥❝❡s ✈✐❞é♦ q✉❡ ♥♦✉s ❛✈♦♥s ♣✉ ❡♥r❡❣✐str❡r à ❜♦r❞ ❞✬✉♥ ♠étr♦ ❱❆▲ ♣♦✉r ❝❡ ♣r♦❥❡t ♦♥t été ré❛❧✐sé❡s ❛✈❡❝ ❞❡✉① ❝❛♠ér❛s ❡t ❡♥ ❞❡✉① ♦❝❝❛s✐♦♥s ❞✐✛ér❡♥t❡s✳ ▲❛ ♣r❡♠✐èr❡ ❢♦✐s ✹ séq✉❡♥❝❡s ♦♥t été ❛❝q✉✐s❡s ✉♥ ❥♦✉r ❞❡ ♣❧✉✐❡ à ❧✬❛ér♦♣♦rt ❞✬❖r❧② ❡t ❧❛ ❞❡✉①✐è♠❡ séq✉❡♥❝❡ ✉♥ ❥♦✉r ❡♥s♦❧❡✐❧❧é à ❘❡♥♥❡s ❛✈❡❝ ✉♥❡ ❛✉tr❡ ❝❛♠ér❛✳ ▲❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡s ❝❛♠ér❛s s♦♥t ❡①♣♦sé❡s ❞❛♥s ❧❡ t❛❜❧❡❛✉ ✷✳✶✳ ▲❡s ❝❛♠ér❛s ✉t✐❧✐sé❡s ❧♦rs ❞❡ ❝❡s ❡♥r❡❣✐str❡♠❡♥ts ♥✬ét❛✐❡♥t ♣❛s ❝❡❧❧❡ r❡t❡♥✉❡ ♣♦✉r ❧❡ ❞✐s♣♦s✐t✐❢✳✸✻ ❈❤❛♣✐tr❡ ✷✳ ▲❛ ♣❧❛t❡❢♦r♠❡ ♠♦❜✐❧❡ ❋✐❣✉r❡ ✷✳✶✽ ✕ ❈♦✉r❜❡ ❞❡ ❞✐str✐❜✉t✐♦♥ ♥♦r♠❛❧❡ ❡t ♣♦✉r❝❡♥t❛❣❡s ❞❡s ✈❛❧❡✉rs q✉✐ s❡ r❡tr♦✉✈❡♥t ♣❛r s❡❝t✐♦♥✳ ❚❛❜❧❡❛✉ ✷✳✶ P❛r❛♠ètr❡s ✐♥tr✐♥sèq✉❡s ♣♦✉r ❧❡s ❞✐✛ér❡♥t❡s séq✉❡♥❝❡s P❛r❛♠ètr❡s ❱✐❞é♦ ✶ à ✹ ❙éq✉❡♥❝❡s ❘❡♥♥❡s ❋♦❝❛❧ ✭♠♠✮ ✻✳✷ ✼✳✶ su (µm) ✺✳✼✻ ✽✳✽ sv (µm) ✹✳✷✾ ✻✳✻ ◆ ✭♣✐①❡❧s✮ ✹✽✵ ✶✵✽✵ ▼ ✭♣✐①❡❧s✮ ✻✷✵ ✶✾✷✵ P♦✉r ❧❡s ❞❡✉① ❝❛♠ér❛s✱ ❧❡s rés✉❧t❛ts ❝♦rr❡s♣♦♥❞❛♥t ❛✉① ♣❛r❛♠ètr❡s ❡①tr✐♥sèq✉❡s s♦♥t ❡①♣♦sés ❞❛♥s ❧❡ t❛❜❧❡❛✉ ✷✳✷✳ ▲❡s rés✉❧t❛ts s♦♥t ❝♦❤ér❡♥ts ♣✉✐sq✉❡ ❧❛ ♣❛✐r❡ ❞❡ ✈✐❞é♦s ✶ ❡t ✷✱ ❡t ✸ ❡t ✹ ❛ été ré❛❧✐sé❡ ❞❛♥s ❞❡✉① tr❛❥❡ts ❞✐✛ér❡♥ts✳ ❉❛♥s ❝❤❛q✉❡ tr❛❥❡t ❧❡s séq✉❡♥❝❡s ♦♥t été ❡♥r❡❣✐stré❡s ❛✈❡❝ ✉♥ tré♣✐❡❞ à ❧✬✐♥tér✐❡✉r ❞✉ tr❛✐♥✱ ♣❧❛❝é ❛✉ ♠✐❧✐❡✉ ❞❡ ❧❛ r❛♠❡ ❞❡rr✐èr❡ ❧❡ ♣❛r❡✲❜r✐s❡✳ ❈❡♣❡♥❞❛♥t✱ à ❝❛✉s❡ ❞❡s r❡✢❡ts ❞❡ ❧❛ ✈✐tr❡ à ❧✬✐♥tér✐❡✉r ❞❡s t✉♥♥❡❧s✱ ❧❡s ❡♥r❡❣✐str❡♠❡♥ts ✈✐❞é♦ ♦♥t été ❛rrêtés✱ ❝❡ q✉✐ ❛ ♣✉ ♣r♦❞✉✐r❡ ❞❡s ❢❛✐❜❧❡s ❝❤❛♥❣❡♠❡♥ts ❞❛♥s ❧❡s ❛♥❣❧❡s ❞✬♦r✐❡♥t❛t✐♦♥✱ ❡t ❛✉ss✐ à ❝❛✉s❡ ❞❡s ✈✐❜r❛t✐♦♥s ❞❡ ❧❛ ❝❛✐ss❡✱ ❧❡ tré♣✐❡❞ ❛ ♣✉ s❡ ❞é♣❧❛❝❡r✳ P❛r r❛♣♣♦rt à ❧❛ séq✉❡♥❝❡ ❞❡ ❘❡♥♥❡s✱ ♦ù ✉♥❡ ❛✉t♦r✐s❛t✐♦♥ ❞✬❡♥r❡❣✐str❡♠❡♥t ❛ été ♦❜t❡♥✉❡✱ ❧❛ ✈❛❧❡✉r ❛❝q✉✐s❡ ❞❡ ❧❛ ❤❛✉t❡✉r ❞❡ ❧❛ ❝❛♠ér❛ ❝♦rr❡s♣♦♥❞ ❛✉① ❡st✐♠❛t✐♦♥s ❢❛✐t❡s s✉r♣❧❛❝❡✳ ▲❛ ❝❛♠ér❛ ❛ été ♣❧❛❝❡ ❝❡tt❡ ❢♦✐s✲❝✐ s✉r ✉♥❡ ❜❛rr❡ ❤♦r✐③♦♥t❛❧❡ ♣rés❡♥t❡ ❞❛♥s ❧❛ r❛♠❡ ❞❡rr✐èr❡ ❧❡ ♣❛r❡✲❜r✐s❡ ❡t s❛ ♣♦s✐t✐♦♥ ♣❛r r❛♣♣♦rt ❛✉ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t ❡st ❝♦♥♥✉❡✳ ❘❛♣♣❡❧♦♥s q✉❡ ❧❛ ❢♦r♠✉❧❡ ♣♦✉r ❞ét❡r♠✐♥❡r ❧❛ ❤❛✉t❡✉r ❡st ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛✳ ▲❛ ✜❣✉r❡ ✷✳✶✾ ♥♦✉s ♠♦♥tr❡ ✉♥ ❡①❡♠♣❧❡ ❞❡ ❧✬❡①tr❛❝t✐♦♥ ❞❡s ❞✐✛ér❡♥ts ♣♦✐♥ts ❞❡ ❢✉✐t❡ ♣♦✉r ✉♥❡ séq✉❡♥❝❡ ✈✐❞é♦ ❡♥ ❧✐❣♥❡ ❞r♦✐t❡✳ ▲❛ s♦✉s✲✜❣✉r❡ ✭❞✮ ♠♦♥tr❡ ❧❡ ✜❧tr❛❣❡ t❡♠♣♦r❡❧ ré❛❧✐sé ❣râ❝❡ ❛✉ ❩✲s❝♦r❡✱ ♦✉ ❧❡s ♣♦✐♥ts ❡♥ ❜❧❡✉ r❡♣rés❡♥t❡♥t ❧❡s ♣♦✐♥ts ❞❡ ❢✉✐t❡ é❝❛rtés ♣♦✉r ❧❡ ❝❛❧❝✉❧❡ ❞❡ ❧❛ ♠♦②❡♥♥❡✳ ❚❛❜❧❡❛✉ ✷✳✷ ❘és✉❧t❛ts ❞✬ét❛❧♦♥♥❛❣❡ ♦❜t❡♥✉s ♣♦✉r ❧❡s ❞✐✛ér❡♥t❡s séq✉❡♥❝❡s P❛r❛♠ètr❡s ❱✐❞é♦ ✶ ❱✐❞é♦ ✷ ❱✐❞é♦ ✸ ❱✐❞é♦ ✹ ❙éq✉❡♥❝❡s ❘❡♥♥❡s ❚❛♥❣❛❣❡ ✭θ✮ ✲✶✵✳✾✸✷◦ ✲✶✶✳✸✸◦ ✲✾✳✹✾✸ ◦ ✲✾✳✼✼✹◦ ✲✾✳✶✾✶✼◦ ▲❛❝❡t ✭φ✮ ✷✳✷✹✹✺◦ ✷✳✽✷✺◦ ✷✳✶✻✶✹ ◦ ✷✳✵✼✽◦ ✲✶✳✺✶✻✶◦ ❍❛✉t❡✉r ✭❤✮ ✭m✮ ✷✳✷✸✷✾ ✷✳✷✹✽ ✷✳✷✻✵✺ ✷✳✷✸✵✺ ✷✳✸✼✵✶ ❚r❛♥s❧❛t✐♦♥ ✭Ty✮ ✭m✮ ✵✳✵✶ ✲✵✳✵✵✺ ✲✵✳✵✷✺ ✲✵✳✵✶✵ ✵✳✵✵✾✷✳✹✳ ➱t❛❧♦♥♥❛❣❡ ✸✼ ✭❛✮ ❉ét❡❝t✐♦♥ ❞❡s ❧✐❣♥❡s ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡✳ ✭❜✮ ❉ét❡❝t✐♦♥s ❞❡s ❧✐❣♥❡s ❛✈❡❝ ❞❡s ❧✐❣♥❡s ❡rr♦♥é❡s ✭♦✉t❧✐❡rs✮✳ ✭❝✮ ❊♥s❡♠❜❧❡ ❞❡s ♣♦✐♥ts ❞❡ ❢✉✐t❡ ❞ét❡❝tés✳ ❊♥ ❜❧❡✉ ❧❡s ♣♦✐♥ts r❡❥❡tés ♣❛r ❧❡ ✜❧tr❡ st❛t✐st✐q✉❡✳ ❊♥ r♦✉❣❡ ❧❛ ♠♦②❡♥♥❡ ❞❡s ♣♦✐♥ts ✈❡rts✳ ❋✐❣✉r❡ ✷✳✶✾ ✕ ❊①❡♠♣❧❡ ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡✳❈❤❛♣✐tr❡ ✸ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❙♦♠♠❛✐r❡ ✸✳✶ ▼♦t✐✈❛t✐♦♥s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸✾ ✸✳✶✳✶ ❇❛s❡ ❞❡ ❞♦♥♥é❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✸✾ ✸✳✶✳✷ ▲❛ ♣✐st❡ ❞❡ r♦✉❧❡♠❡♥t ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✹✵ ✸✳✷ ➱t❛t ❞❡ ❧✬❛rt ❡t ❛♣♣r♦❝❤❡s t❡sté❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✹✶ ✸✳✸ ❆♣♣r♦❝❤❡ r❡t❡♥✉❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✺✶ ✸✳✸✳✶ ❙é❧❡❝t✐♦♥ ❞✉ ▼❛sq✉❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✺✶ ✸✳✸✳✷ ❆♥❛❧②s❡ ❞❡s ❣r❛❞✐❡♥ts ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✺✸ ✸✳✸✳✸ ❘❡❝❤❡r❝❤❡ ❞✉ ♠♦❞è❧❡ ❞❛♥s ❧✬❡s♣❛❝❡ ✸❉ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✺✼ ✸✳✸✳✸✳✶ ◆♦♠❜r❡ ❞✬✐tér❛t✐♦♥s ❞❡ ❘❆◆❙❆❈ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✺✽ ✸✳✸✳✸✳✷ ❙❝♦r❡ ❞✉ ♠♦❞è❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✺✾ ✸✳✸✳✸✳✸ ❘❆◆❙❆❈ ♣♦✉r ❝❤❛q✉❡ r❛✐❧ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✻✶ ✸✳✸✳✹ ❉é♣❡♥❞❛♥❝❡ t❡♠♣♦r❡❧❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✻✷ ✸✳✸✳✺ ❉ét❡r♠✐♥❛t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✻✸ ✸✳✸✳✺✳✶ ❊✛❡ts ❞❡s ❝❤❛♥❣❡♠❡♥t ❞❡ ♣❡♥t❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✻✹ ✸✳✹ ❘és✉❧t❛ts ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✻✼ ✸✳✶ ▼♦t✐✈❛t✐♦♥s ▲❡s tr❛✐♥s ♥✬♦♥t ♣❛s ❜❡s♦✐♥ ❞❡ ré❛❧✐s❡r ❧✬❡①tr❛❝t✐♦♥ ❡t ❧❡ s✉✐✈✐ ❞❡s r❛✐❧s ♣♦✉r ❝♦♥trô❧❡r ❧❡✉r tr❛✲ ❥❡❝t♦✐r❡ ♣✉✐sq✉✬✐❧ s✬❛❣✐t ❞✬✉♥ s②stè♠❡ ❣✉✐❞é✳ P❛r ❝♦♥tr❡✱ ✐❧ ❡①✐st❡ ❞❡✉① r❛✐s♦♥s ♣♦✉r ❧❡sq✉❡❧❧❡s ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ❡st ✐♥tér❡ss❛♥t❡ ✿ ✕ ❆✈♦✐r ✉♥❡ ré❣✐♦♥ ❞✬✐♥térêt ♣♦✉r ❧✬❡①♣❧♦✐t❛t✐♦♥ ❞❡s ❝❛♣t❡✉rs ✿ ◆♦✉s ❝❤❡r❝❤♦♥s à ❞é✈❡❧♦♣♣❡r ✉♥ s②stè♠❡ t❡♠♣s ré❡❧ ❞♦♥t ❧❛ ♠✐♥✐♠✐s❛t✐♦♥ ❞❡ ❧❛ ③♦♥❡ ❞❡ r❡❝❤❡r❝❤❡ ♣❡r♠❡ttr❛ ❞✬♦❜t❡♥✐r ❞❡s rés✉❧t❛ts ♣❧✉s r❛♣✐❞❡s ❡t r♦❜✉st❡s✳ ✕ ▲❛ s❡❝♦♥❞❡ r❛✐s♦♥ ❡st ❧❡ ❢❛✐t q✉❡ ❧❡s ♦❜st❛❝❧❡s ♦♥t ✉♥❡ ❝♦♥♥❡①✐♦♥ ❛✈❡❝ ❧❡ s♦❧✱ ✐❧ ② ❛✉r❛ ❞♦♥❝ ✉♥❡ ❞✐s❝♦♥t✐♥✉✐té ❞❛♥s ❧❡s ❝❛r❛❝tér✐st✐q✉❡s ❞✉ s♦❧✳ ❉ès ❧♦rs✱ ❧❡ ❢❛✐t q✉❡ ❧❡ ✈é❤✐❝✉❧❡ s♦✐t ❣✉✐❞é s❡r❛ ♠✐s à ♣r♦✜t ♣♦✉r ❛♠é❧✐♦r❡r ♥♦t❛❜❧❡♠❡♥t ❧❛ ✜❛❜✐❧✐té ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ♣❛r ❧❛ ❝♦♥♥❛✐ss❛♥❝❡ ❛ ♣r✐♦r✐ ❞❡ ❧✬❡♥✈✐r♦♥♥❡♠❡♥t✳ ❙✐ ♥♦✉s ❛rr✐✈♦♥s à r❡❝♦♥♥❛îtr❡ ❧❡s r❛✐❧s ❥✉sq✉✬à ✉♥❡ ❞✐st❛♥❝❡ ❉ à ❧✬❛✈❛♥t ❞✉ tr❛✐♥✱ ❛❧♦rs ❧❛ ✈♦✐❡ ❡st ❧✐❜r❡ ❞✬♦❜st❛❝❧❡s s✉r ❝❡tt❡ ③♦♥❡ ❡t ✐❧ ② ❛ ♣♦t❡♥t✐❡❧❧❡♠❡♥t ✉♥ ♦❜st❛❝❧❡ ❛✉✲❞❡❧à✳ P♦✉r ❝❡❧❛✱ ♥♦✉s ❛✈♦♥s ❞♦♥❝ é✈❛❧✉é ❧❡s t❡❝❤♥✐q✉❡s ♣rés❡♥té❡s ❞❛♥s ❧❡s s❡❝t✐♦♥s ✸✳✷ ❡t ✸✳✸ ❛✜♥ ❞✬❛♥❛❧②s❡r ❧❛ ❢❛✐s❛❜✐❧✐té ❞✬✉♥ s②stè♠❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ❞❛♥s ❧❡ ❝♦♥t❡①t❡ ❞❡ sé❝✉r✐té ❢❡rr♦✈✐❛✐r❡✳ ✸✳✶✳✶ ❇❛s❡ ❞❡ ❞♦♥♥é❡s ❇✐❡♥ q✉❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❧✐❣♥❡s ♦✉ ❞❡s ♣❛♥♥❡❛✉① r♦✉t✐❡rs ✐❧ ❡①✐st❡ ❞❡s ❜❛s❡s ❞❡ ❞♦♥✲ ♥é❡s ♣✉❜❧✐q✉❡s ❝♦♠♠❡ ❑✐tt✐ ❘♦❛❞ ❉❛t❛s❡t ❬❋r✐ts❝❤ ❡t ❛❧✳ ✷✵✶✸❪ ♦✉ ●❡r♠❛♥ ❚r❛✜❝ ❙✐❣♥ ❘❡❝♦❣♥✐t✐♦♥✹✵ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❋✐❣✉r❡ ✸✳✶ ✕ ❈♦✉♣❡ tr❛♥s✈❡rs❛❧❡ ❞❡ ❧❛ ✈♦✐❡ ❞✉ ❱❆▲ ❇❡♥❝❤♠❛r❦ ❬❙t❛❧❧❦❛♠♣ ❡t ❛❧✳ ✷✵✶✶❪ ❛❝t✉❡❧❧❡♠❡♥t✱ ❛✉❝✉♥❡ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ♣✉❜❧✐q✉❡ ♥✬❡①✐st❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s✱ ❝❡ q✉✐ ♣❡r♠❡ttr❛✐t ❞❡ ❝♦♠♣❛r❡r ♥♦tr❡ ❛♣♣r♦❝❤❡ à ❧❛ ❧✐ttér❛t✉r❡✳ ▲❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ✉t✐❧✐sé❡ ❞❛♥s ❝❡ ♣r♦❥❡t ❛ été ❛❝q✉✐s❡ ♣❛r ♥♦s ♣r♦♣r❡s ♠♦②❡♥s ❞❛♥s ✉♥❡ ♣♦rt✐♦♥ ❞✉ tr❛❥❡t ❞❡ ❧❛ ❧✐❣♥❡ ❞✉ ♠étr♦ ❛✉t♦♠❛t✐q✉❡ ❖r❧②❱❛❧✱ q✉✐ r❡❧✐❡ ❆♥t♦♥② ❡t ❧✬❛ér♦♣♦rt ❖r❧②❙✉❞✱ ❛✈❡❝ ✉♥ ♣❛r❝♦✉rs ❞❡ 7, 8 km ❞❛♥s ❞✐✛ér❡♥t❡s ❝♦♥❞✐t✐♦♥s ❞❡ ✈♦✐❡ ✿ ❛ér✐❡♥✱ t✉♥♥❡❧ ❡t ❡♥ ✈✐❛❞✉❝✳ ✸✳✶✳✷ ▲❛ ♣✐st❡ ❞❡ r♦✉❧❡♠❡♥t ▲❛ ✈♦✐❡ ❞✉ ❱❆▲ ❡st ❝♦♥st✐t✉é❡ ♣r✐♥❝✐♣❛❧❡♠❡♥t ❞❡s é❧é♠❡♥ts s✉✐✈❛♥ts ✿ ✕ ❉❡✉① ♣✐st❡s ❞❡ r♦✉❧❡♠❡♥t✳ ✕ ❉❡✉① ❜❛rr❡s ❞❡ ❣✉✐❞❛❣❡ ❧❛tér❛❧✱ s❡r✈❛♥t é❣❛❧❡♠❡♥t à ❧✬❛❧✐♠❡♥t❛t✐♦♥ é❧❡❝tr✐q✉❡ ❞✉ ♠❛tér✐❡❧ r♦✉❧❛♥t✱ ♠♦♥té❡s s✉r ❞❡s ✐s♦❧❛t❡✉rs ✈❡rt✐❝❛✉①✱ ❞❡s ❜❧♦❝❤❡ts ♦✉ ❞❡s tr❛✈❡rs❡s ❡♥ ❜ét♦♥ ❛r♠é✳ ✕ ❉❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ à ❣✉✐❞❛❣❡ ❝❡♥tr❛❧ ✭❛✐❣✉✐❧❧❛❣❡s✮✳ ✕ ❉❡s ♣❛ss❡r❡❧❧❡s ❡t ❞❡s tr♦tt♦✐rs ❞✬é✈❛❝✉❛t✐♦♥✳ ✕ ❉❡s ❝❤❡♠✐♥s ❞❡ ❝â❜❧❡s ✭t❛♣✐s à ❝â❜❧❡s ❡♥ ✈♦✐❡s ❛✉ s♦❧✮ ❛♣♣❡❧és ❛✉ss✐ t❛♣✐s✳ ▲✬♦✉✈r❛❣❡ ❛✉ s♦❧ ❡st ❝♦♥st✐t✉é ❞✬✉♥ r❛❞✐❡r ❜ét♦♥ s✉r ❧❡q✉❡❧ s♦♥t ❞✐s♣♦sé❡s ❧❡s ✈♦✐❡s✱ ❧❡ ❝❤❡♠✐♥❡✲ ♠❡♥t ❡t t♦✉s ❧❡s é❧é♠❡♥ts ♥é❝❡ss❛✐r❡s ❛✉ ❢♦♥❝t✐♦♥♥❡♠❡♥t ❞❡ ❧❛ ❧✐❣♥❡ ❖r❧②✈❛❧✳ ■❧ ❡st ❜♦r❞é ❞❡ ♣❛rt ❡t ❞✬❛✉tr❡✱ ❞✬✉♥❡ ❝❧ôt✉r❡ ✭❣r✐❧❧❛❣❡✮ ❛✜♥ ❞✬❡♠♣ê❝❤❡r t♦✉t❡ ✐♥tr✉s✐♦♥ s✉r ❧❡ s✐t❡ ❡t ❛ss✉r❡r ❧❛ ❞é✜♥✐t✐♦♥ ❞❡ ✓s✐t❡ ♣r♦♣r❡✔ ✭s❡❝t✐♦♥ ✶✳✷✳✶✮✳ ❯♥ ❛♣❡rç✉ ❞❡ ❧❛ ❝♦✉♣❡ tr❛♥s✈❡rs❛❧❡ ❞❡ ❧❛ ✈♦✐❡ ❛✈❡❝ s❡s ♠❡s✉r❡s ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✶✳ ▲❡s ♣✐st❡s ❞❡ r♦✉❧❡♠❡♥t s❡r✈❡♥t ❞❡ s✉♣♣♦rt ❛✉ ✈é❤✐❝✉❧❡✱ ❡❧❧❡s s♦♥t ❞❡ t②♣❡ ♠ét❛❧❧✐q✉❡ ❞✬✉♥❡ ❧❛r❣❡✉r ❞❡ 25 cm ❡t ❛✈❡❝ ✉♥❡ ❤❛✉t❡✉r ❞❡ 12 cm✳ ▲✬é❝❛rt❡♠❡♥t ❡♥tr❡ s❡s ❛①❡s ❡st ❞❡ 162 cm✱ ❝♦♠♠❡ ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✶✳ ▲❡s ❜❛rr❡s ❞❡ ❣✉✐❞❛❣❡ ♦♥t ❞❡✉① ❢♦♥❝t✐♦♥s ❡ss❡♥t✐❡❧❧❡s ✿ ✕ ❧❡ ❣✉✐❞❛❣❡ ❞✉ ✈é❤✐❝✉❧❡✳✸✳✷✳ ➱t❛t ❞❡ ❧✬❛rt ❡t ❛♣♣r♦❝❤❡s t❡sté❡s ✹✶ ✕ ❧✬❛❧✐♠❡♥t❛t✐♦♥ ❡♥ ❝♦✉r❛♥t é❧❡❝tr✐q✉❡ ❞❡s ✈é❤✐❝✉❧❡s ✭❧❛ ❜❛rr❡ ✓♣♦s✐t✐✈❡✔ ❡st ❛❧✐♠❡♥té❡ ❡♥ 750 V ❝♦♥t✐♥✉✱ ❡t ❧❛ ❜❛rr❡ ✓♥é❣❛t✐✈❡✔ ❡st r❡❧✐é❡ à ❧❛ t❡rr❡✮✳ ▲❡s ❜❛rr❡s ♣♦s✐t✐✈❡s s♦♥t r❡❝♦✉✈❡rt❡s ❞✬✉♥ ❝❛♣♦t ❞❡ ♣r♦t❡❝t✐♦♥ ❡♥ ♠❛t✐èr❡ ♣❧❛st✐q✉❡ ❜❧❛♥❝ ♣r✐♥✲ ❝✐♣❛❧❡♠❡♥t ❡♥ ♣❛rt✐❡ ❛ér✐❡♥♥❡✳ ❈❡s ❜❛rr❡s s♦♥t ❞✐s♣♦sé❡s t♦✉t ❛✉ ❧♦♥❣ ❞❡ ❧❛ ✈♦✐❡✱ s❛✉❢ ❛✉① ❡♥❞r♦✐ts ❞❡s ❜r❛♥❝❤❡♠❡♥ts ♦✉ ❞❡s ❝♦♠♠✉♥✐❝❛t✐♦♥s ❞❡ ✈♦✐❡✳ ▲❡ s✉♣♣♦rt ❞❡ ❧✐❣♥❡ ❞❡ tr❛♥s♠✐ss✐♦♥ ❞❡s ❛✉t♦♠❛t✐s♠❡s ❡st ❝♦✉✈❡rt ♣❛r ❞❡s ❞❡ ♣❧❛♥❝❤❡s ❡♥ ♠❛t✐èr❡ ♣❧❛st✐q✉❡✱ ❡t s❡ s✐t✉❡ ❞❛♥s ❧❡ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t✳ ❉❛♥s ❝❡rt❛✐♥❡s ③♦♥❡s ❧❡ t❛♣✐s ♣r✐♥❝✐♣❛❧ ❡st ❞♦✉❜❧é ♣❛r ✉♥ t❛♣✐s s❡❝♦♥❞❛✐r❡✳ ❈♦♠♠❡ ✐♥❞✐q✉é ❞❛♥s ❧❡ ❝❤❛♣✐tr❡ ♣ré❝é❞❡♥t ❧❛ ✈♦✐❡ s❡ ❝❛r❛❝tér✐s❡ ♣❛r ✉♥ r❛②♦♥ ❞❡ ❝♦✉r❜✉r❡ ❤♦r✐③♦♥t❛❧ ♠✐♥✐♠❛❧ ❞❡ 40 m✱ ✉♥ r❛②♦♥ ✈❡rt✐❝❛❧ ♠✐♥✐♠❛❧ ❞❡ 600 m ❡t ✉♥❡ ♣❡♥t❡ ♠❛①✐♠❛❧❡ ❞❡ 7%✳ ▲❡ ❞é✈❡rs ❞❡ ❧❛ ✈♦✐❡ ✈❛ ❞❡ 0% à 13% ❛✈❡❝ ✉♥❡ ✈❛r✐❛t✐♦♥ ❞✉ ❞é✈❡rs ❞❡ 0, 55%/m✳ ❈❡s ❝❛r❛❝tér✐st✐q✉❡s ♥♦✉s ♣❡r♠❡tt❡♥t ❞✬✉t✐❧✐s❡r ❧✬❤②♣♦t❤ès❡ ❞✉ ♠♦♥❞❡ ♣❧❛♥✳ ❈❡ t②♣❡ ❞❡ ✈♦✐❡ s❡ ❞✐✛ér❡♥❝✐❡ ♣r✐♥❝✐♣❛❧❡♠❡♥t ❞❡s ✈♦✐❡s ❢❡rré❡s ❝❧❛ss✐q✉❡s ♣❛r ❧✬❛❜s❡♥❝❡ ❞❡s tr❛✲ ✈❡rs❡s ❡t ❧✬❡①✐st❡♥❝❡ ❞❡s ♣❧✉s✐❡✉rs str✉❝t✉r❡s ❧✐♥é❛✐r❡s ❡t ♣❛r❛❧❧è❧❡s ❛✉① r❛✐❧s✳ ❈♦♠♠❡ ❧❡ ♠♦♥tr❡ ❧❛ ✜❣✉r❡ ✸✳✷✱ ❧❡s ❝❛r❛❝tér✐st✐q✉❡s ❞✬✉♥❡ ✈♦✐❡ ❢❡rré❡ ♠❛✐♥t✐❡♥♥❡♥t ✉♥❡ ❝♦♥t✐♥✉✐té t♦✉t ❛✉ ❧♦♥❣ ❞❡ ❧❛ ✈♦✐❡✱ ❝♦♠♠❡ ❧✬❡s♣❛❝❡♠❡♥t ❡♥tr❡ ❧❡s tr❛✈❡rs❡s ❡t ❧❡ ❜❛❧❧❛st ❡t ♥♦r♠❛❧❡♠❡♥t ❧✬❡s♣❛❝❡ ❡st ❞é❣❛❣é ❡♥tr❡ ❧❡s ❞❡✉① ✈♦✐❡s✳ ❊♥ r❡✈❛♥❝❤❡✱ ❞❛♥s ❧❡ ❝❛s ❞✬✉♥❡ ✈♦✐❡ ❞❡ ♠étr♦ s✉r ♣♥❡✉s ❛✉t♦♠❛t✐sé✱ ❧✬❡♥tr❡✲✈♦✐❡ ❡st ❢❛✐t❡ ❛✈❡❝ ❞✉ ❜ét♦♥✱ ✐❧ ❡①✐st❡ ❞✬❛✉tr❡s str✉❝t✉r❡s ❝♦♠♠❡ ❧❡s ❜❛rr❡s ❞❡ ❣✉✐❞❛❣❡s✱ ❧❡ t❛♣✐s✱ ❧❡s ♣❛ss❡r❡❧❧❡s✱ ❧❡s ❜♦✐t✐❡rs ❞❡ ❝♦♠♠✉♥✐❝❛t✐♦♥s✱ ❡t❝✳ ✭❛✮ ❱♦✐❡ ❢❡rré❡✳ ✭❜✮ ❱♦✐❡ ♣♥❡✉♠❛t✐q✉❡✳ ❋✐❣✉r❡ ✸✳✷ ✕ ❈♦♠♣❛r❛✐s♦♥ ❡♥tr❡ ✉♥❡ ✈♦✐❡ ❢❡rré❡ ❝❧❛ss✐q✉❡ ❡t ✉♥❡ ✈♦✐❡ ♣♥❡✉♠❛t✐q✉❡ ✸✳✷ ➱t❛t ❞❡ ❧✬❛rt ❡t ❛♣♣r♦❝❤❡s t❡sté❡s P♦✉r ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ❞❡s ♦❜st❛❝❧❡s ❞❛♥s ❧❛ tr❛❥❡❝t♦✐r❡ ❞✬✉♥ tr❛✐♥✴♠étr♦✱ ✉♥❡ ❞❡s ♣r✐♥❝✐♣❛❧❡s ét❛♣❡s ♥é❝❡ss❛✐r❡s ❡st ❧✬❡①tr❛❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❢❡rré❡✳ ❉♦♥❝✱ ❡♥ ♣❛rt❛♥t ❞❡s ❝♦♥♥❛✐ss❛♥❝❡s ❞❡ ❧❛ ❞ét❡❝t✐♦♥ r♦✉t✐èr❡ ❞❛♥s ❧❡ ❝❛s str✉❝t✉ré✱ ✐❧ ❡st ♣♦ss✐❜❧❡ ❞❡ ❝✐t❡r ❞✐✛ér❡♥ts t②♣❡s ❞❡ ♠ét❤♦❞❡s à ❛♣♣❧✐q✉❡r ✿ ✕ ▲❛ r❡❝❤❡r❝❤❡ ❞❡ ♠❛①✐♠❛ ❡t ♠✐♥✐♠❛ ❧♦❝❛✉① ❞✉ ♣r♦✜❧ ❞❡ ♥✐✈❡❛✉ ❞❡ ❣r✐s ❬▲❛✐❧❧❡r ✶✾✾✸❪✳ ✕ ▲❛ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤ ✿ ❞ét❡❝t✐♦♥ ❞✬❡♥s❡♠❜❧❡s ❞❡ ♣♦✐♥ts s✐t✉és s✉r ✉♥❡ ❝♦✉r❜❡ ♣❛r❛♠étr✐q✉❡ ❬❱♦✐s✐♥ ❡t ❛❧✳ ✷✵✵✹❪✳ ✕ ▲❛ tr❛♥s❢♦r♠❛t✐♦♥ ❞✬✐♠❛❣❡s ✿ ❝❡tt❡ ♠ét❤♦❞❡ tr❛♥s❢♦r♠❡ ❧✬✐♠❛❣❡ ♣❛r ♠♦❞✐✜❝❛t✐♦♥ ❞❡s ❝♦♦r❞♦♥✲ ♥é❡s ❞❡s ♣✐①❡❧s ❛✜♥ ❞❡ ❝♦rr✐❣❡r ❧✬❡✛❡t ❞❡ ❧❛ ♣❡rs♣❡❝t✐✈❡ ❬❇r♦❣❣✐ ✶✾✾✺❪✳ ✕ ▲❡s ♦♣ér❛t❡✉rs ❞❡ ❞é❝❧✐✈✐té ✿ ❉ét❡❝t✐♦♥ ❛✉t♦❛❞❛♣t❛t✐✈❡ ❞❡s ❝♦♥t♦✉rs✳ ❆♣rès ❛✈♦✐r ét✉❞✐é ♣❧✉s✐❡✉rs ❞❡s ❤②♣♦t❤ès❡s ✉t✐❧✐sé❡s ❞❛♥s ❧❡s ❞✐✛ér❡♥ts s②stè♠❡s ❞❡ ❧♦❝❛❧✐s❛t✐♦♥ ❡t ❞❡ s✉✐✈✐ ❞❡s ♠❛rq✉❛❣❡s r♦✉t✐❡rs✱ ♥♦✉s ♣♦✉✈♦♥s ét❛❜❧✐r ❧❡ t❛❜❧❡❛✉ ✸✳✶ ✐♥❞✐❝❛t✐❢ ❞❡ ❧❡✉rs ❛✈❛♥t❛❣❡s ❡t ✐♥❝♦♥✈é♥✐❡♥ts ❬❇❡rt♦③③✐ ❡t ❛❧✳ ✷✵✵✵❪✳✹✷ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❚❛❜❧❡❛✉ ✸✳✶ ❈♦♠♣❛r❛t✐❢ ❞❡s ♠ét❤♦❞❡s ♣♦✉r ❧✬❡①tr❛❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡✳ ❍②♣♦t❤ès❡ ❆✈❛♥t❛❣❡s ■♥❝♦♥✈é♥✐❡♥ts ❘é❣✐♦♥ ❞✬✐♥térêt ❖♥ ❛♥❛❧②s❡ q✉✬✉♥❡ ♣❡t✐t❡ ♣♦rt✐♦♥ ❞❡ ❧✬✐♠❛❣❡✱ ❞♦♥❝ ♦♥ ❛ ❞❡ ❣r❛♥❞❡s ✈✐t❡ss❡s ❞❡ tr❛✐t❡♠❡♥t✱ ❡♥ t❡♠♣s ré❡❧ ❛✈❡❝ ✉♥ ❢❛✐❜❧❡ ❝♦ût ❤❛r❞✇❛r❡✳ ▲❡ ❝❤♦✐① ❞❡ ❧❛ ré❣✐♦♥ ❞✬✐♥té✲ rêt ❡st ❝r✐t✐q✉❡✳ ▲❛r❣❡✉r ❞❡ ❧❛ r♦✉t❡ ✜①❡ ❋❛❝✐❧✐t❡ ❧❡ ♣r♦❝❡ss✉s ❞❡ r❡❝❤❡r❝❤❡ ❞❡s ✈♦✐❡s✳ ❘♦❜✉st❡ss❡ ❞❛♥s ❧❡s ③♦♥❡s ❞✬♦♠❜r❡ ♦✉ ❧❡s ③♦♥❡s ♦ù ❧❡s ♠❛rq✉❡s ♥❡ s♦♥t ♣❛s ✈✐s✐❜❧❡s Pr♦❜❧è♠❡s q✉❛♥❞ ❧❛ ❧❛r✲ ❣❡✉r✴t❛✐❧❧❡ ❞❡s ♠❛rq✉❛❣❡s ❡st ✈❛r✐❛❜❧❡✳ ❋♦r♠❡ ❞❡ ❧❛ r♦✉t❡ ▼♦❞è❧❡ r♦❜✉st❡ q✉✐ ❢❛❝✐❧✐t❡ ❧❛ r❡❝♦♥str✉❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❡t ❧❡ ❝♦♥trô❧❡ ❞✉ ✈é❤✐❝✉❧❡✳ ▲❡ ♠♦❞è❧❡ ❡①✐❣❡ ❞❡s éq✉❛✲ t✐♦♥s ❝♦♠♣❧❡①❡s✱ ♣♦✉rt❛♥t ✉♥❡ ❢♦rt❡ ❝❤❛r❣❡ ❞❡ ❝❛❧❝✉❧s✳ ❈♦♥♥❛✐ss❛♥❝❡ ❛ ♣r✐♦r✐ ❞❡ ❧❛ s✉r✲ ❢❛❝❡✴✐♥❝❧✐♥❛✐s♦♥ ❞❡ ❧❛ r♦✉t❡ ❈❡tt❡ ❛♣♣r♦❝❤❡ s✐♠♣❧✐✜❡ ❧❡s ❝♦r✲ ré❧❛t✐♦♥s ❡♥tr❡ ❧❡ ♠♦♥❞❡ ré❡❧ ❡t ❧❡s ♣✐①❡❧s ❞❡ ❧✬✐♠❛❣❡✳ ▲✬❤②♣♦t❤ès❡ ♥✬❡st ♣❛s t♦✉✲ ❥♦✉rs ❛♣♣❧✐❝❛❜❧❡✳ ❋✐❣✉r❡ ✸✳✸ ✕ ■♠❛❣❡ r❡♣rés❡♥t❛t✐✈❡ ❞❡ ❧❛ ❞✐✛ér❡♥❝❡ ❡♥ t❡①t✉r❡ ❞✬✉♥❡ ✈♦✐❡ ❛✉t♦♠♦❜✐❧❡ ❡t ✉♥❡ ✈♦✐❡ ❢❡rré❡ ❉❛♥s ❝❡s ✐♠❛❣❡s ♥♦✉s ♣♦✉✈♦♥s ❛♣♣ré❝✐❡r ✉♥❡ ❜✐♥❛r✐s❛t✐♦♥ ❞❡s ✐♠❛❣❡s ❛✈❡❝ ✉♥ s✐♠♣❧❡ s❡✉✐❧❧❛❣❡ ❛✉ ♥✐✈❡❛✉ ❞❡ ❣r✐s ♣♦✉r ✉♥❡ ✐♠❛❣❡ r♦✉t✐èr❡ ❡t ♣♦✉r ✉♥❡ ✐♠❛❣❡ ❢❡rr♦✈✐❛✐r❡✳ ❆✜♥ ❞❡ ❞ét❡r♠✐♥❡r q✉❡❧❧❡ ♣❛rt ❞❡ ❧✬❡①♣❡rt✐s❡ ❡♥ ✈✐s✐♦♥ ❛❝❝✉♠✉❧é❡ ❞❛♥s ❧❡ s❡❝t❡✉r r♦✉t✐❡r ❡st tr❛♥s❢ér❛❜❧❡ à ✉♥ s②stè♠❡ ❞✬❡①tr❛❝t✐♦♥ ❞❡s ✈♦✐❡s✱ ✐❧ ❢❛✉t r❡❝❡♥s❡r ❧❡s ♣r✐♥❝✐♣❛✉① ♣♦✐♥ts q✉✐ ❞✐❢✲ ❢ér❡♥❝✐❡♥t ❧❡s ❞❡✉① ❞♦♠❛✐♥❡s✳ ❯♥❡ ❝♦♠♣❛r❛✐s♦♥ ❞❡s s❝é♥❛r✐♦s ❡st ♣rés❡♥té ❞❛♥s ❧❡ t❛❜❧❡❛✉ ✸✳✷ ❬●s❝❤✇❛♥❞t♥❡r ❡t ❛❧✳ ✷✵✶✵❪✳✸✳✷✳ ➱t❛t ❞❡ ❧✬❛rt ❡t ❛♣♣r♦❝❤❡s t❡sté❡s ✹✸ ❚❛❜❧❡❛✉ ✸✳✷ ❈♦♠♣❛r❛t✐❢ ❞❡s ♠ét❤♦❞❡s ♣♦✉r ❧✬❡①tr❛❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❬●s❝❤✇❛♥❞t♥❡r ❡t ❛❧✳ ✷✵✶✵❪✳ ❘♦✉t❡ ❱♦✐❡ ❢❡rré❡ ▲❛ ❧❛r❣❡✉r ❞❡ ❧✐❣♥❡ ❡st ✈❛r✐❛❜❧❡✳ ▲❛ ❧❛r❣❡✉r ❞✉ r❛✐❧ ❡st ✜①❡✳ ▲❛ sé♣❛r❛t✐♦♥ ❡♥tr❡ ❧❡s ❧✐❣♥❡s ❡st ✈❛r✐❛❜❧❡✳ ▲❛ sé♣❛r❛t✐♦♥ ❡♥tr❡ ❧❡s r❛✐❧s ❡st ❝♦♥st❛♥t❡✳ ❱❛r✐❛t✐♦♥ ❞✉ t②♣❡ ❞❡ ❧✐❣♥❡✳ ▲❡ r❛✐❧ ❡st ❝♦♥st❛♥t✳ ▲✬❛♣♣❛r❡♥❝❡ ❣é♥ér❛❧❡ ❡st r❡❧❛t✐✈❡♠❡♥t ❤♦✲ ♠♦❣è♥❡✳ ▲✬❛♣♣❛r❡♥❝❡ ❣é♥ér❛❧❡ ♥✬❡st ♣❛s t♦✉❥♦✉rs ❤♦✲ ♠♦❣è♥❡✳ ▲❡s ❧✐❣♥❡s s♦♥t ❢❛✐t❡s ♣♦✉r êtr❡ ✈✉❡s✳ ▲❡s r❛✐❧s ♥❡ s♦♥t ♣❛s ❢❛✐ts ♣♦✉r êtr❡ ✈✉s✳ ▲❡s ❧✐❣♥❡s ♥✬♦♥t ♣❛s ❞❡ ✈♦❧✉♠❡✱ ❞♦♥❝ ❡❧❧❡s ♥❡ ♣r♦❥❡tt❡♥t ♣❛s ❞✬♦♠❜r❡s✳ ▲❡s r❛✐❧s ♦♥t ✉♥ ✈♦❧✉♠❡ ❞♦♥❝ ✐❧s ♣r♦❥❡tt❡♥t ❞❡s ♦♠❜r❡s✳ ▲❡ ✈é❤✐❝✉❧❡ ♣❡✉t ❛❜❛♥❞♦♥♥❡r ❧❛ ✈♦✐❡✳ ▲❡ ✈é❤✐❝✉❧❡ ❛✉r❛ t♦✉t ❧❡ t❡♠♣s ❧❡ ♠ê♠❡ s②s✲ tè♠❡ ❞❡ ❝♦♦r❞♦♥♥é❡s✳ ▲❛ ✈✐t❡ss❡ ❞é♣❡♥❞ ❞❡s ❝♦♥❞✐t✐♦♥s ♠été♦r♦✲ ❧♦❣✐q✉❡s✳ ▲❛ ✈✐t❡ss❡ ❡st ✐♥❞é♣❡♥❞❛♥t❡ ❞❡s ❝♦♥❞✐t✐♦♥s ♠été♦r♦❧♦❣✐q✉❡s✳ ❊♥ ❡✛❡t✱ ❧✬é❝❛rt❡♠❡♥t ♦✉ ❧❛r❣❡✉r ❞❡s r❛✐❧s ❡t ❧❡✉r t❛✐❧❧❡ s♦♥t ✜①❡s t♦✉t ❛✉ ❧♦♥❣ ❞❡ ❧❛ ✈♦✐❡✱ ♣❛r ❝♦♥tr❡ ❧❛ ❧❛r❣❡✉r ❞❡s ❧✐❣♥❡s ❞❡ ❧❛ r♦✉t❡ ❞é♣❡♥❞ ♣r✐♥❝✐♣❛❧❡♠❡♥t ❞✉ t②♣❡ ❞❡ ✈♦✐❡ ♠❛✐s ❣é♥ér❛❧❡♠❡♥t ❡❧❧❡ ❡st ❞é✜♥✐❡ ❡t ❧✐♠✐té❡ ❡♥tr❡ ❞❡s ✈❛❧❡✉rs ♠❛①✐♠❛❧❡s ❡t ♠✐♥✐♠❛❧❡s ♣❛r ❞❡s ♥♦r♠❡s ❞✉ tr❛✜❝ ❞✉ ♣❛②s✳ ➱❣❛❧❡♠❡♥t✱ ❧❛ ♣♦s✐t✐♦♥ r❡❧❛t✐✈❡ ❞❡ ❧❛ ✈♦✐t✉r❡ ❞❛♥s ❧❡ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡ ❡st ✈❛r✐❛❜❧❡✱ ❝❡ q✉✐ r❡♥❞ ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ❞❡s ❧✐❣♥❡s ♣❧✉s ❝♦♠♣❧❡①❡✳ ❊♥ r❡✈❛♥❝❤❡✱ ❧❛ ♣♦s✐t✐♦♥ r❡❧❛t✐✈❡ ❞✉ tr❛✐♥ s✉✐t t♦✉❥♦✉rs ❧❡s r❛✐❧s✱ ❡t ❡❧❧❡ ♣❡✉t êtr❡ ❞ét❡r♠✐♥é❡ ❡♥ ✉t✐❧✐s❛♥t ✉♥ ♠♦❞è❧❡ ❞✉ tr❛✐♥ ❞é♣❡♥❞❛♥t ❞❡ s❛ ❧❛r❣❡✉r ❡t ❞❡ ❧✬é❝❛rt❡♠❡♥t ❞❡ s❡s ❡ss✐❡✉①✳ P❛r ❛✐❧❧❡✉rs✱ ❧❡s ❧✐❣♥❡s ❞❡ ❧❛ r♦✉t❡ ♦♥t été ❝♦♥ç✉❡s ♣♦✉r êtr❡ ✈✉❡s ❞✬✉♥❡ ♠❛♥✐èr❡ s✐♠♣❧❡ ♣❛r ❧✬÷✐❧ ❤✉♠❛✐♥✱ ♣❛r ❝♦♥tr❡ ❧❡s ✈♦✐❡s ❢❡rré❡s ♦♥t été ❝♦♥str✉✐t❡s ♣♦✉r ❣✉✐❞❡r ❧❡s tr❛✐♥s✳ ▲❛ ✜❣✉r❡ ✸✳✸ ♠♦♥tr❡ ✉♥ s❡✉✐❧❧❛❣❡ ❛✉ ♥✐✈❡❛✉ ❞❡ ❣r✐s ❡t ❧❡ rés✉❧t❛t ♠❡t ❡♥ ✈❛❧❡✉r ❧❛ ❞✐✛ér❡♥❝❡ ❞❡s t❡①t✉r❡s ❡①✐st❛♥t❡s ❡♥tr❡ ❧❡s ❞❡✉① ✐♠❛❣❡s✳ ❆✉ss✐✱ ❧❡s ✈♦✐❡s ❢❡rré❡s s♦♥t ♣r♦❝❤❡s ❧❡s ✉♥❡s ❞❡s ❛✉tr❡s ❡t ❢✉s✐♦♥♥❡♥t ❞❛♥s ❧❡s ❛✐❣✉✐❧❧❛❣❡s✱ ❝❡ q✉✐ r❡♥❞ ♣❧✉s ❞✐✣❝✐❧❡ ❧✬❡①tr❛❝t✐♦♥ ❞❡s ✓❜♦♥s✔ r❛✐❧s✳ ▲❡ ✈♦❧✉♠❡ ❞❡s ✈♦✐❡s ❢❡rré❡s ♣❡✉t ❢♦r♠❡r ❞❡ ❧✬♦♠❜r❡ ❝❡ q✉✐ r❡♥❞ ❧❛ ❞ét❡❝t✐♦♥ ♣❧✉s ❞✐✣❝✐❧❡✳ ❈❡s ❝❛r❛❝tér✐st✐q✉❡s s♣é❝✐✜q✉❡s ❞❡ ❧❛ ✈♦✐❡ ❢❡rré❡ s❡r♦♥t ❡①♣❧♦✐té❡s ❛✉ ♠❛①✐♠✉♠ ♣♦✉r ❛ss✉r❡r ❧❛ ♠❡✐❧❧❡✉r❡ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡✳ ▲❡s ❞✐✛ér❡♥t❡s ♠ét❤♦❞❡s ❡①✐st❛♥t❡s ❞❛♥s ❧✬ét❛t ❞❡ ❧✬❛rt s❡r♦♥t ❛♥❛❧②sé❡s ♣❛r ❧❛ s✉✐t❡ ♣♦✉r ✜♥❛❧❡♠❡♥t ❝❤♦✐s✐r ❝❡❧❧❡ q✉✐ s✬❛❞❛♣t❡ ❧❡ ♠✐❡✉① à ♥♦tr❡ ❡♥✈✐r♦♥♥❡✲ ♠❡♥t✳ ❆✉ss✐✱ ♣❛r♠✐ ❧❡s ♠ét❤♦❞❡s ♣♦ss✐❜❧❡s✱ ❝❡❧❧❡s ❜❛sé❡s s✉r ❧❡s ❝♦✉❧❡✉rs ♦✉ ❧❛ t❡①t✉r❡ ❞❡ ❧❛ ③♦♥❡ à ❛♥❛❧②s❡r ♦♥t été é❝❛rté❡s ♣✉✐sq✉❡ ♥♦tr❡ s②stè♠❡ ❞♦✐t êtr❡ ♣❡r❢♦r♠❛♥t ❞❡ ♥✉✐t ❡t ❝♦♠♠❡ ❞❡ ❥♦✉r✱ ❡♥ t✉♥♥❡❧ ❝♦♠♠❡ ❡♥ ❛ér✐❡♥ ❡t s♦✉s ❞✐✛ér❡♥t❡s ❝♦♥❞✐t✐♦♥s ♠été♦r♦❧♦❣✐q✉❡s✳ ❈❡tt❡ ❣r❛♥❞❡ ❞✐✈❡rs✐té ❞❡ ❢♦♥❝t✐♦♥♥❡♠❡♥t ✐♠♣♦s❡ ❞❡s ❝♦♥tr❛✐♥t❡s ❢♦rt❡s s✉r ❧❡s t❡❝❤♥✐q✉❡s à ❛♣♣❧✐q✉❡r✳ ▲❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s✱ ❝✬❡st ✉♥ s✉❥❡t q✉✐ ❛ ❡✉ ✉♥❡ ❣r❛♥❞❡ ✐♠♣♦rt❛♥❝❡ ❞❛♥s ❧❡s 10 ❞❡r♥✐èr❡s ❛♥♥é❡s ❬❇❡✉❣✐♥ ✷✵✵✻❪✳ ■❧ ❡①✐st❡ ❞✐✛ér❡♥t❡s ♠❛♥✐èr❡s ❞✬❛♥❛❧②s❡r ❧❡ ♣r♦❜❧è♠❡✳ ◆♦✉s ♣♦✉✈♦♥s ❢❛✐r❡ ❧✬ét✉❞❡ ❞✐r❡❝t❡♠❡♥t s✉r ❧✬✐♠❛❣❡ ❛✈❡❝ ❧❛ ♣❡rs♣❡❝t✐✈❡ ❝❛♣té❡✱ ♠❛✐s é❣❛❧❡♠❡♥t ❢❛✐r❡ ✉♥❡ tr❛♥s❢♦r♠❛t✐♦♥ ❞❡ ❧✬✐♠❛❣❡ ❡♥ ♦❜t❡♥❛♥t ✉♥❡ ✈✉❡ ❞❡♣✉✐s ❧❡ ❤❛✉t✱ ❛♣♣❡❧é❡ ✓■♥✈❡rs❡ P❡rs♣❡❝t✐✈❡ ▼❛♣♣✐♥❣✔ ❛✉ss✐ ❝♦♥♥✉❡ ❝♦♠♠❡ ✓❱✉❡ ❞✉ ❱♦❧ ❞✬❖✐s❡❛✉✔ ❬●❛♥❣♥❡t ❡t ❛❧✳ ✶✾✽✹❪ ❞❡ ❧✬❛♥❣❧❛✐s ✓❇✐r❞✬s ❡②❡s ✈✐❡✇✔✳ ▲❡ ✓✜❧tr❡ ❞❡ ❈❛♥♥②✔✱ ♦✉ ❞ét❡❝t❡✉r ❞❡ ❈❛♥♥② ❬❈❛♥♥② ✶✾✽✻❪ ❡st ✉♥ ✜❧tr❡ ✉t✐❧✐sé ❞❛♥s ❧❡ tr❛✐t❡♠❡♥t ❞✬✐♠❛❣❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❝♦♥t♦✉rs✳ ■❧ ♥♦✉s ❢♦✉r♥✐t ❞❡ ♠❛♥✐èr❡ ❝❧❛✐r❡ ❧❡s ❝♦♥t♦✉rs ❛✈❡❝ ✉♥❡ très ❜♦♥♥❡ ❧♦❝❛❧✐s❛t✐♦♥✳ ❈❡♣❡♥❞❛♥t✱ ✐❧ ❡st ♥é❝❡ss❛✐r❡ ❞✬❛♣♣❧✐q✉❡r ✉♥ s❡✉✐❧❧❛❣❡ ❛✉ ♥✐✈❡❛✉ ❞❡ ❝♦♥t♦✉rs ♣♦✉r ❞ét❡r♠✐♥❡r ❧❡ ♥✐✈❡❛✉ à ♣❛rt✐r ❞✉q✉❡❧ ❧❡s ✈❛r✐❛t✐♦♥s ❞✬✐♥t❡♥s✐té s♦♥t ❝♦♥s✐❞éré❡s ❞❡s ❝♦♥t♦✉rs✳ ❆✐♥s✐✱ ✉♥ s❡✉✐❧ tr♦♣ ❜❛s ❝♦♥❞✉✐r❛ à ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ❢❛✉① ♣♦s✐t✐❢s✳ ■♥✈❡rs❡♠❡♥t✱ ✉♥ s❡✉✐❧ tr♦♣ ❤❛✉t ❡♠♣ê❝❤❡r❛ ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ❝♦♥t♦✉rs ♣❡✉ ♠❛rq✉és✱ ♠❛✐s ❝♦♥t❡♥❛♥t ❞❡ ❧✬✐♥❢♦r♠❛t✐♦♥ ✉t✐❧❡✳ ❉❛♥s ❧❡ ❝❛s ❡♥ ét✉❞❡✱ à ❝❛✉s❡ ❞❡ ❧❛ ♥❛t✉r❡ ❢❡rré❡ ❞❡s r❛✐❧s ❡t ❡♥ r❛✐s♦♥ ❞❡ ❧❡✉rs ♣♦❧✐ss❛❣❡ ♣❛r ❧❡s ♣❛ss❛❣❡s ❞❡ tr❛✐♥s✱ ❧❡s r❛✐❧s ♦♥t ❞❡s ❛♣♣❛r❡♥❝❡s très ❞✐✛ér❡♥t❡s s✉✐✈❛♥t ❧❡s ❝♦♥❞✐t✐♦♥s ❞✬é❝❧❛✐r❡♠❡♥t ✿✹✹ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ✕ ❜r✐❧❧❛♥ts s✉r ❢♦♥❞ ❝❧❛✐r ❞❡ ❥♦✉r ♣❛r ❝✐❡❧ ❞é❣❛❣é ✕ ❣r✐s s✉r ❣r✐s ❛✈❡❝ ♣❡✉ ❞❡ ❝♦♥tr❛st❡ ❞❡ ❥♦✉r ♣❛r ❝✐❡❧ ❝♦✉✈❡rt ✕ ♥♦✐r s✉r ❣r✐s ❞❡ ♥✉✐t s✬✐❧s s♦♥t é❝❧❛✐rés ♣❛r ❧❡s ♣❤❛r❡s ❞✉ tr❛✐♥ ✭❧✬❡ss❡♥t✐❡❧ ❞❡ ❧❛ ❧✉♠✐èr❡ é♠✐s❡ ♣❛r ❧❡s ♣❤❛r❡s ❡st ❛❧♦rs ré✢é❝❤✐❡ ❞❛♥s ❧❛ ❞✐r❡❝t✐♦♥ s♣é❝✉❧❛✐r❡✱ ❞♦♥❝ à ❧✬♦♣♣♦sé ❞❡ ❧❛ ❝❛♠ér❛✮✳ ❈❡❝✐ ♣❡✉t r❡♥❞r❡ ♣❧✉s ❞✐✣❝✐❧❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡ r❛✐❧s q✉❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❧✐❣♥❡s r♦✉t✐èr❡s✳ ✭❛✮ ■♠❛❣❡ ♦r✐❣✐♥❛❧❡✳ ✭❜✮ ■♠❛❣❡ ❈❛♥♥② ❛✈❡❝ ✉♥ s❡✉✐❧ ❜❛s✳ ✭❝✮ ■♠❛❣❡ ❈❛♥♥② ❛✈❡❝ ✉♥ s❡✉✐❧ ❤❛✉t✳ ❋✐❣✉r❡ ✸✳✹ ✕ ❊①tr❛❝t✐♦♥ ❞❡s ❝♦♥t♦✉rs ❞❡ ❧❛ ✈♦✐❡ ❞✬❖r❧②❱❛❧ ❛✈❡❝ ❧❡ ✜❧tr❡ ❞❡ ❈❛♥♥② ❡♥ ❢♦♥❝t✐♦♥ ❞✉ s❡✉✐❧❧❛❣❡ ❛♣♣❧✐q✉é✳ ❯♥❡ ❛✉tr❡ ♣♦ss✐❜✐❧✐té ❡st ❞❡ ❞✐♠✐♥✉❡r ❧❡ s❡✉✐❧❧❛❣❡ ❞✉ ✜❧tr❡ ❞❡ ❈❛♥♥② ❝❡ q✉✐ ♥♦✉s ♣❡r♠❡ttr❛ ❞❡ ❞ét❡❝t❡r ❧❛ ♣❧✉♣❛rt ❞❡s ❣r❛❞✐❡♥ts ♣rés❡♥ts ❞❛♥s ❧✬✐♠❛❣❡ ❡t ❛ ♣♦st❡r✐♦r✐ ✜❧tr❡r ❧❡s ❝♦♥t♦✉rs ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❡✉r ❞✐r❡❝t✐♦♥ ♦✉✱ ❛✉tr❡♠❡♥t ❞✐t✱ ❞❡ ♥❡ ❝♦♥s❡r✈❡r q✉❡ ❧❡s ❝♦♥t♦✉rs ❞♦♥t ❧❛ ❞✐r❡❝t✐♦♥ ❡st ❝♦♠♣❛t✐❜❧❡ ❛✈❡❝ ❝❡❧❧❡ ❛tt❡♥❞✉❡ ♣♦✉r ❧❡s r❛✐❧s✳ ❈❡tt❡ ❢♦✉r❝❤❡tt❡ ❞❡s ❛♥❣❧❡s ♣♦✉r ❧❡ ✜❧tr❛❣❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts ❡st ❞é✜♥✐❡ ♣❛r ❧❛ ♣r♦❥❡❝t✐♦♥ ❡♥ ♣❡rs♣❡❝t✐✈❡ ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡✳ ❈♦♠♠❡ ♠♦♥tr❡ ❧❛ ✜❣✉r❡ ✸✳✹✱ ❧❡ ♥♦♠❜r❡ ❞❡ ❣r❛❞✐❡♥ts ❡st ❝♦♥s✐❞ér❛❜❧❡♠❡♥t ré❞✉✐t✳ ✭❛✮ ■♠❛❣❡ ♦r✐❣✐♥❛❧❡✳ ✭❜✮ ■♠❛❣❡ ❈❛♥♥② ❛✈❡❝ ✉♥ s❡✉✐❧ très ❜❛s✳ ✭❝✮ ■♠❛❣❡ ❈❛♥♥② ✜❧tré❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts✳ ❋✐❣✉r❡ ✸✳✺ ✕ ❊①tr❛❝t✐♦♥ ❞❡s ❝♦♥t♦✉rs ❞❡ ❧❛ ✈♦✐❡ ❞✬❖r❧②❱❛❧ ❛✈❡❝ ✉♥ s❡✉✐❧ ❜❛s ❛✈❡❝ ❧❡ ✜❧tr❡ ❞❡ ❈❛♥♥② ❡t ✉♥ ✜❧tr❛❣❡ ❛ ♣♦st❡r✐♦r✐ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts✳ ▲❛ ❞ét❡❝t✐♦♥ ❞❡s ❧✐❣♥❡s ❞❛♥s ✉♥❡ ✐♠❛❣❡ ❡st é❣❛❧❡♠❡♥t ♣♦ss✐❜❧❡ ❣râ❝❡ à ❧❛ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤ ❬❇❛❧❧❛r❞ ✶✾✽✶❪✱ ❡t ❛ été ❞é❥à ✉t✐❧✐sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ♣❛r ❬❘♦❞r✐❣✉❡③ ❡t ❛❧✳ ✷✵✶✷❪ ❞❛♥s s❡s tr❛✈❛✉①✳ ■❧s ♥♦✉s ♣r♦♣♦s❡♥t ❞✬❛♥❛❧②s❡r ❧❡s r❛✐❧s ♣❛r ♣❡t✐t❡s ♣♦rt✐♦♥s ♣♦✉r ♣♦✉✈♦✐r ❧❡s ❛♣♣r♦①✐♠❡r à ❞❡s s❡❣♠❡♥ts ❞❡ ❞r♦✐t❡s✳ ❉❛♥s ❧❡ ❞♦♠❛✐♥❡ r♦✉t✐❡r✱ ❬❚✐❛♥ ❡t ❛❧✳ ✷✵✵✻❪ ✉t✐❧✐s❡♥t ❍♦✉❣❤✱ ♠❛✐s ❞❛♥s ✺ ♣❛rt✐❡s ❞❡ ❧✬✐♠❛❣❡ ♣♦✉r ♣♦✉✈♦✐r ❞ét❡❝t❡r ❧❛ ❝♦✉r❜❡ ❛♣♣r♦①✐♠❛t✐✈❡ ♣❛r ❞❡s ❧✐❣♥❡s ❞r♦✐t❡s✳ ❈❡♣❡♥❞❛♥t✱ ❧❡ ♣r✐♥❝✐♣❛❧ ♣r♦❜❧è♠❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ❡st ❧❛ ❝♦♠♣❧❡①✐té ❞❡ ❧✬✐♠❛❣❡✱ ♣✉✐sq✉✬✐❧ ② ❛ é♥♦r✲ ♠é♠❡♥t ❞❡s str✉❝t✉r❡s ❧✐♥é❛✐r❡s ❛✉t♦✉r ❞❡s r❛✐❧s ❝♦♠♠❡ ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✼✳ ❊♥ r❡✈❛♥❝❤❡✱ ❧❛ ❝♦♥♥❛✐ss❛♥❝❡ ❛ ♣r✐♦r✐ ❞❡ ❧❛ ♠♦r♣❤♦❧♦❣✐❡ ❞❡ ❧❛ ✈♦✐❡✱ ❢❛❝✐❧✐t❡ ❧❛ ❞✐st✐♥❝t✐♦♥ ❡♥tr❡ ❧❡s ❧✐❣♥❡s q✉✐ ❛♣♣❛r✲ t✐❡♥♥❡♥t ❛✉① r❛✐❧s ❡t ❝❡❧❧❡s ❞❡ ❧❛ str✉❝t✉r❡ ❞❡ ❧❛ ✈♦✐❡✳ ❆✐♥s✐✱ ❬❘♦❞r✐❣✉❡③ ❡t ❛❧✳ ✷✵✶✷❪ ♣r♦♣♦s❡ ❞✬✉t✐❧✐s❡r ❧❛ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤ ♣♦✉r ❞ét❡❝t❡r ❧❡s r❛✐❧s✳✸✳✷✳ ➱t❛t ❞❡ ❧✬❛rt ❡t ❛♣♣r♦❝❤❡s t❡sté❡s ✹✺ ❋✐❣✉r❡ ✸✳✻ ✕ ❊①tr❛❝t✐♦♥ ❞❡s r❛✐❧s ré❛❧✐sé❡ ♣❛r tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤ ♣❛r ♣♦rt✐♦♥s✳ ■♠❛❣❡ ❡①tr❛✐t❡ ❞❡ ❬❘♦❞r✐❣✉❡③ ❡t ❛❧✳ ✷✵✶✷❪ ➱❣❛❧❡♠❡♥t✱ ❝♦♠♠❡ ✐♥❞✐q✉é ❞❛♥s ❧❛ s❡❝t✐♦♥ ✷✳✹✳✸✳✶ ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡s ❧✐❣♥❡s ♣❡✉t êtr❡ ✉t✐❧✐sé❡ ♣♦✉r ❧❡s ❝❧❛ss✐✜❡r ❞❛♥s ❧✬❡s♣❛❝❡ ❞❡ ❍♦✉❣❤ ❝♦♠♠❡ ❧❡ ♠♦♥tr❡ ❧❛ ✜❣✉r❡ ✸✳✼ ♦ù ❞❡✉① ❝♦✉❧❡✉rs ♦♥t été ✉t✐❧✐sé❡s ♣♦✉r ❧❡s ❞✐✛ér❡♥❝✐❡r✳ ❖r✱ ❧❡ ♣r♦❜❧è♠❡ ❞❡ ❧❛ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤ ❡st q✉✬❡❧❧❡ ❡st ❧♦✉r❞❡ ❡♥ ❝❛❧❝✉❧ ❡t ✐♠♣❧✐q✉❡ ❧✬✉t✐❧✐s❛t✐♦♥ ❞❡s s❡✉✐❧s ❛✉ ♥✐✈❡❛✉ ❞❡ ❧✬✐♠❛❣❡ ❞❡ ❣r❛❞✐❡♥ts ❡t ❞❛♥s ❧✬❡s♣❛❝❡ ❞❡ ❍♦✉❣❤✳ P❛r ❝♦♥séq✉❡♥t✱ ❧❡ rés✉❧t❛t ♦❜t❡♥✉ ♥✬❡st ♣❛s t♦✉❥♦✉rs s❛t✐s❢❛✐s❛♥t✳ P♦✉r ❛❝❝é❧ér❡r ❧❡ ♣r♦❝❡ss✉s ❞❡ ❝❛❧❝✉❧ ❬❘♦❞r✐❣✉❡③ ❡t ❛❧✳ ✷✵✶✷❪ ♣r♦♣♦s❡ ❞❡ ré❞✉✐r❡ ❧❛ t❛✐❧❧❡ ❞❡ ❧✬✐♠❛❣❡ ❡t ♣♦✉r ❛♠é❧✐♦r❡r ❧✬❡①tr❛❝t✐♦♥ ❞❡s ❝♦♥t♦✉rs ✉♥❡ ♦♣ér❛t✐♦♥ ❞❡ ❢❡r♠❡t✉r❡ ♠♦r♣❤♦❧♦❣✐q✉❡ ❡st ❛♣♣❧✐q✉é❡✳ ▼ê♠❡ s✐ ❧❡ t❡♠♣s ❞❡ ❝❛❧❝✉❧ s❡ ✈♦✐t ré❞✉✐t✱ ❝❡tt❡ ❛♣♣r♦❝❤❡ ❡①✐❣❡ ❧✬✉t✐❧✐s❛t✐♦♥ ❞❡s s❡✉✐❧s ❛✉ ♥✐✈❡❛✉ ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts ❡t ❛✉ ♥✐✈❡❛✉ ❞❡ ❧❛ r❡❝❤❡r❝❤❡ ❞❡ ❧✐❣♥❡s ❞❛♥s ❧✬❡s♣❛❝❡ ❞❡ ❍♦✉❣❤✱ ❝❡ q✉✐ ♣❡✉t ❧✐♠✐t❡r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s s♦✉s ❝❡rt❛✐♥❡s ❝♦♥❞✐t✐♦♥s ❞✬é❝❧❛✐r❛❣❡✳ ❋✐❣✉r❡ ✸✳✼ ✕ ❉ét❡❝t✐♦♥ ❞❡s ❧✐❣♥❡s ❛✈❡❝ ❧❛ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤ à ♣❛rt✐r ❞❡ ❧✬✐♠❛❣❡ ❜✐♥❛✐r❡ ♦❜t❡♥✉❡ ❛✈❡❝ ❧❡ ✜❧tr❡ ❞❡ ❈❛♥♥②✳ ❈❧❛ss✐✜❝❛t✐♦♥ ❞❡s ❧✐❣♥❡s ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❡✉r ♦r✐❡♥t❛t✐♦♥ ❞❛♥s ❧✬✐♠❛❣❡ ♣♦✉r ❞ét❡r♠✐♥❡r s✐ ❡❧❧❡s ❛♣♣❛rt✐❡♥♥❡♥t ♦✉ ♣❛s à ❧❛ ✈♦✐❡ P❛r ❛✐❧❧❡✉rs✱ ♥♦✉s ❛✈♦♥s t❡sté ❧✬❛❧❣♦r✐t❤♠❡ ❞❡s ❝❛s❝❛❞❡s ✓✇❛t❡rs❤❡❞✔ ❬❇❡✉❝❤❡r ✶✾✾✹❪ ✉t✐❧✐sé ♣♦✉r ❧❛ s❡❣♠❡♥t❛t✐♦♥ ❞❡s ✐♠❛❣❡s à ♣❛rt✐r ❞❡ ❧❛ ❧✐❣♥❡ ❞❡ sé♣❛r❛t✐♦♥ ❞❡s ❡❛✉① ✭▲P❊✮✱ ✐ss✉❡ ❞❡ ❧❛ ♠♦r♣❤♦❧♦❣✐❡ ♠❛t❤é♠❛t✐q✉❡✳ ❈❡t ❛❧❣♦r✐t❤♠❡ ❝♦♥s✐❞èr❡ ❧✬✐♠❛❣❡ ❡♥ ♥✐✈❡❛✉① ❞❡ ❣r✐s ❝♦♠♠❡ ✉♥ r❡❧✐❡❢ t♦♣♦❣r❛♣❤✐q✉❡✱ ❝❡ q✉✐ ♣❡r♠❡t ❞❡ tr♦✉✈❡r ❧❛ ❧✐❣♥❡ ❞❡ sé♣❛r❛t✐♦♥ ❞❡s ré❣✐♦♥s ❞❡ ❧✬✐♠❛❣❡✳ ▲❡ ❜✉t ❞❡ ❝❡t ❛❧❣♦r✐t❤♠❡ ❡st ❞✬é❧✐♠✐♥❡r ❧❛ s✉r✲s❡❣♠❡♥t❛t✐♦♥ ❝❛✉sé❡ ♣❛r ❧❛ ▲P❊✳ ❙♦♥ ❢♦♥❝t✐♦♥♥❡♠❡♥t ❝♦♥s✐st❡ ❞♦♥❝ à s✉♣♣r✐♠❡r ❧❡s ❝♦♥t♦✉rs ❝♦♠♣❧èt❡♠❡♥t ❡♥t♦✉rés ♣❛r ❞❡s ❝♦♥t♦✉rs ♣❧✉s ❢♦rts✱ ❡♥ ♣r♦❝é❞❛♥t à ✉♥❡ ❢✉s✐♦♥ ❞❡s ❜❛ss✐♥s ✈❡rs❛♥ts✳ ❈❡tt❡ t❡❝❤♥✐q✉❡ ♠♦♥tr❡ ❞❡ très ❜♦♥s rés✉❧t❛ts✱ ♠❛✐s s♦♥ t❡♠♣s ❞✬❡①é❝✉t✐♦♥ ❡st ❞✐✣❝✐❧❡♠❡♥t ❝♦♠♣❛t✐❜❧❡ ❛✈❡❝ ✉♥ tr❛✐t❡♠❡♥t ❡♥ t❡♠♣s ré❡❧✳✹✻ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❉❡ ♣❧✉s✱ ❧❡s ✈❛r✐❛t✐♦♥s ❜r✉t❛❧❡s ❞❡ ❧✉♠✐♥♦s✐té ❛✉① ❡♥tré❡s ❡t s♦rt✐❡s ❞❡s t✉♥♥❡❧s ❛❥♦✉t❡♥t ✉♥❡ ❞✐✣❝✉❧té s✉♣♣❧é♠❡♥t❛✐r❡ ❡♥ r❛✐s♦♥ ❞✉ ❝❤❛♥❣❡♠❡♥t r❛❞✐❝❛❧ ❞❛♥s ❧❡s ♥✐✈❡❛✉① ❞❡ ❣r✐s ❞❡ ❧✬✐♠❛❣❡ q✉✬❡❧❧❡s ❡♥❣❡♥❞r❡♥t✳ ❉❡✉① ❡①❡♠♣❧❡s ❞❡ s❡❣♠❡♥t❛t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❛✈❡❝ ✇❛t❡rs❤❡❞ s♦♥t ❡①♣♦sés ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✽✳ ❯♥❡ s♦❧✉t✐♦♥ ♣♦ss✐❜❧❡ s❡r❛✐t ❞✬❛❥♦✉t❡r ❞❡s ❝♦♥tr❛✐♥t❡s à ❧❛ ♠ét❤♦❞❡ ✇❛t❡rs❤❡❞✱ ♣❛r ❡①❡♠♣❧❡ tr♦✉✈❡r ❧❛ ❧✐❣♥❡ ❞❡ sé♣❛r❛t✐♦♥ ❞❡s ❡❛✉① ♣❛r s❡❝t✐♦♥s ❞❛♥s ❧✬✐♠❛❣❡ ✭♦♣ér❛t❡✉r ❞❡ ❝♦♥tr❛st❡ ❧♦❝❛❧✮ ♣✉✐s ré❛❧✐s❡r ❧❛ ❢✉s✐♦♥ ❞❡s ③♦♥❡s tr♦✉✈é❡s✳ ❈❡♣❡♥❞❛♥t✱ ❛❥♦✉t❡r ❞❡ ❧❛ ❝♦♠♣❧❡①✐té à ❧✬❛❧❣♦r✐t❤♠❡ r❡♥❞r❛ ❧❡ tr❛✐t❡♠❡♥t ❡♥ t❡♠♣s ré❡❧ ❡♥❝♦r❡ ♣❧✉s ♣r♦❜❧é♠❛t✐q✉❡✳ ❋✐❣✉r❡ ✸✳✽ ✕ ❊①tr❛❝t✐♦♥ ❞❡s r❛✐❧s ❛✈❡❝ ✇❛t❡rs❤❡❞ ❡t ❧✐♠✐t❛t✐♦♥s ❞❡ ❧❛ t❡❝❤♥✐q✉❡✳ ▲❛ ♣r❡♠✐èr❡ ❛♣♣r♦❝❤❡ ♦r✐❣✐♥❛❧❡ ❞é✈❡❧♦♣♣é❡ ❡t t❡sté❡ ❛ été ♣rés❡♥té❡ ❞❛♥s ■❚❙❈ ✷✵✶✷ ✭■♥t❡r♥❛✲ t✐♦♥❛❧ ■❊❊❊ ❈♦♥❢❡r❡♥❝❡ ♦♥ ■♥t❡❧❧✐❣❡♥t ❚r❛♥s♣♦rt❛t✐♦♥ ❙②st❡♠s✮✱ ✭✈♦✐r ❛♥♥❡①❡ ❆✳✶✮✳ ▲✬✐❞é❡ ♣r✐♥❝✐♣❛❧❡ ét❛✐t ❞✬❛♣♣r♦①✐♠❡r ❧❡s r❛✐❧s ♣❛r ❞❡s s❡❣♠❡♥ts ❞❡ ❧✐❣♥❡s ❞r♦✐t❡s✳ P✉✐sq✉❡ ❧❛ ❧❛r❣❡✉r ❞❡ ❧❛ ✈♦✐❡ ❡st ❝♦♥♥✉❡✱ ♥♦✉s ♣♦✉✈♦♥s ❛♥❛❧②s❡r ❧✬✐♠❛❣❡ ❛✈❡❝ 4 ❢❡♥êtr❡s ❣❧✐ss❛♥t❡s ❧❡ ❧♦♥❣ ❞❡s ❜♦r❞s ❞❡ ❝❤❛q✉❡ r❛✐❧✳ P❧✉s ♣ré❝✐sé♠❡♥t✱ ♥♦✉s ❝❛❧❝✉❧♦♥s ❧❡s ❣r❛❞✐❡♥ts tr❛♥s✈❡rs❛✉① ❞❛♥s ❝❤❛q✉❡ ❢❡♥êtr❡✱ ♥♦✉s ❞ét❡r♠✐♥♦♥s ❧❡s ♣♦s✐t✐♦♥s ❞❡ ❧❡✉rs ♠❛①✐♠❛ q✉❡ ♥♦✉s ✉t✐❧✐s♦♥s ♣♦✉r ❢❛✐r❡ ❣❧✐ss❡r ❧❡s ❢❡♥êtr❡s ❞✉ ❜❛s ❞❡ ❧✬✐♠❛❣❡ ✈❡rs ❧❡ ♣♦✐♥t ❞❡ ❢✉✐t❡✳ P♦✉r ❝♦♥trô❧❡r ❝❡ ❞é♣❧❛❝❡♠❡♥t✱ ♥♦✉s ✉t✐❧✐s♦♥s ❞❡s ❡st✐♠❛t✐♦♥s ❞❡ ♣♦s✐t✐♦♥ ✭♠♦❞è❧❡ ❞❡ ❧✐❣♥❡ ❞r♦✐t❡✮ ❡t ❧❛ ♣♦s✐t✐♦♥ ré❡❧❧❡ ✭♣♦s✐t✐♦♥ ❞❡s ♠❛①✐♠✉♠s✮✳ ●râ❝❡ à ❧❛ ♠ét❤♦❞❡ ❞❡s ♠♦✐♥❞r❡s ❝❛rrés✱ ♥♦✉s ❛❝t✉❛✲ ❧✐s♦♥s ❧❡ ❝♦❡✣❝✐❡♥t ❞✐r❡❝t❡✉r ❞❡s ❧✐❣♥❡s ❞r♦✐t❡s ❡t ♣♦✉✈♦♥s s✉✐✈r❡ ❧❡s r❛✐❧s t♦✉t ❛✉ ❧♦♥❣ ❞❡ ❧✬✐♠❛❣❡✳ ❯♥ ❡①❡♠♣❧❡ ❞❡ ❢❡♥êtr❡s ❡st ❡①♣♦sé ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✾❛ ❡t ❧❡s ❣r❛❞✐❡♥ts ♦❜t❡♥✉s à ❧✬✐♥tér✐❡✉r ❞❡s ❢❡♥êtr❡s s♦♥t ✈✐s✐❜❧❡s ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✾❜✳ ❈❡tt❡ ❛♣♣r♦❝❤❡ ❞♦♥♥❡ ❞❡ ❜♦♥s rés✉❧t❛ts ❝♦♠♠❡ ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✶✵✳ ❈❡♣❡♥❞❛♥t✱ ❡❧❧❡ s❡ ♣rés❡♥t❡ s❡♥s✐❜❧❡ ❛✉① ♦❝❝❧✉s✐♦♥s✱ ❝❛r ❝✬❡st ✉♥❡ ❛♣♣r♦❝❤❡ ❞✬❛♥❛❧②s❡ ❡♥ ❝♦♥t✐♥✉✳ ❙✐ ❝❡tt❡ ♦❝❝❧✉s✐♦♥ ❡st s✉♣ér✐❡✉r❡ à ❧❛ ❧♦♥❣✉❡✉r ❞❡ ❧❛ ❞r♦✐t❡ ❛♣♣r♦①✐♠❛t✐✈❡✱ ✐❧ ❡①✐st❡ ✉♥ r✐sq✉❡ ❞❡ ♣❡rt❡ ❞❡ ❧❛ ❞✐r❡❝t✐♦♥ ❞❡s r❛✐❧s✳ ❊♥ ♦✉tr❡✱ ❡♥ r❛✐s♦♥ ❞❡s ❝❤❛♥❣❡♠❡♥ts ❞❡ ♣❡♥t❡✱ ❧✬❛♣♣r♦①✐♠❛t✐♦♥ ❞❡ ♣❡rs♣❡❝t✐✈❡ ❢❛✐t❡ ♣♦✉r ♣❧❛❝❡r ❧❡s ❢❡♥êtr❡s ♥❡ ❝♦♥✈✐❡♥t ♣❧✉s ❡t ❝❡s ❞❡r♥✐èr❡s ♣❡✉✈❡♥t êtr❡ ♠❛❧ ♣❧❛❝é❡s✳ ◗✉❛♥❞ ❝❡tt❡ ❤②♣♦t❤ès❡ ❞✉ ♠♦♥❞❡ ♣❧❛♥ Z = 0 ♥✬❡st ♣❛s r❡s♣❡❝té❡✱ ❧✬✐♠❛❣❡ ❡♥ ✈✉❡ ❞✬♦✐s❡❛✉ ✓❇✐r❞✬s ❡②❡s ✈✐❡✇✔ ♦✉ ■P▼ ❞❡ ❧✬❛♥❣❧❛✐s ■♥✈❡rs❡ P❡rs♣❡❝t✐✈❡ ▼❛♣♣✐♥❣ s❡ ✈♦✐t ❞é❢♦r♠é❡✳ ❯♥❡ ✈❛r✐❛t✐♦♥ ❞❡ Z ✐♥tr♦❞✉✐t ❞❡s ❡rr❡✉rs ❞❛♥s ❧❛ rétr♦✲♣r♦❥❡❝t✐♦♥ ❝♦♠♠❡ ♠♦♥tr❡ ❧❛ ✜❣✉r❡ ✸✳✶✶✳ ■❧ ❡①✐st❡ ♣❧✉s✐❡✉rs ♠ét❤♦❞❡s ♣♦✉r ❝♦rr✐❣❡r ❧❛ ❧✐♠✐t❛t✐♦♥ ❞❡ ❧✬❤②♣♦t❤ès❡ à ♣❛rt✐r ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❬◆✐❡t♦ ❡t ❛❧✳ ✷✵✵✼❛❪ ♦✉ à ♣❛rt✐r ❞❡ ❧❛ ✈❛r✐❛t✐♦♥ ❞❡ ❧❛r❣❡✉r ❞❡s ♠❛rq✉❡✉rs r♦✉t✐❡rs ❬❈❡rr✐ ✫ ●r✐s❧❡r✐ ✷✵✵✺❪✳✸✳✷✳ ➱t❛t ❞❡ ❧✬❛rt ❡t ❛♣♣r♦❝❤❡s t❡sté❡s ✹✼ ✭❛✮ ❋❡♥êtr❡s ❣❧✐ss❛♥t❡s✳ ✭❜✮ ●r❛❞✐❡♥ts à ❧✬✐♥tér✐❡✉r ❞❡s ❢❡♥êtr❡s✳ ❋✐❣✉r❡ ✸✳✾ ✕ ❯t✐❧✐s❛t✐♦♥ ❞❡s ❢❡♥êtr❡s ❣❧✐ss❛♥t❡s ❛✈❡❝ t❛✐❧❧❡ ✈❛r✐❛❜❧❡ ♣♦✉r ❧✬❛♥❛❧②s❡ ❞❡s ❣r❛❞✐❡♥ts✳ ✭❛✮ ❘és✉❧t❛t ❞✬❡①tr❛❝t✐♦♥ ❞❡s r❛✐❧s✳ ✭❜✮ ❊①❡♠♣❧❡ ❞❡s ❧✐❣♥❡s ❞r♦✐t❡s s✉✐✈✐❡s✳ ❩♦♦♠ ❞❡ ❧❛ ♣❛rt✐❡ ❝❡♥tr❛❧❡ ❞❡ ❧✬✐♠❛❣❡ ✸✳✶✵❛ ❋✐❣✉r❡ ✸✳✶✵ ✕ ❘és✉❧t❛ts ♦❜t❡♥✉s ❛✈❡❝ ❧❛ ♣r❡♠✐èr❡ ❛♣♣r♦❝❤❡✳ ❋✐❣✉r❡ ✸✳✶✶ ✕ ❊✛❡ts ❞✉ ♥♦♥✲r❡s♣❡❝t ❞❡ ❧✬❤②♣♦t❤ès❡ ❞✉ ♠♦♥❞❡ ♣❧❛♥ ✭Z = 0✮✳ ■♠❛❣❡ ❡①tr❛✐t❡ ❞❡ ❬◆✐❡t♦ ❡t ❛❧✳ ✷✵✵✼❛❪✳✹✽ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❈♦♠♠❡ ♥♦✉s ❛✈♦♥s ♣✉ ✈♦✐r✱ ❧❡s ♣r✐♥❝✐♣❛✉① ♣r♦❜❧è♠❡s s♦✉❧❡✈és ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s s♦♥t ❞✉s à ❧❛ ♣rés❡♥❝❡ ❞❡s ♦♠❜r❡s q✉✐ ❢♦♥t ❛♣♣❛r❛îtr❡ ❞❡ ❢♦rts ❝♦♥tr❛st❡s ✭❛❧t❡r♥❛♥❝❡ ♦♠❜r❡ ✲ s♦❧❡✐❧✮ ❡♥tr❡ ❧❛ ✈♦✐❡ ❡t ❧❡s r❛✐❧s✱ ❞✬✉♥❡ ③♦♥❡ à ❧✬❛✉tr❡ ❞❡ ❧✬✐♠❛❣❡✳ ❈❡❝✐ ♥♦✉s ❝♦♥❞✉✐t à ✉t✐❧✐s❡r ✉♥❡ ❛♣♣r♦❝❤❡ ❧♦❝❛❧❡ ♣♦✉r ❧❛ r❡❝❤❡r❝❤❡ ❞❡s tr❛♥s✐t✐♦♥s ♠❛①✐♠✉♠ ✲ ♠✐♥✐♠✉♠ q✉✐ ♥♦✉s ♣❡r♠❡ttr❛ ❞❡ ♥♦✉s ❛✛r❛♥❝❤✐r ❞❡s ♣r♦❜❧è♠❡s ❞❡ ❝❤❛♥❣❡♠❡♥t ❞❡ ❝♦♥tr❛st❡ ❞❛♥s ❧✬✐♠❛❣❡✳ ❉❡ ❝❡ ❢❛✐t ♥♦✉s ✉t✐❧✐s♦♥s ❧❛ t❡❝❤♥✐q✉❡ ♣❛r ✜❧tr❡ ❛❞❛♣t❛t✐❢ ❧✐❣♥❡ ♣❛r ❧✐❣♥❡ ♣rés❡♥té❡ ❞❛♥s ❧❡s tr❛✈❛✉① ❞❡ ❬❇❛r❣❡t♦♥ ✷✵✵✾❪✳ ▲❡ ✜❧tr❡ ❞❡ ❝♦♥✈♦❧✉t✐♦♥ ❞❡ t②♣❡ h(n) = [−1...−11...1] ❬P♦♠❡r❧❡❛✉ ✶✾✾✺❪ ✭éq✉❛t✐♦♥ ✸✳✶✱ ♦ù L r❡♣rés❡♥t❡ ❧❛ ♠✐✲❧❛r❣❡✉r ❞✉ ✜❧tr❡✮ ♣❡r♠❡t ❞❡ ❝❛r❛❝tér✐s❡r ❡t ♠❡ttr❡ ❡♥ ✈❛❧❡✉r ❞❡ ❢❛ç♦♥ ❡✣❝❛❝❡ ❧❡s ❧✐❣♥❡s r♦✉t✐èr❡s ♣❛r ✉♥ s✐❣♥❛❧ ❡♥ ❢♦r♠❡ ❞❡ ❞❡♥ts ❞❡ s❝✐❡✳ ❚❛♥t q✉❡ ❧❛ ❧❛r❣❡✉r ❞✉ ✜❧tr❡ ♥❡ ❞é♣❛ss❡ ♣❛s ❝❡❧❧❡ ❞✉ r❛✐❧✱ ✐❧ ② ❛ ❝ré❛t✐♦♥ ❞✬✉♥❡ ❞❡♥t ❞❡ s❝✐❡ ♣♦s✐t✐✈❡ ❝❡♥tré❡ s✉r ✉♥ ❜♦r❞ ❞✉ r❛✐❧ s✉✐✈✐ ❞✬✉♥❡ ❞❡♥t ❞❡ s❝✐❡ ♥é❣❛t✐✈❡ ❝❡♥tré❡ s✉r ❧✬❛✉tr❡ ❜♦r❞✳ h(n) =    1 L , ∀n ∈ [1, L] −1 L , ∀n ∈ [−L + 1, 0] 0 Reste ✭✸✳✶✮ P♦✉r ♠✐♥✐♠✐s❡r ❧❡ ❜r✉✐t✱ ❧❛ t❛✐❧❧❡ ❞✉ ✜❧tr❡ ❞♦✐t êtr❡ é❣❛❧❡ à ❞❡✉① ❢♦✐s ❧❛ ❧❛r❣❡✉r ❞✉ r❛✐❧ ❞❡ ❢❛ç♦♥ q✉❡ ❧❡ ♠✐♥✐♠✉♠ ❡t ❧❡ ♠❛①✐♠✉♠ ❞✉ s✐❣♥❛❧ ✜❧tré ❝♦rr❡s♣♦♥❞❡♥t ❛✉① ✷ ❜♦r❞s ❞✉ r❛✐❧✳ ❊♥ r❡✈❛♥❝❤❡✱ ❧♦rsq✉❡ ❧❛ ❞❡♠✐✲❧❛r❣❡✉r ❞✉ ✜❧tr❡ ❞❡✈✐❡♥t s✉♣ér✐❡✉r❡ à ❧❛ ❧❛r❣❡✉r ❞✉ r❛✐❧✱ ❧❡s ♣✐❝s s♦♥t ❞✬❛✉t❛♥t ♣❧✉s ér♦❞és q✉❡ L ❛✉❣♠❡♥t❡✳ ❯♥❡ ❢♦✐s ❧❡s ❡①tr❡♠✉♠s ❞ét❡❝tés ✐❧ ❢❛✉t ❧❡s ❛♣♣❛r✐❡r✳ ✭❛✮ ❙♦rt✐❡ t❤é♦r✐q✉❡ ❞✉ ✜❧✲ tr❛❣❡✳ ✭❜✮ ■♠❛❣❡ ♦r✐❣✐♥❛❧❡✳ ✭❝✮ ■♠❛❣❡ ❛♣rès ❝♦♥✈♦✲ ❧✉t✐♦♥ ✭❞✮ ■♠❛❣❡ ❞❡s ❣r❛❞✐❡♥ts ❞ét❡❝tés✳ ❋✐❣✉r❡ ✸✳✶✷ ✕ ❋✐❧tr❛❣❡ ❞❡ ❝♦♥✈♦❧✉t✐♦♥ ❛❞❛♣t❛t✐❢ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞✉ ♠❛rq✉❛❣❡ r♦✉t✐èr❡✳ ❊①tr❛✐t❡ ❞❡ ❬❇❛r❣❡t♦♥ ✷✵✵✾❪ ❈❡♣❡♥❞❛♥t✱ ❝❡tt❡ ❛♣♣r♦❝❤❡ ♥✬❡st ♣❛s ❛❞éq✉❛t❡ ♣♦✉r ♥♦tr❡ ❛♣♣❧✐❝❛t✐♦♥✱ ❝❛r ❧❡ ♣❧❛♥ ❞❡ r♦✉❧❡♠❡♥t ❞✉ tr❛✐♥ ♥✬❡st ♣❛s ✉♥❡ s✉r❢❛❝❡ ❤♦♠♦❣è♥❡ ♦ù ❧❡s r❛✐❧s s♦♥t ✐s♦❧és✳ ❉❛♥s ♥♦tr❡ ❝❛s✱ ❧❛ ♣rés❡♥❝❡ ❞❡s t❛♣✐s à ♣r♦①✐♠✐té ❞❡s r❛✐❧s ♥❡ ♣❡r♠❡t ♣❛s ❞✬♦❜t❡♥✐r ❧❛ ❝❛r❛❝tér✐s❛t✐♦♥ ❞✉ r❛✐❧ ♣❛r ✉♥ s✐❣♥❛❧ ❞❡♥t ❞❡ s❝✐❡ ♣♦s✐t✐❢ s✉✐✈✐ ❞✬✉♥ ❞❡♥t ❞❡ s❝✐❡ ♥é❣❛t✐❢✳ ❯♥ ❡①❡♠♣❧❡ ❞✉ rés✉❧t❛t ♦❜t❡♥✉ ❛✈❡❝ ❝❡tt❡ t❡❝❤♥✐q✉❡ ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✶✸✱ ♦ù ♥♦✉s ♣♦✉✈♦♥s ✈♦✐r ❡✛❡❝t✐✈❡♠❡♥t✱ ❝♦♠♠❡♥t ❧❡s t❛♣✐s ♥❡ ♣❡r♠❡tt❡♥t ♣❛s ❞❡ ♠❡ttr❡ ❡♥ ✈❛❧❡✉r ❧❡s r❛✐❧s✳ ❯♥❡ ❛✉tr❡ ❛♣♣r♦❝❤❡ ❡st ❝❡❧❧❡ ♣r♦♣♦sé❡ ❞❛♥s ❧❡s tr❛✈❛✉① ❞❡ ❬●s❝❤✇❛♥❞t♥❡r ❡t ❛❧✳ ✷✵✶✵❪ ré❛❧✐sés ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s✳ ■❧ ❛♣♣❧✐q✉❡ ❧❛ tr❛♥s❢♦r♠é❡ ❡♥ ✈✉❡ ✈♦❧ ❞✬♦✐s❡❛✉ ♦✉ IPM ♣♦✉r s✉♣♣r✐♠❡r ❧✬❡✛❡t ❞❡ ❧❛ ♣❡rs♣❡❝t✐✈❡ ❡t ♦❜t❡♥✐r ✉♥ ❛s♣❡❝t ❤♦♠♦❣è♥❡ ❞❡s r❛✐❧s ❞❛♥s t♦✉t❡ ❧✬✐♠❛❣❡✳ ❈❡tt❡ tr❛♥s❢♦r♠é❡ ❡st s✐♠♣❧❡ à ♦❜t❡♥✐r✱ ♠❛✐s r❡st❡ ❧♦✉r❞❡ ❡♥ ❝❛❧❝✉❧ ❬▼✉❛❞ ❡t ❛❧✳ ✷✵✵✹❪✳ ❯♥ ❡①❡♠♣❧❡ ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✶✹✳ ❆♣rès ❛✈♦✐r ♦❜t❡♥✉ ❧✬✐♠❛❣❡ ■P▼✱ ❬●s❝❤✇❛♥❞t♥❡r ❡t ❛❧✳ ✷✵✶✵❪ ♣r♦♣♦s❡♥t ❞✬✉t✐❧✐s❡r ✉♥ ✜❧tr❛❣❡ ❛✈❡❝ ✉♥ ♠❛sq✉❡ ❉♦●✱ ❞❡ ❧✬❛♥❣❧❛✐s ❉✐✛❡r❡♥❝❡ ♦❢ ●❛✉ss✐❛♥s✱ ♣♦✉r ❞ét❡❝t❡r ❧❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡ ✭✸✳✷✮✳ ▲✬éq✉❛t✐♦♥ ✸✳✷ ❞é❝r✐t ❧❡ ♠❛sq✉❡ ❞❡ ❝❡ t②♣❡ ❞❡ ✜❧tr❡✱ ♦ù σ1 ❡t σ2 r❡♣rés❡♥t❡♥t ❧❡s é❝❛rts t②♣❡s ❞❡s ❣❛✉ss✐❡♥♥❡s✳✸✳✷✳ ➱t❛t ❞❡ ❧✬❛rt ❡t ❛♣♣r♦❝❤❡s t❡sté❡s ✹✾ ❋✐❣✉r❡ ✸✳✶✸ ✕ ❘és✉❧t❛ts ❞❡ ❧✬❛♣♣❧✐❝❛t✐♦♥ ❞✉ ✜❧tr❛❣❡ ♣♦✉r ❞ét❡❝t❡r ❧❡s r❛✐❧s✳ ❈❡tt❡ ✐♠❛❣❡ ♠♦♥tr❡ ✉♥❡ ❧✐❣♥❡ ❤♦r✐③♦♥t❛❧❡ ❞❡ ❧✬✐♠❛❣❡ ❡♥ ♥✐✈❡❛✉① ❞❡ ❣r✐s ❡t ❧❡ rés✉❧t❛t ❞❡ ❧❛ ❝♦♥✈♦❧✉t✐♦♥ ❞❡ ❝❡tt❡ ❧✐❣♥❡ ❛✈❡❝ ✉♥ ✜❧tr❡ ❬✲✶ ✳✳✳ ✲✶ ✶✳✳✳✶❪ ❞❡ t❛✐❧❧❡ L = 50 ✭✷ ❢♦✐s ❧❛ ❧❛r❣❡✉r ❞✉ r❛✐❧ ❞❛♥s ❧✬✐♠❛❣❡✮✳ ▲❡s ❧✐❣♥❡s ✈❡rt❡s ♥♦✉s ✐♥❞✐q✉❡♥t ❧❛ ♣♦s✐t✐♦♥ ❞❡s r❛✐❧s✳ ❈♦♠♠❡ ♠♦♥tr❡ ❧❛ ✜❣✉r❡✱ ❧✬✐♥t❡♥s✐té ❞❡s t❛♣✐s ❡st ♣❧✉s ❢♦rt❡ q✉❡ ❝❡❧❧❡ ❞❡s r❛✐❧s ❡t ❡♥ ❝♦♥séq✉❡♥❝❡✱ ❧❡s r❛✐❧s ♥❡ s♦♥t ♣❛s ❝❛r❛❝tér✐sés ♣❛r ❧❡ s✐❣♥❛❧ ❞❡♥t ❞❡ s❝✐❡✳ ❈❡♣❡♥❞❛♥t✱ ❧❡ rés✉❧t❛t ❞❡ ❧❛ ❝♦♥✈♦❧✉t✐♦♥ ♠❡t ❜✐❡♥ ❡♥ ✈❛❧❡✉r ❧❛ ♣rés❡♥❝❡ ❞✬❛✉tr❡s str✉❝t✉r❡s ❝♦♠♠❡ ❧❡s t❛♣✐s ❡t ❧❡s r❛✐❧s ❞❡ ❣✉✐❞❛❣❡ ✭❛✮ ■♠❛❣❡ ❞❡ ♣❡rs♣❡❝t✐✈❡ ✭❜✮ ❱✉❡ ❞✬♦✐s❡❛✉ ♦✉ ■P▼ ❋✐❣✉r❡ ✸✳✶✹ ✕ ❚r❛♥s❢♦r♠❛t✐♦♥ ❡♥ ✈✉❡ ❞✬♦✐s❡❛✉ ✭■♠❛❣❡ ■P▼✮✺✵ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ h(n) = 1 σ1 √ 2π e − (n − µ) 2 2σ 2 1 − 1 σ2 √ 2π e − (n − µ) 2 2σ 2 2 ✭✸✳✷✮ ◆♦✉s ♣♦✉✈♦♥s ✉t✐❧✐s❡r ❝❡tt❡ ♠ê♠❡ ❛♣♣r♦❝❤❡ s❛♥s ❛♣♣❧✐q✉❡r ❧❛ tr❛♥s❢♦r♠❛t✐♦♥ ✐♥✈❡rs❡✱ ♠❛✐s ✐❧ ❢❛✉t t❡♥✐r ❝♦♠♣t❡ q✉❡ ❧❛ t❛✐❧❧❡ ❞✉ ✜❧tr❡ ❉♦● ❞♦✐t s✬❛❞❛♣t❡r à ❧❛ t❛✐❧❧❡ ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡ ❡♥ ♣❡rs♣❡❝t✐✈❡✳ P♦✉r ❝❡❧❧❛✱ ❧❡s é❝❛rts t②♣❡s σ1 ❡t σ2 ❞❡s ❣❛✉ss✐❡♥♥❡s ❞♦✐✈❡♥t ✈❛r✐❡r✳ ❈♦♥♥❛✐ss❛♥t ❧❛ t❛✐❧❧❡ ❞❡s r❛✐❧s ❞❛♥s ❧❛ ♣❛rt✐❡ ❜❛ss❡ ❞❡ ❧✬✐♠❛❣❡ ❡♥ ♣✐①❡❧s ✭W✮✱ ❧❡s ❝♦♦r❞♦♥♥é❡s ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❡ ❧✬✐♠❛❣❡ (upf , vpf ) ❡t ❧❛ t❛✐❧❧❡ ❞❡ ❧✬✐♠❛❣❡ (W idth, Height)✱ ♦♥ ♣❡✉t ❞é♠♦♥tr❡r q✉✬✉♥❡ ❛♣♣r♦①✐♠❛t✐♦♥ ❞❡ ❧❛ ❧❛r❣❡✉r ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡ s✉✐t ❧✬éq✉❛t✐♦♥ ✸✳✸ ❬❇❛r❣❡t♦♥ ✷✵✵✾❪ ✿ wv = W ∗ (v − vpf ) Height − vpf ✭✸✳✸✮ ♦ù✱ wv r❡♣rés❡♥t❡ ❧❛ t❛✐❧❧❡ ❡♥ ♣✐①❡❧s ❞❡s r❛✐❧s ♣♦✉r ❧❛ ❝♦♦r❞♦♥♥é❡ v ❞❡ ❧✬✐♠❛❣❡ ❞❡ ♣❡rs♣❡❝t✐✈❡✳ ▲❡ ♠❛sq✉❡ ❞✉ ✜❧tr❡ ❉♦● q✉✐ ♥♦✉s ❛ ❞♦♥♥é ❧❡s ♠❡✐❧❧❡✉rs rés✉❧t❛ts ❛ ❞❡s ✈❛❧❡✉rs ❞❡ σ1 = wv 4 ❡t σ2 = wv 2 ✳ P♦✉r ❞ét❡r♠✐♥❡r ❧❛ ♣rés❡♥❝❡ ❞❡s r❛✐❧s ❞❛♥s ❧❡ s✐❣♥❛❧ rés✉❧t❛♥t ❞✉ ✜❧tr❛❣❡ ❉♦●✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞❡ sé❧❡❝t✐♦♥♥❡r s❡✉❧❡♠❡♥t ❧❡s ♠❛①✐♠✉♠s ♣♦s✐t✐❢s s✉♣ér✐❡✉rs à ✉♥ s❡✉✐❧ ❡t q✉✐ s♦♥t ❡♥t♦✉rés ❞❡s ♠✐♥✐♠✉♠s ♥é❣❛t✐❢s✳ ▲❛ ✜❣✉r❡ ✸✳✶✺ ♠♦♥tr❡ ❧❡ rés✉❧t❛t ❞❡ ❧✬❛♣♣❧✐❝❛t✐♦♥ ❞❡ ❧✬♦♣ér❛t❡✉r ❉♦● s✉r ✉♥❡ ❧✐❣♥❡ ❤♦r✐③♦♥t❛❧❡✳ ❉❡ ♣❧✉s✱ ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✶✻ ♥♦✉s ♣♦✉✈♦♥s ✈♦✐r ❡♥ r♦✉❣❡ s✉♣❡r♣♦sé à ❧✬✐♠❛❣❡ ❞✬♦r✐❣✐♥❡✱ ✉♥ rés✉❧t❛t ❞❡ ❉♦●✳ ❈❡❧❛ ♥♦✉s ♣❡r♠❡t ❞❡ ✈♦✐r q✉✬❡✛❡❝t✐✈❡♠❡♥t ❧❡s r❛✐❧s ♦♥t été ❜✐❡♥ ❞ét❡❝tés✳ ❈❡♣❡♥❞❛♥t✱ ❞✬❛✉tr❡s str✉❝t✉r❡s ❡t ❞❡s ♦♠❜r❡s ♦♥t été ♠✐s❡s ❡♥ ✈❛❧❡✉r✳ ❆✜♥ ❞❡ ré❞✉✐r❡ ❧❡ ♥♦♠❜r❡ ❞❡ ♣♦✐♥ts ❞❡ ❝♦♥t♦✉r ❞ét❡❝tés ❞❡ ❢❛ç♦♥ ❡rr♦♥é❡ ✭✓❢❛✉① ♣♦s✐t✐❢s✔✮ ♥♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ✉♥ ❝r✐tèr❡ ❞❡ s❡✉✐❧❧❛❣❡✳ ▲❛ ✜❣✉r❡ ✸✳✶✺ ♠♦♥tr❡ ❡♥ ❡✛❡t ❧❡s ❥❡✉① ❞❡ ❧✉♠✐èr❡s ❞❛♥s ❧✬❡♥tr❡✈♦✐❡✱ ♠✐s ❛✉ss✐ ❡♥ ✈❛❧❡✉r ♠❛✐s ❛✈❡❝ ✉♥❡ très ❢❛✐❜❧❡ ❛♠♣❧✐t✉❞❡✳ ❋✐❣✉r❡ ✸✳✶✺ ✕ ❘és✉❧t❛ts ❞❡ ❧✬❛♣♣❧✐❝❛t✐♦♥ ❞✉ ✜❧tr❛❣❡ ❉♦● ♣♦✉r ❞ét❡❝t❡r ❧❡s r❛✐❧s✳ ▲✬✉t✐❧✐s❛t✐♦♥ ❞✬✉♥ ✜❧tr❡ ❉♦● ♣❡r♠❡t ❞❡ ♠❡ttr❡ ❡♥ ✈❛❧❡✉r ❧❡s r❛✐❧s ❡t ❧❡s ❛✉tr❡s str✉❝t✉r❡s ❞❡ ❧❛ ✈♦✐❡ ❝❛r ❝❡❧❧❡s✲❝✐ ♦♥t t♦✉s ✉♥❡ t❛✐❧❧❡ s❡♠❜❧❛❜❧❡✳ P❛r ❝♦♥tr❡✱ ❞❡s ♦♠❜r❡s ❞❛♥s ❧✬✐♠❛❣❡ s♦♥t ❛✉ss✐ é❣❛❧❡♠❡♥t ♠✐s❡s ❡♥ ✈❛❧❡✉r ❝❡ q✉✐ r❡♥❞ ❞✐✣❝✐❧❡ ❧❛ ❞✐✛ér❡♥❝✐❛t✐♦♥ ❞❡s r❛✐❧s ❞❡s ❛rt❡❢❛❝ts✳ ▲❡s ♣✐①❡❧s s✐t✉és ❡♥tr❡ ❧❡s ✈❛❧❡✉rs ✸✵✵ ❡t ✹✺✵ ❛♣♣❛rt✐❡♥♥❡♥t à ❧✬❡♥tr❡✈♦✐❡ ❡t ♣♦✉r ❝❡tt❡ ❧✐❣♥❡ ♣❛r ❡①❡♠♣❧❡✱ ✐❧ ② ❛✈❛✐t ✉♥ ❥❡✉ ❞✬♦♠❜r❡s✳✸✳✸✳ ❆♣♣r♦❝❤❡ r❡t❡♥✉❡ ✺✶ ❋✐❣✉r❡ ✸✳✶✻ ✕ ❘és✉❧t❛ts ❞❡ ❧✬❛♣♣❧✐❝❛t✐♦♥ ❞✉ ✜❧tr❛❣❡ ❉♦● ♣♦✉r ❞ét❡❝t❡r ❧❡s r❛✐❧s✳ ▲❡s ♣♦✐♥ts ❡♥ r♦✉❣❡ ré♣r❡s❡♥t❡♥t ❧❡s ♠❛①✐♠✉♥s ❧♦❝❛✉① ♦❜t❡♥✉s à ♣❛rt✐r ❞❡ ❧✬❛♥❛❧②s❡ ❞✉ rés✉❧t❛t ❞✉ ✜❧tr❛❣❡ ❉♦● ❛✈❡❝ ✉♥ ❧é❣❡r s❡✉✐❧✳ ▲✬✐♠❛❣❡ ♠♦♥tr❡ q✉❡ ❧❡s r❛✐❧s s♦♥t ❜✐❡♥ ❡①tr❛✐ts ❣râ❝❡ à ❝❡tt❡ t❡❝❤♥✐q✉❡✳ ❚♦✉t❡❢♦✐s ✐❧ ② ❛ ❜❡❛✉❝♦✉♣ ❞✬❛✉tr❡s ❞ét❡❝t✐♦♥s q✉✐ ♥❡ ❝♦rr❡s♣♦♥❞❡♥t ♣❛s ❛✉① r❛✐❧s✳ ❈❡s ❢❛✉ss❡s ❞ét❡❝t✐♦♥s ♦♥t ✉♥❡ ❞✐str✐❜✉t✐♦♥ ❧✐♥é❛✐r❡✱ ❝❡ q✉✐ ♣❡✉t ❡♥tr❛✐♥❡r ✉♥❡ ❢❛✉ss❡ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ❞❛♥s ❧❡s ét❛♣❡s s✉✐✈❛♥t❡s✳ ✸✳✸ ❆♣♣r♦❝❤❡ r❡t❡♥✉❡ ❆♣rès ❛✈♦✐r ét✉❞✐é ❧❡s ❞✐✛ér❡♥t❡s ❛♣♣r♦❝❤❡s ❡①✐st❛♥t❡s✱ ♥♦✉s ❛✈♦♥s ❞é❝✐❞é ❞❡ ❞é✈❡❧♦♣♣❡r ✉♥❡ t❡❝❤♥✐q✉❡ ❜❛sé❡ s✉r ❧✬❛♥❛❧②s❡ ❧♦❝❛❧❡ ❞❡s ❣r❛❞✐❡♥ts ❞❡ ❧✬✐♠❛❣❡ ❛✈❡❝ ✉♥ s❡✉✐❧ très ❜❛s ♣♦✉r s❛t✐s❢❛✐r❡ ♥♦s ❝♦♥tr❛✐♥t❡s ❞✬❡①♣❧♦✐t❛t✐♦♥✳ P♦✉r ♣♦✉✈♦✐r ré❛❧✐s❡r ❧✬❛♥❛❧②s❡ ❧♦❝❛❧❡ ❡t ❛❝❝é❧ér❡r ❧❡ ♣r♦❝❡ss✉s ❞❡ ❝❛❧❝✉❧✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ✉♥ ♠❛sq✉❡ ♣♦✉r ❞é✜♥✐r ✉♥❡ ré❣✐♦♥ ❞✬✐♥térêt ❡t ❛♥❛❧②s❡r ❧❡s ❣r❛❞✐❡♥ts ❞❛♥s ❧✬✐♠❛❣❡ ❞❡ ♣❡rs♣❡❝t✐✈❡✱ s❛♥s ♦❜t❡♥✐r ✉♥❡ ❇✐r❞s ❡②❡ ✈✐❡✇ ❝♦♥tr❛✐r❡♠❡♥t à ❬●s❝❤✇❛♥❞t♥❡r ❡t ❛❧✳ ✷✵✶✵❪✳ ❯♥❡ ❢♦✐s ❧✬❛♥❛❧②s❡ ❞❡s ❣r❛❞✐❡♥ts ✜♥✐❡✱ s❡✉❧s ❧❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉r ❛✈❡❝ ❞❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡ t②♣❡ r❛✐❧ s❡r♦♥t rétr♦✲♣r♦❥❡tés ♣♦✉r ♦❜t❡♥✐r ❧❡✉r ♣♦s✐t✐♦♥ ❞❛♥s ❧✬❡s♣❛❝❡ ✸❉✳ ❈✬❡st ❞❛♥s ❝❡t ❡s♣❛❝❡ q✉❡ ♥♦✉s ❞ét❡r♠✐♥❡r♦♥s ❧❛ ♣♦s✐t✐♦♥ ❞❡s r❛✐❧s ❣râ❝❡ à ❧✬❛❧❣♦r✐t❤♠❡ ❞❡ ❘❆◆❙❆❈✳ ❘❆◆❙❆❈ s✬❛♣♣❧✐q✉❡r❛ à ❝❤❛q✉❡ r❛✐❧✱ ❞r♦✐t ❡t ❣❛✉❝❤❡✳ ❯♥❡ ❛♣♣r♦①✐♠❛t✐♦♥ ♣❛r ✉♥ ♣♦❧②♥ô♠❡ ❞❡ ❞❡❣ré ✷ ❡st ✉t✐❧✐sé ♣♦✉r ❝❤❛q✉❡ ❘❆◆❙❆❈✳ ❯♥❡ ❢♦✐s r❡t❡♥✉s ❧❡s ♠❡✐❧❧❡✉rs ♣♦✐♥ts ❞❡ ❝♦♥t♦✉rs✱ ❝❡s ❞❡r♥✐❡rs s❡r♦♥t tr❛♥s❧❛tés ❛✉ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡ ♣♦✉r ♦❜t❡♥✐r ❧❛ ❢♦♥❝t✐♦♥ q✉✐ ❞é✜♥✐t ❧❛ ❝♦✉r❜✉r❡ ❞❡ ❧❛ ✈♦✐❡✳ P✉✐s ✉♥ ✜❧tr❛❣❡ t❡♠♣♦r❡❧ ♣❡✉t êtr❡ ✉t✐❧✐sé ♣♦✉r ré❞✉✐r❡ ❧❡ ♥♦♠❜r❡ ❞❡s ✐tér❛t✐♦♥s ❞❡ ❘❆◆❙❆❈ ♣♦✉r ❧❡s ✐♠❛❣❡s s✉✐✈❛♥t❡s✳ ❋✐♥❛❧❡♠❡♥t✱ à ♣❛rt✐r ❞❡s ❞♦♥♥é❡s ♦❜t❡♥✉❡s✱ ♥♦✉s ❞ét❡r♠✐♥❡r♦♥s ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s✳ ▲❡s ét❛♣❡s ❞❡ ♥♦tr❡ ❛♣♣r♦❝❤❡ s♦♥t ✿ ✕ ❙é❧❡❝t✐♦♥ ❞✉ ▼❛sq✉❡✳ ✕ ❆♥❛❧②s❡ ❞❡s ❣r❛❞✐❡♥ts ✿ ❉ét❡❝t✐♦♥ ❞❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉r✳ ✕ ❘étr♦✲♣r♦❥❡❝t✐♦♥ ❞❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉r ✷❉ à ✸❉✳ ✕ ❖❜t❡♥t✐♦♥ ❞✉ ♣♦❧②♥ô♠❡ ❞❡ ❧❛ ✈♦✐❡ ✿ ❘❆◆❙❆❈ ✕ ❋✐❧tr❛❣❡ t❡♠♣♦r❡❧✳ ✕ ❉ét❡r♠✐♥❛t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥✳ ✸✳✸✳✶ ❙é❧❡❝t✐♦♥ ❞✉ ▼❛sq✉❡ ❯♥❡ ré❣✐♦♥ ❞✬✐♥térêt ✭❘❖■ ❞❡ ❧✬❛♥❣❧❛✐s ❘❡❣✐♦♥ ❖❢ ■♥t❡r❡st✮ ❡st ✉♥❡ ré❣✐♦♥ ❞❡ ❧✬✐♠❛❣❡ q✉✐ ❡st ❛♥❛❧②sé❡ ❛✈❡❝ ✉♥❡ ♣❧✉s ❣r❛♥❞❡ ♣ré❝✐s✐♦♥✱ ❡♥ ❣é♥ér❛❧ ♣❛r❝❡ q✉❡ ❝❡tt❡ ré❣✐♦♥ ♣rés❡♥t❡ ✉♥ ✐♥térêt✺✷ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❋✐❣✉r❡ ✸✳✶✼ ✕ P❤❛s❡s ❞✬❡①tr❛❝t✐♦♥ ❞❡s r❛✐❧s ♣❛rt✐❝✉❧✐❡r✳ ❉❛♥s ♥♦tr❡ ❝❛s✱ ❡❧❧❡ ❞é✜♥✐t ❧✬❡♠♣❧❛❝❡♠❡♥t ❞❡ ❧❛ ✈♦✐❡ ❞❛♥s ❧✬✐♠❛❣❡✳ ❈❡tt❡ ♣❧✉s ❣r❛♥❞❡ ♣ré❝✐s✐♦♥ s❡ ❢❛✐t ❛✉ ❞étr✐♠❡♥t ❞❡s ❛✉tr❡s ③♦♥❡s ❞❡ ❧✬✐♠❛❣❡ q✉✐ ♥❡ s♦♥t ♣❛s ❛♥❛❧②sé❡s ❛✈❡❝ ❧✬♦❜❥❡❝t✐❢ ❞❡ ré❞✉✐r❡ ❧❡ ♥♦♠❜r❡ ❞❡s ♣♦✐♥ts ✐♥s♣❡❝tés ❡t ❞✬❛❝❝é❧ér❡r ❧❡ ♣r♦❝❡ss✉s ❞❡ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡✳ ▲❛ sé❧❡❝t✐♦♥ ❞❡ ❧❛ ❘❖■ ❡st ❢❛✐t❡ ❣râ❝❡ à ❧❛ ❝♦♥♥❛✐ss❛♥❝❡ ❛ ♣r✐♦r✐ ❞❡ ❧❛ ❣é♦♠étr✐❡ ❞❡ ❧❛ ✈♦✐❡ ❡t ❛✉ ❢✉r ❡t à ♠❡s✉r❡ q✉❡ ❧❛ ✈♦✐❡ ❡st ❞ét❡❝té❡ ❝❡tt❡ ❘❖■ s✉✐✈r❛ ❧❛ ♣♦s✐t✐♦♥ ❞❡ ❧❛ ✈♦✐❡✳ ◆♦tr❡ ❘❖■ ❛ été ❞é✜♥✐❡ ❝♦♠♠❡ ✉♥❡ ❢♦r♠❡ ❞❡ tr❛♣è③❡ ❛✈❡❝ s♦♥ s♦♠♠❡t ❞❛♥s ❧❛ ♣♦s✐t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❡s r❛✐❧s ❡t ✉♥❡ ❜❛s❡ ♣❧✉s ❧❛r❣❡ q✉❡ ❧❛ ❧❛r❣❡✉r ❞❡ ❧❛ ✈♦✐❡ ❝♦♠♠❡ ♠♦♥tr❡ ❧❛ ✜❣✉r❡ ✸✳✶✽✳ ❋✐❣✉r❡ ✸✳✶✽ ✕ ❘❡♣rés❡♥t❛t✐♦♥ ❞✉ ♠❛sq✉❡ ❞❡ ❧❛ ❘❖■✳ ❉❛♥s ✉♥❡ ♣r❡♠✐èr❡ ét❛♣❡✱ ❝❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❡st ♣♦s✐t✐♦♥♥é s✉r ❧❛ ❧✐❣♥❡ ❞❡ ❧✬❤♦r✐③♦♥ ❡t ❡st ❝❡♥tré ❞❛♥s ❧✬✐♠❛❣❡✳ ❯♥❡ ❢♦✐s q✉❡ ❧❡s r❛✐❧s ♦♥t été ❞ét❡❝tés✱ ❧❡ ♥♦✉✈❡❛✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❝♦rr❡s♣♦♥❞r❛ ❛✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❡s r❛✐❧s✳ ❈❡ s✉✐✈✐ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❡s r❛✐❧s ♥♦✉s ♣❡r♠❡ttr❛ ❞❡ ❜✐❡♥ ♣♦s✐t✐♦♥♥❡r ❧❛ ❘❖■ ❞❛♥s ❧✬✐♠❛❣❡ ❝❛r ❧❡ ❝❤♦✐① ❞❡ s♦♥ ❡♠♣❧❛❝❡♠❡♥t ❡st ✉♥ ❛s♣❡❝t ❝r✐t✐q✉❡✳ P♦✉r ♣♦✉✈♦✐r ❝♦♥♥❛✐tr❡ ❧❛ ♣♦s✐t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❡s r❛✐❧s✱ ❝✬❡st✲à✲❞✐r❡✱ ❧❡ ♣♦✐♥t ❞❛♥s ❧✬✐♠❛❣❡ ♦ù ❧❡s r❛✐❧s ❢✉s✐♦♥♥❡♥t✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ❧❛ t❛♥❣❡♥t❡ ❛✉① r❛✐❧s à ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞ét❡❝té❡✳ ❆✉tr❡♠❡♥t ❞✐t✱ ✉♥❡ ❢♦✐s q✉❡ ❧✬éq✉❛t✐♦♥ ❞❡ ❧❛ ♣❛r❛❜♦❧❡ ❝❡♥tr❛❧❡ ❞é✜♥✐❡ ♣❛r ❧❛ ♣♦s✐t✐♦♥ ❞❡s r❛✐❧s ❛ été ♦❜t❡♥✉❡✱ ♥♦✉s ❡①tr❛♣♦❧♦♥s ❧❛ t❛♥❣❡♥t❡ ❛✉① r❛✐❧s à ❧✬✐♥✜♥✐ ♣♦✉r ♦❜t❡♥✐r ❧❡ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❡s r❛✐❧s✳ P♦✉r ♦❜t❡♥✐r ❧❛ ✈❛❧❡✉r ❞❡ ❧❛ t❛♥❣❡♥t❡✱ ❧❡ t❤é♦rè♠❡ s✉✐✈❛♥t ❛ été ❛♣♣❧✐q✉é ✿ ❙♦✐t f(x) ❧❛ ❢♦♥❝t✐♦♥ ré❡❧❧❡ ❞é✜♥✐❡ s✉r ❧✬✐♥t❡r✈❛❧❧❡ I ❡t s♦✐t ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ a✱ ✉♥ ré❡❧ ❞❡ ■ t❡❧ q✉❡ f s♦✐t ❞ér✐✈❛❜❧❡ ❡♥ a✱ ❞❡ ♥♦♠❜r❡ ❞ér✐✈é L = ˙f(a)✳ ❖♥ ♥♦t❡ C ❧❛ ❝♦✉r❜❡ r❡♣rés❡♥t❛t✐✈❡ ❞❡ f ❛✉ ✈♦✐s✐♥❛❣❡ ❞❡ A (a; f(a))✳ ▲✬éq✉❛t✐♦♥ ré❞✉✐t❡ ❞❡ ❧❛ t❛♥❣❡♥t❡ T à C ❛✉ ♣♦✐♥t ❞✬❛❜s❝✐ss❡ a ❡st ✿ y = ˙f(a) × (x − a) + f(a) ✭✸✳✹✮ ❈❡tt❡ ♠ét❤♦❞❡ ❡st ✈❛❧❛❜❧❡ ♣✉✐sq✉❡ ❧❡s ✈♦✐❡s ❢❡rré❡s ❢♦♥t r❛r❡♠❡♥t ✉♥ ❞❡♠✐✲t♦✉r ❡t ❛✉ss✐ ♣❛r❝❡ q✉❡ ❧✬❛♣♣r♦①✐♠❛t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ✉t✐❧✐sé❡ ❡st ✉♥ ♣♦❧②♥ô♠❡ ❞✉ ✷è♠❡ ❞é❣ré❡✳ P❧✉s✐❡✉rs tr❛✈❛✉① ❞❛♥s ❧❡✸✳✸✳ ❆♣♣r♦❝❤❡ r❡t❡♥✉❡ ✺✸ ❞♦♠❛✐♥❡ r♦✉t✐❡r s❡ ❜❛s❡♥t ❛✉ss✐ ❞❛♥s ❝❡tt❡ ❛♣♣r♦①✐♠❛t✐♦♥ ❬❈❤❡♥ ✫ ❲❛♥❣ ✷✵✵✻❪ ❡t ❬❈❤♦✐ ❡t ❛❧✳ ✷✵✶✷❪✳ ■❧ ♣♦✉rr❛✐t êtr❡ ❡♥✈✐s❛❣❡❛❜❧❡ ❞✬♦❜t❡♥✐r ❧❡ r❛②♦♥ ❞❡ ❝♦✉r❜✉r❡ à ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ❡t ❞✬✉t✐❧✐s❡r ❧✬éq✉❛t✐♦♥ ❞✉ ❝❡r❝❧❡ ♣♦✉r ♣r♦❧♦♥❣❡r ❧❡s r❛✐❧s ❡t ❡♥s✉✐t❡✱ ♦❜t❡♥✐r ❧❛ ♣♦s✐t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ r❡❝❤❡r❝❤é✱ ♠❛✐s ✐❧ s❡♠❜❧❡ s✉✣s❛♥t ❧✬❡✛❡t ❞✬✉t✐❧✐s❡r ❧❛ t❛♥❣❡♥t❡✳ ▲❛ ✜❣✉r❡ ✸✳✶✾ ♠♦♥tr❡ ❞❡s rés✉❧t❛ts ❞❡ ❝❡tt❡ ♠ét❤♦❞❡ ❞❛♥s ❧❡ ♣❧❛♥ ✐♠❛❣❡ ❡t ❞❛♥s ❧✬❡s♣❛❝❡ 3D✳ ✸✳✸✳✷ ❆♥❛❧②s❡ ❞❡s ❣r❛❞✐❡♥ts ▲✬❛♣♣r♦❝❤❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ❝♦♥s✐st❡ à ❛♥❛❧②s❡r ❧❡s ❣r❛❞✐❡♥ts ❤♦r✐③♦♥t❛✉① ❞❡ ❧✬✐♠❛❣❡✳ ❉❛♥s ❝❡tt❡ ❛♥❛❧②s❡ ♥♦✉s ❝❤❡r❝❤♦♥s ✉♥❡ ✈❛r✐❛t✐♦♥ ❞❡s ♥✐✈❡❛✉① ❞❡ ❣r✐s ❞❛♥s ❧✬✐♠❛❣❡ ❛✈❡❝ ✉♥❡ ❧❛r❣❡✉r s✐♠✐❧❛✐r❡ à ❧❛ ❧❛r❣❡✉r ❞✉ r❛✐❧ ❡t ❝❡s ❣r❛❞✐❡♥ts ❞♦✐✈❡♥t ❛✈♦✐r ✉♥❡ ♦r✐❡♥t❛t✐♦♥ s✐♠✐❧❛✐r❡✳ ◆♦✉s ❛✈♦♥s ♣✉ ✈♦✐r ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✺ ❝♦♠♠❡ ét❛✐t ♣♦ss✐❜❧❡ ❞✬✉t✐❧✐s❡r ✉♥ ✜❧tr❛❣❡ ❛♥❣✉❧❛✐r❡ ♣♦✉r ♠✐❡✉① ❝✐❜❧❡r ❧❡ s❡✉✐❧❧❛❣❡ ❞❡ ❈❛♥♥②✳ P❧✉s ♣ré❝✐sé♠❡♥t✱ ♥♦✉s ❝❤❡r❝❤♦♥s ❞❛♥s ❧✬✐♠❛❣❡ ❞❡s ❣r❛❞✐❡♥ts é❝❛rtés ❞❡ ❧❛ ❧❛r❣❡✉r ❞✉ r❛✐❧ ❡t q✉✐ ♦♥t ✉♥❡ ♦r✐❡♥t❛t✐♦♥ s✐♠✐❧❛✐r❡ ❝♦♠♠❡ ❡①♣♦sé ❞❛♥s ❧❡ ♣s❡✉❞♦✲❝♦❞❡ ✸✳✸✳✶✳ ▲❡ rés✉❧t❛t ❞❡ ♥♦tr❡ ❛♣♣r♦❝❤❡ ❡st r❡♣rés❡♥té ❞❛♥s ❧❡s ✜❣✉r❡s ✸✳✷✵ ❡t ✸✳✷✶✱ ♣♦✉r ✉♥❡ ❧✐❣♥❡ ❤♦r✐③♦♥t❛❧❡ ❞❡ ❧✬✐♠❛❣❡ ❡t ♣♦✉r t♦✉t❡ ❧✬✐♠❛❣❡ r❡s♣❡❝t✐✈❡♠❡♥t✳ ❈❡♣❡♥❞❛♥t✱ ❝♦♠♠❡ ❡①♣❧✐q✉é ❞❛♥s ❧❛ s❡❝t✐♦♥ ✸✳✷✱ ❧✬❛♥❛❧②s❡ ❞❡s ❣r❛❞✐❡♥ts ❞❛♥s ❧✬✐♠❛❣❡ r❡st❡ ✉♥❡ tâ❝❤❡ ❝r✉❝✐❛❧❡ ❞❛♥s ❧❛ r❡❝❤❡r❝❤❡ ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡✳ ❉❡ ♣❧✉s✱ ❧❛ ♣rés❡♥❝❡ ❞✉ t❛♣✐s ❞❡ tr❛♥s♠✐ss✐♦♥ ❜❧❛♥❝ r❡♥❞ ❞✐✣❝✐❧❡ ❧✬✉t✐❧✐s❛t✐♦♥ ❞❡ s❡✉✐❧s ♣♦✉r ❞ét❡r♠✐♥❡r ❧❡s ❣r❛❞✐❡♥ts ❞❛♥s ❧✬✐♠❛❣❡✳ ❆❧❣♦r✐t❤♠ ✸✳✸✳✶✿ ❆♣♣r♦❝❤❡ ♣r♦♣♦sé❡✭✮ GH ❝♦♠♠❡♥t✿ ❖❜t❡♥t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts ❤♦r✐③♦♥t❛❧s ❞❡ ❧✬✐♠❛❣❡ G ❝♦♠♠❡♥t✿ ❖❜t❡♥t✐♦♥ ❞❡ ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts ❞❡ ❧✬✐♠❛❣❡ ❢♦r i ← IMAGE❴HEIGHT t♦ HORIZONT❴LINE ❞♦    f = GH(i, :) x = 1 ✇❤✐❧❡ x < IMAGE❴W IDT H ❞♦    ✐❢ f(x) is maximum & f(x) > SEUIL t❤❡♥    x2 = x + 1 ✇❤✐❧❡ x2 < IMAGE❴W IDT H & x2 < (x + taille❴rail + marge) ❞♦    ✐❢ f(x2) is mimimum & f(x2) < −SEUIL & G(i, x) et G(i, x2) sont similaires t❤❡♥ ( P oint de contour = (x + x2)/2 ❝♦♠♠❡♥t✿ P♦✐♥t ❞❡ ❝♦♥t♦✉r ❞❡t❡❝té x2 = x2 + 1 x = x + 1 P♦✉r ♠✐❡✉① é✈❛❧✉❡r ❧✬❡✣❝❛❝✐té ❞❡ ❝❡tt❡ t❡❝❤♥✐q✉❡✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞❡ ❝♦♥❢r♦♥t❡r ❧❛ ♣❡rt✐♥❡♥❝❡ ❧❛ ♠ét❤♦❞❡ ♣r♦♣♦sé❡ ❡t ❧❛ t❡❝❤♥✐q✉❡ ❉♦● à ❧❛ ✈ér✐té t❡rr❛✐♥✳ ▲✬❡①❡♠♣❧❡ ❞❡ ✈ér✐té t❡rr❛✐♥ ❡①♣♦sé ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✷✷ ❡st ❝♦♠♣♦sé ❞❡ ❞❡✉① r❛✐❧s✱ ❞❡✉① t❛♣✐s ❡t ❞❡✉① r❛✐❧s ❞❡ ❣✉✐❞❛❣❡✳ ➱t❛♥t ❞♦♥♥é q✉❡ ❧❡s ❞❡✉① t❡❝❤♥✐q✉❡s ♥♦✉s ❞♦♥♥❡♥t ♣♦✉r rés✉❧t❛t ❧❡ ❝❡♥tr❡ ❞❡s ❝♦♥t♦✉rs ❝♦♥s✐❞érés ❝♦♠♠❡ ✉♥ ♣♦ss✐❜❧❡ r❛✐❧✱ ❝✬❡st ❧❡ ♥♦♠❜r❡ ❞❡ ♣♦✐♥ts ♦❜t❡♥✉s q✉❡ ♥♦✉s ❛✈♦♥s ❛♥❛❧②sé✳ ▲❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉r q✉✐ ❝♦rr❡s♣♦♥❞❡♥t ❝♦rr❡❝t❡♠❡♥t à ❧❛ ♣♦s✐t✐♦♥ ❞❡s r❛✐❧s ♦✉ t❛♣✐s s♦♥t ❝♦♥s✐❞érés ❝♦♠♠❡ ✓✈r❛✐✲♣♦s✐t✐❢s✔✱ ❧❡s ❛✉tr❡s s♦♥t ❝♦♥s✐❞érés ✓❢❛✉①✲♣♦s✐t✐❢s✔✳ P✉✐sq✉❡ ❧❡ ❜✉t ❡st ❞❡ ❝❛r❛❝tér✐s❡r ❧❡s r❛✐❧s ❡t ❧❡s t❛♣✐s✱ ♣❧✉s ♥♦✉s ❛✈♦♥s ❞❡ ♣♦✐♥ts ❞✐s♣♦♥✐❜❧❡s✱ ♣❧✉s ♣ré❝✐s s❡r❛ ❧❡ rés✉❧t❛t✳ ❊♥ r❡✈❛♥❝❤❡✱ ✉♥ ♥♦♠❜r❡ ✐♠♣♦rt❛♥t ❞❡ ✓❢❛✉①✲♣♦s✐t✐❢s✔ ♣❡✉t ♥♦✉s ❛♠❡♥❡r à ❞❡s rés✉❧t❛ts ✐♥❡①❛❝ts✳ P✉✐sq✉❡ ❧❡s ❞❡✉① t❡❝❤♥✐q✉❡s ❡①✐❣❡♥t ❞✬✉t✐❧✐s❡r ✉♥ s❡✉✐❧ ♣♦✉r ré❞✉✐r❡ ❧❡ ❜r✉✐t✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ❧❡ ♠ê♠❡ ❝r✐tèr❡ ♣♦✉r ❧❡ ❞ét❡r♠✐♥❡r✳ ◆♦✉s ❛✈♦♥s ❞é✜♥✐ q✉❡ s❡✉❧❡s ❧❡s ✈❛r✐❛t✐♦♥s ❞❡ ♥✐✈❡❛✉ ❞❡ ❣r✐s s✉♣ér✐❡✉r❡s à 8 s❡r♦♥t ♣r✐s❡s ❡♥ ❝♦♠♣t❡✳ ❈❡❧❛ ✈❡✉t ❞✐r❡ q✉❡ ❧❡s très ❢❛✐❜❧❡s ✈❛r✐❛t✐♦♥s ♥❡✺✹ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❋✐❣✉r❡ ✸✳✶✾ ✕ ❘és✉❧t❛ts ❞✬✐♥t❡r♣♦❧❛t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❡s r❛✐❧s✳ ❉❛♥s ❧❡s ✐♠❛❣❡s ❞❡ ❣❛✉❝❤❡✱ ♥♦✉s ♣♦✉✈♦♥s ♦❜s❡r✈❡r ❧❛ ♣❛r❛❜♦❧❡ ❞ét❡❝té❡ ❡♥ r♦✉❣❡✱ ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ r❡♣rés❡♥té❡ ♣❛r ✉♥ ♣♦✐♥t ❞❡ ❝♦✉❧❡✉r ❝②❛♥ ❡t ❧❛ t❛♥❣❡♥t❡ à ❝❡ ♣♦✐♥t ❡①tr❛♣♦❧é❡ à ❧✬✐♥✜♥✐ ❡♥ ❥❛✉♥❡✳ ▲❡s ✐♠❛❣❡s ❞❡ ❧❛ ❝♦❧♦♥♥❡ ❞r♦✐t❡ r❡♣rés❡♥t❡♥t ❧❛ ♣♦s✐t✐♦♥ ❞❡s ♣✐①❡❧s ❞❛♥s ❧❡ ♣❧❛♥ 3D✱ ♦ù ❧❡s ♣♦✐♥ts ❜❧❡✉s s♦♥t ❧❡s ❣r❛❞✐❡♥ts ❞ét❡r♠✐♥és ❝♦♠♠❡ ❝❛♥❞✐❞❛ts à ❛♣♣❛rt❡♥✐r à ❧❛ ✈♦✐❡✱ ❧❡s ♣♦✐♥ts r♦✉❣❡s r❡♣rés❡♥t❡♥t ❧❛ ❝♦✉r❜❡ ♦❜t❡♥✉❡ ❡t ❧❡s ♣♦✐♥ts ♠❛❣❡♥t❛ ❧❛ t❛♥❣❡♥t❡ ❞❡ ❝❡tt❡ ❝♦✉r❜❡ à ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥✳✸✳✸✳ ❆♣♣r♦❝❤❡ r❡t❡♥✉❡ ✺✺ ❋✐❣✉r❡ ✸✳✷✵ ✕ ❘és✉❧t❛ts ❞❡ ❧✬❛♥❛❧②s❡ ❞❡s ❣r❛❞✐❡♥ts ♣r♦♣♦sé❡ ♣♦✉r ❞ét❡❝t❡r ❧❡s r❛✐❧s✳ ▲✬✉t✐❧✐s❛t✐♦♥ ❞❡ ❧❛ ♠ét❤♦❞❡ ♣r♦♣♦sé❡ ♣❡r♠❡t ❞❡ ♠❡ttr❡ ❡♥ ✈❛❧❡✉r ❧❡s r❛✐❧s ❡t ❧❡s ❛✉tr❡s str✉❝t✉r❡s ❞❡ ❧❛ ✈♦✐❡✳ ▲❡ s✐❣♥❛❧ ❞❡ s♦rt✐❡ ✈❛✉t 1 ♣♦✉r ✐♥❞✐q✉❡r ❧❡ ❝❡♥tr❡ ❞✬✉♥ ❣r❛❞✐❡♥t ❞❡ ❧❛r❣❡✉r w q✉✐ ❛ ❞❛♥s s❡s ❡①tré♠✐tés ❞❡✉① ❛♥❣❧❡s ❞✬♦r✐❡♥t❛t✐♦♥ s✐♠✐❧❛✐r❡s✳ ❈♦♠♠❡ ♣♦✉r ❧❛ ♠ét❤♦❞❡ ♣ré❝é❞❡♥t❡✱ ❝❡rt❛✐♥❡s ♦♠❜r❡s ❞❡ ❧✬✐♠❛❣❡ ♦♥t été ❡①tr❛✐ts ❞❡ ❢❛ç♦♥ ❡rr♦♥é❡✳ ❙✐ ❧❡s r❛✐❧s s♦♥t ♣❧✉s s♦♠❜r❡s q✉❡ ❧✬❡♥✈✐r♦♥♥❡♠❡♥t✭❧❛ ♥✉✐t ❧❡s r❛✐❧s ♥❡ r❡✢èt❡♥t ♣❛s ❧❛ ❧✉♠✐èr❡ ✈❡rs ❧❛ ❝❛♠ér❛✮ ✐❧ s✉✣t ❞✬✐♥✈❡rs❡r ❧❡ ❙❊❯■▲✱ ♣♦✉r tr♦✉✈❡r ❧❡s ③♦♥❡s ♣❧✉s s♦♠❜r❡s✳ ❋✐❣✉r❡ ✸✳✷✶ ✕ ❘és✉❧t❛ts ❞❡ ❧✬❛♥❛❧②s❡ ❞❡s ❣r❛❞✐❡♥ts ♣r♦♣♦sé❡ ♣♦✉r ❞ét❡❝t❡r ❧❡s r❛✐❧s✳ ❉❛♥s ❝❡t ✐♠❛❣❡✱ ❧❡s ♣♦✐♥ts ❡♥ r♦✉❣❡ r❡♣rés❡♥t❡♥t ❧❡ ❝❡♥tr❡ ❞❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉rs ♦❜t❡♥✉s à ♣❛rt✐r ❞❡ ❧✬❛♥❛❧②s❡ ❞❡s ❣r❛❞✐❡♥ts ♣r♦♣♦sé❡ s❛♥s ❛✈♦✐r ❛♣♣❧✐q✉é ❛✉❝✉♥ s❡✉✐❧✳ ▲✬✐♠❛❣❡ ♠♦♥tr❡ q✉❡ ❧❡s r❛✐❧s s♦♥t ❜✐❡♥ ❡①tr❛✐ts ❣râ❝❡ à ❝❡tt❡ t❡❝❤♥✐q✉❡✳ ❈❡♣❡♥❞❛♥t✱ ✐❧ ② ❛ ❞✬❛✉tr❡s ❞ét❡❝t✐♦♥s q✉✐ ♥❡ ❝♦rr❡s♣♦♥❞❡♥t ♣❛s ❛✉① r❛✐❧s✳ ◆♦✉s ♣r♦♣♦s♦♥s ✉♥❡ ♠ét❤♦❞❡ ❞❡ ✜❧tr❛❣❡ ❛ ♣♦st❡r✐♦r✐ ❞❡ s❡s ❞ét❡❝t✐♦♥s ❡rr♦♥é❡s✳✺✻ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ s❡r♦♥t ♣❛s r❡t❡♥✉❡s✳ ❈❡tt❡ ❞✐✛ér❡♥❝❡ ❞❡ 8 ❡♥ ♥✐✈❡❛✉① ❞❡ ❣r✐s✱ ♣❡✉t êtr❡ ❝♦♥s✐❞éré❡ ❝♦♠♠❡ ✉♥ s❡✉✐❧ très ❢❛✐❜❧❡ ❝❛r ❡❧❧❡ r❡♣rés❡♥t❡ ✉♥❡ ✈❛r✐❛t✐♦♥ ❞❡ 3.125% ❞❛♥s ✉♥❡ ✐♠❛❣❡ ❞❡ ✷✺✻ ❜✐ts✳ ✭❛✮ ❱ér✐té t❡rr❛✐♥ ❞❡ ❧❛ ♣♦s✐t✐♦♥ ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡✳ ✭❜✮ ❱ér✐té t❡rr❛✐♥ ❡t ❧❡ ♠❛sq✉❡ ❛♣♣❧✐q✉é ♣♦✉r ❧❛ r❡❝❤❡r❝❤❡ ❞❡s ❣r❛❞✐❡♥ts✳ ❋✐❣✉r❡ ✸✳✷✷ ✕ ❱ér✐té t❡rr❛✐♥ ❞❡ ❧✬✐♠❛❣❡ à ❛♥❛❧②s❡r ❡t ❧❡ ♠❛sq✉❡ ❛♣♣❧✐q✉é✳ ❊♥ ❝♦♥s✐❞ér❛♥t ✉♥ ♣♦✐♥t ❞❡ ❝♦♥t♦✉r ♣❛r r❛✐❧ ❡t ♣❛r t❛♣✐s ♣♦✉r ❝❤❛q✉❡ ❧✐❣♥❡ ❤♦r✐③♦♥t❛❧❡ ❞❡ ❧✬✐♠❛❣❡✱ ❧❡ ♥♦♠❜r❡ t♦t❛❧ ❞❡ ♣♦✐♥ts ❞❡ ❝❡tt❡ ✈ér✐té t❡rr❛✐♥ ❡st ❞❡ ✶✺✸✹ ♣♦✐♥ts✳ ▲❛ t❛✐❧❧❡ ❞❡ ❧✬✐♠❛❣❡ ❡st ❞❡ 480 × 640 ♣✐①❡❧s✳ ❉❡ ❝❡ ❢❛✐t✱ ❧❡s r❛✐❧s ❡t ❧❡s t❛♣✐s ♦❝❝✉♣❡♥t ✉♥ ✽✳✺✪ ❞❡ ❧✬✐♠❛❣❡✱ ❞❡♣✉✐s ❧❛ ❧✐❣♥❡ 480 ❥✉sq✉✬à ❧❛ ❧✐❣♥❡ ❞❡ ❧✬❤♦r✐③♦♥ 198✳ ▲❡ ♠❛sq✉❡ ré❞✉✐t ❧❛ ③♦♥❡ ❞❡ r❡❝❤❡r❝❤❡ à ✉♥ ✹✵✪ ❞❡ ❧✬✐♠❛❣❡✳ ❯♥❡ ❝♦♠♣❛r❛✐s♦♥ ❞❡s rés✉❧t❛ts ❞❡s ❞❡✉① t❡❝❤♥✐q✉❡s ❡♥ ✉t✐❧✐s❛♥t ❧❡ ♣♦✉r❝❡♥t❛❣❡ ❞❡ ♥♦♠❜r❡ ❞❡ ♣♦✐♥ts ❞ét❡❝tés ❞❛♥s ❧✬✐♠❛❣❡ ♣❛r r❛♣♣♦rt ❛✉ ♥♦♠❜r❡ ❞❡s ♣♦✐♥ts ❞❛♥s ❧❛ ✈ér✐té t❡rr❛✐♥ ❡st ❡①♣♦sé❡ ❞❛♥s ❧❡ t❛❜❧❡❛✉ ✸✳✸✳ P♦✉r ❝❡❧❛✱ ✉♥❡ s❡❝t✐♦♥ ❞❡ ✶✵✵ ✐♠❛❣❡s ❡♥ ❧✐❣♥❡ ❞r♦✐t❡ ❛ été ❝❤♦✐s✐❡✳ ◆♦✉s ❝♦♠♣❛r♦♥s ❧❡ ♥♦♠❜r❡ ❞❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉rs ❞ét❡❝tés ❡t ❧❡ ♥♦♠❜r❡ ❞❡ ♣♦✐♥ts ❡rr♦♥és✳ P♦✉r ❡①❛♠✐♥❡r ❧❛ r♦❜✉st❡ss❡ ❞❡s ❞❡✉① t❡❝❤♥✐q✉❡s ✈✐s à ✈✐s ❞✉ ❜r✉✐t✱ ♥♦✉s ❛✈♦♥s ✐♥s♣❡❝té t♦✉t❡ ❧✬✐♠❛❣❡✱ ❝❡ q✉✐ ♥♦✉s ♣❡r♠❡t ❛✉ss✐ ❞❡ ✈ér✐✜❡r ❧✬❡✣❝❛❝✐té ❞✉ ♠❛sq✉❡✳ ◆♦✉s ❛✈♦♥s ❞é❝♦♠♣♦sé ❧❡s ❢❛✉ss❡s ❞ét❡❝t✐♦♥s ❡♥ ❞❡✉①✱ ❞❛♥s ❧✬✐♠❛❣❡ ❝♦♠♣❧èt❡ ❞✬✉♥❡ ♣❛rt✱ à ❧✬✐♥tér✐❡✉r ❞✉ ♠❛sq✉❡ ❞✬❛✉tr❡ ♣❛rt✳ ❉❛♥s ❧❛ ✜❣✉r❡ ✸✳✷✸ ♥♦✉s ♣♦✉✈♦♥s ✈♦✐r ❧❛ ✈❛r✐❛t✐♦♥ ❞❡s t❛✉① ❞❡ ❞ét❡❝t✐♦♥ ♣♦✉r ❧❡s 100 ✐♠❛❣❡s sé❧❡❝t✐♦♥♥é❡s✳ ❉❛♥s ❧❡ t❛❜❧❡❛✉ ✸✳✸ ♥♦✉s tr♦✉✈♦♥s ❧❡s ✈❛❧❡✉rs ♠♦②❡♥♥é❡s s✉r ❧✬❡♥s❡♠❜❧❡ ❞❡s ✐♠❛❣❡s✳ ❚❛❜❧❡❛✉ ✸✳✸ ❱❛❧❡✉rs ♠♦②❡♥s ❞❡ t❛✉① ❞❡ ❞ét❡❝t✐♦♥s ❞❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉r ♣♦✉r ✶✵✵ ✐♠❛❣❡s✳ ❱r❛✐ ♣♦s✐t✐❢s ❚♦t❛❧ ❞❡ ❋❛✉① ♣♦s✐t✐❢s ❋❛✉① ♣♦s✐t✐❢s ❛✈❡❝ ♠❛sq✉❡ ❉♦● ✻✶✳✷✶ ✪ ✶✹✺✳✺ ✪ ✹✹✳✻✺ ✪ ❆♥❛❧②s❡ ❞❡ ●r❛❞✐❡♥ts ✼✹✳✵✶ ✪ ✺✽✳✹✷ ✪ ✶✾✳✶✾ ✪ ➚ ❧❛ ✈✉❡ ❞❡s ✜❣✉r❡s ✸✳✶✻✱ ✸✳✷✶ ❡t ✸✳✷✸ ❡t ❞✉ t❛❜❧❡❛✉ ✸✳✸✱ ♥♦✉s ❝♦♥s✐❞ér♦♥s q✉❡ ❧❡ ✜❧tr❛❣❡ ❉♦●✱ ♠ê♠❡ s✬✐❧ ♦✛r❡ ❞❡ très ❜♦♥s rés✉❧t❛ts✱ s♦✉✛r❡ ❞✬✉♥ ❣r❛♥❞ ♥♦♠❜r❡ ❞❡s ❢❛✉①✲♣♦s✐t✐❢s✳ ❉❡ ♣❧✉s✱ ❝❡s ❢❛✉ss❡s ❞ét❡❝t✐♦♥s ♦♥t ❞❡s ❢♦r♠❡s très ❧✐♥é❛✐r❡s ❝❡ q✉✐ ♣❡✉① ♥♦✉s ✐♥❞✉✐r❡ à ❧❡s ❝♦♥s✐❞ér❡r ❝♦♠♠❡ ❞❡s r❛✐❧s✳ ❊♥ ✜♥✱ ❝❡tt❡ t❡❝❤♥✐q✉❡ ♥❡ ♥♦✉s ♣❡r♠❡t ♣❛s ❞❡ ❣❛r❞❡r ❧✬✐♥❢♦r♠❛t✐♦♥ ❞❡ ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts ❞❛♥s ❧✬✐♠❛❣❡✱ ❝❡ q✉✐ ❝♦♠♠❡ ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✺ ❛✐❞❡ à ❞✐s❝r✐♠✐♥❡r ❧❡s ❞✐✛ér❡♥ts ❝♦♥t♦✉rs ✐rré❣✉❧✐❡rs ♣rés❡♥ts ❞❛♥s ❧✬✐♠❛❣❡ ❡t ❡①♣❧✐q✉❡ ♣♦✉rq✉♦✐ ❧❛ t❡❝❤♥✐q✉❡ ♣r♦♣♦sé❡ ♠♦♥tr❡ ❞❡s ♠❡✐❧❧❡✉rs rés✉❧t❛ts✳ ❊♥ rés✉♠é✱ ❧❛ t❡❝❤♥✐q✉❡ ♣r♦♣♦sé❡ ❡st ❜❛sé❡ ❞❛♥s ❧❛ r❡❝❤❡r❝❤❡ ❞❡s ❣r❛❞✐❡♥ts ❞❛♥s ❧✬✐♠❛❣❡✱ s✉♣é✲ r✐❡✉rs à ✉♥ s❡✉✐❧ ❢❛✐❜❧❡✱ é❝❛rtés ❞✬✉♥❡ ❞✐st❛♥❝❡ ✓✇✔ ❡t ❛✈❡❝ ✉♥❡ ♦r✐❡♥t❛t✐♦♥ s❡♠❜❧❛❜❧❡✳✸✳✸✳ ❆♣♣r♦❝❤❡ r❡t❡♥✉❡ ✺✼ ❋✐❣✉r❡ ✸✳✷✸ ✕ ❈♦♠♣❛r❛t✐❢ ❞✉ ♥♦♠❜r❡ ❞❡ ✓❱P ✿ ✈r❛✐✲♣♦s✐t✐❢s✔ ❡t ✓❋P ✿ ❢❛✉①✲♣♦s✐t✐❢s✔ ♣♦✉r ❧❡s t❡❝❤♥✐q✉❡s ❞❡ ❞✐✛ér❡♥❝❡ ❞❡s ❣❛✉ss✐❡♥♥❡s ✭❉♦●✮ ❡t ❧❛ ♠ét❤♦❞❡ ♣r♦♣♦sé❡✳ ✸✳✸✳✸ ❘❡❝❤❡r❝❤❡ ❞✉ ♠♦❞è❧❡ ❞❛♥s ❧✬❡s♣❛❝❡ ✸❉ ❯♥❡ ❢♦✐s q✉❡ ❧❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉rs s♦♥t ❞ét❡r♠✐♥és✱ ❧❡ tr❛✐t❡♠❡♥t ♣r✐♥❝✐♣❛❧ ❝♦♥s✐st❡ à ❧❡s ♠❡ttr❡ ❡♥ ❝♦rr❡s♣♦♥❞❛♥❝❡ ❛✈❡❝ ✉♥ ♠♦❞è❧❡ ♣ré❞é✜♥✐ ❞é❝r✐✈❛♥t ❧❛ ❝♦✉r❜✉r❡ ❞❡ ❧❛ ✈♦✐❡ ❢❡rré❡✳ ▲❡ ♠♦❞è❧❡ ❝❤♦✐s✐ ❡st ✉♥ ♣♦❧②♥ô♠❡ ❞❡ ✷è♠❡ ❞é❣ré❡ ❬❑❛s❦❡ ❡t ❛❧✳ ✶✾✾✼❪✱ ❬❏✉♥❣ ✫ ❑❡❧❜❡r ✷✵✵✹❪ ❡t ❬❈❤♦✐ ❡t ❛❧✳ ✷✵✶✷❪✳ ❖♥ ♣❡✉t ❝♦♥s✐❞ér❡r q✉❡ ❝❡ ♣♦❧②♥ô♠❡ ❡st s✉✣s❛♥t ♣♦✉r ❝❛r❛❝tér✐s❡r ❧❛ ❝♦✉r❜✉r❡ ❞❡ ❧❛ ✈♦✐❡ ❞❛♥s ❧❡s ❧✐♠✐t❡s ❞✉ ❝❤❛♠♣ ❞❡ ✈✐s✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ ❞û ❛✉① ❝♦♥tr❛✐♥t❡s ❞❡ r❛②♦♥ ❞❡ ❝♦✉r❜✉r❡ ❡①✐st❛♥t ❞❛♥s ❧❡s ❧✐❣♥❡s ❱❆▲✳ P♦✉r ❜✐❡♥ ❡①♣❧♦✐t❡r ❧❡s ❝♦♥tr❛✐♥t❡s ❞❡ ❧❛ ✈♦✐❡✱ ✭❧❛r❣❡✉r✱ r❛②♦♥ ❞❡ ❝♦✉r❜✉r❡ ♠✐♥✐♠✉♠✱ ❡t❝✮ ♥♦✉s tr❛♥s❢♦r♠♦♥s ❧❡s ♣♦✐♥ts ❞❡s ❝♦♥t♦✉rs ♦❜t❡♥✉s ❡♥ ❞❡s ♣♦✐♥ts 3D s✐t✉és ❞❛♥s ❧❡ ♠♦♥❞❡ ré❡❧ ❣râ❝❡ à ❧✬❛♣♣❧✐❝❛t✐♦♥ ❞❡ ❧❛ rétr♦✲♣r♦❥❡❝t✐♦♥ ♦❜t❡♥✉❡ à ♣❛rt✐r ❞✉ ♠♦❞è❧❡ ❝♦♠♣❧❡t s❛♥s ❞✐st♦rs✐♦♥ ✭éq✉❛t✐♦♥ ✷✳✷✮✳ ❉✬❛✉tr❡s t❡❝❤♥✐q✉❡s tr❛♥s❢♦r♠❡♥t ❝♦♠♣❧èt❡♠❡♥t ❧✬✐♠❛❣❡ ♣♦✉r ♦❜t❡♥✐r ✉♥❡ tr❛♥s❢♦r♠é❡ ✐♥✈❡rs❡ ❝♦♠♣❧èt❡✱ ♠❛✐s ❡♥ tr❛♥s❢♦r♠❛♥t s❡✉❧❡♠❡♥t ❧❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉r ♥♦✉s ❛✈♦♥s ✉♥ ❣❛✐♥ ❞✉ t❡♠♣s ❞❡ ❝❛❧❝✉❧ très ✐♠♣♦rt❛♥t✳ ▲✬❤②♣♦t❤ès❡ ❞✉ ♠♦♥❞❡ ♣❧❛♥ ❡st r❡t❡♥✉❡ ♣♦✉r ♣♦✉✈♦✐r ré❛❧✐s❡r ❝❡tt❡ rétr♦✲ ♣r♦❥❡❝t✐♦♥✳ ▲✬✐♠♣❛❝t ❞❡ ❝❡tt❡ ❤②♣♦t❤ès❡ ❡♥ ♣rés❡♥❝❡ ❞❡s ♣❡♥t❡s ❡st ❛♥❛❧②sé ❞❛♥s ❧❛ s❡❝t✐♦♥ ✸✳✸✳✺✳✶✳ ❈✬❡st ❞❛♥s ❝❡ ♥✉❛❣❡ ❞❡s ♣♦✐♥ts 3D q✉❡ ♥♦✉s ❛❧❧♦♥s ❝❤❡r❝❤❡r ❧❡s ❝♦❡✣❝✐❡♥ts ❞✉ ♠♦❞è❧❡ ❞❡ ❧❛ ✈♦✐❡✳ P♦✉r ❛❥✉st❡r ❧❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉rs ❛✉ ♠♦❞è❧❡✱ ♥♦✉s ❛✈♦♥s ❝❤♦✐s✐ ❞✬❛♣♣❧✐q✉❡r ❧❛ ♠ét❤♦❞❡ ❞❡ ✈♦t❡ ♣r♦❜❛❜✐❧✐st❡ ❞❡ ❘❆◆❙❆❈ ✭❘❆◆❞♦♠ ❙❆♠♣❧❡ ❈♦♥s❡♥s✉s✮❬❋✐s❝❤❧❡r ✫ ❇♦❧❧❡s ✶✾✽✶❪✱ q✉✐ ❡st ❝♦✉r❛♠✲ ♠❡♥t ✉t✐❧✐sé❡ ♣♦✉r ❞❡s ❛❥✉st❡♠❡♥ts r♦❜✉st❡s à ❞❡s ♠♦❞è❧❡s ❡♥ ♣rés❡♥❝❡ ❞❡ ❜r✉✐t✳ ❊♥ ♦✉tr❡✱ ❝❡tt❡ ♠ét❤♦❞❡ ❛ été ❝♦♥ç✉❡ ❛✜♥ ❞❡ ré❞✉✐r❡ ❧❡ t❡♠♣s ❞❡ ❝❛❧❝✉❧ ❞❡s ♠ét❤♦❞❡s ❞❡ ✈♦t❡s ❝❧❛ss✐q✉❡s ❝♦♠♠❡ ❧❛ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤✳ ▲❡s ét❛♣❡s ❞❡ ❝❡t ❛❧❣♦r✐t❤♠❡ ♣♦✉r tr♦✉✈❡r ✉♥ ♣♦❧②♥ô♠❡ ❞❡ ❞❡❣ré n s♦♥t ❧❡s s✉✐✈❛♥t❡s ✿ ✕ ❖♥ ❝❤♦✐s✐t ❛❧é❛t♦✐r❡♠❡♥t n + 1 ♣♦✐♥ts ♣❛r♠✐ ❧✬❡♥s❡♠❜❧❡✳ ✕ ❖♥ ❝❛❧❝✉❧❡ ❧❡s ♣❛r❛♠ètr❡s ❞✉ ♣♦❧②♥ô♠❡ ♣❛ss❛♥t ♣❛r ❝❡s ♣♦✐♥ts✳ ✕ P❛r ❝❛❧❝✉❧ ❞❡ ❧❛ ❞✐st❛♥❝❡ ❞❡s ❛✉tr❡s ♣♦✐♥ts✱ ♦♥ ❞ét❡r♠✐♥❡ ❧❡s ✓♣♦✐♥ts ♣r♦❝❤❡s✔ ❞✉ ♠♦❞è❧❡ ✭✐♥❧✐❡rs ❞❡ ❧✬❛♥❣❧❛✐s✮ ❛②❛♥t ✉♥❡ ❞✐st❛♥❝❡ ✐♥❢ér✐❡✉r❡ à ✉♥ s❡✉✐❧ ❞❡ t♦❧ér❛♥❝❡ ♣ré❞é✜♥✐✳ ✕ ❙✐ ❧❡ ♥♦♠❜r❡ ❞✬✐♥❧✐❡rs ❡st s✉✣s❛♥t✱ ❛❧♦rs ♦♥ ❝❛❧❝✉❧❡ ❧✬❡rr❡✉r ♣❛r r❛♣♣♦rt à t♦✉t ❧✬❡♥s❡♠❜❧❡ ❞❡s ♣♦✐♥ts✳ ✕ ❙✐ ❧✬❡rr❡✉r t♦t❛❧❡ ❞✉ ♠♦❞è❧❡ ❡st ✐♥❢ér✐❡✉r❡ à ❧✬❡rr❡✉r ❞✉ ♠❡✐❧❧❡✉r ♠♦❞è❧❡ ♣ré❝é❞❡♥t✱ ❝❡ ♠♦❞è❧❡✲❝✐ ❡st ❛ss✐❣♥é ❝♦♠♠❡ ❧❡ ♥♦✉✈❡❛✉ ♠❡✐❧❧❡✉r ♠♦❞è❧❡ ❡t ❧✬❡♥s❡♠❜❧❡ ❞❡s ♣♦✐♥ts ♣r♦❝❤❡s ✭✐♥❧✐❡rs✮ ❡st✺✽ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❣❛r❞é ✭❝♦♥s❡♥s✉s ♣♦✐♥ts✮✳ ✕ ❖♥ r❡❝♦♠♠❡♥❝❡ ❧❛ ♣r♦❝é❞✉r❡ ❛✈❡❝ ✉♥ ♥♦✉✈❡❧ ❡♥s❡♠❜❧❡ ❞❡ ♣♦✐♥ts ❥✉sq✉✬à ✉♥ ♥♦♠❜r❡ ♠❛①✐♠✉♠ ❞❡ t❡♥t❛t✐✈❡s✳ ✸✳✸✳✸✳✶ ◆♦♠❜r❡ ❞✬✐tér❛t✐♦♥s ❞❡ ❘❆◆❙❆❈ ▲❡ ♥♦♠❜r❡ ♠✐♥✐♠❛❧ ❞✬✐tér❛t✐♦♥s ♥é❝❡ss❛✐r❡s ♣♦✉r q✉❡ ❧❡ ✓♠❡✐❧❧❡✉r ♠♦❞è❧❡✔ ♥❡ ❝♦♥t✐❡♥♥❡ q✉❡ ❞❡s ✧✐♥❧✐♥❡rs✧ ❛✉ s❡✉✐❧ ❞❡ ♣r♦❜❛❜✐❧✐té P ❞♦♥♥é ♣❡✉t êtr❡ ❞ét❡r♠✐♥é ❞❡ ❢❛ç♦♥ t❤é♦r✐q✉❡✳ ❙✐ ♦♥ ❞és✐❣♥❡ ♣❛r W ❧❛ ♣r♦❜❛❜✐❧✐té ❞❡ ❝❤♦✐s✐r à ❝❤❛q✉❡ ✐tér❛t✐♦♥ ✉♥ ✐♥❧✐♥❡r ✈❛❧❛❜❧❡ ❡t q✉❡ ❧❡s n ♣♦✐♥ts ♥é❝❡ss❛✐r❡s à ❞é✜♥✐r ❧❛ ❢♦♥❝t✐♦♥ s♦✐❡♥t sé❧❡❝t✐♦♥♥és ❞❡ ❢❛ç♦♥ ✐♥❞é♣❡♥❞❛♥t❡✱ ❞❛♥s ❝❡ ❝❛s✱ ❧❛ ♣r♦❜❛❜✐❧✐té ♣♦✉r q✉❡ ❧❡s n ♣♦✐♥ts s♦✐❡♥t t♦✉s ❞❡s ✐♥❧✐♥❡rs ❡st ❞❡ Wn✱ ❡t (1 − Wn) ❡s ❧❛ ♣r♦❜❛❜✐❧✐té q✉✬❛✉ ♠♦✐♥s ✉♥ ❞❡ ❝❡s ♣♦✐♥ts ♥❡ ❢❛ss❡ ♣❛s ♣❛rt✐❡ ❞❡s ✐♥❧✐♥❡rs à ❝❤❛q✉❡ t✐r❛❣❡✳ ▲❛ ♣r♦❜❛❜✐❧✐té ❞❡ r❡♣r♦❞✉✐r❡ ✉♥ t❡❧ t✐r❛❣❡ ✐♠♣❛r❢❛✐t K ❢♦✐s ❡st ❞♦♥♥é❡ ♣❛r ❧✬éq✉❛t✐♦♥ ✸✳✺✳ ❊❧❧❡ ❝♦rr❡s♣♦♥❞ à ❧❛ ♣r♦❜❛❜✐❧✐té ♣♦✉r q✉❡ ❧✬❛❧❣♦r✐t❤♠❡ ♥❡ sé❧❡❝t✐♦♥♥❡ ❛✉❝✉♥ é❝❤❛♥t✐❧❧♦♥ ❞❡ n ✐♥❧✐♥❡rs à ❧❛ ❢♦✐s✳ ❊❧❧❡ ❡st ❛❧♦rs é❣❛❧❡ à (1 − P)✱ ❞✬♦ù ❧✬é❣❛❧✐té s✉✐✈❛♥t❡ ✿ (1 − Wn ) K = 1 − P ✭✸✳✺✮ ♦ù W = Nombre de points valables Nombre total de points ✭✸✳✻✮ ❉❛♥s ♥♦tr❡ ❝❛s✱ ✐❧ s✉✣t ❞❡ ❞❡✉① ♣♦✐♥ts ♣✉✐sq✉❡ ♥♦✉s ❝❤❡r❝❤♦♥s à ❛❥✉st❡r ❞❡s ♣❛r❛❜♦❧❡s ♣❛ss❛♥t ♣❛r ✉♥ ♣♦✐♥t ❞é❥à ❝♦♥♥✉ ✿ ❝❡❧✉✐ q✉✐ ❝♦rr❡s♣♦♥❞ à ❧❛ ♣♦s✐t✐♦♥ ❞✉ r❛✐❧ ❞❛♥s ❧❛ ♣❛rt✐❡ ❜❛s❡ ❞❡ ❧✬✐♠❛❣❡ tr❛♥s❢♦r♠é❡ ❞❛♥s ❝❡s ✈❛❧❡✉rs 3D✳ ◆♦✉s ✜①♦♥s é❣❛❧❡♠❡♥t ✉♥❡ ♣r♦❜❛❜✐❧✐té P = 0.999999 q✉❡ ❞❛♥s Kn ✐tér❛t✐♦♥s ❧❡s ❝♦❡✣❝✐❡♥ts ❞❡ ❧❛ ❝♦✉r❜❡ s❡r♦♥t ❞ét❡❝tés✳ P♦✉r ❞ét❡r♠✐♥❡r W✱ ❝♦♥s✐❞ér♦♥s ❧❡ ❝❛s ♣❧✉s ❝♦♠♣❧✐q✉é ❝♦♥s✐st❡ à tr♦✉✈❡r ❧❛ ♣❛r❛❜♦❧❡ ❞✬✉♥ r❛✐❧ ✭❞r♦✐t ♦✉ ❣❛✉❝❤❡✮ ❡♥ ♣rés❡♥❝❡ ❞❡ t♦✉s ❧❡s é❧é♠❡♥ts ❞❡ ❧❛ ✈♦✐❡✱ à s❛✈♦✐r✱ ❧❡s ❞❡✉① ♣✐st❡s ❞❡ r♦✉❧❡♠❡♥t✱ ❧❡s ❞❡✉① t❛♣✐s ❡t ❧❡s r❛✐❧s ❞❡ ❣✉✐❞❛❣❡✱ t♦✉s ♣rés❡♥ts ❞❛♥s ❧✬✐♠❛❣❡ ❞❡♣✉✐s ❧❛ ♣❛rt✐❡ ❜❛ss❡ ❥✉sq✉✬❛✉ ♣♦✐♥t ❞❡ ❢✉✐t❡✱ ❝♦♠♠❡ ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✷✹✳ ❉❛♥s ❝❡ ❝❛s✱ ❝❤❛q✉❡ é❧é♠❡♥t ❞❡ ❧❛ ✈♦✐❡ ❛♣♣♦rt❡r❛ ❧❡ ♠ê♠❡ ♥♦♠❜r❡ ❞❡ ♣♦✐♥ts M à ❧✬❡♥s❡♠❜❧❡ ❞❡s ♣♦✐♥ts 3D ❡t ❧❛ ♣r♦❜❛❜✐❧✐té ❲ ❡st ❞é✜♥✐❡ ♣❛r ✸✳✻✳ ❋✐♥❛❧❡♠❡♥t✱ ❡♥ s✉❜st✐t✉❛♥t ❞❛♥s ✸✳✻ ❡t ✸✳✺✱ ❧❛ ♣r♦❜❛❜✐❧✐té W = 1/6 ❡t ❧❡ ♥♦♠❜r❡ ❞❡s ✐tér❛t✐♦♥s K ♦♣t✐♠❛❧ rés✉❧t❡ ❞❡ 490 ✭✈♦✐r ✸✳✼ ❡t ✸✳✽✮✳ W = M 6 · M = 1 6 ✭✸✳✼✮ K = log(1 − P) log(1 − Wn) = log(1 − 0.999999) log(1 − 1 6 2 ) ≈ 490 ✭✸✳✽✮ ❆✈❡❝ ❝❡tt❡ ❝♦♥s✐❞ér❛t✐♦♥ ✐❞é❛❧❡✱ ❧❡ ♥♦♠❜r❡ ❞✬✐tér❛t✐♦♥s ♣♦✉r ♦❜t❡♥✐r ❧❡ ♠♦❞è❧❡ ♥❡ ❞é♣❡♥❞ ♣❛s ❞❡ ❧❛ t❛✐❧❧❡ ❞❡ ❧✬✐♠❛❣❡ ♥✐ ❞❡ ❧✬✐♥❝❧✐♥❛✐s♦♥ ❞❡ ❧❛ ❝❛♠ér❛✳ ❙✐ ♠❛✐♥t❡♥❛♥t ♥♦✉s ♣r❡♥♦♥s ❡♥ ❝♦♠♣t❡✱ ❧❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉r ❡rr♦♥és✱ ❝❡✉① q✉✐ ♥✬❛♣♣❛rt✐❡♥♥❡♥t ♣❛s à ❧❛ ✈♦✐❡✱ s♦✐t ❡♥✈✐r♦♥ ✉♥ ✷✵✪ ❞✉ ♥♦♠❜r❡ ❞❡s ♣♦✐♥ts ❞❡ ❧❛ ✈ér✐té t❡rr❛✐♥ ✭t❛❜❧❡❛✉ ✸✳✸✮✱ ❧❛ ♥♦✉✈❡❧❧❡ ♣r♦❜❛❜✐❧✐té W ❡st ❞❡ 1 7.2 ❡t ❧❡ ♥♦♠❜r❡ ❞✬✐tér❛t✐♦♥s ♣❛ss❡ à K ≈ 710✳✸✳✸✳ ❆♣♣r♦❝❤❡ r❡t❡♥✉❡ ✺✾ ✭❛✮ ■♠❛❣❡ ♦r✐❣✐♥❛❧❡✳ ✭❜✮ ❱ér✐té t❡rr❛✐♥✳ ✭❝✮ ❉ét❡❝t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts ❞❛♥s ❧❛ ✈ér✐té t❡r✲ r❛✐♥✳ ✭❞✮ P♦✐♥ts ❞❛♥s ❧❡ r❡♣èr❡ ✸❉✳ ❋✐❣✉r❡ ✸✳✷✹ ✕ ❱ér✐té t❡rr❛✐♥ ❡t s❛ rétr♦✲♣r♦❥❡❝t✐♦♥✳ ✸✳✸✳✸✳✷ ❙❝♦r❡ ❞✉ ♠♦❞è❧❡ ❉❛♥s ❧✬❛❧❣♦r✐t❤♠❡ ❞❡ ❘❆◆❙❆❈✱ à ❝❤❛q✉❡ ❡st✐♠❛t✐♦♥ ✉♥ ❥❡✉ ❛❧é❛t♦✐r❡ ❞❡ ❞♦♥♥é❡s ❡st t❡sté ❡t ✐❧ ❧✉✐ ❝♦rr❡s♣♦♥❞ ✉♥ s❝♦r❡ ♣♦✉r ❧❡s ♣❛r❛♠ètr❡s ♦❜t❡♥✉s✳ ▲❡ ❥❡✉ ❞❡ ♣❛r❛♠ètr❡s ❛②❛♥t ❧❡ s❝♦r❡ ❧❡ ♣❧✉s é❧❡✈é ❡st r❡t❡♥✉ ❝♦♠♠❡ ❧❡ rés✉❧t❛t ❞❡ ❧✬❡st✐♠❛t✐♦♥✳ ◆♦r♠❛❧❡♠❡♥t✱ ❧❡ ✈♦t❡ ❡st ❜❛sé s✉r ❧❡ ♥♦♠❜r❡ ❞❡ ♣♦✐♥ts ❞♦♥t ❧❛ ❞✐st❛♥❝❡ ❛✉ ♠♦❞è❧❡ ❡st ✐♥❢ér✐❡✉r❡ à ✉♥ s❡✉✐❧ ❞♦♥♥é ✭✉♥❡ t♦❧ér❛♥❝❡ ♠✐♥✐♠❛❧❡✮✳ ❈♦♠♠❡ ❝❡ ❝r✐tèr❡ ♣❡✉t ❞♦♥♥❡r ❞❡s ❢❛✉① rés✉❧t❛ts s✐ ♥♦✉s ♣r❡♥♦♥s ❞❡ ❢❛ç♦♥ ✐♥❞é♣❡♥❞❛♥t❡ ❝❤❛q✉❡ r❛✐❧✱ ♥♦✉s ♣r♦♣♦s♦♥s q✉❡ ❧❡ t❡st ❞✬❛♣♣❛rt❡♥❛♥❝❡ ♣r❡♥♥❡ ❡♥ ❝♦♠♣t❡ ❧✬❡①✐st❡♥❝❡ ❞❡ t♦✉s ❧❡s é❧é♠❡♥ts ❞❡ ❧❛ ✈♦✐❡✳ ❈❡❧❛ ♥♦✉s ♣❡r♠❡ttr❛ ❞❡ ré❞✉✐r❡ ❧❡ ♥♦♠❜r❡ ❞❡s ❢❛✉ss❡s ❞ét❡❝t✐♦♥s✱ ❝❛r ❧❡ ♠❡✐❧❧❡✉r ♠♦❞è❧❡ s❛t✐s❢❡r❛ ❧✬❡♥s❡♠❜❧❡ ❞❡s ♣♦✐♥ts ❞✉ ♥✉❛❣❡ ♦❜t❡♥✉✳ ❆✉tr❡♠❡♥t ❞✐t✱ à ❝❤❛q✉❡ ✐tér❛t✐♦♥✱ ✉♥❡ ❢♦✐s ❞ét❡r♠✐♥é ✉♥ ♠♦❞è❧❡ ♥♦✉s ❝❛❧❝✉❧♦♥s ❧❛ ♣♦s✐t✐♦♥ t❤é♦r✐q✉❡ ❞❡s ❛✉tr❡s str✉❝t✉r❡s ♣❛r r❛♣♣♦rt ❛✉ ♠♦❞è❧❡ ✭❧❡ r❛✐❧ ♦♣♣♦sé✱ ❧❡s t❛♣✐s ❡t ❧❡s r❛✐❧s ❞❡ ❣✉✐❞❛❣❡✮✳ ◆♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ✉♥❡ ❢♦♥❝t✐♦♥ ❣❛✉ss✐❡♥♥❡ ♣♦✉r ♣♦♥❞ér❡r ❧✬❡rr❡✉r ❞❡s ♠♦❞è❧❡s ✐tér❛t✐❢s ❞❡ ❧✬❛❧❣♦r✐t❤♠❡ ❞❡ ❘❆◆❙❆❈ ♣♦✉r ❝❤❛q✉❡ str✉❝t✉r❡ ❞❡ ❧❛ ✈♦✐❡✳ ❈❡s ❢♦♥❝t✐♦♥s s♦♥t ❝❛r❛❝tér✐sé❡s ♣❛r ✉♥❡ ❞❡♥s✐té ❞❡ ♣r♦❜❛❜✐❧✐té s✉✐✈❛♥t ❧❛ ❧♦✐ ♥♦r♠❛❧❡✱ ❝❡♥tré❡ s✉r ❧❛ ♣♦s✐t✐♦♥ ❞❡ ❝❤❛q✉❡ str✉❝t✉r❡✳ ■❧ ❢❛✉t é❣❛❧❡♠❡♥t t❡♥✐r ❝♦♠♣t❡ ❞✉ ❢❛✐t q✉❡ ❧❛ rés♦❧✉t✐♦♥ s♣❛t✐❛❧❡ ❛♣rès ✉♥❡ rétr♦✲♣r♦❥❡❝t✐♦♥ ✈❛r✐❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡✱ ❝✬❡st✲à✲❞✐r❡ q✉❡ ♣♦✉r ❧❡s ♣♦✐♥ts ♣r♦❝❤❡s ✭❝❡✉① ❞❡ ❧❛ ♣❛rt✐❡ ❜❛ss❡ ❞❡ ❧✬✐♠❛❣❡✮✱ ❧❛ rés♦❧✉t✐♦♥ s♣❛t✐❛❧❡ ❡st ❜♦♥♥❡ ✭q✉❡❧q✉❡s ♠♠ ❡♥tr❡ ✷ ♣✐①❡❧s✮✱ ❡t ♣❧✉s ♦♥ ♠♦♥t❡ ❞❛♥s ❧✬✐♠❛❣❡ ✈❡rs ❧❡ ♣♦✐♥t ❞❡ ❢✉✐t❡✱ ♣❧✉s ❣r❛♥❞ ❡st ❧✬é❝❛rt ❡♥ ❞✐st❛♥❝❡ ❞❡ ❞❡✉① ♣✐①❡❧s ❝♦♥t✐❣✉s✳ ❉❡ ❝❡ ❢❛✐t✱ ♥♦✉s ♣r♦♣♦s♦♥s q✉❡ ❧❡s ❣❛✉ss✐❡♥♥❡s ❛✐❡♥t ✉♥ é❝❛rt t②♣❡ ✈❛r✐❛♥t ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡✳ ❈❡t é❝❛rt t②♣❡ s❡r❛ ♣❧✉s ♣❡t✐t ♣♦✉r ❧❡s ♣♦✐♥ts ♣r♦❝❤❡s ❡t ♣❧✉s ❧❛r❣❡ ♣♦✉r ❧❡s ♣♦✐♥ts ♣❧✉s ❧♦✐♥t❛✐♥s✱ ♠❛✐s s❛♥s ❥❛♠❛✐s s✉♣❡r♣♦s❡r ❝♦♠♣❧èt❡♠❡♥t ❞❡✉① ❣❛✉ss✐❡♥♥❡s ❛❞❥❛❝❡♥t❡s✳ ▲❡s ✈❛❧❡✉rs ❞✬é❝❛rt t②♣❡ ♦♥t été ❞ét❡r♠✐♥é❡s ❛ ♣r✐♦r✐ ❞❡ ❢❛ç♦♥ ❧✐♥é❛✐r❡ à ♣❛rt✐r ❞❡ ❧❛ ❝♦✉♣❡✻✵ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ tr❛♥s✈❡rs❛❧❡ ❞❡ ❧❛ ✈♦✐❡ ✭✜❣✉r❡ ✸✳✶✮ ♦ù ❧❛ ❞✐st❛♥❝❡ ♠✐♥✐♠❛❧❡ ❡♥tr❡ ❧❡s r❛✐❧s ❡t ❧❡s t❛♣✐s ❡st ❞❡ 0, 255 m✳ ▲❛ ❧❛r❣❡✉r ❞❡s ❣❛✉ss✐❡♥♥❡s ❞♦✐t êtr❡ ✐♥❢ér✐❡✉r❡ à ❝❡t é❝❛rt❡♠❡♥t ♣♦✉r ❜✐❡♥ sé♣❛r❡r ❝❤❛q✉❡ str✉❝t✉r❡ ❡t ❛✈♦✐r ✉♥ rés✉❧t❛t ❞✉ ♠♦❞è❧❡ ♣❧✉s ♣ré❝✐s✳ ▲❛ ✈❛r✐❛t✐♦♥ ❞❡ ❧✬é❝❛rt t②♣❡ ♣r❡♥❞ ❡♥ ❝♦♠♣t❡ ❝❡s ❞✐st❛♥❝❡s ♠✐♥✐♠❛❧❡ ❡t ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s✱ ❡t ✐❧ ❡st ♣❧✉s é❧❡✈é ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡✱ s❛♥s ❥❛♠❛✐s ❛ss♦❝✐❡r ❞❡✉① ❣❛✉ss✐❡♥♥❡s ✈♦✐s✐♥❡s✳ ▲❛ ✜❣✉r❡ ✸✳✷✺ ♠♦♥tr❡ ❧✬❡①❡♠♣❧❡ ❞❡s 6 ❣❛✉ss✐❡♥♥❡s q✉✐ s❛t✐s❢♦♥t ❧❡ ♠✐❡✉① ❧❡s ♣♦✐♥ts 3D ❞❡ ❧❛ ✜❣✉r❡ ✸✳✷✹✳ P❛r ❝♦♥séq✉❡♥t✱ ❧❛ ❢♦♥❝t✐♦♥ ❞❡ s❝♦r❡ ♣♦✉r ✉♥❡ ❣❛✉ss✐❡♥♥❡ ❡st ❞é✜♥✐❡ ♣❛r ❧✬éq✉❛t✐♦♥ ✸✳✾✱ ❡t ❧❡ s❝♦r❡ t♦t❛❧ ❞✉ ♠♦❞è❧❡ s❡r❛ ❧❛ s♦♠♠❡ ❞❡s s❝♦r❡s ♣♦✉r ❝❤❛❝✉♥❡ ❞❡s ❣❛✉ss✐❡♥♥❡s ❝❛❧❝✉❧é❡s ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ♣rés❡♥❝❡ ♦✉ ♣❛s ❞❡ ❧❛ str✉❝t✉r❡ ❞❛♥s ❧✬✐♠❛❣❡✳ Score(Mk) = X N i=1 1 σ(di) √ 2π exp − (pi − (Mk(pi) + Sj ))2 2(σ(di))2 ✭✸✳✾✮ ♦ù ✿ ✕ Mk ❡st ❧❡ ♠♦❞è❧❡ k ❞❡ ❧❛ sér✐❡ ❞❡ K ♠♦❞è❧❡s ❛❧é❛t♦✐r❡s ❞✉ ❘❆◆❙❆❈✱ ✕ N ✿ ❡st ❧❡ ♥♦♠❜r❡ t♦t❛❧ ❞❡ ♣♦✐♥ts 3D✱ ✕ pi ✿ ❡st ✉♥ ♣♦✐♥t i ❞✉ ♥✉❛❣❡ ❞❡ ♣♦✐♥ts✱ ✕ Sj ❡st ❧❛ ❞✐st❛♥❝❡ ❡♥tr❡ ❧❡ ♠♦❞è❧❡ ❡t ❧❛ str✉❝t✉r❡ j✱ ♦ù j ∈ [1, S] ❡t S ❡st ❧❡ ♥♦♠❜r❡ ❞❡ str✉❝t✉r❡s ♣r✐s❡s ❡♥ ❝♦♠♣t❡✳ ✕ σ(di) ✿ r❡♣rés❡♥t❡ ❧✬é❝❛rt t②♣❡ ❞❡ ❧❛ ❣❛✉ss✐❡♥♥❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ ❞✉ ♣♦✐♥t pi ScoreT otal(Mk) = X S i=1 Score(Mk)i ✭✸✳✶✵✮ ❋✐❣✉r❡ ✸✳✷✺ ✕ ✳ ❘é♣r❡s❡♥t❛t✐♦♥ ❞❡s ✻ ❣❛✉ss✐❡♥♥❡s ❛✈❡❝ ✉♥ é❝❛rt t②♣❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡✳ ❉❡ ❝❡ ❢❛✐t✱ ❞❛♥s ❧❡ ♣r♦❝❡ss✉s ✐tér❛t✐❢ ❧❡ ♠❡✐❧❧❡✉r ♠♦❞è❧❡ s❡r❛ ❝❡❧✉✐ q✉✐ ❛ ✉♥ s❝♦r❡ ♣❧✉s é❧❡✈é✳✸✳✸✳ ❆♣♣r♦❝❤❡ r❡t❡♥✉❡ ✻✶ ✸✳✸✳✸✳✸ ❘❆◆❙❆❈ ♣♦✉r ❝❤❛q✉❡ r❛✐❧ ❈♦♠♠❡ ✐♥❞✐q✉é ♣ré❝é❞❡♠♠❡♥t✱ ❧❡s ✈❛r✐❛t✐♦♥s ❞❡ ❝❤❛♥❣❡♠❡♥t ❞❡ ♣❡♥t❡ ❞❛♥s ❧❡ ♠✐❧✐❡✉ ❢❡rr♦✈✐❛✐r❡ s♦♥t ❧✐♠✐té❡s✱ ❝❡ q✉✐ ❢❛✐t q✉✬♦♥ ♥❡ tr♦✉✈❡r❛ ♣❛s ❞❡ ❝❛s ❝♦♠♠❡ ❧❡s ❡①❡♠♣❧❡s ❞❡ ❧❛ ✜❣✉r❡ ✸✳✶✶✳ ❈❡♣❡♥✲ ❞❛♥t✱ ❞❡s ❝❤❛♥❣❡♠❡♥ts ❞❡ ♣❡♥t❡ ♠ê♠❡ ❢❛✐❜❧❡s ✈♦♥t ✐♥tr♦❞✉✐r❡ ❞❡s ❞é❢♦r♠❛t✐♦♥s ❞❛♥s ❧❡s ♥✉❛❣❡s ❞❡ ♣♦✐♥ts ♦❜t❡♥✉s✳ P♦✉r s✉r♠♦♥t❡r ❝❡tt❡ ❞✐✣❝✉❧té✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞✬♦❜t❡♥✐r ✉♥ ♠♦❞è❧❡ ♣♦✉r ❝❤❛q✉❡ r❛✐❧ ❡t ❞❡ ré❛❧✐s❡r ❡♥s✉✐t❡ ✉♥❡ tr❛♥s❧❛t✐♦♥ ✈❡rs ❧❡ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡ ❞❡s ♠❡✐❧❧❡✉rs ♣♦✐♥ts r❡t❡♥✉s✳ ▲❡s ét❛♣❡s à s✉✐✈r❡ s♦♥t ✿ ❘❆◆❙❆❈ ♣♦✉r ❝❤❛q✉❡ r❛✐❧ ❡♥ t❡♥❛♥t ❡♥ ❝♦♠♣t❡ ❞❡ ❧❛ ♣rés❡♥❝❡ ❞❡ t♦✉t❡s ❧❡s str✉❝t✉r❡s ❀ ❧❛ tr❛♥s❧❛t✐♦♥ ❞❡s ♠❡✐❧❧❡✉rs ♣♦✐♥ts ✭❧❡s ✐♥❧✐❡rs✮ ✈❡rs ❧❡ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡✱ ❡t ✜♥❛❧❡♠❡♥t ✉♥❡ ré❣r❡ss✐♦♥ ❞❡s ♠♦✐♥❞r❡s ❝❛rrés ♣♦✉r ♦❜t❡♥✐r ❧❛ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ❝♦✉r❜❡ q✉✐ ❞é✜♥✐t ❧❡s r❛✐❧s✳ ❯♥ ❡①❡♠♣❧❡ ❞✉ rés✉❧t❛t ♦❜t❡♥✉ ❛✈❡❝ ❘❆◆❙❆❈ ♣♦✉r ♦❜t❡♥✐r ❧❡s r❛✐❧s ❞❡ ❞r♦✐t❡ ❡t ❞❡ ❣❛✉❝❤❡ ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✷✻✳ ✭❛✮ ❘❆◆❙❆❈ ♣♦✉r ❧❡ r❛✐❧ ❞❡ ❣❛✉❝❤❡✳ ✭❜✮ ❘❆◆❙❆❈ ♣♦✉r ❧❡ r❛✐❧ ❞❡ ❞r♦✐t❡✳ ❋✐❣✉r❡ ✸✳✷✻ ✕ ❘❆◆❙❆❈ ✐♥❞✐✈✐❞✉❡❧s ♣♦✉r ❝❤❛q✉❡ r❛✐❧✳ ❉❛♥s ❝❡s ❞❡✉① ✐♠❛❣❡s ♥♦✉s ♣♦✉✈♦♥s ✈♦✐r ❡♥ ❜❧❡✉ ❧❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉rs r❡♣r❡s❡♥tés ❛✈❡❝ ❧❡s ❝♦♦r❞♦♥é❡s 3D✳ ❊♥ ✈❡rt✱ ❧❡s ♣♦✐♥ts ❝♦♥s✐❞érés ❛♣♣❛rt❡♥❛♥t ❛✉ ♠♦❞è❧❡ tr♦✉✈é ✭❧❡s ✐♥❧✐❡rs✮✳ ▲❡s tr❛✐ts ♠❛❣❡♥t❛ r❡♣rés❡♥t❡♥t ❧❡s ❝❡♥tr❡s ❞❡s ❞❡✉① ❣❛✉ss✐❡♥♥❡s ✉t✐❧✐sé❡s ♣♦✉r tr♦✉✈❡r ❧❡ ♠♦❞è❧❡✳ ❯♥❡ ❢♦✐s ♦❜t❡♥✉ ❝❤❛q✉❡ r❛✐❧✱ ❧❡s ✐♥❧✐❡rs ❞❡ ❝❤❛q✉❡ ♠♦❞è❧❡ s♦♥t ❞é♣❧❛❝és ✈❡rs ❧❡ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡ ❧✬é❝❛rt❡♠❡♥t ❞❡s r❛✐❧s ❛✈❡❝ ❧✬♦❜❥❡❝t✐❢ ❞✬♦❜t❡♥✐r ❧✬éq✉❛t✐♦♥ ❞❡ ❝❡♥tr❛❧❡ ❞❡ ❧❛ ♣❛r❛❜♦❧❡ ❝❤❡r❝❤é❡✳ P♦✉r ❝❡❧❛✱ ✉♥❡ ré❣r❡ss✐♦♥ ❞❡s ♠♦✐♥❞r❡s ❝❛rrés ❡st ré❛❧✐sé❡ ❞❛♥s ❧❡ ♥♦✉✈❡❛✉ ❡♥s❡♠❜❧❡ ❞❡ ♣♦✐♥ts✳ ❈❡tt❡ ré❣r❡ss✐♦♥ ❛✉r❛ ❧❛ ♣❛rt✐❝✉❧❛r✐té ❞✬êtr❡ ♣♦♥❞éré❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ ❞❡s ♣♦✐♥ts✳ P❧✉s ❧❡ ♣♦✐♥t ❡st ❧♦✐♥✱ ♣❧✉s ❢❛✐❜❧❡ ❡st s♦♥ ❞✬✐♥✢✉❡♥❝❡ ❞❛♥s ❧❡ rés✉❧t❛t ❞❡ ❧❛ ❝♦✉r❜❡✳ ▲✬♦❜❥❡❝t✐❢ ❡st ❞❡ ré❞✉✐r❡ ❧❡s ❡rr❡✉rs ❡t ❞❡ ❞♦♥♥❡r ♣❧✉s ❞✬✐♠♣♦rt❛♥❝❡ ❛✉① ♣♦✐♥ts ♣r♦❝❤❡s✳ ❈❡ ♣♦✐❞s Wi ❡st ❞é✜♥✐ ❞❛♥s ❧✬éq✉❛t✐♦♥ ✸✳✶✶✳ W SS = Pn i=1 Wir 2 i , Wi = 1 Di , r2 i = yi − f(xi , β) ✭✸✳✶✶✮ ♦ù n r❡♣rés❡♥t❡ ❧❡ ♥♦♠❜r❡ t♦t❛❧ ❞❡ ♣♦✐♥ts r❡t❡♥✉s ♣❛r ❘❆◆❙❆❈ ❡t Di ❧❛ ❞✐st❛♥❝❡ ❛✉ r❡♣èr❡ OW = (0, 0, 0) ❞✉ ♣♦✐♥t pi ✳ ❯♥ ❡①❡♠♣❧❡ ❞❡ ❧❛ tr❛♥s❧❛t✐♦♥ ❞❡s ✐♥❧✐❡rs ❞❡ ❘❆◆❙❆❈ ♣♦✉r ❝❤❛q✉❡ r❛✐❧ ❡t ❧✬♦❜t❡♥t✐♦♥ ❞❡ ❧❛ ♣❛r❛❜♦❧❡ ❝❡♥tr❛❧❡ ❡st ❡①♣♦sé ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✷✼✳ ❈❡tt❡ ét❛♣❡ ✜♥❛❧❡ ❞❡ ré❣r❡ss✐♦♥ ♣❛r ♠♦✐♥❞r❡s ❝❛rrés✻✷ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ✭❛✮ ❈♦♥s❡♥s✉s ❞❡s ♣♦✐♥ts r❡t❡♥✉s ❛✈❡❝ ❘❆◆❙❆❈ ❛✈❡❝ t♦✉s ❧❡s r❛✐❧s ❞é♣❧❛❝és ❛✉ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡✳ ✭❜✮ P❛r❛❜♦❧❡ ♦❜t❡♥✉❡ ❛✈❡❝ ré❣r❡ss✐♦♥ ❞❡s ♠♦✐♥❞r❡s ❝❛rrés ♣♦♥❞éré❡✳✳ ❋✐❣✉r❡ ✸✳✷✼ ✕ ❘é❣r❡ss✐♦♥ ❞❡s ♠♦✐♥❞r❡s ❝❛rrés ❞❡s rés✉❧t❛ts ❞❡ ❘❆◆❙❆❈✳ ▲❡s ✐♥❧✐❡rs r❡t❡♥✉s ♣❛r ❘❆◆❙❆❈ ♣♦✉r ❝❤❛q✉❡ r❛✐❧ s♦♥t r❡♣rés❡♥tés ❡♥ ✈❡rt ❞❛♥s ❧✬✐♠❛❣❡ ✸✳✷✼❛ ❡t ✸✳✷✼❜✳ ❈❡s ♣♦✐♥ts s♦♥t ❞é♣❧❛❝és ✈❡rs ❧❡ ❝❡♥tr❡ ❞❡ ❧❛ ✈♦✐❡ ✉♥❡ ❞✐st❛♥❝❡ é❣❛❧❡ à ❧❛ ♠♦✐t✐é ❞❡ ❧❛ ❧❛r❣❡✉r ❞❡ ❧❛ ✈♦✐❡✳ ❯♥❡ ❢♦✐s ❞é♣❧❛❝és ✭♣♦✐♥ts ♥♦✐rs ❞❛♥s ❧❡s ❞❡✉① ✐♠❛❣❡s✮✱ ❧❛ ♣❛r❛❜♦❧❡ q✉❡ ❝❛r❛❝tér✐s❡ ❧❛ ❝♦✉r❜✉r❡ ❞❡ ❧❛ ✈♦✐❡ ❡st ❞é✜♥✐❡ à ♣❛rt✐r ❞✬✉♥❡ ré❣r❡ss✐♦♥ ❞❡ ♠♦✐♥❞r❡s ❝❛rrés ♣♦♥❞éré❡ ✭r❡♣rés❡♥té❡ ❡♥ ♠❛❣❡♥t❛ ❞❛♥s ❧✬✐♠❛❣❡ ✸✳✷✼❜✮✳ ♥♦✉s ♣❡r♠❡t ❞❡ ♥♦✉s ❛✛r❛♥❝❤✐r ❞❡s ♣r♦❜❧è♠❡s ❞❡s ❝❤❛♥❣❡♠❡♥ts ❢❛✐❜❧❡s ❞❡ ♣❡♥t❡s✳ ✸✳✸✳✹ ❉é♣❡♥❞❛♥❝❡ t❡♠♣♦r❡❧❧❡ P✉✐sq✉❡ ♥♦✉s ❝❤❡r❝❤♦♥s à ré❛❧✐s❡r ✉♥ s②stè♠❡ t❡♠♣s ré❡❧✱ ❞❡✉① ❘❆◆❙❆❈s ❞❡ ✼✶✵ ✐tér❛t✐♦♥s ❝❤❛❝✉♥✱ à ✉♥❡ ❝❛❞❡♥❝❡ ❞❡ ✷✺ ✐♠❛❣❡s ♣❛r s❡❝♦♥❞❡ ♥❡ s❡♠❜❧❡ ♣❛s ❧✬♦♣t✐♦♥ ♦♣t✐♠❛❧❡✳ P❛r ❝♦♥séq✉❡♥t✱ ♥♦✉s ❛✈♦♥s ♦♣t✐♠✐sé ❧❛ r❡❝❤❡r❝❤❡ ❞❡s r❛✐❧s ❡♥ ❛❥♦✉t❛♥t ❞❡ ❧❛ ❞é♣❡♥❞❛♥❝❡ t❡♠♣♦r❡❧❧❡✳ P✉✐sq✉❡ ❧❡s tr❛✐♥s s♦♥t ❣✉✐❞és ✐❧ ❡st ❢❛❝✐❧❡ ❞✬✐♥tr♦❞✉✐r❡ ❝❡tt❡ ❝❛✉s❛❧✐té ❡♥ ❝♦♥♥❛✐ss❛♥t ❧❡ ♠♦❞è❧❡ ❞✉ tr❛✐♥✳ ❈♦♠♠❡ ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✷✳✺ ❡t ❧✬éq✉❛t✐♦♥ ✷✳✶ ❧✬❛♥❣❧❡ ❡♥tr❡ ❧❛ ❝❛✐ss❡ ❡t ❧✬❛①❡ ❞❡ ❧❛ ✈♦✐❡ ✓❧❡ ❧❛❝❡t ψcaisse✔ ♣❡✉t êtr❡ ♦❜t❡♥✉ s✐ ♦♥ ❝♦♥♥❛ît à t♦✉t ✐♥st❛♥t ❧❡s ♣♦s✐t✐♦♥s ❛✈❛♥t ❡t ❛rr✐èr❡ ❞❡ ❧❛ ❝❛✐ss❡ ✭✈❡❝t❡✉rs t1 ❡t t2✮✳ ❈❡tt❡ ❝♦♠♣ré❤❡♥s✐♦♥ ♥♦✉s ♣❡r♠❡t ❞✬♦❜t❡♥✐r ✉♥❡ r❡❧❛t✐♦♥ ❡♥tr❡ ❧✬❛①❡ ❞❡ ❧❛ ✈♦✐❡ ❡t ❧✬❛①❡ ❞✬♦r✐❡♥✲ t❛t✐♦♥ ❞❡ ❧❛ ❝❛♠ér❛ ♣♦✉r ré❛❧✐s❡r ❧❛ rétr♦✲♣r♦❥❡❝t✐♦♥ ❞❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉rs ❞ét❡❝tés ❞❛♥s ✉♥ r❡♣èr❡ ✜①❡✱ ❞❛♥s ❧❡q✉❡❧ ♥♦✉s ♣♦✉✈♦♥s ✐♥tr♦❞✉✐r❡ ❧❛ ❞é♣❡♥❞❛♥❝❡ t❡♠♣♦r❡❧❧❡✳ ❙✐ ♥♦✉s ❛rr✐✈♦♥s à ❛✉❣♠❡♥t❡r ❧❛ ♣r♦❜❛❜✐❧✐té W ❞✉ t✐r❛❣❡ ❛✉ s♦rt✱ ❧❡ ♥♦♠❜r❡ ❞✬✐tér❛t✐♦♥s s❡ ✈❡rr❛ ré❞✉✐t s✐❣♥✐✜❝❛t✐✈❡♠❡♥t✳ P❛r ❡①❡♠♣❧❡✱ s✐ ♠❛✐♥t❡♥❛♥t W = 0.5 ❡t ❧❛ ♣r♦❜❛❜✐❧✐té ❞❡ tr♦✉✈❡r ❧❡s ❝♦❡✣❝✐❡♥ts P = 0.999999 r❡st❡ ❧❛ ♠ê♠❡✱ ❧❡ ♥♦♠❜r❡ t♦t❛❧ ❞✬✐tér❛t✐♦♥s ❞❡ ❘❆◆❙❆❈ ❞❡s❝❡♥❞ à ✹✽✳ ❈❡❝✐ ♣❡r♠❡ttr❛ ❞✬❛✉❣♠❡♥t❡r ❝♦♥s✐❞ér❛❜❧❡♠❡♥t ❧❛ ✈✐t❡ss❡ ❞✬❡①é❝✉t✐♦♥ ❞❡ ❧✬❛❧❣♦r✐t❤♠❡✳ ▲❛ s♦❧✉t✐♦♥ ❛♣♣♦rté❡ ❛✉ ♣r♦❜❧è♠❡ ❝✐té ❝✐✲❞❡ss✉s ❝♦♥s✐st❡ à sé♣❛r❡r ❧❡s ♣♦✐♥ts ❝❛♥❞✐❞❛ts à ❛♣♣❛r✲ t❡♥✐r ❛✉ ♠♦❞è❧❡ ❞❡ ❧✬❡♥s❡♠❜❧❡ ❞❡s ♣♦✐♥ts ♦❜t❡♥✉s ❛✈❡❝ ❧❛ rétr♦✲♣r♦❥❡❝t✐♦♥✳ ❈❡❧❛ ✈❡✉t ❞✐r❡✱ ré❛❧✐s❡r ✉♥❡ r❡❝❤❡r❝❤❡ ❡♥❝♦r❡ ❝✐❜❧é❡ ❞✉ ♠♦❞è❧❡✳ ■❧ ❡①✐st❡ ❞✬❛✉tr❡s ♣r♦♣♦s✐t✐♦♥s ❞✬❛♠é❧✐♦r❛t✐♦♥ ❞❡ ❘❆◆❙❆❈ ❝♦♠♠❡ ❧❛ ✈❡rs✐♦♥ ❛❞❛♣t❛t✐✈❡ ❞❡ ❬❇♦✉❧❛❛ss❛❧ ✷✵✶✵❪✱ ♦ù ❧❡ ♥♦♠❜r❡ ❞✬✐tér❛t✐♦♥s ❡st ❛❞❛♣té ❛✉ ❢✉r ❡t à ♠❡s✉r❡ ❞❡ ❝❤❛q✉❡ ✐tér❛t✐♦♥✱ ♠❛✐s ♥♦tr❡ ❜♦♥♥❡ ❝♦♥♥❛✐ss❛♥❝❡ ❛ ♣r✐♦r✐ ❞❡s ❞♦♥♥é❡s ♥♦✉s ♣❡r♠❡t ❞❡✸✳✸✳ ❆♣♣r♦❝❤❡ r❡t❡♥✉❡ ✻✸ ré❞✉✐r❡ ❡♥❝♦r❡ ♣❧✉s ❧❡ ♥♦♠❜r❡ ❞✬✐tér❛t✐♦♥s✳ ❯♥❡ ❢♦✐s q✉❡ ❧❛ ♣♦s✐t✐♦♥ ❞❡s r❛✐❧s ❡st ❞ét❡r♠✐♥é❡ ♣❛r ❧❛ ♠ét❤♦❞❡ ❞é❝r✐t❡✱ ❞❛♥s ❧✬✐♠❛❣❡ s✉✐✈❛♥t❡ ♥♦✉s ♣♦✉✈♦♥s ✜❧tr❡r ❧❡ ♥✉❛❣❡ ❞❡ ♣♦✐♥ts 3D ♣♦✉r ❣❛r❞❡r s❡✉❧❡♠❡♥t ❧❡s ♣♦✐♥ts ❛♣♣❛rt❡♥❛♥t ❛✉① r❛✐❧s✳ ◆♦✉s ♣r♦♣♦s♦♥s ❞❡ ❞é✜♥✐r ❞❡✉① ③♦♥❡s ❞❡ ✜❧tr❛❣❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ♣♦s✐t✐♦♥ ❞✉ r❛✐❧ ❞❛♥s ❧✬✐♠❛❣❡ ♣ré❝é❞❡♥t❡✳ ❯♥❡ r❡♣rés❡♥t❛t✐♦♥ ❞❡ ❝❡s ❞❡✉① ③♦♥❡s ❡st ♠♦♥tré❡ ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✷✽✳ ❈❡ ✜❧tr❛❣❡ ♥♦✉s ♣❡r♠❡ttr❛ ❞❡ ré❞✉✐r❡ ❧❡ ♥♦♠❜r❡ ❞❡s ♣♦✐♥ts à t❡st❡r ❞❡ ❢❛ç♦♥ ❛❧é❛t♦✐r❡ ❡t ♣❛r ❝♦♥séq✉❡♥t ❛✉❣♠❡♥t❡r ❧❛ ♣r♦❜❛❜✐❧✐té W ❞❡ sé❧❡❝t✐♦♥♥❡r ✉♥ ♣♦✐♥t ❛♣♣❛rt❡♥❛♥t ❛✉ ♠♦❞è❧❡✳ ❈❡tt❡ ❛♣♣r♦❝❤❡ ❛ été ♣rés❡♥té❡ ❞❛♥s ✉♥ ❛rt✐❝❧❡ ✐♥t❡r♥❛t✐♦♥❛❧ ❡t ✐❧ s❡ tr♦✉✈❡ ❞❛♥s ❧✬❛♥♥❡①❡ ❆rt✐❝❧❡ ■❚❙❈ ✷✵✶✷✳ ❈❡♣❡♥❞❛♥t✱ ♣♦✉r ❧✬é✈❛❧✉❛t✐♦♥ ❞✉ s❝♦r❡ ❞❡s ♥♦✉✈❡❛✉① ♠♦❞è❧❡s✱ ♥♦✉s ❣❛r❞♦♥s t♦✉s ❧❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉rs ♣♦✉r ❞ét❡r♠✐♥❡r ❧❡ ♠❡✐❧❧❡✉r ♠♦❞è❧❡ ❡♥ t❡♥❛♥t ❝♦♠♣t❡ ❞❡ t♦✉t❡s ❧❡s str✉❝t✉r❡s ❞❡ ❧❛ ✈♦✐❡✳ ❋✐❣✉r❡ ✸✳✷✽ ✕ ❋✐❧tr❛❣❡ t❡♠♣♦r❡❧ ♣♦✉r ❧❡s ♥✉❛❣❡s ❞❡s ♣♦✐♥ts✳ ❉❛♥s ❝❡tt❡ ✐♠❛❣❡ ♥♦✉s ♣♦✉✈♦♥s ✈♦✐r ❧❡ ✜❧tr❛❣❡ t❡♠♣♦r❡❧ ré❛❧✐sé ❞❛♥s ❧❡s ♥✉❛❣❡s à ♣❛rt✐r ❞✉ ♠♦❞è❧❡ ❞❡ r❛✐❧s ❞ét❡❝té ❞❛♥s ❧✬✐♠❛❣❡ ♣ré❝é♥❞❡♥t❡✳ ❈❡ ♠♦❞è❧❡ ♣♦✉r ❝❤❛q✉❡ r❛✐❧ ❡st r❡♣rés❡♥té ❡♥ r♦✉❣❡ ❡t ❡♥ ♥♦✐r ❧❛ ③♦♥❡ ❞❡ ✜❧tr❛❣❡✳ ❚♦✉s ❧❡s ♣♦✐♥ts ❡♥ ❞❡❤♦rs ❞❡ ❝❡tt❡ ③♦♥❡ ♥❡ s❡r♦♥t ♣❛s ♣r✐s ❡♥ ❝♦♠♣t❡ ♣♦✉r sé❧❡❝t✐♦♥♥❡r ❧❡s ♣♦✐♥ts ❛❧é❛t♦✐r❡s ❞✉ ♣r♦❝❡ss✉s ❞❡ ❘❆◆❙❆❈✳ ✸✳✸✳✺ ❉ét❡r♠✐♥❛t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ❯♥❡ ❢♦✐s q✉❡ ❧❡s r❛✐❧s ♦♥t été ❡①tr❛✐ts✱ ❧❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉rs r❡t❡♥✉s ♣❡✉✈❡♥t êtr❡ ❛♥❛❧②sés ♣♦✉r ❞ét❡r♠✐♥❡r ❥✉sq✉✬à q✉❡❧❧❡ ❞✐st❛♥❝❡ s♦♥t ✈✐s✐❜❧❡s ❧❡s r❛✐❧s ❛✈❡❝ ❧✬♦❜❥❡❝t✐❢ ❞❡ ❞é✜♥✐r ✉♥❡ ③♦♥❡ ✓❧✐❜r❡ ❞✬♦❜st❛❝❧❡s✔✳ P♦✉r ♣♦✉✈♦✐r ❞ét❡r♠✐♥❡r ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡✱ ♥♦✉s ❛✈♦♥s ❜❡s♦✐♥ ❞❡ ❝♦♥♥❛îtr❡ ❧❛ ❞✐str✐❜✉t✐♦♥ s♣❛t✐❛❧❡ ❡♥ 3D ❞✬✉♥❡ ❧✐❣♥❡ ✈❡rt✐❝❛❧❡ ♣❛r❢❛✐t❡ ❞❛♥s ❧✬✐♠❛❣❡ à ♣❛rt✐r ❞❡ ❧❛ rétr♦✲♣r♦❥❡❝t✐♦♥✳ ▲❛ ✜❣✉r❡ ✸✳✷✾ ♥♦✉s ♠♦♥tr❡ ❧❛ ❝♦✉r❜❡ q✉❡ s✉✐t ❧❛ rétr♦✲♣r♦❥❡❝t✐♦♥✱ ♦✉ ❧✬é❝❛rt❡♠❡♥t ❡♥tr❡ ❞❡✉① ♣♦✐♥ts ❛✉❣♠❡♥t❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡✳ P♦✉r ♣♦✉✈♦✐r ❞ét❡r♠✐♥❡r ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥✱ ♥♦✉s ✉t✐❧✐s♦♥s ❝❡tt❡ rés♦❧✉t✐♦♥✳ P♦✉r ❝❡❧❛✱ ♥♦✉s ❛✈♦♥s ✜①é ✉♥ s❡✉✐❧✳ ❙✐ ❞❛♥s ❧❡s ♣♦✐♥ts ❞❡s ❝♦♥t♦✉rs r❡t❡♥✉s ❧❛ rés♦❧✉t✐♦♥ s♣❛t✐❛❧❡ ❞✬✉♥ ♣♦✐♥t D ❡st ✶✵✪ s✉♣ér✐❡✉r❡ à ❧❛ rés♦❧✉t✐♦♥ ❞❡ ❧❛ ❝♦✉r❜❡ ❞❡ ❧❛ ✜❣✉r❡ ✸✳✷✾✱ à ♣❛rt✐r ❞❡ ❝❡tt❡ ❞✐st❛♥❝❡✱ ❧❡s ❛✉tr❡s ♣♦✐♥ts s♦♥t ❝♦♥s✐❞érés ❝♦♠♠❡ ❞✉ ❜r✉✐t✳ ▲❡s r❛✐❧s s❡r♦♥t s❡✉❧❡♠❡♥t ❡①tr❛✐ts ❥✉sq✉✬à ❧❛ ❞✐st❛♥❝❡ D✳✻✹ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❋✐❣✉r❡ ✸✳✷✾ ✕ ❘és♦❧✉t✐♦♥ ❡♥ ♠ètr❡s ❞❡s ♣✐①❡❧s ✈❡rt✐❝❛✉① ❞❡ ❧✬✐♠❛❣❡ ❞❡♣✉✐s ❧❛ ♣❛rt✐❡ ❜❛ss❡ ❥✉sq✉✬à ❧❛ ❧✐❣♥❡ ❞✬❤♦r✐③♦♥ ✳ ❉❡ ♣❧✉s✱ à ♣❛rt✐r ❞❡ ❝❡tt❡ rés♦❧✉t✐♦♥✱ ♥♦✉s ♣♦✉✈♦♥s ❛♥❛❧②s❡r ❧❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉rs r❡t❡♥✉s ❝♦♠♠❡ ❛♣♣❛rt❡♥❛♥t ❛✉ ♠♦❞è❧❡ ✐♥❧✐❡rs ❡t ❞ét❡r♠✐♥❡r ❧❡s ♣❛rt✐❡s ♣♦✉r ❧❡sq✉❡❧❧❡s ✐❧ ❡①✐st❡ ✉♥ ♠❛♥q✉❡ ❞✬✐♥❢♦r♠❛t✐♦♥✳ ◆♦♥ s❡✉❧❡♠❡♥t ❝❡tt❡ ❛♥❛❧②s❡ ❞❡s ♣♦✐♥ts ♥♦✉s ♣❡r♠❡t ❞❡ ❞ét❡r♠✐♥❡r ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡✱ ❡❧❧❡ ♣❡✉t s❡ ré✈é❧❡r ❝♦♠♠❡ ✉♥ ♣♦ss✐❜❧❡ ❞ét❡❝t❡✉r ❞❡ ♣❡t✐ts ♦❜st❛❝❧❡s s✉r ❧❡s ♣✐st❡s ❞❡ r♦✉❧❡♠❡♥t✳ ▲❛ ♣rés❡♥❝❡ ❞❡s ❞✐s❝♦♥t✐♥✉✐tés ❞❛♥s ❧❡s ✐♥❧✐❡rs ♣❡✉t êtr❡ ♦❝❝❛s✐♦♥♥é❡ ♣❛r ❞❡s ♦❝❝❧✉s✐♦♥s ❞✉❡s à ❞❡s ♦❜st❛❝❧❡s ♦✉ s✐♠♣❧❡♠❡♥t à ❝❛✉s❡ ❞❡s ♦♠❜r❡s✳ ❈♦♥s✐❞ér❡r ❧❡s ❞✐s❝♦♥t✐♥✉✐tés ❞❡s r❛✐❧s ❝♦♠♠❡ ✉♥ ♣♦ss✐❜❧❡ ♦❜st❛❝❧❡ s✉r ❧❡ r❛✐❧ ❛ été ♣rés❡♥té ♣❛r ❬❘✉❞❡r ❡t ❛❧✳ ✷✵✵✸❪ ❞❛♥s ❧❛ s❡❝t✐♦♥ ✷✳✶ ✭➱t❛t ❞❡ ❧✬❛rt ❞❡s s②stè♠❡s ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❢❡rr♦✈✐❛✐r❡s✮✳ ✸✳✸✳✺✳✶ ❊✛❡ts ❞❡s ❝❤❛♥❣❡♠❡♥t ❞❡ ♣❡♥t❡ ❯♥ ❛✉tr❡ ❧✐♠✐t❛t✐♦♥ ❞❡ ❧✬✉t✐❧✐s❛t✐♦♥ ❞❡ ❧✬❤②♣♦t❤ès❡ ❞✉ ♠♦♥❞❡ ♣❧❛♥ ❡st ❧✬❡rr❡✉r ✐♥tr♦❞✉✐t❡ ❞❛♥s ❧❡s ♠❡s✉r❡s ❞❡s ❞✐st❛♥❝❡s ❞❡ ❧❛ rétr♦✲♣r♦❥❡❝t✐♦♥✳ ▲❡ ❢❛✐t q✉❡ ❧❡ tr❛✐♥ s❡ tr♦✉✈❡ ❞❛♥s ✉♥ ❝❤❛♥❣❡♠❡♥t ❞❡ ♣❡♥t❡ ✐♥tr♦❞✉✐t ❞❡s ❢❛✐❜❧❡s ❝❤❛♥❣❡♠❡♥ts ❞❛♥s ❧❛ ♣♦s✐t✐♦♥ ❞❡ ❧❛ ♣r♦❥❡❝t✐♦♥ ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡ q✉✐ ♣❡✉✈❡♥t s❡ tr❛❞✉✐r❡ ♣❛r ❞❡s ❡rr❡✉rs ✐♠♣♦rt❛♥ts ❞❡ ♠❡s✉r❡ ❞❡ ❞✐st❛♥❝❡✳ ◆♦✉s ❛❧❧♦♥s ❛♥❛❧②s❡r ❧❡s ❡✛❡ts ✐♥tr♦❞✉✐ts ❞❛♥s ❧✬✐♠❛❣❡ ♣♦✉r ❧❡ ❝❛s ❞✬✉♥ tr❛✐♥ q✉✐ ♣❛ss❡ ❞✬✉♥❡ ♣❡♥t❡ ♥✉❧❧❡ ✵ ✪ à ❧❛ ♣❡♥t❡ ♠❛①✐♠❛❧❡ ❞✉ tr❛❝é ❞❡ ❧❛ ❧✐❣♥❡✳ ❉❛♥s ❧❡ ❝❤❛♣✐tr❡ ♣ré❝é❞❡♥t✱ ♥♦✉s ❛✈♦♥s ❡①tr❛✐t ❞❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡ ❧❛ ✈♦✐❡ ❞✬❖r❧②❱❛❧ q✉❡ ❧❛ ♣❡♥t❡ ♠❛①✐♠❛❧❡ ❡st ❞❡ P = 7% ❡t q✉❡ ❧❡ r❛②♦♥ ❞❡ ❝♦✉r❜✉r❡ ✈❡rt✐❝❛❧ ♠✐♥✐♠❛❧✱ ❝❡❧✉✐ q✉✐ ♥♦✉s ♣❡r♠❡ttr❛ ❞✬❛tt❡✐♥❞r❡ ❧❛ ♣❡♥t❡ ♠❛①✐♠❛❧❡ ♣❧✉s r❛♣✐❞❡♠❡♥t ❡st Rmin = 600m✳ ➚ ♣❛rt✐r ❞❡ ❧❛ ✜❣✉r❡ ✸✳✸✵ ♥♦✉s ♣♦✉✈♦♥s ❞ét❡r♠✐♥❡r ❧❛ ❧♦♥❣✉❡✉r ❞❡ ❧❛ ❝♦r❞❡ ❞❡ r❛❝❝♦r❞❡♠❡♥t ❡♥tr❡ ❧✬❤♦r✐③♦♥t❛❧❡ ❡t ❧❛ ♣❡♥t❡ ♠❛①✐♠❛❧❡✳ ❆✐♥s✐✱ ❞❡ ❧❛ ♠ê♠❡ ✜❣✉r❡ ♥♦✉s ♦❜t❡♥♦♥s ♣❛r tr✐❣♦♥♦♠étr✐❡✱ à ♣❛rt✐r ❞❡s tr✐❛♥❣❧❡s ❢♦r♠és ♣❛r ❧❛ ♣r♦❧♦♥❣❛t✐♦♥ ❞✉ r❛②♦♥ ❞❡ ❝♦✉r❜✉r❡ ❡t ❧✬✐♥t❡rs❡❝t✐♦♥ ❛✈❡❝ ❧❛ ♣❡♥t❡✱ q✉❡ ♣♦✉r ♥✬✐♠♣♦rt❡ q✉❡❧❧❡ ✈❛❧❡✉r ❞❡ ❘✱ ψ ≈ α✱ s✐ ♥♦✉s ❝♦♥s✐❞ér♦♥s q✉❡ α << 1✱ ❝♦♠♠❡ ♠♦♥tr❡♥t ❧❡s éq✉❛t✐♦♥s ❞❡ ✸✳✶✷✳ triangle de ψ : ψ = ∀R = π − β − π 2 triangle de β : β = π − α − π 2 ✭✸✳✶✷✮ ▲❛ ❧♦♥❣✉❡✉r ❞❡ ❧✬❛r❝ ❞❡ r❛❝❝♦r❞❡♠❡♥t s✬❡①♣r✐♠❡ ♣❛r ❧✬éq✉❛t✐♦♥ ✸✳✶✸✱ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ♣❡♥t❡ P ❡t ❞❡ ❘ ✿ l = ψR = ❛t❛♥(P)R ✭✸✳✶✸✮✸✳✸✳ ❆♣♣r♦❝❤❡ r❡t❡♥✉❡ ✻✺ ❋✐❣✉r❡ ✸✳✸✵ ✕ ❘❡♣rés❡♥t❛t✐♦♥ ❞✉ ❝❤❛♥❣❡♠❡♥t ❞❡ ♣❡♥t❡ ❯♥❡ ❢♦✐s ❝♦♥♥✉ ❧✬❛♥❣❧❡ ❞❡ r❛❝❝♦r❞❡♠❡♥t✱ ♥♦✉s ♣♦✉✈♦♥s r❡♣rés❡♥t❡r ❧❡s ❞✐✛ér❡♥ts ❝❛s✳ ▲❛ ✜❣✉r❡ ✸✳✸✶ ♥♦✉s ♠♦♥tr❡ ❞✬✉♥ ❝ôté ❧✬❛♥❛❧②s❡ ❞❡ ♣r♦❥❡❝t✐♦♥ ❡t ❧❛ rétr♦✲♣r♦❥❡❝t✐♦♥ ❞❡ tr♦✐s ❝❛s ✿ ✕ ❊♥ ❜❧❡✉✱ ❧❛ ♣r♦❥❡❝t✐♦♥ q✉❛♥❞ ❧❛ tr❛❥❡❝t♦✐r❡ ❡st ♣❧❛t❡✱ ❧❛ ❝♦✉r❜❡ ❞❡ s❛ ❝♦t❡ ❡t s❛ rétr♦✲♣r♦❥❡❝t✐♦♥✳ ✕ ❊♥ r♦✉❣❡✱ ❧❡ ♠ê♠❡s ❝♦✉r❜❡s ♠❛✐s ❝❡tt❡ ❢♦✐s✱ ✐❧ ❡①✐st❡ ✉♥❡ ♣❡♥t❡ ♣♦s✐t✐✈❡ ❞❡ ✼ ✪ ❛✈❡❝ ✉♥ r❛❝❝♦r❞❡♠❡♥t ❛✈❡❝ ❧❡ r❛②♦♥ Rmin ❞❡✈❛♥t ❧❡ tr❛✐♥✳ ✕ ❊♥ ✈❡rt✱ ♣♦✉r ✉♥❡ ♣❡♥t❡ ♥é❣❛t✐✈❡ ❞❡ ✼ ✪✱ ❛✉ss✐ r❛❝❝♦r❞é❡ ❛✈❡❝ Rmin✳ ❉❡ ❧✬❛✉tr❡ ❝ôté✱ ♥♦✉s ❛✈♦♥s ❧❡s rétr♦✲♣r♦❥❡❝t✐♦♥s ❞❡s ♣♦✐♥ts ❡♥ ❝♦♥s✐❞ér❛♥t ❧✬❤②♣♦t❤ès❡ ❞✉ ♠♦♥❞❡ ♣❧❛♥✳ ◆♦✉s ♣♦✉✈♦♥s ✈♦✐r q✉❡ ❧✬❡rr❡✉r ❝♦♠♠✐s❡ ❡♥ ❞✐st❛♥❝❡✱ s✉rt♦✉t ♣♦✉r ❧❡ ❝❛s ❞✬✉♥❡ ♣❡♥t❡ ♣♦s✐t✐✈❡✱ ♣❡✉t êtr❡ très ✐♠♣♦rt❛♥t✳ ❈❡♣❡♥❞❛♥t✱ ♣✉✐sq✉❡ ❞❛♥s ♥♦tr❡ ♠ét❤♦❞❡ ❞❡ r❡❝❤❡r❝❤❡ ❞❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉r ♥♦✉s ❛♣♣❧✐q✉♦♥s ❞é❥à ✉♥❡ ❧♦❣✐q✉❡ ❞❡ ♣r♦❥❡❝t✐♦♥ ❞❡ ❧❛ ❧❛r❣❡✉r ❞❡s r❛✐❧s✱ wrailpixels ±marge✱ ❞❛♥s ❧❡ ❝❛s ❞✬✉♥ ❝❤❛♥❣❡♠❡♥t ❞❡ ♣❡♥t❡✱ ♥♦✉s ♥✬❛❧❧♦♥s ♣❛s ❞ét❡❝t❡r ❧❛ t♦t❛❧✐té ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡ ❝❛r ❧❛ ❧❛r❣❡✉r ♥✬❡st ♣❛s r❡s♣❡❝té❡✳ ▼ê♠❡ s✐ ❝❡tt❡ ❛♣♣r♦❝❤❡ ♥♦✉s ❧✐♠✐t❡r❛ ❡♥ ❞✐st❛♥❝❡ ❞❡ ❞ét❡❝t✐♦♥✱ ❡❧❧❡ ♥♦✉s ♣❡r♠❡ttr❛ ❞❡ ré❞✉✐r❡ ❧✬❡rr❡✉r ❞❡ ❞ét❡r♠✐♥❛t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ ♣❛r rétr♦✲♣r♦❥❡❝t✐♦♥✳ ◆♦✉s ❛❧❧♦♥s ❛♥❛❧②s❡r ❧❛ r❡❧❛t✐♦♥ ❡♥tr❡ ❧❛ ♠❛r❣❡ ✐♥tr♦❞✉✐t❡ ❞❛♥s ❧❡s ❧❛r❣❡✉rs ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡ ❡t ❧❡s ❞✐st❛♥❝❡s ❞❡ ❞ét❡❝t✐♦♥s✳ ❘❛♣♣❡❧♦♥s ❧❛ ❢♦r♠✉❧❡ ✷✳✶✸ ✿ f = TimageD Tobjet q✉✐ r❡❧✐❡ ❧❛ t❛✐❧❧❡ ❞❡ ❧✬♦❜❥❡t ré❡❧ ❡t ❧❛ t❛✐❧❧❡ ❞❛♥s ❧✬✐♠❛❣❡✳ ➚ ♣❛rt✐r ❞❡ ❝❡tt❡ ❢♦r♠✉❧❡✱ ❞❡ ❧❛ ✜❣✉r❡ ✸✳✸✶✱ ❡t ❡♥ ❝♦♥s✐❞ér❛♥t q✉❡ ❧❡s r❛②♦♥s ❞❡ ❝♦✉r❜✉r❡ s♦♥t s✉♣ér✐❡✉rs à ❧❛ ❞✐st❛♥❝❡ ❞❡ ❞ét❡❝t✐♦♥✱ ♥♦✉s ♣♦✉✈♦♥s ❞é✜♥✐r ❧❡s éq✉❛t✐♦♥s ✸✳✶✹✱ ♦ù ♥♦✉s ✈♦②♦♥s q✉❡ ❧❛ ♠❛r❣❡ ❡♥ ♣✐①❡❧s ❝♦rr❡s♣♦♥❞ à ❧❛ ♠❛r❣❡ ❡♥ ♠ètr❡s ❞❛♥s ❧✬❡rr❡✉r ❞❡ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ ✿ wplat = kufTrail Dplat ; wpente = kufTrail Dpente ; wpente ≤ wplat(1 + M arge); Dplat = x sin θ ; Dpente = x 0 sinθ ; x 0 = x 1+Marge ♦ù w ❡st ❧❛ ❧❛r❣❡✉r ❞✉ r❛✐❧ ❡t ku ❡st ❧❡ ❢❛❝❡✉r ❞✬é❝❤❡❧❧❡ ✭♣✐①❡❧✴♠♠✮ ✭✸✳✶✹✮✻✻ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ✭❛✮ Pr♦❥❡❝t✐♦♥ ❞❡s ❞✐✛ér❡♥t❡s ♣❡♥t❡s ❞❛♥s ❧✬✐♠❛❣❡✳ ✭❜✮ ❘étr♦✲♣r♦❥❡❝t✐♦♥ ❞❡s ♣♦✐♥ts ❡♥ s✉♣♣♦✲ s❛♥t ✉♥ ♠♦♥❞❡ ♣❧❛♥✳ ✭❝✮ ❈♦t❡s ❞❡s ❞✐✛ér❡♥t❡s tr❛❥❡❝t♦✐r❡s ♣r♦❥❡té❡s✳ ❋✐❣✉r❡ ✸✳✸✶ ✕ ➱✈❛❧✉❛t✐♦♥ ❞❡ ❧✬❡rr❡✉r ❞❡ rétr♦✲♣r♦❥❡❝t✐♦♥ ❞✉❡ à ❧✬❛♣♣❧✐❝❛t✐♦♥ ❞❡ ❧✬❤②♣♦t❤ès❡ ❞✉ ♠♦♥❞❡ ♣❧❛♥✳ ✳ ▲❡ r❛②♦♥ ❞❡ r❛❝❝♦r❞❡♠❡♥t ❞❡ ✶✺✵✵ ♠ètr❡s ❡t ♣❡♥t❡ ✜♥❛❧❡ ❞❡ ✼✪✳ ❋✐❣✉r❡ ✸✳✸✷ ✕ ❙❝❤é♠❛ ♣♦✉r tr♦✉✈❡r ❧❛ ♣❡♥t❡ ♠❛①✐♠❛❧❡ s✉♣♣♦rté❡✳✸✳✹✳ ❘és✉❧t❛ts ✻✼ P❛r ❝♦♥séq✉❡♥❝❡✱ ❧❛ ♠❛r❣❡ ✉t✐❧✐sé❡ ❞❛♥s ❧❛ r❡❝❤❡r❝❤❡ ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡ ❡st ❞✐r❡❝t❡♠❡♥t ❧❛ ♠❛r❣❡ ❞✬❡rr❡✉r ❞❡ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ ❞é✜♥✐❡ ❞❛♥s ❧❡s ♦❜❥❡❝t✐❢s ❞✉ s②stè♠❡ ✐♥❢ér✐❡✉r❡ à ✶✵ ✪✳ ❈♦♠♠❡ ❡①♣❧✐q✉é ♣ré❝é❞❡♠♠❡♥t✱ ❝❡tt❡ ❝♦♥tr❛✐♥t❡ ❞❛♥s ❧❛ ♣ré❝✐s✐♦♥ ❞❡ ❧❛ ❞✐st❛♥❝❡ ♥♦✉s ❧✐♠✐t❡ ❧❛ ❞✐st❛♥❝❡ ❞❡ ❞ét❡❝t✐♦♥ ❡♥ r✉♣t✉r❡ ❞❡ ♣❡♥t❡✳ ❉❛♥s ❧✬éq✉❛t✐♦♥ ✸✳✶✺ ♥♦✉s ♣♦✉✈♦♥s ♠❡ttr❡ ❡♥ r❡❧❛t✐♦♥ ❧❡ ❝❤❛♥❣❡♠❡♥t ❞❡ ❝♦t❡ ♠❛①✐♠✉♠ hc ❛✈❡❝ ❧❡ ❝❡r❝❧❡ ❞❡ r❛❝❝♦r❞❡♠❡♥t ❞❡ r❛②♦♥ R ❣râ❝❡ à ❧❛ ✢è❝❤❡ ❞❡ ❧❛ ❝♦r❞❡ s♦✉s✲t❡♥❞✉❡ ♣❛r ❧✬❛r❝ ❞❡ ❧♦♥❣✉❡✉r 2 × L ✱ ♦ù L ❝♦rr❡s♣♦♥❞ à ❧❛ ❧♦♥❣✉❡✉r ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ❡♥ ♣❡♥t❡✳ hc = M 1+M h; hc = fleche ` ; Lmax ≈ corde 2 ; Lmax = p (2 ∗ R − fleche ` )fleche ` ✭✸✳✶✺✮ P♦✉r ♥♦s ✈❛❧❡✉rs ❞❡ ❤❛✉t❡✉r ❞❡ ❧❛ ❝❛♠ér❛ h ≈ 2 m✱ ❞❡ r❛②♦♥ ♠✐♥✐♠❛❧ ❞❡ ❝♦✉r❜✉r❡ ✈❡rt✐❝❛❧❡ Rmin = 600 m✱ ❧❛ ❧♦♥❣✉❡✉r ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ❡♥ ♣❡♥t❡ ❡st ❞❡ Lmax = 17.77 m✳ ▲❛ r❡❧❛t✐♦♥ ♦❜t❡♥✉❡ ❞❛♥s ❧✬éq✉❛t✐♦♥ ✸✳✶✺ ♥♦✉s ♠♦♥tr❡ q✉❡ ♣❧✉s ❤❛✉t❡ ❡st ❧❛ ❝❛♠ér❛✱ ♣❧✉s ❣r❛♥❞❡ s❡r❛ ❧❛ ❞✐st❛♥❝❡ ❞❡ ❞ét❡❝t✐♦♥ ❡♥ ❝❤❛♥❣❡♠❡♥t ❞❡ ♣❡♥t❡ ♣♦✉r ❧❛ ♠ê♠❡ ♠❛r❣❡ ❞✬❡rr❡✉r ❞❡ ❞ét❡❝t✐♦♥ ❞❡ ❞✐st❛♥❝❡✳ ❈❡tt❡ ❞✐st❛♥❝❡ ♠✐♥✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ❡st s✉♣ér✐❡✉r à ❧❛ ❞✐st❛♥❝❡ ❞✬❛rrêt ♠❛①✐♠❛❧❡ ❡♥ ❛rrêt ❞✬✉r❣❡♥❝❡ ❞❡ 12 m ❞é✜♥✐❡ ❞❛♥s ❧❡ ❝❤❛♣✐tr❡ ♣ré❝é❞❡♥t✳ ✸✳✹ ❘és✉❧t❛ts ❆✈❡❝ ❧✬♦❜❥❡❝t✐❢ ❞❡ ♠♦♥tr❡r ❧❡s rés✉❧t❛ts ❞✬❡①tr❛❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ♥♦✉s ♣r♦♣♦s♦♥s ❞❡ r❡❝♦♥str✉✐r❡ ❧❡ ❝❤❡♠✐♥ s✉✐✈✐ ♣❛r ❧❡ tr❛✐♥ à ♣❛rt✐r ❞❡ ❧✬❡st✐♠❛t✐♦♥ ❞❡ ❧❛ tr❛❥❡❝t♦✐r❡ ❞❡ ❧❛ ❝❛♠ér❛ ♣❛r r❛♣♣♦rt à ✉♥ r❡♣èr❡ ✐♥✐t✐❛❧✳ ❈❡ r❡♣èr❡ ♣❡✉t êtr❡ ♣❛r ❡①❡♠♣❧❡✱ ❝♦♠♠❡ ♥♦✉s ❧✬❛✈♦♥s ❞é✜♥✐✱ ❧❛ ♣r❡♠✐èr❡ ✐♠❛❣❡ ❞✬✉♥❡ séq✉❡♥❝❡✳ ❈♦♠♠❡ ❧❡ s②stè♠❡ ❣é♥ér❛❧ ❞♦✐t êtr❡ ❛✉t♦♥♦♠❡✱ ♥♦✉s ♥❡ ❞✐s♣♦s♦♥s ♣❛s ❞❡s ✐♥❢♦r♠❛t✐♦♥s r❡❧❛t✐✈❡s ❛✉ ♠♦✉✈❡♠❡♥t ❞✉ tr❛✐♥✳ P♦✉r ❝❡tt❡ r❛✐s♦♥ ♥♦✉s ❛✈♦♥s ❞é✈❡❧♦♣♣é ✉♥ ♣r♦❝é❞é ♣♦✉r ❞ét❡r♠✐♥❡r ❧❡ ♠♦✉✈❡♠❡♥t ❞✉ tr❛✐♥ à ♣❛rt✐r ❞❡s ✐♠❛❣❡s ❞❡ ❧❛ ❝❛♠ér❛✳ ▲❡s t❡❝❤♥✐q✉❡s ❞❡ ❧♦❝❛❧✐s❛t✐♦♥ ✈✐s✉❡❧❧❡ ♣❡✉✈❡♥t êtr❡ ❞✐✈✐sé❡s ❡♥ ❞❡✉① ❣r♦✉♣❡s ✿ ❧❡s ♠ét❤♦❞❡s ❜❛sé❡s s✉r ❧❡s ♣♦✐♥ts ❞✬✐♥térêts ❡t ❧❡s ♠ét❤♦❞❡s ❞✐r❡❝t❡s ❬▼❡✐❧❧❛♥❞ ✷✵✶✷❪✳ ▲❡s ♠ét❤♦❞❡s ❜❛sé❡s s✉r ❧✬❡①tr❛❝t✐♦♥ ❞❡ ♣♦✐♥ts ❞✬✐♥térêts ❢❡❛t✉r❡✲❜❛s❡❞✱ ❝❤❡r❝❤❡♥t à ❡①tr❛✐r❡ ❞❡s ♣r✐♠✐t✐✈❡s ✈✐s✉❡❧❧❡s ❧♦❝❛❧❡s ❞❛♥s ❧❡s ✐♠❛❣❡s✱ t❡❧❧❡s q✉❡ ❧❡s ♣♦✐♥ts ❞❡ ❍❛rr✐s ❬❍❛rr✐s ✫ ❙t❡♣❤❡♥s ✶✾✽✽❪ ♦✉ ❧❡s ❙■❋❚ ❬▲♦✇❡ ✷✵✵✹❪✳ ❯♥❡ ét❛♣❡ ❞✬❛♣♣❛r✐❡♠❡♥t ❡st ❡♥s✉✐t❡ ❡✛❡❝t✉é❡✱ ❝✬❡st✲à✲❞✐r❡ ♠❡ttr❡ ❡♥ ❝♦rr❡s♣♦♥❞❛♥❝❡ ✉♥✲à✲✉♥ ❧❡s ♣♦✐♥ts ❞✬✐♥térêts ❞❡ ❝❤❛q✉❡ ✐♠❛❣❡✳ P♦✉r ❝❡❧❛ ✐❧ ❡st ♥é❝❡ss❛✐r❡ ❞✬✉t✐❧✐s❡r ✉♥❡ ♠❡s✉r❡ ❞❡ s✐♠✐❧❛r✐té ❡♥tr❡ ❧❡s ♣r✐♠✐t✐✈❡s✳ ▲❡s ♠ét❤♦❞❡s ❞✐r❡❝t❡s ✐♠❛❣❡✲❜❛s❡❞ ♥✬♦♥t ♣❛s ❞❡ ♣❤❛s❡ ❞❡ sé❧❡❝t✐♦♥ ❞❡ ♣♦✐♥ts ❞✬✐♥térêt ♦✉ ❞❡ ♣r✐♠✐t✐✈❡s ✈✐s✉❡❧❧❡s✳ ▲❡ ♠♦✉✈❡♠❡♥t ❞❡ ❧❛ ❝❛♠ér❛ ❡st ❞✐r❡❝t❡♠❡♥t ♦❜t❡♥✉ ❡♥ ♠✐♥✐♠✐s❛♥t ❧❡s ❡rr❡✉rs ❞✬✐♥t❡♥s✐té ❝♦♠♠✉♥❡s ❛✉① ❞❡✉① ✐♠❛❣❡s à ❧✬❛✐❞❡ ❞✬✉♥❡ tr❛♥s❢♦r♠❛t✐♦♥ ♣❛r❛♠étr✐q✉❡✳ ❉❛♥s ❝❡ ❝❛s ❧✬❡st✐♠❛t✐♦♥ ❞✉ ♠♦✉✈❡♠❡♥t ❡t ❧❛ ♠✐s❡ ❡♥ ❝♦rr❡s♣♦♥❞❛♥❝❡ ❞❡s ♣✐①❡❧s s✬❡✛❡❝t✉❡♥t s✐♠✉❧t❛♥é♠❡♥t ❧♦rs ❞❡ ❧✬♦♣t✐♠✐s❛t✐♦♥✳ ❉❛♥s ❧❛ ♠❛❥♦r✐té ❞❡s ❝❛s✱ ❝❡ t②♣❡ ❞❡ t❡❝❤♥✐q✉❡ ❡st ✉t✐❧✐sé ♣♦✉r ❧❡ s✉✐✈✐ ❞✬✉♥❡ s✉r❢❛❝❡ ♣❧❛♥❛✐r❡✳ ❇✐❡♥ q✉❡ ❧❡s ♠ét❤♦❞❡s ✐♥❞✐r❡❝t❡s ♠♦♥tr❡♥t ❞❡ très ❜♦♥s rés✉❧t❛ts✱ ♣♦✉r ❧❡ ❝❛s ❢❡rr♦✈✐❛✐r❡ ✐❧ ❡st ♣♦ss✐❜❧❡ q✉❡ ♣♦✉r ❝❡rt❛✐♥s ❝❛s✱ ✐❧ ♥✬❡①✐st❡ ♣❛s s✉✣s❛♠♠❡♥t ❞❡s ♣r✐♠✐t✐✈❡s ❞❛♥s ❧❡s ✐♠❛❣❡s✱ ♣❛r ❡①❡♠♣❧❡ ❞❛♥s ❧❡s t✉♥♥❡❧s ♦✉ ♣❡♥❞❛♥t ❧❛ ♥✉✐t✳ ❆✉ss✐✱ ✐❧ ❢❛✉t s✬❛ss✉r❡r q✉❡ ❧❡s ♣r✐♠✐t✐✈❡s ❞ét❡❝té❡s s♦♥t ❞❡s ♣♦✐♥ts ✜①❡s✳ ◆♦✉s ❛✈♦♥s ❞♦♥❝ r❡t❡♥✉ ❧❡s ♠ét❤♦❞❡s ✐♠❛❣❡✲❜❛s❡❞ ♣♦✉r ❞ét❡r♠✐♥❡r ❧❡s ❞é♣❧❛❝❡♠❡♥ts s✉✐✈✐s ♣❛r ❧❡ tr❛✐♥ ❡♥tr❡ ❝❤❛q✉❡ ✐♠❛❣❡✳ P✉✐sq✉❡ ❝❡s ♠ét❤♦❞❡s s♦♥t ❧♦✉r❞❡s ❡♥ ❝❛❧❝✉❧s✱ ♥♦✉s ❛✈♦♥s ❞é✜♥✐ ✉♥❡ ③♦♥❡ ❞❡ r❡❝❤❡r❝❤❡ ré❞✉✐t❡ ♣❧✉s ❝♦♥✈❡♥❛❜❧❡ ♣♦✉r ❞ét❡r♠✐♥❡r ❧❡ ❞é♣❧❛❝❡♠❡♥t ❞✉ tr❛✐♥✳ ❈❡tt❡ ③♦♥❡ ❡st✻✽ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ s✐t✉é❡ ✐♠♠é❞✐❛t❡♠❡♥t ❞❡✈❛♥t ❧❡ tr❛✐♥ ❡t ❝♦✉✈r❡ ❧✬❡♥tr❡✲❛①❡ ❞❡ ❧❛ ✈♦✐❡✳ ❈❡tt❡ ❛♣♣r♦❝❤❡ ♠♦♥tr❡ ❞❡ très ❜♦♥s rés✉❧t❛ts ❞❛♥s ❧❡s tr❛✈❛✉① ❢❡rr♦✈✐❛✐r❡s ❞❡ ❬❈❤❛♥t♦♥ ✷✵✵✽❪✳ ❉❡ ♣❧✉s✱ ❞❛♥s ❝❡tt❡ ③♦♥❡ ❧❛ ❝❛♠ér❛ ❣❛r❛♥t✐t ✉♥❡ rés♦❧✉t✐♦♥ q✉✐ ♣❡r♠❡ttr❛ ❞❡ ❞ét❡r♠✐♥❡r ❧❡ ❞é❝❛❧❛❣❡ ❡♥tr❡ ❞❡✉① ✐♠❛❣❡s s✉❝❝❡ss✐✈❡s ❛✈❡❝ ❡①❛❝t✐t✉❞❡✳ ▲✬❛♣♣r♦❝❤❡ ❝♦♥s✐st❡ à ✉t✐❧✐s❡r ❝❡tt❡ ♣♦rt✐♦♥ ❞❡ ❧✬✐♠❛❣❡ ❡t à s✉♣♣r✐♠❡r ❧❛ ❞é❢♦r♠❛t✐♦♥ ❞❡ ♣❡rs♣❡❝✲ t✐✈❡ ❣râ❝❡ à ❧✬✉t✐❧✐s❛t✐♦♥ ❞❡ ❧❛ ❚r❛♥s❢♦r♠é❡ ❡♥ ❱✉❡ ❞✬❖✐s❡❛✉✱ ❝❛r✱ ❞❛♥s ❧✬✐♠❛❣❡ rés✉❧t❛♥t❡✱ ❧❡s ❧✐❣♥❡s ♣❛r❛❧❧è❧❡s ❞❛♥s ❧❡ ♠♦♥❞❡ ré❡❧ ✭❧❡s r❛✐❧s✮ ✈♦♥t r❡st❡r ♣❛r❛❧❧è❧❡s✳ ▲❛ ③♦♥❡ sé❧❡❝t✐♦♥♥é❡ ❡st ❞é✜♥✐❡ ♣❛r ❧❛ ♣♦s✐t✐♦♥ ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡✳ ❯♥❡ ❢♦✐s ❞ét❡r♠✐♥é❡ ❧❛ ❢♦♥❝t✐♦♥ q✉✐ ❝❛r❛❝tér✐s❡ ❧❛ ❝♦✉r❜❡ ❞❡ ❧❛ ✈♦✐❡✱ ♥♦✉s sé❧❡❝t✐♦♥♥♦♥s ✉♥❡ ③♦♥❡ ❞é✜♥✐❡ ❡♥tr❡ ✉♥❡ ❞✐st❛♥❝❡ ❡♥ ♠ètr❡s ❞❡ D ❡t D + 1 ❛✈❡❝ ✉♥❡ ❧❛r❣❡✉r s✉✣s❛♥t❡ ♣♦✉r ❝♦✉✈r✐r ❧✬❡♥tr❡✲❛①❡ ❞❡ ❧❛ ✈♦✐❡✳ ❯♥❡ ✐♠❛❣❡ r❡♣rés❡♥t❛t✐✈❡ ❞❡ ❝❡tt❡ ③♦♥❡ ❡t ❧✬✐♠❛❣❡ ♦❜t❡♥✉❡ ❛♣rès ❧❛ tr❛♥s❢♦r♠é❡ ■P▼ ❡st ❡①♣♦sé❡ ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✸✸✳ ✭❛✮ ❩♦♥❡ à ❛♥❛❧②s❡r ♣♦✉r ♦❜t❡♥✐r ❧❡ ❞é♣❧❛❝❡♠❡♥t✳ ✭❜✮ ■♠❛❣❡ s❛♥s ❞é❢♦r♠❛t✐♦♥ ♣❡rs♣❡❝t✐✈❡ ✉t✐✲ ❧✐sé❡ ♣♦✉r ❧❡ ❝❛❧❝✉❧ ❞✉ ❞é❝❛❧❛❣❡✳ ❋✐❣✉r❡ ✸✳✸✸ ✕ ■❧❧✉str❛t✐♦♥ ❞❡ ❧❛ ♠ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❝❛❧❝✉❧❡r ❞✬❛✈❛♥❝❡♠❡♥t✳ ❉❡ ❢❛ç♦♥ q✉❡ ❧❡ tr❛✐♥ ❛✈❛♥❝❡✱ ❞❛♥s ❧❡s ✐♠❛❣❡s ♦❜t❡♥✉❡s ❛✈❡❝ ❧❛ tr❛♥s❢♦r♠é❡ ❡♥ ✈✉❡ ❞✬♦✐s❡❛✉ ❧❡s r❛✐❧s ❛♣♣❛r❛✐ss❡♥t ❡♥ ♠♦✉✈❡♠❡♥t✳ ▲❡ ❞é❝❛❧❛❣❡ ❡♥tr❡ ❝❡s ✐♠❛❣❡s ❞é♣❡♥❞ ❞❡ ❧✬❛✈❛♥❝❡♠❡♥t ❞✉ tr❛✐♥✳ ❯♥ ❡①❡♠♣❧❡ ❞❡ ❞❡✉① ✐♠❛❣❡s s✉❝❝❡ss✐✈❡s ❡t ❧❡✉r ❞é❝❛❧❛❣❡ ❡st ❡①♣♦sé ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✸✹✳ ❈❡ ❞é❝❛❧❛❣❡ ♣❡✉t êtr❡ ❞ét❡r♠✐♥é ♣❛r ❞❡s ♠ét❤♦❞❡s ❞✐t❡s ✐♠❛❣❡✲❜❛s❡❞✳ P♦✉r ♠❡s✉r❡r ❧❡ ❞é♣❧❛❝❡♠❡♥t r❡❧❛t✐❢ ❡♥tr❡ ❞❡✉① ✐♠❛❣❡s s✉❝❝❡ss✐✈❡s✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ❧✬✐♥t❡r✲❝♦rré❧❛t✐♦♥✳ ❈♦♠♠❡ ❧❡s ❞❡✉① ✐♠❛❣❡s ♦♥t été ♦❜t❡♥✉❡s à ♣❛rt✐r ❞❡ ❧❛ ❢♦♥❝t✐♦♥ q✉✐ ❞é✜♥✐t ❧❡s r❛✐❧s✱ ❧❡ s❡✉❧ ❞é♣❧❛❝❡♠❡♥t à ❝♦♥s✐❞ér❡r ❡st ✈❡rt✐❝❛❧✱ ❝❡ q✉✐ ♥♦✉s ♣❡r♠❡ttr❛ ❞❡ ré❞✉✐r❡ ❧❡ ❝♦ût ❞❡ ❝❛❧❝✉❧ ❞❡ ❧❛ ❝♦rré❧❛t✐♦♥✳ ▲❛ ❢♦♥❝t✐♦♥ ❞✬✐♥t❡r✲❝♦rré❧❛t✐♦♥✱ ❞♦♥t ❡st ❞é❞✉✐t ❧❡ ❞é❝❛❧❛❣❡ ❡♥tr❡ ❧❡s ✐♠❛❣❡s ❡st ❞♦♥♥é❡ ♣❛r ❧❛ ❢♦r♠✉❧❡ ❣é♥ér❛❧❡ ✸✳✶✻ ✿ h(p) = X inf − inf xi · yi−p ✭✸✳✶✻✮ ♦ù xi ❡t yi s♦♥t ❧❡s ♣✐①❡❧s ❞❡s ♣r❡♠✐❡r ❡t s❡❝♦♥❞ ✈❡❝t❡✉rs ❞❡ ♠❡s✉r❡✳ ▲✬❛❧❣♦r✐t❤♠❡ ❞é✈❡❧♦♣♣é ❛ ♣♦✉r ♦❜❥❡❝t✐❢ ❞❡ r❡❝❤❡r❝❤❡r ❧❛ ✈❛❧❡✉r ❞✉ ❞é♣❧❛❝❡♠❡♥t ✈❡rt✐❝❛❧ q✉✐ ♠❛①✐♠✐s❡ ❧✬♦♣ér❛t❡✉r ❞✬✐♥t❡r✲ ❝♦rré❧❛t✐♦♥ h(p)✳ P♦✉r ❝❡❧❛ ❝❤❛q✉❡ ♣❛✐r❡ ❞❡ ❧✐❣♥❡s ✈❡rt✐❝❛❧❡s ❞❡s ❞❡✉① ✐♠❛❣❡s s❡r❛ ✐♥t❡r✲❝♦rré❧é❡ ♣♦✉r✸✳✹✳ ❘és✉❧t❛ts ✻✾ ♦❜t❡♥✐r ❧❡ ❞é❝❛❧❛❣❡✳ ❯♥ ❡①❡♠♣❧❡ ❞❡ rés✉❧t❛t ❞❡ h(p) ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✸✺✳ ❉❛♥s ❝❡ ❝❛s✱ ❧❡ ❞é♣❧❛❝❡♠❡♥t ❞ét❡r♠✐♥é ❡st ❞❡ ✶✺ ♣✐①❡❧s✳ ❈♦♥♥❛✐ss❛♥t ❧❛ t❛✐❧❧❡ ❞❡ ❧✬✐♠❛❣❡ ■P▼ ❡t s❛ ❝♦rr❡s♣♦♥❞❛♥❝❡ ❡♥ ♠ètr❡s✱ ♥♦✉s ♣♦✉✈♦♥s ❞ét❡r♠✐♥❡r ❧✬❛✈❛♥❝❡♠❡♥t ❞✉ tr❛✐♥ à ♣❛rt✐r ❞✉ ❞é❝❛❧❛❣❡ ❞❡s ✐♠❛❣❡s✳ ❋✐❣✉r❡ ✸✳✸✹ ✕ ❈♦♠♣❛r❛✐s♦♥ ❡♥tr❡ ❞❡✉① ✐♠❛❣❡s s✉❝❝❡ss✐✈❡s ♣♦✉r ❞ét❡r♠✐♥❡r ❧✬❛✈❛♥❝❡♠❡♥t ❞✉ tr❛✐♥✳ ❋✐❣✉r❡ ✸✳✸✺ ✕ ❈♦rré❧❛t✐♦♥ ❞❡s ❧✐❣♥❡s ✈❡rt✐❝❛❧❡s ❞❡s ✐♠❛❣❡s ❞❡ ❧❛ ✜❣✉r❡ ✸✳✸✹✳ ▲❡ ❞é❝❛❧❛❣❡ t❤é♦r✐q✉❡ ❡st ❞❡ ✶✺ ♣✐①❡❧s✳ ❋✐❣✉r❡ ✸✳✸✻ ✕ ■♠❛❣❡ ❛ér✐❡♥♥❡ ❞✉ ♣❛r❝♦✉rs ❡♥tr❡ ❖r❧② ❖✉❡st ❡t ❖r❧② ❙✉❞✳ ▲❡ ❞é❜✉t ❡t ❧❛ ✜♥ ❞✉ ♣❛r❝♦✉rs s♦♥t ✐♥❞✐q✉és ♣❛r ❞❡s ✢è❝❤❡s r♦✉❣❡s✳ ❈❡tt❡ ♣❛rt✐❡ ❛ér✐❡♥♥❡ ❞✉ ♠❡tr♦ ❖r❧②❱❆▲ ❡♥tr❡ ❧❡s st❛t✐♦♥s ❖r❧②❖✉❡st ❡t ❖r❧②❙✉❞ ❞é♣❛rts ❡t ♣r✐♥❝✐♣❛❧❡♠❡♥t ré❛❧✐sé❡ ❡♥ ✈✐❛❞✉❝✳ ▲❡ ♣❛r❝♦✉rs t♦t❛❧ ❡st ❞❡ ✺✼✵ ♠ètr❡s ❡t ❧❛ ✈✐t❡ss❡ ♠❛①✐♠❛❧❡ ❛tt❡✐♥t❡ ❡st ❞❡ ✶✼ ♠✴s✳ ▲❛ ✜❣✉r❡ ✸✳✸✽ ♠♦♥tr❡ ❧✬❡①tr❛❝t✐♦♥ ❞❡s r❛✐❧s s♦✉s ❞✐✛ér❡♥t❡s ❝♦♥❞✐t✐♦♥s✳✼✵ ❈❤❛♣✐tr❡ ✸✳ ❉ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ❋✐❣✉r❡ ✸✳✸✼ ✕ ❖❞♦♠étr✐❡ ✈✐s✉❡❧❧❡ ♦❜t❡♥✉❡ à ♣❛rt✐r ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s✳ ❉❛♥s ❝❡tt❡ ✐♠❛❣❡ ♥♦✉s ♣♦✉✈♦♥s ✈♦✐r ❧❡ ♣❛r❝♦✉rs r❡❝♦♥str✉✐t ♣❛r ❧✬♦❞♦♠étr✐❡ ✈✐s✉❡❧❧❡ ✭❡♥ ♠❛❣❡♥t❛✮ ❡t ❧❡ ♣❛r❝♦✉rs ♦❜t❡♥✉ à ♣❛rt✐r ❞❡s ❞♦♥♥é❡s ●P❙ ❞❡ ●♦♦❣❧❡ ▼❛♣s✳ ▲❡ ❞é❝❛❧❛❣❡ ❡♥ ❞✐st❛♥❝❡ ✜♥❛❧❡ ❡♥tr❡ ❧❡s ❞❡✉① ❞♦♥♥é❡s ❡st ❞❡ ✼✳✾✹ ♠ètr❡s ♣♦✉r ✉♥ ♣❛r❝♦✉rs t♦t❛❧ ❞❡ ✺✼✵ ♠ètr❡s✳ ❈❡tt❡ ❡rr❡✉r ♣❡✉t êtr❡ ❞✉❡ ❛✉① ❛♣♣r♦①✐♠❛t✐♦♥s ❞❡ ❧❛ ❝♦✉r❜✉r❡ ❞❡ ❧❛ ✈♦✐❡ ♣❛r ✉♥❡ ♣❛r❛❜♦❧❡✳ ▲❡ rés✉❧t❛t r❡st❡ t♦✉t❡❢♦✐s très s❡♠❜❧❛❜❧❡ ❛✉ ♣❛r❝♦✉rs ré❡❧ ❞✉ tr❛✐♥✳✸✳✹✳ ❘és✉❧t❛ts ✼✶ ✭❛✮ ✳ ✭❜✮ ✳ ✭❝✮ ✳ ✭❞✮ ✳ ✭❡✮ ✳ ✭❢✮ ✳ ❋✐❣✉r❡ ✸✳✸✽ ✕ ❘és✉❧t❛ts ❞❡ ❧✬❡①tr❛❝t✐♦♥ ❞❡s r❛✐❧s ♣♦✉r ❞✐✛ér❡♥ts s❝é♥❛r✐♦s ❞❡ ✈♦✐❡✳ ✳❈❤❛♣✐tr❡ ✹ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ❙♦♠♠❛✐r❡ ✹✳✶ ▼♦t✐✈❛t✐♦♥s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼✸ ✹✳✷ ▲❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼✺ ✹✳✸ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼✼ ✹✳✸✳✶ ❯t✐❧✐s❛t✐♦♥ ❞❡ ❧❛ tr❛♥s❢♦r♠é❡ ❇✐r❞ ❡②❡s✬ ✈✐❡✇ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼✼ ✹✳✸✳✷ ❉❡s❝r✐♣t❡✉r ✿ ❚❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✼✽ ✹✳✸✳✸ ❉❡s❝r✐♣t❡✉r ✿ ❍✐st♦❣r❛♠♠❡ ❞❡ ❣r❛❞✐❡♥ts ♦r✐❡♥tés ✭❍❖●✮ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✶ ✹✳✹ ❘és✉❧t❛ts ❞❡ ❞ét❡❝t✐♦♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✹ ✹✳✹✳✶ ▼❛❝❤✐♥❡s à ✈❡❝t❡✉rs ❞❡ s✉♣♣♦rt ✭❙❱▼✮ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✹ ✹✳✹✳✷ ▼❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ❡t ❝♦✉r❜❡ ❘❖❈ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✺ ✹✳✹✳✸ ❘és✉❧t❛ts ❞✉ ❞❡s❝r✐♣t❡✉r ❜❛sé ❡♥ ❚❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✻ ✹✳✹✳✹ ❘és✉❧t❛ts ♦❜t❡♥✉s ❛✈❡❝ ❍❖● ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✽✼ ✹✳✺ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞✉ t②♣❡ ❞✬❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ✳ ✳ ✳ ✽✾ ✹✳✺✳✶ ❙❱▼ ♠✉❧t✐✲❝❧❛ss❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾✵ ✹✳✺✳✷ ❉❡s❝r✐♣t❡✉r ♣r♦♣♦sé ✿ ❍❖● ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾✵ ✹✳✺✳✸ ❘és✉❧t❛ts ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾✷ ✹✳✶ ▼♦t✐✈❛t✐♦♥s ❯♥ ♣♦✐♥t ✐♠♣♦rt❛♥t ❞❡ ♥♦tr❡ r❡❝❤❡r❝❤❡ ❡st ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡✳ ❊❧❧❡ ♣❡r♠❡ttr❛ ❞❡ ❞ét❡r♠✐♥❡r ❧❛ ③♦♥❡ ❧✐❜r❡ ❞✬♦❜st❛❝❧❡s s✉r ❝❤❛❝✉♥❡ ❞❡s ✷ ✈♦✐❡s✱ t❛♥t ❡♥ ❛✈❛❧ ❞✬✉♥ ❛✐❣✉✐❧❧❛❣❡ ❞✐✈❡r❣❡♥t q✉✬❡♥ ❛♠♦♥t ❞✬✉♥ ❛✐❣✉✐❧❧❛❣❡ ❝♦♥✈❡r❣❡♥t ✭❞✉ ♣♦✐♥t ❞❡ ✧❝r♦✐s❡♠❡♥t ❜♦♥✧ ❛✉ ❝♦❡✉r ❞✬❛✐❣✉✐❧❧❡✮✳ ❘❡✲ ♠❛rq✉❡ ✿ ❝♦♥tr❛✐r❡♠❡♥t à ❧❛ ✈♦✐❡ ❝♦✉r❛♥t❡ ♦ù ✉♥ ✧❢❛✉① ♥é❣❛t✐❢✧ ✭♥♦♥ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡s r❛✐❧s✮ ❡st ✐♥t❡r♣rété ❝♦♠♠❡ ❧❛ ♣rés❡♥❝❡ ❞✬✉♥ ♦❜st❛❝❧❡✱ ❧❛ ♥♦♥ ❞ét❡❝t✐♦♥ ❞✬✉♥ ❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ♣❡✉t ✧♠❛sq✉❡r✧ ✉♥ ♦❜st❛❝❧❡ ✿ ❡❧❧❡ s❡r❛ ❞♦♥❝ ❛ss♦❝✐é❡ à ❧❛ ❞ét❡❝t✐♦♥ ❞✉ ❢❡✉ ❞❡ s✐❣♥❛❧✐s❛t✐♦♥ q✉✐ ♣r♦tè❣❡ ❧✬❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ❡t à ❧❛ ❞ét❡r♠✐♥❛t✐♦♥ ❞❡ s♦♥ ét❛t✳ ❈❡ ❞❡r♥✐❡r ♣♦✐♥t ♥✬❡st ♣❛s tr❛✐té ❞❛♥s ❝❡ tr❛✈❛✐❧✳ ❉✬❛✉tr❡ ♣❛rt✱ ♣♦✉r ❞❡s r❛✐s♦♥s ♣r❛t✐q✉❡s ❡t é❝♦♥♦♠✐q✉❡s✱ ♣♦✉r ❝❡rt❛✐♥s t②♣❡s ❞❡ ❧✐❣♥❡s ❢❡rr♦✈✐❛✐r❡s ✐❧ ♣♦✉rr❛✐t êtr❡ ❡♥✈✐s❛❣❡❛❜❧❡ ❞❡ r❡♠♣❧❛❝❡r ✉♥❡ ♣❛rt✐❡ ♦✉ t♦✉t ❧✬éq✉✐♣❡♠❡♥t ❞❡ ♣♦s✐t✐♦♥♥❡♠❡♥t ♣❧❛❝é ❛✉ ❧♦♥❣ ❞❡ ❧❛ ✈♦✐❡ ♣❛r ❞❡s ❝❛♣t❡✉rs ❜❛s ❝♦ût ❝♦♠♠❡ ❞❡s ❝❛♠ér❛s ❞❡rr✐èr❡ ❧❡ ♣❛r❡✲❜r✐s❡✳ ▲❛ ♣♦s✐t✐♦♥ ❛❜s♦❧✉❡ ❞✉ ✈é❤✐❝✉❧❡ ❞❛♥s ✉♥❡ ✈♦✐❡ ♣❡✉t êtr❡ ❞ét❡r♠✐♥é❡ ❣râ❝❡ à ❧❛ ❞ét❡❝t✐♦♥ ❡t ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ❝♦♠❜✐♥é❡s ❛✈❡❝ ✉♥ r❡♣ér❛❣❡ s✉r ❝❛rt❡ ♥✉♠ér✐q✉❡✱ ❡♥ ❛♥❣❧❛✐s ♠❛♣ ♠❛t❝❤✐♥❣✳ ❬●❡✐st❧❡r ✫ ❇♦❤r✐♥❣❡r ✷✵✵✹❪✳ ❯♥❡ ❞❡s ❧✐♠✐t❛t✐♦♥s ❞❡ ♥♦tr❡ s②stè♠❡ ❝♦♥❝❡r♥❡ ❧✬❛rr✐✈é❡ ❞✬✉♥ ♠étr♦ à ✉♥ ❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ❞✐✈❡r✲ ❣❡❛♥t✳ ▲❡ s②stè♠❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ❞é❝r✐t ❛✉ ❝❤❛♣✐tr❡ ♣ré❝é❞❡♥t ❡st ❝♦♥❢r♦♥té à ❧❛ ❞✐✣❝✉❧té ❞❡ ❞ét❡r♠✐♥❡r ❞❡✉① ❝❤❡♠✐♥s ❧✐❜r❡s ❞✬♦❜st❛❝❧❡s✳ P♦✉r ❝❡❧❛✱ ✐❧ ❞❡✈r❛✐t ❞ét❡❝t❡r ❧❡s ✷ ♣❛✐r❡s ❞❡ r❛✐❧s✳ ❈❡♣❡♥❞❛♥t✱ ❧❛ ♠ét❤♦❞❡ ♣r♦♣♦sé❡ ❞❛♥s ♥♦s tr❛✈❛✉① ❞❡ t❤ès❡ ♣♦✉r ❧✬❡①tr❛❝t✐♦♥ ❞❡s r❛✐❧s ♣r❡♥❞ ❡♥✼✹ ❈❤❛♣✐tr❡ ✹✳ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ❝♦♠♣t❡ s❡✉❧❡♠❡♥t ✉♥❡ ♣❛✐r❡ ❞❡ r❛✐❧s✳ ▲✬♦❜❥❡❝t✐❢ ❞❡ ❝❡tt❡ ♣❛rt✐❡ ❞❡ ♥♦tr❡ ét✉❞❡ ❡st ❞❡ ❞ét❡❝t❡r ❧❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ❛✈❛♥t ❞❡ ❧❡s tr❛✈❡rs❡r✳ ❉❡ ♣❧✉s✱ ✐❧ ❢❛✉t r❡❝♦♥♥❛✐tr❡ s❛ ♥❛t✉r❡✱ ❝✬❡st✲à✲❞✐r❡✱ s✐ ❝✬❡st ✉♥ ❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ❝♦♥✈❡r❣❡♥t❡ ♦✉ ❞✐✈❡r❣❡♥t❡ ❡t s❛ ❞✐r❡❝t✐♦♥ ❞r♦✐t❡ ♦✉ ❣❛✉❝❤❡✳ ❯♥❡ ❢♦✐s ❧✬❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ❞ét❡❝té ❡t r❡❝♦♥♥✉✱ ♥♦✉s ♣♦✉✈♦♥s ♠♦❞✐✜❡r ❧❛ str❛té❣✐❡ ❞✬❡①tr❛❝t✐♦♥ ❞❡s r❛✐❧s✱ ❡♥ ❝❤❡r❝❤❛♥t ❧❡s ✷ ♣❛✐r❡s ❞❡ r❛✐❧s✳ ▲❛ ✜❣✉r❡ ✹✳✶ ♥♦✉s ♠♦♥tr❡ ✉♥ ❡①❡♠♣❧❡ ❞❡ ❧❛ ✈✉❡ ♣❡rç✉❡ ❞❡♣✉✐s ❧✬❛✈❛♥t ❞✉ ♠étr♦ à ❧✬❛rr✐✈é❡ ❞❡ ❞✐✛ér❡♥ts ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡✳ ❊♥ ♦✉tr❡✱ ❧❡ ♠❛♣ ♠❛t❝❤✐♥❣ ♣♦✉rr❛✐t s❡ ré❛❧✐s❡r à ♣❛rt✐r ❞❡ ❧❛ ❝❛rt❡ r❡❝♦♥str✉✐t❡ ♣❛r ♥♦tr❡ s②stè♠❡ ❡t ♠♦♥tré❡ ♣ré❝é❞❡♠♠❡♥t ❞❛♥s ❧❛ ✜❣✉r❡ ✸✳✸✼ ❞❡ ❧❛ s❡❝t✐♦♥ ✸✳✹ ❡t ✉♥❡ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡✳ ❆✐♥s✐✱ ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ❞✉ ♠étr♦ ♣❡✉t êtr❡ ré❛❧✐sé❡ ♣❛r tr♦♥ç♦♥s à ♣❛rt✐r ❞✉ s②stè♠❡ ❞❡ ✈✐s✐♦♥ ❝❡ q✉✐ ré❞✉✐t ❧❡ ♥♦♠❜r❡ ❞❡s ❜❛❧✐s❡s ♥é❝❡ss❛✐r❡s✱ ♦✉ ♣❡✉t êtr❡ s✐♠♣❧❡♠❡♥t ❝♦♠♠❡ ✉♥ s②stè♠❡ ❞❡ r❡❞♦♥❞❛♥❝❡✳ ✭❛✮ ❆♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ❞✐✈❡r❣❡♥t à ❣❛✉❝❤❡✳ ✭❜✮ ❆♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ❞✐✈❡r❣❡♥t à ❞r♦✐t❡✳ ❋✐❣✉r❡ ✹✳✶ ✕ ❆♠❜✐❣ü✐tés ❞❡ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s à ❧✬❛♣♣r♦❝❤❡ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ❞✐✈❡r❣❡♥ts✳ ❆❝t✉❡❧❧❡♠❡♥t✱ ✐❧ ❡①✐st❡ ♣❡✉ ❞❡ tr❛✈❛✉① ❞❡ ❞ét❡❝t✐♦♥ ❡t ❝❧❛ss✐✜❝❛t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ✭❡♥ ❛♥❣❧❛✐s t✉r♥♦✉t✮✳ ▲❡ ♣❧✉s r❡♠❛rq✉❛❜❧❡ ❡st ❧✬ét✉❞❡ ❞❡ ❬❲♦❤❧❢❡✐❧ ✷✵✶✶❪ ré❛❧✐sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ❡t ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡✳ ❈❡ s②stè♠❡ ❛♥❛❧②s❡ ✉♥❡ ♣❛rt✐❡ ❞❡ ❧✬✐♠❛❣❡ à ❧❛ r❡❝❤❡r❝❤❡ ❞❡s r❛✐❧s ❡t ✉♥❡ ❢♦✐s ❞ét❡❝tés ✐❧s s♦♥t ❛♣♣❛r✐és✳ ▲❛ ♣♦s✐t✐♦♥ ❞❡s r❛✐❧s ❞❛♥s ❧✬✐♠❛❣❡ ❡st tr❛♥s❢♦r♠é❡ ❡♥ ❝♦♦r❞♦♥♥é❡s ❣❧♦❜❛❧❡s ✸❉ ❛✈❡❝ ✭❩❂✵✮✱ ❡t à ♣❛rt✐r ❞❡ ❝❡s ❞❡r♥✐èr❡s✱ ✐❧ ❡st ♣♦ss✐❜❧❡ ❞❡ r❡❝ré❡r ✉♥❡ ❝❛rt❡ ❞❡s r❛✐❧s ❡t r❡❝♦♥♥❛✐tr❡ ❧❛ ♣rés❡♥❝❡ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡✳ ▲❛ ✜❣✉r❡ ✹✳✷ ♠♦♥tr❡ ❞❡s ❡①❡♠♣❧❡s ❞❡ ❝❡tt❡ t❡❝❤♥✐q✉❡✳ ▲✬✉♥❡ ❞❡s ♣r✐♥❝✐♣❛❧❡s ❧✐♠✐t❛t✐♦♥s ❞❡ ❝❡tt❡ ❛♣♣r♦❝❤❡ ❡st q✉❡ ❧✬❛♥❛❧②s❡ s✬❡✛❡❝t✉❡ s✉r ✉♥❡ ♣❛rt✐❡ ré❞✉✐t❡ ❞❡ ❧✬✐♠❛❣❡✱ ❝❛r ❧❛ ♠ét❤♦❞❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts ❡st ❧♦✉r❞❡ ❡♥ ❝❛❧❝✉❧ ♣✉✐sq✉✬❡❧❧❡ ❡st ❜❛sé❡ s✉r ❧❡s ✈❛❧❡✉rs ♣r♦♣r❡s ❞❡ ❧✬✐♠❛❣❡ ❡♥ ♥✐✈❡❛✉ ❞❡ ❣r✐s✳ ❉❡ ♣❧✉s✱ ❧❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ s♦♥t ❞ét❡❝tés à ♣❛rt✐r ❞❡ ❧❛ ❝❛rt❡ r❡❝♦♥str✉✐t❡✱ ❡t ♣❛s ❞✐r❡❝t❡♠❡♥t ❞❛♥s ❧✬✐♠❛❣❡✳✹✳✷✳ ▲❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ✼✺ ❋✐❣✉r❡ ✹✳✷ ✕ ❉ét❡❝t✐♦♥ ❞❡s ❛✐❣✉✐❧❧❡s à ♣❛rt✐r ❞❡ ❧❛ ❝❛rt❡ ✸❉ ✭❩❂✵✮ r❡❝♦♥str✉✐t❡✳ ■♠❛❣❡ ❡①tr❛✐t❡ ❞❡ ❬❲♦❤❧❢❡✐❧ ✷✵✶✶❪✳ ✹✳✷ ▲❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ▲❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ♣❡r♠❡tt❡♥t ❞✬❛✐❣✉✐❧❧❡r ✉♥ ✈é❤✐❝✉❧❡ s✉r ✉♥❡ ❛✉tr❡ ✈♦✐❡✳ P♦✉r ❧❡s ♠étr♦s ❱❆▲✱ ❧❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ s♦♥t ❞❡ t②♣❡ ❣✉✐❞❛❣❡ ❝❡♥tr❛❧ ❝♦♠♠❡ ❧❡ ♠♦♥tr❡ ❧❛ ✜❣✉r❡ ✹✳✸✳ ▲❡ s②stè♠❡ à ❣✉✐❞❛❣❡ ❝❡♥tr❛❧ ❝♦♥s✐st❡ à ❞✐s♣♦s❡r ❞❛♥s ❧✬❛①❡ ❞❡ ❧❛ ✈♦✐❡ ✉♥❡ ♦r♥✐èr❡ s✐t✉é❡ s♦✉s ❧❡ ♥✐✈❡❛✉ ❞❡s ♣✐st❡s ❞❡ r♦✉❧❡♠❡♥t✱ ❞❛♥s ❧❛q✉❡❧❧❡ s✬❡♥❣❛❣❡ ✉♥ ❣❛❧❡t✱ à ❛①❡ ❤♦r✐③♦♥t❛❧✱ s♦❧✐❞❛✐r❡ ❞✉ ❝❛❞r❡ ❞❡ ❧✬❡ss✐❡✉ ❞✉ ✈é❤✐❝✉❧❡✳ ▲✬♦r♥✐èr❡ ❡st ❝♦♥st✐t✉é❡ ❞❡ ❞❡✉① r❛✐❧s ✜①és s✉r ❧❡ r❛❞✐❡r ❡t ❡s♣❛❝és ❛✉ ♥✐✈❡❛✉ ❞❡s ❝❤❛♠♣✐❣♥♦♥s ❞❡ ✺ ❝♠✱ ❞✬✉♥❡ ❛✐❣✉✐❧❧❡ ❡♥ ❛❝✐❡r ❞❡ 6 ♠ètr❡s ❞❡ ❧♦♥❣ ❡t ❞✬♦r❣❛♥❡s ❞❡ ❝♦♠♠❛♥❞❡s ✭✉♥ ❣r♦✉♣❡ ❞❡ ♠❛♥÷✉✈r❡ ❤②❞r❛✉❧✐q✉❡ ❡t ✉♥❡ ❛r♠♦✐r❡ ❞❡ ❝♦♠♠❛♥❞❡✮✳ ▲❡s ❡♥tré❡s ❡t ❧❡s s♦rt✐❡s ❞❡ ❧✬♦r♥✐èr❡ s✬❡✛❡❝t✉❡♥t ♣❛r ❞❡s s✐✤❡ts ❞❡ 20 cm ❞✬♦✉✈❡rt✉r❡ q✉✐ t✐❡♥♥❡♥t ❝♦♠♣t❡ ❞❡s ❝❛s ❧❡s ♣❧✉s ❞é❢❛✈♦r❛❜❧❡s ❞❡ ♣rés❡♥t❛t✐♦♥ ❞❡s ❣❛❧❡ts ❞❛♥s ❧✬♦r♥✐èr❡✳ ▲❛ ♣❛rt✐❡ s✉♣ér✐❡✉r❡ ❞❡ ❧✬♦r♥✐èr❡ ❡st ❛✉ ♠ê♠❡ ♥✐✈❡❛✉ q✉❡ ❧❡s ♣✐st❡s ❞❡ r♦✉❧❡♠❡♥t✳ ✭❛✮ ❊①❡♠♣❧❡ ❞✬♦r♥✐èr❡ ♦✉ r❛✐❧ ❝❡♥tr❛❧ ❞❡ ❣✉✐❞❛❣❡✳ ✭❜✮ ❖r♥✐èr❡ ❛✈❡❝ ✉♥ ❣❛❧❡t ❡♥❣❛❣é✳ ❋✐❣✉r❡ ✹✳✸ ✕ ❘❡♣rés❡♥t❛t✐♦♥ ❞❡s é❧é♠❡♥ts ❞✬✉♥ ❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡✳ ▲❡ ❝❤♦✐① ❞❡ ❧❛ ❞✐r❡❝t✐♦♥ s✬❡✛❡❝t✉❡ ♣❛r ✉♥❡ ❛✐❣✉✐❧❧❡ s✐t✉é❡ à ❧✬✐♥tér✐❡✉r ❞❡ ❧✬♦r♥✐èr❡ ❡t q✉✐ ♦r✐❡♥t❡ ❧❡✼✻ ❈❤❛♣✐tr❡ ✹✳ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ✭❛✮ Pr✐♥❝✐♣❡ ❞❡ ❢♦♥❝t✐♦♥♥❡♠❡♥t ❞❡ ❧✬❛✐❣✉✐❧❧❡ ✐♥séré❡ ❞❛♥s ❧✬♦r♥✐èr❡ ✭❜✮ ❱✉❡ ❡♥ ❞ét❛✐❧ ❞✬✉♥❡ ❛✐❣✉✐❧❧❡✳ ❋✐❣✉r❡ ✹✳✹ ✕ ❘❡♣rés❡♥t❛t✐♦♥ ❞✬✉♥ ❛✐❣✉✐❧❧❡ ❡t s♦♥ s❝❤é♠❛✳ ✈é❤✐❝✉❧❡ ❡♥ ✈♦✐❡ ❞✐r❡❝t❡ ♦✉ ❡♥ ✈♦✐❡ ❞é✈✐é❡✳ ▲❡ s❝❤é♠❛ ❞❡ ❧❛ ✜❣✉r❡ ✹✳✹ ✐❧❧✉str❡ ❝❡ ♣r✐♥❝✐♣❡✳ ◆♦✉s ♣♦✉✈♦♥s ♥♦✉s r❡♥❞r❡ ❝♦♠♣t❡ q✉❡ ❞ét❡r♠✐♥❡r ❧❡ ♣♦s✐t✐♦♥♥❡♠❡♥t ❞❡ ❧✬❛✐❣✉✐❧❧❡ ❞❡♣✉✐s ❧❛ ❝❛❜✐♥❡ ❞✉ ❝♦♥❞✉❝t❡✉r ♥✬❡st ♣❛s ✉♥❡ tâ❝❤❡ ❢❛❝✐❧❡✳ ❊♥ ❝♦♥séq✉❡♥❝❡✱ à ❧✬❛rr✐✈é❡ ❞✬✉♥ ❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ❞✐✈❡r❣❡♥t✱ ❧❡ s②stè♠❡ ❞❡ ✈✐s✐♦♥ ♥❡ ♣❡✉t ♣❛s ❞ét❡r♠✐♥❡r ✈❡rs q✉❡❧❧❡ ❞✐r❡❝t✐♦♥ ❡st ❞✐s♣♦sé❡ ❧✬❛✐❣✉✐❧❧❡ ❛✈❛♥t ❞❡ tr❛✈❡rs❡r ❧✬❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡✳ ❈❡❝✐ ❡st ✉♥❡ ❞❡s r❛✐s♦♥s ♣♦✉r ❧❡sq✉❡❧❧❡s ♥♦✉s ❛✈♦♥s ❞é✈❡❧♦♣♣é ✉♥ s②stè♠❡ ❞❡ ❞ét❡❝t✐♦♥ ❡t ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ❞✬❛✐❣✉✐❧❧❡s✳ ▲❡s ❞✐✛ér❡♥ts t②♣❡s ❞✬❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ♣rés❡♥ts s✉r ❧❛ ❧✐❣♥❡ ❖r❧②❱❆▲ s♦♥t ✿ ✕ ❧❡s ❜r❛♥❝❤❡♠❡♥ts✱ q✉✐ ❝♦♠♣♦rt❡♥t ✉♥ s❡✉❧ ❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ❀ ✕ ❧❡s ❝♦♠♠✉♥✐❝❛t✐♦♥s ❞❡ ✈♦✐❡ ✭s✐♠♣❧❡s ♦✉ ❝r♦✐sé❡s✮✱ q✉✐ ❝♦♠♣♦rt❡♥t ✷ ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ❀ ✕ ❧❛ ❥♦♥❝t✐♦♥ ❡♥ ❨✳ ❈❡♣❡♥❞❛♥t✱❧❛ ♠ét❤♦❞❡ ♣r♦♣♦sé❡ ❛ été ♣❡♥sé❡ ♣♦✉r ♣♦✉✈♦✐r êtr❡ ❛❞❛♣t❛❜❧❡ ❛✉① ✈♦✐❡s ❢❡rré❡s ❝❧❛ss✐q✉❡s✱ ♣❛r ❡①❡♠♣❧❡ ❡♥ r❡❝♦♥♥❛✐ss❛♥t ❧❡s ✷ r❛✐❧s ❝ôt❡✲à✲❝ôt❡ q✉❡ ❧✬♦♥ ✈♦✐t ❜✐❡♥ s✉r ❧❛ ✜❣✉r❡ ✹✳✷✳ ▲❡ r❛✐❧ ❞❡ ❣✉✐❞❛❣❡ ❡♥ st❛t✐♦♥ ❯♥ ❝❛s ♣❛rt✐❝✉❧✐❡r ❞✬✉s❛❣❡ ❞✬✉♥ r❛✐❧ ❝❡♥tr❛❧ ❤♦rs ❧❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ❝✬❡st ✓❧❡ r❛✐❧ ❝❡♥tr❛❧ ❡♥ st❛t✐♦♥✔✳ ❈❡ r❛✐❧ ❛ ♣♦✉r ♦❜❥❡❝t✐❢ ❞❡ ❧✐♠✐t❡r ❧❛ r♦t❛t✐♦♥ ❞❡ ❧❛ ❝❛✐ss❡ ❞❛♥s ❧❡s ③♦♥❡s ❞❡ st❛t✐♦♥ ♣♦✉r ♣❡r♠❡ttr❡ ✉♥ ❛❥✉st❡♠❡♥t ❞✉ ❣❛❜❛r✐t ❞❡s ✈é❤✐❝✉❧❡s ♣❛r r❛♣♣♦rt ❛✉① q✉❛✐s✱ ❡♥ ♣❛rt✐❝✉❧✐❡r ❡♥ ❝❛s ❞❡ ❝r❡✈❛✐s♦♥ ❞✬✉♥ ♣♥❡✉ ♣♦rt❡✉r ♦✉ ❞❡ ❣✉✐❞❛❣❡✳ ▲❛ ✜❣✉r❡ ✹✳✺ ♠♦♥tr❡ ✉♥ ❡①❡♠♣❧❡ ❞❡ ❝❡ r❛✐❧✳✹✳✸✳ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ✼✼ ❋✐❣✉r❡ ✹✳✺ ✕ ❘❛✐❧ ❞❡ ❣✉✐❞❛❣❡ ❡♥ st❛t✐♦♥ ✹✳✸ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ P✉✐sq✉❡ ❞❛♥s ❧❡ ❝❛s ❞✬ét✉❞❡✱ ❧❛ ✈♦✐❡ à ❛♥❛❧②s❡r s❡ ❝❛r❛❝tér✐s❡ ♣❛r ❧❛ ♣rés❡♥❝❡ ❞✬✉♥ r❛✐❧ ❝❡♥tr❛❧ ❞❡ ❣✉✐❞❛❣❡ ❞❛♥s ❧❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ q✉✐ ♣❡r♠❡t ❞❡ ❢❛✐r❡ ❜❛s❝✉❧❡r ❧❡ ♠étr♦ ❞✬✉♥❡ ♣✐st❡ ❞❡ r♦✉❧❡♠❡♥t à ❧✬❛✉tr❡✱ ❝❡tt❡ ❝❛r❛❝tér✐st✐q✉❡ ♥♦✉s ♣❡r♠❡ttr❛ ❞ét❡r♠✐♥❡r à ♣❛rt✐r ❞✉ s②stè♠❡ ❞❡ ✈✐s✐♦♥ q✉❡ ❧❡ ♠étr♦ s✬❛♣♣r♦❝❤❡ ❞✬✉♥ ❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡✳ P♦✉r ❢❛❝✐❧✐t❡r ❧❛ tâ❝❤❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡ ❝❡ r❛✐❧ ❞❛♥s ❧✬✐♠❛❣❡✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞❡ t✐r❡r ♣r♦✜t ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s✳ ❈❡❝✐ ♥♦✉s ♣❡r♠❡ttr❛ ❞❡ ré❞✉✐r❡ ❧❛ ③♦♥❡ ❞❡ r❡❝❤❡r❝❤❡ ❞✉ r❛✐❧ ❝❡♥tr❛❧ ❞❡ ❣✉✐❞❛❣❡✳ ❆✐♥s✐✱ ✉♥❡ ❢♦✐s ❞ét❡r♠✐♥é❡ ❧❛ ♣♦s✐t✐♦♥ ❞❡s r❛✐❧s✱ ♥♦✉s ♣♦✉✈♦♥s ❛♥❛❧②s❡r ❧❛ ♠♦r♣❤♦❧♦❣✐❡ ❞❡ ❧✬❡♥tr❡✈♦✐❡ à ✉♥❡ ❝❡rt❛✐♥❡ ❞✐st❛♥❝❡ à ❧✬❛✈❛♥t ❞✉ ♠étr♦✳ ▲✬♦❜❥❡❝t✐❢ ❡st ❞✬✐❞❡♥t✐✜❡r ❧❛ ♣rés❡♥❝❡ ❞✉ r❛✐❧ ❞❡ ❣✉✐❞❛❣❡ ❝❡♥tr❛❧ ❛✈❛♥t ❞✬② ❛rr✐✈❡r✳ ❈❡tt❡ ❞✐st❛♥❝❡ s❡r❛ ❝❤♦✐s✐❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ rés♦❧✉t✐♦♥ s♣❛t✐❛❧❡ ❞❡ ❧❛ ❝❛♠ér❛✳ P✉✐sq✉❡ ❧❛ ♠♦r♣❤♦❧♦❣✐❡ ❞❡ ❧❛ ✈♦✐❡ ❡st ❡ss❡♥t✐❡❧❧❡♠❡♥t ❝♦♥st❛♥t❡✱ ❧✬✉t✐❧✐s❛t✐♦♥ ❞✬✉♥ ❞❡s❝r✐♣t❡✉r ❧♦✲ ❝❛❧ ♣❡✉t ❞♦♥♥❡r ❞❡ très ❜♦♥s rés✉❧t❛ts✳ ▲✬❛♥❛❧②s❡ ❞❡s ❞❡s❝r✐♣t❡✉rs ❧♦❝❛✉① ❜❛sés s✉r ❞❡s ❤✐st♦❣r❛♠♠❡s ❞❡ ❣r❛❞✐❡♥ts ♦r✐❡♥tés ❡♥ ❛♥❣❧❛✐s ❍✐st♦❣r❛♠ ♦❢ ❖r✐❡♥t❡❞ ●r❛❞✐❡♥ts✭❍❖●✮ ❡st très ré♣❛♥❞✉❡ ❡t ❡✣❝❛❝❡ ❝♦♠♠❡ ❧❡ ♠♦♥tr❡♥t ❧❡s ❡①♣ér✐❡♥❝❡s ♦❜t❡♥✉❡s ❛✉ s❡✐♥ ❞✉ ❈❆❖❘ ❬❩❛❦❧♦✉t❛ ✫ ❙t❛♥❝✐✉❧❡s❝✉ ✷✵✶✶❪ ❡t ❬❩❛❦❧♦✉t❛ ❡t ❛❧✳ ✷✵✶✶❪ ré❛❧✐sé❡s ♣♦✉r ❧❛ ❝❛r❛❝tér✐s❛t✐♦♥ ❡t ❝❧❛ss✐✜❝❛t✐♦♥ ❞❡s ♣❛♥♥❡❛✉① r♦✉t✐❡rs✳ ❊♥ ❝♦♥séq✉❡♥❝❡✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ❧❡s ❍❖● ❡t ❧❡ t❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ ❝♦♠♠❡ t❡❝❤♥✐q✉❡s ❞❡ ❝❛✲ r❛❝tér✐s❛t✐♦♥ ❞❡ ❧❛ ré❣✐♦♥ ❞✬✐♥térêt✳ ❈❡s ❞❡✉① ❞❡s❝r✐♣t❡✉rs s♦♥t ❛❝t✉❡❧❧❡♠❡♥t ✉t✐❧✐sés ❝♦✉r❛♠♠❡♥t ♣❛r ❧❛ ❝♦♠♠✉♥❛✉té ❞❡ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ❢♦r♠❡s ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ♦✉ ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞✬♦❜❥❡ts✳ ✹✳✸✳✶ ❯t✐❧✐s❛t✐♦♥ ❞❡ ❧❛ tr❛♥s❢♦r♠é❡ ❇✐r❞ ❡②❡s✬ ✈✐❡✇ ❆✈❡❝ ❧✬♦❜❥❡❝t✐❢ ❞✬❤♦♠♦❣é♥é✐s❡r ❧❡s ✐♠❛❣❡s ❞❡s ❞✐✛ér❡♥ts t②♣❡s ❞✬❛✐❣✉✐❧❧❡s✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞✬♦❜✲ t❡♥✐r ✉♥❡ ✐♠❛❣❡ ❡♥ ✈✉❡ ✈♦❧ ❞✬♦✐s❡❛✉ ❞✬✉♥❡ ♣♦rt✐♦♥ ❞❡ ❧❛ ✈♦✐❡ à ❧✬❛✈❛♥t ❞✉ ♠étr♦✳ ❈❡tt❡ ♣♦rt✐♦♥ r❡❝t❛♥❣✉❧❛✐r❡ ❛✉r❛ ✉♥❡ ❧❛r❣❡✉r q✉✐ ❝♦✉✈r✐r❛ ✉♥ ♣❡✉ ♣❧✉s q✉❡ ❧✬é❝❛rt❡♠❡♥t ❞❡s r❛✐❧s ❡t 1 ♠ètr❡ ❞❡ ❤❛✉t❡✉r✳ ➚ ♣❛rt✐r ❞❡ ❧❛ tr❛♥s❢♦r♠é❡ ❡♥ ✈✉❡ ❞✬♦✐s❡❛✉✱ ♥♦✉s ♣♦✉✈♦♥s ♦❜t❡♥✐r ❞❡s ✐♠❛❣❡s ■P▼ ✭■♥✈❡rs❡ P❡rs♣❡❝t✐✈❡ ▼❛♣♣✐♥❣✮ ❞❛♥s ❧❡sq✉❡❧❧❡s ❧❛ ❞é❢♦r♠❛t✐♦♥ ❡♥ ♣❡rs♣❡❝t✐✈❡ ❛ ❞✐s♣❛r✉✱ ❝♦♠♠❡ ❧❡ ♠♦♥tr❡ ❧❛ ✜❣✉r❡ ✹✳✻✳ ▲✬❡✛❡t ❞✬❛✈♦✐r ❞❡s ✐♠❛❣❡s ❞❡ ❧❛ ♠ê♠❡ t❛✐❧❧❡ ❡t ❛✈❡❝ ❞❡s ❝❛r❛❝tér✐st✐q✉❡s s✐♠✐❧❛✐r❡s ♥♦✉s✼✽ ❈❤❛♣✐tr❡ ✹✳ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ♣❡r♠❡ttr❛ ❞❡ ♠✐❡✉① ❞✐✛ér❡♥❝✐❡r ❧❛ ♠♦r♣❤♦❧♦❣✐❡ ❞❡ ❧✬❡♥tr❡✈♦✐❡ ♣♦✉r ❧❡s ✐♠❛❣❡s q✉✐ ❝♦♥t✐❡♥♥❡♥t ❧❡ r❛✐❧ ❝❡♥tr❛❧ ❞❡ ❣✉✐❞❛❣❡ ❡t ❧❡s ✐♠❛❣❡s s❛♥s✳ ✭❛✮ ■♠❛❣❡ ❡♥ ♣❡rs♣❡❝✲ t✐✈❡✳ ✭❜✮ P❡rs♣❡❝t✐✈❡ s✉♣✲ ♣r✐♠é❡✳ ❋✐❣✉r❡ ✹✳✻ ✕ ❚r❛♥s❢♦r♠❛t✐♦♥ ❡♥ ✈✉❡ ❞✬♦✐s❡❛✉✳ ■♠❛❣❡ ❡①tr❛✐t❡ ❞❡ ❬▼❛✐r❡ ✫ ❇✐❣❞❡❧✐ ✷✵✶✵❪ ❯♥ ❡①❡♠♣❧❡ ❞❡ ❧❛ ③♦♥❡ ❝❤♦✐s✐❡ ♣♦✉r ❞ét❡r♠✐♥❡r ❧❛ ♣rés❡♥❝❡ ❞✬✉♥ ❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ❡st ♣rés❡♥té ❞❛♥s ❧❛ ✜❣✉r❡ ✹✳✼ ♣❛r ✉♥ r❡❝t❛♥❣❧❡ r♦✉❣❡✳ ▲❡s ✐♠❛❣❡s ■P▼ ♦❜t❡♥✉❡s s♦♥t ❛✉ss✐ r❡♣rés❡♥té❡s ❡t ♥♦✉s ♣♦✉✈♦♥s ✈♦✐r ❝♦♠♠❡♥t✱ à ♣❛rt✐r ❞❡ ❝❡tt❡ tr❛♥s❢♦r♠❛t✐♦♥ ❧❡s ✐♠❛❣❡s ❞❡✈✐❡♥♥❡♥t ❤♦♠♦❣è♥❡s ❡t ✐♥❞é♣❡♥❞❛♥t❡s ❞❡ ❧❡✉r ❢♦r♠❡ ❞✬♦r✐❣✐♥❡ ✭❧✐❣♥❡ ❞r♦✐t❡✱ ✈✐r❛❣❡✱ ❡t❝✮✳ ✹✳✸✳✷ ❉❡s❝r✐♣t❡✉r ✿ ❚❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ ▲✬❛♣♣r♦❝❤❡ ♣❛r ❝♦rré❧❛t✐♦♥ ✭t❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣✱ ❡♥ ❛♥❣❧❛✐s✮❬❇r✉♥❡❧❧✐ ✷✵✵✾❪ ❡st ❜❛sé❡ s✉r ✉♥❡ ♠❡✲ s✉r❡ ❞❡ s✐♠✐❧❛r✐té ❡♥tr❡ ❧✬✐♠❛❣❡ ❡t ✉♥ ♠♦❞è❧❡ ❞❡ ❧✬♦❜❥❡t r❡❝❤❡r❝❤é✳ ❈❡tt❡ t❡❝❤♥✐q✉❡ ❛ été ❝♦✉r❛♠♠❡♥t ✉t✐❧✐sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ♣❛r ✈✐s✐♦♥✱ r❡❝♦♥♥❛✐ss❛♥❝❡ ❢❛❝✐❛❧❡ ❡t ♠ê♠❡ ♣♦✉r ❞❡s tâ❝❤❡s ❞❡ ❝♦♠♣t❛❣❡ ❞✬♦❜❥❡ts ❞❛♥s ❧❡ ♠✐❧✐❡✉ ✐♥❞✉str✐❡❧ ❬❉❤❛r♣✉r❡ ❡t ❛❧✳ ✷✵✶✸❪ ❡t ❬❆❦s♦② ❡t ❛❧✳ ✷✵✵✹❪✳ ❈❡tt❡ t❡❝❤♥✐q✉❡ ❝❤❡r❝❤❡ à ♠❡ttr❡ ❡♥ é✈✐❞❡♥❝❡ ❧❡s ré❣✐♦♥s ❞❡ ❧✬✐♠❛❣❡ r❡ss❡♠❜❧❛♥t ❧❡ ♣❧✉s à ❧✬♦❜❥❡t r❡❝❤❡r❝❤é ♣❛r ❧❡ ❝❛❧❝✉❧ ❞✬✉♥❡ ♠❡s✉r❡ ❞❡ ❝♦rré❧❛t✐♦♥✳ ❙♦♥ ♣r✐♥❝✐♣❡ ❡st très s✐♠♣❧❡ ✿ ✐❧ ❝♦♥s✐st❡ ❡♥ ❧❛ ♠✐s❡ ❡♥ ❝♦rr❡s♣♦♥❞❛♥❝❡ ❞✬✉♥ ♠♦❞è❧❡ ❞❡ ❧✬♦❜❥❡t ❞é✜♥✐ ♣❛r ✉♥ t❡♠♣❧❛t❡ T✱ q✉✐ ♥✬❡st r✐❡♥ ❞✬❛✉tr❡ q✉✬✉♥❡ ✐♠❛❣❡ ❞❡ ❧✬♦❜❥❡t ❧✉✐✲♠ê♠❡✱ ♣❛r ❝♦♥✈♦❧✉t✐♦♥ ❞✉ ♠♦❞è❧❡ ❛✈❡❝ ❧✬✐♠❛❣❡ I✳ P♦✉r ❝❤❡r❝❤❡r ❧❡ t❡♠♣❧❛t❡ T(x, y) ❞❡ t❛✐❧❧❡ (nx, ny) t♦✉t ❛✉ ❧♦♥❣ ❞❡s ❞❡✉① ❞✐♠❡♥s✐♦♥s ❞❡ ❧✬✐♠❛❣❡ I(x, y) ❞❡ t❛✐❧❧❡ mx, my ♦ù nx < mx ❡t ny < my✱ ❧❛ ❝♦rré❧❛t✐♦♥ ❝r♦✐sé❡ ♥♦r♠❛❧✐sé❡ γ(u, v) ❡st ❝❛❧❝✉❧é❡ ♣♦✉r ❝❤❛q✉❡ ♣♦✐♥t (u, v) ♣♦✉r I ❡t T ❝♦♠♠❡ ❧❡ ♠♦♥tr❡ ❧✬éq✉❛t✐♦♥ ✹✳✶ ✿ γ(u, v) = P x P y [I(x, y) − µ(I(u, v)).[T(x − u, y − v) − µ(T)]] rP x P y [I[(x, y) − µ(I(u, v))]2. P x P y [T(x − u, y − v) − µ(T)]2 ✭✹✳✶✮ ♦ù u ∈ 1, ..., mx − nx + 1✱ v ∈ 1, ..., my − ny + 1 ❡t µ(I(u, v)) r❡♣rés❡♥t❡ ❧❛ ✈❛❧❡✉r ♠♦②❡♥♥❡ ❞❡ I(x, y) ❞❛♥s ❧❛ s❡❝t✐♦♥ à ❝♦rré❧❡r✱ ❡t µ(T) ❧❛ ♠♦②❡♥♥❡ ❞✉ t❡♠♣❧❛t❡ T✳ P✉✐sq✉❡ ❧❡ ❞é♥♦♠✐♥❛t❡✉r ❞❡ ✹✳✶ ❡st ❧❛ ✈❛r✐❛♥❝❡ ❞❡s ❞❡✉① ✐♠❛❣❡s I(x, y)−µ(I(u, v) ❡t T(x−u, y−u)−µ(T)✱ ❧❛ ❝♦rré❧❛t✐♦♥ ❝r♦✐sé❡ ♥♦r♠❛❧✐sé❡ ❡st ♣❛rt✐❝✉❧✐èr❡♠❡♥t ❡✣❝❛❝❡ ♣♦✉r ❝♦♠♣❛r❡r ❧✬✐♠❛❣❡ ❡t ❧❡ ♠♦❞è❧❡✱ ❝❛r ❡❧❧❡ ❡st r♦❜✉st❡ ❛✉① ✈❛r✐❛t✐♦♥s ❧♦❝❛❧❡s ❞✬✐♥t❡♥s✐té✳ ▲✬✐♥t❡r✈❛❧❧❡ ❞❡s rés✉❧t❛ts ❞❡ γ(u, v) ❡st [−1.0, 1.0]✱ ♦ù ✉♥❡ ✈❛❧❡✉r ❞❡ 1 ❝♦rr❡s♣♦♥❞ à ✉♥❡ ♣❛r❢❛✐t❡ ❝♦rr❡s♣♦♥❞❛♥❝❡✳ ❈❡❝✐ ❢❛✐t q✉❡ ♣♦✉r ❞ét❡r♠✐♥❡r ❧❛ ♣rés❡♥❝❡ ❞✬✉♥ ♦❜❥❡t ✐❧ ❢❛✉t ❞é✜♥✐r ✉♥ s❡✉✐❧ ❞❡ r❡ss❡♠❜❧❛♥❝❡✳ ❯♥ ❡①❡♠♣❧❡ ❞❡ ❝♦rré❧❛t✐♦♥ ❝r♦✐sé❡ ❜✐❞✐♠❡♥s✐♦♥♥❡❧❧❡ ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✹✳✽✳ ▲❡ ♠❛①✐♠✉♠ ❞❡ ❧❛ ✜❣✉r❡ ✹✳✽❝ r❡♣rés❡♥t❡ ❧❛ ♣♦s✐t✐♦♥ (u, v) ♣♦✉r ❧❛q✉❡❧❧❡ ❧❛ ❝♦rr❡s♣♦♥❞❛♥❝❡ ❡♥tr❡ ❧✬✐♠❛❣❡ I ❡t ❧❡ t❡♠♣❧❛t❡ T ❡st ♠❛①✐♠❛❧❡✳✹✳✸✳ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ✼✾ ✭❛✮ ■♠❛❣❡ ❡♥ ♣❡rs♣❡❝t✐✈❡ ❛✈❡❝ ✉♥ ✈✐r❛❣❡ à ❣❛✉❝❤❡✳ ✭❜✮ ■P▼ r❡❝♦♥str✉✐t✳ ✭❝✮ ■♠❛❣❡ ❡♥ ♣❡rs♣❡❝t✐✈❡ ❛✈❡❝ ✉♥ ✈✐r❛❣❡ à ❞r♦✐t❡ ✭❞✮ ■P▼ r❡❝♦♥str✉✐t✳ ✭❡✮ ■♠❛❣❡ ❡♥ ♣❡rs♣❡❝t✐✈❡ ❡♥ ❧✐❣♥❡ ❞r♦✐t❡✳ ✭❢✮ ■P▼ r❡❝♦♥str✉✐t✳ ❋✐❣✉r❡ ✹✳✼ ✕ ❊①tr❛❝t✐♦♥ ❞❡ ❧❛ ③♦♥❡ ❞❡ r❡❝❤❡r❝❤❡ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ❡t ❧✬✐♠❛❣❡ ■P▼ ♦❜t❡♥✉❡✳ ❈❡♣❡♥❞❛♥t✱ ❧❡ ✭t❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ s♦✉✛r❡ ❞✬✉♥❡ s❡♥s✐❜✐❧✐té à ❧❛ ✈❛r✐❛♥❝❡ ✐♥tr❛✲❝❧❛ss❡ ❡t ❛✉① ❝❤❛♥✲ ❣❡♠❡♥ts ❞❡ ♣♦✐♥ts ❞❡ ✈✉❡✳ ❉❡ ♣❧✉s✱ ❝❡s ♠ét❤♦❞❡s r❡❧❛t✐✈❡♠❡♥t s✐♠♣❧❡s à ♠❡ttr❡ ❡♥ ÷✉✈r❡ s♦♥t ❧♦✉r❞❡s ❡♥ t❡♠♣s ❞❡ ❝❛❧❝✉❧✳ P♦✉r s✉r♠♦♥t❡r ❝❡s ✐♥❝♦♥✈é♥✐❡♥ts✱ ♥♦✉s ❛✈♦♥s ♣r♦✜té ❞❡ ❧❛ ❝♦♥♥❛✐ss❛♥❝❡ ❛✲♣r✐♦r✐ ❞❡ ❧❛ ✈♦✐❡ ❡t ❞❡ ❧✬❤♦♠♦❣é♥é✐s❛t✐♦♥ ♦❜t❡♥✉❡ ❛✈❡❝ ❧❡s ✐♠❛❣❡s ■P▼✳ ❈✬❡st✲à✲❞✐r❡✱ ❧❡s ❞é♣❧❛❝❡♠❡♥ts (u, v) s✉✐✈✐s ♣❛r ❧❡✽✵ ❈❤❛♣✐tr❡ ✹✳ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ✭❛✮ ■♠❛❣❡ I ✭❜✮ ❚❡♠♣❧❛t❡ ✭❝✮ P❧❛♥ ❞❡ ❝♦rré❧❛t✐♦♥ ❝r♦✐sé❡ γ(u, v) ❋✐❣✉r❡ ✹✳✽ ✕ ❘és✉❧t❛t ❞❡ ❧❛ ❝♦rré❧❛t✐♦♥ ❝r♦✐sé❡ ♥♦r♠❛❧✐sé❡✳ t❡♠♣❧❛t❡ ✈♦♥t êtr❡ ré❞✉✐ts ❛✉ ♠✐♥✐♠✉♠✱ ❡t ♣✉✐sq✉❡ t♦✉s ❧❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ s♦♥t éq✉✐♣és ❞✉ r❛✐❧ ❞❡ ❣✉✐❞❛❣❡ ❝❡♥tr❛❧ ♦✉ ♦r♥✐èr❡✱ ❝✬❡st s❡✉❧❡♠❡♥t ❧❛ ♣❛rt✐❡ ❝❡♥tr❛❧❡ ❞❡ ❝❡s ✐♠❛❣❡s q✉✐ s❡r❛ ❛♥❛❧②sé❡✳ ◆♦✉s ❛✈♦♥s ❞é✜♥✐ ❝♦♠♠❡ ♦❜❥❡t ❧❡ r❛✐❧ ❝❡♥tr❛❧ ❡t ♥♦✉s ❧✬❛✈♦♥s ❛ss♦❝✐é à ✉♥ t❡♠♣❧❛t❡ T✱ ❡t ❧❡s ❞é♣❧❛❝❡♠❡♥ts (u, v) s❡ ❧✐♠✐t❡r♦♥t ❛✉① ❛❧❡♥t♦✉rs ❞❡ ❧❛ ♣♦s✐t✐♦♥ t❤é♦r✐q✉❡ ❞✉ r❛✐❧ ❞❡ ❣✉✐❞❛❣❡ ❞❛♥s ❧❛ ♣❛rt✐❡ ❝❡♥tr❛❧❡ ❞❡ ❧✬✐♠❛❣❡ ■▼P✳ ❉❡ ♣❧✉s✱ ♣✉✐sq✉❡ t♦✉t❡s ❧❡s ✐♠❛❣❡s ❛✉r♦♥t ❧❛ ♠ê♠❡ t❛✐❧❧❡ ❡t q✉❡ ❧❡ r❛✐❧ ❝❡♥tr❛❧ ♦❝❝✉♣❡r❛ t♦✉t ♦✉ ✉♥❡ ♣❛rt✐❡ ❞❡ ❧✬✐♠❛❣❡✱ ❧❡s ❞é♣❧❛❝❡♠❡♥ts ✈❡rt✐❝❛✉① ❞❡ T ♥❡ s❡r♦♥t ♣❧✉s ♥é❝❡ss❛✐r❡s✱ ❝❡ q✉✐ ré❞✉✐t ❝♦♥s✐❞ér❛❜❧❡♠❡♥t ❧❡ t❡♠♣s ❞❡ ❝❛❧❝✉❧✳ ▲❛ ✜❣✉r❡ ✹✳✾ ♠♦♥tr❡ ✉♥ ❡①❡♠♣❧❡ ❞✬✐♠❛❣❡ ■P▼✱ ❞❡ ❧❛ ♣❛rt✐❡ ❞✬✐♠❛❣❡ à ❛♥❛❧②s❡r ❡t ❞✉ t❡♠♣❧❛t❡ T✳ ✭❛✮ s❡❝t✐♦♥ ❞✉ ✈✉❡ ❞✬♦✐ss❡❛✉ ✭❜✮ P❛rt✐❡ ❝❡♥tr❛❧❡ ✭❝✮ ❚❡♠♣❧❛t❡ ❋✐❣✉r❡ ✹✳✾ ✕ ❚r❛♥s❢♦r♠❛t✐♦♥ ❡♥ ✈✉❡ ❞✬♦✐s❡❛✉ ❈♦♠♠❡ ✐♥❞✐q✉é ♣ré❝é❞❡♠♠❡♥t✱ ♣❧✉s ❧❛ ✈❛❧❡✉r ❞❡ γ(u, v) ❡st ♣r♦❝❤❡ ❞❡ 1✱ ♣❧✉s ❧❛ r❡ss❡♠❜❧❛♥❝❡ ❡♥tr❡ ❧✬✐♠❛❣❡ ❡t ❧❡ ♠♦❞è❧❡ ❡st ❣r❛♥❞❡✳ ❊♥ ♣r♦✜t❛♥t ❞❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡ ❧✬♦❜❥❡t à r❡❝♦♥♥❛✐tr❡✱ à s❛✈♦✐r ❞❡✉① r❛✐❧s ✈❡rt✐❝❛✉① é❝❛rtés ❞✬✉♥❡ ♣❡t✐t❡ ❞✐st❛♥❝❡✱ ♥♦✉s ♣♦✉✈♦♥s ✈♦✐r s✉r ❧❛ ✜❣✉r❡ ❄❄ q✉❡ ❧✬❛✉t♦✲❝♦rré❧❛t✐♦♥ ❞✉ t❡♠♣❧❛t❡ ❛ ✉♥❡ ❢♦r♠❡ s♣é❝✐✜q✉❡✳ ▲❡s ❞❡✉① r❛✐❧s ❞❡ ❧✬♦r♥✐èr❡ ❢♦♥t ❛♣♣❛r❛✐tr❡ ❞❡✉① ♣✐❝s s②♠étr✐q✉❡s ❞❡ ❝❤❛q✉❡ ❝ôté ❞✉ ♣✐❝ ♣r✐♥❝✐♣❛❧ ❝♦♠♠❡ ♦♥ ♣❡✉t ❧❡ ✈♦✐r s✉r ❧❛ ✜❣✉r❡ ✹✳✶✵✳ ▲❡ ♣✐❝ ♣r✐♥❝✐♣❛❧ ❝♦rr❡s♣♦♥❞ à ❧❛ ♣♦s✐t✐♦♥ (u, v) ♣♦✉r ❧❛q✉❡❧❧❡ ❧❛ r❡ss❡♠❜❧❛♥❝❡ ❡st ♣❛r❢❛✐t❡✱ ❡t ❧❡s ❞❡✉① ♣✐❝s ❧❛tér❛✉①✱ ❝♦rr❡s♣♦♥❞❡♥t ❛✉① ❞é♣❧❛❝❡♠❡♥ts ♦ù ❧❡ r❛✐❧ ♦♣♣♦sé ❞✉ t❡♠♣❧❛t❡ ❞é♣❧❛❝é ❡st s✉♣❡r♣♦sé ❛✉ r❛✐❧ ♦♣♣♦sé ❞❡ ❧✬✐♠❛❣❡✳ ❉♦♥❝✱ à ♣❛rt✐r ❞❡ ❧❛ ré♣♦♥s❡ ❞✬❛✉t♦✲❝♦rré❧❛t✐♦♥ ♥♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ❝♦♠♠❡ ❞❡s❝r✐♣t❡✉r ❧❛ s♦♠♠❡ ❞❡ ❝❡s 3 s♦♠♠❡ts ♠♦✐♥s ❧❛ s♦♠♠❡ ❞❡s ✈❛❧❡✉rs ❞❡ 2 ✈❛❧❧é❡s✱ ❝♦♠♠❡ ✐♥❞✐q✉é ❞❛♥s ❧✬éq✉❛t✐♦♥ ✹✳✷✳ P✉✐sq✉✬✐❧ ❢❛✉t ❞ét❡r♠✐♥❡r ✉♥ s❡✉✐❧ ❞❡ r❡ss❡♠❜❧❛♥❝❡✱ ♥♦tr❡ ♦❜❥❡❝t✐❢ ❛✈❡❝ ❝❡ ❞❡s❝r✐♣t❡✉r ❡st ❞❡ ♣r♦✜t❡r ❞❡ ❧❛ ❢♦r♠❡ ❞❡ ♥♦tr❡ ♦❜❥❡t ♣♦✉r ❛♠é❧✐♦r❡r ❧❡s rés✉❧t❛ts ❞❡ ❞ét❡❝t✐♦♥✳✹✳✸✳ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ✽✶ ❋✐❣✉r❡ ✹✳✶✵ ✕ ❆✉t♦✲❝♦rré❧❛t✐♦♥ ❞✉ t❡♠♣❧❛t❡✳ ❋✐❣✉r❡ ✹✳✶✶ ✕ ❈♦♠♣❛r❛t✐✈❡ ❡♥tr❡ ❧❛ ✈❛❧❡✉r ♠❛①✐♠❛❧❡ ❞❡ ❧❛ ❝♦rré❧❛t✐♦♥ ❝r♦✐sé❡ ❡t ❧❡ ❞❡s❝r✐♣t❡✉r ♣r♦♣♦sé ♣♦✉r ✉♥❡ sér✐❡ ❞❡ ❝♦rré❧❛t✐♦♥s ❝r♦✐sé❡s✳ ▲❡s ♣♦✐♥ts ❜❧❡✉s r❡♣rés❡♥t❡♥t ❧❡ rés✉❧t❛t ♣♦✉r ❞❡s ✐♠❛❣❡s s❛♥s r❛✐❧ ❞❡ ❣✉✐❞❛❣❡✱ ❡t ❧❡s ♣♦✐♥ts r♦✉❣❡s✱ ❧❡s ✐♠❛❣❡s ❞❛♥s ❧❡sq✉❡❧❧❡s ✐❧ ② ❡♥ ❛✳ Descripteur= X 3 i=1 pic − X 2 i=1 vallee´ ✭✹✳✷✮ ❈♦♠♠❡ ❛tt❡♥❞✉✱ ❧❡s ✜❣✉r❡s ❞❡ ✹✳✶✶ ♠♦♥tr❡♥t ❧✬❛♠é❧✐♦r❛t✐♦♥ ❞✉ ♣♦✉✈♦✐r ❞❡ ❞✐s❝r✐♠✐♥❛t✐♦♥ ❡♥tr❡ ❧❛ s✐♠♣❧❡ ❝♦rré❧❛t✐♦♥ ❝r♦✐sé❡ ❡t ❧❡ ❞❡s❝r✐♣t❡✉r ♣r♦♣♦sé✳ ✹✳✸✳✸ ❉❡s❝r✐♣t❡✉r ✿ ❍✐st♦❣r❛♠♠❡ ❞❡ ❣r❛❞✐❡♥ts ♦r✐❡♥tés ✭❍❖●✮ ❈❡ ❞❡s❝r✐♣t❡✉r ♣r♦♣♦sé ♣❛r ❬❉❛❧❛❧ ✫ ❚r✐❣❣s ✷✵✵✺❪ ❡st ✉t✐❧✐sé ♣r✐♥❝✐♣❛❧❡♠❡♥t ❡♥ ✈✐s✐♦♥ ♣❛r ♦r✲ ❞✐♥❛t❡✉r ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ♣✐ét♦♥s ❡t ❞✬♦❜❥❡ts✳ ■❧ s✬❡st ré✈é❧é ♣❛rt✐❝✉❧✐èr❡♠❡♥t ❡✣❝❛❝❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ♣❡rs♦♥♥❡s✱ ❝❛r ❧✬❛♣♣❛r❡♥❝❡ ❧♦❝❛❧❡ ❡t ❧❛ ❢♦r♠❡ ❞✬✉♥ ♦❜❥❡t ♣❡✉✈❡♥t êtr❡ ❞é❝r✐t❡s ♣❛r ❧❛ ❞✐str✐❜✉t✐♦♥ ❞✬✐♥t❡♥s✐té ❡t ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡ s❡s ❣r❛❞✐❡♥ts✳ ▲✬❤✐st♦❣r❛♠♠❡ ❡st ✉♥ ♦✉t✐❧ q✉✐ ♥♦✉s ♣❡r♠❡t ❞❡ r❡♣rés❡♥t❡r ❧❛ ré♣❛rt✐t✐♦♥ ❞✬✉♥❡ ✈❛r✐❛❜❧❡ s✉r ✉♥❡ ♣♦♣✉❧❛t✐♦♥✳ ❉❛♥s ❧❡ ❝❛s ❞❡ ❍❖●✱ ❝❡tt❡ ✈❛r✐❛❜❧❡ ❡st ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts ❡t ❧❛ ♣♦♣✉❧❛t✐♦♥ ❧✬❡♥s❡♠❜❧❡ ❞❡s ♣✐①❡❧s ❞❡ ❧✬✐♠❛❣❡✳ ❍❖● ❞é✜♥✐t ❛❧♦rs ❞❛♥s ✉♥❡ ré❣✐♦♥ ✭❜❧♦❝✮ ❧❡s ♣r♦♣♦rt✐♦♥s ❞❡ ♣✐①❡❧s ❞♦♥t ❧✬♦r✐❡♥t❛t✐♦♥ ❞✉ ❣r❛❞✐❡♥t ❛♣♣❛rt✐❡♥t à ✉♥ ❝❡rt❛✐♥ ✐♥t❡r✈❛❧❧❡ ✭❜✐♥✮✳ ❈❡s ♣r♦♣♦rt✐♦♥s ❝❛r❛❝tér✐s❡♥t ❧❛ ❢♦r♠❡ ♣rés❡♥t❡ ❞❛♥s ❝❡tt❡ ré❣✐♦♥ ❛✉ ♣♦✐♥t q✉❡ ❧❡ ❍❖● ♣❡✉t ❛❧♦rs êtr❡ ✉t✐❧✐sé ❡♥ t❛♥t q✉❡ ❞❡s❝r✐♣t❡✉r ❞❡ ❢♦r♠❡✳ P♦✉r ♦❜t❡♥✐r ❝❡ ❞❡s❝r✐♣t❡✉r✱ ❧✬✐♠❛❣❡ ❡st ❞✐✈✐sé❡ ❞❡ ❢❛ç♦♥ ❞❡♥s❡ ❡♥ Ncolonne × Mligne ❜❧♦❝s✱ ❡t ❝❡s ❜❧♦❝s s♦♥t ❡♥s✉✐t❡ ❞✐✈✐sés à ❧❛ ❢♦✐s ❡♥ ❝❡❧❧✉❧❡s✳ ▲❡ ♥♦♠❜r❡ ❞❡ ❜❧♦❝s ❡t ❞❡ ❝❡❧❧✉❧❡s s♦♥t ❛❧♦rs ❞❡s ✈❛r✐❛❜❧❡s à ❝❤♦✐s✐r ❞ès ❧❛ ♣r❡♠✐èr❡ ét❛♣❡ ❞❡ ❧✬❛❧❣♦r✐t❤♠❡✳ ❯♥ ❡①❡♠♣❧❡ ❞✬✉♥❡ ❞✐✈✐s✐♦♥ ❡st ♠♦♥tré ❞❛♥s ❧✬✐♠❛❣❡ ✹✳✶✷❛✳✽✷ ❈❤❛♣✐tr❡ ✹✳ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ✭❛✮ ❉✐✈✐s✐♦♥ ❞❡ ❧✬✐♠❛❣❡ ❡♥ ❜❧♦❝s ❡t ❝❡❧❧✉❧❡s✳ ✭❜✮ ❘és✉❧t❛t ❞❡ ❞ét❡❝t✐♦♥ ❞❡s ♣❡rs♦♥♥❡s à ♣❛rt✐r ❞❡ ❍❖● ❋✐❣✉r❡ ✹✳✶✷ ✕ ❊①❡♠♣❧❡ ❞❡ ❧✬❡①tr❛❝t✐♦♥ ❞❡ ❍❖● ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ♣✐ét♦♥s✳ P♦✉r ❝❤❛q✉❡ ♣✐①❡❧ ❞❡ ❧✬✐♠❛❣❡ ♥♦✉s ❛♣♣❧✐q✉♦♥s ✉♥ ♠❛sq✉❡ H✭❙♦❜❡❧✮ ♣✉✐s HT ♣♦✉r ♦❜t❡♥✐r ❧❡s ❣r❛❞✐❡♥ts ❤♦r✐③♦♥t❛✉① ❡t ✈❡rt✐❝❛✉① Gx ❡t Gy r❡s♣❡❝t✐✈❡♠❡♥t✳ Gx =   +1 0 −1 +2 0 −2 +1 0 −1   ∗ I et Gy =   +1 +2 +1 0 0 0 −1 −2 −1   ∗ I ✭✹✳✸✮ ❖♥ ♦❜t✐❡♥t ❧❛ ♠❛❣♥✐t✉❞❡ ❞✉ ❣r❛❞✐❡♥t G = q Gx 2 + Gy 2 ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts Θ = tan−1 (Gx, Gy)✳ ▲❡ ✈❡❝t❡✉r ❞❡s ❝❛r❛❝tér✐st✐q✉❡s ❡st ❡♥s✉✐t❡ ❢♦r♠é ♣♦✉r ❝❤❛q✉❡ ❝❡❧❧✉❧❡✱ ❝✬❡st✲à✲❞✐r❡✱ ❞❡s ❤✐st♦❣r❛♠♠❡s ❞❡s ❣r❛❞✐❡♥ts ♦r✐❡♥tés ❞❛♥s ❧❛ ❝❡❧❧✉❧❡ ♦ù ❧✬❛♠♣❧✐t✉❞❡ s❡rt ❞❡ ♣♦✐❞s✳ P✉✐s ♦♥ ❝♦♥❝❛tè♥❡ ❧❡s ❤✐st♦✲ ❣r❛♠♠❡s ❞❡s ❝❡❧❧✉❧❡s ❞❛♥s ❧❡ ❜❧♦❝ ♣♦✉r ✜♥❛❧❡♠❡♥t✱ ♥♦r♠❛❧✐sé ❡♥ ✐♥t❡♥s✐té ❝❤❛q✉❡ ❜❧♦❝✳ ❯♥ ❜♦♥ ❝♦♠♣r♦♠✐s ❞♦✐t êtr❡ tr♦✉✈é ❡♥tr❡ ❧❛ t❛✐❧❧❡ ❞❡s ❝❡❧❧✉❧❡s ❡t ❧❛ t❛✐❧❧❡ ❞❡s ❜❧♦❝s✳ ❊♥ ❡✛❡t✱ s✐ ❧❡ ♥♦♠❜r❡ ❞❡ ❝❡❧❧✉❧❡s ❞❛♥s ✉♥ ❜❧♦❝ ❡st é❧❡✈é✱ ❧❡ ❞❡s❝r✐♣t❡✉r ❡st ♣ré❝✐s✳ ❆✉ss✐✱ ♣♦✉r ♦❜t❡♥✐r ♣❧✉s ❞✬✐♥❢♦r♠❛t✐♦♥✱ ✐❧ ❡st r❡❝♦♠♠❛♥❞é ❞❡ ❝❤❡✈❛✉❝❤❡r ❧❡s ❜❧♦❝s ❬❉❛❧❛❧ ✫ ❚r✐❣❣s ✷✵✵✺❪✳ ❈♦♠♠❡ ❧❛ t❛✐❧❧❡ ❞❡ ❧✬✐♠❛❣❡ ■P▼ ❡st ❞é❥à ré❞✉✐t❡✱ ♥♦✉s ❛✈♦♥s ❞é❝✐❞é ❞✬✉t✐❧✐s❡r ✉♥❡ s❡✉❧❡ ❝❡❧❧✉❧❡ ♣❛r ❜❧♦❝ ♣♦✉r ♦❜t❡♥✐r ❧❡ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖● s♦✉❤❛✐té✳ ◆♦✉s ❛✈♦♥s t❡sté ❧❡s ❝♦♠❜✐♥❛✐s♦♥s ❞✉ ♥♦♠❜r❡ ❞❡ ❝♦❧♦♥♥❡s✴❧✐❣♥❡s ♣♦✉r ❞ét❡r♠✐♥❡r ❧❛ ♠❡✐❧❧❡✉r❡ ❝♦♠❜✐♥❛✐s♦♥ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥✳ ◗✉❛♥t à ❧✬❡①tr❛❝t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts ❞❡ ❧✬✐♠❛❣❡✱ ❛✉ ❧✐❡✉ ❞✬✉t✐❧✐s❡r ❙♦❜❡❧✱ ♥♦✉s ❛✈♦♥s ❝❤♦✐s✐ ❞✬✉t✐❧✐s❡r ❧✬♦♣ér❛t❡✉r ❞é✈❡❧♦♣♣é ♣❛r ❬❆♥❞♦ ✷✵✵✵❪ ❝❛r ✐❧ ❛ été r❡❝♦♥♥✉ ♣♦✉r êtr❡ ♦♣t✐♠✉♠ à ❧✬❡①tr❛❝t✐♦♥ ❞❡ ❧❛ ♥♦r♠❡ ❡t ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts✳ ▲✬éq✉❛t✐♦♥ ✹✳✹ ♠♦♥tr❡ ❧❡ ♠❛sq✉❡ ❞❡ ❝❡t ♦♣ér❛t❡✉r 3 × 3✳ M =   −0.112737 0 0.112737 −.274526 0 .274526 −0.112737 0 0.112737   ✭✹✳✹✮ P✉✐sq✉❡ ♥♦tr❡ ♠♦t✐❢ ♣rés❡♥t❡ ✉♥ ❛①❡ ❞❡ s②♠étr✐❡✱ ♥♦✉s ♣♦✉✈♦♥s ❧✐♠✐t❡r ❧❡s ♦r✐❡♥t❛t✐♦♥s ❞❡s ❣r❛✲ ❞✐❡♥ts à ❧✬✐♥t❡r✈❛❧❧❡ [0..π]✳ ❈❡t ❡s♣❛❝❡ ❛ été ❡♥s✉✐t❡ ❞✐✈✐sé ❡♥ Nbin = 5 ✐♥t❡r✈❛❧❧❡s✱ ❡t ♣❧✉s ♣ré❝✐sé♠❡♥t✱ ♣✉✐sq✉❡ ♥♦✉s ❝❤❡r❝❤♦♥s à ❞ét❡r♠✐♥❡r ❧❛ ♣rés❡♥❝❡ ❞✉ r❛✐❧ ❞❡ ❣✉✐❞❛❣❡✱ ♥♦✉s ❛✈♦♥s ❝❤♦✐s✐ ❧❡s ✐♥t❡r✈❛❧❧❡s s✉✐✈❛♥t❡s [0 − 15; 15 − 80; 80 − 100; 100 − 165; 165 − 180]◦ ❝♦♠♠❡ ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✹✳✶✸✳ ▲❡s ✜❣✉r❡s ✹✳✶✹ ❡t ✹✳✶✺ ♥♦✉s ♠♦♥tr❡♥t ❧✬❡①tr❛❝t✐♦♥ ❞✉ ❞❡s❝r✐♣t❡✉r ❍❖● ♣♦✉r ❧❛ ♣❛rt✐❡ ❝❡♥tr❛❧❡ ❞❡s ✐♠❛❣❡s ■▼P✳ ▲❛ ✜❣✉r❡ ✹✳✶✹❜ r❡♣rés❡♥t❡ ❍❖● ❣râ❝❡ à ✉♥ ❣r❛♣❤❡ ❞❡s ✢è❝❤❡s ♣♦✉r ❝❤❛q✉❡ ❜❧♦❝✱ ♦ù ❧❛ ❞✐r❡❝t✐♦♥ ❝♦rr❡s♣♦♥❞ à ❧✬♦r✐❡♥t❛t✐♦♥ ❞❡ ❧✬✐♥t❡r✈❛❧❧❡ ❡t ❧✬❛♠♣❧✐t✉❞❡ ❛✉ rés✉❧t❛t ❞❡ ❧❛ ♥♦r♠❛❧✐s❛t✐♦♥ ❞✉ ❜❧♦❝✳ P✉✐s ✹✳✶✹❝ ♠♦♥tr❡ ❧❡ ♠ê♠❡ ❞❡s❝r✐♣t❡✉r ❞❛♥s s❛ ❢♦r♠❡ ❞✬❤✐st♦❣r❛♠♠❡s✳ ❉❛♥s ❝❡t ❡①❡♠♣❧❡✱ ♥♦✉s ♠♦♥tr♦♥s ❧❡ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖● ♣♦✉r ❊①tr❛❝t✐♦♥ ❞❡ ❍❖● 3 × 1 ❡t ✉♥❡ s❡✉❧❡ ❝❡❧❧✉❧❡ ♣❛r ❜❧♦❝✳ ◆♦✉s ♣♦✉✈♦♥s ✈♦✐r q✉❡ ❧✬❛♠♣❧✐t✉❞❡ ❞❡ ❧✬✐♥t❡r✈❛❧❧❡ ❬80◦ − 100◦ ❪ ❡st ❢❛✐❜❧❡ q✉❛♥❞ ❧❡s ✐♠❛❣❡s ♥❡ ❝♦♥t✐❡♥♥❡♥t ♣❛s ❧❡ r❛✐❧ ❝❡♥tr❛❧✱ ❛❧♦rs q✉❡ ♣♦✉r ❧❡s ✐♠❛❣❡s ■P▼ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡✱ ❧✬❛♠♣❧✐t✉❞❡ ❞❡ ❝❡t ✐♥t❡r✈❛❧❧❡ ❡st ♣❧✉s ✐♠♣♦rt❛♥t❡ q✉❡ ❧❡s ❛✉tr❡s✳✹✳✸✳ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ✽✸ ❋✐❣✉r❡ ✹✳✶✸ ✕ ■♥t❡r✈❛❧❧❡s ❞é✜♥✐s ♣♦✉r ❢♦r♠❡r ❧✬❤✐st♦❣r❛♠♠❡ ❞❡ ❍❖● ✭❛✮ ■P▼ ❞❡ ❧❛ ③♦♥❡ à ❛♥❛❧②s❡r ✭❜✮ ❍❖● ❛✈❡❝ ✢è❝❤❡s✳ ✭❝✮ ❍✐st♦❣r❛♠♠❡s ❞❡ ❍❖●✳ ✭❞✮ ■P▼ ❞❡ ❧❛ ③♦♥❡ à ❛♥❛❧②s❡r ✭❡✮ ❍❖● ❛✈❡❝ ✢è❝❤❡s ✭❢✮ ❍✐st♦❣r❛♠♠❡s ❞❡ ❍❖● ❋✐❣✉r❡ ✹✳✶✹ ✕ ❊①tr❛❝t✐♦♥ ❞❡ ❍❖● ✸ ❝♦❧♦♥♥❡s ♣♦✉r ❞❡s ✐♠❛❣❡s ■▼P s❛♥s r❛✐❧ ❞❡ ❣✉✐❞❛❣❡✳ ✭❛✮ ■P▼ ❞❡ ❧❛ ③♦♥❡ à ❛♥❛❧②s❡r ✭❜✮ ❍❖● ❛✈❡❝ ✢è❝❤❡s ✭❝✮ ❍✐st♦❣r❛♠♠❡s ❞❡ ❍❖● ✭❞✮ ■P▼ ❞❡ ❧❛ ③♦♥❡ à ❛♥❛❧②s❡r ✭❡✮ ❍❖● ❛✈❡❝ ✢è❝❤❡s ✭❢✮ ❍✐st♦❣r❛♠♠❡s ❞❡ ❍❖● ❋✐❣✉r❡ ✹✳✶✺ ✕ ❊①tr❛❝t✐♦♥ ❞❡ ❍❖● ✸ ❝♦❧♦♥♥❡s ♣♦✉r ❞❡s ✐♠❛❣❡s ■▼P ❛✈❡❝ r❛✐❧ ❞❡ ❣✉✐❞❛❣❡✳✽✹ ❈❤❛♣✐tr❡ ✹✳ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ✹✳✹ ❘és✉❧t❛ts ❞❡ ❞ét❡❝t✐♦♥ ◆♦✉s ❛✈♦♥s é✈❛❧✉é ♥♦s ❞❡s❝r✐♣t❡✉rs ❛✈❡❝ ❧❛ ❜❛s❡ ❞✬✐♠❛❣❡s ♦❜t❡♥✉❡ ❧♦rs ❞❡ ♥♦s ❡♥r❡❣✐str❡♠❡♥ts ❞❛♥s ❧✬❖r❧②❱❆▲ ❡t à ❘❡♥♥❡s✳ ❈❡tt❡ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❝♦♥t✐❡♥t ❞❡s ❡①❡♠♣❧❡s ❞❡ ❞✐✛ér❡♥ts ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ❛✉① ❛♣♣❛r❡♥❝❡s ❞✐✛ér❡♥t❡s ❡t ❞❛♥s ❞❡s s❝è♥❡s ❡t ❞❡s ❝♦♥❞✐t✐♦♥s ❞❡ ❧✉♠✐♥♦s✐té très ❞✐✈❡rs❡s ✭✈♦✐r ✜❣✉r❡ ✹✳✷✽✮✳ ▲❡ ♥♦♠❜r❡ t♦t❛❧ ❞❡s ✐♠❛❣❡s ■▼P ❡st ❞❡ 9515 ❞♦♥t 4949 s♦♥t ❞❡s ✐♠❛❣❡s ❡①tr❛✐t❡s ❞❛♥s ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡✳ P♦✉r ❧✬❛♣♣r❡♥t✐ss❛❣❡ s✉♣❡r✈✐sé ♥♦✉s ❛✈♦♥s ✉t✐❧✐sé s❡✉❧❡♠❡♥t 30✪ ❞❡ ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s✳ P♦✉r é✈❛❧✉❡r ♥♦s ❞❡s❝r✐♣t❡✉rs✱ ♥♦✉s ❛❧❧♦♥s ❧❡s t❡st❡r sé♣❛ré♠❡♥t ❡t ❡♥s❡♠❜❧❡ ❡♥ ✉t✐❧✐s❛♥t ❧❡ ❝❧❛ss✐✜❝❛t❡✉r ✓▼❛❝❤✐♥❡s à ✈❡❝t❡✉r ❞❡ s✉♣♣♦rt✔ ❛✈❡❝ ❞✐✛ér❡♥ts t②♣❡s ❞❡ ❢♦♥❝t✐♦♥s ❞❡ ❦❡r♥❡❧✳ ▲❡s rés✉❧t❛ts s❡r♦♥t ❛♥❛❧②sés ❣râ❝❡ à ❧❛ ♠❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ❡t ❧❡s ❝♦✉r❜❡s ❘❖❈✳ ✹✳✹✳✶ ▼❛❝❤✐♥❡s à ✈❡❝t❡✉rs ❞❡ s✉♣♣♦rt ✭❙❱▼✮ ▲❡s ♠❛❝❤✐♥❡s à ✈❡❝t❡✉rs ❞❡ s✉♣♣♦rt ♦✉ sé♣❛r❛t❡✉rs à ✈❛st❡ ♠❛r❣❡ ✭❡♥ ❛♥❣❧❛✐s ❙✉♣♣♦rts ❱❡❝t♦rs ▼❛❝❤✐♥❡s ❙❱▼✮✱ s♦♥t ❞❡s ❝❧❛ss✐✜❝❛t❡✉rs r❡♣♦s❛♥t s✉r ✉♥ ♣r♦❝❡ss✉s ❞✬❛♣♣r❡♥t✐ss❛❣❡ ❞é✈❡❧♦♣♣é ❞❛♥s ❧❡s ❛♥♥é❡s ✶✾✾✵ ❡t s♦♥t ❧❛r❣❡♠❡♥t ✉t✐❧✐sé❡s ❞❡♣✉✐s ♣♦✉r ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ❢♦r♠❡s✱ ❧❛ ré❣r❡ss✐♦♥ ❡t ❧✬❡st✐♠❛t✐♦♥ ❞❡ ❞❡♥s✐té✳ ▲❡ ♣r✐♥❝✐♣❡ ❞❡s ❙❱▼ ❝♦♥s✐st❡ à ❞ét❡r♠✐♥❡r ✉♥❡ ❢♦♥❝t✐♦♥ ❧✐♠✐t❡✱ sé♣❛r❛♥t ❛✉ ♠✐❡✉① ❧❡s ❞❡✉① ❝❧❛ss❡s✳ P♦✉r ♦♣t✐♠✐s❡r ❧❛ sé♣❛r❛t✐♦♥✱ ❙❱▼ ❝❤❡r❝❤❡ ❧✬❤②♣❡r♣❧❛♥ ♣♦✉r ❧❡q✉❡❧ ❧❛ ❞✐st❛♥❝❡ ❡♥tr❡ ❧❛ ❢r♦♥t✐èr❡ ❞❡s ❞❡✉① ❣r♦✉♣❡s ❡t ❧❡s ♣♦✐♥ts ❧❡s ♣❧✉s ♣r♦❝❤❡s ❡st ♠❛①✐♠❛❧❡✱ ❝✬❡st ❧❡ ♣r✐♥❝✐♣❡ ❞❡ ♠❛①✐♠✐s❛t✐♦♥ ❞❡ ❧❛ ♠❛r❣❡✳ ◆♦✉s ❛❧❧♦♥s ❞é✈❡❧♦♣♣❡r ❜r✐è✈❡♠❡♥t ❝❡s ❞✐✛ér❡♥ts ♣♦✐♥ts ❞❛♥s ❧❡s ♣❛r❛❣r❛♣❤❡s q✉✐ s✉✐✈❡♥t✳ P♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞❡ ❞♦♥♥é❡s✱ ❝♦♥s✐❞ér♦♥s ❧✬❡s♣❛❝❡ RN ❞❡s é❝❤❛♥t✐❧❧♦♥s✳ ❯♥ ♣♦✐♥t ❞❛♥s ❝❡t ❡s♣❛❝❡ s❡r❛ ♥♦té x = (x1; x2; ...; xN )✳ ❉❛♥s ❧❡ ❝❛s q✉✐ ♥♦✉s ✐♥tér❡ss❡✱ ❧❛ ❞ét❡❝t✐♦♥ ❞✉ r❛✐❧ ❝❡♥tr❛❧✱ ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❡st ❜✐♥❛✐r❡ ✿ ❧❛ ❝❧❛ss❡ ♦❜❥❡t ✭r❛✐❧ ❞❡ ❣✉✐❞❛❣❡✮ ❡t ❧❛ ❝❧❛ss❡ ♥♦♥✲♦❜❥❡t ✭♥♦♥✲r❛✐❧ ♦✉ ❡♥tr❡✲ ✈♦✐❡✮✳ P♦✉r ❞❡s ❞♦♥♥é❡s sé♣❛r❛❜❧❡s✱ ❧✬éq✉❛t✐♦♥ f ❞❡ ❧✬❤②♣❡r♣❧❛♥ q✉✐ sé♣❛r❡ ❧❡s ❝❧❛ss❡s ♣❡✉t êtr❡ é❝r✐t❡ ♣❛r ✹✳✺ ❡t ❧✬❤②♣❡r♣❧❛♥ ❡st ❝❛❧❝✉❧é ❞❡ ❢❛ç♦♥ à ♠❛①✐♠✐s❡r s❛ ♠❛r❣❡ ❛✈❡❝ ❧❡s ❞♦♥♥é❡s ❞✬❛♣♣r❡♥t✐ss❛❣❡ ♣♦s✐t✐✈❡s ❡t ♥é❣❛t✐✈❡s✳ f(x) = w T x + b ✭✹✳✺✮ ♦ù w ❡st ✉♥ ❝♦❡✣❝✐❡♥t ✈❡❝t♦r✐❡❧ ❡t b ❡st ✉♥ ❝♦❡✣❝✐❡♥t s❝❛❧❛✐r❡✳ ❈❡tt❡ ❢♦♥❝t✐♦♥ ❞é✜♥✐t✱ ✈✐❛ ❧❡ ✈❡❝t❡✉r w✱ ✉♥ ❤②♣❡r♣❧❛♥ ❞❛♥s ❧✬❡s♣❛❝❡ RN ✳ ❈❡ t②♣❡ ❞❡ ❝❧❛ss✐✜❝❛t❡✉r ❡st ❞✐t ❧✐♥é❛✐r❡✳ P❧✉s✐❡✉rs ❤②♣❡r♣❧❛♥s ❝♦♥✈✐❡♥♥❡♥t✱ ♣❛r♠✐ ❡✉①✱ ✐❧ ❡♥ ❡①✐st❡ ✉♥ ✉♥✐q✉❡ q✉✐ ♣❡r♠❡t ❞✬♦❜t❡♥✐r ✉♥❡ ♠❛r❣❡ ❞❡ sé♣❛r❛t✐♦♥ ♠❛①✐♠❛❧❡ ❡♥tr❡ ❧❡s ❞❡✉① ❝❧❛ss❡s ❞❡ ♣♦✐♥ts✳ ▲❛ ♠❛r❣❡ ❡st ❧❛ ❞✐st❛♥❝❡ ♠✐♥✐♠❛❧❡ ❡♥tr❡ ❧❛ s✉r❢❛❝❡ ❞❡ ❞é❝✐s✐♦♥ ❡t ❧❡s é❝❤❛♥t✐❧❧♦♥s xi ✭q✉✐ s♦♥t s✉♣♣♦sés êtr❡ t♦✉s ❝♦rr❡❝t❡♠❡♥t ❝❧❛ss✐✜és ♣❛r ❝❡tt❡ s✉r❢❛❝❡ ❞❡ ❞é❝✐s✐♦♥✮✳ ▲❛ ❝❧❛ss❡ ❞❡ ❝❡s é❝❤❛♥t✐❧❧♦♥s ❡st ♥♦té❡ yi ✱ ❛✈❡❝ yi ❂ ✶ s✬✐❧ s✬❛❣✐t ❞✬✉♥ ♦❜❥❡t ❡t yi ❂ ✲✶ s✐♥♦♥✳ P❛r ❛✐❧❧❡✉rs✱ ❙❱▼ ❛✉t♦r✐s❡ ❧❡s t❡❝❤♥✐q✉❡s ❞✐t❡s ❦❡r♥❡❧✲♠❡t❤♦❞s✳ ❈❡s t❡❝❤♥✐q✉❡s ✉t✐❧✐sé❡s ❞❛♥s ❧❡ ❝❛s ❞❡ ❞♦♥♥é❡s ♥♦♥✲sé♣❛r❛❜❧❡s ✭❝✬❡st✲à✲❞✐r❡ ❛✉ ❝❛s ♦ù ❧❡s é❝❤❛♥t✐❧❧♦♥s ❞♦♥♥és ❞✉r❛♥t ❧✬❛♣♣r❡♥t✐ss❛❣❡ ♥❡ ♣❡✉✈❡♥t êtr❡ sé♣❛rés ♣❛r ✉♥ ❤②♣❡r♣❧❛♥✮✱ ♣❡r♠❡tt❡♥t ❞❡ ♣r♦❥❡t❡r ❧❡s ❞♦♥♥é❡s ❞❛♥s ❞❡s ❡s♣❛❝❡s ❞❡ ❞✐♠❡♥s✐♦♥s s✉♣ér✐❡✉r❡s✱ ❞❡ ❢❛ç♦♥ ✐♠♣❧✐❝✐t❡ ✈✐❛ ✉♥❡ ❢♦♥❝t✐♦♥ ❞é✜♥✐❡ ♣❛r ✉♥ ♥♦②❛✉ ♦✉ ❦❡r♥❡❧ φ✳ ▲✬✐♠♣❧é♠❡♥t❛t✐♦♥ ❙❱▼ ❞✉ ❝❧❛ss✐✜❝❛t❡✉r ✉t✐❧✐sé ❞❛♥s ♥♦s tr❛✈❛✉① ❡st ❜❛sé❡ s✉r ❧❛ ❧✐❜r❛✐r✐❡ ▲■❇❙❱▼ ❬❈❤❛♥❣ ✫ ▲✐♥ ✷✵✶✶❪✳✹✳✹✳ ❘és✉❧t❛ts ❞❡ ❞ét❡❝t✐♦♥ ✽✺ ✹✳✹✳✷ ▼❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ❡t ❝♦✉r❜❡ ❘❖❈ ▲❛ ♠❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ❡st ✉♥ t❛❜❧❡❛✉ à ❞♦✉❜❧❡ ❡♥tré❡ ❝❛❧❝✉❧é ❡♥ ❝♦♠♣❛r❛♥t ❧❡s rés✉❧t❛ts ✐ss✉s ❞❡ ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❡t ❧❡s ❝❧❛ss❡s ❞✬❛♣♣r❡♥t✐ss❛❣❡ ❞é✜♥✐❡s✳ ❙✉r ❧❛ ❞✐❛❣♦♥❛❧❡✱ ♦♥ tr♦✉✈❡ ❞♦♥❝ ❧❡s ✈❛❧❡✉rs ❜✐❡♥ ❝❧❛ssé❡s ❡t ❤♦rs ❞❡ ❧❛ ❞✐❛❣♦♥❛❧❡ ❧❡s é❧é♠❡♥ts ♠❛❧ ❝❧❛ssés✳ ▲❡s ❝♦❧♦♥♥❡s ❞❡ ❧❛ ♠❛tr✐❝❡ r❡♣rés❡♥t❡♥t ❧❡s ❝❧❛ss❡s ❞✬❛♣♣r❡♥t✐ss❛❣❡ ✭✈ér✐té t❡rr❛✐♥✮✱ ❧❡s ❧✐❣♥❡s✱ ❧❡s ❝❧❛ss❡s ✐ss✉❡s ❞❡ ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥✳ ▲❛ s♦♠♠❡ ❞❡s ✈❛❧❡✉rs s✉r ✉♥❡ ❝♦❧♦♥♥❡ ❞♦♥♥❡ ❧❡ ♥♦♠❜r❡ ❞✬❡①❡♠♣❧❛✐r❡s t❤é♦r✐q✉❡s ❞❡ ❧❛ ❝❛té❣♦r✐❡✳ ❯♥ ❡①❡♠♣❧❡ ❞❡ ♠❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ❡st ♠♦♥tré ❞❛♥s ❧❡ t❛❜❧❡❛✉ ✹✳✶✳ ❚❛❜❧❡❛✉ ✹✳✶ ▼❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ t❤é♦r✐q✉❡ ❈♦♥❞✐t✐♦♥ P♦s✐t✐✈❡ ◆é❣❛t✐✈❡ ❚❡st P♦s✐t✐❢ ❱r❛✐ P♦s✐t✐❢ ✭❱P✮ ❋❛✉① P♦s✐t✐❢ ✭❋P✮ Pré❝✐s✐♦♥ ◆é❣❛t✐❢ ❋❛✉① ◆é❣❛t✐❢ ✭❋◆✮ ❱r❛✐ ◆é❣❛t✐❢ ✭❱◆✮ ❱❛❧❡✉r Pré❞✐❝t✐✈❡ ◆é❣❛t✐✈❡ ❙❡♥s✐❜✐❧✐té ❙♣é❝✐✜❝✐té ❊①❛❝t✐t✉❞❡ ❉✉ t❛❜❧❡❛✉ ✹✳✶✱ ♥♦✉s ❞ét❛✐❧❧♦♥s ❝❤❛❝✉♥❡ ❞❡s ✈❛r✐❛❜❧❡s st❛t✐st✐q✉❡s ♥é❝❡ss❛✐r❡s ♣♦✉r é✈❛❧✉❡r ♥♦s rés✉❧t❛ts ✿ Sensibilite´ = Rappel = V P V P + F N ✭✹✳✻✮ Specif icit ´ e´ = V N V N + F P ✭✹✳✼✮ P recision ´ = V P V P + F P ✭✹✳✽✮ V aleur P redictive Negative ´ = V N V N + F N ✭✹✳✾✮ Exactitude = V P + V N V P + F P + V N + F N ✭✹✳✶✵✮ ▲❛ s❡♥s✐❜✐❧✐té ❞✬✉♥ t❡st ♠❡s✉r❡ s❛ ❝❛♣❛❝✐té à ❞♦♥♥❡r ✉♥ rés✉❧t❛t ♣♦s✐t✐❢ ❧♦rsq✉✬✉♥❡ ❤②♣♦t❤ès❡ ❡st ✈ér✐✜é❡✳ ❊❧❧❡ s✬♦♣♣♦s❡ à ❧❛ s♣é❝✐✜❝✐té✱ q✉✐ ♠❡s✉r❡ ❧❛ ❝❛♣❛❝✐té ❞✬✉♥ t❡st à ❞♦♥♥❡r ✉♥ rés✉❧t❛t ♥é❣❛t✐❢ ❧♦rsq✉❡ ❧✬❤②♣♦t❤ès❡ ♥✬❡st ♣❛s ✈ér✐✜é❡✳ ▲❛ ✈❛❧❡✉r ♣ré❞✐❝t✐✈❡ ❞✬✉♥ t❡st ❡st ❧❛ ♣r♦❜❛❜✐❧✐té q✉✬✉♥❡ ❝♦♥❞✐t✐♦♥ s♦✐t ♣rés❡♥t❡ ❡♥ ❢♦♥❝t✐♦♥ ❞✉ rés✉❧t❛t ❞❡ ❝❡ t❡st✳ ▲❛ ✈❛❧❡✉r ♣ré❞✐❝t✐✈❡ ♣♦s✐t✐✈❡ ♦✉ ♣ré❝✐s✐♦♥ ❡st ❧❛ ♣r♦❜❛❜✐❧✐té q✉❡ ❧❛ ❝♦♥❞✐t✐♦♥ s♦✐t ♣rés❡♥t❡ ❧♦rsq✉❡ ❧❡ t❡st ❡st ♣♦s✐t✐❢✳ ▲❛ ✈❛❧❡✉r ♣ré❞✐❝t✐✈❡ ♥é❣❛t✐✈❡ ❡st ❧❛ ♣r♦❜❛❜✐❧✐té q✉❡ ❧❛ ❝♦♥❞✐t✐♦♥ ♥❡ s♦✐t ♣❛s ♣rés❡♥t❡ ❧♦rsq✉❡ ❧❡ t❡st ❡st ♥é❣❛t✐❢✳ ❋✐♥❛❧❡♠❡♥t ❧✬❡①❛❝t✐t✉❞❡ ❣❧♦❜❛❧❡ ❞✉ s②stè♠❡ r❡♣rés❡♥t❡ ❧❛ ❝❛♣❛❝✐té ❞❡ ❜✐❡♥ ❝❧❛ss✐✜❡r ❧❡s ❝❧❛ss❡s ❝❡♣❡♥❞❛♥t✱ ♣❡✉t êtr❡ ✉♥❡ ♠❡s✉r❡ ❛♠❜✐❣ü❡ s✐ ❧❡s ❝❧❛ss❡s ♥❡ s♦♥t ♣❛s ♣♦♥❞éré❡s✳ ▲❛ ❝♦✉r❜❡ ❘❖❈ ❞❡ ❧✬❛♥❣❧❛✐s ❘❡❝❡✐✈❡r ❖♣❡r❛t✐♥❣ ❈❤❛r❛❝t❡r✐st✐❝ ❬❉❡❧❛❝♦✉r ❡t ❛❧✳ ✷✵✵✺❪ ❡st ✉♥ ♦✉t✐❧ ❞✬é✈❛❧✉❛t✐♦♥ ❡t ❝♦♠♣❛r❛✐s♦♥ ❞❡s ♠♦❞è❧❡s ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ✐♥❞é♣❡♥❞❛♥ts q✉✐ ♣❡r♠❡t ❞❡ ✈✐s✉❛❧✐s❡r ❧❡s ♣❡r❢♦r♠❛♥❝❡s ❞✬✉♥ s❡✉❧ ❝♦✉♣ ❞✬÷✐❧ ❡t ♦♣ér❛t✐♦♥♥❡❧ ♠ê♠❡ ❞❛♥s ❧❡s ❝❛s ❞❡s ❞✐str✐❜✉t✐♦♥s très ❞éséq✉✐❧✐❜rés✳ ▲✬✐❞é❡ ❞❡ ❧❛ ❝♦✉r❜❡ ❘❖❈ ❡st ❞❡ ❢❛✐r❡ ✈❛r✐❡r ❧❡ ✓s❡✉✐❧✔ ❞❡ ✶ à ✵✳ P♦✉r ❝❤❛❝✉♥❡ ❞❡ ❝❡s ✈❛r✐❛t✐♦♥s✱ ♦♥ ❝❛❧❝✉❧❡ ❧❛ s❡♥s✐❜✐❧✐té ❡t ❧❛ s♣é❝✐✜❝✐té ❞❡ ❧✬❡①❛♠❡♥ ❛✉ s❡✉✐❧ ✜①é✳ ❈❤❛q✉❡ ✈❛❧❡✉r ❞✉ s❡✉✐❧ ❡st ❛ss♦❝✐é❡ à ✉♥ ❝♦✉♣❧❡ ✭❙❡♥s✐❜✐❧✐té✱ ❙♣é❝✐✜❝✐té✮ q✉❡ ❧✬♦♥ r❡♣♦rt❡ ❞❛♥s ✉♥ ❣r❛♣❤✐q✉❡ s✉r ✉♥ ♣❧❛♥ ♦rt❤♦♥♦r♠é ♦ù ❧❡s ❛❜s❝✐ss❡s ✭①✮ r❡♣rés❡♥t❡♥t ✭✶✲ ❙♣é❝✐✜❝✐té✮ ✈❛r✐❛♥t ❞❡ ✵ à ✶ ❡t ♦ù ❧❡s ♦r❞♦♥♥é❡s ✭②✮ r❡♣rés❡♥t❡♥t ✭❙❡♥s✐❜✐❧✐té✮✳ ❈❡ ❣r❛♣❤❡ t❤é♦r✐q✉❡ ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✹✳✶✻✳ ➚ ❧❛ ✈✉❡ ❞❡ ❧❛ ❝♦✉r❜❡ t❤é♦r✐q✉❡✱ ✉♥ t❡st ❛✈❡❝ ✉♥ ❢♦rt ♣♦✉✈♦✐r ❞✐s❝r✐♠✐♥❛♥t ♦❝❝✉♣❡r❛ ❧❛ ♣❛rt✐❡ s✉♣ér✐❡✉r❡ ❣❛✉❝❤❡ ❞✉ ❣r❛♣❤✐q✉❡✳ ❯♥ t❡st ❛✈❡❝ ✉♥ ♣♦✉✈♦✐r ❞✐s❝r✐♠✐♥❛♥t ♠♦✐♥s ♣✉✐ss❛♥t ♠♦♥tr❡r❛ ✉♥❡ ❝♦✉r❜❡ ❘❖❈ q✉✐ s✬❛♣❧❛t✐r❛ ✈❡rs ❧❛ ♣r❡♠✐èr❡ ❞✐❛❣♦♥❛❧❡ ❞✉ ❣r❛♣❤✐q✉❡✳✽✻ ❈❤❛♣✐tr❡ ✹✳ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ❋✐❣✉r❡ ✹✳✶✻ ✕ ❚r♦✐s s❝é♥❛r✐♦s ♣♦ss✐❜❧❡s ❞✬✉♥❡ ❝♦✉r❜❡ ❘❖❈ ❯♥ t❡st ✐❞é❛❧ ✭❆✮ ❞♦♥♥❡ ✉♥❡ sé♣❛r❛t✐♦♥ ♥❡tt❡ ❡♥tr❡ ❧❡s ❞❡✉① ❝❧❛ss❡s ♦✛r❛♥t ❛✐♥s✐ ✉♥❡ ❝♦✉r❜❡ ❘❖❈ ♣❛ss❛♥t ♣❛r ❧❡ ❝♦✐♥ s✉♣ér✐❡✉r ❣❛✉❝❤❡✳ ❯♥ t❡st s❛♥s ❛✉❝✉♥❡ ❞✐s❝r✐♠✐♥❛t✐♦♥ ✭❈✮ ❞♦♥♥❡ ✉♥❡ ❝♦✉r❜❡ ❛❧❧❛♥t ❞✉ ♣♦✐♥t ❞❡ ❝♦♦r❞♦♥♥é❡s ✭✵✱✵✮ ❛✉ ♣♦✐♥t ✭✶✱✶✮✳ ❍❛❜✐t✉❡❧❧❡♠❡♥t✱ ❧❛ ❝♦✉r❜❡ ♣❛ss❡ q✉❡❧q✉❡ ♣❛rt ❡♥tr❡ ❝❡s ❞❡✉① ❡①trê♠❡s ✭❇✮✳ ◆♦✉s ✉t✐❧✐s❡r♦♥s ❞♦♥❝ ❧❛ ❝♦✉r❜❡ ♣♦✉r ❞é❝✐❞❡r q✉❡❧ ❡st ❧❡ s❡✉✐❧ q✉✐ ♦✛r❡ ❧❡ ♠❡✐❧❧❡✉r ❝♦♠♣r♦♠✐s ❡♥tr❡ s❡♥s✐❜✐❧✐té ❡t s♣é❝✐✜❝✐té✳ ■❧ s✬❛❣✐r❛ ❞✉ s❡✉✐❧ ♦ù ❧❛ ❝♦✉r❜❡ ❘❖❈ ♠♦♥tr❡ ✉♥ ♣♦✐♥t ❞✬✐♥✢❡①✐♦♥✳ ●râ❝❡ à ❧✬❛♥❛❧②s❡ ❞❡s ❝♦✉r❜❡s ❘❖❈ ❞❡s ❞✐✛ér❡♥ts ❝❧❛ss✐✜❡✉rs✱ ♥♦✉s ♣♦✉rr♦♥s ♣♦✉r ♠❡ttr❡ ❡♥ é✈✐❞❡♥❝❡ q✉❡❧ ❡st ❧❡ t❡st q✉✐ ♣♦ssè❞❡ ❧❡ ♠❡✐❧❧❡✉r ♣♦✉✈♦✐r ❞✐s❝r✐♠✐♥❛♥t✳ ✹✳✹✳✸ ❘és✉❧t❛ts ❞✉ ❞❡s❝r✐♣t❡✉r ❜❛sé ❡♥ ❚❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ P♦✉r ❞ét❡r♠✐♥❡r ❧❛ ❝❛♣❛❝✐té ❞❡ ❞ét❡❝t✐♦♥ ❞✉ ❞❡s❝r✐♣t❡✉r ♣r♦♣♦sé✱ ♥♦✉s ❛❧❧♦♥s ❧❡ ❝♦♠♣❛r❡r ❛✈❡❝ ✉♥❡ ❝♦rré❧❛t✐♦♥ ❝r♦✐sé❡ s✐♠♣❧❡✳ ❈✬❡st✲à✲❞✐r❡✱ ♥♦tr❡ ❞❡s❝r✐♣t❡✉r D = P 3 i=1 pic− P 2 i=1 vallee´ ❡♥ ❝♦♠♣❛r❛✐s♦♥ ❛✈❡❝ ❧❛ ✈❛❧❡✉r ❞✉ ♠❛①✐♠❛❧❡ ❞❡ γ(u, v) ✭❚❡♠♣❧❛t❡ ▼❛t❝❤✐♥❣ ❝❧❛ss✐q✉❡✮✳ ▲❡ t②♣❡ ❞❡ ❝❧❛ss✐✜❡✉r ✉t✐❧✐sé ❡st ✉♥ ❙❱▼ ❧✐♥é❛✐r❡✳ ▲❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❛ été ét✐q✉❡té❡ ♠❛♥✉❡❧✲ ❧❡♠❡♥t✱ ❡t ♣♦✉r ❧✬❡♥tr❛î♥❡♠❡♥t ♥♦✉s ❛✈♦♥s ❝❤♦✐s✐ ❞✬✉t✐❧✐s❡r s❡✉❧❡♠❡♥t ✸✵ ✪ ❞❡s ✐♠❛❣❡s✳ ❈❡❧❛ ♥♦✉s ❢❛✐t ✉♥ t♦t❛❧ ❞❡ ✶✸✻✾ ✐♠❛❣❡s ❛✈❡❝ r❛✐❧ ❝❡♥tr❛❧ ❞❡ ❣✉✐❞❛❣❡ ❡t ✶✹✽✹ s❛♥s r❛✐❧ ❞❡ ❣✉✐❞❛❣❡ ♣♦✉r ❧❛ ♣❤❛s❡ ❞✬❛♣♣r❡♥t✐ss❛❣❡ ❡t ✸✹✻✹ ❡t ✸✶✾✻ ♣♦✉r ❧❛ ♣❤❛s❡ ❞❡ t❡st r❡s♣❡❝t✐✈❡♠❡♥t✳ ■❧ ét❛✐t ♣♦ss✐❜❧❡ ❞✬❛❥♦✉t❡r ❞✬❛✉tr❡s ✐♠❛❣❡s s❛♥s r❛✐❧ ❞❡ ❣✉✐❞❛❣❡✱ ♠❛✐s ❝❡❧❛ ♥✬❛ ♣❛s été ❢❛✐t ♣♦✉r éq✉✐❧✐❜r❡r ❧❡s é❝❤❛♥t✐❧❧♦♥s✳ ▲❛ ✜❣✉r❡ ✹✳✶✼ ✐❧❧✉str❡ ❧❡s ❝♦✉r❜❡s ❘❖❈ ❞❡s ❞❡✉① ❞❡s❝r✐♣t❡✉rs✳ ◆♦✉s ♣♦✉✈♦♥s ✈♦✐r q✉❡ ❧❡ ❞❡s❝r✐♣✲ t❡✉r ♣r♦♣♦sé ♣rés❡♥t❡ ❞❡s rés✉❧t❛ts ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ♠❡✐❧❧❡✉rs ❡t ❞é♣❛ss❡ ❧❡ ♣♦✉✈♦✐r ❞✐s❝r✐♠✐♥❛♥t ❞✉ s✐♠♣❧❡ ❚❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣✳ ▲❛ ♠❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ♣♦✉r ❧❡ rés✉❧t❛t ❞❡ ❧❛ s✐♠♣❧❡ ❝♦rré❧❛t✐♦♥ ❝r♦✐sé❡ ❡st ♠♦♥tré❡ ❞❛♥s ❧❡ t❛❜❧❡❛✉ ✹✳✷ ❡t ❧❛ ♠❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ♣♦✉r ♥♦tr❡ ❞❡s❝r✐♣t❡✉r ❞❛♥s ❧❛ t❛❜❧❡ ✹✳✸✳ ❚❛❜❧❡❛✉ ✹✳✷ ▼❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ♣♦✉r ❧❛ ❝♦rré❧❛t✐♦♥ ❝r♦✐sé❡ ❈♦♥❞✐t✐♦♥ P♦s✐t✐✈❡ ◆é❣❛t✐✈❡ ❚❡st P♦s✐t✐❢ ✷✼✼✵ ✹✼✼ ✵✳✽✺✸✶ ◆é❣❛t✐❢ ✻✾✹ ✷✼✶✾ ✵✳✼✾✻✼ ✵✳✼✾✾✼ ✵✳✽✺✵✽ ✵✳✽✷✹✷✹✳✹✳ ❘és✉❧t❛ts ❞❡ ❞ét❡❝t✐♦♥ ✽✼ ❋✐❣✉r❡ ✹✳✶✼ ✕ ❈♦✉r❜❡ ❘❖❈ ❝♦♠♣❛r❛t✐✈❡ ❡♥tr❡ ❧❡ ❚❡♠♣❧❛t❡ ▼❛t❝❤✐♥❣ ❡t ❧❡ ❞❡s❝r✐♣t❡✉r ♣r♦♣♦sé ▲❛ ❝♦✉r❜❡ ❜❧❡✉❡ ré♣r❡s❡♥t❡ ❧❛ ❘❖❈ ♣♦✉r ❧✬✉t✐❧✐s❛t✐♦♥ ❞✉ ❚❡♠♣❧❛t❡ ▼❛t❝❤✐♥❣ ❝❧❛ss✐q✉❡✱ ❡t ❧❛ ❝♦✉r❜❡ r♦✉❣❡ r❡♣rés❡♥t❡ ❧❛ ❘❖❈ ♣♦✉r ❧❡ ❞❡s❝r✐♣t❡✉r ♣r♦♣♦sé ❚❛❜❧❡❛✉ ✹✳✸ ▼❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ♣♦✉r ❧❡ ❞❡s❝r✐♣t❡✉r ♣r♦♣♦sé ❈♦♥❞✐t✐♦♥ P♦s✐t✐✈❡ ◆é❣❛t✐✈❡ ❚❡st P♦s✐t✐❢ ✸✵✵✷ ✸✺✽ ✵✳✽✾✸✺ ◆é❣❛t✐❢ ✹✻✷ ✷✽✸✽ ✵✳✽✻ ✵✳✽✻✻✻ ✵✳✽✽✽ ✵✳✽✼✻✾ ✹✳✹✳✹ ❘és✉❧t❛ts ♦❜t❡♥✉s ❛✈❡❝ ❍❖● P♦✉r ❧❡ ❞❡s❝r✐♣t❡✉r ❍❖●✱ ♥♦✉s ❛✈♦♥s ré❛❧✐sé ❞✐✛ér❡♥ts t❡sts ♣♦✉r ♣♦✉✈♦✐r ❞ét❡r♠✐♥❡r ❧❡ ♠❡✐❧❧❡✉r ♥♦♠❜r❡ ❞❡s ❜❧♦❝s ❞❡ ❍❖●✳ ❱✉ q✉❡ ♥♦✉s ❝❤❡r❝❤♦♥s à ❝❛r❛❝tér✐s❡r ❧❡ r❛✐❧ ❝❡♥tr❛❧ ❞❡ ❣✉✐❞❛❣❡✱ ❧❡ ♥♦♠❜r❡ ❞❡s ❧✐❣♥❡s ❡t ❝♦❧♦♥♥❡s ❞❡ ❍❖● ❛ ✈❛r✐é ❡♥tr❡ ✶ ❡t ✸✳ ▲❛ ✜❣✉r❡ ✹✳✶✽ ♠♦♥tr❡ ✉♥ ③♦♦♠ ❞❡ ❧❛ ❝♦✉r❜❡ ❘❖❈ ♣♦✉r ❧❡s ❞✐✛ér❡♥t❡s ❝♦♠❜✐♥❛✐s♦♥s ❞❡ ❧✐❣♥❡s ❡t ❝♦❧♦♥♥❡s✳ ▲❡s tr♦✐s ❝♦♠♣♦s✐t✐♦♥s ❞❡s ❜❧♦❝s ✭❝♦❧♦♥♥❡ × ❧✐❣♥❡✮ q✉✐ ❞♦♥♥❡♥t ❧❡s ♠❡✐❧❧❡✉rs rés✉❧t❛ts s♦♥t 3 × 1✱ 3 × 2 ❡t 3 × 3✳ ➱t❛♥t ❞♦♥♥é q✉❡ ❧❛ t❛✐❧❧❡ ❞✉ ❞❡s❝r✐♣t❡✉r ❛✉❣♠❡♥t❡ ❛✈❡❝ ❧❡ ♥♦♠❜r❡ ❞❡ ❜❧♦❝s✱ ❡t q✉❡ ❧❡s rés✉❧t❛ts ♦❜t❡♥✉s s♦♥t s❡♠❜❧❛❜❧❡s ♣♦✉r ❞✐✛ér❡♥ts ❞❡s❝r✐♣t❡✉rs✱ ♦♥ r❡t✐❡♥❞r❛ ❧❡ ❞❡s❝r✐♣t❡✉r ❧❡ ♣❧✉s s✐♠♣❧❡✳ ▲❡s rés✉❧t❛ts ❞❡ ❞ét❡❝t✐♦♥ ♣♦✉r ❧❡s ❞❡s❝r✐♣t❡✉rs ❍❖● 3×1 ❡t 3×2 s♦♥t ♠♦♥trés ❞❛♥s ❧❡s ♠❛tr✐❝❡s ❞❡ ❝♦♥❢✉s✐♦♥ ✹✳✹ ❡t ✹✳✺ r❡s♣❡❝t✐✈❡♠❡♥t✳ ▲❡ s❡✉✐❧ ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ✉t✐❧✐sé ❡st ❝❡❧✉✐ q✉✐ ♣♦rt❡ ❧❡ ♠❡✐❧❧❡✉r ❝♦♠♣r♦♠✐s ❡♥tr❡ s❡♥s✐❜✐❧✐té ❡t s♣é❝✐✜❝✐té ❞ét❡r♠✐♥é à ♣❛rt✐r ❞❡s ❝♦✉r❜❡s ❘❖❈✳ ❚❛❜❧❡❛✉ ✹✳✹ ▼❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ♣♦✉r ❧❡ ❞❡s❝r✐♣t❡✉r ❍❖● 3 × 1 ❈♦♥❞✐t✐♦♥ P♦s✐t✐✈❡ ◆é❣❛t✐✈❡ ❚❡st P♦s✐t✐❢ ✸✸✷✾ ✶✵✽ ✵✳✾✻✽✻ ◆é❣❛t✐❢ ✶✸✺ ✸✵✽✽ ✵✳✾✺✽✶ ✵✳✾✻✶✵ ✵✳✾✻✻✷ ✵✳✾✻✸✺✽✽ ❈❤❛♣✐tr❡ ✹✳ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ❋✐❣✉r❡ ✹✳✶✽ ✕ ❈♦✉r❜❡s ❘❖❈ ❞❡ ❞ét❡❝t✐♦♥ ♣♦✉r ❞✐✛ér❡♥ts ❞❡s❝r✐♣t❡✉rs ❍❖●✳ ❊♥ ❢♦♥❝t✐♦♥s ❞✉ ♥♦♠❜r❡ ❞❡ ❜❧♦❝s ❡t ❧❡✉r ❞✐s♣♦s✐t✐♦♥✱ ❧❡ ♣♦✉✈♦✐r ❞✐s❝r✐♠✐♥❛t♦✐r❡ ❞❡ ❍❖● ✈❛r✐❡✳ ▲❡s ♠❡✐❧❧❡✉r❡s ❝♦♠❜✐♥❛✐s♦♥s s♦♥t 3 × 1✱ 3 × 2 ❡t 3 × 3 ❚❛❜❧❡❛✉ ✹✳✺ ▼❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ♣♦✉r ❍❖● 3 × 2 ❈♦♥❞✐t✐♦♥ P♦s✐t✐✈❡ ◆é❣❛t✐✈❡ ❚❡st P♦s✐t✐❢ ✸✸✸✸ ✶✵✻ ✵✳✾✻✾✷ ◆é❣❛t✐❢ ✶✸✶ ✸✵✾✵ ✵✳✾✺✾✸ ✵✳✾✻✷✷ ✵✳✾✻✻✽ ✵✳✾✻✹✹ ❈❡rt❛✐♥s ❞❡s ❢❛✉① ♥é❣❛t✐❢s s❡ ♣r♦❞✉✐s❡♥t ❛✉ ♠✐❧✐❡✉ ❞❡ ❧✬❛♣♣❛r❡✐❧❧❛❣❡ ❞❡ ✈♦✐❡✱ q✉❛♥❞ ❧❡s r❛✐❧s tr❛✈❡rs❡♥t ❧❡ ❝❡♥tr❡ ❞❡ ❧✬❛✐❣✉✐❧❧❡✳ ❈❡❝✐ ❡①♣❧✐q✉❡ q✉❡ ❧❡ rés✉❧t❛t ❞✉ t❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ s♦✐t ♣❧✉s ❢❛✐❜❧❡ ❡t ❡♥ ♠ê♠❡ t❡♠♣s ❧❡s ❜♦r❞s ❞❡s r❛✐❧s ❢♦♥t ✈❛r✐❡r ❧❡s ♦r✐❡♥t❛t✐♦♥s ❞✉ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖●✳ ▲❛ ✜❣✉r❡ ✹✳✶✾ ♠♦♥tr❡ ❞❡s ❡①❡♠♣❧❡s ❞❡s ❡rr❡✉rs ❞❡ ❞ét❡❝t✐♦♥✳ ❈❡♣❡♥❞❛♥t✱ ❧❛ ♣❧✉♣❛rt ❞❡s ❢❛✉① ♣♦s✐t✐❢s s♦♥t ✐s♦❧és✱ ❝❡ q✉✐ ❧❡s r❡♥❞ ❢❛❝✐❧❡s à ❞ét❡❝t❡r✳ ❯♥ s✐♠♣❧❡ ✜❧tr❛❣❡ ❞❛♥s ❧❡ t❡♠♣s ♣❡r♠❡ttr❛ ❧❡s s✉♣♣r✐♠❡r✳ ❆✉ss✐✱ ♥♦✉s ❛✈♦♥s ét✐q✉❡té ❧❡s ✐♠❛❣❡s ❝♦♥t❡♥❛♥t ❧❡ r❛✐❧ ❞❡ ❣✉✐❞❛❣❡ ❡♥ st❛t✐♦♥ ❝♦♠♠❡ ♥é❣❛t✐❢s✳ ❚♦✉t❡❢♦✐s✱ ❧❡ s②stè♠❡ ❧❡ ❞ét❡❝t❡ ❝♦♠♠❡ ✉♥ r❛✐❧✱ ❝❡ q✉✐ ♣r♦❞✉✐t ❞❡ ♥♦♠❜r❡✉① ❢❛✉① ♣♦s✐t✐❢s✳ ❯♥ ❡①❡♠♣❧❡ ❞❡ ❝❡ t②♣❡ ❞❡ ❢❛✉① ♣♦s✐t✐❢ ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✹✳✶✾❛✳ ❈❡ t②♣❡ ❞❡ ❢❛✉① ♣♦s✐t✐❢ ❡st ✉♥ ❝❛s à tr❛✐t❡r à ♣❛rt✱ s♦✐t ❡♥ ✉t✐❧✐s❛♥t ❧❛ ❧♦❝❛❧✐s❛t✐♦♥✱ s♦✐t ❡♥ r❡❝❤❡r❝❤❛♥t ❧❛ ♣rés❡♥❝❡ ❞✬✉♥ q✉❛✐✳ ❊♥ r❡✈❛♥❝❤❡✱ ❧❡ s❡✉✐❧ ❞❡ ♣r♦❜❛❜✐❧✐té ❞✉ ❝❧❛ss✐✜❡✉r ❙❱▼ ♣❡✉t êtr❡ ♣♦s✐t✐♦♥♥é ♣♦✉r ❛✈♦✐r ✉♥ r❛♣♣❡❧ ❞❡ ✶✵✵ ✪ ❛✉ ❞étr✐♠❡♥t ❞❡ ❧❛ ♣ré❝✐s✐♦♥ ❡t ❧❡ s②stè♠❡ ❢♦✉r♥✐r❛ ❡♥ ❣✉✐s❡ ❞❡ ré♣♦♥s❡ ❞❡s ♥♦♠❜r❡✉s❡s ❞ét❡❝t✐♦♥s ❡rr♦♥é❡s ❡♥ ♣❧✉s ❞❡ ❝❡❧❧❡s ♣❡rt✐♥❡♥t❡s✱ ✐❧ s❡r❛ ❞♦♥❝ ❞✐✣❝✐❧❡♠❡♥t ❡①♣❧♦✐t❛❜❧❡✳ ❈❡♣❡♥❞❛♥t✱ ❣râ❝❡ à ✉♥ ✜❧tr❛❣❡ t❡♠♣♦r❡❧✱ ♦✉ ♠ê♠❡ ❧✬✉s❛❣❡ ❞❡ ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ♦✉ ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❢❡✉① ❞❡ s✐❣♥❛❧✐s❛t✐♦♥ ♣❡r♠❡ttr❛ ❞❡ ré❛❧✐s❡r ✉♥❡ s✉♣♣r❡ss✐♦♥ ❞❡s ❢❛✉① ♣♦s✐t✐❢s ❡t ♣❛r ❝♦♥séq✉❡♥t ❛✉❣♠❡♥t❡r ❧❛ ♣ré❝✐s✐♦♥✳ ❚♦✉s ❧❡s ❝r♦✐s❡♠❡♥ts s♦♥t éq✉✐♣és ❞❡s ❢❡✉① ❞❡ s✐❣♥❛❧✐s❛t✐♦♥✱ ❞♦♥❝ ✉♥❡ ❝♦♠❜✐♥❛✐s♦♥ ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❢❡✉① s❡♠❜❧❡ ❝♦❤ér❡♥t ♣♦✉r ❛♠é❧✐♦r❡r ❧❡ t❛✉① ❞❡ ❞ét❡❝t✐♦♥ ❞❡s ❝r♦✐ss❡♠❡♥ts ❯♥ ❞❡r♥✐❡r t❡st ❛ été ré❛❧✐sé ❡♥ ❝♦♠❜✐♥❛♥t ❧❡s ❞❡✉① ❞❡s❝r✐♣t❡✉rs ❬❙♦♥❣ ❡t ❛❧✳ ✷✵✵✽❜❪ ♠❛✐s ❝♦♠♠❡ ❧❡ ♠♦♥tr❡ ❧❛ ✜❣✉r❡ ✹✳✷✵✱ ❧❡s rés✉❧t❛ts ♦❜t❡♥✉s ♥❡ s❡♠❜❧❡♥t ♣❛s ❜❡❛✉❝♦✉♣ ♣❧✉s ❡✣❝❛❝❡s q✉❡ ❍❖●✳ ❈❡❧❛ ❝♦♥✜r♠❡ q✉❡ ❧✬❛♣♣❛r❡♥❝❡ ❡t ❧❛ ❢♦r♠❡ ❧♦❝❛❧❡ ❞✬✉♥ ♦❜❥❡t ❞❛♥s ✉♥❡ ✐♠❛❣❡ ♣❡✉✈❡♥t êtr❡ ❞é❝r✐t❡s✹✳✺✳ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞✉ t②♣❡ ❞✬❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ✽✾ ✭❛✮ ❋❛✉① ♣♦s✐t✐❢ ❞❡ ❞ét❡❝t✐♦♥✳ ✭❜✮ ❋❛✉① ♥é❣❛t✐❢ ❞❡ ❞ét❡❝t✐♦♥✳ ❋✐❣✉r❡ ✹✳✶✾ ✕ ❊rr❡✉rs ❞❡ ❞ét❡❝t✐♦♥ ❞✬❛✐❣✉✐❧❧❡ ♣❛r ❧❛ ❞✐str✐❜✉t✐♦♥ ❞❡ ❧✬✐♥t❡♥s✐té ❞✉ ❣r❛❞✐❡♥t ♦✉ ❧❛ ❞✐r❡❝t✐♦♥ ❞❡s ❝♦♥t♦✉rs✳ ✭❛✮ ❘❖❈ ❝♦♠♣❛r❛t✐✈❡ ❞❡ t❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣✱ ❍❖● 3 × 1✱ ❡t ❧❡✉r ❝♦♠❜✐♥❛✐s♦♥✳ ✭❜✮ ❩♦♦♠ ❞❡ ❧❛ ✜❣✉r❡ ✭❛✮✳ ❋✐❣✉r❡ ✹✳✷✵ ✕ ➱✈❛❧✉❛t✐♦♥ ❞❡ ❧✬❛♣♣♦rt s✐♠✉❧t❛♥é ❞❡s ❞❡✉① ❞❡s❝r✐♣t❡✉rs✳ ▲❡s tr❛✈❛✉① ré❛❧✐sés ❞❛♥s ❝❡ ❞♦♠❛✐♥❡ ♦♥t ❞♦♥♥é ❧✐❡✉ à ✉♥❡ ♣✉❜❧✐❝❛t✐♦♥ ✐♥t❡r♥❛t✐♦♥❛❧❡ ❞❛♥s ■❊❊❊ ■❈■❘❚ ✷✵✶✸ ■♥t❡r♥❛t✐♦♥❛❧ ■❊❊❊ ❈♦♥❢❡r❡♥❝❡ ♦♥ ■♥t❡❧❧✐❣❡♥t ❘❛✐❧ ❚r❛♥s♣♦rt❛t✐♦♥ ✐♥t✐t✉❧é ❘❛✐❧ ❛♥❞ ❚✉r♥♦✉t ❞❡t❡❝t✐♦♥ ✉s✐♥❣ ❣r❛❞✐❡♥t ✐♥❢♦r♠❛t✐♦♥ ❛♥❞ t❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ ✭✈♦✐r ❆♥♥❡①❡ ❆✳✷✮✳ ✹✳✺ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞✉ t②♣❡ ❞✬❛♣♣❛✲ r❡✐❧ ❞❡ ✈♦✐❡ P♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞✉ t②♣❡ ❞✬❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡✱ ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❡st ❧❛ ♠ê♠❡ q✉❡ ♣ré❝é❞❡♠✲ ♠❡♥t✱ ♣❛r ❝♦♥tr❡✱ ❝❡tt❡ ❢♦✐s✲❝✐✱ s❡✉❧❡s ❧❡s ✐♠❛❣❡s ❝♦♥t❡♥❛♥t ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ♦♥t été ❣❛r❞é❡s✳ ▲❡s ❞✐✛ér❡♥ts t②♣❡s ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ♣rés❡♥ts ❞❛♥s ❧❡s s②stè♠❡s ❱❆▲✱ ♣❡✉✈❡♥t êtr❡ ré❞✉✐ts à ✺ ❝❧❛ss❡s✳ ❉❡✉① ❞✐✈❡r❣❡♥ts✱ ❞❡✉① ❝♦♥✈❡r❣❡♥ts ❡t ✉♥ ♣♦✉r ❧✬❛rr✐✈é❡ ❡t s♦rt✐❡ ❞❡ ❧✬❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡✳ ▲❡ ♥♦♠❜r❡ t♦t❛❧ ❞❡s ✐♠❛❣❡s ■▼P ❛✈❡❝ ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ❡st ❞❡ ✹✾✹✾ ♦ù ✷✶✼✾ s♦♥t ❞❡ ❧❛ ❝❧❛ss❡ ✶✱ ✶✶✵✵ s♦♥t ❞❡ ❧❛ ❝❧❛ss❡ ✷✱ ✸✹✹ s♦♥t ❞❡ ❧❛ ❝❧❛ss❡ ✸✱ ✼✸✵ s♦♥t ❞❡ ❧❛ ❝❧❛ss❡ ✹ ❡t ✺✾✻ s♦♥t ❞❡ ❧❛ ❝❧❛ss❡ ✺✳ ❱✉ ❧❡ ❢❛✐❜❧❡ ♥♦♠❜r❡ ❞✬é❝❤❛♥t✐❧❧♦♥s✱ ♣♦✉r ❧✬❛♣♣r❡♥t✐ss❛❣❡ s✉♣❡r✈✐sé ♥♦✉s ❛✈♦♥s ✉t✐❧✐sé s❡✉❧❡♠❡♥t ✸✵✪ ❞❡ ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ♣♦✉r ❝❤❛q✉❡ ❝❧❛ss❡✱ ❝❡❝✐ ♣♦✉r é✈✐t❡r ✉♥ s✉r❡♥tr❛î♥❡♠❡♥t ✭❧❡ ♠♦❞è❧❡ ❝♦❧❧❡ ♣❛r❢❛✐t❡♠❡♥t ❛✉① ❞♦♥♥é❡s✮ ❡t ✉♥ ❞étr✐♠❡♥t ❞❡s ♣ré❝✐s✐♦♥s ❢✉t✉r❡s✳✾✵ ❈❤❛♣✐tr❡ ✹✳ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ❋✐❣✉r❡ ✹✳✷✶ ✕ ■♠❛❣❡s ■P▼ ♣♦✉r ❧❡s ✺ ❝❧❛ss❡s ❞✬❛✐❣✉✐❧❧❛❣❡ ✹✳✺✳✶ ❙❱▼ ♠✉❧t✐✲❝❧❛ss❡ ➚ ❧✬♦r✐❣✐♥❡✱ ❧❡s ❙❱▼s ♦♥t été ❝♦♥ç✉s ❡ss❡♥t✐❡❧❧❡♠❡♥t ♣♦✉r ❧❛ sé♣❛r❛t✐♦♥ ❞❡ 2 ❝❧❛ss❡s✳ ❈❡♣❡♥✲ ❞❛♥t✱ ♣❧✉s✐❡✉rs ❛♣♣r♦❝❤❡s ♣❡r♠❡tt❡♥t ❞✬ét❡♥❞r❡ ❝❡t ❛❧❣♦r✐t❤♠❡ ❛✉① ❝❛s ❞❡ ♣❧✉s✐❡✉rs ❝❧❛ss❡s✳ ❈❡s s❝❤é♠❛s s♦♥t ❛♣♣❧✐❝❛❜❧❡s à t♦✉t ❝❧❛ss✐✜❝❛t❡✉r ❜✐♥❛✐r❡✱ ❡t ♥❡ s♦♥t ❞♦♥❝ ♣❛s s♣é❝✐✜q✉❡s ❞❡s ❙❱▼ ❬❍s✉ ✫ ▲✐♥ ✷✵✵✷❪✳ ❯♥ ❈♦♥tr❡ ❚♦✉s ✭✶✈s❆ ✿ ❖♥❡ ✈❡rs✉s ❆❧❧✮ P♦✉r ❝❤❛q✉❡ ❝❧❛ss❡✱ ✐❧ ❢❛✉t ❞ét❡r♠✐♥❡r ✉♥ ❤②♣❡r♣❧❛♥ sé♣❛r❛♥t ❝❡❧❧❡✲❝✐ ❞❡ t♦✉t❡s ❧❡s ❛✉tr❡s ❝❧❛ss❡s✳ ❆✐♥s✐✱ ♣♦✉r ▼ ❝❧❛ss❡s✱ ❧❡ ♥♦♠❜r❡ t♦t❛❧ ❞❡ ❢♦♥❝t✐♦♥s ❞❡ ❞é❝✐s✐♦♥ ❡st M✳ P♦✉r ❝❤❛q✉❡ ❢♦♥❝t✐♦♥ ❞❡ ❞é❝✐s✐♦♥✱ t♦✉s ❧❡s ❡①❡♠♣❧❡s ❛♣♣❛rt❡♥❛♥t à ❧❛ ❝❧❛ss❡ ❝♦♥s✐❞éré❡ s♦♥t ét✐q✉❡tés ♣♦s✐t✐✈❡♠❡♥t ✭✰✶✮ ❡t t♦✉s ❧❡s ❡①❡♠♣❧❡s ♥✬❛♣♣❛rt❡♥❛♥t ♣❛s à ❧❛ ❝❧❛ss❡ s♦♥t ét✐q✉❡tés ♥é❣❛✲ t✐✈❡♠❡♥t ✭✲✶✮✳ ❊♥ ♣❤❛s❡ ❞❡ t❡st✱ ❧❡ ❝❧❛ss✐✜❝❛t❡✉r ❞♦♥♥❛♥t ❧❛ ✈❛❧❡✉r ❞❡ ❝♦♥✜❛♥❝❡ ✭❡✳❣ ❧❛ ♠❛r❣❡✮ ❧❛ ♣❧✉s é❧❡✈é❡ r❡♠♣♦rt❡ ❧❡ ✈♦t❡✳ ❆✐♥s✐✱ ♣♦✉r ❝❤❛q✉❡ ❡①❡♠♣❧❡ ❞❡ t❡st✱ M ✈❛❧❡✉rs ❞❡ s♦rt✐❡ f i(x) ❛✈❡❝ (i = 1, ...M) s♦♥t ❞✐s♣♦♥✐❜❧❡s✳ ❯♥ ❝♦♥tr❡ ✉♥ ✭✶✈s✶ ✿ ❖♥❡ ✈❡rs✉s ❖♥❡✮ P♦✉r ❝❡tt❡ ❞❡✉①✐è♠❡ ♠ét❤♦❞❡✱ ❛✉ ❧✐❡✉ ❞✬❛♣♣r❡♥❞r❡ M ❢♦♥❝t✐♦♥s ❞❡ ❞é❝✐s✐♦♥s ♣♦✉r ❞✐✛ér❡♥❝✐❡r ❧❡s ❝❧❛ss❡s✱ ✐❝✐ ❝❤❛q✉❡ ❝❧❛ss❡ ❡st ❞✐s❝r✐♠✐♥é❡ ❞✬✉♥❡ ❛✉tr❡✳ ❆✐♥s✐ M(M − 1) 2 ❢♦♥❝t✐♦♥s ❞❡ ❞é❝✐s✐♦♥s s♦♥t ♥é❝❡ss❛✐r❡s ❡t ❝❤❛❝✉♥❡ ❞✬❡♥tr❡ ❡❧❧❡s ❡✛❡❝t✉❡ ✉♥ ✈♦t❡ ♣♦✉r ❧✬❛✛❡❝t❛t✐♦♥ ❞✬✉♥ ♥♦✉✈❡❛✉ ♣♦✐♥t x✳ P♦✉r ❝❤❛q✉❡ ❢♦♥❝t✐♦♥ ❞❡ ❞é❝✐s✐♦♥✱ ❞❡✉① ❝❧❛ss❡s s♦♥t ❝♦♠♣❛ré❡s✳ ❚♦✉s ❧❡s ❡①❡♠♣❧❡s ❛♣♣❛rt❡♥❛♥t à ❧❛ ❝❧❛ss❡ ❝♦♥s✐❞éré❡ s♦♥t ét✐q✉❡tés ♣♦s✐t✐✈❡♠❡♥t ✭✰✶✮ ❡t t♦✉s ❧❡s ❡①❡♠♣❧❡s ❛♣♣❛rt❡♥❛♥t à ❧✬❛✉tr❡ ❝❧❛ss❡ s♦♥t ét✐q✉❡tés ♥é❣❛t✐✈❡♠❡♥t ✭✲✶✮✳ ❊♥ ♣❤❛s❡ ❞❡ t❡st✱ ❧✬é❝❤❛♥t✐❧❧♦♥ à ❝❧❛ss❡r ❡st ❛♥❛❧②sé ♣❛r ❝❤❛q✉❡ ❝❧❛ss✐✜❝❛t❡✉r ❡t ✉♥ ✈♦t❡ ♠❛❥♦r✐t❛✐r❡ ♣❡r♠❡t ❞❡ ❞ét❡r♠✐♥❡r s❛ ❝❧❛ss❡✳ ✹✳✺✳✷ ❉❡s❝r✐♣t❡✉r ♣r♦♣♦sé ✿ ❍❖● P✉✐sq✉❡ ❧❡ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖● ❡st ❝❛r❛❝tér✐sé ♣❛r s❛ ❣r❛♥❞❡ ❝❛♣❛❝✐té à ❞✐s❝r✐♠✐♥❡r ❧❡s ❢♦r♠❡s✱ ❡♥ ♣❛rt✐❝✉❧✐❡r ❧❡s ♣✐ét♦♥s ❬❉❛❧❛❧ ✫ ❚r✐❣❣s ✷✵✵✺❪ ❡t ❧❡s ♣❛♥♥❡❛✉① r♦✉t✐❡rs ❬❩❛❦❧♦✉t❛ ❡t ❛❧✳ ✷✵✶✶❪✱ ♥♦✉s ❛✈♦♥s ❞é❝✐❞é ❞✬✉t✐❧✐s❡r ❝❡ ❞❡s❝r✐♣t❡✉r ♣♦✉r ré❛❧✐s❡r ♥♦tr❡ ❝❧❛ss✐✜❝❛t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡✳✹✳✺✳ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞✉ t②♣❡ ❞✬❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ✾✶ ❚❡sts ré❛❧✐sés ❛✈❡❝ P②r❛♠✐❞❡ ❞✬❍✐st♦❣r❛♠♠❡s ♦r✐❡♥tés ❞❡ ●r❛❞✐❡♥ts ✭P❍❖●✮ ❬❇♦s❝❤ ❡t ❛❧✳ ✷✵✵✼❪ ♥♦✉s ♣rés❡♥t❡ ✉♥❡ ✈❛r✐❛♥t❡ ❞❡ ❍❖●✱ ❧❡ P❍❖● ✭❞❡ ❧✬❛♥❣❧❛✐s P②r❛♠✐❞ ♦❢ ❍✐s✲ t♦❣r❛♠s ♦❢ ❖r✐❡♥t❡❞ ●r❛❞✐❡♥ts✳ ❈❡ ❞❡s❝r✐♣t❡✉r ❡st ♣rés❡♥té ❝♦♠♠❡ ♣❧✉s ♣ré❝✐s q✉❡ ❧❡ ❍❖● ♣✉✐sq✉✬✐❧ ❧✉✐ ❛♣♣♦rt❡ ✉♥ ❛s♣❡❝t s♣❛t✐❛❧ s✉♣♣❧é♠❡♥t❛✐r❡✱ ❧✬♦❜t❡♥t✐♦♥ ❞❡s ❍❖● à ❞✐✛ér❡♥t❡s é❝❤❡❧❧❡s✳ ▲❛ ✜❣✉r❡ ✹✳✷✷ ♠♦♥tr❡ ❧❡ ❝❛❧❝✉❧ ❞✉ P❍❖● s✉r ❧❡s ❞✐✛ér❡♥ts ♥✐✈❡❛✉① ❞❡ ❞é❝♦♠♣♦s✐t✐♦♥✱ ❡♥ ♣❛rt✐❝✉❧✐❡r ♣♦✉r ❧❡ ♥✐✈❡❛✉ ❞❡ ❞é❝♦♠♣♦s✐t✐♦♥ L = 2✳ ❉❡ ♣❧✉s✱ s❡❧♦♥ s♦♥ ❝ré❛t❡✉r ❬❇♦s❝❤ ❡t ❛❧✳ ✷✵✵✼❪✱ P❍❖● ♠♦♥tr❡ ❞❡ très ❜♦♥s rés✉❧t❛ts ❞❡ r❡❝♦♥♥❛✐s✲ s❛♥❝❡ ❞❡s ❢♦r♠❡s✳ ❙♦♥ ❡✣❝❛❝✐té ❛ été ♣r♦✉✈é ❞❛♥s ❧❡s tr❛✈❛✉① ❞❡ ❬P✉t❤♦♥ ✷✵✶✸❪ ♣♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞❡s ♣❛♥♦♥❝❡❛✉① r♦✉t✐❡rs ❡♥ ✹ ❣r♦✉♣❡s ✿ ✓❚❡①t❡✔ ✓❋❧è❝❤❡✔ ✓P✐❝t♦❣r❛♠♠❡✔ ❡t ✓▼✐①t❡✔✳ ▲✬♦❜t❡♥t✐♦♥ ❞❡ P❍❖● ♣❡✉t êtr❡ ❞é❝r✐t❡ ❝♦♠♠❡ s✉✐t ✿ ❆✉ ♥✐✈❡❛✉ l✱ ❧✬✐♠❛❣❡ ❡st s✉❜❞✐✈✐sé❡ ❡♥ 4 l s♦✉s✲ré❣✐♦♥s✳ ❉❛♥s ❝❤❛❝✉♥❡ ❞✬❡❧❧❡✱ ❧✬✐♠❛❣❡ ❞❡s ❝♦♥t♦✉rs ❡st s②♥t❤ét✐sé❡ ❡♥ ✉♥ ❤✐st♦❣r❛♠♠❡ ❞❡ ❞❡ B ✐♥t❡r✈❛❧❧❡s ❞✬♦r✐❡♥t❛t✐♦♥ ❞❡ ❣r❛❞✐❡♥ts ♣♦♥❞érés ♣❛r ❧❡✉r ❛♠♣❧✐t✉❞❡✳ ❈❡s ✐♥t❡r✈❛❧❧❡s s♦♥t ❞é✜♥✐s ❞❡ ❧❛ ♠ê♠❡ ❢❛ç♦♥ q✉❡ ♣♦✉r ❍❖●✱ B ❝♦♥t❡♥❡✉rs ♣♦✉r ❞❡s ❣r❛❞✐❡♥ts s✐❣♥és ♦✉ ♥♦♥ s✐❣♥és✳ ▲❡ ❞❡s❝r✐♣t❡✉r ❣❧♦❜❛❧ ❝♦rr❡s♣♦♥❞ à ❧❛ ❝♦♥❝❛té♥❛t✐♦♥ ❞❡s ✈❡❝t❡✉rs ♦❜t❡♥✉s ♣♦✉r ❝❤❛q✉❡ ♥✐✈❡❛✉✱ s♦✐t ✉♥❡ ❞✐♠❡♥s✐♦♥ t♦t❛❧❡ B P l∈L 4 l ✳ ❊♥✜♥✱ ✉♥❡ ♥♦r♠❛❧✐s❛t✐♦♥ ❡st ❡✛❡❝t✉é❡ s✉r ❧❡ ✈❡❝t❡✉r ❝♦♠♣❧❡t✳ ❈♦♥tr❛✐r❡♠❡♥t à ❧✬❛♣♣r♦❝❤❡ ♣r♦♣♦sé❡ ♣❛r ❬❉❛❧❛❧ ✫ ❚r✐❣❣s ✷✵✵✺❪ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ♣✐ét♦♥s✱ ✐❧ ♥✬② ❛ ♣❛s ❞❡ r❡❝♦✉✈r❡♠❡♥t ❞❡s ❜❧♦❝s✱ ♥✐ ❞❡ ♣❛rt✐t✐♦♥♥❡♠❡♥t ♣❧✉s ✜♥ ❡♥ ❝❡❧❧✉❧❡s ♥✐ ❞❡ ♥♦r♠❛❧✐s❛t✐♦♥ ♣❛r ❜❧♦❝s✳ ✭❛✮ ❧❂✵ ✭❜✮ ❧❂✶ ✭❝✮ ❧❂✷ ✭❞✮ ❍✐st♦❣r❛♠♠❡ ♣♦✉r ❧❂✵ ✭❡✮ ❍✐st♦❣r❛♠♠❡ ♣♦✉r ❧❂✶ ✭❢✮ ❍✐st♦❣r❛♠♠❡ ♣♦✉r ❧❂✷ ❋✐❣✉r❡ ✹✳✷✷ ✕ ●é♥ér❛t✐♦♥ ❞✬✉♥ P❍❖● ♣♦✉r ✉♥❡ ✐♠❛❣❡✳ B = 8✱ L = 3✳ ➚ ❝❤❛q✉❡ ♥✐✈❡❛✉ l✱ ❧✬✐♠❛❣❡ ❡st ❞é❝♦♠♣♦sé❡ ❡♥ 4 s♦✉s✲ré❣✐♦♥s ♣♦✉r ❧❡sq✉❡❧❧❡s ✉♥ ❤✐st♦❣r❛♠♠❡ ❞✬♦r✐❡♥t❛t✐♦♥ ❞❡ ❣r❛❞✐❡♥ts s✉r B ✐♥t❡r✈❛❧❧❡s ❡st ♦❜t❡♥✉✳ ▲❛ ❝♦♥❝❛té♥❛t✐♦♥ ❞❡ t♦✉s ❧❡s ✈❡❝t❡✉rs ❞❡ ❝❤❛q✉❡ ♥✐✈❡❛✉ ❢♦r♠❡ ❧❡ ❞❡s❝r✐♣t❡✉r ✜♥❛❧✳ ▲❛ ♥♦r♠❛❧✐s❛t✐♦♥ ❡st ré❛❧✐sé❡ ♣♦✉r ❧✬❡♥s❡♠❜❧❡ ❞✉ ✈❡❝t❡✉r✳ P✉✐sq✉❡ ♥♦s ✐♠❛❣❡s ■P▼ ♦♥t ✉♥❡ t❛✐❧❧❡ ré❞✉✐t❡✱ 32 × 256 pixels✱ ♥♦✉s ❛✈♦♥s ❧✐♠✐té ❧❡ ♥✐✈❡❛✉ ♠❛①✐♠❛❧ ❞❡ P❍❖● à ▲❂✸✳ ❉❡s ♥✐✈❡❛✉① ❞❡ ❞✐✈✐s✐♦♥ ❡♥ ❜❧♦❝s s✉♣♣❧é♠❡♥t❛✐r❡s ♥♦✉s ❞♦♥♥❡r❛✐❡♥t ❞❡s ❞❡s❝r✐♣t❡✉rs ♣❧✉s ❣r❛♥❞s q✉❡ ❧❛ ❧✬✐♠❛❣❡ ❞✬❡♥tré❡ ❡❧❧❡✲♠ê♠❡✳ ▲❡ ♥♦♠❜r❡ ❞✬✐♥t❡r✈❛❧❧❡s ❛ été ✜①é à 8 ♣♦✉r ❞❡s ❣r❛❞✐❡♥ts ♥♦♥✲s✐❣♥és✳ ▲✬✉s❛❣❡ ❞❡s ❣r❛❞✐❡♥ts s✐❣♥és ♥✬❛♣♣♦rt❡r❛ ♣❛s ❞✬✐♥❢♦r♠❛t✐♦♥ s✉♣♣❧é♠❡♥t❛✐r❡ ♣♦✉r ❞✐✛ér❡♥❝✐❡r ♥♦s 5 t②♣❡s ❞❡s ❝❧❛ss❡s✳ ▲❡s ♣r❡♠✐èr❡s ❞é♠❛r❝❤❡s ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ❛✈❡❝ P❍❖● ♥♦✉s ♦♥t ❞♦♥♥é ❞❡ ❜♦♥s rés✉❧t❛ts ❝♦♠♠❡ ❧❡ ♠♦♥tr❡ ❧❛ ✜❣✉r❡ ✹✳✷✸✱ ♦ù ♥♦✉s ♠♦♥tr♦♥s ❧✬❡①❛❝t✐t✉❞❡ ❣❧♦❜❛❧❡ ❞✉ ❝❧❛ss✐✜❡✉r ♠✉❧t✐✲❝❧❛ss❡ ♣♦✉r ❞❡✉① ♠ét❤♦❞❡s✱ ❙❱▼ 1vs1 ❡t 1vsA✳✾✷ ❈❤❛♣✐tr❡ ✹✳ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ❋✐❣✉r❡ ✹✳✷✸ ✕ ❘és✉❧t❛ts ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ♣♦✉r ❧❡ ❞❡s❝r✐♣t❡✉r P❍❖●✳ ✳ P♦✉r ❝❡tt❡ ❝❧❛ss✐✜❝❛t✐♦♥✱ ❧❡ ♥♦♠❜r❡ ❞❡ ❜✐♥s ✉t✐❧✐sé ❡st ❞❡ 8 ❛✈❡❝ ❞❡s ❣r❛❞✐❡♥ts ♥♦♥✲s✐❣♥és✳ ▲❛ ❜❛rr❡ r♦✉❣❡ ♥♦✉s ♠♦♥tr❡ ❧❡s rés✉❧t❛ts ❛✈❡❝ ✉♥ ❝❧❛ss✐✜❡✉r ❙❱▼ ✶✈s✶ ❡t ❧❛ ✈❡rt❡ ❙❱▼ ✶✈s❆❧❧✳ ▲✬❛❜s❝✐ss❡ r❡♣rés❡♥t❡ ❧❡ ❞❡❣ré ❞❡ ♣r♦❢♦♥❞❡✉r ❞❡ P❍❖●✳ ❱✉ ❧❡s ❜♦♥s rés✉❧t❛ts ♦❜t❡♥✉s ❛✈❡❝ P❍❖●✱ ♥♦✉s ❛✈♦♥s ❝♦♥s✐❞éré q✉❡ ♥♦s ✐♠❛❣❡s ■P▼ ét❛♥t t♦✉❥♦✉rs ✈✉❡s ❞❡♣✉✐s ❧❡ ♠ê♠❡ ♣♦✐♥t✱ ♥♦✉s ♣♦✉✈♦♥s ♠✐❡✉① ❝✐❜❧❡r ❧❡ ♣♦s✐t✐♦♥♥❡♠❡♥t ❞❡s ❜❧♦❝s ❞❡ ❍❖● ♣♦✉r ❞✐✛ér❡♥❝✐❡r ❧❡s ❝❧❛ss❡s✳ ❈♦♥tr❛✐r❡♠❡♥t ❛✉ ❞é❝♦✉♣❛❣❡ ❞❡ P❍❖●✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞❡ ré❛❧✐s❡r ✉♥ ❞é❝♦✉♣❛❣❡ ❝❧❛ss✐q✉❡ ❞❡ ❍❖●✱ s❛♥s ❝❤❡✈❛✉❝❤❡♠❡♥t✳ ❈❡tt❡ ❢♦✐s✱ ❧❡s ❝♦♥t❡♥❡✉rs ✭❜✐♥s✮ ❞❡ ❍❖●✱ ♦♥t été ❞é✜♥✐s ❝♦♠♠❡ ✐♥❞✐q✉é ❞❛♥s ❧✬éq✉❛t✐♦♥ ✹✳✶✶✱ ✉♥ t♦t❛❧ ❞❡ 10 ❜✐♥s✱ ❛✈❡❝ ❧✬♦❜❥❡❝t✐❢ ❞❡ ♠❡ttr❡ ❡♥ ✈❛❧❡✉r ❧❛ ♣rés❡♥❝❡ ❞❡s r❛✐❧s ❝♦♥✈❡r❣❡♥ts ❡t ❞✐✈❡r❣❡♥ts✳ ( [0 − 10; 10 − 30; 30 − 50; 50 − 70; 70 − 85; 85 − 95; 95 − 110; 110 − 130; 130 − 150; 150 − 170; 170 − 180] ✭✹✳✶✶✮ P♦✉r ❞ét❡r♠✐♥❡r ❧❡ ♥♦♠❜r❡ ❞❡ ❝♦❧♦♥♥❡s✴❧✐❣♥❡s ❞❡ ❍❖●✱ ♥♦✉s ❛✈♦♥s t❡sté ❞✐✛ér❡♥t❡s ❝♦♠❜✐♥❛✐✲ s♦♥s✳ ❯♥ ❡①❡♠♣❧❡ ❞❡ ♣❛rt✐t✐♦♥ ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✹✳✷✹✱ ♣♦✉r ❍❖● 5 × 2✳ ✭❛✮ ❉✐✈✐s✐♦♥ ❡♥ ❜❧♦❝s ❞❡ ❧✬✐♠❛❣❡ ■P▼✳ ✭❜✮ ❉❡s❝r✐♣t❡✉r ❍❖● ✭5 ❝♦❧♦♥♥❡s × 2 ❧✐❣♥❡s ✮✳ ❋✐❣✉r❡ ✹✳✷✹ ✕ ❉✐✈✐s✐♦♥ ❡♥ ❜❧♦❝s ❞❡ ❧✬✐♠❛❣❡ ■P▼ ❡t ❝♦♥❝❛té♥❛t✐♦♥ ❞❡s ❤✐st♦❣r❛♠♠❡s ♣♦✉r ❢♦r♠❡r ❧❡ ❞❡s❝r✐♣t❡✉r✳ ✹✳✺✳✸ ❘és✉❧t❛ts ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ P♦✉r ❞ét❡r♠✐♥❡r ❧❡ ❜♦♥ ♥♦♠❜r❡ ❞❡ ❜❧♦❝s✱ ♥♦✉s ❛✈♦♥s t❡sté ❞✐✛ér❡♥t❡s ❝♦♠❜✐♥❛✐s♦♥s ❞❡s ❝♦✲ ❧♦♥♥❡s✴❧✐❣♥❡s✱ ❡t ❧❡✉r rés✉❧t❛t ❞✬❡①❛❝t✐t✉❞❡ ❣❧♦❜❛❧❡ ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✹✳✷✺✳ ◆♦✉s ♣♦✉✈♦♥s ✈♦✐r q✉✬à ♣❛rt✐r ❞✬✉♥ ❝❡rt❛✐♥ ♥♦♠❜r❡ ❞❡ ❝♦❧♦♥♥❡s✱ ❧❡ rés✉❧t❛t ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ♣❧❛❢♦♥♥❡ ❡t s❡ ✈♦✐t ♠ê♠❡ ré❞✉✐t✳ ▲❡ ♠❡✐❧❧❡✉r ❞❡s❝r✐♣t❡✉r ❡st ✼ ❝♦❧♦♥♥❡s ❡t ✸ ❧✐❣♥❡s✳ P♦✉r ♠✐❡✉① ❛♥❛❧②s❡r ❧❡s ♣❡r❢♦r♠❛♥❝❡s ❞✉ ❝❧❛ss✐✜❡✉r✱ ♥♦✉s ❡①❛♠✐♥♦♥s s❛ ré♣♦♥s❡ ✐♥❞✐✈✐❞✉❡❧❧❡ ♣♦✉r ❝❤❛q✉❡ ❝❧❛ss❡✳ P♦✉r ❝❡❧❛✱ ♥♦✉s r❡♣rés❡♥t♦♥s ❧❛ ❝♦✉r❜❡ ❘❖❈ Pré❝✐s✐♦♥✲❘❛♣♣❡❧✳ ❈❡tt❡ ❝♦✉r❜❡ ♥♦✉s ♣❡r♠❡t ❞❡ ♠❡ttr❡ ❡♥ é✈✐❞❡♥❝❡ ❞❡✉① ❛s♣❡❝ts ❞❡ ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ✿✹✳✺✳ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞✉ t②♣❡ ❞✬❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ✾✸ ❋✐❣✉r❡ ✹✳✷✺ ✕ ➱❧❡❝t✐♦♥ ❞✉ ♥♦♠❜r❡ ❞❡ ❧✐❣♥❡s ❡t ❞❡ ❝♦❧♦♥♥❡s ♣♦✉r ❧❡ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖●✳ ◆♦✉s ♣♦✉✈♦♥s ✈♦✐r ❝♦♠♠❡♥t ✈❛r✐❡ ❧✬❡①❛❝t✐t✉❞❡ ♣♦✉r ❧❡s ❞❡✉① ❝❧❛ss✐✜❡✉rs ❙❱❙ 1vs1 ❡t ❙❱▼ 1vsA ❡♥ ❢♦♥❝t✐♦♥ ❞✉ ♥♦♠❜r❡ ❞❡ ❝♦❧♦♥♥❡s ❞❡ ❧✐❣♥❡s ❞✉ ❞❡s❝r✐♣t❡✉r ❍❖●✳ ❙❱▼ 1vs1 s❡ ♣rés❡♥t❡ ♣❧✉s ❡✣❝❛❝❡ q✉❡ 1vsA ♣♦✉r t♦✉t ❧❡s ❝❛s✳ ▲❛ ♠❡✐❧❧❡✉r❡ ❡①❛❝t✐t✉❞❡ ❡st ♦❜t❡♥✉❡ ♣♦✉r ✼ ❝♦❧♦♥♥❡s ❡t ✷ ❧✐❣♥❡s✳ ▲❛ t❛✐❧❧❡ ✜♥❛❧❡ ❞✉ ♠❡✐❧❧❡✉r ❞❡s❝r✐♣t❡✉r ❡st ❞❡ 7 × 3 × 10 = 210✳ ▲✬❡①❛❝t✐t✉❞❡ ❡st ❞❡ 98.98% ✕ ▲❡ t❛✉① ❞❡ ♣ré❝✐s✐♦♥ ♦✉ ❧❛ ♣r♦♣♦rt✐♦♥ ❞❡s ✈r❛✐s ♣♦s✐t✐❢s ❞❛♥s ❧❡s ✐♠❛❣❡s t❡sté❡s ✕ ❧❡s t❛✉① ❞❡ r❛♣♣❡❧ ♦✉ ❧❛ ♣r♦♣♦rt✐♦♥ ❞❡ ❝❧❛ss❡s ❜✐❡♥ ❞ét❡r♠✐♥é❡s ♣❛r♠✐ t♦✉t❡s ❧❡s ✐♠❛❣❡s ♣ré✲ s❡♥t❡s ❞❛♥s ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s✳ ▲❡s ❝♦✉r❜❡s ❘❖❈ ❞❡ ❧❛ ✜❣✉r❡ ✹✳✷✻ ♦♥t été ♦❜t❡♥✉❡s ❡♥ ❢❛✐s❛♥t ✈❛r✐❡r ❧❡ s❡✉✐❧ ❞❡ ♣r♦❜❛❜✐❧✐té ❞✬❛♣♣❛rt❡♥✐r ❛✉① ♣♦s✐t✐❢s ♣♦✉r ❝❤❛❝✉♥ ❞❡s ❙❱▼ ❞✉ ❝❧❛ss✐✜❡✉r ♠✉❧t✐✲❝❧❛ss❡✳ P❧✉s ❧❡ s❡✉✐❧ ❡st ❤❛✉t✱ ♠❡✐❧❧❡✉r❡ ❡st ❧❛ ♣ré❝✐s✐♦♥ ❡t ♣✐r❡ ❧❡ r❛♣♣❡❧✳ ❋✐❣✉r❡ ✹✳✷✻ ✕ ❈♦✉r❜❡ Pré❝✐s✐♦♥✲❘❛♣♣❡❧ ♦❜t❡♥✉❡ ♣♦✉r ❙❱▼ 1vs1 ❛✈❡❝ ❞❡s❝r✐♣t❡✉r ❍❖● 7 × 3 ♣♦✉r ❝❤❛❝✉♥❡ ❞❡s ❝❧❛ss❡s✳ ▲❛ ✜❣✉r❡ ✹✳✷✽ ♠♦♥tr❡ ❞✐✛ér❡♥ts ❡①❡♠♣❧❡s ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡✳ ❆✜♥ ❞✬é✈❛❧✉❡r q✉❛♥t✐t❛t✐✈❡♠❡♥t ❧❡s ❡rr❡✉rs ❞❡ ❝♦♥❢✉s✐♦♥ ❡♥tr❡ ❝❧❛ss❡s✱ ♥♦✉s ❛♥❛❧②s♦♥s ❧❛ ♠❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥✳ P♦✉r ❧❡ ♣r♦❜❧è♠❡ ❞♦♥♥é à C = 5 ❝❧❛ss❡s✱ ❧❛ ♠❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ♦❜t❡♥✉❡ ❞✐s♣♦s❡ ❞❡ C 2 = 25 ♣♦s✐t✐♦♥s✱ ❝♦♥t❡♥❛♥t ❧❡s C ❜♦♥♥❡s ❝❧❛ss✐✜❝❛t✐♦♥s s✉r ❧❛ ❞✐❛❣♦♥❛❧❡ ♣r✐♥❝✐♣❛❧❡✱ ❡t C(C − 1)✾✹ ❈❤❛♣✐tr❡ ✹✳ ❉ét❡❝t✐♦♥ ❡t ❝❛r❛❝tér✐s❛t✐♦♥ ❞❡ ❝r♦✐s❡♠❡♥ts ❋✐❣✉r❡ ✹✳✷✼ ✕ ❊rr❡✉rs ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥✳ ❡rr❡✉rs ♣♦ss✐❜❧❡s ❤♦rs ❞❡ ❧❛ ❞✐❛❣♦♥❛❧❡✳ P♦✉r ❧❡ ♠❡✐❧❧❡✉r ❝❧❛ss✐✜❡✉r ❙❱▼ 1vs1 ❡t ✉♥ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖● 7 × 3 ❧❛ ♠❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ❡st ❧❡ t❛❜❧❡❛✉ ✹✳✻ ❡①♣♦s❡ ❧❡s ♣❡r❢♦r♠❛♥❝❡s✳ ❚❛❜❧❡❛✉ ✹✳✻ ▼❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ♣♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞❡s ❛✐❣✉✐❧❧❡s ❈❧❛ss✐✜❡✉r ❝✳✶ ❝✳✷ ❝✳✸ ❝✳✹ ❝✳✺ ❘❛♣♣❡❧ ❱ér✐té t❡rr❛✐♥ ❝✳✶ 1511 6 0 1 7 99.08% ❝✳✷ 6 762 0 2 0 98.96% ❝✳✸ 2 0 235 2 1 97.92% ❝✳✹ 4 0 1 505 0 99.02% ❝✳✺ 1 0 2 0 414 99.28% Pré❝✐s✐♦♥ 99.15% 99.22% 98.74% 99.02% 98.10% 98.98% ▲❛ ♣❧✉♣❛rt ❞❡s ❡rr❡✉rs ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ✐♥t❡r❝❧❛ss❡ s❡ ♣r♦❞✉✐s❡♥t ❞❛♥s ❧❡s ❝r♦✐s❡♠❡♥ts ❝r♦✐sés ✭❞♦✉❜❧❡ ❝♦♠♠✉♥✐❝❛t✐♦♥ ❡♥tr❡ ✷ ✈♦✐❡s✮✳ ❉❛♥s ❧✬✐♠❛❣❡ ■▼P✱ ❧❡s ❞❡✉① ✈♦✐❡s s♦♥t ✈✐s✐❜❧❡s ❡t ♣♦✉rt❛♥t ❧❡ ❝❧❛ss✐✜❡✉r ❛ ❞✉ ♠❛❧ à ♣r❡♥❞r❡ ✉♥❡ ❞é❝✐s✐♦♥✳ ❯♥ ❡①❡♠♣❧❡ ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✹✳✷✼✳ ❉❡ très ❜♦♥s rés✉❧t❛ts ♣ré❧✐♠✐♥❛✐r❡s ♦♥t été ♦❜t❡♥✉s ♣♦✉r ❧❡s ❞✐✛ér❡♥t❡s ❝❧❛ss❡s✳ ▲❡ r❛♣♣❡❧ ♠✐♥✐✲ ♠✉♠ ❛tt❡✐♥t ❡st ❞❡ 97.92% ❡t ❧❛ ♣ré❝✐s✐♦♥ ✾✽✳✶✵✪ s✉r ✉♥ ❡♥s❡♠❜❧❡ ❞❡ ✸✹✻✷ ✐♠❛❣❡s ❛✈❡❝ ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡✳ ▲✬❛♣♣r♦❝❤❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ♣♦✉rr❛✐t ❛✉ss✐ s✬✉t✐❧✐s❡r ♣♦✉r ❧❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ❢❡rré❡ tr❛❞✐t✐♦♥♥❡❧❧❡✱ ❝❛r ❧❛ ♣rés❡♥❝❡ ❞❡ ❧❛ ♥♦✉✈❡❧❧❡ ✈♦✐❡ ✐♥tr♦❞✉✐t é❣❛❧❡♠❡♥t ❞❡s ✈❛r✐❛t✐♦♥s ❞❛♥s ❧❡s ❣r❛❞✐❡♥ts ❞❡ ❧✬✐♠❛❣❡✳ ❈❡s tr❛✈❛✉① ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ❞✬❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ♦♥t ❞♦♥♥é ❧✐❡✉ à ✉♥❡ ♣✉❜❧✐❝❛t✐♦♥ ✐♥t❡r♥❛t✐♦♥❛❧❡ ❞❛♥s ■❊❊❊ ■❚❙❈ ✷✵✶✸ ✶✻t❤ ■♥t❡r♥❛t✐♦♥❛❧ ■❊❊❊ ❈♦♥❢❡r❡♥❝❡ ♦♥ ■♥t❡❧❧✐❣❡♥t ❚r❛♥s♣♦rt❛t✐♦♥ ❙②st❡♠s ✐♥t✐t✉❧é❡ ❚✉r♥♦✉t ❞❡t❡❝t✐♦♥ ❛♥❞ ❝❧❛ss✐✜❝❛t✐♦♥ ✉s✐♥❣ ♠♦❞✐✜❡❞ ❍❖● ❛♥❞ t❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ ✭✈♦✐r ❆♥♥❡①❡ ❆✳✸✮✳✹✳✺✳ ▼ét❤♦❞❡ ♣r♦♣♦sé❡ ♣♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞✉ t②♣❡ ❞✬❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ✾✺ ✭❛✮ ✳ ✭❜✮ ✳ ✭❝✮ ✳ ✭❞✮ ✳ ✭❡✮ ✳ ✭❢✮ ✳ ❋✐❣✉r❡ ✹✳✷✽ ✕ ❘és✉❧t❛ts ❞❡ ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞✬❛✐❣✉✐❧❧❛❣❡ ♣♦✉r ❧❡s ❞✐✛ér❡♥t❡s ❝❧❛ss❡s✳ Classe 1; Classe 2; Classe 3; Classe 4; Classe 5; ❡t Sans aiguille❈❤❛♣✐tr❡ ✺ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ✿ tr❛✐♥s ❙♦♠♠❛✐r❡ ✺✳✶ ■♥tr♦❞✉❝t✐♦♥ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾✼ ✺✳✶✳✶ ❙②stè♠❡s ❡♥ ❝♦♠♠❡r❝✐❛❧✐s❛t✐♦♥ ✐♥❞✉str✐❡❧❧❡ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✾✾ ✺✳✷ ❇❛s❡ ❞❡ ❞♦♥♥é❡s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵✵ ✺✳✸ ❙é❧❡❝t✐♦♥ ❞✉ ❞❡s❝r✐♣t❡✉r ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵✷ ✺✳✸✳✶ ❉❡s❝r✐♣t❡✉rs ❧♦❝❛✉① ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵✷ ✺✳✸✳✷ ❆♥❛❧②s❡ ❣❧♦❜❛❧❡ ✿ ❍✐st♦❣r❛♠♠❡ ❞❡ ❣r❛❞✐❡♥ts ♦r✐❡♥tés ✭❍❖●✮ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵✻ ✺✳✹ ❘és✉❧t❛ts ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✵✼ ✺✳✶ ■♥tr♦❞✉❝t✐♦♥ ❊♥ ❝❡ q✉✐ ❝♦♥❝❡r♥❡ ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ❡t ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s s✉r ❧❛ ✈♦✐❡ ❢❡rré❡✱ ✐❧ ❡①✐st❡ ♣❧✉s✐❡✉rs ❛♣♣r♦❝❤❡s ❛✈❡❝ ❞✐✛ér❡♥ts t②♣❡s ❞❡ ❝❛♣t❡✉rs ❝♦♠♠❡ ✐❧❧✉stré ❞❛♥s ❧❡ ❝❤❛♣✐tr❡ ✷✳ ❉❡ ♣❧✉s✱ ♥♦✉s ❛✈♦♥s ♣✉ ❧❡s ❝❧❛ss✐✜❡r ❡♥ ❞❡✉① ❣r❛♥❞s ❣r♦✉♣❡s ✿ ❝❡✉① éq✉✐♣és ❞❡ ❝❛♣t❡✉rs ♣❛ss✐❢s t❡❧s q✉❡ ❧❡s s②stè♠❡s ❞❡ ✈✐s✐♦♥ ❡t ❝❡✉① éq✉✐♣és ❞❡ ❝❛♣t❡✉rs ❛❝t✐❢s t❡❧s q✉❡ ❧❡s r❛❞❛rs ❡t ❧❡s té❧é♠ètr❡s ❧❛s❡rs✳ ❉✬❛✉tr❡ ♣❛rt✱ ❧❡ ❝r✐tèr❡ ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❞é♣❡♥❞ ❞❡ ❧❡✉r ♥❛t✉r❡✳ ▲❛ ❞é✜♥✐t✐♦♥ ❧❛ ♣❧✉s ❣é♥ér❛❧❡ ❡st ❞❡ ❝♦♥s✐❞ér❡r ❝♦♠♠❡ ♦❜st❛❝❧❡ ♥✬✐♠♣♦rt❡ q✉❡❧ ♦❜❥❡t q✉✐ ❣ê♥❡ ❧❡ ❝❤❡♠✐♥ ❞✉ ✈é❤✐❝✉❧❡✱ ❝❡♣❡♥❞❛♥t ❝❡❝✐ ✐♥❞✉✐t ✉♥❡ ♣❧✉s ❣r❛♥❞❡ ❝♦♠♣❧❡①✐té ❛❧❣♦r✐t❤♠✐q✉❡✳ ▲❛ ❞❡✉①✐è♠❡ s❡ ❧✐♠✐t❡ à ❝♦♥s✐❞ér❡r ❝♦♠♠❡ ♦❜st❛❝❧❡s ❧❡s ❛✉tr❡s ✈é❤✐❝✉❧❡s ❡t✱ ♣✉✐sq✉❡ ❧❡✉r ❞é✜♥✐t✐♦♥ ❡st ❜✐❡♥ ❞é✜♥✐❡✱ ✐❧ ❡st ❛❧♦rs ♣♦ss✐❜❧❡ ❞❡ ❢❛✐r❡ ✉♥❡ r❡❝❤❡r❝❤❡ ❞❡s ♣❛tr♦♥s s♣é❝✐✜q✉❡s ❝♦♠♠❡ ❧❛ ❢♦r♠❡ ❡t ❧❛ s②♠étr✐❡✳ ❊♥✜♥✱ ✐♥❞é♣❡♥❞❛♠♠❡♥t ❞❡ ❧❛ ❞é✜♥✐t✐♦♥ ❞❡ ❧✬♦❜st❛❝❧❡✱ ❞❡✉① ❛♣♣r♦❝❤❡s ❞❡ ❞ét❡❝t✐♦♥ ❣râ❝❡ à ❧❛ ✈✐s✐♦♥ ♣❛r ♦r❞✐♥❛t❡✉r s♦♥t ❡♥✈✐s❛❣❡❛❜❧❡s ✿ ❧✬❛♣♣r♦❝❤❡ ♠♦♥♦ ❝❛♠ér❛ ❡t ❧✬❛♣♣r♦❝❤❡ ♠✉❧t✐ ❝❛♠ér❛✳ ▲❡s ❛♣♣r♦❝❤❡s ♠♦♥♦✲❝❛♠ér❛ ♣r♦❝è❞❡♥t à ❧✬❛♥❛❧②s❡ ❞❡ ❝❡rt❛✐♥❡s ♣r✐♠✐t✐✈❡s ❡①tr❛✐t❡s ❞❛♥s ♣❧✉s✐❡✉rs ✐♠❛❣❡s ❝♦♥sé❝✉t✐✈❡s✳ ❈❡s ♣r✐♠✐t✐✈❡s ♣❡✉✈❡♥t êtr❡ ❞❡s ré❣✐♦♥s t❡①t✉ré❡s✱ ❞❡s ♣♦✐♥ts ❞❡ ❝♦♥t♦✉r ♦✉ ❞❡s ③♦♥❡s ❡♥ ♠♦✉✈❡♠❡♥t✳ ▲❛ ♣❡rt❡ ❞❡ ❧✬✐♥❢♦r♠❛t✐♦♥ ❞❡ ♣r♦❢♦♥❞❡✉r ❡st ❧❛ ♣r❡♠✐èr❡ ❝♦♥séq✉❡♥❝❡ ❞❡ ❧❛ ♣r♦❥❡❝t✐♦♥ ❞✉ ♣❧❛♥ ❞✬✉♥ ♠♦♥❞❡ tr✐❞✐♠❡♥s✐♦♥♥❡❧ s✉r ✉♥ ❝❛♣t❡✉r ✷❉ ✭♣❧❛♥ ✐♠❛❣❡✮✳ ❈❡s ♠ét❤♦❞❡s ♦♥t s②sté♠❛t✐q✉❡♠❡♥t r❡❝♦✉rs à ❞❡s ❝♦♥♥❛✐ss❛♥❝❡s ❛ ♣r✐♦r✐ s✉r ❧✬❡♥✈✐r♦♥♥❡♠❡♥t ♦✉ s✉r ❧❛ t②♣♦❧♦❣✐❡ ❡t ❧❛ ❣é♦♠étr✐❡ ❞❡s ♦❜st❛❝❧❡s à ❞ét❡❝t❡r✳ ▲❡s ❛♣♣r♦❝❤❡s ♠✉❧t✐✲❝❛♠ér❛ ❡①♣❧♦✐t❡♥t ❧❛ s❡❣♠❡♥t❛t✐♦♥ ❞✬✉♥❡ ❝❛rt❡ ❞❡s ❞✐s♣❛r✐tés ❝❛❧❝✉❧é❡s à ♣❛rt✐r ❞❡ ❧✬❛♥❛❧②s❡ ❞❡s ✐♠❛❣❡s ❢♦✉r♥✐❡s ♣❛r ✉♥ stéré♦s❝♦♣❡ ét❛❧♦♥♥é✱ ❝♦♠♠❡ ❝✬❡st ❧❡ ❝❛s ❞❡ ❧❛ ❱✲ ❞✐s♣❛r✐té✱ ✉♥❡ r❡♣rés❡♥t❛t✐♦♥ ♣r♦♣♦sé❡ ♣❛r ❬▲❛❜❛②r❛❞❡ ❡t ❛❧✳ ✷✵✵✷❪✳ ❈❡tt❡ r❡♣rés❡♥t❛t✐♦♥ ❡①♣❧♦✐t❡ ✉♥❡ ❤②♣♦t❤ès❡ ❞❡ ♠♦♥❞❡ ♣❧❛♥✱ ❡t r❡♣rés❡♥t❡ ❧✬❛❝❝✉♠✉❧❛t✐♦♥ ❞❡ ❧❛ ❞✐s♣❛r✐té ❝❛❧❝✉❧é❡ s✉r ❝❤❛❝✉♥❡ ❞❡s ❧✐❣♥❡s ❞❡ ❧✬✐♠❛❣❡✳ ▲❡s ❝❛rt❡s ❞❡s ❞✐s♣❛r✐tés s♦♥t ❣é♥ér❛❧❡♠❡♥t ét❛❜❧✐❡s s✉r ♣❧✉s✐❡✉rs tr❛♠❡s s✉❝❝❡ss✐✈❡s ❛✜♥ ❞❡ ❣❛r❛♥t✐r ✉♥❡ ❝❛❞❡♥❝❡ r❛✐s♦♥♥❛❜❧❡ ❞❡s tr❛✐t❡♠❡♥ts ❡t ❛✐♥s✐ r❡s♣❡❝t❡r ❧❛ ❝♦♥tr❛✐♥t❡ ❞✉ t❡♠♣s ré❡❧ r❡q✉✐s❡ ♣♦✉r ✉♥ ♦r❣❛♥❡ ❞❡ sé❝✉r✐té✳ ❆✐♥s✐✱ ❬❉♦♦③❡ ❡t ❛❧✳ ✶✾✾✽✱ ▲♦✉❛❤❞✐ ❡t ❛❧✳ ✷✵✵✷❪ ♥♦✉s ♣rés❡♥t❡♥t ❞❡s ♣r♦❥❡ts ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s s✉r ❧❛ ✈♦✐❡ ❢❡rré❡ ❞é✈❡❧♦♣♣és à ♣❛rt✐r ❞❡ stéré♦✈✐s✐♦♥✳ ❉❡ ♣❧✉s✱ ❡♥ ✈✐s✐♦♥ ❛rt✐✜❝✐❡❧❧❡ ❡t tr❛✐t❡♠❡♥t ❞✬✐♠❛❣❡s✱ ❧❡s s②stè♠❡s ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜❥❡ts ❡①✐❣❡♥t✱ ❡♥ ❣é♥ér❛❧✱ ❞❡s ❛❧❣♦r✐t❤♠❡s ❝♦♠♣❧❡①❡s✳ ❯♥❡ r❡❝❤❡r❝❤❡ ❡①❤❛✉st✐✈❡ ❞❛♥s ✉♥❡ ✐♠❛❣❡ ❝♦♠♣❧èt❡ ♣❡✉t✲✾✽ ❈❤❛♣✐tr❡ ✺✳ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ✿ tr❛✐♥s êtr❡ ❡♥✈✐s❛❣é❡ ♣♦✉r ❞❡s ❛♣♣❧✐❝❛t✐♦♥s ❞❡ t②♣❡ ♦✛✲❧✐♥❡ ♦✉ ❞✬❛✉tr❡s✱ ♦ù ❧❡ t❡♠♣s ré❡❧ ♥✬❡st ♣❛s ✉♥❡ ❝♦♥tr❛✐♥t❡✳ ▲❡s s②stè♠❡s ❞❡ ❞ét❡❝t✐♦♥ ❞❡s ♦❜st❛❝❧❡s ❡♠❜❛rq✉és✱ ❞❡ ❧❡✉r ❝ôté✱ ❞♦✐✈❡♥t êtr❡ ❝♦♥ç✉s ♣♦✉r é✈❛❧✉❡r ❧❡✉r ❡♥✈✐r♦♥♥❡♠❡♥t à ✉♥❡ ✈✐t❡ss❡ t❡❧❧❡ q✉❡✱ ❞❛♥s ❧❡ ❝❛s ❞✉ ❞é❝❧❡♥❝❤❡♠❡♥t ❞✬✉♥❡ ❛❧❛r♠❡✱ ❧❡ s②stè♠❡ ♣✉✐ss❡ ❛✈♦✐r ✉♥ t❡♠♣s ❞❡ ré❛❝t✐♦♥ ❝♦♠♣❛t✐❜❧❡ ❛✈❡❝ ❧❡s ♣❡r❢♦r♠❛♥❝❡s ❞❡♠❛♥❞é❡s✳ ❉❡ ♥♦♠❜r❡✉① tr❛✈❛✉① ♦♥t été ♠❡♥és ❞❛♥s ❧❡ ❝❛❞r❡ ❞✉ ❞é✈❡❧♦♣♣❡♠❡♥t ❞❡s ❛✐❞❡s à ❧❛ ❝♦♥❞✉✐t❡✱ ❡t t♦✉t ♣❛rt✐❝✉❧✐èr❡♠❡♥t ❞❡ ❧❛ ❢♦♥❝t✐♦♥ ❞❡ ❞ét❡❝t✐♦♥ ❡t ❞❡ s✉✐✈✐ ❞❡s ♦❜st❛❝❧❡s✳ ❆♣rès ❛✈♦✐r ❛♥❛❧②sé ♣❧✉✲ s✐❡✉rs ❞✬❡♥tr❡ ❡✉①✱ ♥♦✉s ♣♦✉✈♦♥s ét❛❜❧✐r ❧❡ t❛❜❧❡❛✉ ✺✳✶ ♠♦♥tr❛♥t q✉❡❧q✉❡s ❛✈❛♥t❛❣❡s ❡t ✐♥❝♦♥✈é♥✐❡♥ts ❬❇❡rt♦③③✐ ❡t ❛❧✳ ✷✵✵✵❪✳ ❚❛❜❧❡❛✉ ✺✳✶ ❈♦♠♣❛r❛t✐❢ ❞❡s ♠ét❤♦❞❡s ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✳ ❚❡❝❤♥✐q✉❡ ❆✈❛♥t❛❣❡s ■♥❝♦♥✈é♥✐❡♥ts ❆♥❛❧②s❡ ❞✬✉♥❡ s❡✉❧❡ ✐♠❛❣❡ ❙♦❧✉t✐♦♥ ❛❧❣♦r✐t❤♠✐q✉❡ s✐♠♣❧❡ ❡t r❛♣✐❞❡✳ ■♥❞é♣❡♥✲ ❞❛♥❝❡ ❞❡s ♠♦✉✈❡♠❡♥ts ❞✉ ✈é❤✐❝✉❧❡✳ ▼❛♥q✉❡ ❞✬✐♥❢♦r♠❛t✐♦♥ ❞❡ ♣r♦❢♦♥❞❡✉r s✐ ♦♥ ♥✬❛ ♣❛s ❢❛✐t ❞✬❤②♣♦t❤ès❡✳ ■♥❡✣✲ ❝❛❝❡ q✉❛♥❞ ❧❡s ♦❜st❛❝❧❡s ♥❡ ❝♦rr❡s♣♦♥❞❡♥t ♣❛s ❛✉ ♠♦❞è❧❡✳ ❋❧✉① ♦♣t✐q✉❡ ✭❊❣♦ ♠♦t✐♦♥✮ ❉ét❡❝t✐♦♥ ❞❡s ♦❜st❛❝❧❡s ❣é♥é✲ r✐q✉❡s✳ ❊①✐❣❡❛♥t ❡♥ ♣✉✐ss❛♥❝❡ ❞❡ ❝❛❧✲ ❝✉❧s✳ ❙❡♥s✐❜❧❡ ❛✉① ♠♦✉✈❡✲ ♠❡♥ts ❞✉ ✈é❤✐❝✉❧❡✳ ➱❝❤❡❝ s✐ ❧✬♦❜st❛❝❧❡ ❡t ❧❡ ✈é❤✐❝✉❧❡ ♦♥t ✉♥❡ ✈✐t❡ss❡ ❢❛✐❜❧❡✳ ❙téré♦ ✈✐s✐♦♥ ❉ét❡❝t✐♦♥ ❞❡s ♦❜st❛❝❧❡s ❣é✲ ♥ér✐q✉❡s✳ P❡r♠❡t ✉♥❡ r❡❝♦♥s✲ tr✉❝t✐♦♥ ✸❉✳ ❚rès ❡①✐❣❡❛♥t ❡♥ ♣✉✐ss❛♥❝❡ ❞❡ ❝❛❧❝✉❧s✳ ❙❡♥s✐❜❧❡ ❛✉① ♠♦✉✈❡✲ ♠❡♥ts ❞✉ ✈é❤✐❝✉❧❡ ❡t ❞é❣r❛❞❛✲ t✐♦♥ ❞❡ ❧✬ét❛❧♦♥♥❛❣❡✳ ❊♥ s❡ ❜❛s❛♥t s✉r ❧❡ t❛❜❧❡❛✉ ✺✳✶ ❡t ❧❡ ❢❛✐t q✉❡ ♥♦tr❡ ❞✐s♣♦s✐t✐❢ ❛ été ❞é✜♥✐ ❡♥ ♠♦♥♦✈✐s✐♦♥✱ ♥♦✉s ♣r♦♣♦s♦♥s ❧❛ t❡❝❤♥✐q✉❡ ❞✬❛♥❛❧②s❡ ✐♠❛❣❡ ♣❛r ✐♠❛❣❡ ♣♦✉r ❞ét❡❝t❡r ✉♥❡ r❛♠❡ s✉r ❧❛ ✈♦✐❡✳ ❈♦♠♠❡ ♥♦✉s tr❛✈❛✐❧❧♦♥s ❛✈❡❝ ❞❡s s②stè♠❡s ❞❛♥s ✉♥ s✐t❡ ♣r♦♣r❡ ✐♥té❣r❛❧✱ ❧❡s ♦❜st❛❝❧❡s ♣♦t❡♥t✐❡❧s à ❞ét❡❝t❡r s❡r♦♥t ❧❡s ❛✉tr❡s r❛♠❡s✱ ❝❡ q✉✐ ♥♦✉s ♣❡r♠❡ttr❛ ❞❡ ❢❛✐r❡ ✉♥❡ r❡❝❤❡r❝❤❡ ❞❡s ♣❛tr♦♥s s♣é❝✐✜q✉❡s ❝♦♠♠❡ ❧❛ ❢♦r♠❡ ❡t ❧❛ s②♠étr✐❡✳ ▲❛ ♣❧✉♣❛rt ❞❡s s②stè♠❡s ❞❡ ❞ét❡❝t✐♦♥ ❞❡s ✈é❤✐❝✉❧❡s ♣❛r ♠♦♥♦✈✐s✐♦♥ tr❛✈❛✐❧❧❡♥t ❣é♥ér❛❧❡♠❡♥t ❡♥ ❞❡✉① ét❛♣❡s ✿ ❧❛ ❣é♥ér❛t✐♦♥ ❞❡ ❧✬❤②♣♦t❤ès❡ ❡t ❧❛ ✈ér✐✜❝❛t✐♦♥ ❞❡ ❧✬❤②♣♦t❤ès❡✳ ▲❛ ♣r❡♠✐èr❡ ❝♦♥s✐st❡ ❡♥ ✉♥❡ r❡❝❤❡r❝❤❡ r❛♣✐❞❡ à tr❛✈❡rs ❧✬✐♠❛❣❡ ❛✜♥ ❞❡ ❞ét❡r♠✐♥❡r ❞❡s ♣♦rt✐♦♥s ♣❧✉s ♣❡t✐t❡s s✉s❝❡♣t✐❜❧❡s ❞✬êtr❡ ❞❡s ✈é❤✐❝✉❧❡s✳ ❈❡tt❡ r❡❝❤❡r❝❤❡ ❡st ♣r✐♥❝✐♣❛❧❡♠❡♥t ❜❛sé❡ s✉r ❝❡rt❛✐♥❡s ❝❛r❛❝tér✐st✐q✉❡s q✉❡ ♣♦✉rr♦♥t ❛✈♦✐r ❧❡s ✈é❤✐❝✉❧❡s✱ t❡❧❧❡s q✉❡ ❧❛ ❝♦✉❧❡✉r ❬❚s❛✐ ❡t ❛❧✳ ✷✵✵✼❪✱ ❧✬♦♠❜r❡ ❬❚③♦♠❛❦❛s ✫ ✈♦♥ ❙❡❡❧❡♥ ✶✾✾✽❪✱ ❞❡s ❣r❛❞✐❡♥ts ✈❡rt✐❝❛✉① ❬❙♦♥❣ ❡t ❛❧✳ ✷✵✵✽❛❪ ♦✉ ❧❡ ✢✉① ❞❡s ✐♠❛❣❡s s✉❝❝❡ss✐✈❡s ❬❏❛③❛②❡r✐ ❡t ❛❧✳ ✷✵✶✶❪✳ ❙✐ ✉♥❡ t❡❝❤♥✐q✉❡ ❞✬❡①♣❧♦r❛t✐♦♥ ❜❛sé❡ s✉r ❞❡s ❢❡♥êtr❡s ❣❧✐ss❛♥t❡s ❡st ✉t✐❧✐sé❡✱ ❧❡ ♥♦♠❜r❡ ❞❡s ❢❡♥êtr❡s à é✈❛❧✉❡r ♣❡✉t êtr❡ é♥♦r♠❡✳ ▲❛ s❡❝♦♥❞❡ ét❛♣❡✱ ❧❛ ♣rés❡♥❝❡ ❞❡s ✈é❤✐❝✉❧❡s✱ ❡st t❡sté❡ ♣♦✉r ❞✐✛ér❡♥t❡s t❛✐❧❧❡s✱ ❡t ❣é♥ér❛❧❡♠❡♥t ❡st ré❛❧✐sé❡ ❛✈❡❝ ✉♥ ❝❧❛ss✐✜❡✉r ❜✐♥❛✐r❡✱ ❧❡q✉❡❧ ❛ été ❡♥tr❛î♥é ❛✈❡❝ ❞❡s ✐♠❛❣❡s ❞❡ ✈é❤✐❝✉❧❡s ❡t ❞❡ ♥♦♥✲✈é❤✐❝✉❧❡s✳ ❈♦♠♠❡ ♥♦✉s ♥♦✉s s❡r✈♦♥s ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡✱ ❧❛ ♣r❡♠✐èr❡ ét❛♣❡ s❡ ✈♦✐t s✐♠♣❧✐✜é❡✱ s❡✉❧❡s ❧❡s ♣❛rt✐❡s ❞❡ ❧✬✐♠❛❣❡ ♦ù ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ ♥✬❛rr✐✈❡ ♣❧✉s à ❞✐st✐♥❣✉❡r ❧❡s r❛✐❧s s❡r♦♥t ❝♦♥s✐❞éré❡s ❝♦♠♠❡ ♦❜st❛❝❧❡s✳ ▲❡ ❢❛✐t ❞❡ ♥❡ ♣❛s ré❛❧✐s❡r ❞❡s r❡❝❤❡r❝❤❡s ❡①❤❛✉st✐✈❡s à tr❛✈❡rs ❧✬✐♠❛❣❡ ❡♥ ❝❤❡r❝❤❛♥t ❞❡s ✐♥❞✐❝❡s ❞❡s tr❛✐♥s à t♦✉t❡s ❧❡s ♣♦s✐t✐♦♥s ❡t é❝❤❡❧❧❡s ♣♦ss✐❜❧❡s ✭s❧✐❞✐♥❣ ✇✐♥❞♦✇ ❡♥ ❛♥❣❧❛✐s✮✱ ❡♥tr❛î♥❡ ✉♥❡ ré❞✉❝t✐♦♥ ❞✉ t❡♠♣s ❞❡ ❝❛❧❝✉❧ ❡t ❝♦♠♠❡ ♠♦✐♥s ❞✬❤②♣♦t❤ès❡s s♦♥t t❡sté❡s✳ ▲❛ ♣r♦❜❛❜✐❧✐té ❞❡ t♦♠❜❡r s✉r ❞❡s ❢❛✉ss❡s ❞ét❡❝t✐♦♥s ❡st ♣❧✉s ❢❛✐❜❧❡✳ ❈❡rt❛✐♥s tr❛✈❛✉① ✉t✐❧✐s❡♥t ❞✐✛ér❡♥t❡s ♣r✐♠✐t✐✈❡s ♣♦✉r ❞é✜♥✐r ❧❡s ③♦♥❡s ❞✬✐♥térêt ✭❘❖■✮ ❬❳❛✈✐❡r ✷✵✵✸❪✺✳✶✳ ■♥tr♦❞✉❝t✐♦♥ ✾✾ ♦ù ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ✈é❤✐❝✉❧❡s r♦✉t✐❡rs ❝♦♠❜✐♥❡ ✉♥ ♠♦❞✉❧❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡s ✈♦✐❡s✱ ❧❛ r❡❝♦♥str✉❝t✐♦♥ ❞❡ ❧❛ ❣é♦♠étr✐❡ ✸❉ ❞❡ ❧❛ r♦✉t❡✱ ✉♥ ♠♦❞✉❧❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡ ❧✬♦♠❜r❡ ❡t ✉♥ ♠♦❞✉❧❡ ❞❡ ❧♦❝❛❧✐s❛t✐♦♥ ❞❡ ❧❛ s②♠étr✐❡✳ P❛r❝❡ q✉❡ ♥♦tr❡ s②stè♠❡ ❡st ✉♥❡ ✈❡rs✐♦♥ s✐♠♣❧✐✜é❡ ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ✈é❤✐❝✉❧❡s r♦✉t✐❡rs ❣râ❝❡ à ❧✬❡①tr❛❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡✱ ♥♦✉s ♣♦✉rr♦♥s ❞é✜♥✐r ✉♥❡ ③♦♥❡ ❧✐❜r❡ ❞✬♦❜st❛❝❧❡s ❡t ❧❛ ré❣✐♦♥ ❞✬✐♥térêt ♣♦✉r ❧❛q✉❡❧❧❡ ♥♦✉s ❛❧❧♦♥s ✈ér✐✜❡r ❧✬❤②♣♦t❤ès❡ ❡♥ ❞é❝❧❡♥❝❤❛♥t ✉♥❡ r❡❝❤❡r❝❤❡ ❞❡s tr❛✐♥s✳ ❈❡tt❡ ❘❖■✱ s❡r❛ s✐♠♣❧❡♠❡♥t ✉♥ r❡❝t❛♥❣❧❡ ❛✈❡❝ ❧❛ t❛✐❧❧❡ ❞✬✉♥ tr❛✐♥ à ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞✬❡①tr❛❝t✐♦♥ ❞❡s r❛✐❧s✱ ❡♥ ✉t✐❧✐s❛♥t ❧❡s ❧♦✐s ❞❡ ♣r♦❥❡❝t✐♦♥s ❞❡ ❧✬éq✉❛t✐♦♥ ✷✳✷✳ ✭❛✮ ❊①tr❛❝t✐♦♥ ❞❡ ✈♦✐❡ ❡t ❞ét❡r♠✐♥❛t✐♦♥ ❞❡ ❧❛ ❘❖■✳ ✭❜✮ ❘❖■✳ ❋✐❣✉r❡ ✺✳✶ ✕ ❉ét❡r♠✐♥❛t✐♦♥ ❞❡ ❧❛ ❘❖■ à ♣❛rt✐r ❞❡ ❧✬❡①tr❛❝t✐♦♥ ❞❡ r❛✐❧s✳ ▲❛ ✜❣✉r❡ ✺✳✶ ♠♦♥tr❡ ✉♥ ❡①❡♠♣❧❡ ❞❡ ❧❛ ❘❖■ ❞é✜♥✐❡✳ ▲❡ ❢❛✐t ❞✬✉t✐❧✐s❡r ❧✬❡①tr❛❝t✐♦♥ ❞❡ ✈♦✐❡ ❝♦✉r❛♥t❡ ♣♦✉r ❞é✜♥✐r ❧❛ ❘❖■ ♥♦✉s ♣❡r♠❡t ❞✬é✈✐t❡r ❞✬❛✈♦✐r ❞❡s ❢❛✉ss❡s ❛❧❛r♠❡s ✭❢❛✉① ♣♦s✐t✐❢s✮ à ❝❛✉s❡ ❞❡s ❞ét❡❝t✐♦♥s ❞❡s tr❛✐♥s ❞✬✉♥❡ ✈♦✐❡ ♣❛r❛❧❧è❧❡✳ ❊♥ ♦✉tr❡✱ ❧❛ s❡✉❧❡ ❞✐✛ér❡♥❝❡ ✈✐s✉❡❧❧❡ ❡♥tr❡ ❞❡✉① tr❛✐♥s q✉✐ ❝✐r❝✉❧❡♥t ❡♥ ❞✐r❡❝t✐♦♥ ♦♣♣♦sé❡ ❡st ❧❛ ❝♦✉❧❡✉r ❞❡s ♣❤❛r❡s ❞❡ ❧❛ r❛♠❡✳ ✺✳✶✳✶ ❙②stè♠❡s ❡♥ ❝♦♠♠❡r❝✐❛❧✐s❛t✐♦♥ ✐♥❞✉str✐❡❧❧❡ ▲❡s s②stè♠❡s ❞❡ ♣ré✈❡♥t✐♦♥ ❞❡ ❝♦❧❧✐s✐♦♥s ❞é✈❡❧♦♣♣és ❞❛♥s ❧❡ ❞♦♠❛✐♥❡ ❛✉t♦♠♦❜✐❧❡ s♦♥t ❜❛sés ♣r✐♥❝✐♣❛❧❡♠❡♥t s✉r ❧✬✉t✐❧✐s❛t✐♦♥ ❞❡s ❝❛♣t❡✉rs ❛❝t✐❢s ❝♦♠♠❡ ❧❡ ❘❆❉❆❘ ♦✉ ❧❡ ▲■❉❆❘✱ ♣❛r❢♦✐s ❛ss♦❝✐és à ✉♥❡ ❝❛♠ér❛✳ ❈❡s ❝❛♣t❡✉rs ❛❝t✐❢s ♦♥t été ❞é❝r✐ts ♣❧✉s ❡♥ ❞ét❛✐❧ ❞❛♥s ❧❛ s❡❝t✐♦♥ ✷✳✷✳❯♥ rés✉♠é ❞❡s ♣r✐♥❝✐♣❛❧❡s ❝❛r❛❝tér✐st✐q✉❡s ❡t ❛❝t✐♦♥s ♠❡♥é❡s ♣❛r ❝❡s s②stè♠❡s ❡st ♠♦♥tré ❞❛♥s ❧❡ t❛❜❧❡❛✉ ✺✳✷✳ ❈❡s ❞♦♥♥é❡s ♦♥t été ❡①tr❛✐t❡s ❞✉ ❊✉r♦♣❡❛♥ ◆❡✇ ❈❛r ❆ss❡ss♠❡♥t Pr♦❣r❛♠ ✭❊✉r♦ ◆❈❆P✮✱ ❝✬❡st✲à✲❞✐r❡ ❧❡ ✓♣r♦❣r❛♠♠❡ ❞✬é✈❛❧✉❛t✐♦♥ ❡✉r♦♣é❡♥♥❡ ❞❡s ❛✉t♦♠♦❜✐❧❡s✔✱❬◆❈❆P ✷✵✶✸❪✳✶✵✵ ❈❤❛♣✐tr❡ ✺✳ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ✿ tr❛✐♥s ❚❛❜❧❡❛✉ ✺✳✷ ❙②stè♠❡s ✐♥❞✉str✐❡❧s ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❡♥ ❝♦♠♠❡r❝✐❛❧✐s❛t✐♦♥✳ ❈♦♥str✉❝t❡✉r ❆♣♣❧✐❝❛t✐♦♥ ➱q✉✐♣❡♠❡♥t ❱✐t❡ss❡ ✭❦♠✴❤✮ ❆❝t✐♦♥s ❱♦❧✈♦ ❱✐❧❧❡ ❘❛❞❛r ❡t ❝❛♠ér❛ ❏✉sq✉✬à ✸✺ ❋r❡✐♥❛❣❡ ❞✬✉r❣❡♥❝❡ ✭❋❯✮ ❋♦r❞ ❱✐❧❧❡ ▲❛s❡r ❡t ❝❛✲ ♠ér❛ ❏✉sq✉✬à ✸✵ ❋❯ ❍♦♥❞❛ ❱✐❧❧❡ ❡t ❛✉t♦r♦✉t❡ ❘❛❞❛r ➚ ♣❛rt✐r ❞❡ ✶✺ ✸ ♣❤❛s❡s ✿ ❆❧❛r♠❡✱ ♣ré✲ ♣❛r❛t✐♦♥ ❞❡s ❢r❡✐♥s ❡t ❋❯ ▼❡r❝❡❞❡s ❆✉t♦r♦✉t❡ ✸ ❘❛❞❛rs ❊♥tr❡ ✸✵✲✷✵✵ ✷ ♣❤❛s❡s ✿ ❆❧❛r♠❡ ❡t ❋❯ ❉❛♥s t♦✉s ❧❡s ❝❛s✱ ❧❡s ❝♦♥str✉❝t❡✉rs ❞✬❛✉t♦♠♦❜✐❧❡s ♣r✐✈✐❧é❣✐❡♥t ❧♦❣✐q✉❡♠❡♥t ✓❧✬✐♥❛❝t✐♦♥✔ s✉r ❧✬❛❝✲ t✐♦♥ ♣✉✐sq✉✬✐❧ s✬❛❣✐t ❞✬❛ss✐st❛♥❝❡ à ❧❛ ❝♦♥❞✉✐t❡ ❡t q✉❡ ❧❡✉r r❡s♣♦♥s❛❜✐❧✐té ♣♦✉rr❛✐t êtr❡ ❡♥❣❛❣é❡ ❡♥ ❝❛s ❞✬❛❝❝✐❞❡♥t ❞û à ✉♥ ❢r❡✐♥❛❣❡ ❞✬✉r❣❡♥❝❡ ✐♥t❡♠♣❡st✐❢✳ ❈❡♣❡♥❞❛♥t✱ à ♥♦tr❡ ❝♦♥♥❛✐ss❛♥❝❡✱ ❛✉❝✉♥ s②stè♠❡ ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ♥✬❡st ♦♣ér❛t✐♦♥♥❡❧ s✉r ✉♥ ♠étr♦ ❡♥t✐èr❡♠❡♥t ❛✉t♦♠❛t✐q✉❡✳ ✺✳✷ ❇❛s❡ ❞❡ ❞♦♥♥é❡s P♦✉r ♣♦✉✈♦✐r ré❛❧✐s❡r ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡s tr❛✐♥s✱ ✐❧ ❡st ♥é❝❡ss❛✐r❡ ❞❡ ❞é✈❡❧♦♣♣❡r ✉♥ ❝❧❛ss✐✜❡✉r ❛✈❡❝ ✉♥ ❛♣♣r❡♥t✐ss❛❣❡ s✉♣❡r✈✐sé✱ ❞♦♥❝ ♥♦✉s ❛✈♦♥s ❜❡s♦✐♥ ❞✬✉♥❡ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❛✈❡❝ ❞❡s ❡①❡♠♣❧❡s ♣♦s✐t✐❢s ❡t ♥é❣❛t✐❢s✳ P♦✉r ♦❜t❡♥✐r ❧❡s ✐♠❛❣❡s ❞✉ ❣r♦✉♣❡ ❞❡s ♥é❣❛t✐❢s✱ ♥♦✉s ❛✈♦♥s ✉t✐❧✐sé ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ♣✉❜❧✐q✉❡ ❱❖❈✷✵✶✷ ❬❊✈❡r✐♥❣❤❛♠ ❡t ❛❧✳ ❪ s♣é❝✐❛❧❡♠❡♥t ❝♦♥ç✉❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❡t r❡❝♦♥✲ ♥❛✐ss❛♥❝❡ ❞❡s ♦❜❥❡ts✳ ■❧ ❡①✐st❡ ✹ t②♣❡s ❞❡ ❣r❛♥❞❡s ❝❧❛ss❡s ✿ ♣❡rs♦♥♥❡s✱ ❛♥✐♠❛✉①✱ ✈é❤✐❝✉❧❡s ❡t ♦❜❥❡ts ❞✬✐♥tér✐❡✉r✳ ❈❡♣❡♥❞❛♥t✱ ♥♦✉s ❛✈♦♥s s❡✉❧❡♠❡♥t ✉t✐❧✐sé ❧❛ ❝❧❛ss❡ ✓✈é❤✐❝✉❧❡✔ ❡♥ ♣❛rt✐❝✉❧✐❡r ❧❡s ✐♠❛❣❡s ❞❡s ✈♦✐t✉r❡s ❡t ❞❡s ❜✉s✱ ❝❛r s♦✉s ❝❡rt❛✐♥s ♣♦✐♥ts ❞❡ ✈✉❡✱ ❧❡✉r ❢♦r♠❡ ♣❡✉t r❡ss❡♠❜❧❡r à ✉♥ tr❛✐♥✳ P♦✉r ❛✈♦✐r ❞❡s ✐♠❛❣❡s ♣❧✉s ❞ét❛✐❧❧é❡s ❡t é✈✐t❡r ❞❡ t❡♥✐r ❝♦♠♣t❡ ❞❡ ❧✬❡♥✈✐r♦♥♥❡♠❡♥t ❞❡ ❧✬✐♠❛❣❡✱ ♥♦✉s ❛✈♦♥s ❝❤♦✐s✐ ❞✬❡①tr❛✐r❡ ❧❡s ✈♦✐t✉r❡s ❡t ❧❡s ❜✉s ❣râ❝❡ à ❧❛ ✈ér✐té t❡rr❛✐♥ ❞❡ ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s✳ ❯♥ ❡①❡♠♣❧❡ ❞❡ ❝❡tt❡ ❡①tr❛❝t✐♦♥ ❡st ♠♦♥tré ❞❛♥s ❧❛ ✜❣✉r❡ ✺✳✷✳ ❆✐♥s✐✱ ♣♦✉r ✐♥❝ré♠❡♥t❡r ❧❡ ♥♦♠❜r❡ ❞✬✐♠❛❣❡s ♥é❣❛t✐✈❡s✱ ♥♦✉s ❛✈♦♥s ✉t✐❧✐sé ❧❛ ❜❛s❡ ❞✬✐♠❛❣❡s ❞❡ ✈♦✐t✉r❡s ❞❡ ❧✬■◆❘■❆ ❝❛r ❞❛t❛ s❡t ✭✉t✐❧✐sé❡ ❞❛♥s ❧❡s tr❛✈❛✉① ❞❡ ❬❈❛r❜♦♥❡tt♦ ❡t ❛❧✳ ✷✵✵✽❪✮ ❛✐♥s✐ q✉❡ ❞❡s ✐♠❛❣❡s ♣r✐s❡s s✉r ❞✐✛ér❡♥ts s✐t❡s ✇❡❜✳ ❈❡s ❞❡r♥✐èr❡s ♦♥t été ❛❥♦✉té❡s ❛✈❡❝ ❧✬♦❜❥❡❝t✐❢ ❞❡ ❞♦♥♥❡r ❡♥❝♦r❡ ♣❧✉s ❞❡ ✈❛r✐❛❜✐❧✐té ❛✉① ♥é❣❛t✐❢s ❡t ❝♦♠♣r❡♥♥❡♥t ♣r✐♥❝✐♣❛❧❡♠❡♥t ❞❡s ✐♠❛❣❡s ❞❡ ♣♦rt❡s✱ ❞❡ ❢❡♥êtr❡s✱ ❞❡ ✈♦✐t✉r❡s✱ ❞❡ ❜✉s ❡t ♠ê♠❡ ❞✬❛✉tr❡s t②♣❡s ❞❡ tr❛✐♥s✳ ▲❛ ✜❣✉r❡ ✺✳✹ ♠♦♥tr❡ q✉❡❧q✉❡s ❡①❡♠♣❧❡s ❞❡s ✐♠❛❣❡s ✉t✐❧✐sé❡s ♣♦✉r ❡♥tr❛î♥❡r ❡t t❡st❡r ♥♦tr❡ ❛❧❣♦r✐t❤♠❡ ❞✬❛♣♣r❡♥t✐ss❛❣❡✳ ▲❡s ♣♦s✐t✐❢s ❞❡ ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s s♦♥t ❞❡s ✐♠❛❣❡s ❞✉ ♠étr♦ ❱❆▲ ❞❛♥s s❡s ❞✐✛ér❡♥t❡s ✈❡rs✐♦♥s✳ Pr✐♥❝✐♣❛❧❡♠❡♥t ❧❡ ♠étr♦ ❡st ✈✉ ❞❡ ❢❛❝❡✱ ♠❛✐s ❝❡rt❛✐♥❡s ✐♠❛❣❡s ♦♥t ✉♥❡ ♦r✐❡♥t❛t✐♦♥ ❞✐✛ér❡♥t❡✱ ❝♦♠♠❡ ❝❡❧❛ ♣♦✉rr❛✐t ❛rr✐✈❡r ❞❛♥s ✉♥ ❝❛s ré❡❧✳ ▲❛ ✜❣✉r❡ ✺✳✸ ♠♦♥tr❡ ❧❡s ✐♠❛❣❡s ❞✉ ❱❆▲ ✉t✐❧✐sé❡s✳ ▲✬♦r✐❣✐♥❡ ❞❡ ❝❡s ✐♠❛❣❡s ❡st très ❞✐✈❡rs❡✱ ♣r✐♥❝✐♣❛❧❡♠❡♥t ❝❡ s♦♥t ❞❡s ✐♠❛❣❡s ♦❜t❡♥✉❡s ❧♦rs ❞❡ ♥♦s ❛❝q✉✐s✐t✐♦♥s à ❜♦r❞ ❞❡ ❧✬❖r❧② ❱❆▲ ❡t à ❘❡♥♥❡s✳ ❈❡♣❡♥❞❛♥t✱ ❞✬❛✉tr❡s ❛♣♣❛rt✐❡♥♥❡♥t à ❞❡s ✈✐❞é♦s ♦✉ ❞❡s ♣❤♦t♦s ❞✬■♥t❡r♥❡t✳ ❈❡❝✐ ❝♦♥tr✐❜✉❡ à ❛✈♦✐r ✉♥❡ ❞✐✈❡rs✐té ❞❛♥s ❧❡s ✐♠❛❣❡s✱ ❝❛r ❡❧❧❡s ♦♥t été ♦❜t❡♥✉❡s ❛✈❡❝ ❞✐✛ér❡♥ts ❛♣♣❛r❡✐❧s ❡t s♦✉s ❞✐✛ér❡♥t❡s ❝♦♥❞✐t✐♦♥s ❞✬é❝❧❛✐r❛❣❡✳ ▲❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❝♦♠♣t❡✱ ❛✉ t♦t❛❧ ✽✽✹ ♣♦s✐t✐❢s ❡t ✽✾✻ ♥é❣❛t✐❢s✱ ❡♥ ❣é♥ér❛♥t ❞❡s ✐♠❛❣❡s s②♠é✲ tr✐q✉❡s ✈❡rt✐❝❛❧❡s à ♣❛rt✐r ❞❡s ✐♠❛❣❡s ❞✬♦r✐❣✐♥❡✱ ❡♥ ❛♥❣❧❛✐s ✢♦♣♣❡❞ ✐♠❛❣❡s✳✺✳✷✳ ❇❛s❡ ❞❡ ❞♦♥♥é❡s ✶✵✶ ✭❛✮ ■♠❛❣❡ ❞✬♦r✐❣✐♥❡✳ ✭❜✮ ❇✉s ❡①tr❛✐t✳ ✭❝✮ ■♠❛❣❡ ❞✬♦r✐❣✐♥❡✳ ✭❞✮ ❱♦✐t✉r❡ ❡①tr❛✐t❡✳ ❋✐❣✉r❡ ✺✳✷ ✕ ❖❜t❡♥t✐♦♥ ❞❡ ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s à ♣❛rt✐r ❞❡ ❱❖❈✷✵✶✷ ❬❊✈❡r✐♥❣❤❛♠ ❡t ❛❧✳ ❪✳ ❋✐❣✉r❡ ✺✳✸ ✕ ■♠❛❣❡s ❞❡s tr❛✐♥s ✓♣♦s✐t✐❢s✔✳ ❋✐❣✉r❡ ✺✳✹ ✕ ■♠❛❣❡s ❞❡s ✓♥é❣❛t✐❢s✔✳✶✵✷ ❈❤❛♣✐tr❡ ✺✳ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ✿ tr❛✐♥s ✺✳✸ ❙é❧❡❝t✐♦♥ ❞✉ ❞❡s❝r✐♣t❡✉r ▲❡s ♠ét❤♦❞❡s ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥ ♦♥t ♣♦✉r ❜✉t ❞✬✐❞❡♥t✐✜❡r ❧❡s ❝❧❛ss❡s ❛✉①q✉❡❧❧❡s ❛♣♣❛rt✐❡♥♥❡♥t ❞❡s ♦❜❥❡ts à ♣❛rt✐r ❞❡ ❝❡rt❛✐♥s tr❛✐ts ❞❡s❝r✐♣t✐❢s✱ ❡t ❞❛♥s ❝❡tt❡ s❡❝t✐♦♥✱ ♥♦✉s ❛❧❧♦♥s sé❧❡❝t✐♦♥♥❡r ❧❡ ♠❡✐❧❧❡✉r ❞❡s❝r✐♣t❡✉r q✉✐ s✬❛❞❛♣t❡ à ♥♦tr❡ ❛♣♣❧✐❝❛t✐♦♥✳ ❈❡ ❝❤♦✐① ❝♦♥s✐st❡ à ✐❞❡♥t✐✜❡r ❧❡s ✈❛r✐❛❜❧❡s ♣❡rt✐♥❡♥t❡s✱ ❝❛r s✐ ❧❛ sé❧❡❝t✐♦♥ ❞❡s ✈❛r✐❛❜❧❡s ❡st ré❛❧✐sé❡ ❞❡ ♠❛♥✐èr❡ ❛♣♣r♦♣r✐é❡✱ ❧❛ ♣❡r❢♦r♠❛♥❝❡ ❞✉ ♠♦❞è❧❡ ❞❡ ❞✐s❝r✐♠✐♥❛t✐♦♥ ♣❡✉t êtr❡ ❢♦rt❡♠❡♥t ❛♠é❧✐♦ré❡✳ ◆♦✉s ♣♦✉✈♦♥s ❞✐st✐♥❣✉❡r ❞❡✉① ❢❛ç♦♥s ❞✬❡①tr❛✐r❡ ❝❡s ❝❛r❛❝tér✐st✐q✉❡s✱ ❧❡s ❝❛r❛❝tér✐st✐q✉❡s ❣❧♦❜❛❧❡s q✉✐ s♦♥t ❝❛❧❝✉❧é❡s s✉r t♦✉t❡ ❧✬✐♠❛❣❡ ❡t ❧❡s ❝❛r❛❝tér✐st✐q✉❡s ❧♦❝❛❧❡s q✉✐ s♦♥t ❝❛❧❝✉❧é❡s ❛✉t♦✉r ❞❡ ♣♦✐♥ts ❞✬✐♥térêt✳ ▲❡s ❝❛r❛❝tér✐st✐q✉❡s ❧♦❝❛❧❡s ♦✉ ♣♦✐♥ts ❞✬✐♥térêt s♦♥t ❞✐st✐♥❝t❡s✱ r♦❜✉st❡s ❛✉① ♦❝❝❧✉s✐♦♥s ✭❝❛r ✐❧ ② ❡♥ ❛ ❜❡❛✉❝♦✉♣ ❞❛♥s ✉♥❡ ✐♠❛❣❡ ♦✉ ✉♥❡ ré❣✐♦♥✮ ❡t q✉✬❡❧❧❡s ♥❡ ♥é❝❡ss✐t❡♥t ♣❛s ❞❡ s❡❣♠❡♥t❛t✐♦♥✳ ▲❡s ❝❛r❛❝tér✐st✐q✉❡s ❣❧♦❜❛❧❡s ✉t✐❧✐s❡♥t ❧✬❡♥s❡♠❜❧❡ ❞❡ ❧✬✐♠❛❣❡✱ ❝♦♠♠❡ ❧❛ t❡①t✉r❡✱ ❧❛ ❝♦✉❧❡✉r✱ ❧❡s ❤✐st♦❣r❛♠♠❡s✳ ▲❡ ♣❧✉s ❝♦♥♥✉ ❡st ❧✬❤✐st♦❣r❛♠♠❡ ❞❡ ●r❛❞✐❡♥ts ❖r✐❡♥tés ✭❍❖●✮✳ ❈❡♣❡♥❞❛♥t✱ ❛✉❝✉♥ ♠♦②❡♥ ♥❡ ♣❡r♠❡t ❞❡ ❞✐st✐♥❣✉❡r ❧✬♦❜❥❡t ❞❡ s♦♥ ❢♦♥❞✱ ❝❛r ❧❡s ❞♦♥♥é❡s ✉t✐❧✐sé❡s ❛♣♣❛rt✐❡♥♥❡♥t ❛✉① ❞❡✉① ❝❛té❣♦r✐❡s✳ P❛r ❛✐❧❧❡✉rs✱ ❧❡ ❢❛✐t ❞❡ ré❞✉✐r❡ ❧❡ ♥♦♠❜r❡ ❞❡ ✈❛r✐❛❜❧❡s ♣❡r♠❡t é❣❛❧❡♠❡♥t ❞❡ ré❞✉✐r❡ ❧❡ t❡♠♣s ❞❡ ❝❛❧❝✉❧✱ ❛s♣❡❝t ♥♦♥ ♥é❣❧✐❣❡❛❜❧❡ ♣♦✉r ✉♥ s②stè♠❡ t❡♠♣s ré❡❧✳ ✺✳✸✳✶ ❉❡s❝r✐♣t❡✉rs ❧♦❝❛✉① ▲❛ ❞ét❡❝t✐♦♥ ❞❡ ♣♦✐♥ts ❞✬✐♥térêt ❞❛♥s ❧❡s ✐♠❛❣❡s ❡st ❞❡ ♣❧✉s ❡♥ ♣❧✉s ✉t✐❧✐sé❡ ❛✜♥ ❞❡ ❢❛❝✐❧✐t❡r ❞❡ ♥♦♠❜r❡✉s❡s tâ❝❤❡s ❝♦♠♠❡ ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞✬♦❜❥❡ts✱ ❧✬❛ss❡♠❜❧❛❣❡ ❞✬✐♠❛❣❡s✱ ❧❛ ♠♦❞é❧✐s❛t✐♦♥ ✸❉✱ ❧❛ r❡❝❤❡r❝❤❡ ❞✬✐♠❛❣❡ ♣❛r ❧❡ ❝♦♥t❡♥✉ ❡t ♠ê♠❡ ❧❡ tr❛❝❦✐♥❣ ✈✐❞❡♦✳ ❉❡ ❢❛ç♦♥ ❣é♥ér❛❧❡✱ ❧❡s tr❛✈❛✉① s✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ♣♦✐♥ts ❞✬✐♥térêt ♦♥t ❝♦♠♠❡♥❝é à ♣❛rt✐r ❞❡s tr❛✈❛✉① ❞❡ ❬❍❛rr✐s ✫ ❙t❡♣❤❡♥s ✶✾✽✽❪ ♣♦✉r ❧❡ ❞é✈❡❧♦♣♣❡♠❡♥t ❞✬✉♥ ❞ét❡❝t❡✉r ❞❡ ❝♦✐♥s ❡t ❞❡ ❝♦♥t♦✉rs✱ s✉✐✈✐s ♣❛r ❧❡ ❞❡ ❞ét❡❝t❡✉r ❞❡ ❜❧♦❜s ✭♣❡t✐t❡s ré❣✐♦♥s ✉♥✐❢♦r♠❡s q✉✐ s❡ ❞é♠❛rq✉❡♥t✮ ❝♦♠♠❡ ❧❡ ❙■❋❚ ❞❡ ❧✬❛♥❣❧❛✐s ❙❝❛❧❡✲■♥✈❛r✐❛♥t ❋❡❛t✉r❡s ✐♥tr♦❞✉✐t ♣❛r ❬▲♦✇❡ ✶✾✾✾❪ ❡t ✜♥❛❧❡♠❡♥t ❧❡s ❙❯❘❋s ❞❡ ❧✬❛♥❣❧❛✐s ❙♣❡❡❞❡❞✲❯♣ ❘♦❜✉st ❋❡❛t✉r❡s ♣r♦♣♦sés ♣❛r ❬❇❛② ❡t ❛❧✳ ✷✵✵✻❪✱ ✉♥❡ ✈❛r✐❛♥t❡ ♣❧✉s r❛♣✐❞❡ ❞❡ ❙■❋❚✳ ❈❡s ❛❧❣♦r✐t❤♠❡s ❝❤❡r❝❤❡♥t à ✐s♦❧❡r ❧❡s ré❣✐♦♥s ❞❡ ❧✬✐♠❛❣❡ q✉✐ ♣rés❡♥t❡♥t ❞❡s ❝❛r❛❝tér✐st✐q✉❡s ✈✐s✉❡❧❧❡s r❡♠❛rq✉❛❜❧❡s✱ ❝♦♠♠❡ ❧❡s ❜♦r❞s✱ ❧❡s ❝♦✐♥s ❡t ❧❡s ❜❧♦❜s ❞❡ ❧✬✐♠❛❣❡✱ ❡t ❧❡✉r q✉❛❧✐té ❡st ♠❡s✉ré❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ ❧❛ ❝❛♣❛❝✐té à r❡tr♦✉✈❡r ❧❡s ♠ê♠❡s ♣♦✐♥ts ❞✬✐♥térêt ❞✬✉♥ ♦❜❥❡t ❞❛♥s ✉♥❡ s❝è♥❡ ❧♦rsq✉❡ ❧❡s ❝♦♥❞✐t✐♦♥s ❞❡ ✈✐s✉❛❧✐s❛t✐♦♥ ❝❤❛♥❣❡♥t ✿ ✐♥✈❛r✐❛♥ts à ✉♥ ❝❤❛♥❣❡♠❡♥t ❞✬é❝❤❡❧❧❡✱ à ❧❛ r♦t❛t✐♦♥✱ à ❧❛ ♣❡rs♣❡❝t✐✈❡ ♦✉ ❛✉ ❝❤❛♥❣❡♠❡♥t ❧é❣❡r ❞❡ ♣♦✐♥t ❞❡ ✈✉❡✳ ❙■❋❚ ❡st ✉♥ ❞ét❡❝t❡✉r ❞❡ ♣♦✐♥ts ❞✬✐♥térêt ✐♥✈❛r✐❛♥t ❛✉① ❝❤❛♥❣❡♠❡♥ts ❞✬é❝❤❡❧❧❡ ❝♦♠❜✐♥é ❛✈❡❝ ✉♥ ❞❡s❝r✐♣t❡✉r ❜❛sé s✉r ❧❛ ❞✐str✐❜✉t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts ❝❛❧❝✉❧és s✉r ❧❛ ré❣✐♦♥ ❞✬✐♥térêt✳ ◗✉❛♥t à ❙❯❘❋✱ ✐❧ s❡ ❜❛s❡ s✉r ❧❡ ♣r✐♥❝✐♣❡ ❞❡s ✐♠❛❣❡s ✐♥té❣r❛❧❡s ❬❱✐♦❧❛ ✫ ❏♦♥❡s ✷✵✵✶❪ ♣♦✉r ❛❝❝é❧ér❡r ❧❡s ❝❛❧❝✉❧s ❡t ❞é❝r✐t ❧❛ ❞✐str✐❜✉t✐♦♥ ❞❡s ré♣♦♥s❡s à ✉♥❡ ♦♥❞❡❧❡tt❡ ❞❡ ❍❛❛r ❞❛♥s ❧❡ ✈♦✐s✐♥❛❣❡ ❞✉ ♣♦✐♥t ❞✬✐♥térêt✳ ▲❛ ✜❣✉r❡ ✺✳✽ ♠♦♥tr❡ ❧✬❡①tr❛❝t✐♦♥ ❞❡s ❙❯❘❋s ♣♦✉r ❞❡s ✐♠❛❣❡s ❢❡rr♦✈✐❛✐r❡s✳ ▲✬✐♠❛❣❡ ✐♥té❣r❛❧❡ ❡st ✉♥❡ r❡♣rés❡♥t❛t✐♦♥ s♦✉s ❧❛ ❢♦r♠❡ ❞✬✉♥❡ ✐♠❛❣❡ ♥✉♠ér✐q✉❡ ❡t ✉♥ ❛❧❣♦r✐t❤♠❡✱ ♣❡r♠❡tt❛♥t ❞❡ ❝❛❧❝✉❧❡r r❛♣✐❞❡♠❡♥t ❞❡s s♦♠♠❡s ❞❡ ✈❛❧❡✉rs ❞❛♥s ❞❡s ③♦♥❡s r❡❝t❛♥❣✉❧❛✐r❡s✳ ❆✐♥s✐✱ ❝❡s t②♣❡s ❞❡ ❞❡s❝r✐♣t❡✉rs s♦♥t très ❡✣❝❛❝❡s ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❡t ❧❡ s✉✐✈✐ t❡♠♣♦r❡❧ ❞❡s ♦❜st❛❝❧❡s ❝♦♠♠❡ ❧❡ ♠♦♥tr❡♥t ❧❡s tr❛✈❛✉① ❞❡ ❬▲❡❢❛✉❞❡✉① ✷✵✶✸❪ ❣râ❝❡ à ❧❛ stéré♦✈✐s✐♦♥✱ ❡t ♠ê♠❡ ♣♦✉r ❧❛ ré✲✐❞❡♥t✐✜❝❛t✐♦♥ ❞❡s ♣❡rs♦♥♥❡s ❛✈❡❝ ❞✐✛ér❡♥t❡s ❝❛♠ér❛s ❬❍❛♠❞♦✉♥ ✷✵✶✵❪✳ ❱✐♦❧❛ ❡t ❏♦♥❡s✱ ♦♥t ♣r♦♣♦sé ❍❛❛r✲❧✐❦❡ ❢❡❛t✉r❡s ✉♥ ❞❡s❝r✐♣t❡✉r ❡t ✉♥ ❝❧❛ss✐✜❡✉r ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ✈✐s❛❣❡s ❬❱✐♦❧❛ ✫ ❏♦♥❡s ✷✵✵✶❪✳ ▲❡✉r ❛♣♣r♦❝❤❡ ❡st ❜❛sé❡ s✉r ✉♥❡ ✈❛r✐❛t✐♦♥ ❞❡s ♦♥❞❡❧❡tt❡s ❞❡ ❍❛❛r ♦❜t❡♥✉❡s ♣❛r ❧❛ ❞✐✛ér❡♥❝❡ ❡♥tr❡ ❞❡✉① ré❣✐♦♥s ❞✬✉♥ ♠♦❞è❧❡ r❡❝t❛♥❣✉❧❛✐r❡ ❝♦♠♠❡ ❧❡ ♠♦♥tr❡ ❧❛ ✜❣✉r❡ ✺✳✺❛✳ ❈❡s ❝❛r❛❝tér✐st✐q✉❡s s❡ ❝❛❧❝✉❧❡♥t r❛♣✐❞❡♠❡♥t ❣râ❝❡ à ❧❛ ♣r♦♣r✐été ❞❡s ✐♠❛❣❡s ✐♥té❣r❛❧❡s✳ ▲✬❡①✲ tr❛❝t✐♦♥ ❞❡s ❝❛r❛❝tér✐st✐q✉❡ ❍❛❛r✲❧✐❦❡ s✬♦❜t✐❡♥t ❡♥ ❢❛✐s❛♥t ❧❛ ❞✐✛ér❡♥❝❡ ❡♥tr❡ ❧❛ s♦♠♠❡ ❞❡s ♣✐①❡❧s ❞❡✺✳✸✳ ❙é❧❡❝t✐♦♥ ❞✉ ❞❡s❝r✐♣t❡✉r ✶✵✸ ❧❛ ③♦♥❡ ❜❧❛♥❝❤❡ ❡t ❞❡ ❧❛ s♦♠♠❡ ❞❡ ❧❛ ③♦♥❡ ❢♦♥❝é❡✳ ❊♥s✉✐t❡ ❧❡s ♠❡✐❧❧❡✉r❡s ❝❛r❛❝tér✐st✐q✉❡s s♦♥t sé❧❡❝✲ t✐♦♥♥é❡s ♣❛r ✉♥ ❛❧❣♦r✐t❤♠❡ ❞❡ ❜♦♦st✐♥❣✳ ❈❡❝✐ ❝♦♥s✐st❡ à ❛ss❡♠❜❧❡r ♣❧✉s✐❡✉rs ❝❧❛ss✐✜❡✉rs ❢❛✐❜❧❡s ❛✜♥ ❞✬♦❜t❡♥✐r ✉♥ ❝❧❛ss✐✜❡✉r à ❢♦rt❡ ❝❛♣❛❝✐té✳ ❉❡ ♣❧✉s✱ ✐❧s ✉t✐❧✐s❡♥t ✉♥❡ ✈❛r✐❛♥t❡ ❞✬✉♥ ❛❧❣♦r✐t❤♠❡ ❞✬❆❞❛✲ ❇♦♦st ❡♥ ♠♦❞❡ ❝❛s❝❛❞❡ ❬❇❛r❝③❛❦ ❡t ❛❧✳ ✷✵✵✽❪✳ ▲❛ ❝♦♥✜❣✉r❛t✐♦♥ ❡♥ ❝❛s❝❛❞❡ ♦✛r❡ ✉♥❡ ❣r❛♥❞❡ é❝♦♥♦♠✐❡ ❡♥ t❡♠♣s ❞❡ ❝❛❧❝✉❧✱ ❝❛r ❧❡s ♣r❡♠✐❡rs ❝❧❛ss✐✜❡✉rs ♣❡r♠❡ttr♦♥t ❞❡ ✜❧tr❡r ❧❡ ♣❧✉s ❣r❛♥❞ ♥♦♠❜r❡ ❞❡ ♥é✲ ❣❛t✐❢s s❛♥s ❜❡s♦✐♥ ❞❡ t❡st❡r t♦✉s ❧❡s ❝❧❛ss✐✜❡✉rs ❢❛✐❜❧❡s✳ ▲❡s ❝❛s❝❛❞❡s ❛②❛♥t ❞❡s ❧✐♠✐t❛t✐♦♥s✱ ❝♦♠♠❡ ❧❛ ❞ét❡r♠✐♥❛t✐♦♥ ❡♠♣✐r✐q✉❡ ❞❡s ❜♦♥s t❛✉① ❞❡s ❢❛✉① ♣♦s✐t✐❢s à ❝❤❛q✉❡ ét❛♣❡✱ ❧❡✉r t❡♠♣s ❞✬❡♥tr❛✐♥❡♠❡♥t ❡st ❧❡♥t✱ ❡t ✜♥❛❧❡♠❡♥t ❧✬✉t✐❧✐s❛t✐♦♥ ❞❡s ❝❛s❝❛❞❡s ♣❡✉t ré❞✉✐r❡ ❧❡s ♣❡r❢♦r♠❛♥❝❡s ❣❧♦❜❛❧❡s ❞✉ s②stè♠❡ ❬❍❛r③❛❧❧❛❤ ✷✵✶✶❪✳ ✭❛✮ ❊①❡♠♣❧❡ ❞❡s ♠❛sq✉❡s ❞❡ r❡❝t❛♥❣❧❡s t✐rés ❞❡ ❬❱✐♦❧❛ ✫ ❏♦♥❡s ✷✵✵✶❪✳ ✭❜✮ ❘❡❝t❛♥❣❧❡s ❍❛❛r ♣♦s✐t✐♦♥♥és ❞❛♥s ❧✬✐♠❛❣❡ ❋✐❣✉r❡ ✺✳✺ ✕ ❊①❡♠♣❧❡ ❞❡ ❧✬❡①tr❛❝t✐♦♥ ❞❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡ ❍❛❛r ▲❛ ✜❣✉r❡ ✺✳✻❛ ♥♦✉s ♠♦♥tr❡ ❧❡s ♣r✐♥❝✐♣❛❧❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡ ❍❛❛r r❡t❡♥✉❡s ♣❛r ❧❡ ❜♦♦st✐♥❣ ❛♣rès ✉♥ ❛♣♣r❡♥t✐ss❛❣❡ s✉r ❞❡s ✈♦✐t✉r❡s ❬▲❡❡ ✷✵✵✼❪✳ ▲❛ ✜❣✉r❡ ✺✳✻❜ ♥♦✉s ♠♦♥tr❡ ✉♥❡ ✈❛r✐❛t✐♦♥ ❞❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡ ❍❛❛r✱ ❜❛sé❡ ❞❛♥s ❧❡s ❈♦♥tr♦❧ P♦✐♥ts❬❆❜r❛♠s♦♥ ❡t ❛❧✳ ✷✵✵✼❪ s♦♥t ❧❡s ❈♦♥♥❡❝t❡❞ ❈♦♥tr♦❧ P♦✐♥ts✳ ▲❡s ❈♦♥tr♦❧ P♦✐♥ts s♦♥t ❝♦♥st✐t✉és ❞❡ ❞❡✉① ❣r♦✉♣❡s ❞❡ ♣♦✐♥ts ✭♣♦s✐t✐❢s ❡t ♥é❣❛t✐❢s✮✱ ♦ù ✉♥ ❡①❡♠♣❧❡ ❡st ❝❧❛ssé ♣♦s✐t✐❢✱ s✐ ❧❛ ❞✐✛ér❡♥❝❡ ❡♥tr❡ ❧❛ ✈❛❧❡✉r ♠✐♥✐♠❛❧❡ r❡♣rés❡♥té❡ ♣❛r ✉♥ ♣✐①❡❧ ♣♦s✐t✐❢ ❡s ❧❛ ✈❛❧❡✉r ♠❛①✐♠❛❧❡ ❞✬✉♥ ♣✐①❡❧ ♥é❣❛t✐❢✭❡t ✐♥✈❡rs❡♠❡♥t✮ ❡st s✉♣ér✐❡✉r❡ à ✉♥ s❡✉✐❧✳ ▲✬✐❞é❡ ❞❡s ❈♦♥♥❡❝t❡❞ ❈♦♥tr♦❧ P♦✐♥ts ❡st ❞❡ ré❞✉✐r❡ ❧❡ t❡♠♣s ❞❡ ❝❛❧❝✉❧ ❡t ❞✬❛❥♦✉t❡r ❞❡s ❝♦♥tr❛✐♥t❡s ❞❡ s②♠étr✐❡ ❡t t♦♣♦❧♦❣✐q✉❡s ❛✉① ❝❛r❛❝tér✐st✐q✉❡s✱ ❛ ❝♦♥s✐sté ❞✬❛❥♦✉t❡r ✉♥❡ ❝♦♥tr❛✐♥t❡ ❞❡ ❝♦♥♥❡①✐té s✉r ✉♥ ✈♦✐s✐♥❛❣❡ ❞❡ ✽✱ ❝❡ q✉✐ ✐♠♣❧✐q✉❡ q✉❡ ❝❤❛q✉❡ ♣♦✐♥t ❞♦✐t t♦✉❝❤❡r ❛✉ ♠♦✐♥s ✉♥ ❛✉tr❡ ♣❛r ✉♥ ❝♦✐♥✳ ❈❡s tr❛✈❛✉① ♥♦✉s ♣rés❡♥t❡♥t ❞❡s t❛✉① ❞❡ ❞ét❡❝t✐♦♥ ❞❡ ✈♦✐t✉r❡s ❛✉① ❛❧❡♥t♦✉rs ❞❡ ✾✵ ✪✳ ❯♥ ❞❡s ❡①❡♠♣❧❡s ❞✬✉t✐❧✐s❛t✐♦♥ ❞❡s ♣♦✐♥ts ❞✬✐♥térêt ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ✈♦✐t✉r❡s ✈✉❡s ❞❡ ♣r♦✲ ✜❧ ❡st ♣rés❡♥té ♣❛r ❬❇❞✐r✐ ❡t ❛❧✳ ✷✵✵✾❪✳ ■❧ ♥♦✉s ♣r♦♣♦s❡ ✉♥❡ ✈❛r✐❛♥t❡ ❞❡ ❙❯❘❋ q✉❡ ♥♦✉s ♣♦✉✈♦♥s tr♦✉✈❡r ❞❛♥s ❧❛ ❧✐❜r❛✐r❡ ❈❆▼❊▲▲■❆ ❬❙t❡✉① ✷✵✵✶❪✱ ❡t ✉♥ ❝❧❛ss✐✜❡✉r ❆❞❛❜♦st✐♥❣ ♣♦✉r ❞ét❡r♠✐♥❡r ❧❡s ♣♦✐♥ts ❞✬✐♥térêt ❛♣♣❛rt❡♥❛♥t à ❞❡s ✈♦✐t✉r❡s✱ s✉✐✈✐ ❞✬✉♥❡ ❛♥❛❧②s❡ ❜❛sé❡ sûr ❍♦✉❣❤✱ ♣♦✉r ❞ét❡r♠✐♥❡r ❧❛ ♣♦s✐t✐♦♥ ❞❡s ♣♦✐♥ts ❡t ❞é❝✐❞❡r s✐ ❧✬❡♥s❡♠❜❧❡ ❞❡s ♣♦✐♥ts ❞ét❡❝tés ❢♦r♠❡♥t ✉♥❡ ✈♦✐t✉r❡✳ ▲❡s rés✉❧t❛ts ❛tt❡✐❣♥❡♥t ✉♥❡ ♣ré❝✐s✐♦♥ ❞❡ ✾✺✪✳ ▲❛ ✜❣✉r❡ ✺✳✼ ♥♦✉s ♠♦♥tr❡ ✉♥ ❡①❡♠♣❧❡✳ ❖r✱ ❞❛♥s ❞❡s ❝♦♥t❡①t❡s ♣❡rt✉r❜és ❡t ♥♦t❛♠♠❡♥t ❜r✉✐tés✱ ❧❡s ♣❡r❢♦r♠❛♥❝❡s ❞❡ ❝❡s ❞❡s❝r✐♣t❡✉rs ❧♦❝❛✉① r❡st❡♥t ❢❛✐❜❧❡s ♣❛r r❛♣♣♦rt ❛✉① ❞❡s❝r✐♣t❡✉rs ❣❧♦❜❛✉① q✉✐ tr❛✈❛✐❧❧❡♥t s✉r ❧✬✐♠❛❣❡ ❡♥t✐èr❡✳ ❉❡ ♣❧✉s✱ ❧❡ ♥♦♠❜r❡ ❞❡ ♣♦✐♥ts ✈❛r✐❡ ❞✬✉♥❡ ✐♠❛❣❡ à ✉♥❡ ❛✉tr❡✱ ❡t ♥é❝❡ss✐t❡ ✉♥❡ ❜♦♥♥❡ rés♦❧✉t✐♦♥ ❞❡ ❞é♣❛rt s✉r ❧✬✐♠❛❣❡✱ ❝❡ q✉✐ ❞❛♥s ✉♥ ❡♥✈✐r♦♥♥❡♠❡♥t ❡①t❡r♥❡ ❡t ♣♦✉r ❞❡s ❣r❛♥❞❡s ❞✐st❛♥❝❡s ♥✬❡st ♣❛s t♦✉❥♦✉rs ♣♦ss✐❜❧❡✳ ▲✬❛s♣❡❝t s♣❛t✐❛❧ ❡st é❣❛❧❡♠❡♥t ♣❡r❞✉ ❡t ❧❛ ♣♦s✐t✐♦♥ r❡❧❛t✐✈❡ ❞❡s ♣♦✐♥ts ♥✬❡st ♣❛s ❝♦♥s❡r✈é❡✳ ▲✬✉t✐❧✐s❛t✐♦♥ ❞❡s ♣♦✐♥ts ❞✬✐♥térêt ✐♠♣❧✐q✉❡ ❞✬❛✈♦✐r ✉♥ ❣r❛♥❞ ♥♦♠❜r❡ ❞❡ ❞❡s❝r✐♣t❡✉rs✱ ❝❡ q✉✐ ♣❡✉t ❝♦♥❞✉✐r❡ à ❞❡ ❢❛✉① ❛♣♣❛r✐❡♠❡♥ts ❡t ♣❛r ❝♦♥séq✉❡♥t à ❞❡ ❢❛✉ss❡s ❞ét❡❝t✐♦♥s✳ ❉❡ ♣❧✉s✱ ♥♦✉s ♥❡ ♣♦✉✈♦♥s ♣❛s ❣❛r❛♥t✐r q✉❡ ❧❡s ♣♦✐♥ts ❞✬✐♥térêt s♦✐❡♥t t♦✉❥♦✉rs ✈✐s✐❜❧❡s ❞❛♥s t♦✉t❡s ❧❡s ❝♦♥❞✐t✐♦♥s ❞✬é❝❧❛✐r❛❣❡ à ❧❛ ❞✐st❛♥❝❡ ❞❡ ❞ét❡❝t✐♦♥ q✉❡ ♥♦✉s ✈♦✉❧♦♥s ❛tt❡✐♥❞r❡✳ ❈❡s r❛✐s♦♥s ♥♦✉s ♦❜❧✐❣❡♥t à é❝❛rt❡r ❝❡ t②♣❡ ❞❡ ❞❡s❝r✐♣t❡✉rs ♣♦✉r ❧✬✉t✐❧✐s❛t✐♦♥ ❞❡ ❞❡s❝r✐♣t❡✉rs✶✵✹ ❈❤❛♣✐tr❡ ✺✳ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ✿ tr❛✐♥s ✭❛✮ ▼❡✐❧❧❡✉r❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡ ❍❛❛r ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ✈♦✐t✉r❡s✳ ✭❜✮ ◆✲❈♦♥♥❡①✐t② ❈♦♥tr♦❧ P♦✐♥ts r❡t❡♥✉s ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ✈♦✐t✉r❡s✳ ❋✐❣✉r❡ ✺✳✻ ✕ ■♠❛❣❡s ❡①tr❛✐t❡s ❞❡ ❬❙t❛♥❝✐✉❧❡s❝✉ ❡t ❛❧✳ ✷✵✵✾❪ ❡t ❬▲❡❡ ✷✵✵✼❪✳ ❋✐❣✉r❡ ✺✳✼ ✕ ❉ét❡❝t✐♦♥ ❞❡s ✈♦✐t✉r❡s à ♣❛rt✐r ❞❡s ♣♦✐♥ts ❞✬✐♥térêt✳ ❬❇❞✐r✐ ❡t ❛❧✳ ✷✵✵✾❪ ▲✬✐♠❛❣❡ ❞❡ ❣❛✉❝❤❡ ♠♦♥tr❡ ❧✬✐♠❛❣❡ ♦r✐❣✐♥❛❧❡✳ ▲✬✐♠❛❣❡ ❝❡♥tr❛❧❡ ♠♦♥tr❡ ❧❡s ❡①tr❛❝t✐♦♥s ❞❡s ♣♦✐♥ts ❞✬✐♥térêt✱ ❡t ❧✬✐♠❛❣❡ ❞❡ ❞r♦✐t❡ ❧❡s ♣♦✐♥ts ❞✬✐♥térêt rét❡♥✉s ❝♦♠♠❡ ❞❡s ♣♦✐♥ts ❛♣♣❛rt❡♥❛♥t à ❞❡s ✈♦✐t✉r❡s ❡t ❧❡s ❞ét❡❝t✐♦♥s ❞❡s ✈♦✐t✉r❡s ❛♣rès ❛✈♦✐r ❛♥❛❧②sé ❧❛ ♣♦s✐t✐♦♥ ❞❡s ♣♦✐♥ts ❣râ❝❡ à ✉♥❡ ♠ét❤♦❞❡ s❡♠❜❧❛❜❧❡ à ❧❛ tr❛♥s❢♦r♠é❡ ❞❡ ❍♦✉❣❤✳✺✳✸✳ ❙é❧❡❝t✐♦♥ ❞✉ ❞❡s❝r✐♣t❡✉r ✶✵✺ ✭❛✮ P♦✐♥ts ❞✬✐♥térêt ❙❯❘❋ ♣♦✉r ❧❡ tr❛✐♥ ✭❜✮ P♦✐♥ts ❞✬✐♥térêt ♣♦✉r ❧❛ s❝è♥❡✳ ✭❝✮ ❆♣♣❛r✐❡♠❡♥t ❡♥tr❡ ♣♦✐♥ts ❞✬✐♥térêt ❞❡ ❞❡✉① ✐♠❛❣❡s✳ ✭❞✮ ❈♦rr❡s♣♦♥❞❛♥❝❡ ❞❡s ♣♦✐♥ts ❛♣rès ❛♣♣❛r✐❡♠❡♥t ❛✈❡❝ ❘❆◆❙❆❈ ♣♦✉r é❧✐♠✐♥❡r ❧❡s ❢❛✉① ❛♣♣❛r✐❡♠❡♥ts✳ ❋✐❣✉r❡ ✺✳✽ ✕ ❊①tr❛❝t✐♦♥ ❞❡s ♣♦✐♥ts ❙❯❘❋ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✳ ❈❡tt❡ ✐♠❛❣❡ ♥♦✉s ♠♦♥tr❡ ❧✬✉s❛❣❡ ❞❡s ♣♦✐♥ts ❞✬✐♥térêt ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s✳ ❉✬❛❜♦r❞✱ ✐❧ ❢❛✉t ❝❛r❛❝tér✐s❡r ❧✬♦❜❥❡t ♣❛r ❞❡s ♣♦✐♥ts ❙❯❘❋ ✭s✉❜✜❣✉r❡ ✭❛✮✮✳ ❊♥ s❡❝♦♥❞ ❧✐❡✉✱ ✐❧ ❢❛✉t ❡①tr❛✐r❡ ❧❡s ♣♦✐♥ts ❞✬✐♥térêt ❞❛♥s ❧❛ s❝è♥❡ ❡t tr♦✉✈❡r ❞❡s ♣♦✐♥ts r❡ss❡♠❜❧❛♥ts ❡♥tr❡ ❧❛ s❝è♥❡ ❡t ❧✬♦❜❥❡t ✭s✉❜✐❢✉❣r❡ ✭❜✮❡t✭❝✮✮✳ ●râ❝❡ à ❧❛ ❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ❧❛ ❞✐str✐❜✉t✐♦♥ s♣❛t✐❛❧❡ ❞❡s ♣♦✐♥ts ❞❛♥s ❧✬✐♠❛❣❡ ❞✬♦r✐❣✐♥❡✱ ♥♦✉s ♣♦✉✈♦♥s é❧✐♠✐♥❡r ❧❡s ♠❛✉✈❛✐s ❛♣♣❛r✐❡♠❡♥ts ✭s✉❜✜❣✉r❡ ✭❞✮✮✳ ◆♦✉s ♣♦✉✈♦♥s ✈♦✐r q✉✬✐❧ ❡①✐st❡ ✉♥ ❣r❛♥❞ ♥♦♠❜r❡ ❞❡ ♣♦✐♥ts q✉✐ ♦♥t été ❛♣♣❛r✐és ❛✉ ❞é❜✉t✱ ♠❛✐s q✉✐ ✜♥❛❧❡♠❡♥t ♦♥t été é❧✐♠✐♥és✳ ❊♥ ♦✉tr❡✱ ❝❡rt❛✐♥s ❞❡s ♣♦✐♥ts ❞✬✐♥térêt s❡ ❝♦♥❝❡♥tr❡♥t ❞❛♥s ❞❡s ♣❡t✐ts ❞ét❛✐❧s ❞✉ tr❛✐♥✱ ❝♦♠♠❡ ❧❡ ♥✉♠ér♦ ♦✉ ❧❡ ♠♦❞è❧❡✱ q✉✐ s♦✉s ❝❡rt❛✐♥❡s ❝♦♥❞✐t✐♦♥s ✭ré✢❡ts✱ ❞✐st❛♥❝❡✱✳✳✳✮✱ ♥❡ s❡r♦♥t t♦✉❥♦✉rs ✈✐s✐❜❧❡s✳✶✵✻ ❈❤❛♣✐tr❡ ✺✳ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ✿ tr❛✐♥s ❣❧♦❜❛✉①✳ ❈❡♣❡♥❞❛♥t✱ ✐❧s ♣❡✉✈❡♥t êtr❡ ✉t✐❧✐sés ❞❛♥s ❞❡s ❛♣♣❧✐❝❛t✐♦♥s ❢✉t✉r❡s ♣♦✉r ❛✉❣♠❡♥t❡r ❧✬❡✣❝❛❝✐té ❞✉ ❞❡s❝r✐♣t❡✉r ❣❧♦❜❛❧✳ ✺✳✸✳✷ ❆♥❛❧②s❡ ❣❧♦❜❛❧❡ ✿ ❍✐st♦❣r❛♠♠❡ ❞❡ ❣r❛❞✐❡♥ts ♦r✐❡♥tés ✭❍❖●✮ ❈♦♠♣t❡ t❡♥✉ ❞❡ ❧❛ ♥é❝❡ss✐té ❞✬✉♥ s②stè♠❡ t❡♠♣s ré❡❧ ❞❛♥s ❧❡ ❞♦♠❛✐♥❡ ❞❡s ■❚❙✱ ❧❛ ♠❛❥♦r✐té ❞❡s ❞❡s❝r✐♣t❡✉rs ✉t✐❧✐sés ❛❝t✉❡❧❧❡♠❡♥t s♦♥t ♣❡✉ ❣♦✉r♠❛♥❞s ❡♥ ♣✉✐ss❛♥❝❡ ❞❡ ❝❛❧❝✉❧s✱ ❝♦♠♠❡ ❧❛ s②♠étr✐❡ ❞❡ ❧❛ ♣❛rt✐❡ ❛rr✐èr❡ ❞❡s ✈é❤✐❝✉❧❡s✱ ♣❛r ❡①❡♠♣❧❡ ❬❇r♦❣❣✐ ❡t ❛❧✳ ✷✵✵✹❪✳ ❊♥ r❡✈❛♥❝❤❡✱ ❬❆rr♦s♣✐❞❡ ❡t ❛❧✳ ✷✵✶✷❪ ♥♦✉s ❞é♠♦♥tr❡ q✉❡ ❧❛ s②♠étr✐❡ ❡st ✉♥ ❞❡s❝r✐♣t❡✉r ♣♦ssé❞❛♥t ✉♥❡ ❝❛♣❛❝✐té ❧✐♠✐té❡ ♣♦✉r ❞✐s❝r✐♠✐♥❡r ❧❡s ✐♠❛❣❡s ❛✈❡❝ ✈é❤✐❝✉❧❡s ❞❡s ✐♠❛❣❡s s❛♥s✳ ▲❛ ✜❣✉r❡ ✺✳✾ ♥♦✉s ♠♦♥tr❡ ❧❛ ❞✐str✐❜✉t✐♦♥ s♣❛t✐❛❧❡ ❞✬✉♥ ❞❡s❝r✐♣t❡✉r ❞❡ s②♠étr✐❡ ♣♦✉r ✉♥❡ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❞❡s ✈♦✐t✉r❡s ❡t ♥♦♥✲✈♦✐t✉r❡s✳ P♦✉r ❝❡tt❡ r❛✐s♦♥ ✐❧s ♦♥t ♣r♦♣♦sé ❞✬✉t✐❧✐s❡r ✉♥ ❞❡s❝r✐♣t❡✉r ❜❛sé s✉r ❍❖●✱ ❝❛r ❧❛ ♣❛rt✐❡ ❛rr✐èr❡ ❞❡s ✈♦✐t✉r❡s s❡ ❝❛r❛❝tér✐s❡ ♣❛r ❞❡s ❣r❛❞✐❡♥ts ✈❡rt✐❝❛✉① ❡t ❤♦r✐③♦♥t❛✉① ✭❧❛ ♣❧❛q✉❡ ❞✬✐♠♠❛tr✐❝✉❧❛t✐♦♥✱ ❧❛ ✈✐tr❡ ❛rr✐èr❡✱ ❡t❝✮✳ ❯♥❡ ❛♥❛❧②s❡ ❞✉ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖●✱ ❞❡s ❛♠♣❧✐t✉❞❡s ❡t ❞❡s ❞✐st❛♥❝❡s ❡♥tr❡ ❝❡rt❛✐♥s ❜✐♥s ❡st ré❛❧✐sé❡ ♣♦✉r ♦❜t❡♥✐r ✉♥ ❞❡✉①✐è♠❡ ❞❡s❝r✐♣t❡✉r✳ ▲❡s rés✉❧t❛ts ♦❜t❡♥✉s ❞❛♥s ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❛tt❡✐❣♥❡♥t ❡♥ ♠♦②❡♥♥❡ ✉♥ ✾✷✳✹✽✪ ❞✬❡①❛❝t✐t✉❞❡✳ ❋✐❣✉r❡ ✺✳✾ ✕ ❉✐str✐❜✉t✐♦♥ ❞✉ ❞❡s❝r✐♣t❡✉r ❞❡ s②♠étr✐❡ t❡sté ♣❛r ❬❆rr♦s♣✐❞❡ ❡t ❛❧✳ ✷✵✶✷❪✳ ❱✉ ❧❡s rés✉❧t❛ts ♦❜t❡♥✉s ❞❛♥s ❧❡s tr❛✈❛✉① ❞❡ ❬❆rr♦s♣✐❞❡ ❡t ❛❧✳ ✷✵✶✷❪ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ✈♦✐t✉r❡s ❡t ❧❡s tr❛✈❛✉① ❞❡ ❬❍❛r③❛❧❧❛❤ ✷✵✶✶❪ ♣♦✉r ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ♠✉❧t✐✲❝❧❛ss❡✱ ♥♦✉s ♣r♦♣♦s♦♥s ❞✬✉t✐❧✐s❡r ❧❡ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖● ♣♦✉r ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ❧❛ ❢♦r♠❡ ❞✉ tr❛✐♥ ❞❛♥s ♥♦s ✐♠❛❣❡s ❘❖■ sé❧❡❝t✐♦♥♥é❡s à ♣❛rt✐r ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡✳ ❙✐ ❧❛ ✈♦✐❡ ♥✬❡st ♣❧✉s ✈✐s✐❜❧❡ à ❝❛✉s❡ ❞✬✉♥ tr❛✐♥✱ ❧❛ s✐❧❤♦✉❡tt❡ ❞✉ tr❛✐♥ ♣❡✉t êtr❡ ❡♥❝❛❞ré❡ ❞❛♥s ❧❛ ❘❖■✱ ❝❡ q✉✐ ♥♦✉s ♣❡r♠❡ttr❛ ❞✬❛✈♦✐r ✉♥ ❞❡s❝r✐♣t❡✉r ✜①❡ ❡t ♣❛r ❝♦♥séq✉❡♥t ✉♥❡ ❜♦♥♥❡ ❞✐str✐❜✉t✐♦♥ ❞❡s ❜❧♦❝s ❡t ❝❡❧❧✉❧❡s ❞✉ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖●✱ q✉✐ ♣❡r♠❡ttr❛ ❞❡ ❝❛r❛❝tér✐s❡r ❧❡ ♣r♦✜❧ ❞✉ ♠étr♦✳ P♦✉r ♦❜t❡♥✐r ❧❡ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖●✱ ✐❧ ❡st ♥é❝❡ss❛✐r❡ ❞❡ ✜①❡r ❝❡rt❛✐♥s ♣❛r❛♠ètr❡s ❝♦♠♠❡ ❧❡ ♥♦♠❜r❡ ❞❡s ❜❧♦❝s✱ ❞❡s ❝❡❧❧✉❧❡s✱ ❞❡s ❜✐♥s ❡t ❧✬✐♥t❡r✈❛❧❧❡ ❞❡s ♦r✐❡♥t❛t✐♦♥s✳ ▲❛ ✈❡rs✐♦♥ ❞❡ ❍❖● ✉t✐❧✐sé❡✱ ❡♥ t❡r♠❡s ❞❡ ❞✐str✐❜✉t✐♦♥ ❞❡s ❜❧♦❝s✴❝❡❧❧✉❧❡s ❡st ❞❡ ✶ ❝❡❧❧✉❧❡ ♣❛r ❜❧♦❝✳ ▲❛ ✜❣✉r❡ ✺✳✶✵ ♥♦✉s ♠♦♥tr❡ ✉♥ ❡①❡♠♣❧❡ ❞✬❡①tr❛❝t✐♦♥ ❞❡ ❍❖● ♣♦✉r ✉♥❡ ✐♠❛❣❡ ❡♥ ♣rés❡♥❝❡ ❞✬✉♥ tr❛✐♥✳ ❈❡tt❡ r❡♣rés❡♥t❛t✐♦♥ ❡t ❧✬❡①tr❛❝t✐♦♥ ❞❡ ❍❖● ♦♥t été ♦❜t❡♥✉❡s ❣râ❝❡ à ❧❛ ❧✐❜r❛✐r✐❡ ❱▲❋❡❛t ❬❱❡❞❛❧❞✐ ✫ ❋✉❧❦❡rs♦♥ ✷✵✵✽❪✳ ◆♦✉s ♣♦✉✈♦♥s ✈♦✐r ❝♦♠♠❡♥t ❧❡s ❞✐✛ér❡♥ts ❜✐♥s ❞❡ ❍❖● ♣❡r♠❡tt❡♥t ❞❡ ❞✐st✐♥❣✉❡r ❧❛ s✐❧❤♦✉❡tt❡ ❞✉ tr❛✐♥✳ ❈❡♣❡♥❞❛♥t✱ ♣♦✉r ♥♦tr❡ ❞❡s❝r✐♣t❡✉r✱ ♥♦✉s ✉t✐❧✐s❡r♦♥s ❧❛ ✈❡rs✐♦♥ ❝❧❛ss✐q✉❡ ❞❡ ❍❖●✱ ❞ét❛✐❧❧é❡ ♣ré✲ ❝é❞❡♠♠❡♥t ❞❛♥s ❧❛ s❡❝t✐♦♥ ✹✳✸✳✸ ❛✈❡❝ ❧❡s ❜✐♥s ❞✐str✐❜✉és ❝♦♠♠❡ ❞❛♥s ❧✬éq✉❛t✐♦♥ ✹✳✶✶✳ ▲❛ t❛✐❧❧❡ ❞✉ ❞❡s❝r✐♣t❡✉r ♣♦✉r ♥♦tr❡ ❞✐str✐❜✉t✐♦♥ s✉✐t ❧❛ ❢♦r♠✉❧❡ ✺✳✶✱ ♦ù Nbins = 10✳ T aille descripteur HOG = Nblocs verticaux × Nblocs horizontaux × Ncellules par bloc × Nbins ✭✺✳✶✮✺✳✹✳ ❘és✉❧t❛ts ✶✵✼ ❈❡♣❡♥❞❛♥t✱ ♣❧✉s ❧❡ ♥♦♠❜r❡ ❞❡s ❝❡❧❧✉❧❡s ❡st ❣r❛♥❞✱ ♠♦✐♥s ❧❡ ❞❡s❝r✐♣t❡✉r ❡st r♦❜✉st❡ ❛✉① ❞é♣❧❛✲ ❝❡♠❡♥ts ✈❡rt✐❝❛✉① ❡t ❤♦r✐③♦♥t❛✉① ❡t ✐❧ ❡st ♣❧✉s ❝♦ût❡✉① ❡♥ t❡♠♣s ❞❡ ❝❛❧❝✉❧ ❡t ❡♥ ♠é♠♦✐r❡✳ ❊♥ ♣❛rt✐❝✉❧✐❡r✱ s✐ ❧❡ tr❛✐♥ ♥✬❡st ♣❛s ❝❡♥tré ❞❛♥s ❧❛ ❘❖■ à ❝❛✉s❡ ❞✬✉♥❡ ♠❛✉✈❛✐s❡ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ♦✉ ✉♥ ♣r♦❜❧è♠❡ ❞✬é❝❤❡❧❧❡ ✭❝❤❛♥❣❡♠❡♥t ❞❡ ♣❡♥t❡✮✱ ❧❡s ❜❧♦❝s ❞❡ ❍❖● ♥❡ s❡r♦♥t ♣❛s ♣♦s✐t✐♦♥♥és ❡①❛❝t❡♠❡♥t ❞❛♥s ❧❛ ♣♦s✐t✐♦♥ s♦✉❤❛✐té❡ ❡t ❧❡ ❝❧❛ss✐✜❡✉r r✐sq✉❡ ❞❡ ❞♦♥♥❡r ✉♥ rés✉❧t❛t ♥é❣❛t✐❢✳ ❈❡❝✐ ♥♦✉s ♦❜❧✐❣❡ à tr♦✉✈❡r ✉♥ ❝♦♠♣r♦♠✐s ❡♥tr❡ ❧❡ ♥♦♠❜r❡ ❞❡s ❜❧♦❝s ❡t ❧✬❡①❛❝t✐t✉❞❡ ❞✉ ❝❧❛ss✐✜❡✉r✳ ✭❛✮ ■♠❛❣❡ ♦r✐❣✐♥❛❧❡✳ ✭❜✮ ❍❖● ✶✺ ❧✐❣♥❡s ✶✵ ❝♦✲ ❧♦♥♥❡s✳ ✭❝✮ ❍❖● ✽ ❧✐❣♥❡s ✺ ❝♦✲ ❧♦♥♥❡s✳ ✭❞✮ ❍❖● ✹ ❧✐❣♥❡s ✸ ❝♦✲ ❧♦♥♥❡s✳ ❋✐❣✉r❡ ✺✳✶✵ ✕ ❉❡s❝r✐♣t❡✉r ❞❡ ❍❖●✳ ▲❛ ✜❣✉r❡ ♠♦♥tr❡ ❧✬❡①tr❛❝t✐♦♥ ❞✉ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖● ❞❛♥s ✉♥❡ ✐♠❛❣❡ ❘❖■ ❡♥ ♣rés❡♥❝❡ ❞✬✉♥ tr❛✐♥✳ ▲❡s ♦r✐❡♥t❛t✐♦♥s s♦♥t ♣r✐s❡s ♥♦♥✲s✐❣♥é❡s ❛✈❡❝ ✉♥ t♦t❛❧ ❞❡ ✽ ♦r✐❡♥t❛t✐♦♥s ♣❛r ❝❡❧❧✉❧❡✳ ▲❛ ✜❣✉r❡ ✭❜✮ ♠♦♥tr❡ ❧❡ rés✉❧t❛t ❞✉ ❞❡s❝r✐♣t❡✉r ♦❜t❡♥✉ ❛✈❡❝ ✉♥❡ ❝♦♥✜❣✉r❛t✐♦♥ ❞❡ t❛✐❧❧❡ ❞❡ ❜❧♦❝ ❞❡ ✶✵ ♣✐①❡❧s✳ ▲❛ ✜❣✉r❡ ✭❝✮ ♣♦✉r ✉♥❡ t❛✐❧❧❡ ❞❡ ❜❧♦❝ ❞❡ ✷✵ ♣✐①❡❧s ❡t ✜♥❛❧❡♠❡♥t ✭❞✮ ♣♦✉r ✹✵ ♣✐①❡❧s✳ ◆♦✉s ♣♦✉✈♦♥s ✈♦✐r q✉❡ ♣❧✉s ❧❡ ❜❧♦❝ ❡st ❣r❛♥❞✱ ♠♦✐♥s ❧✬✐♥❢♦r♠❛t✐♦♥ ❛♣♣♦rté❡ ♣❛r ❧❡ ❞❡s❝r✐♣t❡✉r ❡st ❞ét❛✐❧❧é❡✳ P❧✉s ♣❡t✐t ❡st ❧❡ ❜❧♦❝✱ ♣❧✉s ❣r❛♥❞ s❡r❛ ❧❡ ❞❡s❝r✐♣t❡✉r✳ ✺✳✹ ❘és✉❧t❛ts ❆✜♥ ❞✬é✈❛❧✉❡r ❧❡s ♣❡r❢♦r♠❛♥❝❡s ❞❡ ❧✬❛♣♣r♦❝❤❡ ♣rés❡♥té❡ ❞❛♥s ❝❡ ❝❤❛♣✐tr❡✱ ♥♦✉s ❛✈♦♥s ♣r♦❝é❞é à ❞❡s ❡①♣ér✐♠❡♥t❛t✐♦♥s ❡t é✈❛❧✉❛t✐♦♥s ❡①❤❛✉st✐✈❡s s✉r ❞❡s ✐♠❛❣❡s ✐ss✉❡s ❞❡ ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s q✉✬♦♥ ❛ ❝réé❡✱ ♣r♦✈❡♥❛♥t ❞❡s ✈✐❞é♦s ❛❝q✉✐s❡s ❧♦rs ❞❡ ♥♦s ❡①♣ér✐♠❡♥t❛t✐♦♥s ❞❛♥s ❧❡ t❡rr❛✐♥ ❛✐♥s✐ q✉❡ ❞❡ ✈✐❞é♦s ❡t ❞✬✐♠❛❣❡s ❞✬■♥t❡r♥❡t✳ ❉❛♥s ✉♥ ♣r❡♠✐❡r t❡♠♣s✱ ♥♦✉s ❛✈♦♥s t❡sté ❧✬❡✣❝❛❝✐té ❞❡s ❞✐✛ér❡♥t❡s ❞✐str✐❜✉t✐♦♥s ❞✉ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖● ❛✈❡❝ ❧❡s ✐♠❛❣❡s ❞❡ ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s✳ P♦✉r ❧❡ ♠❛tér✐❛❧✐s❡r✱ ✐❧ ❡st ♥é❝❡ss❛✐r❡ ❞❡ ré❛❧✐s❡r ✉♥ ❛♣♣r❡♥t✐ss❛❣❡ s✉♣❡r✈✐sé ♣♦✉r ❧❡q✉❡❧ ♥♦✉s ♥✬❛✈♦♥s sé❧❡❝t✐♦♥♥é q✉❡ ✸✵✪ ❞❡ ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ♣♦✉r ❧✬❡♥tr❛î♥❡♠❡♥t ❡t ✼✵ ✪ ♣♦✉r ❧❛ ♣❤❛s❡ ❞❡ t❡st✳ ❉❛♥s ✉♥❡ s❡❝♦♥❞❡ ét❛♣❡✱ ♥♦✉s ❛❧❧♦♥s t❡st❡r ❧❡ ❝❧❛ss✐✜❡✉r ❛✈❡❝ ❞❡s ✐♠❛❣❡s ✐ss✉❡s ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s✳ ❈♦♠♠❡ ✐♥❞✐q✉é✱ ✉♥❡ ❢♦✐s ❧❡s r❛✐❧s ❞ét❡❝tés✱ ♥♦✉s ❡①tr❛②♦♥s ✉♥❡ ✐♠❛❣❡ à ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡✱ ❝❛r s✐ ❧❛ ✈♦✐❡ ♥✬❡st ♣❧✉s ✈✐s✐❜❧❡✱ ❡❧❧❡ ♣❡✉t êtr❡ ❝♦✉✈❡rt❡ ♣❛r ✉♥ tr❛✐♥✳ ❈❡s ✐♠❛❣❡s ❘❖■ s♦♥t ❛❧♦rs é✈❛❧✉é❡s ♣❛r ♥♦tr❡ ❞ét❡❝t❡✉r ♣♦✉r ❞ét❡r♠✐♥❡r ❧❛ ♣rés❡♥❝❡ ♦✉ ♥♦♥ ❞✬✉♥ tr❛✐♥✳ P♦✉r ❞ét❡r♠✐♥❡r ❧❛ q✉❛❧✐té ❞✉ ❞❡s❝r✐♣t❡✉r ❡t ❞✉ ❝❧❛ss✐✜❡✉r✱ ♥♦✉s ✉t✐❧✐s♦♥s ❧❡s ♠❡s✉r❡s ❞❡ ♣ré❝✐s✐♦♥ ❡t ❞❡ s❡♥s✐❜✐❧✐té ♦✉ r❛♣♣❡❧ ✭éq✉❛t✐♦♥s ✺✳✷ ❡t ✺✳✸✮ ✿ P recision ´ = V P V P + F P ✭✺✳✷✮ Sensibilite´ = Rappel = V P V P + F N ✭✺✳✸✮ ❆✜♥ ❞✬❤♦♠♦❣é♥é✐s❡r ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s ❡t ❞✬❛✈♦✐r ✉♥ ❞❡s❝r✐♣t❡✉r ❞❡ ❧❛ ♠ê♠❡ t❛✐❧❧❡ ♣♦✉r t♦✉t❡s ❧❡s ✐♠❛❣❡s✱ t♦✉t❡s ♦♥t été r❡✲❞✐♠❡♥s✐♦♥♥é❡s à ✉♥❡ t❛✐❧❧❡ ✜①❡ ❞❡ 150 × 100 ♣✐①❡❧s✱ ❡♥ r❡s♣❡❝t❛♥t ❧❡ r❛t✐♦ ❤❛✉t❡✉r✴❧❛r❣❡✉r ❞✉ tr❛✐♥✳✶✵✽ ❈❤❛♣✐tr❡ ✺✳ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ✿ tr❛✐♥s ❈♦♠♠❡ ❧❡ ❞❡s❝r✐♣t❡✉r ❝❤♦✐s✐ ❡st ✉♥ ❞❡s❝r✐♣t❡✉r ❣❧♦❜❛❧✱ ♥♦✉s ❞❡✈♦♥s ❞ét❡r♠✐♥❡r ❧❛ ❞✐str✐❜✉t✐♦♥ ❞❡s ❜❧♦❝s ❞❡ ❍❖● q✉✐ ❞♦♥♥❡ ❧❡s ♠❡✐❧❧❡✉rs rés✉❧t❛ts ❡♥ t❡r♠❡s ❞❡ ❝❧❛ss✐✜❝❛t✐♦♥✳ ▲❛ ✜❣✉r❡ ✺✳✶✶ ♠♦♥tr❡ ❧❡s rés✉❧t❛ts ❞✬❡①❛❝t✐t✉❞❡ ♣♦✉r ❞✐✛ér❡♥t❡s ❝♦♥✜❣✉r❛t✐♦♥s ❞❡ ❍❖● ♦ù ❧❡ ♥♦♠❜r❡ ❞❡s ❧✐❣♥❡s ❡t ❝♦❧♦♥♥❡s ✈❛r✐❡ ♣r♦❣r❡ss✐✈❡♠❡♥t✳ ▲❡ t✐r❛❣❡ ❛❧é❛t♦✐r❡ ❞❡ ❧❛ ❜❛s❡ ❞✬❛♣♣r❡♥t✐ss❛❣❡ ❛ été r❡♣r♦❞✉✐t ✶✵ ❢♦✐s ❡t ❧❡s ♣❡r❢♦r♠❛♥❝❡s ♦♥t été ♠♦②❡♥♥é❡s✳ ◆♦✉s ❛✈♦♥s ✉t✐❧✐sé ✉♥ ❝❧❛ss✐✜❡✉r ❙❱▼ à ♥♦②❛✉ ❧✐♥é❛✐r❡✳ ❋✐❣✉r❡ ✺✳✶✶ ✕ ➱❧❡❝t✐♦♥ ❞✉ ♥♦♠❜r❡ ❞❡ ❧✐❣♥❡s ❡t ❞❡ ❝♦❧♦♥♥❡s ♣♦✉r ❧❡ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖●✳ ◆♦✉s ♣♦✉✈♦♥s ✈♦✐r ❝♦♠♠❡♥t ✈❛r✐❡ ❧✬❡①❛❝t✐t✉❞❡ ❞✉ ❝❧❛ss✐✜❡✉r ❙❱▼ ❡♥ ❢♦♥❝t✐♦♥ ❞✉ ♥♦♠❜r❡ ❞❡ ❝♦❧♦♥♥❡s ❡t ❞❡ ❧✐❣♥❡s ❞✉ ❞❡s❝r✐♣t❡✉r ❍❖●✳ ▲❛ ♠❡✐❧❧❡✉r❡ ❞✐str✐❜✉t✐♦♥ ❡♥ t❡r♠❡s ❞✬❡①❛❝t✐t✉❞❡ ❡st ✶✵ ❧✐❣♥❡s ❡t ✶✵ ❝♦❧♦♥♥❡s✳ ❈❡♣❡♥❞❛♥t✱ ❧❡ ❣r❛♣❤❡ ♠♦♥tr❡ q✉❡ ❞❡s ❞❡s❝r✐♣t❡✉rs ♣❧✉s ♣❡t✐ts ❝♦♠♠❡ ✼ ❧✐❣♥❡s ❡t ✹ ❝♦❧♦♥♥❡s ❞♦♥♥❡♥t ❞❡s rés✉❧t❛ts s✐♠✐❧❛✐r❡s✳ ▲❛ ♠❡✐❧❧❡✉r❡ ❡①❛❝t✐t✉❞❡ ♣♦✉r ✼ ❧✐❣♥❡s ❡t ✹ ❝♦❧♦♥♥❡s ❡st ❞❡ 98.98% ▲❛ ✜❣✉r❡ ✺✳✶✶ ♥♦✉s ♠♦♥tr❡ ❝♦♠♠❡♥t ❧✬❡①❛❝t✐t✉❞❡ ❞✉ ❝❧❛ss✐✜❡✉r ❛✉❣♠❡♥t❡ ❡♥ ♠ê♠❡ t❡♠♣s q✉❡ ❧❡ ♥♦♠❜r❡ ❞❡s ❝❡❧❧✉❧❡s ❛✉❣♠❡♥t❡✳ ❈❡♣❡♥❞❛♥t✱ ♣❧✉s ♣❡t✐t ❡st ❧❡ ❜❧♦❝✱ ♣❧✉s ❣r❛♥❞ s❡r❛ ❧❡ ❞❡s❝r✐♣t❡✉r ❡t ♠♦✐♥s s❡♥s✐❜❧❡ s❡r❛ ❝❡❧✉✐✲❝✐ à ❞❡s ❞é♣❧❛❝❡♠❡♥ts✳ ❯♥ ❜♦♥ ❝♦♠♣r♦♠✐s ♣❡✉t✲êtr❡ ❞❡ ❝❤♦✐s✐r ❝♦♠♠❡ ♠❡✐❧❧❡✉r❡ ❝♦♥✜❣✉r❛t✐♦♥ ❞❡ ❍❖●✱ ✼ ❧✐❣♥❡s ❡t ✹ ❝♦❧♦♥♥❡s✱ ❝❡ q✉✐ ❢❛✐t ✉♥ ❜❧♦❝ ❞✬✉♥❡ t❛✐❧❧❡ ❞❡ 20 × 25 ♣✐①❡❧s✳ P♦✉r ❝❡tt❡ ❝♦♥✜❣✉r❛t✐♦♥ ❧❡ rés✉❧t❛t ❞❡ ❞ét❡❝t✐♦♥ ♣♦✉r ❧❛ ♣❤❛s❡ ❞❡ t❡st ❡st ❞❡ ✾✽✳✾✽✪ ❞✬❡①❛❝t✐t✉❞❡ ❡t ❞❡ ✾✾✳✸✻✪ ❞❡ s❡♥s✐❜✐❧✐té✳ P♦✉r ♣♦✉✈♦✐r ♠✐❡✉① ❛♥❛❧②s❡r ❧❡s ♣❡r❢♦r♠❛♥❝❡s ❞✉ ❞❡s❝r✐♣t❡✉r ❡t ❞✉ ❝❧❛ss✐✜❡✉r✱ ♥♦✉s ❛♥❛❧②s♦♥s ❧❛ ❝♦✉r❜❡ ♣ré❝✐s✐♦♥✴r❛♣♣❡❧ ❡①♣♦sé❡ ❞❛♥s ❧❛ ✜❣✉r❡ ✺✳✶✷✳ ❈❡tt❡ ❝♦✉r❜❡ ❡st ♦❜t❡♥✉❡ ❡♥ ❢❛✐s❛♥t ✈❛r✐❡r ❧❡ s❡✉✐❧ ❞❡ ❞ét❡❝t✐♦♥ ❞✉ ❙❱▼✳ P❧✉s ❝❡ s❡✉✐❧ ❡st ❤❛✉t✱ ♠❡✐❧❧❡✉r❡ s❡r❛ ❧❛ ♣ré❝✐s✐♦♥ ❡t ♣✐r❡ ❧❡ r❛♣♣❡❧✳ ❈❡♣❡♥❞❛♥t✱ ❧❡ ❝❤♦✐① ❞✉ ♣♦✐♥t ❞❡ ❢♦♥❝t✐♦♥♥❡♠❡♥t ❞é♣❡♥❞r❛ ❞❡ ❧✬❛♣♣❧✐❝❛t✐♦♥✳ ◆♦✉s ♣♦✉✈♦♥s ✈♦✐r q✉❡ s✐ ♥♦✉s ❡①✐❣❡♦♥s ❞✉ ❝❧❛ss✐✜❡✉r ❞✬❛✈♦✐r ✉♥ r❛♣♣❡❧ ❞❡ ✶✵✵ ✪✱ ❝✬❡st✲à✲❞✐r❡✱ ♥♦✉s ♥✬❛❝❝❡♣t♦♥s ❛✉❝✉♥ ❢❛✉① ♥é❣❛t✐❢✱ ❧❛ ♣ré❝✐s✐♦♥ ❞❡s❝❡♥❞ à s❡✉❧❡♠❡♥t ✾✼✪✳ ❆✜♥ ❞✬é✈❛❧✉❡r q✉❛♥t✐t❛t✐✈❡♠❡♥t ❧❡s ❡rr❡✉rs ❞❡ ❞ét❡❝t✐♦♥ ❞❡ tr❛✐♥s✱ ♥♦✉s ♣♦✉✈♦♥s ❡①♣❧♦✐t❡r ❧❛ ♠❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ❞✉ t❛❜❧❡❛✉ ✺✳✸✳ ❙❡✉❧❡♠❡♥t ✹ ✐♠❛❣❡s ❞❡s tr❛✐♥s ♥✬♦♥t ♣❛s été ❜✐❡♥ ❞ét❡❝té❡s✱ ❡t ✹ ✐♠❛❣❡s ♦♥t été ❞ét❡❝té❡s ❝♦♠♠❡ ❢❛✉① ♣♦s✐t✐❢s✳ ❈❡♣❡♥❞❛♥t✱ ❝❡s ✐♠❛❣❡s ❝♦rr❡s♣♦♥❞❡♥t à ❞❡s ✈r❛✐ ♥é❣❛t✐❢s ❞❡ ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s q✉✐ ❝♦rr❡s♣♦♥❞❡♥t à ❞❡s ❡①❡♠♣❧❡s ❞❡ tr❛✐♥s✳ ❈❡❝✐ ❢❛✐t q✉❡ ❧❡✉r s✐❧❤♦✉❡tt❡ r❡ss❡♠❜❧❡ ❜❡❛✉❝♦✉♣ à ❧❛ s✐❧❤♦✉❡tt❡ ❞❡ ♥♦tr❡ ♠étr♦ ❱❆▲✳ ▲❡s ❡①❡♠♣❧❡s ❞❡ ❝❡s ✐♠❛❣❡s s♦♥t ❞♦♥♥és ❞❛♥s ❧❡s ✜❣✉r❡s ✺✳✶✸ ❡t ✺✳✶✹ r❡s♣❡❝t✐✈❡♠❡♥t✳✺✳✹✳ ❘és✉❧t❛ts ✶✵✾ ❋✐❣✉r❡ ✺✳✶✷ ✕ ❈♦✉r❜❡ Pré❝✐s✐♦♥✲❘❛♣♣❡❧ ♦❜t❡♥✉❡ ♣♦✉r ❙❱▼ ❛✈❡❝ ❧❡ ❞❡s❝r✐♣t❡✉r ❍❖● 7 × 4✳ ❚❛❜❧❡❛✉ ✺✳✸ ▼❛tr✐❝❡ ❞❡ ❝♦♥❢✉s✐♦♥ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s tr❛✐♥s ❈❧❛ss✐✜❡✉r P❛s ❞❡ tr❛✐♥ ❚r❛✐♥ ❘❛♣♣❡❧ ❱ér✐té t❡rr❛✐♥ P❛s ❞❡ tr❛✐♥ 623 4 99.36% ❚r❛✐♥ 4 614 99.35% Pré❝✐s✐♦♥ 99.36% 99.35% 99.36% ❋✐❣✉r❡ ✺✳✶✸ ✕ ■♠❛❣❡s ❞❡s ❢❛✉① ♥é❣❛t✐❢s✳ ❋✐❣✉r❡ ✺✳✶✹ ✕ ■♠❛❣❡s ❞❡s ❢❛✉① ♣♦s✐t✐❢s✳ ■❧ ❛✉r❛✐t été ✐♥tér❡ss❛♥t ♥é❛♥♠♦✐♥s ❞❡ t❡st❡r ♥♦s ❛❧❣♦r✐t❤♠❡s s✉r ❞❡s ❜❛s❡s ❞❡ ❞♦♥♥é❡s ré❡❧❧❡s ❞❛♥s ❞❡s ❝❛s ❝r✐t✐q✉❡s✳ ▼❛❧❤❡✉r❡✉s❡♠❡♥t✱ ♥♦✉s ♥❡ ❞✐s♣♦s♦♥s ♣❛s ❞❡ t❡❧❧❡s ❜❛s❡s ❞❡ ❞♦♥♥é❡s ❡t ♥✬❛✈♦♥s ♣❛s ❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ❧✬❡①✐st❡♥❝❡ ❞❡ t❡❧❧❡s ❜❛s❡s ❞❛♥s ❧❛ ❝♦♠♠✉♥❛✉té✳ ❋✐♥❛❧❡♠❡♥t✱ ♥♦✉s ♣rés❡♥t♦♥s ❧❡s rés✉❧t❛ts ❞❡ ✹✶✵✶ ✐♠❛❣❡s ♦❜t❡♥✉❡s ❞❡s ✈✐❞é♦s ❞❡ ❧✬❖r❧② ❱❆▲ ❛♣rès ❧✬❡①tr❛❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡✳ ❚♦✉t❡s s♦♥t ❞❡s ✐♠❛❣❡s s❛♥s tr❛✐♥✱ ❝❛r ❞❛♥s ♥♦s ❡①♣ér✐♠❡♥t❛t✐♦♥s✱ ♥♦✉s ♥✬❛✈♦♥s ❡✉ ❧✬♦♣♣♦rt✉♥✐té ❞✬❛✈♦✐r ✉♥ tr❛✐♥ ❡♥ ❢❛❝❡ ❞❛♥s ❧❛ ♠ê♠❡ ✈♦✐❡✳ ▲❡ ❝❧❛ss✐✜❡✉r ❞é✈❡❧♦♣♣é ❞♦♥♥❡ ❝♦♠♠❡ rés✉❧t❛t ♣♦✉r ❝❡s ✐♠❛❣❡s ✉♥❡ ❡①❛❝t✐t✉❞❡ ❞❡ ✶✵✵ ✪✱ ❝✬❡st✲à✲❞✐r❡✱ t♦✉t❡s ❧❡s ✐♠❛❣❡s ♦♥t été ❝❧❛ss✐✜é❡s ❝♦♠♠❡ ✓♥♦♥ tr❛✐♥s✔✳ ❉❡s ❡①❡♠♣❧❡s ❞❡ ❝❡s ✐♠❛❣❡s ❘❖■ ❡①tr❛✐t❡s à ♣❛rt✐r ❞❡ ❧❛ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ s♦♥t ♣rés❡♥tés ❞❛♥s ❧❛ ✜❣✉r❡ ✺✳✶✺✳✶✶✵ ❈❤❛♣✐tr❡ ✺✳ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ✿ tr❛✐♥s ❋✐❣✉r❡ ✺✳✶✺ ✕ ■♠❛❣❡s ❘❖■ ♦❜t❡♥✉❡s à ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡✳ ❚♦✉t❡s ❝❡s ✐♠❛❣❡s ♦♥t été ❝❧❛ss✐✜és ❝♦rr❡❝t❡♠❡♥t ❝♦♠♠❡ ♥♦♥✲tr❛✐♥✳❈❤❛♣✐tr❡ ✻ ❈♦♥❝❧✉s✐♦♥s ❙♦♠♠❛✐r❡ ✻✳✶ ❈♦♥❝❧✉s✐♦♥s ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✶✶ ✻✳✷ ❚r❛✈❛✉① ❢✉t✉rs ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✶✸ ✻✳✶ ❈♦♥❝❧✉s✐♦♥s ◆♦✉s ❛✈♦♥s ❞✬❛❜♦r❞ ♣rés❡♥té ✉♥ ét❛t ❞❡ ❧✬❛rt s✉r ❧❡s s②stè♠❡s ❞❡ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❡t ❞✬❡①✲ tr❛❝t✐♦♥ ❞❡ r❛✐❧s ♣♦✉r ❧❡s tr❛✐♥s✳ ▲❛ ♣❧✉♣❛rt ❞✬❡♥tr❡ ❡✉① s♦♥t ❞❡s s②stè♠❡s ♠✉❧t✐✲❝❛♣t❡✉rs ❡t ✉t✐❧✐s❡♥t ❞❡s ✐♥❢♦r♠❛t✐♦♥s ❡①t❡r♥❡s t❡❧❧❡s q✉❡ ❧❛ ✈✐t❡ss❡ ❞✉ tr❛✐♥✱ ❧❛ ❢♦r♠❡ ❞❡ ❧❛ ✈♦✐❡ ❡t ❧❡s é❧é♠❡♥ts q✉✐ ❧❛ ❝♦♠♣♦s❡♥t✳ ➚ ♣❛rt✐r ❞❡ ❝❡t ét❛t ❞❡ ❧✬❛rt✱ ♥♦✉s ❛✈♦♥s ♣r♦♣♦sé ❧❡ ❞é✈❡❧♦♣♣❡♠❡♥t ❞✬✉♥ ❛❧❣♦r✐t❤♠❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ✐♥❞é♣❡♥❞❛♥t ❜❛sé s✐♠♣❧❡♠❡♥t s✉r ❧✬❛♥❛❧②s❡ ❞❡s ❣r❛❞✐❡♥ts ❞❡ ❧✬✐♠❛❣❡ ❡t ❛✈❡❝ ✉♥ très ❢❛✐❜❧❡ s❡✉✐❧✳ ▲❛ ♣r❡♠✐èr❡ ♣❛rt✐❡ ❞❡ ♥♦tr❡ ét✉❞❡ s✬❡st ❝❡♥tré❡ s✉r ❧✬ét❛❧♦♥♥❛❣❡ ❞❡s ♣❛r❛♠ètr❡s ❡①tr✐♥sèq✉❡s ❞❡ ❧❛ ❝❛♠ér❛ ❛♣rès s♦♥ ✐♥st❛❧❧❛t✐♦♥ ❞❡rr✐èr❡ ❧❡ ♣❛r❡✲❜r✐s❡ ❞✉ tr❛✐♥✱ ❝❛r ♣❡✉ ❞❡ tr❛✈❛✉① ♦♥t été ❞é✈❡❧♦♣♣és ♣♦✉r ♦❜t❡♥✐r ❞❡ ♠❛♥✐èr❡ s✐♠♣❧❡ ❝❡s ♣❛r❛♠ètr❡s ❞❛♥s ❧❡ ♠✐❧✐❡✉ ❢❡rr♦✈✐❛✐r❡✳ ◆♦✉s ❛✈♦♥s ❞♦♥❝ ❞é✈❡❧♦♣♣é ✉♥ s②stè♠❡ ❝♦♠♣❧❡t ❞✬ét❛❧♦♥♥❛❣❡ ❞❡s ❝❛♠ér❛s à ♣❛rt✐r ❞❡ ❧❛ ♠♦r♣❤♦❧♦❣✐❡ ❞❡ ❧❛ ✈♦✐❡ ❡♥ ❧✐❣♥❡ ❞r♦✐t❡✳ ❈❡ s②stè♠❡ ♣❡r♠❡ttr❛ ❞❡ ré❞✉✐r❡ ❞❡s ❝♦♥tr❛✐♥t❡s ❞❡ ♠❛✐♥t❡♥❛♥❝❡ ❞❡s ❢✉t✉r❡s ❝❛♠ér❛s ✐♥st❛❧❧é❡s ❞❛♥s ❞❡s tr❛✐♥s ❡t ❛✐♥s✐ ❞❡ s✐♠♣❧✐✜❡r ❧❡✉r ✐♥st❛❧❧❛t✐♦♥✳ ▲❡s rés✉❧t❛ts ❞✬ét❛❧♦♥♥❛❣❡ ♦❜t❡♥✉s ❛✈❡❝ ❧❛ ♠ét❤♦❞❡ ♣r♦♣♦sé❡ ♦♥t ✉♥❡ ♣ré❝✐s✐♦♥ s✉✣s❛♥t❡ ♣♦✉r ❧❡s ❛♣♣❧✐❝❛t✐♦♥s ❛✉①q✉❡❧❧❡s ❡st ❞❡st✐♥é❡ ❧❛ ❝❛♠ér❛✳ P❛r ❧❛ s✉✐t❡✱ ♥♦✉s ❛✈♦♥s ❞é✜♥✐ ✉♥ s②stè♠❡ ❣é♥ér✐q✉❡ ❡t r♦❜✉st❡ ♣♦✉r ❧✬❡①tr❛❝t✐♦♥ ❡t ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s✳ ❈❡tt❡ ❛♣♣r♦❝❤❡ ❡st ❜❛sé❡ s✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❣r❛❞✐❡♥ts ❞❛♥s ❧✬✐♠❛❣❡ à ♣❛rt✐r ❞❡s s✐♠♣❧❡s ❝♦♥tr❛✐♥t❡s ❣é♦♠étr✐q✉❡s s♣é❝✐✜q✉❡s ❞❡s ❝❛r❛❝tér✐st✐q✉❡s ❞❡ ❧❛ ✈♦✐❡ ❢❡rré❡✳ ◆♦✉s ❛♥❛❧②s♦♥s ❞✬❛❜♦r❞ ❧❛ ♣♦s✐t✐♦♥ ❞✉ ♣♦✐♥t ❞❡ ❢✉✐t❡ ❞❡s r❛✐❧s ♣♦✉r ❞ét❡r♠✐♥❡r ✉♥❡ ré❣✐♦♥ ❞✬✐♥térêt à ♣❛rt✐r ❞✬✉♥ ♠❛sq✉❡ ❛❞❛♣t❛t✐❢✳ P❛r ❧❛ s✉✐t❡✱ ❧✬✐♠❛❣❡ ❞❡s ❣r❛❞✐❡♥ts ❡st ❛♥❛❧②sé❡ ♣♦✉r sé❧❡❝t✐♦♥♥❡r ❞❡s ♣♦✐♥ts r❡ss❡♠❜❧❛♥t à ❞❡s r❛✐❧s✱ ♣✉✐s ♥♦✉s ❧❡s tr❛♥s❢♦r♠♦♥s ❡♥ ❝♦♦r❞♦♥♥é❡s ✸❉✱ ♦ù ❧❛ r❡❝❤❡r❝❤❡ ❞✉ ♠♦❞è❧❡ ❞❡ r❛✐❧s ❡st ré❛❧✐sé❡ ♣♦✉r ❝❤❛q✉❡ r❛✐❧ à ♣❛rt✐r ❞❡ ❧✬❛❧❣♦r✐t❤♠❡ ❞❡ ❘❆◆❙❆❈✳ ❈❡❝✐ ♣❡r♠❡t ❞❡ ré❞✉✐r❡ ❧❡ t❡♠♣s ❞❡ ❝❛❧❝✉❧✱ ❝❛r s♦♥t s❡✉❧❡♠❡♥t rétr♦✲♣r♦❥❡tés ❧❡s ♣♦✐♥ts r❡ss❡♠❜❧❛♥t à ❞❡s r❛✐❧s ❛✉ ❧✐❡✉ ❞❡ ❝♦♥str✉✐r❡ ✉♥❡ ✐♠❛❣❡ ❝♦♠♣❧èt❡ ❡♥ ❜✐r❞✲❡②❡✬s ✈✐❡✇✳ ❉❡ ♣❧✉s✱ ❧✬❡✛❡t ❞✬✉t✐❧✐s❡r ❞❡✉① ❘❆◆❙❆❈ ✐♥❞é♣❡♥❞❛♥ts ♣♦✉r ❝❤❛q✉❡ r❛✐❧ ♥♦✉s ♣❡r♠❡t ❞❡ ré❞✉✐r❡ ❧❡s ❡rr❡✉rs ❞❛♥s ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s q✉❛♥❞ ❧✬❤②♣♦t❤ès❡ ❞✉ ♠♦♥❞❡ ♣❧❛t ♥✬❡st ♣❛s r❡s♣❡❝té❡✳ ◆♦✉s ❛✈♦♥s ❛✉ss✐ ♣r♦♣♦sé ❞❡ ❝❛❧❝✉❧❡r ❧❡ ❞é♣❧❛❝❡♠❡♥t ❞✉ tr❛✐♥ à ♣❛rt✐r ❞❡ ❧❛ ✈✐❞é♦ ❞✐r❡❝t❡♠❡♥t✳ ❈❡ ❞é♣❧❛❝❡♠❡♥t ❧✐é à ❧❛ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ♣❡r♠❡t ❞❡ r❡❝♦♥str✉✐r❡ ❧❡ ♣❛r❝♦✉rs s✉✐✈✐ ♣❛r ❧❡ tr❛✐♥✳ ▼ê♠❡ s✐ ❧❡s ❡st✐♠❛t✐♦♥s ❞❡ ❧❛ ✈♦✐❡ à ♣❛rt✐r ❞✬✉♥ ♣♦❧②♥ô♠❡ ❞✬♦r❞r❡ ✷ ♥❡ ❞♦♥♥❡♥t ♣❛s ❡①❛❝t❡♠❡♥t ❧❡s ♠ê♠❡s r❛②♦♥s ❞❡ ❝♦✉r❜✉r❡ ✐♥st❛♥t❛♥és✱ ❧❛ r❡❝♦♥str✉❝t✐♦♥ ✜♥❛❧❡ s✬❛♣♣r♦❝❤❡ ❞❡ ❧❛ ré❛❧✐té✳ ❊♥ ♣❧✉s✱ ❧❡ ❢❛✐t ❞✬❛✈♦✐r ❞é✜♥✐ ✉♥ ♠♦❞è❧❡ ❞✉ tr❛✐♥ ❡t ❞❡ ❝♦♥♥❛îtr❡ s♦♥ ❛✈❛♥❝❡♠❡♥t ❞❛♥s ❧✬❡s♣❛❝❡ ♣❡r♠❡t ❞❡ ♠✐❡✉① ✜❧tr❡r t❡♠♣♦r❡❧❧❡♠❡♥t ❧❡s ❞♦♥♥é❡s ♣♦✉r ré❞✉✐r❡ ❧❡ ♥♦♠❜r❡ ❞✬✐tér❛t✐♦♥s ❞❡ ❘❆◆❙❆❈✳ ❉❛♥s ✉♥❡ tr♦✐s✐è♠❡ ♣❛rt✐❡✱ ♥♦✉s ❛✈♦♥s ♣r♦♣♦sé ✉♥❡ ♠ét❤♦❞❡ ✐♥é❞✐t❡ ❞❡ ❞ét❡❝t✐♦♥ ❞✬❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ❜❛sé❡ s✉r ❧✬❛♥❛❧②s❡ ❞❡ ❧✬❡♥tr❡✈♦✐❡ à ♣❛rt✐r ❞❡s ✐♠❛❣❡s s❛♥s ❧❛ ❞é❢♦r♠❛t✐♦♥ ❞❡ ♣❡rs♣❡❝t✐✈❡ ❡t✶✶✷ ❈❤❛♣✐tr❡ ✻✳ ❈♦♥❝❧✉s✐♦♥s ✉♥❡ ❡①tr❛❝t✐♦♥ ❞✉ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖●✳ ▲❡ ❢❛✐t ❞✬✉t✐❧✐s❡r ✉♥❡ ✐♠❛❣❡ r❡❝t❛♥❣✉❧❛✐r❡ s❛♥s ♣❡rs♣❡❝t✐✈❡ s✐♠♣❧✐✜❡ ❧❛ t❛❝❤❡ ❝❛r ❧❛ ✈♦✐❡ s❡ ♣rés❡♥t❡ t♦✉❥♦✉rs ♣❧✉s ❤♦♠♦❣è♥❡✳ ▲❛ t❡❝❤♥✐q✉❡ ❜❛sé❡ ❞❛♥s ❧❡ t❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ ❛ ❞♦♥♥é ❞❡ ♠♦✐♥s ❜♦♥s rés✉❧t❛ts q✉❡ ❧❡ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖●✱ ♣r✐♥❝✐♣❛❧❡♠❡♥t à ❝❛✉s❡ ❞❡s ✈❛r✐❛t✐♦♥s ❞❡ t❡①t✉r❡ ❞❡ ❧✬❡♥tr❡✈♦✐❡✳ ◆♦✉s ❛✈♦♥s ❡♥s✉✐t❡ ♣r♦♣♦sé ❞✬ét❡♥❞r❡ ❧✬ét✉❞❡ à ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞❡ ❧✬❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ❡♥ ❢♦♥❝t✐♦♥ ❞❡ s❛ ♥❛t✉r❡✱ ❝❛r ✐❧ ♣❡✉t êtr❡ ❝♦♥✈❡r❣❡♥t ♦✉ ❞✐✈❡r❣❡♥t✳ ◆♦✉s ❛✈♦♥s ♣r♦♣♦sé ❞✬✉t✐❧✐s❡r ❧❛ ♠ê♠❡ ✐♠❛❣❡ ■P▼ s❛♥s ❞é❢♦r♠❛t✐♦♥ ❞❡ ♣❡rs♣❡❝t✐✈❡✱ ❡t ✉♥ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖● ♣♦✉r ♠❡ttr❡ ❡♥ ✈❛❧❡✉r ❧❡s ♦r✐❡♥t❛t✐♦♥s ❞❡s ✈♦✐❡s ❞✐✈❡r❣❡♥t❡s ♦✉ ❝♦♥✈❡r❣❡♥t❡s✳ P❧✉s✐❡✉rs ❝❧❛ss✐✜❝❛t❡✉rs ♦♥t été t❡stés ❡t ✜♥❛❧❡♠❡♥t ✉♥ ❝❧❛ss✐✜❡✉r ❙❱▼ ♠✉❧t✐✲❝❧❛ss❡ ❛✈❡❝ ❧❛ ♠ét❤♦❞❡ ✶✲✈s✲✶ ❛ été r❡t❡♥✉✳ ▲❡s rés✉❧t❛ts ♦❜t❡♥✉s ♠♦♥tr❡♥t q✉✬✐❧ ❡st ❡✣❝❛❝❡ ❞❡ ❝❧❛ss✐✜❡r ❧❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ à ♣❛rt✐r ❞✉ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖● ❛✈❡❝ ✉♥ r❛♣♣❡❧ ♠✐♥✐♠✉♠ ❞❡ ✾✼✳✾✷ ✪ ❡t ✉♥❡ ♣ré❝✐s✐♦♥ ♠✐♥✐♠❛❧❡ ❞❡ ✾✽✳✶✵ ✪✳ ❉❛♥s ✉♥ ❞❡r♥✐❡r t❡♠♣s✱ ♥♦✉s ❛✈♦♥s ❝♦♥ç✉ ✉♥❡ ❛r❝❤✐t❡❝t✉r❡ ❝♦♠♣❧èt❡ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❞❛♥s ❧❛ ✈♦✐❡ ❝♦✉r❛♥t❡✳ ❈❡tt❡ ♠ét❤♦❞❡ ❡st ❜❛sé❡ s✉r ❧✬❡①tr❛❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ q✉✐ ♥♦✉s ♣❡r♠❡t ❞❡ ❞ét❡r♠✐♥❡r ✉♥❡ ③♦♥❡ ❧✐❜r❡ ❞✬♦❜st❛❝❧❡s ❥✉sq✉✬à ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥✳ ▲❛ ❝♦♥♥❛✐ss❛♥❝❡ ❞❡ ❧✬❡♠♣❧❛❝❡♠❡♥t ❞❡ ❧❛ ✈♦✐❡ ♣❡r♠❡t ❞❡ ♥❡ ♣❛s ré❛❧✐s❡r ✉♥ s❧✐❞✐♥❣ ✇✐♥❞♦✇ à ❞✐✛ér❡♥t❡s é❝❤❡❧❧❡s ♣♦✉r ❞ét❡r♠✐♥❡r ❧❛ ♣rés❡♥❝❡ ❞✬✉♥ tr❛✐♥✳ ❉❡ ♣❧✉s✱ ♠♦✐♥s ❞✬✐♠❛❣❡s s♦♥t t❡sté❡s✱ ♣❧✉s ❢❛✐❜❧❡ ❡st ❧❛ ♣r♦❜❛❜✐❧✐té ❞❡ ❢❛✉ss❡s ❞ét❡❝t✐♦♥s✱ ♣❛r ❡①❡♠♣❧❡ ❧❛ ❞ét❡❝t✐♦♥ ❞✬✉♥ tr❛✐♥ ❞❛♥s ✉♥❡ ❛✉tr❡ ✈♦✐❡✳ ◆♦✉s ♣r♦♣♦s♦♥s ❞♦♥❝ ❞✬é✈❛❧✉❡r ❧✬❤②♣♦t❤ès❡ ❞❡ ❧❛ ♣rés❡♥❝❡ ❞✬✉♥ tr❛✐♥ à ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡s r❛✐❧s ❡♥ ✉t✐❧✐s❛♥t ✉♥ ❝❧❛ss✐✜❡✉r ❜✐♥❛✐r❡ ❙❱▼ ❡t ✉♥ ❞❡s❝r✐♣t❡✉r ❞❡ ❍❖●✳ ❯♥ r❛♣♣❡❧ s✉♣ér✐❡✉r à ✾✾ ✪ ❡t ✉♥❡ ♣ré❝✐s✐♦♥ s✉♣ér✐❡✉r❡ à ✾✽ ✪ ✐♥❞✐q✉❡♥t ❞❡ ❜♦♥♥❡s ♣❡r❢♦r♠❛♥❝❡s ♣♦✉r ❧❡ ❝❧❛ss✐✜❡✉r ❛✈❡❝ ❧❡s ❞♦♥♥é❡s ❞❡ t❡st ❞❡ ❧❛ ❜❛s❡ ❞❡ ❞♦♥♥é❡s✳ P♦✉r ❧❡ s②stè♠❡ ❝♦♠♣❧❡t✱ ❧✬❡①tr❛❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡ s✉✐✈✐❡ ❞❡ ❧❛ ❝❧❛ss✐✜❝❛t✐♦♥ ❞❡s ✐♠❛❣❡s ❘❖■ ❡①tr❛✐t❡s ❛✉✲❞❡❧à ❞❡ ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ❞❡ r❛✐❧s✱ ❧❡ ❝❧❛ss✐✜❡✉r t❡sté s✉r ❞❡s ✐♠❛❣❡s s❛♥s tr❛✐♥s✱ ❛rr✐✈❡ à ❧❡s ❝❧❛ss✐✜❡r t♦✉t❡s ❝♦rr❡❝t❡♠❡♥t✱ s❛♥s ❛✉❝✉♥❡ ❢❛✉ss❡ ❛❧❛r♠❡✳ ▲❛ ✜❣✉r❡ ✻✳✶ ♥♦✉s ♠♦♥tr❡ ✉♥ s❝❤é♠❛ ❣é♥ér❛❧ ❞✉ s②stè♠❡ ❝♦♠♣❧❡t✱ ❛✈❡❝ ❧✬❡①tr❛❝t✐♦♥ ❞❡ ❧❛ ✈♦✐❡✱ ❧✬❛♥❛❧②s❡ ❞✬✉♥❡ ♣❛rt✐❡ ❞❡ ❧✬❡♥tr❡✈♦✐❡ à ✉♥❡ ❝❡rt❛✐♥❡ ❞✐st❛♥❝❡ à ❧✬❛✈❛♥t ❞✉ tr❛✐♥ ♣♦✉r ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ❡t ✉♥❡ ❡①tr❛❝t✐♦♥ ❞❡ ❧❛ ❘❖■ à ❧❛ ❞✐st❛♥❝❡ ♠❛①✐♠❛❧❡ ❞❡ ❞ét❡❝t✐♦♥ ♣♦✉r t❡st❡r ❧✬❤②♣♦t❤ès❡ ❞❡ ❧❛ ♣rés❡♥❝❡ ❞✬✉♥ tr❛✐♥✳ ❋✐❣✉r❡ ✻✳✶ ✕ ❙❝❤é♠❛ ❞❡s tr❛✈❛✉① ré❛❧✐sés ❡t tr❛✈❛✉① ❢✉t✉rs✳✻✳✷✳ ❚r❛✈❛✉① ❢✉t✉rs ✶✶✸ ✻✳✷ ❚r❛✈❛✉① ❢✉t✉rs ❖♥ ♣❡✉t ❡♥✈✐s❛❣❡r ♣❧✉s✐❡✉rs ♣❡rs♣❡❝t✐✈❡s ♣♦✉r ❧❡s tr❛✈❛✉① ♣rés❡♥tés ❞❛♥s ❝❡tt❡ t❤ès❡✱ t❛♥t s✉r ❧❡ ♣❧❛♥ ✐♥❞✉str✐❡❧ q✉❡ s✉r ❧❡ ♣❧❛♥ r❡❝❤❡r❝❤❡✳ ■❧ s❡r❛✐t ✐♥tér❡ss❛♥t ❞✬ét❡♥❞r❡ ❝❡s ♠ét❤♦❞❡s ♣♦✉r ❞✬❛✉tr❡s t②♣❡s ❞❡ ❝❛♠ér❛s ❝♦♠♠❡ ❧❡s ❝❛♠ér❛s ❞❡ ✓❍❛✉t❡ ❘❛♥❣❡ ❉②♥❛♠✐q✉❡✔ ♦✉ ❞❡s ✓❝❛♠ér❛s ❞❡ ❧✉♠✐èr❡ str✉❝t✉ré❡✔✳ P❛r ❡①❡♠♣❧❡✱ ♦♥ ♣♦✉rr❛✐t ❞é✜♥✐r ✉♥❡ ♠ét❤♦❞❡ ♣♦✉r ♠✐❡✉① é✈❛❧✉❡r ❧❛ t♦❧ér❛♥❝❡ ❛✉① ❢❛✉ss❡s ❞ét❡❝t✐♦♥s ❞❡s r❛✐❧s ♦✉ ❧✬✉t✐❧✐s❛t✐♦♥ ❞✬✉♥ ✜❧tr❡ ❞❡ ❑❛❧♠❛♥ ♣♦✉r ♦❜t❡♥✐r ❞❡s rés✉❧t❛ts ♣❧✉s ✜♥s ❡t ♣ré❝✐s ❞❛♥s ❧❡s ❣r❛♥❞❡s ❞✐st❛♥❝❡s✳ ❆✉ss✐✱ ✐❧ s❡r❛✐t ❡♥✈✐s❛❣❡❛❜❧❡ ❞❡ ❞é✈❡❧♦♣♣❡r r❛♣✐❞❡♠❡♥t ❛✈❡❝ ❧❛ ♠ê♠❡ t❡❝❤♥✐q✉❡ ❞✬❡①tr❛❝t✐♦♥ ❞❡s r❛✐❧s ❧❛ r❡❝❤❡r❝❤❡ ❞❡ ❧❛ ✈♦✐❡ s❡❝♦♥❞❛✐r❡ ✉♥❡ ❢♦✐s q✉❡ ❧❡ tr❛✐♥ s✬❛♣♣r♦❝❤❡ ❞✬✉♥ ❛♣♣❛r❡✐❧ ❞❡ ✈♦✐❡ ❞✐✈❡r❣❡♥t✳ P✉✐sq✉❡ ❧❡ s②stè♠❡ ♥❡ ❝♦♥♥❛✐t ♣❛s à ❧✬❛✈❛♥❝❡ ❧❛ ❞✐r❡❝t✐♦♥ à s✉✐✈r❡✱ ❧✬♦❜❥❡❝t✐❢ ❡st ❞❡ ❞ét❡r♠✐♥❡r ❛✉ss✐ ✉♥❡ ③♦♥❡ ❧✐❜r❡ ❞✬♦❜st❛❝❧❡s ❞❛♥s ❧❡s ❞❡✉① ✈♦✐❡s✳ ❉❡ ♣❧✉s✱ ✐❧ s❡r❛✐t ✐♥tér❡ss❛♥t ❞✬ét❡♥❞r❡ ❧❛ r❡❝❤❡r❝❤❡ ❞❡s ♦❜st❛❝❧❡s à ❧❛ ❞ét❡❝t✐♦♥ ❞❡s ♣✐ét♦♥s ❝❛r✱ ❛❝t✉❡❧❧❡♠❡♥t✱ ❧❡s ❞❡r♥✐❡rs tr❛✈❛✉① ❞❡ ❞ét❡❝t✐♦♥ ❞❡ ♣✐ét♦♥s ♠♦♥tr❡♥t ❞❡s rés✉❧t❛ts ♣r♦♠❡tt❡✉rs✳ ❉✉ ❝ôté ✐♥❞✉str✐❡❧✱ ❧❛ ❞ét❡❝t✐♦♥ ❡t r❡❝♦♥♥❛✐ss❛♥❝❡ ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ♣♦✉rr❛✐t s✬✉t✐❧✐s❡r ♣♦✉r ✉♥❡ ❧♦❝❛❧✐s❛t✐♦♥ ✈✐s✉❡❧❧❡ s❛♥s ❛✈♦✐r à ❛❥♦✉t❡r ❞❡s ❛♠❡rs ✈✐s✉❡❧s s❡❝♦♥❞❛✐r❡s✳ ▲✬✉t✐❧✐s❛t✐♦♥ ❞✬✉♥❡ ❝❛rt❡ ✈✐rt✉❡❧❧❡ ❞❡ ❧❛ ✈♦✐❡ ❛✈❡❝ ❧❡ ♣♦s✐t✐♦♥♥❡♠❡♥t ❞❡s ❛♣♣❛r❡✐❧s ❞❡ ✈♦✐❡ ♣❡r♠❡ttr❛✐t ❞❡ ❞ét❡r♠✐♥❡r ❧❛ ♣♦s✐t✐♦♥ ❞✉ tr❛✐♥ ❞❡ ❢❛ç♦♥ ♣ré❝✐s❡ ❞❛♥s ❞✐✛ér❡♥ts tr♦♥ç♦♥s✳ ❈❡tt❡ ❢♦♥❝t✐♦♥ ♣♦✉rr❛✐t s✬✉t✐❧✐s❡r s♦✉s ❝❡rt❛✐♥❡s ❝♦♥❞✐t✐♦♥s ❞❡ sé❝✉r✐té ❢❡rr♦✈✐❛✐r❡ ♣♦✉r✱ ♣❛r ❡①❡♠♣❧❡✱ ❡♥✈♦②❡r ❧❡s tr❛✐♥s s✉r ❧❡s ✈♦✐❡s ❞❡ ❣❛r❛❣❡ ♦✉ ❞❛♥s ❧✬❛t❡❧✐❡r ❡♥ ♠♦❞❡ ❛✉t♦♠❛t✐q✉❡✱ q✉❛♥❞ ✐❧ ♥✬❡st ♣❛s ♣♦ss✐❜❧❡ ❞✬✉t✐❧✐s❡r ❝❡rt❛✐♥s s②stè♠❡s ❞❡ ♣♦s✐t✐♦♥♥❡♠❡♥t ❝♦♠♠❡ ❧❡ ●P❙ ♦✉ ♣♦✉r ré❞✉✐r❡ ❧❡ ♥♦♠❜r❡ ❞❡s ❜❛❧✐s❡s ❛✉ s♦❧✳ ➱❣❛❧❡♠❡♥t✱ ❧❛ ❞ét❡❝t✐♦♥ ❞❡ tr❛✐♥s ♣♦✉rr❛✐t s✬✉t✐❧✐s❡r ♣♦✉r ❞ét❡r♠✐♥❡r ❧❛ ❞✐st❛♥❝❡ ❛✉ tr❛✐♥ ♣ré❝é✲ ❞❡♥t ♣♦✉r ❞❡s ♠❛♥÷✉✈r❡s ❞✬❛❝❝♦st❛❣❡ ♦✉ ♣♦✉r ❛♣♣r♦❝❤❡r ❛✉ ♠❛①✐♠✉♠ ❧❡s tr❛✐♥s s✉r ❧❡s ✈♦✐❡s ❞❡ ❣❛r❛❣❡✳ ❆✐♥s✐✱ ❧❡s ❢❡✉① ❞❡ s✐❣♥❛❧✐s❛t✐♦♥ ♣❡✉✈❡♥t êtr❡ ❞ét❡❝tés✳ ❊♥✜♥✱ ✐❧ s❡r❛✐t ✉t✐❧❡ ❞❡ t❡st❡r ♥♦s tr❛✈❛✉① s✉r ❞✬❛✉tr❡s ❜❛s❡s ❞❡ ❞♦♥♥é❡s ♣❧✉s ét❡♥❞✉❡s ❡t s♦✉s ❞✐✛ér❡♥t❡s ❝♦♥❞✐t✐♦♥s ♠été♦r♦❧♦❣✐q✉❡s✱ ♦✉ ❛✈❡❝ ❞✬❛✉tr❡s t②♣❡s ❞❡ ♣❛r❝♦✉rs ❝♦♠♠❡ ❞❡s t✉♥♥❡❧s ♦✉ ✈♦✐❡s ❞❡ ❣❛r❛❣❡✳❆♥♥❡①❡ P✉❜❧✐❝❛t✐♦♥s ❙♦♠♠❛✐r❡ ❆✳✶ ❆rt✐❝❧❡ ■❚❙❈ ✷✵✶✷ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✶✻ ❆✳✷ ❆rt✐❝❧❡ ■❈■❘❚ ✷✵✶✸ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✷✶ ❆✳✸ ❆rt✐❝❧❡ ■❚❙❈ ✷✵✶✸ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✶✷✼ ❈♦♥❢ér❡♥❝❡s ✐♥t❡r♥❛t✐♦♥❛❧❡s ❛✈❡❝ ❝♦♠✐té ❞❡ r❡❧❡❝t✉r❡ ✶✳ ❘❛✐❧ ❡①tr❛❝t✐♦♥ t❡❝❤♥✐q✉❡ ✉s✐♥❣ ❣r❛❞✐❡♥t ✐♥❢♦r♠❛t✐♦♥ ❛♥❞ ❛ ♣r✐♦r✐ s❤❛♣❡ ♠♦❞❡❧✱ ❏♦r❣❡ ❈♦rs✐♥♦ ❊s♣✐♥♦✱ ❇♦❣❞❛♥ ❙t❛♥❝✐✉❧❡s❝✉✱ ■❚❙❈ ✷✵✶✷ ✶✺t❤ ■♥t❡r♥❛t✐♦♥❛❧ ■❊❊❊ ❈♦♥❢❡r❡♥❝❡ ♦♥ ■♥t❡❧❧✐❣❡♥t ❚r❛♥s♣♦rt❛t✐♦♥ ❙②st❡♠s ✷✳ ❘❛✐❧ ❛♥❞ ❚✉r♥♦✉t ❞❡t❡❝t✐♦♥ ✉s✐♥❣ ❣r❛❞✐❡♥t ✐♥❢♦r♠❛t✐♦♥ ❛♥❞ t❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣✱ ❏♦r❣❡ ❈♦rs✐♥♦ ❊s♣✐♥♦✱ ❇♦❣❞❛♥ ❙t❛♥❝✐✉❧❡s❝✉✱ P❤✐❧✐♣♣❡ ❋♦r✐♥✱ ■❈■❘❚ ✷✵✶✸✱ ✶st ■♥t❡r♥❛t✐♦♥❛❧ ■❊❊❊ ❈♦♥❢❡r❡♥❝❡ ♦♥ ■♥t❡❧❧✐❣❡♥t ❘❛✐❧ ❚r❛♥s♣♦rt❛t✐♦♥ ✸✳ ❚✉r♥♦✉t ❞❡t❡❝t✐♦♥ ❛♥❞ ❝❧❛ss✐✜❝❛t✐♦♥ ✉s✐♥❣ ♠♦❞✐✜❡❞ ❍❖● ❛♥❞ t❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣✱ ❏♦r❣❡ ❈♦rs✐♥♦ ❊s♣✐♥♦✱ ❇♦❣❞❛♥ ❙t❛♥❝✐✉❧❡s❝✉✱ ■❚❙❈ ✷✵✶✸ ✶✻t❤ ■♥t❡r♥❛t✐♦♥❛❧ ■❊❊❊ ❈♦♥❢❡r❡♥❝❡ ♦♥ ■♥t❡❧❧✐❣❡♥t ❚r❛♥s♣♦rt❛t✐♦♥ ❙②st❡♠s ✹✳ ❙❛❢❡ ◆❛✈✐❣❛t✐♥❣ ❙②st❡♠ ❢♦r ■♥❞♦♦r ❊♥✈✐r♦♥♠❡♥ts✱ ❏♦r❣❡ ❈♦rs✐♥♦ ❊s♣✐♥♦✱ ❇r✉♥♦ ❙t❡✉①✱ ❖✉ss❛♠❛ ❊❧ ❍❛♠③❛♦✉✐✱ ■❈❆❘❆ ✷✵✶✶ ✺t❤ ■♥t❡r♥❛t✐♦♥❛❧ ❈♦♥❢❡r❡♥❝❡ ♦♥ ❆✉t♦♠❛t✐♦♥✱ ❘♦❜♦t✐❝s ❛♥❞ ❆♣♣❧✐❝❛t✐♦♥s ✺✳ ❆✉t♦♥♦♠♦✉s ◆❛✈✐❣❛t✐♦♥ ❛♥❞ ▼❛♣♣✐♥❣ ✇✐t❤ ❈♦r❡❙▲❆▼✱❖✉ss❛♠❛ ❊❧ ❍❛♠③❛♦✉✐✱ ❏♦r❣❡ ❈♦rs✐♥♦ ❊s♣✐♥♦✱ ❇r✉♥♦ ❙t❡✉①✱ ❘❡❝❡♥t ❆❞✈❛♥❝❡s ✐♥ ❘♦❜♦t✐❝s ❛♥❞ ❆✉t♦♠❛t✐♦♥✱♣❛❣❡s ✭✾✶✲✶✵✶✮✱ ❙♣r✐♥❣❡r ❇❡r❧✐♥ ❍❡✐❞❡❧❜❡r❣A comparative study of rail extraction techniques Jorge Corsino Espino1 and Bogdan Stanciulescu2 Abstract— This paper presents a comparative study of different rail detection techniques as well as a new method based on an efficient algorithm without any empirical thresholds. The main problem with rail detection is that both the track-bed and and the exterior conditions (weather/light conditions) vary along the path. On the other hand, there are properties that can be exploited to improve the conventional lane detection. We present an edge detection based on the estimated position of the rails that follows the rail edges upwards in the image, determining a free-from-obstacles space. The existing techniques are also analyzed and compared. I. INTRODUCTION Trains are considered one of the safest means of transportation. Unfortunately, accidents still often occur due to the fatigue of the driver, the bad weather conditions or other factors. The safety can be improved using intelligent systems that provide additional information about the exact location of the train, its speed and the upcoming obstacles. This can be accomplished by installing sensors along the tracks, which can be expensive at a large scale. An alternative is to install embarked cameras at the front of the train to support the driver. There are many constraints imposed on such systems, such as the cost and resource efficiency as well as the realtime performance. Rail extraction is one of the fundamental tasks in an onboard computer vision system for trains. It can be useful for the positioning and the speed estimation of the trains as well as the obstacle detection. However it faces many challenges such as the bad illumination and poor visibility in tunnels or under bad weather conditions. Our goal is to automatically find the rails in order to determinate the free path in front of the train using only image processing. A. The environment The rubber-tyred metro is a rapid transportation system that uses a mix of road and rail technology. The vehicle has wheels which run on rolling pads inside guide bars for traction, as well as the traditional railway steel wheels with deep flanges on steel tracks for guidance. Further, the pads are also often used for communication or control structures such as duct cables and drains. The environment is particularly challenging in train systems since there are several parallel rails, a richly textured 1 J. Corsino Espino with SIEMENS SAS Infrastructure & Cities. 150, Avenue de la Republique, 92323 Chatillon cedex, FRANCE ´ jorge.corsino-espino at siemens.com 2 B. Stanciulescu with Mines ParisTech, Center of Robotics (CAOR). 60, boulevard Saint Michel, 75272 Paris cedex 06, FRANCE. bogdan.stanciulescu at mines-paristech.com Paper 16th April Fig. 1. Driver’s view with a fixed camera placed behind the windshield. track-bed as well as frequent variations in illumination, rail equipment and tunnels as shown in figures 1, 2 and 3. The complexity of the track-bed makes the rail detection difficult due to the large quantity of straight segments and the shadows of the guidance tracks produced on the pads. This task is more complex at night or on cloudy days because of the variation of the color of the rails. Further, detecting dark rails over dark surfaces is harder than detecting bright lines on a dark road as in the road lane detection systems. B. Previous works Some studies [1], [2] show that the lane marking detection techniques, used in intelligent vehicles, can also be applied to the rail detection in certain applications. Both the lanemarkings and the rail tracks are represented as a group of lines. Furthermore, the curvatures in both applications tend to have a large radius, barely changing over small distances. However, the textured structure of the track-bed, due to ballast, grass and sleepers, as opposed to the uniform asphalt background of the lane-markings, makes the rails more difficult to detect. Furthermore, the reflective nature of the steel causes larger variations due to shadows and changes in illumination. Previous works have exploited the aforementioned characteristics of the railway tracks to detect them. In [3], the line segments, extracted using the edge detection, are matched to a set of track models. A probability measure designates the corresponding match using the Chamfer similarity metric. However, the edge detection is sensitive to the fine tuning of the parameters. Nassu et al. apply a hill-climbing approach for the parameter selection. The feasibility and efficiency of this approach is also limited by the choice and the number of rail segment models. In [4], the lines representing the tracks are also extracted. This is performed using quadratic programming. The initial ✶✶✻ ❆♥♥❡①❡ ✳ P✉❜❧✐❝❛t✐♦♥s ❆✳✶ ❆rt✐❝❧❡ ■❚❙❈ ✷✵✶✷segments at the bottom of the image are extended by adding neighboring candidate segments which fulfill several constraints, such as the pixel value distribution, the angles of the gradients and the distance between the tracks. The empirical choice of parameters renders the system less generic and more sensitive to variations. Kaleli et al. [5] also perform a preliminary edge detection to extract track candidates. They then use the Hough transform to merge the line segments into longer lines. Further, they use a dynamic programming approach to simultaneously detect the right and left tracks by ensuring the predefined width between them. In the anti-collision system presented in [6], the image is warped into a birds eye view to obtain parallel tracks, as opposed to the detection of the rail crossings in the vanishing point at the horizon. The parameter selection is initialized with the help of a human operator that designates the search region of the rails. The lines are extracted using a Hough transform. In [7], the switches at the railway crossings are detected. The eigenvalues of the gradients computed over image patches are used to identify homogeneous and textured regions. The former are discarded, while the latter are filtered according to the gradient angles. Only a restricted area of the image is examined to reduce the computational overhead. The calculation of the covariance and the eigenvalues can be expensive at a large scale. In this paper, we propose a rail detection method for rubber-tyred trains, by iteratively selecting local maxima in the gradient image using a sliding window approach. We test our method on challenging sequences with several parallel rails, richly textured background and infrastructure as well as illumination variations due to shadows and tunnels. The system computes the length of the free obstacle space in front of the train. The remainder of the paper is organized as follows: in Section 2, we give an overview of some problems for existing techniques. In Section 3, we describe the proposed system; in Section 4, we present some experimental results. Finally, in Section 5, we summarize the conclusions and give an outlook on future work. II. COMPARISON OF EXISTING TECHNIQUES The most common techniques used for road lane and rail detection are edges extraction and lines detection in the images. In this paper, we analyze both these techniques and compared the results obtained. A. Edge detection Edge detection is an effective image processing tool that extracts image information and characteristics. Before applying the edge detection, it is important to filter the image to smooth out any noise arising from the image capturing. This noise can lead to the detection of false edges by the detector [8]. Futhermore, the lighting conditions vary along the track surface and the shadows caused by trees or tunnels. The quality of the resulting edges depend on the thresholds used. Fig. 2. Different results using Canny algorithm and varying the thresholds. Fig. 3. Mismatching of a rail. The shadow produces a hard edge and the right rail is not well detected. In some cases, a simple shadow on the image can produce the mismatching of a rail, as shown in figure 3. When using the Canny edge detector [8] with a low threshold, we can generate a maximum amount of edges. To reduce the computational overhead, only the gradients with an angle in a range are kept. This range is determined by the perspective projection of a right track and a curved track at its minimun radius at different distances [9]. These filtred edges are kept as possible track candidates. As seen in figure 4, the number of edges are reduced to only a few (highlighted in red). This technique filters a large amount of edges. Nevertheless, the angular conditions are strict and sometimes the relative angle of the gradient in the pixel grid does not match the angle of the line in the image. ❆✳✶✳ ❆rt✐❝❧❡ ■❚❙❈ ✷✵✶✷ ✶✶✼Fig. 4. Canny filter with low threshold and filtered edges (in red) using the angle gradients. Fig. 5. Lanes detected with Hough Lines Transform. B. Hough Transform Choilane et al. [10] use the Hough Transform combined with a Kalman filter to detect lines on the road. The model of the road in the Hough space and the vanishing point extraction allow for the detection of the road lines with a good performance and on challenging sequences. For the rubber-tyred rail detection in this paper, the Hough line detector can be used to find the vanishing point with a good performance. Detecting the shape of the rails is less efficient as a result of the many lines obtained. The need of thresholds on the Hough line transform does not always produce the best results. Further, the filtering of all the lines is computionally inefficient. Figure 5 shows the Hough line transform with all dectected lines. C. Watershed Good results in rail track segmentation are obtained using the Watershed technique [11]. However, due to aspects such as the high computational requirements as well as the presence of shadows or dark tunnels, the track segmentation is interrupted as shown in figure 6. III. PROPOSED APPROACH AND EXPERIMENTAL RESULTS Many of the existing approaches rely on empirically defined thresholds and fine-tuned parameters. To develop a more generic approach, we propose to use a sliding window Fig. 6. Watershed segmentation. Left: an accurate rail track segmentation. Right: an example showing the influence of a tunnel entrance on the segmentation result. Fig. 7. Sliding window from bottom to up. and a local maxima selection to make the rail detection more robust to changes in illumination, shadows and occlusions. Our algorithm is organised as follows: firstly, the gradient image is computed inside the sliding windows. Then we search for maxima and minima in the gradient image to find edges. From these edges, rails are extracted and compared with an expected position. We continue moving the sliding window over the image upwards. (See figure 7 for an overview of the movement of the sliding window). In the first step, a sliding window with a decreasing width is passed vertically over the image, starting at the bottom. The starting position of the rails at the bottom of the image is assumed to be constant and known, since the embarked camera is fixed and the width of the rails is constant. For each row in the sliding window, the edges are analyzed to find the correspondence with the predicted shape at this position. This local analysis allows us to detect low contrast edges. The next sliding window is centred with respect to the new detected rail position. To eliminate false alarms and avoid the deviation of the iterative search process, each new point detected as a track is compared to the previous points in the sliding window. The only points kept are those that minimize the mean square error with respect to the approximating line that represents them are kept. To make sure that the retained points are correct, they have to correspond with the projective straight line of the attended rail. ✶✶✽ ❆♥♥❡①❡ ✳ P✉❜❧✐❝❛t✐♦♥sFig. 8. Gradients inside the sliding windows for each side of the track. The window is centered with respect to where the rail edge is detected. The difference between its position and the maximum gradient detected, allows for the tracking of the position of the rails over the image This straight line has a decreasing length, larger at the bottom and smaller in far distances, allowing to approximate a curve to segments of straight lines depending on the distance from the camera. The estimated position is obtained using the perspective transformation between the real world and the 2D image [9]. For this, a calibrated camera and the knowledge of the expected shape is needed. Because the radius of the curvature is limited, we can always assume having a straight line in front of the train to initiate the algorithm. This straight line is then adapted to follow the track vertically across the image. The objective of this straight line is to determine the evolution of the rails over the image. It is calculated using the retained edges as rails and determines the next position of the slidings window in the rails over the image. This exploration is performed for the four edges of the rails. It allows us to determine the correct position of the rails over the image. Figure 8 shows the edges in the four sliding windows for each rail side. The center of the window is the predicted position of the rail and the maximum gradients are the edges of the rails. With this dynamic progression, we can overcome segments of rails with dark shadows where our local maxima selection does not detect any edge. The search process is stopped when the the vanishing point is reached or when the rails are not well detected, due to an obstacle covering them. Our sequences consist of videos taken 30 frames per second recorded using a camera with 5 mm focal length and 1/3 inch sensor size fixed behind the windshield at 2.78 m from the ground. The image size is 480 by 640 pixels. Figures 9, 10 and 11 illustrate the extraction of straight tracks from the bottom to the top of the image for curved rails. Fig. 9. Extracted rails Fig. 10. Extracted rails in curve Fig. 11. Extracted rails in curve IV. CONCLUSION AND FUTURE WORKS In this paper, a comparison of various techniques for rail extraction are presented and a new generic and robust approach is introduced. Our algorithm uses edge detection and applies simple geometric constraints provided by the rail characteristics. This allows to reduce both the cost in the computational load, as well the error in the detection of the rails. Future works will include a learning approach for the pattern recognition in the area around the rails to improve the detection performance in presence of unusual objects i.e. ❆✳✶✳ ❆rt✐❝❧❡ ■❚❙❈ ✷✵✶✷ ✶✶✾obstacles on the trackbed. We plan on publishing our dataset shortly, to enable a comparison of new and existing approaches on a public benchmark, since no such dataset is currently available. REFERENCES [1] J. McCall and M. Trivedi, “Video-based lane estimation and tracking for driver assistance: survey, system, and evaluation,” Intelligent Transportation Systems, IEEE Transactions on, vol. 7, no. 1, pp. 20 –37, march 2006. [2] V. Kastrinaki, M. Zervakis, and K. Kalaitzakis, “A survey of video processing techniques for traffic applications,” Image and Vision Computing, vol. 21, pp. 359–381, 2003. [3] B. Nassu and M. Ukai, “Rail extraction for driver support in railways,” in Intelligent Vehicles Symposium (IV), 2011 IEEE, june 2011, pp. 83 –88. [4] F. Maire, “Vision based anti-collision system for rail track maintenance vehicles,” in Advanced Video and Signal Based Surveillance, 2007. AVSS 2007. IEEE Conference on, sept. 2007, pp. 170 –175. [5] F. Kaleli and Y. Akgul, “Vision-based railroad track extraction using dynamic programming,” in Intelligent Transportation Systems, 2009. ITSC ’09. 12th International IEEE Conference on, oct. 2009, pp. 1 –6. [6] F. Maire and A. Bigdeli, “Obstacle-free range determination for rail track maintenance vehicles,” in Control Automation Robotics Vision (ICARCV), 2010 11th International Conference on, dec. 2010, pp. 2172 –2178. [7] J. Wohlfeil, “Vision based rail track and switch recognition for self-localization of trains in a rail network,” in Intelligent Vehicles Symposium (IV), 2011 IEEE, june 2011, pp. 1025 –1030. [8] J. Canny, “A computational approach to edge detection,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. PAMI- 8, no. 6, pp. 679 –698, nov. 1986. [9] R. I. Hartley and A. Zisserman, Multiple View Geometry in Computer Vision, 2nd ed. Cambridge University Press, ISBN: 0521540518, 2004. [10] K. Choi, K. Min, S. Lee, W. Park, Y. Seo, and Y. Hong, “Lane tracking in hough space using kalman filter.” [11] S. Beucher and M. Bilodeau, “Road segmentation and obstacle detection by a fast watershed transformation,” in Intelligent Vehicles’ 94 Symposium, Proceedings of the. IEEE, 1994, pp. 296–301. ✶✷✵ ❆♥♥❡①❡ ✳ P✉❜❧✐❝❛t✐♦♥sRail and turnout detection using gradient information and template matching Jorge Corsino Espino SIEMENS S.A.S. SWE RC-FR IC-MOL RA R&D 92320 Chatillon, France jorge.corsino-espino@siemens.com Bogdan Stanciulescu Robotic Center Mines ParisTech 75272 Paris, France bogdan.stanciulescu@mines-paristech.com Philippe Forin SIEMENS S.A.S. SWE RC-FR IC-MOL RA R&D 92320 Chatillon, France philippe.forin@siemens.com Abstract—This paper presents a railway track and turnout detection algorithm which is not based on an empirical threshold. The railway track extraction is based on an edge detection using the width of the rolling pads. This edge detection scheme is then used as an input to the RANSAC algorithm to determine the model of the rails. The turnout detection scheme is based on the Histogram of Oriented Gradient (HOG) and Template Matching (TM). The results show (i) reliable performance for our railway track extraction scheme and (ii) a correction rate of 97.31 percent for the turnout detection scheme using a Support Vector Machine (SVM) classifier. Keywords—Rails detection, Turnout detection I. INTRODUCTION Trains are considered one of the safest means of transportation. Unfortunately, accidents still often occur due to driver’s tiredness, bad weather conditions or other factors. Safety can be improved using intelligent systems that provide additional information about the exact location of the train, its speed and upcoming obstacles. This can be accomplished by installing sensors along the tracks but it can be expensive at a large scale. A more cost efficient approach is to install on-board cameras at the front of the train to support the driver. There are many constraints imposed on systems improving safety such as cost, resource efficiency as well as real-time performance. Rail recognition and extraction is one of the fundamental tasks in an on-board computer vision system for trains. It can be useful for trains positioning and speed estimation as well as obstacle detection. However, it faces many challenges such as bad illumination and poor visibility in tunnels or under bad weather conditions. Railway turnouts are characterized by complex rails extraction scenarios. For this reason, this paper proposes an approach for rails and turnout detection using only image processing to determine a free path in front of the train. The remainder of the paper is organized as follows: in Section 2 we describe the state of the art; in Section 3, we give an overview of the proposed system; in Section 4, we detail the proposed system for rails extraction; in Section 5, we present the approach for turnout detection; in Section 6 we present some experimental results. Finally, in Section 7, we summarize the conclusions and give an outlook on future works. II. PREVIOUS WORK Some studies [1], [2] show that the lane marking detection techniques, used in intelligent vehicles, can also be applied to the rail detection in certain applications. Both the lanemarkings and the rail tracks are represented as a group of lines. Furthermore, the curvatures in both applications tend to have a large radius, barely changing over small distances. However, the textured structure of the track-bed, due to ballast, grass and sleepers, as opposed to the uniform asphalt background of the lane-markings, makes the rails more difficult to detect. Furthermore, the reflective nature of the steel causes larger variations due to shadows and changes in illumination. Previous works have exploited the aforementioned characteristics of the railway tracks to detect them. In [3], the line segments, extracted using the edge detection, are matched to a set of track models. A probability measure designates the corresponding match using the Chamfer similarity metric. However, the edge detection is sensitive to the fine tuning of the parameters. Nassu et al. apply a hill-climbing approach for the parameter selection. The feasibility and efficiency of this approach is also limited by the choice and the number of rail segment models. In [4], the lines representing the tracks are also extracted. This is performed using quadratic programming. The initial segments at the bottom of the image are extended by adding neighbouring candidate segments which fulfil several constraints. The empirical choice of parameters renders the system less generic and more sensitive to variations. Kaleli et al. [5] also perform a preliminary edge detection to extract track candidates. They then use the Hough transform to merge the line segments into longer lines. Further, they use a dynamic programming approach to simultaneously detect the right and left tracks by ensuring the predefined width between them. In the anti-collision system presented in [6], the image is warped into a bird’s eye view to obtain parallel tracks, as opposed to the detection of the rail’s crossings in the vanishing point at the horizon. The parameter selection is initialized with the help of a human operator that designates the search region of the rails. The lines are extracted using a Hough transform. In [7], the switches at the railway crossings are detected. The eigenvalues of the gradients computed over image patches are used to identify homogeneous and textured regions. The ❆✳✷✳ ❆rt✐❝❧❡ ■❈■❘❚ ✷✵✶✸ ✶✷✶ ❆✳✷ ❆rt✐❝❧❡ ■❈■❘❚ ✷✵✶✸former is discarded, while the latter is filtered according to the gradient angles. Only a restricted area of the image is examined to reduce the computational overhead. The calculation of the covariance and the eigenvalues can be expensive at a large scale. In this paper, we propose a rail detection method for rubber-tyred trains, using the RANdom SAmple Consensus (RANSAC) [8] algorithm iteratively, selecting the best model from frame to frame. We test our method on challenging sequences with several parallel rails, richly textured background as well as illumination variations due to shadows and tunnels. At the same time, the system detects turnout sections over the rails to change the approach of RANSAC. For that the system analyzes the area between rails, searching for the presence of a guidance rail in turnouts. III. OVERVIEW OF THE METHOD A. The environment Rubber-tyred metro is a rapid transportation system that uses a mix of road and rail technology. The vehicle has wheels which run on rolling pads inside guide bars for traction, as well as the traditional railway steel wheels with deep flanges on steel tracks for guidance. Further, the pads are also often used for communication or control structures such as duct cables and drains. The environment is particularly challenging in train systems since there are several parallel rails, a richly textured track-bed, rail’s equipment and tunnels as shown in Fig. 1. The complexity of track-bed makes rail detection difficult due to the large quantity of straight segments and the shadows of the guidance tracks produced on the pads. As seen in Fig. 1, the rolling pads and other structures are close to each other. This task is more complex at night or on cloudy days because of rails’ color variation. Further, detecting dark rails over dark surfaces is harder than detecting bright lines on a dark road as in the road lane detection systems. B. Rails Geometry Rails geometry describes tracks’ layouts with specific alignments, curvature warp, rail gauge etc. In our case the principal characteristics are: • Minimum horizontal curve radius: 12m • Minimum vertical curve radius: 200m • Maximum slope: 12% • Width of rolling pads w = 250mm • Standard rails gauge g = 1650mm Movement tolerance of the rail vehicle • Banking: from 0% to 13% (0, 55%/m) • Roll: < 2 ◦/s • Pitch: < 2 ◦/s • Yaw:+/ − 3 ◦/s Fig. 1. Driver’s view with a fixed camera placed behind the wind-shield and vertical section of track bed and its distances. Turnouts are used to divide or merge tracks into two or more tracks. The purpose of crossings is to allow tracks to intersect at the same level. In our case, turnouts are equipped with a central switch to guide the train over the turnout. This switch is like a central rail of guidance. An example of our turnout is shown in Fig. 1. Assuming that the track-bed is planar, we can compute an inverse rectifying homography that maps the center camera image to a bird’s eye” point of view. Formally, we chose a train-centric coordinate system as follows: +Z is forward, +X is right and +Y is up. The X position of the center of the rails is modeled as a quadratic function in the ground plane such as: X(z) = az 2 + bz + c. Given the width of the rails (w), the standard gauge (g) and the inverse rectifying homography (Hr) for the trackbed where Y = 0, we can immediately derive the location X of the left and right rails’ edges for any Z. C. Camera A forward-facing camera was installed behind the wind shield at a height h of 2.78m above the trackbed surface and with a tilt angle of θ = 10 ◦ . Our sequences consist of videos taken at 30f ps recorded by a camera with 5mm focal length and 1/3inch sensor size. The image resolution is 480 by 640 pixels. D. Rails and turnout detection approach Although the goal of this work is turnout detection, it is crucial to first detect the rails. It starts by detecting the center of the rails at the bottom of the image. Then the image’s gradients are analyzed to find the rails candidates. These points p(u, v) are then converted with the Homography (Hr) to 3D points P(X, Y, Z). It is in this space where we fit the best model of the rails. For this purpose we propose to use RANSAC. In order to reduce the number of edges and keeping only the rails, other operations are exploited: masking, binarization, gradient angle analysis and filtering. Our algorithm is organized as follows: 1) Center of rails detection 2) Masking ✶✷✷ ❆♥♥❡①❡ ✳ P✉❜❧✐❝❛t✐♦♥s3) Gradient analysis 4) Homography 5) RANSAC a) Left RANSAC b) Right RANSAC c) Central parabola 6) Vanishing point of rails IV. PROPOSED APPROACH FOR RAILS DETECTION A. Edged-based rails detection The most common techniques used for road lane and rail detection are edge extraction and lines detection in the images. Many of the existing approaches rely on empirically defined thresholds and fine-tuned parameters. We propose to develop a more generic approach to find rails’ edges, searching for local maxima and minima gradient separated by a width of w. Before applying the edge detection, it is important to filter the image to smooth out any noise arising from the image capturing. This noise can lead to the detection of false edges. We can generate a maximum amount of edges as rails candidates, but to reduce the computational overhead, only almost parallel gradients, (having similar angle orientation) are kept. Therefore, horizontal and vertical gradients are analyzed. We generate a binary image with the center position of edges found, considering them as rails candidates. This image is then filtered by a neighbouring mask of size 4x4. As seen in Fig. 2, the number of edges is reduced to only a few, filtering a large amount of erroneous edges and simplify the next steps. This technique makes rail detection more robust to changes in illumination, shadows and occlusions because there is no threshold applied to gradient magnitude. B. Masking In order to speed up the algorithm and to reduce the number of edges we apply a mask over the image. This mask defines a region of interest with the track’s shape but with a bigger width. To place appropriately this mask, it is necessary to know the rails’ position. For that, the vanishing point (VP) of the rails is calculated and used as the end point of our mask. The VP of the rails is obtained by analyzing the tangent to detected rails at its maximum curve. As reminder, the tangent of a function is given by the equation (1) T(x) = f 0 (a)(x − a) + f(a) (1) An example of the mask can be seen in Fig. 3. For the first frames, the mask is not applied until we have determined a good rails detection. C. Fitting the rails From the precedent binary image, we obtain the retroprojection points P(X, Y, Z) for every rails candidate and store them in vector M to extract the rails in the rolling plane. For this purpose we decided to apply an iterative procedure to reduce error detection probability. We firstly use RANSAC to Fig. 2. Process of extracting edges rails candidates.First image is the input image. Second one shows the rails candidates obtained with the gradient analysis. Third image is the filtred image by neighbouring 4x4. Fig. 3. Example of mask. detect left and right rail independently. RANSAC is a robust estimation technique based on the principle of hypotheses, generation and verification, fitting models in the presence of many data outliers. For each search, we impose some conditions to the RANSAC algorithm as stated below: 1) Randomly select three points at different distances Z reducing the probability of a wrong model and the number of iterations. 2) Estimate the model m fitting these three initial inliers. 3) Check model: Verify that the radius of curvature corresponds to the rails’ layout. 4) Find the number of M’s data items that fit the model with a tolerance t, avoiding to accept other track-pad ❆✳✷✳ ❆rt✐❝❧❡ ■❈■❘❚ ✷✵✶✸ ✶✷✸structure as a rail. 5) Calculate the model’s error considering its rail’s partner. As the rail’s gauge is constant, we can calculate the model’s error found at a distance g. 6) Repeat 1-5 L times To calculate the model’s error, we consider the opposite track. Using two Gaussians separated by a width gauge (g), and centered over the rails all along Z distances, we calculate the error of all M’s points to the Gaussians. The best fitted model will have the minimum error. Considering the presence of vertical curves (slopes) and vibrations of the rail’s vehicle, the homography (Hr) can produce errors in converting p(u, v) to P(X, Y, Z). This is why we decided to analyze each rail separately to obtain the rails’ central function curve. From each RANSAC, we keep the inliers and then we translate them to the rails’ center. Once the translation is done, a new model is obtained by weighted least squares (equation 2). Weights depend on distance Z. Using this translation of both inliers to the rails’ center, the algorithm can lead to small changes in the flat world assumption. The process of fitting the model is shown in Fig. 4. For the next frame, as the position of rails is known, we can pre filtrate the new M vector to reduce the RANSAC process. This rail extraction method is efficient and robust. An example of edge rails tracker working accurately is shown in Fig. 9. W SS = Xn i=1 Wir 2 i , W i = 1 Dzi , r2 i = y−f(xi , β) (2) V. PROPOSED APPROACH FOR TURNOUT DETECTION The use of bird-eye view makes the detection of turnouts easier because tracks appear parallel, have constant width and are mainly vertical. Besides, every pixel appears in world coordinates. In presence of a turnout, there is a central rail to guide the train over it. The purpose of turnout detection is to determine their position before reaching them. Once rails are detected, we get the bird-eye view of rails at a distance Z between 10m and 12m with an offset of 1m, obtaining an unwrap image of 2x2m. Some examples of rails bird-eye view at 10m are shown in Fig. 5. We consider to analyze the center of the unwrap image, because in all turnouts there is a central rail. Hence we propose two techniques to find this rail: Template image matching and Histogram of oriented gradients (HOG). A. Template matching Template image matching [9] consist of finding a small part of an image which matches a template image. A basic problem of template matching is to determine the position of a given pattern in an image. In our case, the position of the center rail in the bird-eye view image is almost constant. Another problem is to determine how much the image and template’s brightness can vary due to lighting and exposure conditions. Therefore images have to be normalized first. This can be done at every step by subtracting the mean and dividing by the standard deviation. Fig. 4. Retro-projection of edges to fit models with RANSAC. First image shows the result of RANSAC for the left rail. Second is the result for right rail. Third image shows the translation of both inliers Fig. 5. Bird-eye view images of rails at 10m. On the top, bird-eye image of simple rails. At the bottom, with turnouts. ✶✷✹ ❆♥♥❡①❡ ✳ P✉❜❧✐❝❛t✐♦♥sFig. 6. At left the template image for center rail detection. At right an example of a center rail in bird-eye view Fig. 7. Auto cross correlation of the template. Fig. 8. Maximum value of correlation peak for 50 images without turnout and 50 with turnout. Fig. 9. Correlation feature extracted for 50 images without turnout and 50 with turnout. Given the center rail’s template t as shown in Fig. 6, the idea of the algorithm is to calculate normalized crosscorrelations of template and sub-image line per line. Then correlation is calculated as a sum of whole linears correlations. Figure 7 shows the result of the template’s auto-cross correlation. This result is characterized by 3 peaks and 2 valleys. Taking as correlation feature the value of the center peak (cross-correlation coefficient), we can distinguish between images with and without turnout. But if we take the sum of these 3 peaks and the 2 valleys the distance between two classes is bigger, as shown in figures 8 and 9. Hence, we use this sum as correlation feature to determine the presence of a central rail (turnout) or not. Corr feature = X 3 i=1 peak + X 2 i=1 valley (3) Diagnosis Positive Negative Total Test Positive 526 32 568 Negative 110 4603 4713 Total 636 4635 5271 TABLE I. B. HOG Histogram of Oriented Gradients [10] is a feature descriptor that gives local shape information often well described by the distribution of intensity gradients or edge directions. The technique counts occurrences of gradient orientation in localized portions of an image. Each pixel votes for an orientation according to the closest bin in the range. Our bins range is defined from 0 do 180 with 5 bins [15; 80; 100; 135; 180]. In the voting rule, we do not use the gradient’s amplitude to avoid noise in illumination changes. We use just one cell for HOG algorithm because the bird-eye view has a reduced size and we only analyze the area enclosed by the rails. As expected, in presence of a turnout, HOG reveals vertical gradient of center rail and the spatial distribution of bins is centered in the 3rd bin. Otherwise, all bins have a similar amplitude. VI. RESULTS Our algorithm was tested using different videos of the metro line OrlyVal in a cloudy day. In these videos the train rolls over 6 different turnouts. As explained, it is necessary to extract rails before detecting turnouts. The mean of rails’ maximum distance detected is 25 meters. This distance is limited by the low resolution of the camera. Fitting results under different circumstances are shown in Fig. 9. Blue color presents the fitted model for each rail and green color shows the central rails curve. All along the videos, rails extraction is done accurately. For turnout detection, we use as a classifier a Support Vector Machine (SVM) trained with less than 1/3 of data base images. The SVM input is the correlation feature and 3 bins of HOG (15-80; 80-100;100-135) for each frame. We dispose over a total of 5271 images for test and SVM gives the following results: a correction rate of 97.31%, a sensitivity of 92.6% and a specificity of 97.67%. Table 1 shows the confusion matrix. Most of false alarms are isolated, so a tracking over frames could improve detection results. The false negatives are produced exactly by images where rolling pads are merged with the center rail (center of turnout). VII. CONCLUSION AND FUTURE WORKS In this paper, a new generic and robust system for railway track and turnout detection is described. In our approach, an edge detection is used with simple geometric constraints provided by the rail characteristics. This leads to a reduction of the computational load and error rate in railway track detection. While the train is moving, the area between both railway tracks is analyzed to detect turnouts at a distance of 10m using the bird-eye view. Results show a very good performance ❆✳✷✳ ❆rt✐❝❧❡ ■❈■❘❚ ✷✵✶✸ ✶✷✺Fig. 10. Results for rails extraction in different situations. in railway turnout detection by using template matching and HOG. Future works will include: (i) the search of secondary rails when a turnout is found by changing the approach in RANSAC and (ii) the use of detected railway turnouts for topological trains mapping and localization. ACKNOWLEDGEMENTS Jorge Corsino Espino gratefully acknowledges the support of SIEMENS S.A.S. Infrastructure & Cities, Division Mobility and Logistics and the Mines ParisTech Robotic Center. REFERENCES [1] J. McCall and M. Trivedi, “Video-based lane estimation and tracking for driver assistance: survey, system, and evaluation,” Intelligent Transportation Systems, IEEE Transactions on, vol. 7, no. 1, pp. 20 –37, march 2006. [2] V. Kastrinaki, M. Zervakis, and K. Kalaitzakis, “A survey of video processing techniques for traffic applications,” Image and Vision Computing, vol. 21, pp. 359–381, 2003. [3] B. Nassu and M. Ukai, “Rail extraction for driver support in railways,” in Intelligent Vehicles Symposium (IV), 2011 IEEE, june 2011, pp. 83 –88. [4] F. Maire, “Vision based anti-collision system for rail track maintenance vehicles,” in Advanced Video and Signal Based Surveillance, 2007. AVSS 2007. IEEE Conference on, sept. 2007, pp. 170 –175. [5] F. Kaleli and Y. Akgul, “Vision-based railroad track extraction using dynamic programming,” in Intelligent Transportation Systems, 2009. ITSC ’09. 12th International IEEE Conference on, oct. 2009, pp. 1 –6. [6] F. Maire and A. Bigdeli, “Obstacle-free range determination for rail track maintenance vehicles,” in Control Automation Robotics Vision (ICARCV), 2010 11th International Conference on, dec. 2010, pp. 2172 –2178. [7] J. Wohlfeil, “Vision based rail track and switch recognition for selflocalization of trains in a rail network,” in Intelligent Vehicles Symposium (IV), 2011 IEEE, june 2011, pp. 1025 –1030. [8] M. A. Fischler and R. C. Bolles, “Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography,” Commun. ACM, vol. 24, no. 6, pp. 381–395, Jun. 1981. [Online]. Available: http://doi.acm.org/10.1145/358669.358692 [9] R. Brunelli, Template Matching Techniques in Computer Vision: Theory and Practice. Wiley Publishing, 2009. [10] N. Dalal and B. Triggs, “Histograms of oriented gradients for human detection,” in In CVPR, 2005, pp. 886–893. ✶✷✻ ❆♥♥❡①❡ ✳ P✉❜❧✐❝❛t✐♦♥sTurnout detection and classification using a modified HOG and template matching Jorge Corsino Espino1 and Bogdan Stanciulescu2 Abstract— This paper presents a railway track and turnout detection and turnout classification algorithm. The railway track extraction is based on an edge detection using the width of the rolling pads. This edge detection scheme is then used as an input to the RANSAC algorithm to determine the model of the rails knowing their gauge. The turnout detection scheme is based on the Histogram of Oriented Gradient (HOG) and Template Matching (TM). The turnout classification is based on HOG. The detection results show (i) reliable performance for our railway track extraction scheme; (ii) a correction rate of 97.31 percent for the turnout detection scheme using a Support Vector Machine (SVM) classifier. The turnout classification has correction rate of 98.72 percent using SVM. I. INTRODUCTION Trains are considered one of the safest means of transportation. Unfortunately, accidents still often occur due to driver’s tiredness, bad weather conditions or other factors. Safety can be improved using intelligent systems that provide additional information about the exact location of the train, its speed and upcoming obstacles. This can be accomplished by installing sensors along the tracks but it can be expensive at a large scale. A more cost efficient approach is to install on-board cameras at the front of the train to support the driver. Rail recognition and extraction is one of the fundamental tasks in an on-board computer vision system for trains. It can be useful for trains positioning and speed estimation as well as for obstacle detection, determining the region of interest to search obstacles. However, it faces many challenges such as bad illumination and poor visibility in tunnels or under bad weather conditions. Furthermore, approaching to a turnout, the system has to analyze both directions to determine both tracks as free obstacle path. Railway turnouts are characterized by complex rails extraction scenarios. For this reason, this paper proposes an approach for rails and turnout detection and classification using only image processing to determine a free path in front of the train. The paper is organized as follows: in Section 2 we describe the state of the art; in Section 3, we give an overview of the proposed system; in Section 4, we detail the proposed system for rails extraction; in Section 5, we present the approach *This work was supported by Mines-ParisTech and SIEMENS S.A.S. 1 Jorge Corsino Espino is a Phd student in Mathematics and Computer Vision Science, SIEMENS S.A.S. Infrastructure & Cities, Division Mobility and Logistics, 92320 Chatillon, France jorge.corsino-espino@siemens.com 2Bogdan Stanciulescu is a researcher and professor with the Robotics center, Mines-ParisTech, 75272 Paris, France bogdan.stanciulescu@mines-paristech.fr for turnout detection; in Section 6, we present the approach for turnout classification; in Section 7 we present some experimental results. Finally, in Section 8, we summarize the conclusions and give an outlook on future works. II. PREVIOUS WORK Some studies [1], [2] show that the lane marking detection techniques, used in intelligent vehicles, can also be applied to the rail detection in certain applications. Both the lanemarkings and the rail tracks are represented as a group of lines. Furthermore, the curvatures in both applications tend to have a large radius, barely changing over small distances. However, the textured structure of the track-bed, due to ballast, grass and sleepers, as opposed to the uniform asphalt background of the lane-markings, makes the rails more difficult to be detected. Furthermore, the reflective nature of the steel causes larger variations due to shadows and changes in illumination. Previous works have exploited the aforementioned characteristics of the traditional railway tracks to detect them as detailed in [3]. In [4], the switches at the railway crossings are detected. The eigenvalues of the gradients computed over image patches are used to identify homogeneous and textured regions. The former is discarded, while the latter is filtered according to the gradient angles. Only a restricted area of the image is examined to reduce the computational overhead. The calculation of the covariance and the eigenvalues can be expensive at a large scale. In this paper, we propose a rail detection method for rubber-tyred trains, using the RANdom SAmple Consensus (RANSAC) [5] algorithm iteratively, selecting the best model from frame to frame. We test our method on challenging sequences with several parallel rails, richly textured background as well as illumination variations due to shadows and tunnels. At the same time, the system detects turnout sections over the rails to change the approach of RANSAC. In order to detect turnouts the system analyzes the area between rails, searching for the presence of a guidance rail of turnouts. III. OVERVIEW OF THE METHOD A. The environment Rubber-tyred metro is a rapid transportation system that uses a mix of road and rail technology. The vehicle has wheels which run on rolling pads inside guide bars for traction, as well as the traditional railway steel wheels with deep flanges on steel tracks for guidance. ❆✳✸✳ ❆rt✐❝❧❡ ■❚❙❈ ✷✵✶✸ ✶✷✼ ❆✳✸ ❆rt✐❝❧❡ ■❚❙❈ ✷✵✶✸The environment is particularly challenging in train systems because of rail’s equipment and tunnels. Besides rubbertyred metro has a richly textured track-bed as shown in Fig. 1. The complexity of this track-bed makes rail detection difficult due to the large quantity of straight segments and the shadows of the guidance bars produced on the pads. As seen in Fig. 1, the rolling pads and other structures are close to each other. This task is more complex at night or on cloudy days because of rails’ color variation. B. Rails Geometry Rails geometry describes tracks’ layouts with specific alignments, curvature warp, rail gauge, etc. In our case the principal characteristics are: • Minimum horizontal curve radius: 20m • Minimum vertical curve radius: 200m • Maximum slope: 12% • Width of rolling pads w = 250mm • Standard rails gauge g = 1650mm Movement tolerance of the rail vehicle • Banking: from 0% to 13% (0, 55%/m) • Roll: < 2 ◦/s • Pitch: < 2 ◦/s • Yaw:+/ − 3 ◦/s Turnouts are used to divide or merge tracks into two or more tracks. The purpose of crossings is to allow tracks to intersect at the same level. In our case, turnouts are equipped with a central switch to guide the train over the turnout. This switch is like a central rail of guidance. An example of this kind of turnout is shown in Fig. 1. Knowing these characteristics we can assume that the track-bed is planar in the camera field of view. Computing an inverse rectifying homography that maps the center camera image to a ”bird’s-eye” point of view. Formally, we chose a train-centric coordinate system as follows: +Z is forward, +X is right and +Y is up. The curve f(z) representing the center of the rails can be modelled as a quadratic function in the ground plane such as: f(z) = az 2 + bz + c. Given rails’ width (w), the standard gauge (g) and the inverse rectifying homography (Hr) [6] for the trackbed where Y = 0, we can immediately derive the locations X of left and right rails for any Z. C. Camera A forward-facing camera was installed behind the wind shield at a height h of 2.78m above the trackbed surface and with a tilt angle of θ = 10 ◦ . Our sequences consist of videos taken at 30f ps recorded by a camera with 6.2mm focal length and 1/3inch sensor size. The image resolution is 480 by 640 pixels. D. Rails and turnout detection and turnout classification approach Although the goal of this work is turnout detection and classification, it is crucial to detect rails at first. It starts by detecting the center of the rails at the bottom of the image. Then the image’s gradients are analyzed to find the Fig. 1. Driver’s view with a fixed camera placed behind the wind-shield and vertical section of track bed and its distances. rails candidates. These points p(u, v) are then converted with the Homography (Hr) to 3D points P(X, Y, Z)Z=0. It is in this space where we fit the best model of the rails. For this purpose we propose to use RANSAC. In order to reduce the number of edges and keeping only the rails, other operations are exploited: masking, binarization, gradient angle analysis and filtering. Once rails have been detected, turnout detection is launch, searching for central rail of guidance. Then we classify the turnout between 5 classes. Our algorithm is organized as follows: 1) Center of rails detection 2) Masking 3) Gradient analysis 4) Homography: p(u, v) to P(X, Y, Z) 5) RANSAC a) Left rail RANSAC b) Right rail RANSAC c) Central parabola 6) Vanishing point of rails 7) Turnout detection (SVM) a) Template matching b) HOG 8) Turnout Classification (SVM) a) HOG of bird’s-eye view sub-image IV. PROPOSED APPROACH FOR RAILS DETECTION A. Edged-based rails detection The most common techniques used for road lane and rail detection are edge extraction and lines detection in the images. Many of the existing approaches rely on empirically defined thresholds and fine-tuned parameters. We propose to develop a more generic approach to find rails’ edges, searching for local maxima and minima gradient separated by a width of w. Before applying the edge detection, it is important to filter the image to smooth out any noise arising ✶✷✽ ❆♥♥❡①❡ ✳ P✉❜❧✐❝❛t✐♦♥sFig. 2. Process of extracting edges rails candidates.First image is the input image. Second one shows the rails candidates obtained with the gradient analysis. Third image is the filtred image by neighbouring 4x4. Fig. 3. Example of mask. from the image capturing. This noise can lead to the detection of false edges. We can generate a maximum amount of edges as rails candidates, but to reduce the computational overhead, only almost parallel gradients, (having similar edge orientation) are kept. Therefore, horizontal and vertical gradients are analyzed. We generate a binary image with the center position of edges found, considering them as rails candidates. This image is then filtered by a neighbouring mask of size 4x4. As seen in Fig. 2, the number of edges is reduced to only a few, filtering a large amount of erroneous edges and simplifying next steps. B. Masking In order to speed up the algorithm and to reduce the number of edges we apply a mask over the image. This mask defines a region of interest with the track’s shape but with a bigger width. To place appropriately this mask, it is necessary to know the rails’ position at the bottom of the image and at a far distance. For that, the vanishing point (VP) of the rails is calculated and used as the end point of our mask. The VP of the rails is obtained by analyzing the tangent to detected rails at its maximum curve. As remainder, the tangent of a curve at a point a is given by the equation (1) T(x) = f 0 (a)(x − a) + f(a) (1) An example of the mask can be seen in Fig. 3. For the first frames, the mask is not applied until we have determined a good rails detection. This mask reduces de computational cost and the probability to find erroneous rails. C. Fitting the rails From the precedent binary image, we obtain the retroprojection points P(X, Y, Z) for every rails candidate and store them in vector M to extract the rails in the rolling plane. For this purpose we decided to apply an iterative procedure to reduce error detection probability. We firstly use RANSAC to detect left and right rail independently. RANSAC is a robust estimation technique based on the principle of hypotheses, generation and verification, fitting models in the presence of many data outliers. For each search, we impose some conditions to the RANSAC algorithm as stated below: 1) Randomly select three points at different distances Z reducing the probability of a wrong model and the number of iterations. 2) Estimate the model m fitting these three initial inliers. 3) Check model: Verify that the radius of curvature corresponds to the rails’ layout. 4) Find the number of M’s data items that fit the model with a tolerance t, avoiding to accept other track-pad structure as a rail. 5) Calculate the model’s error considering its rail’s partner. As the rail’s gauge is constant, we can calculate the model’s error found at a distance g. 6) Repeat 1-5 L times To calculate the model’s error, we consider the opposite track. Using two Gaussians separated by a width gauge (g), and centered over the rails all along Z distances, we calculate the error of all M’s points to the Gaussians. The best fitted model will have the minimum error. Considering the presence of vertical curves (slopes) and vibrations of the rail’s vehicle, the homography (Hr) can produce errors in converting p(u, v) to P(X, Y, Z). This is why we decided to analyze each rail separately to obtain the rails’ central function curve. From each RANSAC, we keep the inliers and then we translate them to the rails’ center. Once the translation is done, a new model is obtained by weighted least squares (equation 2). Weights depend on distance Z. Using this translation of both inliers to the rails’ center, the algorithm can lead to small changes in the flat world assumption. The process of fitting the model is shown in Fig. 4. For the next frame, as the position of rails is known, we can pre filtrate the new M vector to reduce the RANSAC process. This rail extraction method is efficient and robust. An example of edge rails tracker working accurately is shown in Fig. 9. W SS = Xn i=1 Wir 2 i , W i = 1 Dzi , r2 i = yi−f(xi , β) (2) ❆✳✸✳ ❆rt✐❝❧❡ ■❚❙❈ ✷✵✶✸ ✶✷✾Fig. 4. Retro-projection of edges to fit models with RANSAC. First image shows the result of RANSAC for the left rail. Second is the result for right rail. Third image shows the translation of both inliers Fig. 5. Bird-eye view images of rails at 10m. On the top, bird’s-eye image of simple rails. At the bottom, with turnouts. V. PROPOSED APPROACH FOR TURNOUT DETECTION The use of bird-eye view makes the detection of turnouts easier because tracks appear parallel, have constant width and gauge, and are mainly vertical. Besides, every pixel appears in world coordinates. For rubber-tyred metro, in presence of a turnout, there is a central rail to guide the train over it. The purpose of turnout detection is to determine their position before reaching them. Knowing its emplacement, rails detection system can search for the new pair of rails going to right of left. Once rails are detected we get the bird’s-eye view of rails at a distance Z between 10m and 12m with a lateral offset of 1m, obtaining an unwrap image of 2x2m. Some examples of rails bird’s-eye view at 10m are shown in Fig. 5. We consider to analyze the center of the unwrap image, because in our case all turnouts have a central rail. Hence we propose two techniques to find this rail: Template image matching and Histogram of oriented gradients (HOG). A. Template matching Template image matching [7] consist of finding a small part of an image which matches a template image. A basic problem of template matching is to determine the position of Fig. 6. At left the template image for center rail detection. At right an example of a center rail in bird’s-eye view Fig. 7. Auto cross correlation of the template. a given pattern in an image. In our case, the position of the center rail in the bird’s-eye view image is almost constant. Another problem is to determine how much the image and template’s brightness can vary due to lighting and exposure conditions. Therefore images have to be normalized first. This can be done at every step by subtracting the mean and dividing by the standard deviation. Given the center rail’s template t as shown in Fig. 6, the idea of the algorithm is to calculate normalized crosscorrelations of template and sub-image line per line. Then correlation is calculated as a sum of whole lines correlations. Fig. 7 shows the result of the template’s auto-cross correlation. This result is characterized by 3 peaks and 2 valleys. Taking as correlation feature the value of the center peak (cross-correlation coefficient), we can distinguish between images with and without turnout. But if we take the sum of these 3 peaks and the 2 valleys (equation 3) the discrimination power between two classes is bigger, as shown in figures 8 and 9. Hence, we can use this sum as correlation feature to determine the presence of a central rail (turnout) or not. Corr feature = X 3 i=1 peak + X 2 i=1 valley (3) B. HOG Histogram of Oriented Gradients [8] is a feature descriptor that gives local shape information often well described by the distribution of intensity gradients or edge directions. The technique counts occurrences of gradient orientation in localized portions of an image. Each pixel votes for an orientation according to the closest bin in the range. Our bins range is defined from 0 do 180 with 5 bins centred in [7.5; 50; 90; 115; 157.5]. We use just one cell for HOG algorithm because the bird’s-eye view has a reduced size and we only analyze a small area enclosed by the rails. The optimum 3x3 mask (equation 4) to obtain gradients is based in [9]. ✶✸✵ ❆♥♥❡①❡ ✳ P✉❜❧✐❝❛t✐♦♥sFig. 8. Maximum value of correlation peak for 50 images without turnout and 50 with turnout. Fig. 9. Correlation feature extracted for 50 images without turnout and 50 with turnout. M =   −0.112737 0 0.112737 −.274526 0 .274526 −0.112737 0 0.112737   (4) As expected, in presence of a turnout, HOG reveals vertical gradient of the center rail and the spatial distribution of bins is centered in the 3rd bin. Otherwise all bins have a similar amplitude. In Fig. 10 we can see the distribution of bin’s amplitudes for images with and without turnout. VI. PROPOSED APPROACH FOR TURNOUT CLASSIFICATION Facing and trailing are terms used to describe railway turnouts in respect to whether they are divergent or convergent respectively. When a train traverses a turnout in a facing direction, it may diverge onto either of the two routes. When travelled in a trailing direction, the two routes converge onto each other. With the purpose of classify turnouts we decided to analyse the whole bird’s eye view image using HOG. Knowing the distribution of gradients’ orientations in this image we can classify the turnout in 5 classes. 1) Arriving/Leaving a turnout (just central rail is presented) 2) Right-hand facing turnout. 3) Left-hand facing turnout. 4) Left-hand trailing turnout. 5) Right-hand trailing turnout. Our bins’ range is defined from 0 do 180 degrees with 5 bins centred in [25; 67.5; 90; 112.5; 155]. Because of unwrap characteristics image, the orientation of leaving/arrival rails in turnout have the same angle. In our case, we only kept the 3 central bins for our HOG feature. Analyzing the shape of turnouts in the bird’s-eye view we chose 12 non overlapped cells. As classifier we propose to use SVM multi class, building 5 binary classifiers using the method one-versus-all. Fig. 10. Distribution of HOG bin’s amplitude for 50 images without turnout and 50 with turnout. Fig. 11. Shape of 5 classes of turnout to classify in the bird’s-eye view image. Fig. 12. HOG(12 cells,3 central bins) for right-hand trailing turnout. Fig. 13. HOG(12 cells,3 central bins) for left-hand facing turnout. VII. RESULTS Our algorithm was tested using different videos of the metro line OrlyVal in a cloudy day. In these videos the train rolls over 6 different turnouts. As explained, it is necessary to extract rails before detecting turnouts. The mean of rails’ maximum distance detected is 25 meters. This distance is limited by the low resolution of the camera. Fitting results under different circumstances are shown in Fig. 14. Green lines present the fitted model for each rail and. All along the videos, rails extraction is done accurately. For turnout detection we use as a classifier a Support Vector Machine (SVM) trained with less than 1/3 of data base images. As feature to detect the presence of central switch we use a correlation feature and 3 bins of HOG [15 − 80; 80 − 100; 100 − 135] for each frame. This feature is the input to the SVM classifier. We dispose over a total of 5271 images for test and SVM gives the following results: a correction rate of 97.31%, a sensitivity of 92.6% and a specificity of 97.67%. Table I shows the confusion matrix. Most of false alarms are isolated, so a tracking over frames could improve detection results. The false negatives are produced exactly by images where rolling pads are merged with the center rail (center of turnout). Finally, for turnout ❆✳✸✳ ❆rt✐❝❧❡ ■❚❙❈ ✷✵✶✸ ✶✸✶TABLE I CONFUSION MATRIX FOR TURNOUT DETECTION Output Positive Negative Total Input Positive 526 32 568 Negative 110 4603 4713 Total 636 4635 5271 TABLE II CONFUSION MATRIX FOR TURNOUT CLASSIFICATION Output c.1 c.2 c.3 c.4 c.5 Total Input c.1 3504 0 1 0 1 3506 c.2 14 41 0 0 1 56 c.3 1 0 10 0 0 11 c.4 7 1 0 10 1 19 c.5 18 2 0 0 63 83 Total 3544 44 11 10 66 3675 classification we use a SVM multi class classifier, using the structure one versus all[10]. The feature a modified HOG of bird’s-eye view sub-image. We use less than 1/3 of turnout images to train SVM. As our database is reduced, we decided to add to class 1 all the frames without turnout as the global shape of pads is the same (2 vertical pads). In this case, we obtain a total correct rate of 98.72 percent for all classes. Table II shows its confusion matrix. Most of errors between turnout classes are due to double turnouts, where tracks merge and separate in the same turnout. Theses errors are isolated so as before, a tracking over frames can suppress them increasing the accuracy. In Fig. 14 we can see different turnout detection and its classification. Yellow lines represents the area analyzed in bird’s-eye view to detect and classify turnouts. VIII. CONCLUSION AND FUTURE WORKS In this paper a new generic and robust system for railway track and turnout detection and turnout classification is described. In our approach, an edge detection is used with simple geometric constraints provided by the rail characteristics. This leads to a reduction of the computational load and error rate in railway track detection. While the train is moving, just a section of the area between both railway tracks is analyzed to detect turnouts using its bird’s-eye view. Once a turnout is detected it is classified using HOG as input for a SVM multi-class classifier. Results show a very good performance in railway turnout detection and classification by using template matching and HOG. Future works will include: (i) the search of secondary rails when a facing turnout is found by changing the approach in RANSAC and (ii) the use of detected railway turnouts for topological trains mapping and localization. ACKNOWLEDGEMENTS Jorge Corsino Espino gratefully acknowledges the support of SIEMENS S.A.S. Infrastructure & Cities, Division Mobility and Logistics in Chatillon, specially to Philippe Forin, and the Mines ParisTech Robotic Center. Fig. 14. Results for rails extraction, turnout detection and classification under different situations. Class 1; Class 2; Class 3; Class 4; Class 5; and N one turnout REFERENCES [1] J. McCall and M. Trivedi, “Video-based lane estimation and tracking for driver assistance: survey, system, and evaluation,” Intelligent Transportation Systems, IEEE Transactions on, vol. 7, no. 1, pp. 20 –37, march 2006. [2] V. Kastrinaki, M. Zervakis, and K. Kalaitzakis, “A survey of video processing techniques for traffic applications,” Image and Vision Computing, vol. 21, pp. 359–381, 2003. [3] J. Espino and B. Stanciulescu, “Rail extraction technique using gradient information and a priori shape model,” in Intelligent Transportation Systems (ITSC), 2012 15th International IEEE Conference on, 2012, pp. 1132–1136. [4] J. Wohlfeil, “Vision based rail track and switch recognition for self-localization of trains in a rail network,” in Intelligent Vehicles Symposium (IV), 2011 IEEE, june 2011, pp. 1025 –1030. [5] M. A. Fischler and R. C. Bolles, “Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography,” Commun. ACM, vol. 24, no. 6, pp. 381–395, Jun. 1981. [6] A. Agarwal, C. V. Jawahar, and P. J. Narayanan, “A Survey of Planar Homography Estimation Techniques,” Centre for Visual Information Technology, International Institute of Information Technology, Hyderabad, India, Tech. Rep., 2005. [7] R. Brunelli, Template Matching Techniques in Computer Vision: Theory and Practice. Wiley Publishing, 2009. [8] N. Dalal and B. Triggs, “Histograms of oriented gradients for human detection,” in In CVPR, 2005, pp. 886–893. [9] S. Ando, “Consistent gradient operators,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 22, no. 3, pp. 252–265, 2000. [10] C.-W. Hsu and C.-J. Lin, “A comparison of methods for multiclass support vector machines,” 2002. ✶✸✷ ❆♥♥❡①❡ ✳ P✉❜❧✐❝❛t✐♦♥s❇✐❜❧✐♦❣r❛♣❤✐❡ ❬❆❜r❛♠s♦♥ ❡t ❛❧✳ ✷✵✵✼❪ ❨♦t❛♠ ❆❜r❛♠s♦♥✱ ❇r✉♥♦ ❙t❡✉① ❡t ❍✐❝❤❛♠ ●❤♦r❛②❡❜✳ ❨❡t ❊✈❡♥ ❋❛st❡r ✭❨❊❋✮ r❡❛❧✲t✐♠❡ ♦❜❥❡❝t ❞❡t❡❝t✐♦♥✳ ■♥t❡r♥❛t✐♦♥❛❧ ❥♦✉r♥❛❧ ♦❢ ✐♥t❡❧❧✐❣❡♥t s②st❡♠s t❡❝❤♥♦❧♦❣✐❡s ❛♥❞ ❛♣♣❧✐❝❛t✐♦♥s✱ ✈♦❧✳ ✷✱ ♥♦✳ ✷✱ ♣❛❣❡s ✶✵✷✕✶✶✷✱ ✷✵✵✼✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✵✸✳✮ ❬❆❦s♦② ❡t ❛❧✳ ✷✵✵✹❪ ▼✳❙✳ ❆❦s♦②✱ ❖✳ ❚♦r❦✉❧ ❡t ■✳❍✳ ❈❡❞✐♠♦❣❧✉✳ ❆♥ ✐♥❞✉str✐❛❧ ✈✐s✉❛❧ ✐♥s♣❡❝t✐♦♥ s②st❡♠ t❤❛t ✉s❡s ✐♥❞✉❝t✐✈❡ ❧❡❛r♥✐♥❣✳ ❏♦✉r♥❛❧ ♦❢ ■♥t❡❧❧✐❣❡♥t ▼❛♥✉❢❛❝t✉r✐♥❣✱ ✈♦❧✳ ✶✺✱ ♥♦✳ ✹✱ ♣❛❣❡s ✺✻✾✕ ✺✼✹✱ ✷✵✵✹✳ ✭❈✐té ❡♥ ♣❛❣❡ ✼✽✳✮ ❬❆♥❞♦ ✷✵✵✵❪ ❙✳ ❆♥❞♦✳ ❈♦♥s✐st❡♥t ❣r❛❞✐❡♥t ♦♣❡r❛t♦rs✳ P❛tt❡r♥ ❆♥❛❧②s✐s ❛♥❞ ▼❛❝❤✐♥❡ ■♥t❡❧❧✐❣❡♥❝❡✱ ■❊❊❊ ❚r❛♥s❛❝t✐♦♥s ♦♥✱ ✈♦❧✳ ✷✷✱ ♥♦✳ ✸✱ ♣❛❣❡s ✷✺✷✕✷✻✺✱ ✷✵✵✵✳ ✭❈✐té ❡♥ ♣❛❣❡ ✽✷✳✮ ❬❆rr♦s♣✐❞❡ ❡t ❛❧✳ ✷✵✶✷❪ ❏♦♥ ❆rr♦s♣✐❞❡✱ ▲✉✐s ❙❛❧❣❛❞♦ ❡t ❏❛✈✐❡r ▼❛r✐♥❛s✳ ❍❖●✲❧✐❦❡ ❣r❛❞✐❡♥t✲❜❛s❡❞ ❞❡s❝r✐♣t♦r ❢♦r ✈✐s✉❛❧ ✈❡❤✐❝❧❡ ❞❡t❡❝t✐♦♥✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡s ❙②♠♣♦s✐✉♠ ✭■❱✮✱ ✷✵✶✷ ■❊❊❊✱ ♣❛❣❡s ✷✷✸✕✷✷✽✳ ■❊❊❊✱ ✷✵✶✷✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✵✻✳✮ ❬❇❛❧❧❛r❞ ✶✾✽✶❪ ❉❛♥❛ ❍ ❇❛❧❧❛r❞✳ ●❡♥❡r❛❧✐③✐♥❣ t❤❡ ❍♦✉❣❤ tr❛♥s❢♦r♠ t♦ ❞❡t❡❝t ❛r❜✐tr❛r② s❤❛♣❡s✳ P❛t✲ t❡r♥ r❡❝♦❣♥✐t✐♦♥✱ ✈♦❧✳ ✶✸✱ ♥♦✳ ✷✱ ♣❛❣❡s ✶✶✶✕✶✷✷✱ ✶✾✽✶✳ ✭❈✐té ❡♥ ♣❛❣❡s ✶✽✱ ✸✷✱ ✸✸ ❡t ✹✹✳✮ ❬❇❛r❝③❛❦ ❡t ❛❧✳ ✷✵✵✽❪ ❆♥❞r❡ ▲❈ ❇❛r❝③❛❦✱ ▼❛rt✐♥ ❏ ❏♦❤♥s♦♥ ❡t ❈❤r✐s ❍ ▼❡ss♦♠✳ ❊♠♣✐r✐❝❛❧ ❡✈❛✲ ❧✉❛t✐♦♥ ♦❢ ❛ ♥❡✇ str✉❝t✉r❡ ❢♦r ❛❞❛❜♦♦st✳ ■♥ Pr♦❝❡❡❞✐♥❣s ♦❢ t❤❡ ✷✵✵✽ ❆❈▼ s②♠♣♦s✐✉♠ ♦♥ ❆♣♣❧✐❡❞ ❝♦♠♣✉t✐♥❣✱ ♣❛❣❡s ✶✼✻✹✕✶✼✻✺✳ ❆❈▼✱ ✷✵✵✽✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✵✸✳✮ ❬❇❛r❣❡t♦♥ ✷✵✵✾❪ ❆❧❡①❛♥❞r❡ ❇❛r❣❡t♦♥✳ ❋✉s✐♦♥ ♠✉❧t✐✲s♦✉r❝❡s ♣♦✉r ❧✬✐♥t❡r♣rét❛t✐♦♥ ❞✬✉♥ ❡♥✈✐r♦♥♥❡✲ ♠❡♥t r♦✉t✐❡r✳ P❤❉ t❤❡s✐s✱ ➱❝♦❧❡ ◆❛t✐♦♥❛❧❡ ❙✉♣ér✐❡✉r❡ ❞❡s ▼✐♥❡s ❞❡ P❛r✐s✱ ✷✵✵✾✳ ✭❈✐té ❡♥ ♣❛❣❡s ✹✽ ❡t ✺✵✳✮ ❬❇❛② ❡t ❛❧✳ ✷✵✵✻❪ ❍❡r❜❡rt ❇❛②✱ ❚✐♥♥❡ ❚✉②t❡❧❛❛rs ❡t ▲✉❝ ❱❛♥ ●♦♦❧✳ ❙✉r❢ ✿ ❙♣❡❡❞❡❞ ✉♣ r♦❜✉st ❢❡❛t✉r❡s✳ ■♥ ❈♦♠♣✉t❡r ❱✐s✐♦♥✕❊❈❈❱ ✷✵✵✻✱ ♣❛❣❡s ✹✵✹✕✹✶✼✳ ❙♣r✐♥❣❡r✱ ✷✵✵✻✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✵✷✳✮ ❬❇❞✐r✐ ❡t ❛❧✳ ✷✵✵✾❪ ❚❛♦✉✜❦ ❇❞✐r✐✱ ❋❛❜✐❡♥ ▼♦✉t❛r❞❡✱ ◆✐❝♦❧❛s ❇♦✉r❞✐s ❡t ❇r✉♥♦ ❙t❡✉①✳ ❆❞❛❜♦♦st ✇✐t❤ ✧❑❡②♣♦✐♥t Pr❡s❡♥❝❡ ❋❡❛t✉r❡s✧ ❢♦r ❘❡❛❧✲❚✐♠❡ ❱❡❤✐❝❧❡ ❱✐s✉❛❧ ❉❡t❡❝t✐♦♥✳ ❈♦❘❘✱ ✈♦❧✳ ❛❜s✴✵✾✶✵✳✶✷✼✸✱ ✷✵✵✾✳ ✭❈✐té ❡♥ ♣❛❣❡s ✶✵✸ ❡t ✶✵✹✳✮ ❬❇❡rt♦③③✐ ❡t ❛❧✳ ✷✵✵✵❪ ▼❛ss✐♠♦ ❇❡rt♦③③✐✱ ❆❧❜❡rt♦ ❇r♦❣❣✐ ❡t ❆❧❡ss❛♥❞r❛ ❋❛s❝✐♦❧✐✳ ❱✐s✐♦♥✲❜❛s❡❞ ✐♥t❡❧✲ ❧✐❣❡♥t ✈❡❤✐❝❧❡s ❙t❛t❡ ♦❢ t❤❡ ❛rt ❛♥❞ ♣❡rs♣❡❝t✐✈❡s✳ ❘♦❜♦t✐❝s ❛♥❞ ❆✉t♦♥♦♠♦✉s s②st❡♠s✱ ✈♦❧✳ ✸✷✱ ♥♦✳ ✶✱ ♣❛❣❡s ✶✕✶✻✱ ✷✵✵✵✳ ✭❈✐té ❡♥ ♣❛❣❡s ✹✶ ❡t ✾✽✳✮ ❬❇❡✉❝❤❡r ✶✾✾✹❪ ❙❡r❣❡ ❇❡✉❝❤❡r✳ ❲❛t❡rs❤❡❞✱ ❤✐❡r❛r❝❤✐❝❛❧ s❡❣♠❡♥t❛t✐♦♥ ❛♥❞ ✇❛t❡r❢❛❧❧ ❛❧❣♦r✐t❤♠✳ ■♥ ▼❛t❤❡♠❛t✐❝❛❧ ♠♦r♣❤♦❧♦❣② ❛♥❞ ✐ts ❛♣♣❧✐❝❛t✐♦♥s t♦ ✐♠❛❣❡ ♣r♦❝❡ss✐♥❣✱ ♣❛❣❡s ✻✾✕✼✻✳ ❙♣r✐♥❣❡r✱ ✶✾✾✹✳ ✭❈✐té ❡♥ ♣❛❣❡ ✹✺✳✮ ❬❇❡✉❣✐♥ ✷✵✵✻❪ ❏✉❧✐❡ ❇❡✉❣✐♥✳ ❈♦♥tr✐❜✉t✐♦♥ à ❧✬é✈❛❧✉❛t✐♦♥ ❞❡ ❧❛ sé❝✉r✐té ❞❡s s②stè♠❡s ❝♦♠♣❧❡①❡s ❞❡ tr❛♥s♣♦rt ❣✉✐❞é✳ P❤❉ t❤❡s✐s✱ ❯♥✐✈❡rs✐té ❞❡ ❱❛❧❡♥❝✐❡♥♥❡s ❡t ❞✉ ❍❛✐♥❛✉t✲❈❛♠❜r❡s✐s✱ ✷✵✵✻✳ ✭❈✐té ❡♥ ♣❛❣❡ ✹✸✳✮ ❬❇♦s❝❤ ❡t ❛❧✳ ✷✵✵✼❪ ❆♥♥❛ ❇♦s❝❤✱ ❆♥❞r❡✇ ❩✐ss❡r♠❛♥ ❡t ❳❛✈✐❡r ▼✉♥♦③✳ ❘❡♣r❡s❡♥t✐♥❣ s❤❛♣❡ ✇✐t❤ ❛ s♣❛t✐❛❧ ♣②r❛♠✐❞ ❦❡r♥❡❧✳ ■♥ Pr♦❝❡❡❞✐♥❣s ♦❢ t❤❡ ✻t❤ ❆❈▼ ✐♥t❡r♥❛t✐♦♥❛❧ ❝♦♥❢❡r❡♥❝❡ ♦♥ ■♠❛❣❡ ❛♥❞ ✈✐❞❡♦ r❡tr✐❡✈❛❧✱ ♣❛❣❡s ✹✵✶✕✹✵✽✳ ❆❈▼✱ ✷✵✵✼✳ ✭❈✐té ❡♥ ♣❛❣❡ ✾✶✳✮ ❬❇♦✉❣✉❡t ✷✵✵✻❪ ❏❡❛♥✲❨✈❡s ❇♦✉❣✉❡t✳ ❈♦♠♣❧❡t❡ ❈❛♠❡r❛ ❈❛❧✐❜r❛t✐♦♥ ❚♦♦❧❜♦① ❢♦r ▼❛t❧❛❜✱ ✷✵✵✻✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✽✳✮ ❬❇♦✉❧❛❛ss❛❧ ✷✵✶✵❪ ❍❛❦✐♠ ❇♦✉❧❛❛ss❛❧✳ ❙❡❣♠❡♥t❛t✐♦♥ ❡t ♠♦❞é❧✐s❛t✐♦♥ ❣é♦♠étr✐q✉❡ ❞❡ ❢❛ç❛❞❡s ❞❡ ❜ât✐✲ ♠❡♥ts à ♣❛rt✐r ❞❡ r❡❧❡✈és ❧❛s❡r t❡rr❡str❡s✳ P❤❉ t❤❡s✐s✱ ❯♥✐✈❡rs✐té ❞❡ ❙tr❛s❜♦✉r❣✱ ✷✵✶✵✳ ✭❈✐té ❡♥ ♣❛❣❡ ✻✷✳✮ ❬❇r♦❣❣✐ ❡t ❛❧✳ ✷✵✵✹❪ ❆✳ ❇r♦❣❣✐✱ P✳ ❈❡rr✐ ❡t P✳❈✳ ❆♥t♦♥❡❧❧♦✳ ▼✉❧t✐✲r❡s♦❧✉t✐♦♥ ✈❡❤✐❝❧❡ ❞❡t❡❝t✐♦♥ ✉s✐♥❣ ❛rt✐✜❝✐❛❧ ✈✐s✐♦♥✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡s ❙②♠♣♦s✐✉♠✱ ✷✵✵✹ ■❊❊❊✱ ♣❛❣❡s ✸✶✵✕✸✶✹✱ ❏✉♥❡ ✷✵✵✹✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✵✻✳✮✶✸✹ ❇✐❜❧✐♦❣r❛♣❤✐❡ ❬❇r♦❣❣✐ ✶✾✾✺❪ ❆❧❜❡rt♦ ❇r♦❣❣✐✳ ❘♦❜✉st r❡❛❧✲t✐♠❡ ❧❛♥❡ ❛♥❞ r♦❛❞ ❞❡t❡❝t✐♦♥ ✐♥ ❝r✐t✐❝❛❧ s❤❛❞♦✇ ❝♦♥❞✐t✐♦♥s✳ ■♥ ❈♦♠♣✉t❡r ❱✐s✐♦♥✱ ✶✾✾✺✳ Pr♦❝❡❡❞✐♥❣s✳✱ ■♥t❡r♥❛t✐♦♥❛❧ ❙②♠♣♦s✐✉♠ ♦♥✱ ♣❛❣❡s ✸✺✸✕✸✺✽✳ ■❊❊❊✱ ✶✾✾✺✳ ✭❈✐té ❡♥ ♣❛❣❡ ✹✶✳✮ ❬❇r✉♥❡❧❧✐ ✷✵✵✾❪ ❘♦❜❡rt♦ ❇r✉♥❡❧❧✐✳ ❚❡♠♣❧❛t❡ ♠❛t❝❤✐♥❣ t❡❝❤♥✐q✉❡s ✐♥ ❝♦♠♣✉t❡r ✈✐s✐♦♥ ✿ ❚❤❡♦r② ❛♥❞ ♣r❛❝t✐❝❡✳ ❲✐❧❡② P✉❜❧✐s❤✐♥❣✱ ✷✵✵✾✳ ✭❈✐té ❡♥ ♣❛❣❡ ✼✽✳✮ ❬❈❛♥♥② ✶✾✽✻❪ ❏♦❤♥ ❈❛♥♥②✳ ❆ ❝♦♠♣✉t❛t✐♦♥❛❧ ❛♣♣r♦❛❝❤ t♦ ❡❞❣❡ ❞❡t❡❝t✐♦♥✳ P❛tt❡r♥ ❆♥❛❧②s✐s ❛♥❞ ▼❛❝❤✐♥❡ ■♥t❡❧❧✐❣❡♥❝❡✱ ■❊❊❊ ❚r❛♥s❛❝t✐♦♥s ♦♥✱ ♥♦✳ ✻✱ ♣❛❣❡s ✻✼✾✕✻✾✽✱ ✶✾✽✻✳ ✭❈✐té ❡♥ ♣❛❣❡s ✸✷ ❡t ✹✸✳✮ ❬❈❛r❜♦♥❡tt♦ ❡t ❛❧✳ ✷✵✵✽❪ P❡t❡r ❈❛r❜♦♥❡tt♦✱ ●②✉r✐ ❉♦r❦ó✱ ❈♦r❞❡❧✐❛ ❙❝❤♠✐❞✱ ❍❡♥❞r✐❦ ❑ü❝❦ ❡t ◆❛♥❞♦ ❉❡ ❋r❡✐t❛s✳ ▲❡❛r♥✐♥❣ t♦ r❡❝♦❣♥✐③❡ ♦❜❥❡❝ts ✇✐t❤ ❧✐tt❧❡ s✉♣❡r✈✐s✐♦♥✳ ■♥t❡r♥❛t✐♦♥❛❧ ❏♦✉r♥❛❧ ♦❢ ❈♦♠♣✉t❡r ❱✐s✐♦♥✱ ✈♦❧✳ ✼✼✱ ♥♦✳ ✶✲✸✱ ♣❛❣❡s ✷✶✾✕✷✸✼✱ ✷✵✵✽✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✵✵✳✮ ❬❈❡rr✐ ✫ ●r✐s❧❡r✐ ✷✵✵✺❪ P✳ ❈❡rr✐ ❡t P✳ ●r✐s❧❡r✐✳ ❋r❡❡ ❙♣❛❝❡ ❉❡t❡❝t✐♦♥ ♦♥ ❍✐❣❤✇❛②s ✉s✐♥❣ ❚✐♠❡ ❈♦rr❡✲ ❧❛t✐♦♥ ❜❡t✇❡❡♥ ❙t❛❜✐❧✐③❡❞ ❙✉❜✲♣✐①❡❧ ♣r❡❝✐s✐♦♥ ■P▼ ■♠❛❣❡s✳ ■♥ ❘♦❜♦t✐❝s ❛♥❞ ❆✉t♦♠❛t✐♦♥✱ ✷✵✵✺✳ ■❈❘❆ ✷✵✵✺✳ Pr♦❝❡❡❞✐♥❣s ♦❢ t❤❡ ✷✵✵✺ ■❊❊❊ ■♥t❡r♥❛t✐♦♥❛❧ ❈♦♥❢❡r❡♥❝❡ ♦♥✱ ♣❛❣❡s ✷✷✷✸✕✷✷✷✽✱ ❆♣r✐❧ ✷✵✵✺✳ ✭❈✐té ❡♥ ♣❛❣❡ ✹✻✳✮ ❬❈❤❛♥❣ ✫ ▲✐♥ ✷✵✶✶❪ ❈❤✐❤✲❈❤✉♥❣ ❈❤❛♥❣ ❡t ❈❤✐❤✲❏❡♥ ▲✐♥✳ ▲■❇❙❱▼ ✿ ❛ ❧✐❜r❛r② ❢♦r s✉♣♣♦rt ✈❡❝t♦r ♠❛❝❤✐♥❡s✳ ❆❈▼ ❚r❛♥s❛❝t✐♦♥s ♦♥ ■♥t❡❧❧✐❣❡♥t ❙②st❡♠s ❛♥❞ ❚❡❝❤♥♦❧♦❣② ✭❚■❙❚✮✱ ✈♦❧✳ ✷✱ ♥♦✳ ✸✱ ♣❛❣❡ ✷✼✱ ✷✵✶✶✳ ✭❈✐té ❡♥ ♣❛❣❡ ✽✹✳✮ ❬❈❤❛♥t♦♥ ✷✵✵✽❪ ❘✐❝❤❛r❞ ❈❤❛♥t♦♥✳ ❚r❛✐♥ ✈✐❞❡♦ ♣♦s✐t✐♦♥✐♥❣✳ ■♥st✐t✉t✐♦♥ ♦❢ ❘❛✐❧✇❛② ❙✐❣♥❛❧ ❊♥❣✐♥❡❡rs ❆❙P❊❈❚✱ ✷✵✵✽✳ ✭❈✐té ❡♥ ♣❛❣❡ ✻✽✳✮ ❬❈❤❡♥ ✫ ❲❛♥❣ ✷✵✵✻❪ ◗✐❛♥❣ ❈❤❡♥ ❡t ❍♦♥❣ ❲❛♥❣✳ ❆ ❘❡❛❧✲t✐♠❡ ▲❛♥❡ ❉❡t❡❝t✐♦♥ ❆❧❣♦r✐t❤♠ ❇❛s❡❞ ♦♥ ❛ ❍②♣❡r❜♦❧❛✲P❛✐r ▼♦❞❡❧✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡s ❙②♠♣♦s✐✉♠✱ ✷✵✵✻ ■❊❊❊✱ ♣❛❣❡s ✺✶✵✕✺✶✺✱ ✷✵✵✻✳ ✭❈✐té ❡♥ ♣❛❣❡ ✺✸✳✮ ❬❈❤♦✐ ❡t ❛❧✳ ✷✵✶✷❪ ❍✲❈ ❈❤♦✐✱ ❏✲▼ P❛r❦✱ ❲✲❙ ❈❤♦✐ ❡t ❙✲❨ ❖❤✳ ❱✐s✐♦♥✲❜❛s❡❞ ❢✉s✐♦♥ ♦❢ r♦❜✉st ❧❛♥❡ tr❛❝❦✐♥❣ ❛♥❞ ❢♦r✇❛r❞ ✈❡❤✐❝❧❡ ❞❡t❡❝t✐♦♥ ✐♥ ❛ r❡❛❧ ❞r✐✈✐♥❣ ❡♥✈✐r♦♥♠❡♥t✳ ■♥t❡r♥❛t✐♦♥❛❧ ❏♦✉r♥❛❧ ♦❢ ❆✉t♦♠♦t✐✈❡ ❚❡❝❤♥♦❧♦❣②✱ ✈♦❧✳ ✶✸✱ ♥♦✳ ✹✱ ♣❛❣❡s ✻✺✸✕✻✻✾✱ ✷✵✶✷✳ ✭❈✐té ❡♥ ♣❛❣❡s ✺✸ ❡t ✺✼✳✮ ❬❉❛❧❛❧ ✫ ❚r✐❣❣s ✷✵✵✺❪ ◆❛✈♥❡❡t ❉❛❧❛❧ ❡t ❇✐❧❧ ❚r✐❣❣s✳ ❍✐st♦❣r❛♠s ♦❢ ❖r✐❡♥t❡❞ ●r❛❞✐❡♥ts ❢♦r ❍✉♠❛♥ ❉❡t❡❝t✐♦♥✳ ■♥ ■♥ ❈❱P❘✱ ♣❛❣❡s ✽✽✻✕✽✾✸✱ ✷✵✵✺✳ ✭❈✐té ❡♥ ♣❛❣❡s ✽✶✱ ✽✷✱ ✾✵ ❡t ✾✶✳✮ ❬❉❡❧❛❝♦✉r ❡t ❛❧✳ ✷✵✵✺❪ ❍ ❉❡❧❛❝♦✉r✱ ❆ ❙❡r✈♦♥♥❡t✱ ❆ P❡rr♦t✱ ❏❋ ❱✐❣❡③③✐ ❡t ❏▼ ❘❛♠✐r❡③✳ ▲❛ ❝♦✉r❜❡ ❘❖❈ ✭r❡❝❡✐✈❡r ♦♣❡r❛t✐♥❣ ❝❤❛r❛❝t❡r✐st✐❝✮ ✿ ♣r✐♥❝✐♣❡s ❡t ♣r✐♥❝✐♣❛❧❡s ❛♣♣❧✐❝❛t✐♦♥s ❡♥ ❜✐♦❧♦❣✐❡ ❝❧✐♥✐q✉❡✳ ■♥ ❆♥♥❛❧❡s ❞❡ ❜✐♦❧♦❣✐❡ ❝❧✐♥✐q✉❡✱ ✈♦❧✉♠❡ ✻✸✱ ♣❛❣❡s ✶✹✺✕✶✺✹✱ ✷✵✵✺✳ ✭❈✐té ❡♥ ♣❛❣❡ ✽✺✳✮ ❬❉❤❛r♣✉r❡ ❡t ❛❧✳ ✷✵✶✸❪ ❏❛②❞❡♦ ❑✳ ❉❤❛r♣✉r❡✱ ▼✳ ❇✳ P♦t❞❛r ❡t ▼❛♥♦❥ P❛♥❞②❛✳ ❆rt✐❝❧❡ ✿ ❈♦✉♥t✐♥❣ ❖❜❥❡❝ts ✉s✐♥❣ ❈♦♥✈♦❧✉t✐♦♥ ❜❛s❡❞ P❛tt❡r♥ ▼❛t❝❤✐♥❣ ❚❡❝❤♥✐q✉❡✳ ■♥t❡r♥❛t✐♦♥❛❧ ❏♦✉r♥❛❧ ♦❢ ❆♣✲ ♣❧✐❡❞ ■♥❢♦r♠❛t✐♦♥ ❙②st❡♠s✱ ✈♦❧✳ ✺✱ ♥♦✳ ✽✱ ♣❛❣❡s ✶✹✕✶✾✱ ❏✉♥❡ ✷✵✶✸✳ P✉❜❧✐s❤❡❞ ❜② ❋♦✉♥❞❛t✐♦♥ ♦❢ ❈♦♠♣✉t❡r ❙❝✐❡♥❝❡✱ ◆❡✇ ❨♦r❦✱ ❯❙❆✳ ✭❈✐té ❡♥ ♣❛❣❡ ✼✽✳✮ ❬❉♦♠✐♥✐q✉❡ ✫ ❊r✐❝ ✶✾✾✽❪ ▼❡✐③❡ ❉♦♠✐♥✐q✉❡ ❡t ❇r❛ss❛rt ❊r✐❝✳ ❈❛❧✐❜r❛t✐♦♥ ❞✉ ❝❛♣t❡✉r ❞❡ ✈✐s✐♦♥ ♦♠✲ ♥✐❞✐r❡❝t✐♦♥♥❡❧❧❡ ✿ ❙❨❈▲❖P✳ ■♥ ❉✐♣❧♦♠❡ ❞✬❊t✉❞❡s ❆♣♣r♦❢♦♥❞✐❡s✱ ❈♦♥tr♦❧❡ ❞❡s ❙②stè♠❡s✳ ❯♥✐✈❡rs✐té ❞❡ ❈♦♠♣✐è❣♥❡✱ ✶✾✾✽✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✹✳✮ ❬❉♦♦③❡ ❡t ❛❧✳ ✶✾✾✽❪ ❉✳ ❉♦♦③❡✱ ▲✳ ❑❤♦✉❞♦✉r ❡t ❈✳ ❱✐❡r❡♥✳ ❖❜st❛❝❧❡ ❞❡t❡❝t✐♦♥ ✐♥ ❢r♦♥t ♦❢ ❛✉t♦♠❛t✐❝ tr❛✐♥s ❜② ❧✐♥❡❛r st❡r❡♦ ✈✐s✐♦♥✳ ■♥ ❈♦♠♣✉t❡rs ✐♥ ❘❛✐❧✇❛②s ❱■✱ ✈♦❧✉♠❡ ❚❤❡ ❇✉✐❧t ❊♥✈✐r♦♥♠❡♥t ✈♦❧✉♠❡ ✸✼✳ ❈✳ ❆✳ ❇❘❊❇❇■❆✱ ❲❡ss❡① ■♥st✐t✉t❡ ♦❢ ❚❡❝❤♥♦❧♦❣②✱ ❯♥✐t❡❞ ❑✐♥❣❞♦♠✒ ✶✾✾✽✳ ✭❈✐té ❡♥ ♣❛❣❡s ✶✼ ❡t ✾✼✳✮ ❬❊s♣✐♥♦ ❡t ❛❧✳ ✷✵✶✶❪ ❏♦r❣❡ ❈♦rs✐♥♦ ❊s♣✐♥♦✱ ❇r✉♥♦ ❙t❡✉① ❡t ❖❊ ❍❛♠③❛♦✉✐✳ ❙❛❢❡ ♥❛✈✐❣❛t✐♥❣ s②st❡♠ ❢♦r ✐♥❞♦♦r ❡♥✈✐r♦♥♠❡♥ts✳ ■♥ ❆✉t♦♠❛t✐♦♥✱ ❘♦❜♦t✐❝s ❛♥❞ ❆♣♣❧✐❝❛t✐♦♥s ✭■❈❆❘❆✮✱ ✷✵✶✶ ✺t❤ ■♥t❡r♥❛t✐♦♥❛❧ ❈♦♥❢❡r❡♥❝❡ ♦♥✱ ♣❛❣❡s ✹✶✾✕✹✷✸✳ ■❊❊❊✱ ✷✵✶✶✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✵✳✮ ❬❊✉r♦♣é❡♥❡ ✷✵✵✸❛❪ ❈♦♠♠✐ss✐♦♥ ❊✉r♦♣é❡♥❡✳ ◆♦r♠❡ ❊✉r♦♣é❡♥❡ ◆❋ ❊◆ ✺✵✶✷✻ ❆♣♣❧✐❝❛t✐♦♥s ❢❡rr♦✲ ✈✐❛✐r❡s ✲ ❙♣é❝✐✜❝❛t✐♦♥ ❡t ❞é♠♦♥str❛t✐♦♥ ❞❡ ❧❛ ✜❛❜✐❧✐té✱ ❞❡ ❧❛ ❞✐s♣♦♥✐❜✐❧✐té✱ ❞❡ ❧❛ ♠❛✐♥t❡♥❛❜✐❧✐té ❡t ❞❡ ❧❛ sé❝✉r✐té✱ ▼❛✐ ✷✵✵✸✳ ✭❈✐té ❡♥ ♣❛❣❡ ✹✳✮❇✐❜❧✐♦❣r❛♣❤✐❡ ✶✸✺ ❬❊✉r♦♣é❡♥❡ ✷✵✵✸❜❪ ❈♦♠♠✐ss✐♦♥ ❊✉r♦♣é❡♥❡✳ ◆♦r♠❡ ❊✉r♦♣é❡♥❡ ◆❋ ◆❊ ✺✵✶✷✾ ❆♣♣❧✐❝❛t✐♦♥ ❋❡rr♦✲ ✈✐❛✐r❡s ❙②sté♠❡s ❞❡ s✐❣♥❛❧✐s❛t✐♦♥✱ ❞❡ té❧é❝♦♠♠✉♥✐❝❛t✐♦♥ ❡t ❞❡ ❚r❛✐t❡♠❡♥t ❙②stè♠❡s é❧❡❝tr♦✲ ♥✐q✉❡s ❞❡ sé❝✉r✐té ♣♦✉r ❧❛ s✐❣♥❛❧✐s❛t✐♦♥✱ ▼❛✐ ✷✵✵✸✳ ✭❈✐té ❡♥ ♣❛❣❡ ✹✳✮ ❬❊✈❡r✐♥❣❤❛♠ ❡t ❛❧✳ ❪ ▼✳ ❊✈❡r✐♥❣❤❛♠✱ ▲✳ ❱❛♥ ●♦♦❧✱ ❈✳ ❑✳ ■✳ ❲✐❧❧✐❛♠s✱ ❏✳ ❲✐♥♥ ❡t ❆✳ ❩✐ss❡r♠❛♥✳ ❚❤❡ P❆❙❈❆▲ ❱✐s✉❛❧ ❖❜❥❡❝t ❈❧❛ss❡s ❈❤❛❧❧❡♥❣❡ ✷✵✶✷ ✭❱❖❈✷✵✶✷✮ ❘❡s✉❧ts✳ ❤tt♣ ✿✴✴✇✇✇✳♣❛s❝❛❧✲ ♥❡t✇♦r❦✳♦r❣✴❝❤❛❧❧❡♥❣❡s✴❱❖❈✴✈♦❝✷✵✶✷✴✇♦r❦s❤♦♣✴✐♥❞❡①✳❤t♠❧✳ ✭❈✐té ❡♥ ♣❛❣❡s ✶✵✵ ❡t ✶✵✶✳✮ ❬❋✐s❝❤❧❡r ✫ ❇♦❧❧❡s ✶✾✽✶❪ ▼❛rt✐♥ ❆✳ ❋✐s❝❤❧❡r ❡t ❘♦❜❡rt ❈✳ ❇♦❧❧❡s✳ ❘❛♥❞♦♠ s❛♠♣❧❡ ❝♦♥s❡♥s✉s ✿ ❛ ♣❛r❛❞✐❣♠ ❢♦r ♠♦❞❡❧ ✜tt✐♥❣ ✇✐t❤ ❛♣♣❧✐❝❛t✐♦♥s t♦ ✐♠❛❣❡ ❛♥❛❧②s✐s ❛♥❞ ❛✉t♦♠❛t❡❞ ❝❛rt♦❣r❛♣❤②✳ ❈♦♠♠✉♥✳ ❆❈▼✱ ✈♦❧✳ ✷✹✱ ♥♦✳ ✻✱ ♣❛❣❡s ✸✽✶✕✸✾✺✱ ❥✉♥ ✶✾✽✶✳ ✭❈✐té ❡♥ ♣❛❣❡ ✺✼✳✮ ❬❋r✐ts❝❤ ❡t ❛❧✳ ✷✵✶✸❪ ❏❛♥♥✐❦ ❋r✐ts❝❤✱ ❚♦❜✐❛s ❑✉❡❤♥❧ ❡t ❆♥❞r❡❛s ●❡✐❣❡r✳ ❆ ◆❡✇ P❡r❢♦r♠❛♥❝❡ ▼❡❛s✉r❡ ❛♥❞ ❊✈❛❧✉❛t✐♦♥ ❇❡♥❝❤♠❛r❦ ❢♦r ❘♦❛❞ ❉❡t❡❝t✐♦♥ ❆❧❣♦r✐t❤♠s✳ ■♥ ■♥t❡r♥❛t✐♦♥❛❧ ❈♦♥❢❡r❡♥❝❡ ♦♥ ■♥t❡❧❧✐❣❡♥t ❚r❛♥s♣♦rt❛t✐♦♥ ❙②st❡♠s ✭■❚❙❈✮✱ ✷✵✶✸✳ ✭❈✐té ❡♥ ♣❛❣❡ ✸✾✳✮ ❬●❛♥❣♥❡t ❡t ❛❧✳ ✶✾✽✹❪ ▼✐❝❤❡❧ ●❛♥❣♥❡t✱ ❉✐❞✐❡r P❡r♥② ❡t P❤✐❧✐♣♣❡ ❈♦✉❡✐❣♥♦✉①✳ P❡rs♣❡❝t✐✈❡ ♠❛♣♣✐♥❣ ♦❢ ♣❧❛♥❛r t❡①t✉r❡s✳ ❈♦♠♣✉t❡rs ✫ ●r❛♣❤✐❝s✱ ✈♦❧✳ ✽✱ ♥♦✳ ✷✱ ♣❛❣❡s ✶✶✺✕✶✷✸✱ ✶✾✽✹✳ ✭❈✐té ❡♥ ♣❛❣❡s ✶✻ ❡t ✹✸✳✮ ❬●❛r❝✐❛ ❡t ❛❧✳ ✷✵✵✺❪ ❏✳❏✳ ●❛r❝✐❛✱ ❈✳ ▲♦s❛❞❛✱ ❋✳ ❊s♣✐♥♦s❛✱ ❏✳ ❯r❡♥❛✱ ❆✳ ❍❡r♥❛♥❞❡③✱ ▼✳ ▼❛③♦✱ ❈✳ ❉❡ ▼❛r③✐❛♥✐✱ ❆✳ ❏✐♠❡♥❡③✱ ❊✳ ❇✉❡♥♦ ❡t ❋✳ ❆❧✈❛r❡③✳ ❉❡❞✐❝❛t❡❞ s♠❛rt ■❘ ❜❛rr✐❡r ❢♦r ♦❜st❛❝❧❡ ❞❡t❡❝t✐♦♥ ✐♥ r❛✐❧✇❛②s✳ ■♥ ■♥❞✉str✐❛❧ ❊❧❡❝tr♦♥✐❝s ❙♦❝✐❡t②✱ ✷✵✵✺✳ ■❊❈❖◆ ✷✵✵✺✳ ✸✶st ❆♥♥✉❛❧ ❈♦♥❢❡r❡♥❝❡ ♦❢ ■❊❊❊✱ ♣❛❣❡ ✻✱ ✷✵✵✺✳ ✭❈✐té ❡♥ ♣❛❣❡ ✸✳✮ ❬●❡✐st❧❡r ✫ ❇♦❤r✐♥❣❡r ✷✵✵✹❪ ❆ ●❡✐st❧❡r ❡t ❋ ❇♦❤r✐♥❣❡r✳ ❉❡t❡❝t✐♦♥ ❛♥❞ ❝❧❛ss✐✜❝❛t✐♦♥ ♦❢ t✉r♥♦✉ts ✉s✐♥❣ ❡❞❞② ❝✉rr❡♥t s❡♥s♦rs✳ P✉❜❧✐❝❛t✐♦♥ ♦❢ ✿ ❲■❚ Pr❡ss✱ ✷✵✵✹✳ ✭❈✐té ❡♥ ♣❛❣❡ ✼✸✳✮ ❬●s❝❤✇❛♥❞t♥❡r ❡t ❛❧✳ ✷✵✶✵❪ ▼✐❝❤❛❡❧ ●s❝❤✇❛♥❞t♥❡r✱ ❲♦❧❢❣❛♥❣ Pr❡❡ ❡t ❆♥❞r❡❛s ❯❤❧✳ ❚r❛❝❦ ❞❡t❡❝t✐♦♥ ❢♦r ❛✉t♦♥♦♠♦✉s tr❛✐♥s✳ ■♥ ❆❞✈❛♥❝❡s ✐♥ ❱✐s✉❛❧ ❈♦♠♣✉t✐♥❣✱ ♣❛❣❡s ✶✾✕✷✽✳ ❙♣r✐♥❣❡r✱ ✷✵✶✵✳ ✭❈✐té ❡♥ ♣❛❣❡s ✹✷✱ ✹✸✱ ✹✽ ❡t ✺✶✳✮ ❬❍❛♠❞♦✉♥ ✷✵✶✵❪ ❖♠❛r ❍❛♠❞♦✉♥✳ ❉ét❡❝t✐♦♥ ❡t ré✲✐❞❡♥t✐✜❝❛t✐♦♥ ❞❡ ♣✐ét♦♥s ♣❛r ♣♦✐♥ts ❞✬✐♥térêt ❡♥tr❡ ❝❛♠ér❛s ❞✐s❥♦✐♥t❡s✳ P❤❉ t❤❡s✐s✱ ➱❝♦❧❡ ♥❛t✐♦♥❛❧❡ s✉♣ér✐❡✉r❡ ❞❡s ♠✐♥❡s ❞❡ P❛r✐s✱ ✷✵✶✵✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✵✷✳✮ ❬❍❛♥❝♦❝❦ ❡t ❛❧✳ ✶✾✾✽❪ ❏♦❤♥ ❍❛♥❝♦❝❦✱ ▼❛rt✐❛❧ ❍❡❜❡rt ❡t ❈❤✉❝❦ ❚❤♦r♣❡✳ ▲❛s❡r ✐♥t❡♥s✐t②✲❜❛s❡❞ ♦❜s✲ t❛❝❧❡ ❞❡t❡❝t✐♦♥✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❘♦❜♦ts ❛♥❞ ❙②st❡♠s✱ ✶✾✾✽✳ Pr♦❝❡❡❞✐♥❣s✳✱ ✶✾✾✽ ■❊❊❊✴❘❙❏ ■♥t❡r♥❛t✐♦♥❛❧ ❈♦♥❢❡r❡♥❝❡ ♦♥✱ ✈♦❧✉♠❡ ✸✱ ♣❛❣❡s ✶✺✹✶✕✶✺✹✻✳ ■❊❊❊✱ ✶✾✾✽✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✾✳✮ ❬❍❛rr✐s ✫ ❙t❡♣❤❡♥s ✶✾✽✽❪ ❈❤r✐s ❍❛rr✐s ❡t ▼✐❦❡ ❙t❡♣❤❡♥s✳ ❆ ❝♦♠❜✐♥❡❞ ❝♦r♥❡r ❛♥❞ ❡❞❣❡ ❞❡t❡❝t♦r✳ ■♥ ❆❧✈❡② ✈✐s✐♦♥ ❝♦♥❢❡r❡♥❝❡✱ ✈♦❧✉♠❡ ✶✺✱ ♣❛❣❡ ✺✵✳ ▼❛♥❝❤❡st❡r✱ ❯❑✱ ✶✾✽✽✳ ✭❈✐té ❡♥ ♣❛❣❡s ✻✼ ❡t ✶✵✷✳✮ ❬❍❛r③❛❧❧❛❤ ✷✵✶✶❪ ❍❡❞✐ ❍❛r③❛❧❧❛❤✳ ❈♦♥tr✐❜✉t✐♦♥ à ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ❡t à ❧❛ r❡❝♦♥♥❛✐ss❛♥❝❡ ❞ ❄♦❜❥❡ts ❞❛♥s ❧❡s ✐♠❛❣❡s✳ P❤❉ t❤❡s✐s✱ ❯♥✐✈❡rs✐té ❞❡ ❈❛❡♥✱ ✷✵✶✶✳ ✭❈✐té ❡♥ ♣❛❣❡s ✶✵✸ ❡t ✶✵✻✳✮ ❬❍❛②❦✐♥ ✶✾✾✹❪ ❙✐♠♦♥ ❍❛②❦✐♥✳ ◆❡✉r❛❧ ♥❡t✇♦r❦s ✿ ❛ ❝♦♠♣r❡❤❡♥s✐✈❡ ❢♦✉♥❞❛t✐♦♥✳ Pr❡♥t✐❝❡ ❍❛❧❧ P❚❘✱ ✶✾✾✹✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✼✳✮ ❬❍s✉ ✫ ▲✐♥ ✷✵✵✷❪ ❈❤✐❤✲❲❡✐ ❍s✉ ❡t ❈❤✐❤✲❏❡♥ ▲✐♥✳ ❆ ❈♦♠♣❛r✐s♦♥ ♦❢ ▼❡t❤♦❞s ❢♦r ▼✉❧t✐❝❧❛ss ❙✉♣♣♦rt ❱❡❝t♦r ▼❛❝❤✐♥❡s✱ ✷✵✵✷✳ ✭❈✐té ❡♥ ♣❛❣❡ ✾✵✳✮ ❬❏❛③❛②❡r✐ ❡t ❛❧✳ ✷✵✶✶❪ ❆✳ ❏❛③❛②❡r✐✱ ❍♦♥❣②✉❛♥ ❈❛✐✱ ❏✐❛♥❣ ❨✉ ❩❤❡♥❣ ❡t ▼✳ ❚✉❝❡r②❛♥✳ ❱❡❤✐❝❧❡ ❉❡t❡❝t✐♦♥ ❛♥❞ ❚r❛❝❦✐♥❣ ✐♥ ❈❛r ❱✐❞❡♦ ❇❛s❡❞ ♦♥ ▼♦t✐♦♥ ▼♦❞❡❧✳ ■♥t❡❧❧✐❣❡♥t ❚r❛♥s♣♦rt❛t✐♦♥ ❙②st❡♠s✱ ■❊❊❊ ❚r❛♥s❛❝t✐♦♥s ♦♥✱ ✈♦❧✳ ✶✷✱ ♥♦✳ ✷✱ ♣❛❣❡s ✺✽✸✕✺✾✺✱ ❏✉♥❡ ✷✵✶✶✳ ✭❈✐té ❡♥ ♣❛❣❡ ✾✽✳✮ ❬❏✉♥❣ ✫ ❑❡❧❜❡r ✷✵✵✹❪ ❈❧❛✉❞✐♦ ❘♦s✐t♦ ❏✉♥❣ ❡t ❈❤r✐st✐❛♥ ❘♦❜❡rt♦ ❑❡❧❜❡r✳ ❆ r♦❜✉st ❧✐♥❡❛r✲♣❛r❛❜♦❧✐❝ ♠♦❞❡❧ ❢♦r ❧❛♥❡ ❢♦❧❧♦✇✐♥❣✳ ■♥ ❈♦♠♣✉t❡r ●r❛♣❤✐❝s ❛♥❞ ■♠❛❣❡ Pr♦❝❡ss✐♥❣✱ ✷✵✵✹✳ Pr♦❝❡❡❞✐♥❣s✳ ✶✼t❤ ❇r❛③✐❧✐❛♥ ❙②♠♣♦s✐✉♠ ♦♥✱ ♣❛❣❡s ✼✷✕✼✾✳ ■❊❊❊✱ ✷✵✵✹✳ ✭❈✐té ❡♥ ♣❛❣❡ ✺✼✳✮ ❬❑❛s❦❡ ❡t ❛❧✳ ✶✾✾✼❪ ❆①❡❧ ❑❛s❦❡✱ ❉✐❞✐❡r ❲♦❧❢ ❡t ❘❡♥❡ ❍✉ss♦♥✳ ▲❛♥❡ ❜♦✉♥❞❛r② ❞❡t❡❝t✐♦♥ ✉s✐♥❣ st❛✲ t✐st✐❝❛❧ ❝r✐t❡r✐❛✳ ■♥ ■♥t❡r♥❛t✐♦♥❛❧ ❈♦♥❢❡r❡♥❝❡ ♦♥ ◗✉❛❧✐t② ❜② ❆rt✐✜❝✐❛❧ ❱✐s✐♦♥✱ ◗❈❆❱✾✱ ♣❛❣❡s ✷✽✕✸✵✳ ❈✐t❡s❡❡r✱ ✶✾✾✼✳ ✭❈✐té ❡♥ ♣❛❣❡ ✺✼✳✮✶✸✻ ❇✐❜❧✐♦❣r❛♣❤✐❡ ❬❑❛ss ❡t ❛❧✳ ✶✾✽✽❪ ▼✐❝❤❛❡❧ ❑❛ss✱ ❆♥❞r❡✇ ❲✐t❦✐♥ ❡t ❉❡♠❡tr✐ ❚❡r③♦♣♦✉❧♦s✳ ❙♥❛❦❡s ✿ ❆❝t✐✈❡ ❝♦♥t♦✉r ♠♦❞❡❧s✳ ■♥t❡r♥❛t✐♦♥❛❧ ❥♦✉r♥❛❧ ♦❢ ❝♦♠♣✉t❡r ✈✐s✐♦♥✱ ✈♦❧✳ ✶✱ ♥♦✳ ✹✱ ♣❛❣❡s ✸✷✶✕✸✸✶✱ ✶✾✽✽✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✼✳✮ ❬❑❛✇❛♠✉r❛ ❡t ❛❧✳ ✷✵✶✶❪ ❆✳ ❑❛✇❛♠✉r❛✱ ❨✳ ❨♦s❤✐♠✐ts✉✱ ❑✳ ❑❛❥✐t❛♥✐✱ ❚✳ ◆❛✐t♦✱ ❑✳ ❋✉❥✐♠✉r❛ ❡t ❙✳ ❑❛✲ ♠✐❥♦✳ ❙♠❛rt ❝❛♠❡r❛ ♥❡t✇♦r❦ s②st❡♠ ❢♦r ✉s❡ ✐♥ r❛✐❧✇❛② st❛t✐♦♥s✳ ♣❛❣❡s ✽✺✕✾✵✱ ✷✵✶✶✳ ✭❈✐té ❡♥ ♣❛❣❡ ✸✳✮ ❬❑♦❧♠♦❣♦r♦✈ ✫ ❩❛❜✐❤ ✷✵✵✷❪ ❱❧❛❞✐♠✐r ❑♦❧♠♦❣♦r♦✈ ❡t ❘❛♠✐♥ ❩❛❜✐❤✳ ▼✉❧t✐ ❝❛♠❡r❛ s❝❡♥❡ r❡❝♦♥str✉❝✲ t✐♦♥ ✈✐❛ ❣r❛♣❤ ❝✉ts✳ ■♥ ❈♦♠♣✉t❡r ❱✐s✐♦♥ ❊❈❈❱ ✷✵✵✷✱ ♣❛❣❡s ✽✷✕✾✻✳ ❙♣r✐♥❣❡r✱ ✷✵✵✷✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✹✳✮ ❬▲❛❜❛②r❛❞❡ ❡t ❛❧✳ ✷✵✵✷❪ ❘❛♣❤❛❡❧ ▲❛❜❛②r❛❞❡✱ ❉✐❞✐❡r ❆✉❜❡rt ❡t ❏✲P ❚❛r❡❧✳ ❘❡❛❧ t✐♠❡ ♦❜st❛❝❧❡ ❞❡t❡❝t✐♦♥ ✐♥ st❡r❡♦✈✐s✐♦♥ ♦♥ ♥♦♥ ✢❛t r♦❛❞ ❣❡♦♠❡tr② t❤r♦✉❣❤✧ ✈✲❞✐s♣❛r✐t②✧ r❡♣r❡s❡♥t❛t✐♦♥✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡ ❙②♠♣♦s✐✉♠✱ ✷✵✵✷✳ ■❊❊❊✱ ✈♦❧✉♠❡ ✷✱ ♣❛❣❡s ✻✹✻✕✻✺✶✳ ■❊❊❊✱ ✷✵✵✷✳ ✭❈✐té ❡♥ ♣❛❣❡ ✾✼✳✮ ❬▲❛✐❧❧❡r ✶✾✾✸❪ ❈❛s✐♠✐r ▲❛✐❧❧❡r✳ ●✉✐❞❛❣❡ ♣❛r ✈✐s✐♦♥ ❛rt✐✜❝✐❡❧❧❡ ❞✬✉♥ ✈é❤✐❝✉❧❡ ❛✉t♦♥♦♠❡ s✉r r♦✉t❡ ♠❛tér✐❛❧✐sé❡ ♣❛r ❧❛ s✐❣♥❛❧✐s❛t✐♦♥ ❤♦r✐③♦♥t❛❧❡✳ ❆♣♣❧✐❝❛t✐♦♥ à ❧❛ ♣r♦t❡❝t✐♦♥ ❞❡s ❝❤❛♥t✐❡rs ♠♦❜✐❧❡s ❞✬❡♥tr❡t✐❡♥ ❞✉ rés❡❛✉ r♦✉t✐❡r✳ P❤❉ t❤❡s✐s✱ ✶✾✾✸✳ ✭❈✐té ❡♥ ♣❛❣❡ ✹✶✳✮ ❬▲❡❡ ✷✵✵✼❪ ❉❛✈✐❞ ❈ ▲❡❡✳ ❇♦♦st❡❞ ❈❧❛ss✐✜❡r ❢♦r ❈❛r ❉❡t❡❝t✐♦♥✱ ✷✵✵✼✳ ✭❈✐té ❡♥ ♣❛❣❡s ✶✵✸ ❡t ✶✵✹✳✮ ❬▲❡❢❛✉❞❡✉① ✫ ◆❛s❤❛s❤✐❜✐ ✷✵✶✷❪ ❇❡♥❥❛♠✐♥ ▲❡❢❛✉❞❡✉① ❡t ❋❛✇③✐ ◆❛s❤❛s❤✐❜✐✳ ❘❡❛❧✲t✐♠❡ ✈✐s✉❛❧ ♣❡r❝❡♣✲ t✐♦♥ ✿ ❞❡t❡❝t✐♦♥ ❛♥❞ ❧♦❝❛❧✐s❛t✐♦♥ ♦❢ st❛t✐❝ ❛♥❞ ♠♦✈✐♥❣ ♦❜❥❡❝ts ❢r♦♠ ❛ ♠♦✈✐♥❣ st❡r❡♦ r✐❣✳ ■♥ ■❚❙❈ ✷✵✶✷ ✲ ✶✺t❤ ■♥t❡r♥❛t✐♦♥❛❧ ■❊❊❊ ❈♦♥❢❡r❡♥❝❡ ♦♥ ■♥t❡❧❧✐❣❡♥t ❚r❛♥s♣♦rt❛t✐♦♥ ❙②st❡♠s✱ ♣❛❣❡s ✺✷✷ ✕ ✺✷✼✱ ❆♥❝❤♦r❛❣❡✱ ❊t❛ts✲❯♥✐s✱ ❙❡♣ ✷✵✶✷✳ ■❊❊❊✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✹✳✮ ❬▲❡❢❛✉❞❡✉① ✷✵✶✸❪ ❇❡♥❥❛♠✐♥ ▲❡❢❛✉❞❡✉①✳ ❉♦❝t♦r❛t P❛r✐s❚❡❝❤✳ P❤❉ t❤❡s✐s✱ ➱❝♦❧❡ ♥❛t✐♦♥❛❧❡ s✉♣ér✐❡✉r❡ ❞❡s ♠✐♥❡s ❞❡ P❛r✐s✱ ✷✵✶✸✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✵✷✳✮ ❬▲✐✉ ❡t ❛❧✳ ✶✾✾✵❪ ❨✳ ▲✐✉✱ ❚✳❙✳ ❍✉❛♥❣ ❡t ❖✳❉✳ ❋❛✉❣❡r❛s✳ ❉❡t❡r♠✐♥❛t✐♦♥ ♦❢ ❝❛♠❡r❛ ❧♦❝❛t✐♦♥ ❢r♦♠ ✷✲❉ t♦ ✸✲❉ ❧✐♥❡ ❛♥❞ ♣♦✐♥t ❝♦rr❡s♣♦♥❞❡♥❝❡s✳ P❛tt❡r♥ ❆♥❛❧②s✐s ❛♥❞ ▼❛❝❤✐♥❡ ■♥t❡❧❧✐❣❡♥❝❡✱ ■❊❊❊ ❚r❛♥s❛❝t✐♦♥s ♦♥✱ ✈♦❧✳ ✶✷✱ ♥♦✳ ✶✱ ♣❛❣❡s ✷✽✕✸✼✱ ✶✾✾✵✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✹✳✮ ❬▲♦✉❛❤❞✐ ❡t ❛❧✳ ✷✵✵✷❪ ❑❤♦✉❞♦✉r ▲♦✉❛❤❞✐✱ ❆♠❜❡❧❧♦✉✐s ❙❡❜❛st✐❡♥✱ ❱✐❡r❡♥ ❈❤r✐st♦♣❤❡ ❡t P❛s❝❛❧ ❉❡✲ ❧♦♦❢✳ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ❞❡✈❛♥t ❧❡s ✈é❤✐❝✉❧❡s ❞❡ tr❛♥s♣♦rts ❣✉✐❞és✳ ❯t✐❧✐s❛t✐♦♥ ❞✬✉♥ r❛❞❛r ❝♦♦♣ér❛t✐❢ ❡t ❞✬✉♥ stéré♦s❝♦♣❡ ♦♣t✐q✉❡✳ ■♥ ■♥str✉♠❡♥t❛t✐♦♥ ▼❡s✉r❡ ▼❡tr♦❧♦❣✐❡ ❈❛♣t❡✉rs ❡t ❚r❛✐t❡♠❡♥t ❞✉ s✐❣♥❛❧ ♣♦✉r ❧❡s tr❛♥s♣♦rts ❣✉✐❞és✱ ✈♦❧✉♠❡ ✷✱ ♣❛❣❡s ✽✶✕✶✶✻✳ ▲❛✈♦s✐❡r✱ ✷✵✵✷✳ ✭❈✐té ❡♥ ♣❛❣❡s ✶✼ ❡t ✾✼✳✮ ❬▲♦✇❡ ✶✾✾✾❪ ❉❛✈✐❞ ● ▲♦✇❡✳ ❖❜❥❡❝t r❡❝♦❣♥✐t✐♦♥ ❢r♦♠ ❧♦❝❛❧ s❝❛❧❡✲✐♥✈❛r✐❛♥t ❢❡❛t✉r❡s✳ ■♥ ❈♦♠♣✉t❡r ✈✐s✐♦♥✱ ✶✾✾✾✳ ❚❤❡ ♣r♦❝❡❡❞✐♥❣s ♦❢ t❤❡ s❡✈❡♥t❤ ■❊❊❊ ✐♥t❡r♥❛t✐♦♥❛❧ ❝♦♥❢❡r❡♥❝❡ ♦♥✱ ✈♦❧✉♠❡ ✷✱ ♣❛❣❡s ✶✶✺✵✕✶✶✺✼✳ ■❡❡❡✱ ✶✾✾✾✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✵✷✳✮ ❬▲♦✇❡ ✷✵✵✹❪ ❉❛✈✐❞ ● ▲♦✇❡✳ ❉✐st✐♥❝t✐✈❡ ✐♠❛❣❡ ❢❡❛t✉r❡s ❢r♦♠ s❝❛❧❡✲✐♥✈❛r✐❛♥t ❦❡②♣♦✐♥ts✳ ■♥t❡r♥❛t✐♦♥❛❧ ❥♦✉r♥❛❧ ♦❢ ❝♦♠♣✉t❡r ✈✐s✐♦♥✱ ✈♦❧✳ ✻✵✱ ♥♦✳ ✷✱ ♣❛❣❡s ✾✶✕✶✶✵✱ ✷✵✵✹✳ ✭❈✐té ❡♥ ♣❛❣❡ ✻✼✳✮ ❬▼❛❜r♦✉❦ ✷✵✶✵❪ ❍❛❜✐❜ ❍❛❞❥ ▼❛❜r♦✉❦✳ ■♥tr♦❞✉❝t✐♦♥ à ❧❛ sé❝✉r✐té ❡t à ❧✬❛♥❛❧②s❡ ❞❡s r✐sq✉❡s t❡❝❤♥♦✲ ❧♦❣✐q✉❡s ❡t ❤✉♠❛✐♥s✳ ■♥ ❆❝t❡s ❞✉ ❙②♠♣♦s✐✉♠ ■♥t❡r♥❛t✐♦♥❛❧ s✉r ❧❛ ▼❛✐♥t❡♥❛♥❝❡ ❡t ❧❛ ▼❛îtr✐s❡ ❞❡s ❘✐sq✉❡s✱ ✷✵✶✵✳ ✭❈✐té ❡♥ ♣❛❣❡s ✹ ❡t ✺✳✮ ❬▼❛✐r❡ ✫ ❇✐❣❞❡❧✐ ✷✵✶✵❪ ❋ré❞ér✐❝ ▼❛✐r❡ ❡t ❆❜❜❛s ❇✐❣❞❡❧✐✳ ❖❜st❛❝❧❡✲❢r❡❡ r❛♥❣❡ ❞❡t❡r♠✐♥❛t✐♦♥ ❢♦r r❛✐❧ tr❛❝❦ ♠❛✐♥t❡♥❛♥❝❡ ✈❡❤✐❝❧❡s✳ ■♥ ❈♦♥tr♦❧ ❆✉t♦♠❛t✐♦♥ ❘♦❜♦t✐❝s ✫ ❱✐s✐♦♥ ✭■❈❆❘❈❱✮✱ ✷✵✶✵ ✶✶t❤ ■♥t❡r♥❛t✐♦♥❛❧ ❈♦♥❢❡r❡♥❝❡ ♦♥✱ ♣❛❣❡s ✷✶✼✷✕✷✶✼✽✳ ■❊❊❊✱ ✷✵✶✵✳ ✭❈✐té ❡♥ ♣❛❣❡s ✶✽ ❡t ✼✽✳✮ ❬▼❛r ❡t ❛❧✳ ✷✵✶✶❪ ◆✳❙✳❙✳ ▼❛r✱ P✳❑✳❉✳❱✳ ❨❛r❧❛❣❛❞❞❛ ❡t ❈✳ ❋♦♦❦❡s✳ ❉❡s✐❣♥ ❛♥❞ ❞❡✈❡❧♦♣♠❡♥t ♦❢ ❛✉t♦✲ ♠❛t✐❝ ✈✐s✉❛❧ ✐♥s♣❡❝t✐♦♥ s②st❡♠ ❢♦r P❈❇ ♠❛♥✉❢❛❝t✉r✐♥❣✳ ❘♦❜♦t✐❝s ❛♥❞ ❈♦♠♣✉t❡r✲■♥t❡❣r❛t❡❞ ▼❛♥✉❢❛❝t✉r✐♥❣✱ ✈♦❧✳ ✷✼✱ ♥♦✳ ✺✱ ♣❛❣❡s ✾✹✾ ✕ ✾✻✷✱ ✷✵✶✶✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✹✳✮ ❬▼❛ss✐♠♦ ❡t ❛❧✳ ✷✵✵✵❪ ❇❡rt♦③③✐ ▼❛ss✐♠♦✱ ❇r♦❣❣✐ ❆❧❜❡rt♦ ❡t ❋❛s❝✐♦❧✐ ❆❧❡ss❛♥❞r❛✳ ❱✐s✐♦♥✲❜❛s❡❞ ✐♥✲ t❡❧❧✐❣❡♥t ✈❡❤✐❝❧❡s ✿ ❙t❛t❡ ♦❢ t❤❡ ❛rt ❛♥❞ ♣❡rs♣❡❝t✐✈❡s✳ ❘♦❜♦t✐❝s ❛♥❞ ❆✉t♦♥♦♠♦✉s ❙②st❡♠s✱ ✈♦❧✳ ✸✷✱ ♥♦✳ ✶✱ ♣❛❣❡s ✶ ✕ ✶✻✱ ✷✵✵✵✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✳✮❇✐❜❧✐♦❣r❛♣❤✐❡ ✶✸✼ ❬▼❡✐❧❧❛♥❞ ✷✵✶✷❪ ▼❛①✐♠❡ ▼❡✐❧❧❛♥❞✳ ❈❛rt♦❣r❛♣❤✐❡ ❘●❇✲❉ ❞❡♥s❡ ♣♦✉r ❧❛ ❧♦❝❛❧✐s❛t✐♦♥ ✈✐s✉❡❧❧❡ t❡♠♣s✲ ré❡❧ ❡t ❧❛ ♥❛✈✐❣❛t✐♦♥ ❛✉t♦♥♦♠❡✳ P❤❉ t❤❡s✐s✱ ❊❝♦❧❡ ◆❛t✐♦♥❛❧❡ ❙✉♣ér✐❡✉r❡ ❞❡s ▼✐♥❡s ❞❡ P❛r✐s✱ ✷✵✶✷✳ ✭❈✐té ❡♥ ♣❛❣❡ ✻✼✳✮ ❬▼♦❝❦❡❧ ❡t ❛❧✳ ✷✵✵✸❪ ❙ ▼♦❝❦❡❧✱ ❋r❛♥❦ ❙❝❤❡r❡r ❡t P❡t❡r ❋ ❙❝❤✉st❡r✳ ▼✉❧t✐✲s❡♥s♦r ♦❜st❛❝❧❡ ❞❡t❡❝t✐♦♥ ♦♥ r❛✐❧✇❛② tr❛❝❦s✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡s ❙②♠♣♦s✐✉♠✱ ✷✵✵✸✳ Pr♦❝❡❡❞✐♥❣s✳ ■❊❊❊✱ ♣❛❣❡s ✹✷✕✹✻✳ ■❊❊❊✱ ✷✵✵✸✳ ✭❈✐té ❡♥ ♣❛❣❡s ✶✺ ❡t ✶✻✳✮ ❬▼✉❛❞ ❡t ❛❧✳ ✷✵✵✹❪ ❆✳▼✳ ▼✉❛❞✱ ❆✳ ❍✉ss❛✐♥✱ ❙✳❆✳ ❙❛♠❛❞✱ ▼✳▼✳ ▼✉st❛✛❛ ❡t ❇✳❨✳ ▼❛❥❧✐s✳ ■♠♣❧❡♠❡♥✲ t❛t✐♦♥ ♦❢ ✐♥✈❡rs❡ ♣❡rs♣❡❝t✐✈❡ ♠❛♣♣✐♥❣ ❛❧❣♦r✐t❤♠ ❢♦r t❤❡ ❞❡✈❡❧♦♣♠❡♥t ♦❢ ❛♥ ❛✉t♦♠❛t✐❝ ❧❛♥❡ tr❛❝❦✐♥❣ s②st❡♠✳ ■♥ ❚❊◆❈❖◆ ✷✵✵✹✳ ✷✵✵✹ ■❊❊❊ ❘❡❣✐♦♥ ✶✵ ❈♦♥❢❡r❡♥❝❡✱ ✈♦❧✉♠❡ ❆✱ ♣❛❣❡s ✷✵✼✕✷✶✵ ❱♦❧✳ ✶✱ ◆♦✈ ✷✵✵✹✳ ✭❈✐té ❡♥ ♣❛❣❡ ✹✽✳✮ ❬◆❛♥❣t✐♥ ❡t ❛❧✳ ✷✵✵✺❪ P✳ ◆❛♥❣t✐♥✱ P✳ ❑✉♠❤♦♠ ❡t ❑✳ ❈❤❛♠♥♦♥❣t❤❛✐✳ ❱✐❞❡♦✲❜❛s❡❞ ♦❜st❛❝❧❡ tr❛❝❦✐♥❣ ❢♦r ❛✉t♦♠❛t✐❝ tr❛✐♥ ♥❛✈✐❣❛t✐♦♥✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❙✐❣♥❛❧ Pr♦❝❡ss✐♥❣ ❛♥❞ ❈♦♠♠✉♥✐❝❛t✐♦♥ ❙②st❡♠s✱ ✷✵✵✺✳ ■❙P❆❈❙ ✷✵✵✺✳ Pr♦❝❡❡❞✐♥❣s ♦❢ ✷✵✵✺ ■♥t❡r♥❛t✐♦♥❛❧ ❙②♠♣♦s✐✉♠ ♦♥✱ ♣❛❣❡s ✷✶✕✷✹✱ ✷✵✵✺✳ ✭❈✐té ❡♥ ♣❛❣❡ ✸✳✮ ❬◆❈❆P ✷✵✶✸❪ ❊❯❘❖ ◆❈❆P✳ ❊❯❘❖ ◆❈❆P ❛❞✈❛♥❝❡❞ ✿ ❆✉t♦♥♦♠♦✉s ❊♠❡r❣❡♥❝② ❇r❛❦✐♥❣✱ ❙❡♣t ✷✵✶✸✳ ✭❈✐té ❡♥ ♣❛❣❡s ✷ ❡t ✾✾✳✮ ❬◆✐❡t♦ ❡t ❛❧✳ ✷✵✵✼❛❪ ▼✳ ◆✐❡t♦✱ ▲✳ ❙❛❧❣❛❞♦✱ ❋✳ ❏❛✉r❡❣✉✐③❛r ❡t ❏✳ ❈❛❜r❡r❛✳ ❙t❛❜✐❧✐③❛t✐♦♥ ♦❢ ■♥✈❡rs❡ P❡rs♣❡❝t✐✈❡ ▼❛♣♣✐♥❣ ■♠❛❣❡s ❜❛s❡❞ ♦♥ ❘♦❜✉st ❱❛♥✐s❤✐♥❣ P♦✐♥t ❊st✐♠❛t✐♦♥✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡s ❙②♠♣♦s✐✉♠✱ ✷✵✵✼ ■❊❊❊✱ ♣❛❣❡s ✸✶✺✕✸✷✵✱ ❏✉♥❡ ✷✵✵✼✳ ✭❈✐té ❡♥ ♣❛❣❡s ✹✻ ❡t ✹✼✳✮ ❬◆✐❡t♦ ❡t ❛❧✳ ✷✵✵✼❜❪ ▼❛r❝♦s ◆✐❡t♦✱ ▲✉✐s ❙❛❧❣❛❞♦✱ ❋❡r♥❛♥❞♦ ❏❛✉r❡❣✉✐③❛r ❡t ❏✉❧✐❛♥ ❈❛❜r❡r❛✳ ❙t❛❜✐❧✐✲ ③❛t✐♦♥ ♦❢ ✐♥✈❡rs❡ ♣❡rs♣❡❝t✐✈❡ ♠❛♣♣✐♥❣ ✐♠❛❣❡s ❜❛s❡❞ ♦♥ r♦❜✉st ✈❛♥✐s❤✐♥❣ ♣♦✐♥t ❡st✐♠❛t✐♦♥✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡s ❙②♠♣♦s✐✉♠✱ ✷✵✵✼ ■❊❊❊✱ ♣❛❣❡s ✸✶✺✕✸✷✵✳ ■❊❊❊✱ ✷✵✵✼✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✾✳✮ ❬P❛r❦❡r ✷✵✶✵❪ ❏✐♠ ❘ P❛r❦❡r✳ ❆❧❣♦r✐t❤♠s ❢♦r ✐♠❛❣❡ ♣r♦❝❡ss✐♥❣ ❛♥❞ ❝♦♠♣✉t❡r ✈✐s✐♦♥✳ ❲✐❧❡②✳ ❝♦♠✱ ✷✵✶✵✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✻✳✮ ❬P❡rr♦❧❧❛③ ✷✵✵✽❪ ▼❛t❤✐❛s P❡rr♦❧❧❛③✳ ❉ét❡❝t✐♦♥ ❞✬♦❜st❛❝❧❡s ♠✉❧t✐✲❝❛♣t❡✉rs s✉♣❡r✈✐sé❡ ♣❛r stéré♦✈✐s✐♦♥✳ P❤❉ t❤❡s✐s✱ ❯♥✐✈❡rs✐té P✐❡rr❡ ❡t ▼❛r✐❡ ❈✉r✐❡✲P❛r✐s ❱■✱ ✷✵✵✽✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✵✳✮ ❬P♦♠❡r❧❡❛✉ ✶✾✾✺❪ ❉❡❛♥ P♦♠❡r❧❡❛✉✳ ❘❆▲P❍ ✿ ❘❛♣✐❞❧② ❛❞❛♣t✐♥❣ ❧❛t❡r❛❧ ♣♦s✐t✐♦♥ ❤❛♥❞❧❡r✳ ■♥ ■♥t❡❧✲ ❧✐❣❡♥t ❱❡❤✐❝❧❡s✬ ✾✺ ❙②♠♣♦s✐✉♠✳✱ Pr♦❝❡❡❞✐♥❣s ♦❢ t❤❡✱ ♣❛❣❡s ✺✵✻✕✺✶✶✳ ■❊❊❊✱ ✶✾✾✺✳ ✭❈✐té ❡♥ ♣❛❣❡ ✹✽✳✮ ❬Pr♦✈♦st ✷✵✵✺❪ ❏❡❛♥ Pr♦✈♦st✳ ❚r❛♥s♣♦rts ✐♥t❡❧❧✐❣❡♥ts✱ ❛✉t♦♠❛t✐s❛t✐♦♥ ❞❡s ❧✐❣♥❡s ❞❡ ♠étr♦✳ ◆♦t❡s ▼♦❞✉❧❡ ❞✬❊❚■❈✱ ❚❡❧❡❝♦♠ P❛r✐s❚❡❝❤✱ ✷✵✵✺✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✳✮ ❬P✉❤❧♠❛♥♥ ❡t ❛❧✳ ✷✵✵✹❪ ■✳ P✉❤❧♠❛♥♥✱ ❙✳ ❙❝❤✉ss❧❡r ❡t ❇✳ ❍✉❧✐♥✳ ■♠♣r♦✈❡♠❡♥ts ♦♥ ♦❜st❛❝❧❡ ❞❡t❡❝✲ t✐♦♥ ✐♥ t❤❡ ♣❛♥t♦❣r❛♣❤ ❣❛✉❣❡ ❞✉❡ t♦ t❤❡ r❡❝♦❣♥✐t✐♦♥ ♦❢ st❡❛❞② ❛r♠s✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡s ❙②♠♣♦s✐✉♠✱ ✷✵✵✹ ■❊❊❊✱ ♣❛❣❡s ✺✶✽✕✺✷✶✱ ✷✵✵✹✳ ✭❈✐té ❡♥ ♣❛❣❡ ✸✳✮ ❬P✉t❤♦♥ ✷✵✶✸❪ ❆♥♥❡✲s♦♣❤✐❡ P✉t❤♦♥✳ ❉ét❡r♠✐♥❛t✐♦♥ ❞❡ ❧❛ ✈✐t❡ss❡ ❧✐♠✐t❡ ♣❛r ❢✉s✐♦♥ ❞❡ ❞♦♥♥é❡s ❝❛r✲ t♦❣r❛♣❤✐q✉❡s ❡t ✈✐s✐♦♥ t❡♠♣s✲ré❡❧ ❡♠❜❛rq✉é❡s✳ P❤❉ t❤❡s✐s✱ ➱❝♦❧❡ ◆❛t✐♦♥❛❧❡ ❙✉♣ér✐❡✉r❡ ❞❡s ▼✐♥❡s ❞❡ P❛r✐s✱ ✷✵✶✸✳ ✭❈✐té ❡♥ ♣❛❣❡ ✾✶✳✮ ❬❘♦❞r✐❣✉❡③ ❡t ❛❧✳ ✷✵✶✷❪ ▲✳❆✳❋✳ ❘♦❞r✐❣✉❡③✱ ❏✳❆✳ ❯r✐❜❡ ❡t ❏✳❋✳❱✳ ❇♦♥✐❧❧❛✳ ❖❜st❛❝❧❡ ❞❡t❡❝t✐♦♥ ♦✈❡r r❛✐❧s ✉s✐♥❣ ❤♦✉❣❤ tr❛♥s❢♦r♠✳ ■♥ ■♠❛❣❡✱ ❙✐❣♥❛❧ Pr♦❝❡ss✐♥❣✱ ❛♥❞ ❆rt✐✜❝✐❛❧ ❱✐s✐♦♥ ✭❙❚❙■❱❆✮✱ ✷✵✶✷ ❳❱■■ ❙②♠♣♦s✐✉♠ ♦❢✱ ♣❛❣❡s ✸✶✼✕✸✷✷✱ ❙❡♣t ✷✵✶✷✳ ✭❈✐té ❡♥ ♣❛❣❡s ✹✹ ❡t ✹✺✳✮ ❬❘♦ss ✷✵✶✷❪ ❘✳ ❘♦ss✳ ❚r❛❝❦ ❛♥❞ t✉r♥♦✉t ❞❡t❡❝t✐♦♥ ✐♥ ✈✐❞❡♦✲s✐❣♥❛❧s ✉s✐♥❣ ♣r♦❜❛❜✐❧✐st✐❝ s♣❧✐♥❡ ❝✉r✈❡s✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❚r❛♥s♣♦rt❛t✐♦♥ ❙②st❡♠s ✭■❚❙❈✮✱ ✷✵✶✷ ✶✺t❤ ■♥t❡r♥❛t✐♦♥❛❧ ■❊❊❊ ❈♦♥❢❡r❡♥❝❡ ♦♥✱ ♣❛❣❡s ✷✾✹✕✷✾✾✱ ✷✵✶✷✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✸✳✮ ❬❘✉❞❡r ❡t ❛❧✳ ✷✵✵✸❪ ▼ ❘✉❞❡r✱ ◆ ▼♦❤❧❡r ❡t ❋❛r✉q✉❡ ❆❤♠❡❞✳ ❆♥ ♦❜st❛❝❧❡ ❞❡t❡❝t✐♦♥ s②st❡♠ ❢♦r ❛✉t♦✲ ♠❛t❡❞ tr❛✐♥s✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡s ❙②♠♣♦s✐✉♠✱ ✷✵✵✸✳ Pr♦❝❡❡❞✐♥❣s✳ ■❊❊❊✱ ♣❛❣❡s ✶✽✵✕✶✽✺✳ ■❊❊❊✱ ✷✵✵✸✳ ✭❈✐té ❡♥ ♣❛❣❡s ✶✻ ❡t ✻✹✳✮ ❬❙❛❧✈✐ ❡t ❛❧✳ ✷✵✵✷❪ ❏♦❛q✉✐♠ ❙❛❧✈✐✱ ❳❛✈✐❡r ❆r♠❛♥❣✉é ❡t ❏♦❛♥ ❇❛t❧❧❡✳ ❆ ❝♦♠♣❛r❛t✐✈❡ r❡✈✐❡✇ ♦❢ ❝❛♠❡r❛ ❝❛❧✐❜r❛t✐♥❣ ♠❡t❤♦❞s ✇✐t❤ ❛❝❝✉r❛❝② ❡✈❛❧✉❛t✐♦♥✳ P❛tt❡r♥ r❡❝♦❣♥✐t✐♦♥✱ ✈♦❧✳ ✸✺✱ ♥♦✳ ✼✱ ♣❛❣❡s ✶✻✶✼✕ ✶✻✸✺✱ ✷✵✵✷✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✼✳✮✶✸✽ ❇✐❜❧✐♦❣r❛♣❤✐❡ ❬❙❛s❛❦✐ ❡t ❛❧✳ ✶✾✾✾❪ ❆✳ ❙❛s❛❦✐✱ ❨✳ ❚❛♥❛❦❛ ❡t ❚✳ ■❝❤✐❦✉r❛✳ ❖♥✲❜♦❛r❞ s❡❧❢✲r❡❣✉❧❛t✐♥❣ ❛✉t♦♠❛t❡❞ ✈❡❤✐❝❧❡ ♦♣❡r❛t✐♦♥ s②st❡♠✳ ■♥ ❱❡❤✐❝✉❧❛r ❚❡❝❤♥♦❧♦❣② ❈♦♥❢❡r❡♥❝❡✱ ✶✾✾✾ ■❊❊❊ ✹✾t❤✱ ✈♦❧✉♠❡ ✸✱ ♣❛❣❡s ✷✷✾✽✕✷✸✵✷ ✈♦❧✳✸✱ ✶✾✾✾✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✽✳✮ ❬❙♦♥❣ ❡t ❛❧✳ ✷✵✵✽❛❪ ●✇❛♥❣ ❨✉❧ ❙♦♥❣✱ ❑✐ ❨♦♥❣ ▲❡❡ ❡t ❏♦♦♥ ❲♦♦♥❣ ▲❡❡✳ ❱❡❤✐❝❧❡ ❞❡t❡❝t✐♦♥ ❜② ❡❞❣❡✲ ❜❛s❡❞ ❝❛♥❞✐❞❛t❡ ❣❡♥❡r❛t✐♦♥ ❛♥❞ ❛♣♣❡❛r❛♥❝❡✲❜❛s❡❞ ❝❧❛ss✐✜❝❛t✐♦♥✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡s ❙②♠✲ ♣♦s✐✉♠✱ ✷✵✵✽ ■❊❊❊✱ ♣❛❣❡s ✹✷✽✕✹✸✸✳ ■❊❊❊✱ ✷✵✵✽✳ ✭❈✐té ❡♥ ♣❛❣❡ ✾✽✳✮ ❬❙♦♥❣ ❡t ❛❧✳ ✷✵✵✽❜❪ ❍②✉♥ ❖❤ ❙♦♥❣✱ ❙❛r❛ ❇♦❧♦✉❦✐ ❡t ❆♥❞r❡✇ ❨❡♥✳ ❉❡t❡❝t✐♦♥ ♦❢ ❙t♦♣ ❙✐❣♥s✳ ❈❙ ✷✷✸❇ Pr♦❥❡❝t ❘❡♣♦rt✱ ✷✵✵✽✳ ✭❈✐té ❡♥ ♣❛❣❡ ✽✽✳✮ ❬❙t❛❧❧❦❛♠♣ ❡t ❛❧✳ ✷✵✶✶❪ ❏♦❤❛♥♥❡s ❙t❛❧❧❦❛♠♣✱ ▼❛r❝ ❙❝❤❧✐♣s✐♥❣✱ ❏❛♥ ❙❛❧♠❡♥ ❡t ❈❤r✐st✐❛♥ ■❣❡❧✳ ❚❤❡ ●❡r♠❛♥ tr❛✣❝ s✐❣♥ r❡❝♦❣♥✐t✐♦♥ ❜❡♥❝❤♠❛r❦ ✿ ❛ ♠✉❧t✐✲❝❧❛ss ❝❧❛ss✐✜❝❛t✐♦♥ ❝♦♠♣❡t✐t✐♦♥✳ ■♥ ◆❡✉✲ r❛❧ ◆❡t✇♦r❦s ✭■❏❈◆◆✮✱ ❚❤❡ ✷✵✶✶ ■♥t❡r♥❛t✐♦♥❛❧ ❏♦✐♥t ❈♦♥❢❡r❡♥❝❡ ♦♥✱ ♣❛❣❡s ✶✹✺✸✕✶✹✻✵✳ ■❊❊❊✱ ✷✵✶✶✳ ✭❈✐té ❡♥ ♣❛❣❡ ✹✵✳✮ ❬❙t❛♥❝✐✉❧❡s❝✉ ❡t ❛❧✳ ✷✵✵✾❪ ❇♦❣❞❛♥ ❙t❛♥❝✐✉❧❡s❝✉✱ ❆♠❛✉r② ❇r❡❤❡r❡t ❡t ❋❛❜✐❡♥ ▼♦✉t❛r❞❡✳ ■♥tr♦❞✉❝✐♥❣ ♥❡✇ ❛❞❛❜♦♦st ❢❡❛t✉r❡s ❢♦r r❡❛❧✲t✐♠❡ ✈❡❤✐❝❧❡ ❞❡t❡❝t✐♦♥✳ ❛r❳✐✈ ♣r❡♣r✐♥t ❛r❳✐✈ ✿✵✾✶✵✳✶✷✾✸✱ ✷✵✵✾✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✵✹✳✮ ❬❙t❡✉① ✫ ❊❧ ❍❛♠③❛♦✉✐ ✷✵✶✵❪ ❇r✉♥♦ ❙t❡✉① ❡t ❖✉ss❛♠❛ ❊❧ ❍❛♠③❛♦✉✐✳ t✐♥②❙▲❆▼ ✿ ❆ ❙▲❆▼ ❛❧❣♦✲ r✐t❤♠ ✐♥ ❧❡ss t❤❛♥ ✷✵✵ ❧✐♥❡s ❈✲❧❛♥❣✉❛❣❡ ♣r♦❣r❛♠✳ ■♥ ❈♦♥tr♦❧ ❆✉t♦♠❛t✐♦♥ ❘♦❜♦t✐❝s ✫ ❱✐s✐♦♥ ✭■❈❆❘❈❱✮✱ ✷✵✶✵ ✶✶t❤ ■♥t❡r♥❛t✐♦♥❛❧ ❈♦♥❢❡r❡♥❝❡ ♦♥✱ ♣❛❣❡s ✶✾✼✺✕✶✾✼✾✳ ■❊❊❊✱ ✷✵✶✵✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✵✳✮ ❬❙t❡✉① ✷✵✵✶❪ ❇r✉♥♦ ❙t❡✉①✳ ❈❛♠❡❧❧✐❛ ▲✐❜r❛r②✱ ■♠❛❣❡ Pr♦❝❡ss✐♥❣ ✫ ❈♦♠♣✉t❡r ❱✐s✐♦♥ ❧✐❜r❛r②✳ ❤tt♣ ✿✴✴❝❛♠❡❧❧✐❛✳s♦✉r❝❡❢♦r❣❡✳♥❡t✴✱ ✷✵✵✶✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✵✸✳✮ ❬❙t✉r♠ ✷✵✵✽❪ P❡t❡r ❙t✉r♠✳ ◗✉❡❧q✉❡s ♥♦t❡s ♣♦✉r ❧❡s ❝♦✉rs ❞❡ ❱✐s✐♦♥ ♣❛r ❖r❞✐♥❛t❡✉r✱ ✷✵✵✽✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✽✳✮ ❬❙✉tt♦r♣ ✫ ❇✉❝❤❡r ✷✵✵✻❪ ❚❤♦rst❡♥ ❙✉tt♦r♣ ❡t ❚❤♦♠❛s ❇✉❝❤❡r✳ ❘♦❜✉st ✈❛♥✐s❤✐♥❣ ♣♦✐♥t ❡st✐♠❛t✐♦♥ ❢♦r ❞r✐✈❡r ❛ss✐st❛♥❝❡✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❚r❛♥s♣♦rt❛t✐♦♥ ❙②st❡♠s ❈♦♥❢❡r❡♥❝❡✱ ✷✵✵✻✳ ■❚❙❈✬✵✻✳ ■❊❊❊✱ ♣❛❣❡s ✶✺✺✵✕✶✺✺✺✳ ■❊❊❊✱ ✷✵✵✻✳ ✭❈✐té ❡♥ ♣❛❣❡ ✸✺✳✮ ❬❚✐❛♥ ❡t ❛❧✳ ✷✵✵✻❪ ▼✐♥ ❚✐❛♥✱ ❋✉q✐❛♥❣ ▲✐✉✱ ❲❡♥❤♦♥❣ ❩❤✉ ❡t ❈❤❛♦ ❳✉✳ ❱✐s✐♦♥ ❜❛s❡❞ ❧❛♥❡ ❞❡t❡❝t✐♦♥ ❢♦r ❛❝t✐✈❡ s❡❝✉r✐t② ✐♥ ✐♥t❡❧❧✐❣❡♥t ✈❡❤✐❝❧❡✳ ■♥ ❱❡❤✐❝✉❧❛r ❊❧❡❝tr♦♥✐❝s ❛♥❞ ❙❛❢❡t②✱ ✷✵✵✻✳ ■❈❱❊❙ ✷✵✵✻✳ ■❊❊❊ ■♥t❡r♥❛t✐♦♥❛❧ ❈♦♥❢❡r❡♥❝❡ ♦♥✱ ♣❛❣❡s ✺✵✼✕✺✶✶✳ ■❊❊❊✱ ✷✵✵✻✳ ✭❈✐té ❡♥ ♣❛❣❡ ✹✹✳✮ ❬❚s❛✐ ❡t ❛❧✳ ✷✵✵✼❪ ▲✉♦✲❲❡✐ ❚s❛✐✱ ❏✉♥✲❲❡✐ ❍s✐❡❤ ❡t ❑✉♦✲❈❤✐♥ ❋❛♥✳ ❱❡❤✐❝❧❡ ❞❡t❡❝t✐♦♥ ✉s✐♥❣ ♥♦r♠❛❧✐③❡❞ ❝♦❧♦r ❛♥❞ ❡❞❣❡ ♠❛♣✳ ■♠❛❣❡ Pr♦❝❡ss✐♥❣✱ ■❊❊❊ ❚r❛♥s❛❝t✐♦♥s ♦♥✱ ✈♦❧✳ ✶✻✱ ♥♦✳ ✸✱ ♣❛❣❡s ✽✺✵✕✽✻✹✱ ✷✵✵✼✳ ✭❈✐té ❡♥ ♣❛❣❡ ✾✽✳✮ ❬❚③♦♠❛❦❛s ✫ ✈♦♥ ❙❡❡❧❡♥ ✶✾✾✽❪ ❈❤r✐st♦s ❚③♦♠❛❦❛s ❡t ❲❡r♥❡r ✈♦♥ ❙❡❡❧❡♥✳ ❱❡❤✐❝❧❡ ❞❡t❡❝t✐♦♥ ✐♥ tr❛❢✲ ✜❝ s❝❡♥❡s ✉s✐♥❣ s❤❛❞♦✇s✳ ■♥ ■❘✲■◆■✱ ■◆❙❚■❚❯❚ ❋❯❘ ◆❯❊❘❖■◆❋❖❘▼❆❚■❑✱ ❘❯❍❘✲ ❯◆■❱❊❘❙■❚❆❚✳ ❈✐t❡s❡❡r✱ ✶✾✾✽✳ ✭❈✐té ❡♥ ♣❛❣❡ ✾✽✳✮ ❬❱❛③q✉❡③ ❡t ❛❧✳ ✷✵✵✹❪ ❏✳ ❱❛③q✉❡③✱ ▼✳ ▼❛③♦✱ ❏✳▲✳ ▲❛③❛r♦✱ ❈✳❆✳ ▲✉♥❛✱ ❏✳ ❯r❡♥❛✱ ❏✳❏✳ ●❛r❝✐❛✱ ❏✳ ❈❛❜❡❧❧♦ ❡t ▲✳ ❍✐❡rr❡③✉❡❧♦✳ ❉❡t❡❝t✐♦♥ ♦❢ ♠♦✈✐♥❣ ♦❜❥❡❝ts ✐♥ r❛✐❧✇❛② ✉s✐♥❣ ✈✐s✐♦♥✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡s ❙②♠♣♦s✐✉♠✱ ✷✵✵✹ ■❊❊❊✱ ♣❛❣❡s ✽✼✷✕✽✼✺✱ ✷✵✵✹✳ ✭❈✐té ❡♥ ♣❛❣❡ ✸✳✮ ❬❱❡❞❛❧❞✐ ✫ ❋✉❧❦❡rs♦♥ ✷✵✵✽❪ ❆✳ ❱❡❞❛❧❞✐ ❡t ❇✳ ❋✉❧❦❡rs♦♥✳ ❱▲❋❡❛t ✿ ❆♥ ❖♣❡♥ ❛♥❞ P♦rt❛❜❧❡ ▲✐❜r❛r② ♦❢ ❈♦♠♣✉t❡r ❱✐s✐♦♥ ❆❧❣♦r✐t❤♠s✳ ❤tt♣✿✴✴✇✇✇✳✈❧❢❡❛t✳♦r❣✴✱ ✷✵✵✽✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✵✻✳✮ ❬❱❡r❤✐❧❧❡ ✷✵✵✼❪ ❏❡❛♥✲◆♦ë❧ ❱❡r❤✐❧❧❡✳ ❘❡♣rés❡♥t❛t✐♦♥ é♥❡r❣ét✐q✉❡ ♠❛❝r♦s❝♦♣✐q✉❡ ❞✉ ♠étr♦ ❱❆▲ ✷✵✻ ❡t str✉❝t✉r❡s ❞❡ ❝♦♠♠❛♥❞❡ ❞é❞✉✐t❡s ♣❛r ✐♥✈❡rs✐♦♥✳ P❤❉ t❤❡s✐s✱ ❆rts ❡t ▼ét✐❡rs P❛r✐s❚❡❝❤✱ ✷✵✵✼✳ ✭❈✐té ❡♥ ♣❛❣❡ ✷✶✳✮ ❬❱✐♦❧❛ ✫ ❏♦♥❡s ✷✵✵✶❪ P❛✉❧ ❱✐♦❧❛ ❡t ▼✐❝❤❛❡❧ ❏♦♥❡s✳ ❘❛♣✐❞ ♦❜❥❡❝t ❞❡t❡❝t✐♦♥ ✉s✐♥❣ ❛ ❜♦♦st❡❞ ❝❛s❝❛❞❡ ♦❢ s✐♠♣❧❡ ❢❡❛t✉r❡s✳ ■♥ ❈♦♠♣✉t❡r ❱✐s✐♦♥ ❛♥❞ P❛tt❡r♥ ❘❡❝♦❣♥✐t✐♦♥✱ ✷✵✵✶✳ ❈❱P❘ ✷✵✵✶✳ Pr♦✲ ❝❡❡❞✐♥❣s ♦❢ t❤❡ ✷✵✵✶ ■❊❊❊ ❈♦♠♣✉t❡r ❙♦❝✐❡t② ❈♦♥❢❡r❡♥❝❡ ♦♥✱ ✈♦❧✉♠❡ ✶✱ ♣❛❣❡s ■✕✺✶✶✳ ■❊❊❊✱ ✷✵✵✶✳ ✭❈✐té ❡♥ ♣❛❣❡s ✶✵✷ ❡t ✶✵✸✳✮❇✐❜❧✐♦❣r❛♣❤✐❡ ✶✸✾ ❬❱♦✐s✐♥ ❡t ❛❧✳ ✷✵✵✹❪ ❱✐♥❝❡♥t ❱♦✐s✐♥✱ ❇r✉♥♦ ❊♠✐❧❡ ❡t ▼❛♥✉❡❧ ❆✈✐❧❛✳ ❉ét❡❝t✐♦♥ ❡t s✉✐✈✐ ❞❡ ♠❛rq✉❛❣❡s ❞❡ ❜♦r❞s ❞❡ ✈♦✐❡ ♣❛r ✈✐s✐♦♥ ❛rt✐✜❝✐❡❧❧❡✳ ❏♦✉r♥é❡s ❏❡✉♥❡s ❈❤❡r❝❤❡✉rs ❞✉ ▲❛❜♦r❛t♦✐r❡ ❱✐s✐♦♥ ❡t ❘♦❜♦t✐q✉❡✱ ✷✵✵✹✳ ✭❈✐té ❡♥ ♣❛❣❡ ✹✶✳✮ ❬❲❛♥❣ ❡t ❛❧✳ ✷✵✵✼❪ ❑✉♥❢❡♥❣ ❲❛♥❣✱ ❍✉❛ ❍✉❛♥❣✱ ❨✉❛♥t❛♦ ▲✐ ❡t ❋❡✐✲❨✉❡ ❲❛♥❣✳ ❘❡s❡❛r❝❤ ♦♥ ▲❛♥❡✲ ▼❛r❦✐♥❣ ❧✐♥❡ ❜❛s❡❞ ❝❛♠❡r❛ ❝❛❧✐❜r❛t✐♦♥✳ ■♥ ❱❡❤✐❝✉❧❛r ❊❧❡❝tr♦♥✐❝s ❛♥❞ ❙❛❢❡t②✱ ✷✵✵✼✳ ■❈❱❊❙✳ ■❊❊❊ ■♥t❡r♥❛t✐♦♥❛❧ ❈♦♥❢❡r❡♥❝❡ ♦♥✱ ♣❛❣❡s ✶✕✻✳ ■❊❊❊✱ ✷✵✵✼✳ ✭❈✐té ❡♥ ♣❛❣❡ ✸✵✳✮ ❬❲❡✐♥❡r ✶✾✼✸❪ P❡t❡r ❲❡✐♥❡r✳ ▲✐♥❡❛r ♣❛tt❡r♥ ♠❛t❝❤✐♥❣ ❛❧❣♦r✐t❤♠s✳ ■♥ ❙✇✐t❝❤✐♥❣ ❛♥❞ ❆✉t♦♠❛t❛ ❚❤❡♦r②✱ ✶✾✼✸✳ ❙❲❆❚✬✵✽✳ ■❊❊❊ ❈♦♥❢❡r❡♥❝❡ ❘❡❝♦r❞ ♦❢ ✶✹t❤ ❆♥♥✉❛❧ ❙②♠♣♦s✐✉♠ ♦♥✱ ♣❛❣❡s ✶✕✶✶✳ ■❊❊❊✱ ✶✾✼✸✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✽✳✮ ❬❲♦❤❧❢❡✐❧ ✷✵✶✶❪ ❏✳ ❲♦❤❧❢❡✐❧✳ ❱✐s✐♦♥ ❜❛s❡❞ r❛✐❧ tr❛❝❦ ❛♥❞ s✇✐t❝❤ r❡❝♦❣♥✐t✐♦♥ ❢♦r s❡❧❢✲❧♦❝❛❧✐③❛t✐♦♥ ♦❢ tr❛✐♥s ✐♥ ❛ r❛✐❧ ♥❡t✇♦r❦✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡s ❙②♠♣♦s✐✉♠ ✭■❱✮✱ ✷✵✶✶ ■❊❊❊✱ ♣❛❣❡s ✶✵✷✺ ✕✶✵✸✵✱ ❥✉♥❡ ✷✵✶✶✳ ✭❈✐té ❡♥ ♣❛❣❡s ✼✹ ❡t ✼✺✳✮ ❬❳❛✈✐❡r ✷✵✵✸❪ ❈❧❛❞② ❳❛✈✐❡r✳ ❈♦♥tr✐❜✉t✐♦♥s à ❧❛ ♥❛✈✐❣❛t✐♦♥ ❛✉t♦♥♦♠❡ ❞✬✉♥ ✈é❤✐❝✉❧❡ ❛✉t♦♠♦❜✐❧❡ ♣❛r ✈✐s✐♦♥✳ P❤❉ t❤❡s✐s✱ ❯♥✐✈❡rs✐té ❇❧❛✐s❡ P❛s❝❛❧ ❞❡ ❈❧❡r♠♦♥t✲❋❡rr❛♥❞✱ ✷✵✵✸✳ ✭❈✐té ❡♥ ♣❛❣❡ ✾✽✳✮ ❬❨❛♠❛s❤✐t❛ ❡t ❛❧✳ ✶✾✾✻❪ ❍✐r♦s❤✐ ❨❛♠❛s❤✐t❛✱ ❏✉♥ ◆❛❦❛♠♦t♦✱ ❨❛s✉s❤✐ ❑♦②❛♠❛ ❡t ▼❛s❛♥♦❜✉ ❙❛t♦✳ ❉❡✈❡❧♦♣♠❡♥t ♦❢ ❘❛✐❧✇❛② ❖❜st❛❝❧❡ ❉❡t❡❝t✐♦♥ ❙②st❡♠✳ ▼✐ts✉❜✐s❤✐ ❍❡❛✈② ■♥❞✉str✐❡s✱ ▲t❞✳ ❚❡❝❤✲ ♥✐❝❛❧ ❘❡✈✐❡✇✱ ✈♦❧✳ ✸✸✱ ♥♦✳ ✶✱ ✶✾✾✻✳ ✭❈✐té ❡♥ ♣❛❣❡ ✶✼✳✮ ❬❩❛❦❧♦✉t❛ ✫ ❙t❛♥❝✐✉❧❡s❝✉ ✷✵✶✶❪ ❋❛t✐♥ ❩❛❦❧♦✉t❛ ❡t ❇♦❣❞❛♥ ❙t❛♥❝✐✉❧❡s❝✉✳ ❲❛r♥✐♥❣ tr❛✣❝ s✐❣♥ r❡✲ ❝♦❣♥✐t✐♦♥ ✉s✐♥❣ ❛ ❍❖●✲❜❛s❡❞ ❑❞ tr❡❡✳ ■♥ ■♥t❡❧❧✐❣❡♥t ❱❡❤✐❝❧❡s ❙②♠♣♦s✐✉♠ ✭■❱✮✱ ✷✵✶✶ ■❊❊❊✱ ♣❛❣❡s ✶✵✶✾✕✶✵✷✹✳ ■❊❊❊✱ ✷✵✶✶✳ ✭❈✐té ❡♥ ♣❛❣❡ ✼✼✳✮ ❬❩❛❦❧♦✉t❛ ❡t ❛❧✳ ✷✵✶✶❪ ❋❛t✐♥ ❩❛❦❧♦✉t❛✱ ❇♦❣❞❛♥ ❙t❛♥❝✐✉❧❡s❝✉ ❡t ❖♠❛r ❍❛♠❞♦✉♥✳ ❚r❛✣❝ s✐❣♥ ❝❧❛ss✐✲ ✜❝❛t✐♦♥ ✉s✐♥❣ ❦❞ tr❡❡s ❛♥❞ r❛♥❞♦♠ ❢♦r❡sts✳ ■♥ ◆❡✉r❛❧ ◆❡t✇♦r❦s ✭■❏❈◆◆✮✱ ❚❤❡ ✷✵✶✶ ■♥t❡r♥❛✲ t✐♦♥❛❧ ❏♦✐♥t ❈♦♥❢❡r❡♥❝❡ ♦♥✱ ♣❛❣❡s ✷✶✺✶✕✷✶✺✺✳ ■❊❊❊✱ ✷✵✶✶✳ ✭❈✐té ❡♥ ♣❛❣❡s ✼✼ ❡t ✾✵✳✮INSTITUT DES SCIENCES ET TECHNOLOGIES Détection de rails, caractérisation de croisements et localisation de trains sur la trajectoire d’un métro automatique Résumé : Cette thèse porte sur la fonction de détection d’obstacles dans le domaine ferroviaire à partir de la vision par ordinateur. Il s’agit d’assurer une perception de l’environnement situé à l’avant du train afin de détecter et d’évaluer les distances des obstacles situés sur la voie. Nous avons donc proposé un module détection de rails à partir des images à niveaux de gris, pour déterminer une zone libre d’obstacles à l’avant du train. Cette détection est basée dans l’algorithme de RANSAC et une estimation de la voie par un polynôme de degré 2. Elle s’est montrée robuste à notre base de données et a permis de détecter les rails à des distances supérieures à la distance d’arrêt. Aussi, un algorithme d’étalonnage des caméras installées dans le train a été proposé à partir de la morphologie de la voie. Comme support de la reconnaissance de rails, nous présentons un module de détection et classi- fication des appareils de voie basé dans le descripteur Histogram of oriented gradients(HOG) extrait des images IPM (Inverse Perspective Mapping). Un classifieur SVM (Support Vector Machines) binaire a été utilisé pour la détection et un SVM multi-classe pour différencier les appareils de voie existants sur la ligne. Après avoir élaboré le module de détection des rails, nous avons implémenté un détecteur de trains. À partir d’un échantillon d’images de trains de la ligne en question et d’images négatives comme des voitures ou des bus, nous avons créé une base de données d’obstacles pour trouver un descripteur robuste qui arrive à décrire la forme des trains et permet à un classifieur SVM de discriminer les images et détecter les trains. Par la suite, ce classifieur est utilisé par le système global pour déterminer la présence d’un train au-delà de la détection de la voie. À la distance maximale de détection, un rectangle de la taille d’un train est extrait de l’image pour vérifier la présence d’un train. Ces rectangles font l’objet d’une classification au moyen de descripteurs globaux de type HOG et une structure SVM binaire. Cette étude permettra non seulement de déboucher sur des applications concrètes, mais surtout d’évaluer la maturité des technologies de traitements d’images pour réaliser des fonctions sûres appliquées aux systèmes ferroviaires. Mots clés : Détection de rails, Détection d’obstacles, Détection d’appareils de voie, Monovision, Étalonnage de la caméra, RANSAC, Trains Rails detection, turnouts characterisation and trains localization in an automated metro’s trajectory Abstract: This thesis deals with obstacle detection in a railway setting using computer vision. The main task is to provide perception of the environment in front of the train using an optical sensor to detect and evaluate distances to obstacles along the track path. We present a module for detecting rails from grayscale images to determine an obstacle-free zone in front of the train. This detection is based on the RANSAC algorithm and fitting the track to a second degree polynomial. The method has shown itself robust to our dataset and allows detecting the rails at distances greater than the emergency stopping distance. In addition, a method for calibrating the cameras installed on the train is proposed based on the morphology of the track. To supplement rail detection, we present a new module for detecting and classifying junctions based on the HOG descriptor extracted from Inverse Perspective Mapping (IPM) images. A Support Vector Machines (SVM) binary classifier was used for detection and a multi-class SVM for distinguishing the junctions along the rails. In the sequel, a train detector was implemented. Using a set of images of trains found on the studied line and negative images such as cars or buses, we have created a database of obstacles to find a robust descriptor which is able to model the form of trains and allows a SVM classifier to distinguish images and detect trains. Next this classifier is used by the overall system to determine the presence of a train in addition to detecting rails. At the maximum detection distance, a train-sized rectangle is extracted from the image in order to confirm the presence of a train. These rectangles are classified by means of HOG-type global descriptors and a binary SVM structure. In addition to its applications to concrete problems, this study permits to evaluate the maturity of image processing technologies for fail-safe railway systems. Keywords: Rail detection, Obstacle detection, Junction detection, Monocular vision, Camera calibration, RANSAC, Trains Conception et mise en oeuvre d’une architecture de communication pour mini-drones civils Ons Bouachir To cite this version: Ons Bouachir. Conception et mise en oeuvre d’une architecture de communication pour minidrones civils . Networking and Internet Architecture. Université Toulouse 3 Paul Sabatier (UT3 Paul Sabatier), 2014. French. HAL Id: tel-01092318 https://tel.archives-ouvertes.fr/tel-01092318 Submitted on 11 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. Distributed under a Creative Commons Attribution - NonCommercial - NoDerivatives 4.0 International License&OWVFEFMPCUFOUJPOEV %0$503"5%&-6/*7&34*5²%&506-064& %ÏMJWSÏQBS 1SÏTFOUÏFFUTPVUFOVFQBS 5JUSF ²DPMF  EPDUPSBMF et discipline ou spécialité  6OJUÏEFSFDIFSDIF %JSFDUFVSUSJDF T EFʾÒTF Jury : 5)µ4& le Université Toulouse 3 Paul Sabatier (UT3 Paul Sabatier) Ons BOUACHIR mardi 02 Décembre 2014 Conception et mise en œuvre d'une architecture de communication pour minidrones civils EDSYS : Informatique 4200018 Groupe RESCO, Laboratoire TELECOM, École Nationale de l'Aviation Civile (ENAC) Congduc PHAM, Université de Pau, Rapporteur Thomas NOEL, Université de Strasbourg, Rapporteur Mounir FRIKHA, École supérieure de communication de Tunis, Examinateur Yacine GHAMRI-DOUDANE, Université de La Rochelle, Examinateur Bastien MANCINI, Delair-Tech Invité Fabien GARCIA, ENAC Directeur de thèse Thierry GAYRAUD, Université Toulouse 3 Paul Sabatier, Directeur de thèse Thierry GAYRAUD Fabien GARCIAConception et mise en œuvre d’une architecture de communication pour mini-drones civils Ons BOUACHIRiiR´esum´e Les drones, engins volants sans pilotes g´en´eralement appel´e UAV pour Unmanned Aerial Vehicle, ont longtemps ´et´e un outil militaire. Ces derni`eres ann´ees, l’av`enement de micro-drones, plus petits, l´egers et moins coˆuteux que leurs homologues a ´etendu l’utilisation des UAV au domaine civil. Afin d’am´eliorer les performances des drones sur de telles missions, des recherches sont men´ees afin de rendre les drones coop´eratifs. Une flotte de drones coop´eratifs serait alors capable de r´ealiser plus rapidement des missions plus complexes en partageant les diff´erentes tˆaches entre les UAV. Ce genre d’op´eration n´ecessite un niveau ´elev´e de coordination entre les drones rendu possible par un ´echange continu d’information entre eux et avec leur station de contrˆole. Cet ´echange permet aux contrˆoleurs d’ajuster la mission selon les circonstances. La communication est donc vue comme un enjeu majeur dans l’´evolution des op´erations de ce genre de syst`emes. Le r´eseau ad hoc est une solution prometteuse pour faire communiquer les drones entre eux et avec la station sol. Ses capacit´es d’auto-organisation lui permettent de fonctionner dans des situations difficiles comme des canyons urbains ou apr`es les catastrophes naturelles. Au cours d’une mission, une flotte de drones coop´eratifs, ayant chacun un rˆole diff´erent des autres, ´echange une vari´et´e de types de messages envoy´es entre les UAV sur la liaison descendante (des drones vers la station sol) et sur la liaison montante. Ces messages ont des priorit´es et des besoins en termes de la qualit´e de service (QdS) qui diff`erent selon la tˆache accord´ee `a l’´emetteur. Ces besoins peuvent varier selon le contenu du message et au cours du temps avec l’´evolution et le changement de la tˆache. Par cons´equent, la QdS doit ˆetre g´er´ee par un module conscient de ces ´evolutions et capable de s’adapter `a la variation des besoins et de fournir `a chaque trafic sa demande durant toute l’op´eration. Cette th`ese, financ´ee par le projet europ´een D3CoS, propose un syst`eme nomm´e DAN DCoS (Distributed Cooperative Systems) Ad hoc Network , offrant des garanties en termes de diff´erenciation de services selon une vari´et´e de crit`eres choisis par les applications comme la tˆache allou´ee `a l’´emetteur iiiiv et le contenu du message. Ce syst`eme permet de proposer aux agents collaboratifs diff´erents niveaux de QdS en fonction du type d’application utilis´ee qui peut ˆetre variable au cours du temps. DAN est compos´e d’un ensemble de modules permettant `a une application d’exprimer ces besoins en termes de QdS. Il permet, par la suite, de classifier les paquets ´emis selon la demande et le changement des besoins de l’application dans le but de garantir la QdS demand´ee et de respecter les priorit´es de chaque classe. Le syst`eme DAN devant ˆetre utilis´e en environnement r´eel, il a ´et´e ´evalu´e `a l’aide de deux moyens : la simulation et l’exp´erimentation r´eelle. Les simulations ont ´et´e r´ealis´ees dans un environnement r´ealiste en utilisant un mod`ele de mobilit´e reproduisant le mouvement des drones Paparazzi et nomm´e PPRZM pour (PaPaRazzi Mobility). PPRZM a ´et´e impl´ement´e et valid´e par une ´etude comparative avec le mod`ele de mobilit´e (Random Way-Point) et des traces de mouvements r´eels de drones Paparazzi. Par la suite, DAN a ´et´e ´evalu´e par des exp´erimentations r´eelles. Il a ´et´e impl´ement´e sur Linux embarqu´e sur des cartes Raspberry Pi int´egr´ees aux drones Paparazzi. Plusieurs tests ont ´et´e r´ealis´es permettant de valider les r´esultats obtenus par simulations. L’int´egration de ce de syst`eme aux drones Paparazzi permettra de faire ´evoluer les missions impliquant une flotte de drones puisque avant cette r´ealisation, des fonctionnalit´es comme l’´evitement de collisions ou l’allocation dynamique de tˆaches impliquaient directement la station sol, comme point de relai ou de prise de d´ecision. Le syst`eme propos´e permet de faciliter les ´echanges dans ce genre de missions tout en garantissant la QdS pour chaque drone.Abstract The UAVs (Unmanned Aerial Vehicle) have long been a military tool. In recent years, the advent of mini-UAVs, smaller, lighter and less expensive than their counterpart, extended the use of UAVs in civil domain. They offer the solution to many dangerous operations such as search and rescue of survivors after natural disasters, cartography, communication relaying between several areas of intervention of firefighters. UAVs replace piloted airplanes and helicopters which may avoid possible human casualties. In order to enhance the performance of UAVs, Researchesis being carried out to make cooperative aircraft. A swarm of cooperative UAVs sharing different tasks between drones, will be able to perform complex operation faster. Such a mission requires a high level of coordination between UAVs made possible by a frequent exchange of information between them and their control station. The ad hoc network is a promising solution to have the UAV communicate with each other (inside the swarm) and with the control station (outside the swam). It allows UAVs to perform in difficult situations such as mountains and after natural disasters. During a mission, a swarm of cooperative UAVs, having different role, exchanges a variety of message type between the aircraft and their control station. These messages may have different needs in term of quality of service (QoS) which varies with the task given to the transmitter. The needs of each UAV may vary depending on the content of the message and over time with the evolution of its task. Therefore, QoS must be managed by a module aware of these evolutions and able to provide each traffic requirements throughout the operation. This research work, financed by the European project D3CoS 1 , proposes a communication system, called DAN (DCoS (Distributed Cooperative System) Ad hoc Network), for a swarm of cooperative UAVs (Unmanned Aerial Vehicle). This system provides a service differentiation according to a variety of criteria chosen by applications such as the role or the task assigned to the node, the message, etc. DAN architecture is a combination of several QoS 1. http ://www.d3cos.eu/ vvi mechanisms created to be used in real environment with Paparazzi UAVs. Therefore, it was evaluated using two evaluation means : simulation and real experiments. Simulations were realized in realistic environment using a specific mobility model, called PPRZM (PaPaRaZzi Mobility). PPRZM is a stochastic mobility model that imitates Paparazzi UAVs movement designed and implemented for this study. It was validated using a comparative study between PPRZM, the well known mobility model RWP (Random Way-Point) and real Paparazzi UAV movement traces. In addition, DAN was evaluated by real experiments. It was implemented on embedded Linux on Raspberry Pi cards in order to be integrated to Paparazzi UAVs. Several tests were performed to validate the operation of the new Paparazzi communication system and the simulation results. This work creates a new communication system for Paparazzi system that can provide the suitable medium to operate UAVs over an ad hoc network and to respect the need of each agent in term of QoS.Remerciements Apr`es trois ans de travaux de recherche dans le cadre de cette th`ese, je tiens en ces quelques lignes `a exprimer ma reconnaissance envers tous ceux qui de pr`es ou de loin y contribu´e. J’exprime en premier lieu ma gratitude `a mes directeurs de th`ese. Fabien Garcia qui fut pour moi un directeur de th`ese tr`es attentif. Sa comp´etence, et sa rigueur scientifique m’ont beaucoup appris. Thierry Gayraud pour ses directives et ses conseils avis´es tout au long de cette th`ese. Mes sinc`ere remerciement vont aussi `a mon encadrant Nicolas Larrieu pour son soutien, ses relectures, sa gentillesse et ses conseils. Soyez assur´es de ma profonde gratitude. Je remercie les messieurs Congduc Pham et Thomas Noel pour avoir rapport´e ce manuscrit, ainsi que les messieurs Mounir Frikha, Yacine GhamriDoudane et Bastien Mancini pour avoir accept´e de juger mon travail. Mes vifs remerciements vont aussi `a tous ceux qui m’ont aid´e `a r´ealiser les exp´erimentations r´eelles sp´ecialement les membres de l’´equipe drones de l’ENAC. Je remercie toutes les personnes formidables que j’ai rencontr´ees `a l’ENAC. Je pense particuli`erement `a tous les membres de l’´equipe ResCo et sp´ecialement `a Alain Pirovano, notre adorable responsable d’´equipe, et les autres membres : Antoine, Fr´ed´eric, Jean-Aim´e, Mickael, Quentin, Slim et Stephano. Je ne saurais terminer sans remercier tous les stagiaires de cette ´equipe que j’ai crois´es durant ces derni`eres trois ann´ees, sp´ecialement ceux que j’ai eu l’occasion de superviser : Chifa et Alino´e et ceux avec qui j’ai partag´e mon bureau durant la r´edaction de ce manuscrit : Rita et Gilles. Mes sinc`eres remerciements et ma gratitude vont `a mes amis qui m’ont accompagn´e durant ces trois ans : Amel (ma ch`ere Moula ;) ), Amira, Hajer, Rihab, Madiha, Hasna et Anh. Enfin, les mots les plus simples ´etant les plus forts, j’adresse toute mon affection `a ma famille : mes chers parents et mon fr`ere Hedi. Je n’aurais rien fait de tout cela sans vous. viiviiiTable des mati`eres 1 Introduction 1 1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 D3CoS . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 Drones dans des op´erations civiles . . . . . . . . . . . . 4 1.1.3 Syst`eme Paparazzi . . . . . . . . . . . . . . . . . . . . 8 1.2 Solutions pour les r´eseaux de communications . . . . . . . . . 10 1.2.1 R´eseaux satellite . . . . . . . . . . . . . . . . . . . . . 10 1.2.2 R´eseaux cellulaires . . . . . . . . . . . . . . . . . . . . 11 1.2.3 R´eseaux Ad hoc . . . . . . . . . . . . . . . . . . . . . . 12 1.2.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.4 Structure du m´emoire . . . . . . . . . . . . . . . . . . . . . . 16 2 R´eseaux ad hoc de drones 19 2.1 Taxonomie des MANET . . . . . . . . . . . . . . . . . . . . . 20 2.1.1 Les VANET . . . . . . . . . . . . . . . . . . . . . . . . 20 2.1.2 Les AANET . . . . . . . . . . . . . . . . . . . . . . . . 21 2.1.3 Les r´eseaux Ad hoc de drones . . . . . . . . . . . . . . 21 2.2 M´ecanismes pour les r´eseaux ad hoc de drones . . . . . . . . . 25 2.2.1 Niveau MAC . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.2 Niveau routage . . . . . . . . . . . . . . . . . . . . . . 30 2.2.3 M´ecanismes de gestion de la QdS . . . . . . . . . . . . 39 2.3 Evaluation des r´eseaux ad hoc de drones . . . . . . . . . . . . 51 ´ 2.3.1 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.3.2 Exp´erimentation r´eelle . . . . . . . . . . . . . . . . . . 59 3 Architecture DAN 63 3.1 Recueil d’exigences . . . . . . . . . . . . . . . . . . . . . . . . 64 3.2 Classes de trafic . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.3 L’architecture de DAN . . . . . . . . . . . . . . . . . . . . . . 68 3.3.1 API DAN . . . . . . . . . . . . . . . . . . . . . . . . . 69 ixx TABLE DES MATIERES ` 3.3.2 L’agent DAN . . . . . . . . . . . . . . . . . . . . . . . 70 3.3.3 Le contrˆoleur d’admission . . . . . . . . . . . . . . . . 71 3.3.4 Le classificateur . . . . . . . . . . . . . . . . . . . . . . 71 3.4 La signalisation de DAN . . . . . . . . . . . . . . . . . . . . . 72 3.5 Le Fonctionnement de DAN . . . . . . . . . . . . . . . . . . . 73 3.5.1 API DAN . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.5.2 L’agent DAN . . . . . . . . . . . . . . . . . . . . . . . 76 3.5.3 Le contrˆoleur d’admission . . . . . . . . . . . . . . . . 77 3.5.4 Le classificateur . . . . . . . . . . . . . . . . . . . . . . 78 4 Evaluation des performances de DAN par simulation 81 ´ 4.1 Mod`ele de mobilit´e PPRZM . . . . . . . . . . . . . . . . . . . 82 4.1.1 Les mouvements des drones Paparazzi . . . . . . . . . 82 4.1.2 PPRZM . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.1.3 Validation du mod`ele PPRZM . . . . . . . . . . . . . . 88 4.2 Evaluation de DAN . . . . . . . . . . . . . . . . . . . . . . . . 92 ´ 4.2.1 Evaluation du fonctionnement du Contrˆoleur d’admis- ´ sion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.2.2 Etude des minuteurs . . . . . . . . . . . . . . . . . . . 97 ´ 4.2.3 Performances g´en´erales de DAN . . . . . . . . . . . . . 106 4.2.4 Evaluation de l’impact de variation de la charge du ´ r´eseau . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.2.5 Evaluation avec d’ autres protocoles de routage . . . . 112 ´ 5 Impl´ementation et plate-formes de tests 117 5.1 Outils utilis´es . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 5.2 Impl´ementation de DAN . . . . . . . . . . . . . . . . . . . . . 119 5.3 R´esultats et discussion . . . . . . . . . . . . . . . . . . . . . . 121 5.3.1 Validation du fonctionnement du nouveau syst`eme de communication Paparazzi . . . . . . . . . . . . . . . . 123 5.3.2 Evaluation de DAN . . . . . . . . . . . . . . . . . . . . 127 ´ 6 Conclusions et perspectives 143 6.1 Travaux r´ealis´es . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.1.1 L’architecture DAN . . . . . . . . . . . . . . . . . . . . 144 6.1.2 Int´egration DAN au syst`eme Paparazzi . . . . . . . . . 145 6.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.2.1 Perspectives r´eseaux . . . . . . . . . . . . . . . . . . . 147 6.2.2 Op´erations pour les drones . . . . . . . . . . . . . . . . 149 A Annexe : Outils de simulation 167Table des figures 1.1 Communication coop´erative `a travers un drone relais . . . . . 6 1.2 Retransmission de communications par des drones collaboratifs 7 1.3 Communications dans un syst`eme de drones coop´eratifs . . . . 8 1.4 Communications satellites . . . . . . . . . . . . . . . . . . . . 10 1.5 Communications cellulaires . . . . . . . . . . . . . . . . . . . . 12 1.6 R´eseau Ad hoc . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1 R´eseau Ad hoc v´ehiculaire . . . . . . . . . . . . . . . . . . . . 20 2.2 Communications ad hoc et communications centralis´ees . . . . 26 2.3 Le m´ecanisme CSMA/CA . . . . . . . . . . . . . . . . . . . . 27 2.4 Le sc´enario de LODMAC . . . . . . . . . . . . . . . . . . . . . 29 2.5 Les MPRs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.6 La transmission g´eographique gloutonne . . . . . . . . . . . . 34 2.7 M´ecanisme du protocole RGR . . . . . . . . . . . . . . . . . . 37 2.8 M´ethode de groupge . . . . . . . . . . . . . . . . . . . . . . . 38 2.9 Architecture hybride utilis´ee avec le protocole EHSR . . . . . 39 2.10 Mouvements de RWP . . . . . . . . . . . . . . . . . . . . . . . 53 2.11 Mouvements de RD . . . . . . . . . . . . . . . . . . . . . . . . 54 2.12 Mouvements de Gauss Markov avec trois valeurs de α . . . . . 55 2.13 Le principe de SRCM . . . . . . . . . . . . . . . . . . . . . . 56 3.1 Architecture de DAN . . . . . . . . . . . . . . . . . . . . . . . 70 3.2 Format des messages Reserve et Error . . . . . . . . . . . . . 72 3.3 Format du message Close . . . . . . . . . . . . . . . . . . . . 73 3.4 Exemple de fonctionnement de l’API DAN . . . . . . . . . . . 75 3.5 Diagramme de s´equencement de l’´etablissement et le rafraichissement des r´eservations . . . . . . . . . . . . . . . . . . . 77 3.6 Traitement de paquets par DAN . . . . . . . . . . . . . . . . . 79 4.1 Le mouvement rectiligne . . . . . . . . . . . . . . . . . . . . . 82 4.2 Le mouvement circulaire . . . . . . . . . . . . . . . . . . . . . 83 xixii TABLE DES FIGURES 4.3 Le mouvement oblong . . . . . . . . . . . . . . . . . . . . . . 84 4.4 Le mouvement Huit . . . . . . . . . . . . . . . . . . . . . . . . 84 4.5 Le mouvement balayage . . . . . . . . . . . . . . . . . . . . . 85 4.6 Traces r´eelles de trois drones Paparazzi . . . . . . . . . . . . . 85 4.7 Altitudes des trois drones Paparazzi utilis´es dans le graphe 4.6 86 4.8 Fonctionnement de PPRZM . . . . . . . . . . . . . . . . . . . 87 4.9 Exemple de calcul de m´etrique Frequency . . . . . . . . . . . . 89 4.10 Trajectoire suivie selon PPRZM . . . . . . . . . . . . . . . . . 91 4.11 Comparaison g´eom´etrique . . . . . . . . . . . . . . . . . . . . 93 4.12 Comparaison des performances du r´eseau . . . . . . . . . . . . 94 4.13 D´ebits mesur´es durant la simulation pour chaque flux de trafic 97 4.14 Taux de perte mesur´es avec chaque valeur de WTC pour les trois classes de trafic . . . . . . . . . . . . . . . . . . . . . . . 99 4.15 D´elais de bout en bout mesur´es avec les diff´erentes valeurs de WTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.16 D´ebits de transmission mesur´es avec la variation de la dur´ee WTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.17 Rapports entre le nombre de paquets de signalisation envoy´es et le nombre total de paquets Premium ´emis mesur´es avec les diff´erentes dur´ees de WTC . . . . . . . . . . . . . . . . . . . 102 4.18 Taux de perte mesur´es pour chaque classe de trafic durant les diff´erents tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.19 D´elais mesur´es pour chaque classe de trafic durant les diff´erentes simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 4.20 D´ebit de transmission mesur´es pour les diff´erentes classes de trafic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 4.21 Nombre de messages de signalisation ´echang´es au cours de chaque simulation . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.22 Nombre de paquets par chaque file d’attente . . . . . . . . . . 107 4.23 D´ebit mesur´e durant la simulation pour les deux classes Premium et Best-effort . . . . . . . . . . . . . . . . . . . . . . . 108 4.24 Taux de perte mesur´e pour chaque classe de trafic . . . . . . . 110 4.25 D´elai mesur´e pour chaque classe de trafic . . . . . . . . . . . . 111 4.26 Moyennes de d´ebit de transmission mesur´ees pour les deux classes de trafic Premium et Best-effort . . . . . . . . . . . . . 112 4.27 Taux de perte mesur´es pour les diff´erentes classes de trafic . . 113 4.28 D´elai mesur´e pour chaque classe de trafic . . . . . . . . . . . . 113 4.29 D´ebits mesur´es pour les deux classes Best-effort et Premium avec les protocoles de routage OLSR et DSDV . . . . . . . . . 114 5.1 Quadricopt`ere Paparazzi . . . . . . . . . . . . . . . . . . . . . 118TABLE DES FIGURES xiii 5.2 Carte Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . 118 5.3 Une cl´e Wi-Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.4 l’int´egration de DAN au syst`eme Paparazzi . . . . . . . . . . . 120 5.5 Architecture du syst`eme Linux avec DAN . . . . . . . . . . . . 121 5.6 Extrait du diagramme de classe de l’agent DAN . . . . . . . . 122 5.7 Trajectoire des drones au cours de l’exp´erimentation . . . . . . 123 5.8 Capture d’´ecran de la station de contrˆole . . . . . . . . . . . . 124 5.9 Les valeurs TTL des paquets des deux drones G1 et HEN1 . . 125 5.10 D´ebit du trafic descendant . . . . . . . . . . . . . . . . . . . . 126 5.11 Sc´enario des exp´erimentations . . . . . . . . . . . . . . . . . . 128 5.12 D´ebits mesur´es pour les diff´erents flux de trafic . . . . . . . . 130 5.13 Taux de perte mesur´es pour chaque classe de trafic avec et sans DAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 5.14 D´elais mesur´es pour chaque classe de trafic avec et sans DAN 133 5.15 D´ebit mesur´e durant l’exp´erimentation sans DAN pour les classes Premium et Best-effort . . . . . . . . . . . . . . . . . . 134 5.16 D´ebit mesur´e durant l’exp´erimentation avec DAN pour les classes Premium et Best-effort . . . . . . . . . . . . . . . . . 135 5.17 D´ebits mesur´es pour les classes Premium et Best-effort . . . . 137 5.18 D´ebit mesur´e durant une exp´erimentation . . . . . . . . . . . 138 5.19 Nombre de paquets ICMP ´echang´es . . . . . . . . . . . . . . . 139 5.20 D´ebits mesur´es pour les deux classes Premium et Best-effort . 140 A.1 Captures ´ecran du simulateur OMNET++ . . . . . . . . . . . 168 A.2 Architecture d’un nœud utilisant le syst`eme DAN . . . . . . . 169 A.3 Architecture du module DAN classificateur . . . . . . . . . . . 169xiv TABLE DES FIGURESListe des tableaux 1.1 Avantages ou inconv´enients des syst`emes de communication . 14 2.1 Comparaison entre r´eseau de capteurs a´eriens et un r´eseau ad hoc de drones pour les syst`emes multi-drones . . . . . . . . . . 23 2.2 Comparaison VANET et UAANET . . . . . . . . . . . . . . . 24 2.3 Les protocoles de routage pour les UAANET . . . . . . . . . . 40 4.1 Sc´enario de la simulation . . . . . . . . . . . . . . . . . . . . . 92 4.2 Premier sc´enario . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.3 Taux de perte mesur´e pour chaque Flux (%) . . . . . . . . . . 95 4.4 D´elai de bout en bout mesur´e pour chaque flux (ms) . . . . . 96 4.5 Temps d’attente dans la file d’attente pour chaque flux (ms) . 96 4.6 D´ebits mesur´es pour chaque flux de trafic . . . . . . . . . . . . 96 4.7 Deuxi`eme sc´enario . . . . . . . . . . . . . . . . . . . . . . . . 98 4.8 Troisi`eme sc´enario . . . . . . . . . . . . . . . . . . . . . . . . 106 4.9 Taux de perte mesur´e pour chaque classe de trafic (%) . . . . 106 4.10 D´elai de bout en bout mesur´e pour chaque classe de trafic . . 108 4.11 D´ebit mesur´e pour les deux classes de trafic Premium et Besteffort (Kbits/s) . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.12 Quatri`eme sc´enario . . . . . . . . . . . . . . . . . . . . . . . . 109 5.1 D´ebit g´en´er´e par les drones en kbits/sec . . . . . . . . . . . . 126 5.2 Taux de perte (%) mesur´es durant les diff´erentes p´eriodes de l’exp´erimentation . . . . . . . . . . . . . . . . . . . . . . . . . 127 5.3 Taux de perte mesur´e pour les diff´erents flux de trafic (%) . . 129 5.4 D´elais de bout en bout mesur´es pour les flux envoy´es (ms) . . 130 5.5 Taux de perte dues `a la congestion du r´eseau . . . . . . . . . . 132 5.6 D´ebit mesur´e pour les classes Premium et Best-effort durant les deux exp´erimentations (kbits/s) . . . . . . . . . . . . . . . 135 5.7 Taux de perte mesur´e pour chaque classe de trafic (%) . . . . 136 5.8 D´elai mesur´e pour chaque classe de trafic . . . . . . . . . . . . 137 xvxvi LISTE DES TABLEAUX 5.9 D´ebits mesur´es pour les deux classes Premium et Best-effort (kbits/s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 5.10 D´elai mesur´e pour chaque classe de trafic (ms) . . . . . . . . . 140Chapitre 1 Introduction Contents 1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 D3CoS . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 Drones dans des op´erations civiles . . . . . . . . . 4 1.1.3 Syst`eme Paparazzi . . . . . . . . . . . . . . . . . . 8 1.2 Solutions pour les r´eseaux de communications . 10 1.2.1 R´eseaux satellite . . . . . . . . . . . . . . . . . . . 10 1.2.2 R´eseaux cellulaires . . . . . . . . . . . . . . . . . . 11 1.2.3 R´eseaux Ad hoc . . . . . . . . . . . . . . . . . . . 12 1.2.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . 13 1.3 Contributions . . . . . . . . . . . . . . . . . . . . . 14 1.4 Structure du m´emoire . . . . . . . . . . . . . . . . 16 Introduction Dans le cadre du projet europ´een, D3CoS 1 , ce travail de th`ese ´etudie l’architecture de communication appropri´ee pour une flotte de drones. Ce genre de syst`emes pr´esente des am´eliorations pour les performances des op´erations ordinaires et classiques de drones puisque plusieurs appareils collaborent entre eux afin de faciliter leur mission commune. Cette collaboration n´ecessite un niveau ´elev´e de coordination entre les diff´erents a´eronefs rendu possible par un ´echange continu e diff´erents types de donn´ees. Par cons´equent, un syst`eme de communication fiable doit ˆetre utilis´e pour faciliter la tˆache des 1. Designing Dynamic Distributed Cooperative Human-Machine Systems : http ://www.d3cos.eu/ 12 CHAPITRE 1. INTRODUCTION drones. La proposition de cette th`ese est ´etudi´ee par simulation ainsi que par des exp´erimentations r´eelles sur des mini-drones Paparazzi pr´esent´es dans ce chapitre. Ce chapitre pr´esente en premier lieu le contexte de cette th`ese. D’abord, il introduit le projet D3CoS et ses objectifs. Puis il pr´esente le domaine civil d’application de flottes de drones et donne des exemples de missions coop´eratives. Ensuite, il introduit le syst`eme d’auto-pilote Paparazzi. Dans la deuxi`eme partie de ce chapitre, diff´erents syst`emes de communication sont pr´esent´es afin de trouver le syst`eme le mieux adapt´e aux missions coop´eratives d’une flotte de drones. Par la suite, la contribution de cette th`ese est introduite dans la troisi`eme sous-section. Finalement, la quatri`eme sous-section pr´esente la structure de ce m´emoire. 1.1 Contexte 1.1.1 D3CoS Dans les derni`ere d´ecennies, la demande sur les transports (terrestres, a´eriens et maritimes) a connu une augmentation remarquable et rapide. Aujourd’hui, ils sont devenus un facteur clef de la soci´et´e modernes. La relation classique entre l’humain et la machine est bas´ee sur deux facettes du transport : le contrˆole des v´ehicules et le contrˆole du trafic. Les conducteurs des automobiles, les pilotes des a´eronefs, les contrˆoleurs de la circulation a´erienne et les officiers nautiques sont les responsables de la circulation des v´ehicules en toute s´ecurit´e mˆeme dans les zones les plus congestionn´ees ce qui peut causer, dans certaines situations, des d´egˆats humains et mat´eriels `a causent des capacit´es cognitives limit´ees de l’ˆetre humain. Aujourd’hui des innovations technologiques ont permis l’introduction de syst`emes d’assistance automatique dans ces tˆaches, apportant une interaction complexe entre humains et machines. Les mauvaises utilisations et les d´efauts de maitrise de ces innovations peuvent ˆetre aussi la cause des nouvelles erreurs humaines sources d’incidents voir d’accidents et des cons´equences d´esastreuses par exemple : la collision a´erienne d’Uberlingen ¨ 2 . La seule augmentation de l’automatisation des tˆaches n’est pas suffisante pour r´esoudre ces probl`emes. Ainsi, un meilleur niveau de coop´eration entre humains et machines avec un partage d’autorit´e entre eux doit aussi ˆetre envisag´e. Il manque aujourd’hui les ´el´ements clefs pour de nouvelles m´ethodes, des techniques et des outils qui vont au-del`a des syst`emes d’assistance tradition- 2. http ://www.securiteaerienne.com/la-collision-dueberlingen/1.1. CONTEXTE 3 nels et r´epondent `a l’ensemble des processus de d´eveloppement des syst`emes coop´eratifs. Ces ´el´ements clefs doivent ˆetre bas´es sur une perspective multiagents afin de relever les d´efis pos´es par les futurs environnements de circulation coop´erative. Le projet europ´een D3CoS, financ´e par l’initiative commune ARTEMIS 3 , vise `a d´evelopper des m´ethodes, des techniques et des outils (MTT : Methods, Technics and Tools) permettant de concevoir, d´evelopper et ´evaluer des syst`emes coop´eratifs multi-agents offrants aux op´erateurs humains et aux machines les moyens de partager les tˆaches assign´ees au syst`eme dans son ensemble. D3CoS vise `a int´egrer ces MTTs dans les processus de d´eveloppement du syst`eme industriel pour soutenir le d´eveloppement de syst`emes abordables et innovants de coop´eration homme-machine. Ces syst`emes coop´eratifs dynamiques distribu´es homme-machine sont appel´es DCoS (Distributed Cooperative Humain-Machine System). Pour faire face `a ce changement de paradigme d’une mani`ere r´ealiste, D3CoS s’est limit´e aux syst`emes coop´eratifs dans le domaine des transports dont deux tˆaches globales sont affect´ees : – Contrˆole d’un seul v´ehicule : Perspective de bord, o`u un v´ehicule effectue les tˆaches attribu´ees par un agent de bord(i.e. Un pilote de ligne avec un avion). – Contrˆole d’un trafic de v´ehicules : Perspective de la circulation, o`u un ensemble de v´ehicules est en comp´etition pour l’espace et le temps et ils r´esolvent leurs conflits en effectuant une collaboration spatiotemporelles (i.e. Un pilote contrˆolant une flotte de drones). D3CoS cible quatre domaines d’application : les avions pilot´es, les v´ehicules a´eriens sans pilote (drones), l’automobile et le maritime. Dans notre ´etude, nous allons nous focaliser sur le domaine des drones puisque depuis quelques ann´ees, l’av`enement de mini-drones, plus petits et moins couteux que leurs homologues, a ´etendue l’utilisation de ces a´eronefs au domaine civil afin de faciliter et am´eliorer les performances de certaines missions critiques. Les missions civiles de drones sont pr´esent´ees dans la section suivante. 3. Advanced Research and Technology in EMbedded Innovation Systems http ://www.artemis-ju.eu/4 CHAPITRE 1. INTRODUCTION 1.1.2 Drones dans des op´erations civiles Les drones, les engins volants sans pilotes (g´en´eralement appel´es UAV pour Unmanned Aerial Vehicle), sont utilis´es pour la premi`ere fois vers la fin de la premi`ere guerre mondiale par l’arm´ee am´ericaine. L’id´ee ´etait de guider des avions pilot´es `a distance sans le pilote dans le cockpit. Depuis, les drones sont devenus un sujet d’innovation dans diff´erents domaines et pour plusieurs types de missions [Blo]. Ils ont longtemps ´et´e un outil militaire, cependant, ces derni`eres ann´ees, leur utilisation a ´et´e ´etendue au domaine civil. Ils pr´esentent une solution prometteuse pour les missions les plus dangereuses, d´elicates et inadapt´ees aux pilotes humains. Ce qui permet de sauver des vies humaines puisqu’ils permettent de remplacer des avions et des h´elicopt`eres pilot´es. Grˆace au progr`es technologiques, les drones, aujourd’hui, existent en plusieurs dimension [dFB08] pour pouvoir s’adapter aux diff´erents types de mission. Il en existe des a´eronefs petits, l´egers, moins coˆuteux et capables de remplacer les humains dans plusieurs missions civiles comme la recherche et le sauvetage des survivants apr`es les catastrophes. En outre, ils sont utilis´es dans plusieurs op´erations de contrˆole de l’environnement et des ph´enom`enes naturels comme les ´emissions de gaz ou de liquide. Depuis quelques ann´ees, les chercheurs con¸coivent des applications pour les drones pour pouvoir op´erer d’une mani`ere plus autonome afin d’am´eliorer les performances de ces syst`emes et de simplifier au maximum la tˆache de l’op´erateur humain. 1.1.2.1 Op´erations traditionnelles Grˆace aux capteurs qui peuvent ˆetres int´egr´es dans l’a´eronef, les drones sont utilis´es dans diff´erentes missions. La premi`ere utilisation d’un drone dans une mission civile ´etait en 1969 par la NASA. Depuis, ils sont engag´es dans plusieurs tˆaches gouvernementales dont par exemple les op´erations de recherche des survivants apr`es les catastrophes naturelles, les accidents, notamment dans les conditions les plus difficiles comme les conditions m´etrologiques et les localisations g´eographiques inaccessibles ou dangereuses [LRGM10]. En outre, ils sont utilis´es dans des op´erations polici`eres comme le contrˆole de la circulation routi`ere. En effet, en Novembre 2010, la police allemande a utilis´e pour la premi`ere fois un drone pour contrˆoler des manifestations civiles 4 . Ces a´eronefs sont utiles aussi pour les pompiers. Grˆace aux capteurs infrarouges qui peuvent d´etecter le feu, les drones sont utilis´es pour d´ecouvrir les flammes dans les forˆets dans le but d’informer les pompiers `a temps. De 4. http ://www.bigbrotherawards.de/2011-en/.pol1.1. CONTEXTE 5 plus, ils servent dans plusieurs autres tˆaches comme la collecte des informations utilis´ees pour l’´evaluation des dommages ou pour la cr´eation et le suivi de la cartographie du feu en temps-r´eel ou comme la rediffusion des communications entre les pompiers et le centre de secours [CBM+05]. Les autorit´es am´ericaines ont d´ej`a utilis´e le drone Predator-B modifi´e avec une camera infrarouge afin de pouvoir aider les pompiers `a g´erer le feu des forˆets en Californie en 2007 5 . L’a´eronef transmettait des donn´ees pr´ecises en temps r´eel permettant d’anticiper la propagation du feu et de mieux exploiter les ressources. Les drones sont utilis´es aussi dans des missions de surveillance de grandes zones agricoles et mˆeme pour la pulv´erisation des r´ecoltes 6 . Ils peuvent servir, aussi, dans des tˆaches commerciales comme l’acquisition de donn´ees et d’images d’endroits inaccessibles et/ou dangereux, comme les r´egions sinistr´ees apr`es les catastrophes naturelles. Les images prises par le drones peuvent servir pour la cr´eation de cartes g´eographiques et mˆeme pour la r´ealisation de films 7 . Les drones marquent leur pr´esence aussi dans plusieurs domaines de recherches scientifiques comme l’environnement 8 , l’atmosph`ere 9 , la pollution [CSGM13, XLH+13], etc. Ils sont utilis´es pour r´ealiser des exp´erimentations et prendre des mesures comme la temp´erature et l’humidit´e. En outre, ils peuvent servir dans le domaine des communications et aider `a retransmettre les ´echanges entre deux groupes d’utilisateurs ´eloign´es comme en figure 1.1. En effet, `a cause de leur port´ee limit´ee, les r´eseaux sans fil peuvent avoir des probl`emes de connexion quand un ´equipement ou un groupe d’´equipements tentent d’envoyer une information vers d’autres utilisateurs ´eloign´es, en dehors de la port´ee de transmission de l’´emetteur. Ainsi, le drone am´eliore la connectivit´e dans le r´eseau en re-´emettant les messages transmis entre les deux extr´emit´es. Pour ce genre de missions, les drones doivent ˆetre contrˆol´es par un agent central, qui permet de diriger les op´erations en contrˆolant son ´evolution et l’´etat de l’a´eronef. Cet agent pilote et donne les instructions n´ecessaires aux a´eronefs en passant par une seule liaison de communication entre chaque drone et la station de contrˆole. Ces ´echanges sont assur´ees, par des communications point `a point et point `a multi-point (en ´etoile). 5. http ://machinedesign.com/news/newest-forest-firefighter-predator-uav 6. http ://www.gizmag.com/uav-crop-dusting/27974/ //2012 7. http ://www.fastcompany.com/1816578/unmanned-drones-go-from-afghanistan-tohollywood //2012 8. http ://www.aero-news.net/index.cfm ?do=main.textpost&id=aa628485-ba35-4bfe- 86ba-c94ea52ac38b //2005 9. http ://press.scanex.ru/index.php/en/news/item/4008-atmo //July 20136 CHAPITRE 1. INTRODUCTION Figure 1.1 – Communication coop´erative `a travers un drone relais 1.1.2.2 Op´erations coop´eratives Afin d’am´eliorer les performances des drones sur ces missions, des recherches sont men´ees afin de rendre les drones coop´eratifs. Une flotte de drones coop´eratifs serait alors capable de r´ealiser plus rapidement des missions plus complexe par le partage de diff´erentes tˆache entre eux. Les drones peuvent ˆetre responsables de l’´evolution de l’op´eration par l’acquisition de nouveaux comportement intelligents comme l’´evitement de collisions et la formation autonome du vol [RZH+04]. La coop´eration entre les drones permet de faciliter les missions usuelles et d’am´eliorer ses performances [YCBE10]. Ayant diff´erentes tˆaches, ils se compl`etent en collaborant pour atteindre un but commun comme par exemple les missions de retransmission des communications (figure 1.2), de cr´eation de cartes g´eographiques, de surveillance et les op´erations de recherche et de sauvetage. Cette collaboration est rendue possible par un niveau ´elev´e de coordination entre les drones atteint par un ´echange continu de donn´ees entre les drones tout au long de la mission. Par exemple, dans [RZH+04], une mission de surveillance d’une large zone g´eographique est pr´esent´ee pour ˆetre r´ealis´ee par un groupe de drones coop´eratifs. En ´echangeant des informations sur leurs positions g´eographiques, chaque a´eronef peut calculer son itin´eraire en fonction de celui des autres. Cet algorithme pr´esente une meilleure performance en termes de rapidit´e et fiabilit´e par rapport `a l’op´eration classique r´ealis´ee par un seul drone.1.1. CONTEXTE 7 Drones Nœuds du réseau terrestre Figure 1.2 – Retransmission de communications par des drones collaboratifs Plusieurs autres propositions ont ´et´e ´etudi´ees afin d’avoir une flotte de drones plus autonome qui peut se partager l’autorit´e et prendre des d´ecisions quand c’est n´ecessaire et mˆeme d’allouer les diff´erentes tˆaches entre les a´eronefs. En effet, dans [MYM01], les auteurs ont pr´esent´e une m´ethodologie pour cr´eer une strat´egie de recherche coop´erative mise en place par un groupe de drones. Cette m´ethodologie s’appuie sur l’´echange des informations concernant la mobilit´e de chaque a´eronef. Ces informations permettent aux drones d’avoir une id´ee de ce qui se passe autour d’eux et de calculer et de mettre `a jour leurs chemins de recherche. De plus, un algorithme d’estimation et de localisation des cibles pour un groupe de drones collaboratifs est propos´e dans [BVH07]. Cette m´ethode pr´esente de meilleurs r´esultats que ceux qui pourraient ˆetre obtenus avec un seul drone. Le projet CARUS [CLM+11] ´etudiait aussi l’utilisation d’une flotte de drones. Son but ´etait de montrer la faisabilit´e de l’utilisation de drones collaboratifs communicants dans une mission de surveillance de quelques points d’incident dans le but de r´esoudre des probl`emes techniques et humains. L’´echange des messages, dans cette ´etude, est r´ealis´e par une diffusion asynchrone entre les drones. La communication entre les agents joue un rˆole tr`es important dans ce8 CHAPITRE 1. INTRODUCTION Figure 1.3 – Communications dans un syst`eme de drones coop´eratifs genre d’op´eration puisque l’´evolution de la mission peut ˆetre affect´ee ou d´ecid´ee par l’´evolution d’une seule tˆache. Dans ce genre de syst`eme, deux types de liens de communications sont n´ecessaires : le lien entre les drones (drone-drones) et la liaison de communication entre les drones et la station de contrˆole (drone-sol) comme illustr´e par la figure 1.3. Cette nouvelle tendance d’utilisation des drones attirent plusieurs experts et amateurs de ces engins. Ils essaient, d’int´egrer ces fonctionnalit´es `a leurs syst`emes, et de cr´eer de nouvelles applications et de nouvelles missions. Le syst`eme Paparazzi, est l’un de ces syst`emes qui ne cesse d’´evoluer pour int´egrer des fonctions facilitant l’application des op´erations coop´eratives. 1.1.3 Syst`eme Paparazzi Cr´e´e par l’´equipe drones de l’ENAC 10 en 2003, Paparazzi [Pap] est un syst`eme complet de logiciels et de mat´eriel libre (open source) permettant de g´erer des syst`emes a´eriens sans pilotes (UAS pour Unmanned Aerial System). Il regroupe un auto-pilote pour diriger des a´eronefs `a voilure fixe ainsi que des multicopters, et une station sol qui contient des logiciels de planification de mission et de surveillance en utilisant une liaison de donn´ees bidirectionnelle pour le contrˆole et la t´el´em´etrie. 10. Ecole Nationale de l’Aviation Civile ´1.1. CONTEXTE 9 Aujourd’hui Paparazzi est utilis´e par des universit´es, des industriels ainsi que des amateurs partout dans le monde dans une grande vari´et´e d’a´eronefs, dont plusieurs ont ´et´e con¸cus sp´ecifiquement autour du syst`eme Paparazzi. Paparazzi permet de g´erer et de contrˆoler simultan´ement un ensemble de drones et continue `a ´evoluer pour faciliter la tˆache de contrˆole de plusieurs a´eronefs par un seul op´erateur. De plus, il permet de d´evelopper des applications civiles pour les drones grˆace aux diff´erents types de capteurs comme par exemple les appareils photo, les cam´eras vid´eo (en rajoutant un ´emetteur de vid´eo) et les capteurs m´et´eorologique. Afin de communiquer avec l’a´eronef, l’auto-pilote Paparazzi utilise une liaison bidirectionnelle pour garantir une t´el´em´etrie en temps-r´eel et pour pouvoir faire des r´eglages et envoyer des commandes durant le vol. La liaison descendante (de l’a´eronef vers la station sol), est consacr´ee `a la t´el´em´etrie. Elle contient des informations sur l’´etat de l’engin pour permettre l’´evolution de la mission de contrˆole comme par exemple la position g´eographique GPS de l’avion qui est envoy´ee et visualis´ee en temps r´eel au niveau de la station sol. Sur la liaison montante (de la station sol vers l’a´eronef), les messages de contrˆole `a distance ou les commandes sont envoy´es afin d’interagir avec le drone : par exemple, le changement de la direction ou du point d’acheminement de l’a´eronef. Le dispositif de liaison de donn´ees le plus utilis´e pour les syst`emes Paparazzi est la s´erie XBee. XBee s’appuie sur le standard 802.15.4 [Soc03], la base du Zigbee. Il fournit des communications point-`a-point et point-`a-multipoint (en ´etoile) avec un d´ebit qui ne d´epasse pas les 250 kbits/s. Ainsi, pour ´emettre de la vid´eo `a partir d’une cam´era embarqu´ee, il faut rajouter un transmetteur vid´eo. Paparazzi est reconnu pour ces qualit´es techniques et son coˆut relativement faible 11. Aujourd’hui, il envisage d’am´eliorer son syst`eme de communication par l’ajout de la fonctionnalit´e de relais d’information et d’´echange de communications inter-drones. La section suivante pr´esente des solutions de r´eseaux de communications permettant de communiquer les drones entre eux et avec la station de contrˆole. 11. http ://www.objectifnews.com/node/478 Publi´e en 200910 CHAPITRE 1. INTRODUCTION Figure 1.4 – Communications satellites 1.2 Solutions pour les r´eseaux de communications Grˆace au progr`es dans le domaine des t´el´ecommunications, on vit aujourd’hui dans un monde connect´e grˆace aux diff´erents types de technologies disponibles. En effet, il est possible de faire communiquer deux extr´emit´es distant `a l’aide d’une ou plusieurs technologies sans fil. Ainsi, pour faire communiquer plusieurs drones entre eux et avec leur(s) station(s) de contrˆole, plusieurs possibilit´es existent comme les communications satellites, cellulaires ou ad hoc. 1.2.1 R´eseaux satellite Afin de faire communiquer deux points tr`es ´eloign´es l’un de l’autre, situ´es dans des r´egions o`u il est impossible d’avoir une infrastructure fixe, les communications satellites sont la meilleure solution. Il existe deux types de satellites qui assurent la communication. Le premier type est le satellite g´eostationnaire ; il reste fixe par rapport `a une position g´eographique puisque il tourne autour de la terre avec la mˆeme vitesse que cette derni`ere. Ces satellites couvrent une zone g´eographique fixe bien1.2. SOLUTIONS POUR LES RESEAUX DE COMMUNICATIONS ´ 11 d´etermin´ee. Le deuxi`eme type de satellite est le satellite orbital qui, contrairement aux satellites stationnaires, couvre des zones g´eographiques diff´erentes puisque il se d´eplace sur une orbite autour de la terre. Ce type de communication est souvent utilis´e pour la t´el´evision, les communications a´eronautiques, maritimes militaires et les missions du contrˆole des diff´erentes zones g´eographiques sur la surface de la terre, etc. (figure 1.4) Les satellites peuvent assurer la communication aussi entre la station sol et le drone dans les syst`emes mono-drone. Par cons´equent, pour les syst`emes multi-drones, chaque a´eronef peut communiquer avec la station de base `a travers un satellite. Ainsi, les communications entre drones peuvent aussi passer de la mˆeme mani`ere. Cependant, cette approche a quelques point faibles comme par exemple l’importante latence de transmission et le coˆut de lacement du satellite. De plus, les drones ainsi que la station de contrˆole doivent ˆetre sur la ligne de vis´ee du satellite. En effet, pour certaines missions, des arbres ou des bˆatiments peuvent ˆetre des obstacles contre le signal ´echang´e entre les drones et leur satellite relais. Par ailleurs, la performance des syst`emes satellitaires est li´ee `a la puissance d’´emission des ´emetteurs au sol, ce qui peut ˆetre un inconv´enient pour les mini ou micro-drones qui sont ´equip´es avec des batteries `a faible capacit´e. 1.2.2 R´eseaux cellulaires Un autre type de communication, le plus utilis´e de nos jours, est les r´eseaux de communications cellulaires (figure 1.5). Bas´ee sur une topologie centralis´ee, cette technologie consiste `a d´ecouper un territoire en zone (cellules), chacune est desservie par une station de base (le point central). Toute les communications doivent passer par ce point central qui a pour rˆole de les acheminer `a leurs destinations. Les communications cellulaires sont la base des technologies de la t´el´ephonie mobile comme le GSM, GPRS, UMTS, LTE [Mis04] et les communications de donn´ees sans fil comme le Wi-Fi et le WiMAX ([BGL08], [Ete08]) puisque ils offrent une extrˆeme libert´e pour les utilisateurs nomades. Contrairement aux r´eseaux satellitaires, les r´eseaux cellulaires utilisent des ´emetteurs de faible puissance. Pour cela, il peuvent ˆetre une solution pour faire communiquer les drones en utilisant l’infrastructure des op´erateurs t´el´ephoniques d´ej`a existante pour ´eliminer les contrainte de la port´ee et de la mobilit´e. Cependant, le coˆut de communication n’est pas n´egligeable dans ce cas d’utilisation, mˆeme avec l’installation d’une nouvelle infrastructure. En plus,12 CHAPITRE 1. INTRODUCTION Figure 1.5 – Communications cellulaires il est difficile de couvrir toute les zones et de garder cette infrastructure dans certains cas comme apr`es les catastrophes naturelles. 1.2.3 R´eseaux Ad hoc Contrairement aux r´eseaux satellites ou cellulaires, les r´eseaux ad hoc mobiles (MANET pour Mobile Ad hoc NETwork) ne n´ecessitent pas une infrastructure fixe (des antennes relais ou satellite) pour acheminer les messages d’un nœud vers un autre (figure 1.6). Le principe des r´eseaux ad hoc est bas´e sur la coop´eration entre les diff´erents nœuds du r´eseau. En effet, chaque nœud communique directement avec ses voisins qui se chargent de retransmettre les messages jusqu’`a leur destination. Chaque nœud est un relais qui permet de retransmettre les paquets `a leurs destination finale. Cette coop´eration permet aux nœuds de bouger librement ce qui peut causer des changements fr´equents et rapides de la topologie du r´eseau. Un changement qui peut causer la coupure de lien et en mˆeme temps la cr´eation de nouveaux . Ainsi, pour faire face aux changements dynamiques, fr´equents et rapides de la topologie, le syst`eme ad hoc n´ecessite des protocoles de communications sp´ecifiques puisque c’est un syst`eme autonome qui a le pouvoir de s’organiser automatiquement. Les protocoles de routage sont un exemple de ces protocoles. Ils sont responsables de d´etecter ce changement brusque et d’´etablir des chemins vers chaque destination. En effet, un chemin est la liste1.2. SOLUTIONS POUR LES RESEAUX DE COMMUNICATIONS ´ 13 Figure 1.6 – R´eseau Ad hoc des nœuds interm´ediaires (relais) `a traverser par un paquet afin d’atteindre sa destination finale. Par cons´equent, les r´eseaux ad hoc sont bien adapt´es aux syst`emes de communication mobiles, dynamiques, ayant une topologie distribu´ee maill´ee, sans oublier leurs coˆuts raisonnable puisqu’ils ne n´ecessitent aucune infrastructure fixe. 1.2.4 Discussion Dans les syst`emes a´eronautiques coop´eratifs sans pilote, plusieurs drones collaborent entre eux pour achever un but commun. Ces syst`emes exigent une coordination totale entre leurs diff´erents agents. Par cons´equent, les a´eronefs doivent avoir une id´ee actualis´ee en temps r´eel sur l’´etat et le d´eroulement des tˆaches des autres avions afin d’assurer la coordination entre eux et de pouvoir adapter leurs tˆaches `a ce changement si n´ecessaire, comme par exemple le syst`eme TARF [TBV13] ´etudi´e pour les drones Paparazzi. Il s’agit d’une fonction dynamique permettant aux drones de s’auto-allouer de nouvelles tˆaches en cas d’´ev´enements soudains comme l’atterrissage d’urgence de l’un des a´eronefs. Par cons´equent, les drones doivent ´echanger r´eguli`erement des messages entre eux dans un environnement mobile dynamique. Pour cela, il faut choisir le syst`eme de communication le plus adapt´e aux caract´eristiques des syst`emes de mini-drones coop´eratifs.14 CHAPITRE 1. INTRODUCTION Le tableau 1.1 compare l’utilisation des diff´erents syst`emes de communication pr´esent´es dans les sections pr´ec´edentes dans le contexte de flotte de drones. Syst`eme de communication Avantages et/ou Inconv´enients sur les r´eseaux de mini-drones Communications satellite – Latence d’´emission – Coˆut ´elev´e – Puissance d’´emission importante Communications cellulaires – Coˆut ´elev´e – Indisponibilit´e de l’infrastructure dans des situations critiques Communication ad hoc – Coˆut faible – Moins de contraintes sur la mobilit´e Table 1.1 – Avantages ou inconv´enients des syst`emes de communication Les mini-drones sont caract´eris´es par un poids l´eger, une capacit´e de charge limit´ee, et une capacit´e en ´energie restreinte. En effet, un micro-drone ne peut pas supporter trop de charge puisque plus le mat´eriel est l´eger plus l’engin peut atteindre de hautes altitudes et plus son endurance est longue [CYCG07]. Par ailleurs, les drones sont con¸cus pour ˆetre utilis´es dans les endroits les plus dangereux et les plus difficiles `a atteindre par l’homme. Il est dif- ficile d’avoir une couverture cellulaire dans ces endroits `a cause de la complexit´e d’impl´ementation des relais fixes dans ces lieux. De plus, apr`es les catastrophes naturelles, ces infrastructures risquent d’ˆetre endommag´es. En outre, il ne faut pas oublier le coˆut ´elev´e de cette infrastructure et de sa maintenance ou mˆeme le coˆut de l’utilisation des relais d´ej`a impl´ement´es par les op´erateurs de t´el´ephonie mobile. Par cons´equent, les r´eseaux ad hoc sont bien adapt´es pour le r´eseau de communications d’une flotte de drones. 1.3 Contributions Le r´eseau ad hoc est une solution raisonnable pour faire communiquer les drones entre eux, `a l’int´erieur d’une flotte, et avec la station sol tout en respectant leur libert´e de mouvement. De plus, les r´eseaux ad hoc sont rentables par rapport aux autres r´eseaux qui n´ecessitent une infrastructure1.3. CONTRIBUTIONS 15 couteuse qui, dans certaines situations, risque d’ˆetre endommag´ees. Pour les syst`emes multi-agents, o`u diff´erentes entit´es collaborent ensemble pour atteindre un but commun, plusieurs tˆaches compl´ementaires sont attribu´ees `a chaque agent. Ces tˆaches ont diff´erents niveaux d’importance ou de priorit´e et chacune d’eux n´ecessite des informations sp´ecifiques et offre des r´esultats diff´erents des autres. En appliquant ce genre de paradigme sur une flotte de drones, chaque a´eronef aura une tˆache d’un niveau d’importance ou de priorit´e diff´erents des autres. En cons´equence, les drones ´echangeront une vari´et´e de types de messages selon leurs r´esultats et leurs besoins. Ainsi, chaque drone aura des demandes sp´ecifiques en termes de communication. Par exemple, dans le cadre de missions de contrˆole d’une zone g´eographique, une flotte de drones collabore en contrˆolant chacun une petite section. Ces drones transmettent de la vid´eo ainsi que la temp´erature mesur´ee `a la station de contrˆole. La temp´erature qui est une information envoy´ee r´eguli`erement est moins gourmande en ressources que la vid´eo. De plus, le drone qui s’occupe de la section la plus dangereuse doit envoyer une vid´eo avec une meilleure qualit´e que les autres, ainsi ce trafic n´ecessite plus de d´ebit. Ces besoins peuvent ´evoluer au cours du temps, puisque les tˆaches de chaque drone peuvent changer `a n’importe quel instant. Le syst`eme de communication utilis´e pour ce genre de mission doit ˆetre conscient de ces besoins ainsi que de leur ´evolution au cours du temps. Il doit ˆetre capable de diff´erencier le service et fournir `a chaque classe de trafic la qualit´e de service demand´ee. Nous proposons dans cette th`ese une architecture de communication con¸cue pour r´epondre `a ces exigences. Cette architecture est adapt´ee aux r´eseaux des flottes de drones coop´eratifs. Elle est ´etudi´ee pour pouvoir r´ealiser ce genre de syst`eme avec Paparazzi. En effet, elle est impl´ement´ee sur des drones r´eels Paparazzi et test´ee dans un environnement r´eel. Avant son int´egration au syst`eme Paparazzi, les performances de cette architecture de communication sont ´evalu´ees par simulation en utilisant le simulateur de r´eseau OMNET++. Cette simulation est r´ealis´ee dans un environnement proche de la r´ealit´e afin de pr´edire les probl`emes qui peuvent affecter le syst`eme dans son environnement r´eel. Pour cette raison, un mod`ele de mobilit´e reproduisant les mouvements r´eels de drones Paparazzi est cr´ee. L’objectif de cette ´etude est de cr´eer un nouveau syst`eme de communication Paparazzi permettant de contrˆoler une flotte de drone coop´eratifs tout en respectant les diff´erents besoins en terme de communication pour chaque a´eronef afin de garantir les meilleures performances pour les op´erations.16 CHAPITRE 1. INTRODUCTION 1.4 Structure du m´emoire Ce m´emoire est organis´e en six chapitres. Le premier pr´esente le travail r´ealis´e durant cette th`ese ainsi que son cadre d’application et de d´eploiement. Le deuxi`eme introduit les r´eseaux ad hoc de drones et pr´esente ces caract´eristiques par rapport aux autres classes des MANET. Par la suite, il pr´esente les diff´erents techniques et protocoles abord´es dans ce cadre d’´etudes dans le but de pouvoir choisir les protocoles MAC et routage qui r´epondent `a nos exigences. Ensuite, il pr´esente les diff´erents m´ecanismes de gestion de la qualit´e de service (QdS) dans les r´eseaux filaires et ad hoc utilis´es au niveau MAC et routage ainsi que des structures de diff´erenciation de service. La suite de ce chapitre pr´esente les deux moyens que nous allons utiliser pour ´evaluer l’architecture de communication propos´ee : la simulation et l’exp´erimentation r´eelle. Pour cette raison, il pr´esente les diff´erents mod`eles de mobilit´e utilis´es pour les simulations des syst`emes de communication ad hoc dans le but de cr´eer un environnement de simulation r´ealiste. Ensuite, il introduit des plateformes de tests des flottes de drones d´ej`a r´ealis´ees. Le troisi`eme chapitre r´esume les exigences des syst`emes de drones coop´eratifs et pr´esente, par la suite, l’architecture de communication que nous proposons dans ce m´emoire et d´etaille le fonctionnement de chacun de ses modules. Le quatri`eme chapitre est d´edi´e `a l’´etude d’´evaluation des performances de l’architecture de communication propos´ee par simulation. Il est organis´ee en deux sections. La premi`ere section pr´esente le mod`ele de mobilit´e que nous avons cr´e´e dans le but de reproduire les mouvements de drones Paparazzi et construire un environnement de simulation proche de la r´ealit´e. Nous d´etaillons le principe de ce mod`ele ainsi que l’´etude r´ealis´ee pour valider son fonctionnement. Par la suite, la deuxi`eme section aborde l’´etude par simulation r´ealis´ee pour le syst`eme de communication propos´e : elle pr´esente les diff´erents sc´enarios et analyse leurs r´esultats. Dans le cinqui`eme chapitre, les exp´erimentations r´eelles r´ealis´ees sont abord´ees. Ces exp´erimentations permettent d’´evaluer et valider le fonctionnement de notre proposition dans son environnement de d´eploiement r´eel. D’abord, nous d´etaillons les diff´erentes modifications mat´erielles et logicielles r´ealis´ees pour le syst`eme Paparzzi afin de pouvoir d´eployer notre architecture de communication. Par la suite, nous d´etaillons les sc´enarios des diff´erents tests r´ealis´es et nous analysons les r´esultats obtenus. Le dernier chapitre conclue ce m´emoire. Il r´esume le travail effectu´e ainsi que les contributions. Il est suivi d’un ensemble de perspectives pouvant permettre de compl´eter ce travail et d’explorer de nouvelles id´ees prometteuses1.4. STRUCTURE DU MEMOIRE ´ 17 pour les domaines des r´eseaux de communication et des drones. Conclusion Afin de r´eussir une mission con¸cue pour une flotte de drones coop´eratifs, un ´echange de donn´ees continue est n´ecessaire permettant d’atteindre un niveau de coordination ´elev´e entre les a´eronefs et leur station de contrˆole. Par cons´equent, la communication joue un rˆole important dans la r´eussite de ces op´erations. Les r´eseaux ad hoc sont une solution prometteuse pour les communications entre les drones et avec la station sol. Au cours d’une op´eration collaborative, les drones jouent diff´erents rˆoles et ´echangent une vari´et´e de messages demandant diff´erents besoins en termes qualit´e de service (d´ebit, d´elai, pertes, etc.). Par cons´equent, un syst`eme de communication conscient de ces demandes doit ˆetre utilis´e pour g´erer les ressources dans le r´eseau. Ce chapitre a introduit le contexte de cette th`ese et a donn´e des exemples sur les missions con¸cues pour des flottes de drones civils. Ensuite, une discussion autour des diff´erents syst`emes de communication a ´et´e pr´esent´ee afin de trouver le syst`eme appropri´e. Finalement, notre contribution a ´et´e introduite. Le chapitre suivant pr´esente les diff´erentes propositions ´etudi´ees pour faire communiquer les drones `a l’int´erieure d’une flotte.18 CHAPITRE 1. INTRODUCTIONChapitre 2 R´eseaux ad hoc de drones Contents 2.1 Taxonomie des MANET . . . . . . . . . . . . . . 20 2.1.1 Les VANET . . . . . . . . . . . . . . . . . . . . . . 20 2.1.2 Les AANET . . . . . . . . . . . . . . . . . . . . . 21 2.1.3 Les r´eseaux Ad hoc de drones . . . . . . . . . . . . 21 2.2 M´ecanismes pour les r´eseaux ad hoc de drones 25 2.2.1 Niveau MAC . . . . . . . . . . . . . . . . . . . . . 25 2.2.2 Niveau routage . . . . . . . . . . . . . . . . . . . . 30 2.2.3 M´ecanismes de gestion de la QdS . . . . . . . . . . 39 2.3 Evaluation des r´eseaux ad hoc de drones . . . . 51 ´ 2.3.1 Simulation . . . . . . . . . . . . . . . . . . . . . . 51 2.3.2 Exp´erimentation r´eelle . . . . . . . . . . . . . . . . 59 Introduction Les r´eseaux ad hoc pr´esentent une solution pour les communications entre les drones `a l’int´erieur d’une flotte et avec la station de contrˆole. En effet, l’´echanger de donn´ees entre les diff´erents nœuds dans un r´eseau ad hoc, ne n´ecessite pas un ´el´ement central responsable de l’acheminement des communications comme le satellite ou les antennes relais utilis´ees dans les r´eseaux cellulaires. Il existe diff´erentes classes de MANET classifi´ees selon des caract´eristiques en termes d’utilisations et de d´eploiement. Par cons´equent, chaque classe a ses propres exigences et besoins en termes de communication. Ce chapitre pr´esente les diff´erentes classes de MANET et compare leurs caract´eristiques dans la premi`ere section. Par la suite, il se focalise sur les 1920 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ r´eseaux ad hoc de drones et pr´esente les diff´erents m´ecanismes ´etudi´es pour permettre aux drones d’´echanger des donn´ees `a travers un r´eseau ad hoc. La troisi`eme section de ce chapitre pr´esente deux moyens d’´evaluation des performances des syst`emes de communication qui sont la simulation et l’exp´erimentation r´eelle. 2.1 Taxonomie des MANET Les MANET sont adapt´es aux r´eseaux distribu´es moyennement dense qui permettent de d´efinir des routes entre les diff´erents nœuds. Chaque syst`eme peut ˆetre caract´eris´e par des propres crit`eres comme les conditions de son environnement d’application (densit´e, interf´erence, changement de topologie, etc), la capacit´e des ´equipements utilis´es (port´ee radio, autonomie, ´energie, etc). Par cons´equent, il existe plusieurs sous-classes de MANET classifi´ees selon leurs utilisations, objectifs, d´eploiements ou types de communications. Les r´eseaux ad hoc v´ehiculaires VANET (Vehicular Ad hoc NETwork) ainsi que les r´eseaux ad hoc a´eronautiques AANET (Aeronautical Ad hoc NETwork) sont deux classes de MANET. 2.1.1 Les VANET Les VANET sont les r´eseaux de communications ad hoc au sein d’un groupe de v´ehicules dans le but de communiquer entre eux et avec des ´equipements fixes `a port´ee (figure 2.1). Ce qui caract´erise cette classe de Figure 2.1 – R´eseau Ad hoc v´ehiculaire r´eseau par rapport aux autres est la mobilit´e des nœuds. En effet, les v´ehicules tendent `a se d´eplacer ensemble d’une mani`ere organis´ee suivant des routes bien d´efinies. Ce mouvement est loin d’ˆetre au hasard, puisque le choix des2.1. TAXONOMIE DES MANET 21 trajectoires pour atteindre une position g´eographique est limit´e. Il d´epend du nombre des chemins disponibles. Un autre crit`ere sp´ecifique des VANET est l’´energie. Contrairement aux autres ´equipements des MANET, les v´ehicules n’ont aucune contrainte sur l’´energie. Les VANET sont la clef des syst`emes v´ehiculaires du futur, dans lesquels les v´ehicules communiquent entre eux pour fournir des informations concernant la situation du trafic (comme l’´etat de la circulation, les travaux sur les routes, les accidents, etc.) aux conducteurs et aux autorit´es concern´ees. 2.1.2 Les AANET Les r´eseaux ad hoc a´eronautiques sont pr´esent´es comme une solution pour augmenter la s´ecurit´e des vols puisque les syst`emes de communication solbord existant comme les communications satellites ou bande L sont limit´es en termes de capacit´e, de couverture et de coˆut de d´eploiement. En effet, l’utilisation des avions comme des relais permet d’´etendre la port´ee des avions et de pouvoir propager ses donn´ees jusqu’une station sol [Bes13]. Ce syst`eme peut ˆetre utile pour des services pour les passagers ou pour les compagnies a´eriennes comme l’enregistrement de la boite noires en temps r´eel. Les AANET et les VANET se ressemblent beaucoup en ce qui concerne la mobilit´e et l’´energie puisque les avions aussi suivent des trajectoires bien d´efinies entre chaque point de d´epart et point d’arriv´ee et n’ont pas de contrainte d’´energie. Ces deux classes ont des diff´erences au niveau de la vitesse et l’altitude. En effet, contrairement aux v´ehicules qui circulent sur le sol, les avions suivent des chemins dans diff´erents niveaux d’altitude et avec des vitesses beaucoup plus importantes. En se basant sur ces ressemblances, des chercheurs trouvent que les AANETs et VANET appartiennent `a la mˆeme cat´egorie comme en [RPG13]. . 2.1.3 Les r´eseaux Ad hoc de drones Les UAANET (UAV Ad hoc NETwork ), les r´eseaux ad hoc de drones d´efinit une nouvelle forme de MANET o`u les nœuds sont des drones qui permettent de retransmettre les messages vers leurs destinations. En effet, r´ecemment des recherches ont ´et´e men´ees permettant de cr´eer des syst`emes multi-drones collaboratifs comme dans [MRM11] ou dans [BVH07] o`u plusieurs drones coop`erent entre eux afin d’accomplir une mission avec des meilleures performances. Ces syst`emes collaboratifs n´ecessitent l’´etablissement22 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ de communications inter-drones pour assurer la coordination entre les diff´erents agents du syst`eme comme l’´echange de positions g´eographiques pour l’´evitement de collisions ou pour la re-planification autonome de tˆaches entre les agents d’une mission. Les r´eseaux ad hoc de drones peuvent ˆetre appliqu´es aux syst`emes o`u plusieurs drones sont utilis´es, un seul drone ne peut pas cr´eer un r´eseau ad hoc. 2.1.3.1 Comparaison r´eseaux de capteurs et UAANET i. Rappel sur les r´eseaux de capteurs Le r´eseaux de capteurs, WSN (Wireless Sensor Network), est un groupe de micro-capteurs qui contrˆolent et collectent des informations sur les conditions de diff´erents endroits comme par exemple la temp´erature, l’humidit´e, la pollution, le sens et la direction du vent. Le succ`es de ces syst`emes est dˆu au faible coˆut des capteurs, leur petite taille et leur efficacit´e dans plusieurs domaines puisque il en existe plusieurs types. Par contre, les WSN sont tr`es limit´es en ´energie ce qui n´ecessite l’utilisation de protocoles de communication ´economes en ´energie. ii. La comparaison Dans la litt´erature, un autre nom d´esignant les r´eseaux ad hoc de drones est utilis´e. Il s’agit du r´eseau de capteurs a´eriens (Aerial Sensor Network) comme dans [PZ09], dans [QKWS+10] ou dans [GHWL13]. Cependant, cette application est diff´erente des syst`emes multi-drones collaboratifs puisque c’est un r´eseau de capteurs mobiles ou les capteurs sont embarqu´es dans des drones. Ils collectent les donn´ees et les retransmettent vers un point de collecte, souvent au sol. La diff´erence entre ce syst`eme et les UAANET se r´esume en trois point (tableau 2.1). – Premi`erement, le rˆole des drones est diff´erent dans les deux cas d’utilisation puisque dans les r´eseaux de capteurs a´eriens, le drone a un rˆole passif, il n’est qu’un simple transporteur de capteur, alors que pour les UAANET les drones sont des agents du syst`eme, acteurs de leurs propres tˆaches et programm´es selon des fonctions complexes afin d’assurer la coordination du syst`eme et mˆeme de prendre des d´ecisions. Ainsi, ils ont leurs propres besoins d’information et de communication ; – Deuxi`emement, le sens du trafic est l’une des diff´erences entre les r´eseaux de capteurs a´eriens et les UAANET puisque dans le premier syst`eme le trafic passe uniquement des capteurs vers le point de collecte tandis que dans un UAANET le trafic peut passer dans tous les sens : entre2.1. TAXONOMIE DES MANET 23 les drones, des drones vers la station sol et de la station sol vers les drones, ce qui cr´ee un r´eseau plus dynamique et plus charg´e ; – Le troisi`eme point de diff´erence est la densit´e. En effet, la densit´e de nœuds dans les r´eseaux de capteurs traditionnel est beaucoup plus importante que la densit´e des drones dans les syst`emes multi-drones. Crit`eres R´eseau de capteur a´erien UAANET Rˆole des drones passif actif Sens du trafic un seul sens plusieurs sens Densit´e +++ + Energie ´ - - - - Table 2.1 – Comparaison entre r´eseau de capteurs a´eriens et un r´eseau ad hoc de drones pour les syst`emes multi-drones Comparaison VANET et UAANET Les UAANET sont une classe des MANET, elle h´erite de ses caract´eristiques de conceptions et diff`ere des autres classes par certaines sp´ecificit´es. En effet, en comparant UAANET avec VANET on trouve plusieurs diff´erences : – Mobilit´e et changement de topologie : contrairement aux v´ehicules qui se d´eplacent ensemble suivant des chemins pr´ed´etermin´es (des routes, des autoroutes ou des rails), les drones ont la libert´e de bouger librement selon leurs plans de vol et parfois selon l’´evolution de leurs tˆaches. Il est, donc, difficile de pr´edire les mouvements d’un drone puisque mˆeme avec un plan de vol pr´ed´etermin´e, il y a toujours des changements impr´evus `a cause des conditions de l’environnement ou de l’´evolution de la mission. En outre, chaque drone peut avoir son propre plan de vol modifiable selon les exigences de la mission ce qui cause le changement soudain, fr´equent et parfois rapide de la topologie du r´eseau entrainant la perturbation de connections `a cause de la rupture soudaine et la cr´eation des liens entre les a´eronefs [YKB11]. Ce crit`ere est la diff´erence majeure entre UAANET et les autres MANET ; – Altitude et ligne de vision : dans les VANET, les nœuds bougent proche du sol, pratiquement `a la mˆeme hauteur. Par cons´equent, il est difficile d’avoir une ligne de vision directe entre chaque ´emetteur et r´ecepteur. Par contre, puisque les drones volent `a une certaine altitude, il est possible d’avoir tr`es souvent une ligne de vision entre les a´eronefs24 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ [BST13] ; – Energie ´ : les UAANET, comme la majorit´e des classes de MANET, ont des sources d’´energie tr`es limit´ee, ainsi ces syst`emes n´ecessitent des protocoles de communications qui ´economisent de l’´energie afin d’augmenter leurs dur´ees de vie. Cette contrainte est valide uniquement pour les petit drones. Cependant, dans les VANET, le r´eseau ne n´ecessite pas des protocoles ´economisant de l’´energie puisque les communications entre les engins sont support´es par les batteries des v´ehicules, donc ils n’ont aucun probl`eme d’autonomie ; – Densit´e du r´eseau : il est possible de trouver une dizaine de voitures par route, et quelques centaines de v´ehicules dans les auto-routes ce qui explique que les VANET sont en g´en´eral des r´eseaux tr`es denses contrairement aux UAANET o`u le syst`eme multi-drone comporte uniquement quelques drones. Caract´eristique VANET UAANET Mobilit´e en groupe oui non Type du mouvement organis´e suivant des al´eatoire selon l’environnement routes pr´e-d´efinies et l’´evolution de la mission Vitesse rapide moins rapide Source d’´energie suffisante limit´ee Ligne de vision rarement plus souvent Densit´e du r´eseau importante faible Table 2.2 – Comparaison VANET et UAANET Une autre exigence des UAANET est le passage `a l’´echelle. En effet, la collaboration entre plusieurs drones permet d’am´eliorer les performances du syst`eme par rapport aux syst`emes mono-drone. Pour certaines missions, l’am´elioration des performances du syst`eme est li´ee au nombre d’a´eronefs impliqu´es. Par exemple, les auteurs dans [YCBE10] montrent que plus que le nombre de drones impliqu´es dans des missions de recherche et de sauvetage est grand, plus la mission est rapide. Une fois appliqu´e, ce syst`eme permettra aux utilisateurs de drones de cr´eer de nouvelles applications tr`es innovantes.2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 25 2.2 M´ecanismes pour les r´eseaux ad hoc de drones Pour les missions de drones collaboratifs, la communication entre les diff´erents engins joue un rˆole tr`es important afin d’assurer la coordination totale et garantir une meilleure performance. Le syst`eme de communication pour ce genre de mission doit faire face `a un autre d´efi, il s’agit d’acheminer chaque message `a sa destination avec la qualit´e demand´ee en termes de d´elais, de pertes et de d´ebit. Cette section pr´esente les techniques et les protocoles de communication d´ej`a utilis´es et propos´es pour assurer la communication dans les UAANET. 2.2.1 Niveau MAC Le r´eseau ad hoc est un syst`eme auto-organis´e d’engins connect´es `a travers des liaisons sans fil. Dans ce genre de r´eseaux, le canal de transmission radio est strictement contrˆol´e `a cause de la bande passante disponible limit´ee par rapport aux r´eseaux filaires. De plus, d’autres facteurs peuvent r´eduire la capacit´e de la bande passante comme l’interf´erence et la congestion sans oublier que le support de communication sans fil peut ˆetre sujet `a des erreurs lors de l’´emission des signaux. Pour cette raison, un contrˆole sp´ecial et strict par des protocoles de contrˆole d’acc`es au support (MAC pour Medium Access Control) est n´ecessaire. Le niveau MAC est responsable de certains m´ecanismes tr`es sp´ecifiques comme la cr´eation des trames, l’adressage, le contrˆole d’erreur et la r´esolution des conflits d’acc`es au canal entre les diff´erents nœuds du r´eseau. Cette section introduit les protocoles les plus utilis´es pour les MANET. Par la suite, elle ´etudie des proposition pour les UAANET. 2.2.1.1 Dans les MANET Malgr´e les sp´ecificit´es d’un UAANET par rapport aux autres classes des MANET, il partage avec eux plusieurs similitudes en ce qui concerne les exigences de conception puisque finalement ils sont tous des sous-classes des MANET. En effet, il est possible d’utiliser pour les UAANET la norme IEEE 802.11 (Wi-Fi). Le Wi-Fi est un standard de communication sans fil utilis´e pour les MANET puisque il peut op´erer en deux modes : le mode ad hoc (figure 2.2 (b)) et le mode centralis´e (figure 2.2 (a)) o`u les nœuds ´echangent des informations `a travers un ou plusieurs ´equipements centraux, appel´es point d’acc`es.26 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ (a) Communications centralisées (b) Communications Ad hoc Figure 2.2 – Communications ad hoc et communications centralis´ees Pour avoir acc`es au canal, deux fonctions peuvent ˆetre utilis´ees : la fonction de coordination par point PCF (Point Coordination Function) utilis´ee pour les r´eseaux centralis´ees et la fonction de coordination distribu´ee DCF (Distributed Coordination Function) qui est plus flexible puisqu’elle peut ˆetre utilis´ee sur n’importe quelle architecture de r´eseau. DCF est bas´ee sur le m´ecanisme CSMA/CA (Carrier Sense Multiple Access avec Collision Avoidance). Avec ce m´ecanisme, chaque nœud doit ´ecouter le canal avant d’´emettre afin d’´eviter les ´emissions simultan´ees de plusieurs stations ce qui conduit `a des collisions. Le CSMA/CA est tr`es ef- ficace dans le cas de voisins cach´es qui sont des nœuds du mˆeme r´eseau situ´es hors de port´ee radio de l’autre qui, par cons´equent, ne peuvent pas d´etecter leurs ´emissions. Ainsi, avant d’´emettre les donn´es, chaque ´emetteur et r´ecepteur utilisant le m´ecanisme CSMA/CA doivent ´echanger quelques messages afin d’informer les voisins de la transmission `a venir comme illustr´e par la figure 2.3. L’´emetteur doit initialiser le dialogue par l’envoi d’une requˆete d’´emission RTS (Request To Send) qui est une requˆete d’acc`es au canal. Recevant le message RTS, l’´emetteur r´epond avec le message CTS (Clear To Send) indiquant que le nœud est prˆet `a recevoir les donn´ees. Les autres voisins ´ecoutant ces deux messages ou l’un d’eux, selon leurs positions, d´ecalent leurs ´emissions puisqu’ils sont au courant que le canal est occup´e. Apr`es cet ´echange, les donn´ees peuvent ˆetre envoy´ees en toute s´ecurit´e sans aucun risque de collision. Malgr´e la popularit´e du standard 802.11 dans les r´eseaux ad hoc, il pr´esente quelques inconv´enients puisqu’il ne supporte pas la QdS. En effet, il ne comporte pas de m´ecanismes de diff´erentiation de service qui permettent de garantir la bande passante n´ecessaire pour les trafics les plus prioritaires.2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 27 Retarder l’émission Figure 2.3 – Le m´ecanisme CSMA/CA Ces m´ecanismes peuvent ˆetre essentiels dans un r´eseau comme UAANET o`u diff´erents types de messages sont ´echang´es. Il existe plusieurs versions du Wi-Fi avec des am´eliorations au niveau des performances. Tout a commenc´e avec le standard IEEE 802.11b qui fournit un d´ebit entre 5.5 et 11 Mbits/s. Cette version est tr`es utilis´ee pour les UAANET. En effet, elle a ´et´e utilis´ee dans [TBH04], [KLHH05] et [MMN+]. Une nouvelle am´elioration du Wi-Fi a donn´e naissance au standard IEEE 802.11a qui offre un d´ebit th´eorique ´egal `a 54 Mbits/s. Il a ´et´e utilis´e pour un r´eseau UAANET dans [CHKV06]. Plusieurs autres protocoles sont utilis´es pour les r´eseaux MANET comme, Bluetooth [Blu], HiperLAN [Kru92], ou encore MH-TRACE (Multi-Hop Time Reservation using Adaptive Control for Energy Efficiency) [TH05] pr´esent´e ult´erieurement. 2.2.1.2 Dans les UAANET Pour les communications des drones avec la station sol, d’autres standards peuvent ˆetre utilis´es comme le IEEE 802.15.4 , un des r´eseaux sans fil personnel WPAN (Wireless Personnal Area Network). Il d´efinit le niveau physique et MAC du Zigbee, utilis´e dans plusieurs applications du r´eseau de capteurs et aussi dans le syst`eme Paparazzi pour connecter le drone `a28 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ la station de contrˆole. L’inconv´enient majeur de ce protocole est qu’il a un d´ebit tr`es faible (250 kbits/s) par rapport au Wi-Fi. Par cons´equent, il ne supporte pas les trafics temps r´eel comme les donn´ees multim´edia malgr´e sa capacit´e `a ´etablir des connexions `a travers une longue distance. Dans [AD10a], un nouveau protocole MAC con¸cu pour les UAANET est propos´e, il est nomm´e AMUAV (Adaptive MAC protocol for UAV ). Ce protocole est con¸cu pour ˆetre utilis´e sur des drones ´equip´es par deux types d’antennes : directionnelle et omni-directionnelle. En effet, les antennes directionnelles ont plusieurs avantages par rapport aux antennes omnidirectionnelles puisqu’elles rayonnent avec une puissance d’´emission plus importante dans une seule direction ce qui permet d’optimiser l’utilisation de l’espace, d’am´eliorer la fiabilit´e de transmission des donn´ees, d’´etendre la port´ee de transmission ainsi que d’´economiser la consommation d’´energie [BJ12]. Le rˆole d’AMUAV est d’organiser l’utilisation des antennes selon le type des paquets envoy´es : les paquets de contrˆole (RTS, CTS et ACK) sont ´emis `a travers l’antenne omnidirectionnelle alors que les paquets de donn´ees sont envoy´es par l’antenne directionnelle. Malgr´e l’am´elioration qu’offre cette proposition pour le d´ebit de transmission, le d´elai et le taux d’erreur dans les syst`emes multi-drones, elle reste couteuse puisque basiquement les drones sont ´equip´es d’un seul type d’antenne. Une autre proposition pour utiliser des antennes directionnelles est d´etaill´ee dans [TB13], nomm´ee LODMAC (Location Oriented Directional MAC protocol). Cette proposition est bas´ee sur la d´ecouverte des voisins et elle est con¸cue pour ˆetre utilis´ee dans des r´eseaux de drones avec une plateforme `a haute altitude HAP (High altitude platform) qui est un a´eronef quasistationnaire `a une altitude stratosph´erique (jusqu’`a 25 km) permettant de fournir des services de communication ou de supervision pour une dur´ee de quelques jours `a quelques semaines. Par rapport au syst`emes au sol ou satellite, un HAP a l’avantage d’ˆetre facile `a d´eployer et d’avoir une large couverture permettant une connexion avec une ligne de vision directe. La proposition de [TB13] est ´etudi´ee dans le sc´enario dans lequel le HAP survole un r´eseau de drones pour pouvoir communiquer directement avec chaque a´eronef du r´eseau qui ´echange du trafic avec les autres drones et la station de contrˆole au sol `a travers un r´eseau ad hoc (figure 2.4). LODMAC, est adapt´e `a ce sc´enario. En effet, il n´ecessite trois antennes directionnelles pour chaque drone. La premi`ere est utilis´ee pour la d´ecouverte des voisins `a travers les communications avec le HAP. La deuxi`eme est utilis´ee pour ´echanger des message de contrˆole comme RTS ou CTS. La troisi`eme est utilis´ee pour les ´emissions de donn´ees. Les trois antennes sont synchronis´ees et g´er´ees par le protocole LODMAC propos´e.2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 29 Figure 2.4 – Le sc´enario de LODMAC Dans [CYL+13], un autre protocole MAC pour les UAANET bas´e sur le principe des transmissions sans fil en duplex int´egral (Full-duplex) est pr´esent´e. En effet, les r´eceptions et les ´emissions dans les liaisons sans fil ne peuvent pas ˆetre simultan´ees, soit l’une, soit l’autre. En plus, la r´eception des signaux de diff´erents ´emetteurs ne permet pas de recevoir correctement les messages `a cause des collisions et d’interf´erence. Cependant, des recherches ont rendu possible la r´eception de plusieurs signaux de diff´erents ´emetteurs MPR (Multi-packet reception) en utilisant le standard IEEE 802.15.4 [CJS+10], [LZH12]. Le principe du protocole MAC propos´e dans [CYL+13] est de permettre aux drones d’avoir des communications sans fil en duplex int´egral et en MPR afin d’´echanger fr´equemment des messages de contrˆole contenant des informations sur l’´etat du canal CSI (Channel State Information). Les simulations ont montr´e l’efficacit´e de cette proposition sur les performances du r´eseau. Pour notre cas, Nous devons choisir un protocole MAC qui ne doit pas ˆetre couteux puisque le syst`eme Paparazzi est un syst`eme libre utilisant des mat´eriels pas couteux. De plus, la capacit´e de son canal doit satisfaire les besoins du trafic `a ´echanger. Pour ces raisons, nous optons pour le Wi-Fi. La section suivante pr´esente les protocoles de routage propos´es pour les30 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ UAANET. 2.2.2 Niveau routage Afin d’acheminer une information entre deux drones distants, un ou plusieurs nœuds interm´ediaires dans le r´eseau coop`erent entre eux par la retransmission des donn´ees jusqu’`a leurs destinations. En effet, les protocoles de routage sont responsables de choisir la meilleure route vers la destination qui minimise les collisions, les interf´erences, ou encore le d´elai. Il existe une grande diversit´e de protocoles de routage. Plusieurs protocoles se basent sur les adresses IP pour d´esigner les nœuds alors que d’autres se basent sur leurs positions g´eographiques. Diff´erentes taxonomies sont propos´ees pour classifier les protocoles de routage comme dans [LZH+06]. La classification traditionnelle des protocoles de routage est bas´ee sur la mani`ere de d´ecouvrir la topologie du r´eseau. Elle d´efinit plusieurs classes, les plus populaires sont les r´eactifs, les pro-actifs, les hybrides et les g´eographiques. Les protocoles pr´esent´es dans cette section sont propos´es pour les r´eseaux ad hoc de drones. 2.2.2.1 Protocoles de routage utilisant l’adressage IP i. Les protocoles de routage r´eactifs Ceux sont les protocoles qui ´etablissent des routes uniquement `a la demande. Un nœud d´esirant communiquer avec un autre, cherche une route dans sa table de routage. S’il en trouve une, il passe directement `a l’´emission, sinon il initie une phase de d´ecouverte de route. Une route vers une destination est maintenue jusqu’`a ce que la destination devienne inaccessible ou jusqu’`a ce que la route soit expir´ee, c’est `a dire elle n’est plus utilis´ee depuis une certaine p´eriode. Le principal inconv´enient de ce type de protocole est leur r´eaction lente face au changement de topologie. AODV AODV (Ad hoc On-Demand Distance Vector ) [PR99a] est un protocole de routage r´eactif. Il utilise trois messages de contrˆole pour d´eterminer les routes. – RREQ (Route Request) : la requˆete envoy´ee pour demander des itin´eraires ; – RREP (Route Reply) : la r´eponse aux RREQ ; – RERR (Route Error ) : le message d’erreur utilis´e pour signaler que une route n’est plus disponible.2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 31 AODV-DTN AODV est la base de plusieurs autres protocoles con¸cus pour diff´erentes classes de r´eseau y compris les UAANET. En effet, dans [LPG06], les auteurs pr´esentent une combinaison de AODV et un protocole de routage tol´erant au d´elai DTN (Delay Tolerant Network) pour un syst`eme hybride drones et nœuds au sol. Un r´eseau DTN est un r´eseau qui supporte les anomalies temporaires de communication et les latences de plusieurs minutes. Son principe est de stocker et transmettre (Store and Forward). En effet, les routeurs, dans un r´eseau DTN, se permettent de garder les paquets temporairement quand ils ne trouvent pas de solution pour les router, jusqu’`a l’´etablissement d’une nouvelle route. Ces r´eseaux permettent de limiter le taux de perte du trafic ´echang´e. AODV-DTN est utilis´e dans des syst`emes ayant plusieurs drones qui assurent la connexion entre des groupes disjoints de nœuds mobiles au sol. Sa strat´egie de routage est d’utiliser AODV comme le protocole sous-jacent avec un l´eger support du DTN afin de cr´eer un protocole coh´erent adapt´e `a ce genre de syst`emes. En effet, AODV est utilis´e au niveau sol pour router les messages des nœuds mobiles des diff´erents groupes au sol alors que le routage DTN est appliqu´e entre les drones qui se permettent de garder les paquets jusqu’`a l’´etablissement des routes vers les destinations suite aux mouvements des a´eronefs. Ce protocole est d´edi´e aux syst`emes qui tol`erent les d´elais, ainsi, il ne peut pas ˆetre utilis´e pour ´echanger des trafics temps-r´eel (comme les flux interactifs). Time-slotted AODV Dans [FHS07], une autre proposition de protocole bas´ee sur AODV est pr´esent´ee, (A Time-Slotted On-Demand Routing Protocol) d´efinie pour les r´eseaux de drones. Ce protocole a pour but l’augmentation de la fiabilit´e des communications puisqu’il est propos´e pour ˆetre utilis´e avec la fonctionnalit´e complexe de formation de vol autonome. Cette fonctionnalit´e n´ecessite une collaboration entre les drones par l’´echange des donn´ees entre eux. Time-slotted AODV permet d’affecter des cr´eneaux temporels pour chaque nœud afin d’´emettre ses paquets vers son voisin. L’´evaluation de ce protocole montre que, par rapport `a AODV, il permet de r´eduire le taux de perte des paquets dues aux collisions ce qui augmente la fiabilit´e du syst`eme. ii. Protocoles de routage pro-actifs Contrairement aux protocoles r´eactifs, les protocoles pro-actifs d´eterminent les routes p´eriodiquement et ind´ependamment du trafic. Ce type de protocole ´evalue les routes au sein du r´eseau d’une mani`ere continue en maintenant ses32 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ donn´ees concernant les itin´eraires vers chaque nœud du r´eseau, coh´erentes et `a jour. Par cons´equent, le chemin de n’importe quel paquet `a transmettre est d´ej`a connu et peut ˆetre utilis´e imm´ediatement. En effet, tous les nœuds stockent des informations de routage qui sont mises `a jour `a chaque changement dans la topologie du r´eseau. Le principal inconv´enient de cette cat´egorie est la quantit´e importante d’informations utilis´ees pour la maintenance des tables des routages. OLSR OLSR (Optimized Link State Routing Protocol) [MCL+01] est un exemple des protocoles pro-actif. Il maintient les routes dans une table mise `a jour `a travers l’´emission p´eriodique des paquets Hello. En effet, OLSR utilise deux types de messages : – le message Hello : utilis´e pour d´etecter les voisins directs, situ´es `a la port´ee de communication de l’´emetteur. Il contient la liste des voisins connus. Ce message est p´eriodiquement retransmis vers les voisins des voisins (voisins `a deux-sauts) ; – le message de contrˆole de la topologie est utilis´e p´eriodiquement pour la maintenance des informations du syst`eme r´ecolt´ees. Cet ´echange permet `a chaque nœud de calculer des routes vers chaque destination bien qu’il surcharge le r´eseau. Afin de r´eduire l’interf´erence caus´ee par ce fonctionnement, la m´ethode MPR (Multi-Point Relays) est utilis´ee. Les MPRs sont des nœuds s´electionn´es pour retransmettre les messages vers leurs voisins afin de r´eduire le nombre de retransmission dans le r´eseau. En plus ils ont un rˆole principal dans le routage et la s´election des chemins entre chaque source et sa destination. En g´en´eral, les MPRs sont les voisins `a un saut qui couvrent le maximum des voisins `a deux sauts (figure 2.5). DOLSR Comme AODV, OLSR est la base d’autres propositions comme DOLSR (Directional Optimized Link State Routing) pr´esent´e dans [AD10b]. Ce protocole est con¸cu pour ˆetre utilis´e avec des antennes directionnelles et en intercouches (cross layer ). La technique d’inter-couches permet de communiquer entre deux couches qui ne sont pas voisines ainsi que de lire et de contrˆoler les param`etres des autres couches. Par cons´equent, elle permet de concevoir conjointement plusieurs protocoles de diff´erents niveaux. Cette approche est consid´er´ee comme une m´ethode efficace pour am´eliorer les performances d’un r´eseau sans fil. Le but de DOLSR est de diminuer le nombre des MPRs afin d’am´eliorer2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 33 Figure 2.5 – Les MPRs les performances des r´eseaux ad hoc entre les drones en termes de d´elais de bout en bout, trafic de contrˆole et d’interf´erence. Nous remarquons que la majorit´e des protocoles de routage r´eactifs et proactifs propos´es pour les UAANET sont des descendants des deux protocoles AODV et OLSR. Cela est caus´e par le nombre limit´e des ´etudes r´ealis´ees pour cette classe de r´eseau jusqu’`a pr´esent. 2.2.2.2 Protocoles de routage g´eographiques Les protocoles de routage g´eographiques sont des protocoles qui font r´ef´erences aux nœuds dans le r´eseau par leurs postions g´eographiques et non pas par leurs adresses IP. Ces positions sont suppos´ees ˆetre connues par tous les nœuds grˆace `a un ´echange p´eriodique d’informations entre eux permettant de cr´eer des tables de localisation des voisins. Par cons´equent, un ´emetteur peut choisir un relais, le plus proche de la destination, pour acheminer les paquets en se basant sur des crit`eres g´eographiques comme la distance euclidienne (dans la transmission g´eographique gourmande greedy geographic forwarding). L’application des protocoles g´eographiques en r´ealit´e semble ˆetre complexe puisque c’est compliqu´e de connaitre les positions g´eographiques de34 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ tous les autres nœuds du r´eseau par un ´echange de donn´ees ou mˆeme par l’utilisation d’un serveur centralis´e responsable de diffuser des donn´ees de localisions. En r´ealit´e, dans un r´eseau mobile, il est difficile de garantir que tous les nœuds restent `a l’int´erieur de la port´ee radio du serveur ou encore qu’ils re¸coivent tous les ´echanges des autres voisins sans oublier la complexit´e du calcul de la position g´eographique. GPSR GPSR (Greedy Perimeter Stateless Routing) [KK00] est un exemple de ces protocoles. Il permet de marquer les paquets avec la positon g´eographique de leurs destinations et par la suite chaque nœud ´emetteur peut faire un choix optimal de son prochain saut en se basant sur la m´ethode gloutonne (greedy) : le voisin ayant la position g´eographique la plus proche de celle de la destination finale du paquet comme dans la figure 2.6. Emetteur Récepteur Nœuds intermédiaires Distance entre le Récepteur et le nœud intermédiaire Figure 2.6 – La transmission g´eographique gloutonne Dans le cas o`u un nœud ´echoue `a trouver un relais optimal vers la destination, GPSR se r´etablit par le routage autour du p´erim`etre de la r´egion. Dans [HBM07], une ´etude comparative par simulation de trois protocoles de routage : un g´eographique (GPSR), un r´eactif (AODV) et un pro-actif (OLSR), dans le contexte d’un r´eseau ad hoc de drones, montre que GPSR offre de meilleures performances que les autres protocoles en termes de taux de livraison et de d´elai des paquets ´echang´es. En utilisant GPSR, les auteurs de [LMB09] proposent de b´en´eficier des ´echanges des positions g´eographiques r´ealis´es par le protocole de routage2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 35 pour am´eliorer les performances de la mission de recherche. Ce protocole, nomm´e USMP (UAV Search Mission Protocol), se base sur les informations g´eographiques de routage pour r´esoudre le conflit entre les trajectoires des a´eronefs. USMP permet d’am´eliorer l’efficacit´e de la recherche en terme de couverture et de minimiser les changements de direction des drones. GPMOR Dans [LSLY12], un nouveau protocole de routage g´eographique a ´et´e propos´e pour les r´eseaux ad hoc de drones hautement dynamique. Contrairement `a la m´ethode classique qui se base sur les informations de localisation des nœuds, cette proposition, nomm´ee GPMOR (Geographic Position Mobility Oriented Routing), essaye en plus de pr´edire le mouvement des drones qui bougent suivant le mod`ele de mobilit´e Gauss-Markov [CBD02]. En effet, chaque drone est suppos´e conscient de sa localisation g´eographique grˆace au syst`eme GPS. Il ´echange p´eriodiquement sa position avec ses voisins directs uniquement. Etant donn´e que la p´eriode entre deux ´echanges est fix´ee ´ `a quelques secondes afin de diminuer l’interf´erence, les a´eronefs essayent de pr´edire le mouvement de leurs voisins et de d´efinir leurs nouvelles positions durant cet intervalle de temps. Par cons´equent, il est possible de s´electionner le relais optimal vers la destination qui peut, elle mˆeme, changer de position entre temps. La comparaison de ce protocole avec d’autres protocoles de routages g´eographiques comme GPSR montre que GPMOR est meilleur en termes de latence et de taux de livraison de paquets puisque le syst`eme d’adressage utilis´e pour router les paquets (les positions g´eographiques) est plus fiable. LAROD Un autre protocole de routage g´eographique est propos´e dans [KNT08]. Ce protocole, nomm´e LAROD (Location Aware Routing for Opportunistic Delay Tolerant), est un protocole de routage tol´erant au d´elai. LAROD a ´et´e ´evalu´e par simulation dans le contexte d’un sc´enario r´ealiste d’une mission de reconnaissance collaborative. Il a pour but la d´ecouverte du chemin le plus court vers chaque destination en choisissant un ou plusieurs relais. En effet, l’ensemble des voisins qui garantissent un minimum de progr`es vers la destination sont des relais potentiels. Chaque drone ´emetteur diffuse les paquets vers ses relais potentiels qui d´eclenchent des minuteurs de dur´ees choisies al´eatoirement. Seul le premier a´eronef ayant le minuteur expir´e peut rediffuser le paquet vers ses voisins. Les autres, ´ecoutant la transmission, retirent leurs copies du paquet. Dans le cas o`u un drone n’arrive pas `a trouver un relais permettant de garantir un progr`es36 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ vers le drone cible, il r´eagit selon le principe DTN d´efini pr´ec´edemment. Les paquets restent stock´es temporairement jusqu’`a ce que la mobilit´e de l’a´eronef cr´ee d’autres chemins. Une fois que le paquet a atteint sa destination, celle-ci r´epond par un acquittement afin d’empˆecher les transmissions ind´efinies des paquets entre les nœuds. Ce protocole n’est pas robuste puisque en cas o`u un nœud ´echoue pour une raison quelconque, tous les paquets stock´es dans ce nœud vont ˆetre perdus `a moins d’avoir d’autres copies dupliqu´ees dans d’autres nœuds. 2.2.2.3 Protocoles de routage hybrides Les protocoles de routage hybrides combinent diff´erents types de m´ecanismes. Ils peuvent b´en´eficier ainsi des avantages de chacun. RGR L’article [SSHK+11] pr´esente une ´etude de performances de GPSR dans le contexte du r´eseau ad hoc de drones. Cette ´etude montre que dans le cas d’un r´eseau ou les a´eronefs sont dispers´es, GPSR rencontre des probl`emes de fiabilit´e. Pour cette raison, les mˆemes auteurs ont propos´e dans [Shi11] un protocole de routage hybride comme une solution pour la d´efaillance de GPSR dans le contexte de r´eseaux de drones coop´eratifs. Il s’agit d’une combinaison entre le principe de routage g´eographique gourmand (greedy geographic forwarding) et le protocole de routage r´eactif AODV. Ce protocole est nomm´e RGR (Reactive-Greedy-Reactive routing protocol). Chaque drone ´emetteur ´etablit une route vers la destination en se basant sur la m´ethode r´eactive de AODV. En cas o`u un nœud de cette route ne parvient pas `a trouver un chemin `a cause de la mobilit´e, il passe `a la m´ethode g´eographique (figure 2.7). Le paquet est achemin´e ainsi vers le voisin le plus proche g´eographiquement de la destination finale. Le passage de l’adressage IP `a l’adressage g´eographique semble compliqu´e puisque chaque cat´egorie n´ecessite un ´echange sp´ecifique de donn´ees et de diff´erents m´ecanismes de traitement et de calcul. 2.2.2.4 Protocole de routage hi´erarchique Un autre type de protocoles qui peut ˆetre efficace pour les UAANET est la famille des protocoles hi´erarchiques qui permet d’am´eliorer le passage `a l’´echelle dans le r´eseau. Ce type de protocole se base sur la r´epartition des nœuds en des groupes (cluster ) selon des crit`eres comme la mission, l’altitude ou la zone g´eographique. Chaque groupe ´elit un nœud comme tˆete de groupe2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 37 Y a -t-il une route réactive ? Mécanise Réactif (AODV) Greedy Forwording (1 saut) Oui Non Destination Prochain Saut Figure 2.7 – M´ecanisme du protocole RGR TG (Cluster Head) qui doit ˆetre connect´e directement aux autres membres du groupe et il est responsable de la communication avec les autres groupes `a travers leurs TGs (figure 2.8) Ce genre de protocole peut ˆetre hybride en combinant diff´erents types de m´ecanismes pour router les informations `a l’int´erieur d’un groupe (entre les nœuds du mˆeme groupe) et `a l’ext´erieur des groupes (entre les diff´erents TGs). EHSR [XHG+01] (The Extended Hierarchical State Routing) est un exemple de protocole hi´erarchique hybride. Il est utilis´e dans des sc´enarios o`u les drones sont des relais pour des nœuds terrestres (figure 2.9). Dans ce cas les nœuds sont group´es selon leurs altitudes : les drones forment un premier groupe et les nœuds terrestres forment les autres groupes comme pr´esent´e dans la figure 2.9. Deux m´ethodes de routage sont utilis´ees pour router les paquets `a l’int´erieur et `a l’ext´erieur des groupes. En effet, pour communiquer entre les diff´erents groupes, le m´ecanisme de routage de vecteur de distance est utilis´e alors que pour les communications locales, inter-groupe, le routage `a ´etat de lien est appliqu´e. La diff´erence entre le routage de vecteur de distance et le routage `a ´etat de lien est que le premier choisi la meilleure route en fonction de la distance qui d´efinie le nombre de sauts vers la destination, alors que le deuxi`eme s´electionne sa meilleure route en se basant sur la qualit´e de chaque lien sur le chemin. Ces deux types pr´esentent une autre classification de protocoles de routage bas´ee sur la mani`ere de s´electionner la meilleure route.38 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ Groupe Tête de groupe Figure 2.8 – M´ethode de groupge Discussion Comme pr´esent´e dans le tableau 2.3, chaque protocole de routage ´etudi´e dans cette section a une sp´ecificit´e. En effet, la majorit´e, est ´etudi´ee pour ˆetre appliqu´ee dans des conditions sp´ecifiques comme EHSR ou AODV-DTN qui n´ecessitent une architecture hybride entre des drones et d’autres groupes de nœuds au sol, ou encore DOLSR qui n´ecessite deux types d’antenne. De plus, l’application r´eelle de certains autres protocoles semble tr`es complexe comme RGR qui combine deux types d’adressage ou GPMOR qui se base sur la pr´ediction des mouvements des nœuds selon la loi de GaussMarkov. Ce protocole n’est pas applicable avec d’autres mod`ele de mobilit´e al´eatoire. De plus, dans la r´ealit´e, les mouvements de drones peuvent ˆetre diff´erents du mod`ele de mobilit´e Gauss-Markov. Dans notre ´etude, nous avons besoin d’un protocole de routage qui consomme le minimum de bande passante et qui n’utilise pas des fonctionnalit´es complexes puisque nous envisageons d’impl´ementer notre architecture sur des vrais drones Paparazzi. Par cons´equent, AODV est le protocole appropri´e pour nos exigences puisqu’il est r´eactif et impl´ement´e sur Linux ainsi2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 39 Figure 2.9 – Architecture hybride utilis´ee avec le protocole EHSR que la majorit´e des simulateurs r´eseau. Nous optons pour l’impl´ementation AODV-UU [GSB09] car elle est disponible pour la simulation ainsi que pour le syst`eme Linux. Cette section a pr´esent´e les protocoles de routage ´etudi´es pour les r´eseaux ad hoc de drones. La section suivante se focalise sur la qualit´e de service, l’une des exigences des UAANET. 2.2.3 M´ecanismes de gestion de la QdS La qualit´e de service (QdS) est une ´evaluation du comportement du r´eseau en terme des performances de services offerts comme le d´elai de bout en bout, le taux de perte, le d´ebit ou encore la variation de d´elai (la gigue). Elle repr´esente les exigences du service qui doivent ˆetre garanties par le r´eseau. De plus, avec un grand nombre d’utilisateurs qui utilisent une vari´et´e d’applications, des m´ecanismes de gestion de la QdS permettent de diff´erentier les services et d’am´eliorer le comportement du r´eseau selon les besoins de chaque application. Par exemple, les applications temps r´eel comme le trafic interactif et les vid´eos conf´erences n´ecessitent plus de d´ebit et moins de d´elai que d’autre type d’applications comme l’´echange d’e-mail ou le transfert de fichiers. Dans les r´eseaux ad hoc de drones, la QdS est un ´el´ement primordial pour garantir de meilleures performances des missions puisque au cours d’une op´eration, les types de messages ´echang´es entre les drones diff`erent selon le rˆole que joue l’a´eronef dans l’´evolution de la situation et selon les ´equipements40 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ Classe Protocole R´ef´erence Commentaires R´eactive AODV [PR99a] Impl´ementation r´eelle AODV-DTN [LPG06] Architecture de r´eseau hybride Time-slotted AODV [FHS07] Solution fiable pour missions de formation de vol Pro-active OLSR [MCL+01] Impl´ementation r´eelle DOLSR [AD10b] Utilisation de deux types d’antennes G´eographique GPSR [KK00] R´ealisation complexe GPMOR [LSLY12] Applicatiopn avec le mod`ele de mobilit´e Gauss-Markov LAROD [KNT08] Protocole non robuste pour les op´erations de recherche et reconnaissance Hybride RGR [Shi11] Complexit´e de la combinaison entre adressage IP et g´eographique EHSR [XHG+01] Architecture de r´eseaux hybride Table 2.3 – Les protocoles de routage pour les UAANET et les capteurs qui y sont embarqu´es. En effet, les drones ´equip´es par des cam´eras, qui r´ealisent des tˆaches de surveillance ou de recherche, ´emettant du trafic temps r´eel n´ecessitent plus de d´ebit et moins de d´elai que les drones ´equip´es par des thermom`etres qui sont sensibles aux pertes et demandent un maximum de fiabilit´e. Par cons´equent, le syst`eme de communication doit ˆetre capable de respecter les exigences de chaque message et de chaque service dans le r´eseau et de partager ´equitablement les ressources entre les drones. La diff´erentiation du trafic et l’assurance de la QdS sont les responsabilit´es des diff´erents niveaux du mod`ele OSI. Cette section pr´esente diff´erents m´ecanismes de gestion de la QdS ´etudi´es pour les r´eseaux filaires, MANET et UAANET 2.2.3.1 Dans les r´eseaux filaires i. Couche transport Plusieurs ´etudes ont ´et´e r´ealis´ees autour de la cr´eation de protocoles et de m´ecanismes qui permettent d’am´eliorer la QdS au niveau transport. Le protocole TCP (Transmission Control Protocol) [TCP81], est un exemple de2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 41 ces protocoles. Il a ´et´e con¸cu pour garantir une communication de bout en bout fiable. Le protocole XTP (Xpress Transfer Protocol) [XTP92] est un autre protocole de transmission fiable con¸cu pour les applications temps-r´eel et `a haut-d´ebit comme le transfert du trafic interactif. Il fournit diff´erentes fonctionnalit´es comme le contrˆole de trafic, le contrˆole de d´ebit, le contrˆole d’erreur et l’ordonnancement des messages `a priorit´es diff´erentes. De plus, le protocole SCTP (Stream Control Transmission Protocol) [RS07] est un protocole de transmission fiable con¸cu pour transporter la signalisation du r´eseau t´el´ephonique commut´e (Public Switched Telephone Network (PSTN)) sur IP. Il offre la fiabilit´e, la remise en ordre des s´equences, et le contrˆole de congestion. Il existe aussi un protocole de transmission pour les trafics temps-r´eel qui ont des contraintes sur les d´elais. Il s’agit du protocole RTP (Real-time Transport Protocol). Il est utilis´e principalement pour les transmissions voix sur IP ou vid´eo conf´erence. RTP fonctionne en mode unidirectionnel ce qui permet de limiter la consommation des ressources r´eseau dans le but d’augmenter consid´erablement le d´ebit obtenu par les applications utilisant ce protocole. ii. Couche r´eseau Afin de pouvoir cr´eer diff´erents types de service autre que le service au mieux (Best-effort), qui est le service basique du protocole internet (IP) permettant de transporter les donn´ees sans aucune garantie sur la fiabilit´e ou sur les performances du trafic, deux approches sont utilis´ees : l’ing´enierie de tra- fic et la gestion de files d’attentes. L’ing´enierie de trafic comprend diff´erentes m´ethodes et techniques pour optimiser les ressources et g´erer le trafic dans le r´eseau en choisissant, vers chaque destination, la meilleure route qui garantie la QdS demand´ee par le service. Le protocole MPLS [RAV01] (Multi-Protocol Label Switching ) est l’un des protocoles utilis´es dans l’ing´enierie de trafic. Il combine l’intelligence du routage IP avec les performances de la commutation. MPLS permet de cr´eer un chemin d’acc`es sp´ecifique pour chaque s´equence de donn´ees identifi´ee par une ´etiquette (label) coll´ee sur chaque paquet. Cette m´ethode permet d’´economiser ainsi le temps n´ecessaire pour un routeur afin de rechercher l’adresse du nœud suivant sur la route. iii. IntServ et DiffServ Pour pouvoir diff´erencier les services, il faut utiliser des m´ecanismes de gestion des files d’attente pour chaque paquet. Ces m´ecanismes sont : la mise en file d’attente (Queuing) qui g`ere le temps d’attente dans la file et l’ordonnancement (Scheduling) qui est le processus permettant de donner42 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ acc`es aux ressources. La m´ethode FIFO (premier entr´e premier servi First In First Out) est l’algorithme le plus simple de gestion de file d’attente. Il existe des mod`eles de fournitures de QdS combinant plusieurs mecansimes de gestion de QdS dans le but de diff´erencier le service et am´eliorer la QdS pour chaque classe comme IntServ [BCS94] (Integrated Services) et Diff- Serv [BBC+98] (Differentiated Services). Ces deux structures ont ´et´e standardis´ees au sein de l’IETF (Internet Engineering Task Force) 1 . IntServ est la premi`ere architecture propos´ee pour am´eliorer la QdS pour l’Internet. Elle permet de g´erer des flux entiers de donn´ees et a pour but de garantir les besoins du trafic temps-r´eel. Ces flux, appel´es micro-flux, sont identifi´es par le protocole utilis´e (UDP ou TCP) et leurs adresses et num´eros de port source et destination. Avec IntServ, les ressources sont r´eserv´ees au niveau de chaque routeur sur le chemin pour chaque flux de trafic afin de fournir une garantie de bout en bout. La r´eservation de ressource est assur´ee par une signalisation de bout en bout g´er´ee par le protocole RSVP [BEB+97] (Resources Setup Reservation Protocol). RSVP et IntServ sont bas´es sur un m´ecanisme (Soft State). Ce m´ecanisme consiste `a garder une id´ee sur l’´etat du r´eseau au niveau de chaque routeur qui g`ere un contrˆoleur d’admission permettant d’accepter ou de rejeter la demande du service selon les donn´ees sur l’´etat actuel du r´eseau. DiffServ est un mod`ele de QdS qui permet de r´eserver les ressources `a l’avance sans ´echanger de signalisation en rempla¸cant la granularit´e par flux d’IntServ par la granularit´e par agr´egats. En effet, DiffServ d´efinit plusieurs cat´egories de classe de service. Chaque classe de service d´efinie sa fa¸con de traitement demand´ee en terme d’un ensemble de param`etres (bande passante, d´elai, etc) pour le domaine DiffServ. Le domaine DiffServ comporte deux types de routeurs : – Les routeurs d’extr´emit´e (Edge Routers) : ils sont situ´es sur les bords du domaine (les premiers `a entrer en contact avec les flux), et ils sont charg´es de traitements complexes comme la classification et le marquage ainsi que le mise en forme du trafic ; – Les routeurs de cœur (Core Routers) : les routeurs interm´ediaires dans le r´eseau. Ils ont un rˆole plus simple qui consiste `a acheminer des paquets selon leurs marquages. Les routeurs traitent chaque paquet selon son marquage. Pour cela ils utilisent une vari´et´e de strat´egies de planification et de gestion de file d’attente 1. http ://www.ietf.org/2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 43 au cours de l’acheminement des paquets vers leurs destinations d´efinissant le comportement PHB (Per Hop Behavior ). Le PHB propose trois classes de service : – Expedited Forwarding (EF) : la classe de trafics qui ont des contraintes sur les d´elais. Elle est id´eale pour les flux interactifs ; – Assured Forwarding (AG) : l’ensemble de trafics qui exigent une garantie sur la livraison ; – Le trafic ordinaire ou Best-effort. 2.2.3.2 Dans les MANET Dans les MANET, la mission de garantir la QdS demand´ee est plus d´elicate que dans les r´eseaux filaires `a cause des ressources limit´ees du canal sans fil et la courte dur´ee de vie du lien entre les nœuds. En effet, `a cause de la mobilit´e des nœuds, la topologie du r´eseau change fr´equemment g´en´erant la cr´eation de nouveau liens et la rupture d’autres soudainement. Ce ph´enom`ene peut ˆetre la cause d’une fluctuation du d´elai de transmission. De plus, les nœuds dans un MANET agissent en mˆeme temps comme un terminal sans fil ordinaire qui peut recevoir et ´emettre des messages et comme un routeur en retransmettant les messages des autres ´emetteurs vers ses voisins. Pour cela, ce genre de r´eseau est plus complexe qu’un simple r´eseau filaire notamment en terme de congestion. Par cons´equent, les m´ecanismes de fourniture de la QdS con¸cus pour les r´eseaux filaires comme IntServ ou DiffServ ne sont pas adapt´es aux MANET. Plusieurs propositions ont ´et´e ´etudi´ees afin d’am´eliorer la QdS dans ce genre de r´eseau dans les diff´erents niveaux. Les protocoles pr´esent´es dans cette section sont propos´es pour les MANET en g´en´eral. Comme par exemple l’´etude r´ealis´ee dans [AHAN05] au niveau transport. Elle permet de r´esumer une vari´et´e d’´etudes r´ealis´ees pour am´eliorer les performances du protocole TCP dans les MANET. Elles proposent une solution des probl`emes comme l’incapacit´e de TCP `a connaitre la cause de la perte qui peut ˆetre un probl`eme au niveau de la route, ou un probl`eme de congestion du r´eseau. i. Niveau r´eseau Un protocole de routage `a QdS a pour but l’am´elioration des performances du r´eseau. Il permet de d´efinir les routes en se basant sur des crit`eres et des informations qui concernent la QdS (le d´ebit ou le d´elai) comme dans [LCT+05] o`u un protocole de routage hybride appel´e MAR (Mobile Agent Routing) est propos´e. Il fournit une connectivit´e fiable dans des sc´enarios militaires en choisissant la meilleure route vers la destination en terme de la44 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ QdS. Le probl`eme majeur de ces protocoles est la consommation de la bande passante et l’interf´erence caus´ee par l’´echange des informations sur l’´etat des routes. Ces ´echanges ont pour but de maintenir une vision mise `a jour de la qualit´e des liens dans le r´eseau qui change tr`es souvent `a cause du dynamisme des nœuds. De plus, le niveau r´eseau permet de g´erer les files d’attente dans le but de respecter les priorit´es entre les paquets ´emis. Ce paragraphe pr´esente des protocoles de routage permettant d’´etablir des routes en se basant sur des donn´ees sur la qualit´e des liens afin d’am´eliorer la QdS dans les MANET. BPQMRP Un protocole de routage permettant d’am´eliorer la QdS est pr´esent´e dans [QAKQ11] nomm´e PBQMRP (Position Based QoS Multi-cast Routing Protocol). Il s’agit d’un protocole de routage multi-cast qui permet de s´electionner la route qui offre la meilleure QdS en termes de bande passante et du d´elai d’un nœud source vers un ensemble de destinations. BPQMRP se base sur la m´ethode de r´epartition de nœuds en groupe clustering (figure 2.8) dans des zones hexagonales de mˆemes dimensions. L’´evaluation des performances de ce protocole montre qu’il permet d’am´eliorer le taux de perte dans le r´eseau et de diminuer l’interf´erence caus´ee par les messages de contrˆole. AOMDV Dans le mˆeme contexte, [MD01] pr´esente une autre proposition de protocole de routage dans le but d’am´eliorer la QdS du r´eseau. Il s’appelle AOMDV (Ad hoc Multi-path Distance Vector ) et il propose une modification du protocole r´eactif AODV. Il s’adapte aux r´eseaux dynamiques o`u les liens entre les nœuds ont une faible dur´ee de vie causant les ruptures fr´equentes et soudaines des routes. AOMDV est caract´eris´e par une r´ecup´eration rapide et efficace face `a la rupture brusque des liens et au changement rapide de la topologie puisque il permet de trouver plusieurs routes vers la destination au cours de la phase d’´etablissement de routes et contrairement `a AODV, il garde toutes ces donn´ees dans sa table de routage. Par la suite, AOMDV trouve rapidement une alternative de la route ´echou´ee vers la destination et permet de parvenir `a une am´elioration remarquable en terme de d´elai de bout en bout et de r´eduire l’interf´erence caus´ee par les messages de contrˆole de routage. CEDAR De mˆeme, CEDAR [SSB99] (Core-Extraction Distributed Ad hoc Routing)2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 45 est un protocole r´eactif permettant d’am´eliorer la qualit´e de service en terme de bande passante. Il est bas´e sur la notion du cœur du r´eseau qui est un sous-r´eseau form´e par un certain nombre de nœuds permettant de couvrir le reste du r´eseau. Afin de limiter les ´echanges circulant dans le r´eseau et consommant la bande passante, uniquement les nœuds du cœur du r´eseau transmettent les donn´ees de contrˆole sur l’´etat des liens. CEDAR est bas´e sur trois composantes essentielles : – l’extraction du cœur du r´eseau : phase de s´election d’un groupe r´eduit de nœuds responsables de l’´etablissement des routes et leur maintenance ; – propagation d’´etat de lien : informations `a jour au niveau de chaque nœud du cœur. Ces informations contiennent la liste des liens stables, `a forte bande passante ; – calcul de route : Le plus court chemin qui satisfait la bande passante demand´ee est s´electionn´e en se basant sur les donn´ees enregistr´ees au niveau du nœud cœur correspondant au sous-r´eseau de l’´emetteur. CEDAR est un protocole qui n’offre pas une garantie sur la bande passante puisque il ne fait pas de la r´eservation de ressource. Il permet d’offrir une route stable vers les destinations qui risque d’ˆetre un peu compliqu´e dans le cas de grand r´eseau dynamique o`u le nombre de liens ayant une qualit´e tr`es variante est important. AODV-QoS Un autre protocole r´eactif QdS est AODV QoS pr´esent´e dans [PR99b]. Cette proposition est une modification du protocole de routage AODV afin de garantir une meilleure QdS en termes de d´elai et de bande passante puisque elle consiste `a rajouter une extension dans les messages de contrˆole contenant des informations sur le lien. Afin de garantir la bande passante demand´ee, la requˆete AODV RREQ transporte la valeur de la bande passante demand´ee. Chaque nœud recevant ce message compare la valeur transf´er´ee avec la capacit´e du lien. Si elle est plus grande, le paquet est d´etruit. Par cons´equent, chaque nœud recevant la r´eponse RREP compare sa capacit´e avec la valeur transf´er´ee et garde le minimum des deux valeurs. QOLSR De mˆeme pour OLSR, une am´elioration a ´et´e propos´ee en [MBAAP02] afin d’avoir un routage `a base de QdS en ajoutant des extensions `a ses messages de contrˆole en termes de d´elai et de bande passante. De plus, QOLSR am´eliore aussi le concept des nœuds MPR puisqu’il en rajoute la fonctionna-46 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ lit´e du contrˆole d’admission. En effet, les MPRs sont responsables d’accepter ou de refuser des flux afin de garantir que le flux d’un nouvel utilisateur ne d´egrade pas les flux existant. Pour faciliter cette tˆache, une valeur seuil globale est fix´ee pour la consommation de la bande passante. En cas de saturation, aucun trafic n’est accept´e jusqu’au d´echargement du r´eseau. ii. Niveau MAC Un protocole MAC `a QdS permet de fournir les propres besoins en terme de QdS pour chaque nœud dans le r´eseau partageant le mˆeme canal avec ses autres voisins, sans affecter les besoins des autres nœuds. WAVE Le standard IEEE 802.11p [WAKP08] est un exemple de protocole MAC `a QdS, connu sous le nom de WAVE (Wireless Access in Vehicular Environment). Il utilise la fonction EDCA (Enhanced Distributed Channel Access) qui a pour principe la diff´erentiation du trafic en des cat´egories avec des priorit´es diff´erentes. Ce protocole a une importance remarquable pour les applications sensibles au d´elai comme la transmission de la voix ou les trafics interactifs. MH-TRACE De plus, [TH03] pr´esente un protocole MAC QdS nomm´e MH-TRACE (The Multi-Hop Time Reservation using Adaptive Control for Energy Effi- ciency). Ce protocole combine les avantages du syst`eme distribu´e et ceux du syst`eme centralis´e en adoptant la m´ethodologie de groupage de nœuds clustering (figure 2.8). MH-TRACE se base sur le principe de la communication sur des tranches de temps bien d´efinies pour chaque ´emetteur (TDMA pour Time Division Multiple Access) afin de limiter les collisions entre les paquets ´emis par les tˆetes de groupe. TDMA est un m´ecanisme utilis´e dans les r´eseaux GSM et satellite permettant `a de multiples utilisateurs de partager la mˆeme fr´equence du canal en r´epartissant le temps d’utilisation en un cycle de tranches (time slot). Chaque tranche est allou´ee `a un ´emetteur. Chaque nœud ´emet durant sa propre tranche de temps, et entre, par la suite, dans une phase de veille pour le reste du cycle. L’acc`es au canal pour les nœuds du mˆeme groupe est g´er´e et contrˆol´e par le nœud en tˆete de groupe qui a pour but de limiter le taux de collision entre les paquets. L’avantage majeur de MH-TRACE est qu’il fournit de la QdS aux applications temps-r´eel comme la transmission de la voix ou la conf´erence vid´eo grˆace `a sa m´ethode de gestion de la dur´ee d’´emission et sa m´ethode coordonn´ee d’acc`es au canal. De plus, il permet d’am´eliorer l’efficacit´e ´energ´etique du r´eseau puisque les2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 47 nœuds peuvent entrer en veille plus souvent. Le syst`eme MH-TRACE est exploit´e dans [TH05] afin de cr´eer une architecture inter-couche (cross layer ) pour des transmissions en multicast, MC-TRACE (Multicasting Time Reservation using Adaptive Control for Energy Efficiency). Cette architecture est con¸cue principalement pour la transmission de la voix afin de r´eduire la dissipation de l’´energie durant l’´emission et le repos du nœud. iii. Solutions de fourniture de la QdS D’autre structures, con¸cues entre le niveau MAC et routage, sont propos´ees pour les r´eseaux ad hoc afin de diff´erentier le trafic et de garantir la QdS. Ces mod`eles permettent de r´eserver les ressources n´ecessaires pour chaque flux prioritaire en se basant sur la signalisation. En effet, la signalisation a pour but la r´eservation, le rafraˆıchissement et la lib´eration des ressources dans le r´eseau. Le transfert de la signalisation doit ˆetre fiable et de haute priorit´e pour pouvoir garantir la QdS `a tout moment. De plus, les messages de la signalisation ne doivent pas avoir un coˆut ´elev´e permettant de consommer davantage de la bande passante. Il existe deux types de signalisation : une signalisation in-band, qui utilise l’entˆete IP du paquet de donn´ees pour signaler les ressources demand´ees, et une signalisation out-of-band qui utilise des paquets de contrˆole sp´ecifiques. La signalisation out-of-band a un coˆut plus important ce qui consomme davantage des ressources dans le r´eseau. RSVP est un exemple de protocole de signalisation out-of-band. Protocole de signalisation INSIGNIA INSIGNIA [LC98], (In-Band Signaling Support for QoS In Mobile Ad hoc Networks), est le premier protocole de signalisation propos´e pour les r´eseaux ad hoc. Il est bas´e sur le principe de la signalisation in-band. Avec la collaboration d’un contrˆoleur d’admission, INSIGNIA est un support pour la QdS pour les services temps r´eel. Il permet aux paquets ayant des besoins en termes de QdS d’exprimer leurs demandes dans un champ sp´ecifique ajout´e `a l’entˆete IP. En effet, chaque nœud d´esirant ´emettre un trafic exig´e en termes de QdS, commence `a envoyer les paquets de donn´ees en mode Best-effort jusqu’`a la r´eception de la notification d’acceptation de la r´eservation. Ces paquets contiennent dans leurs en-tˆetes la demande de r´eservation. La demande de r´eservation comporte la valeur de la bande passante d´esir´ee ainsi que la valeur de la bande passante minimale en dessous de laquelle le flux ne souhaite pas descendre. Chaque nœud interm´ediaire recevant ces messages d´ecide d’accepter la r´eservation soit avec la bande passante optimale,48 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ minimale ou la d´egrader en Best-effort. Au cours de l’´emission des donn´ees, la r´eservation peut ˆetre modifi´ee : augment´ee `a la valeur optimale ou d´egrad´ee `a la valeur minimale, en modifiant l’en-tˆete IP et elle est rafraichie avec le passage des paquets de donn´ees. Une fois la r´eservation de la route est ´etablie, le champ ajout´e `a l’entˆete IP est utilis´e pour ´echanger l’´etat des liens. De l’autre cot´e, le nœud r´ecepteur envoie r´eguli`erement des rapports sur la qualit´e du lien permettant `a l’´emetteur de modifier son d´ebit d’´emission. INSIGNIA est un protocole de signalisation qui n´ecessite d’ˆetre associ´e `a un contrˆoleur d’admission pour pouvoir affecter les ressources aux flux prioritaires. Bien que le principe de INSIGNIA permette de limiter le coˆut de la signalisation afin d’´etablir, adapter et restaurer des r´eservations, il n´ecessite une modification de l’entˆete IP ce qui est une possibilit´e trop complexe `a r´ealiser pour l’impl´ementation r´eelle que nous allons r´ealiser. FQMM Le premier mod`ele de QdS propos´e pour MANET est le mod`ele FQMM [XYLC00] (Flexible QoS Model for MANET). Il combine `a la fois les deux structures IntServ et DiffServ. Il s’appuie ainsi, sur un sch´ema hybride de la granularit´e par flux de IntServ pour g´erer le trafic le plus prioritaire et par classe de DiffServ pour les autres trafics dans un r´eseau constitu´e au maximum d’une cinquantaine de nœuds mobiles, formant un domaine Diff- Serv. FQMM utilise les m´ecanises de IntServ pour r´eserver la bande passante n´ecessaire pour les flux prioritaires. La limitation de l’application de IntServ permet de conserver les ressources dans le r´eseau. Selon le sens des trafics, les nœuds peuvent avoir des rˆoles diff´erents comme dans DiffServ : – Nœud d’entr´e (Ingress Node) : est le nœud source, il est le point d’entr´ee du trafic ; – Nœuds de cœur (Core node) : sont les nœuds interm´ediaires ; – Nœud de sortie (Egress Node) : est le nœud destination. La classification du trafic est r´ealis´ee au niveau des nœuds d’entr´ee alors que la QdS est fournie tout au long du trajet, au niveau de chaque nœud du cœur selon le PHB de chaque paquet (au niveau du champ de DiffServ dans l’entˆete IP) jusqu’`a arriver au nœud destination. Le but de FQMM est de pouvoir interfacer le r´eseau avec l’Internet puisqu’il utilise les m´ecanismes du r´eseau filaire. SWAN [GsAS02] pr´esente un autre mod`ele de gestion de la QdS nomm´e, SWAN (Stateless Wireless Ad hoc Network). SWAN est une structure sans ´etat2.2. MECANISMES POUR LES R ´ ESEAUX AD HOC DE DRONES ´ 49 bas´ee sur des algorithmes de contrˆole distribu´es permettant d’assurer une diff´erentiation des services dans les r´eseaux ad hoc en deux classes : Besteffort (sans contraintes sur la QdS) et temps-r´eel (trafic UDP avec contraintes sur la QdS). Il contrˆole le trafic Best-effort afin de garantir la priorit´e totale au trafic temps r´eel. Le contrˆole d’admission est r´ealis´e au niveau de la source. En effet, un message de signalisation traverse la route vers la destination permettant de sonder la bande passante disponible dans le r´eseau et retournant vers l’´emetteur. Recevant un bilan sur la qualit´e des liens sur la route, la source prend la d´ecision concernant l’admission de flux ou non. Une fois un ´emetteur d´ecide de la possibilit´e d’´emettre un trafic temps-r´eel, chaque nœud interm´ediaire doit faire passer ce trafic en priorit´e en contrˆolant le trafic Best-effort. En cas de congestion, les bits ECN (Explicit Congestion Notification) de l’entˆete IP sont marqu´es afin de permettre `a la source de r´einitialiser son m´ecanisme de contrˆole d’admission. Si la route ne dispose pas d’assez de bande passante, le trafic est supprim´e. SWAN utilise un classificateur permettant de diff´erentier les deux classes de trafic et contrˆoler le d´ebit du trafic Best-effort. Un m´ecanisme de contrˆole du trafic Best-effort n’est pas suffisant pour garantir la QdS demand´ee par les flux admis. En effet, les flux temps r´eel eux mˆeme peuvent causer la congestion du r´eseau et la d´egradation de la qualit´e des autres trafics. De plus, il n’y a pas de limite d’admission de trafic tempsr´eel ce qui peut mˆeme causer la perte totale du trafic Best-effort g´en´erant un vrai probl`eme puisque tous les messages de contrˆole de routage et de la couche d’acc`es sont consid´er´es dans cette approche comme du trafic Best-effort. 2.2.3.3 Dans les UAANET Au cours d’une op´eration coop´erative, les drones ´echangent diff´erents types de messages avec une vari´et´e de priorit´es. En effet, des trafics de mˆeme protocole, ayant la mˆeme destination et les mˆemes num´eros de port peuvent avoir diff´erents besoins en terme de QdS. De plus, les besoins d’un mˆeme trafic peuvent ´evoluer au cours du temps. Ces exigences sont dues au fait que les drones peuvent jouer diff´erents rˆoles au cours de l’op´eration. Certains drones accomplissent des tˆaches plus critiques que les autres et n´ecessitent un traitement de donn´ees plus prioritaire ce qui justifie que les trafics ´echang´es dans le r´eseau peuvent ˆetre trait´es diff´eremment. En outre, la tˆache d’un drone peut changer au cours du temps selon les circonstances de la mission. Par cons´equent, ses besoins en termes de QdS peuvent varier aussi. Quelques propositions sont ´etudi´ees sp´ecialement pour les r´eseaux de50 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ drones. En effet, [SFS+04a] propose un protocole de routage conscient des besoins QdS des drones. Il permet de d´efinir des priorit´es entre les paquets selon le protocole et l’´emetteur. Par la suite, ces priorit´es sont respect´ees au cours de l’acheminement des donn´ees ce qui permet d’am´eliorer le d´ebit et le d´elai essentiellement pour le trafic le plus prioritaire. Une autre proposition dans [BT11] permet d’am´eliorer la QdS selon la tˆache effectu´ee pour le drone. Cette solution est ´etudi´ee dans le cas o`u une flotte de drones op`ere ensemble d’une mani`ere synchronis´ee et change de tˆache simultan´ement. Les passages d’une tˆache `a l’autre sont g´er´es et contrˆol´es par la station de contrˆole. Etant donn´e que l’architecture du r´eseau est hi´erarchique, les drones sont ´ organis´es en groupes. Pour chaque groupe, le drone ayant la meilleure qualit´e de lien avec la station sol est choisi comme SuperNode, est responsable de l’acheminement du trafic entre les nœuds de ces groupes et la station sol. Cette proposition d´efinit la liste des tˆaches `a effectuer par la flotte de drones et les ordonne selon les besoins de chacune en terme de QdS : les tˆache qui n´ecessitent des exigences ´elev´ees de QdS et d’autre qui n´ecessitent des exigences moins ´elev´ees. Le syst`eme de gestion de la QdS est compos´e par le processus de gestion de motif (Process Pattern Manager ) qui contient la liste des tˆaches et le gestionnaire de files d’attente. Il peut ˆetre utilis´e en deux modes : – Au niveau des nœuds ordinaires (qui ne sont pas des SuperNode) : la gestion de QdS est appliqu´ee pour les propres paquets du nœud (le trafic sortant) ; – Au niveau du SuperNode : la gestion est appliqu´ee pour les paquets retransmis (trafic rout´e) ; Pour chaque paquet sortant, le gestionnaire des files d’attente consulte le gestionnaire des tˆaches pour d´eterminer le traitement n´ecessaire durant la tˆache en cours et la file d’attente appropri´ee. Le champ ToS de l’entˆete IP est utilis´e pour marquer les paquets. Au niveau du SuperNode, les paquets sont trait´es selon le marquage de leurs champs ToS. Cette proposition permet d’am´eliorer les performances du r´eseau ad hoc de drones dans un cas sp´ecifique o`u les tˆaches des a´eronefs sont pr´ed´efinies et respect´ees durant toute l’op´eration. Cependant, dans un cas plus dynamique o`u les drones sont plus interactifs et ont des tˆaches qui s’adaptent aux circonstances, le processus de pr´e-d´efinition la liste des tˆaches sera plus complexe. Dans [SFS+04b], les auteurs proposes un prototype d’une mission coop´erative pour une flotte de drones consciente de la QdS disponible dans le r´eseau. En effet, les drones utilise un logiciel qui permet d’adapter la qualit´e2.3. EVALUATION DES R ´ ESEAUX AD HOC DE DRONES ´ 51 d’image envoy´ee selon l’´etat de la mission et du r´eseau. La QdS est l’une des exigences des r´eseaux ad hoc de drones qui n´ecessite l’utilisation de certains m´ecanismes adapt´es `a ce genre de syst`eme. Par cons´equent, des ´etudes d´edi´ees doivent ˆetre r´ealis´ees permettant de garantir la Qds demand´ee dans un environnement r´eel. Discussion Ces diff´erents mod`eles de fourniture de QdS (FQMM et SWAN) permettent de diff´erencier le trafic globalement en deux cat´egories : temps-r´eel qui a la priorit´e absolue et le reste de trafic (Best-effort). Cette mani`ere de gestion de QdS peut aboutir, dans des situations de congestion, `a la p´enalisation et la d´egradation du trafic Best-effort. L’architecture de communication pour les UAANET doit ˆetre capable de fournir chaque trafic ses besoins en terme de QdS tout en pr´eservant le trafic Best-effort. Cette section a pr´esent´e les diff´erents m´ecanismes utilis´es afin de diff´erentier les services d’un r´eseau et de garantir la QdS demand´ee dans des syst`emes filaires et sans fil. Une ´etape tr`es importante de la cr´eation de nouveaux syst`emes, la validation et l’´evaluation de performances, est pr´esent´ee dans la section suivante. 2.3 Evaluation des r´eseaux ad hoc de drones ´ L’´evaluation des performances d’un syst`eme de communication est une ´etape importante dans le processus de cr´eation de nouvelles propositions notamment dans le contexte des r´eseaux de drones. En effet, cette ´evaluation permet, non seulement d’´evaluer les performances du syst`eme, mais aussi de pr´edire les probl`emes possibles qui peuvent affecter le syst`eme une fois d´eploy´e dans un environnement r´eel. Par cons´equent, plusieurs am´eliorations peuvent ˆetre ´etudi´ee pour le syst`eme afin de l’adapter aux conditions de l’environnement r´eel. Plusieurs moyens permettent d’´evaluer les syst`emes de communication comme la simulation, l’´emulation, la mod´elisation math´ematique ou encore l’exp´erimentation r´eelle. Pour notre ´etude, nous optons pour la simulation ainsi que l’exp´erimentation r´eelle. 2.3.1 Simulation La simulation est la mod´elisation du comportement du r´eseau dans un environnement virtuel. Les protocoles et les exp´erimentations sont d´efinis dans des fichiers modifiables et sont reproductibles.52 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ La simulation a une grande popularit´e dans les ´etudes de performance des syst`emes de communication. Elle permet de cr´eer, dans un monde virtuel, tous les composants de l’environnement r´eel comme les positions des nœuds, leurs mouvements, la zone et les protocoles de communications. Pour avoir une meilleure ´etude de performances des syst`emes, il faut r´ealiser les simulation dans un environnement proche de la r´ealit´e. Le mod`ele de mobilit´e, le mod`ele de propagation des signaux, les att´enuations sont des composants de l’environnement virtuel de la simulation. Dans notre ´etude, nous nous focalisons sur les mod`eles de mobilit´e qui font diff´erer les r´eseaux ad hoc de drones des autres r´eseaux ad hoc. 2.3.1.1 Mod`eles de mobilit´e Le mod`ele de mobilit´e d´efinit les trajectoires des nœuds ainsi que leurs vitesses. Il permet au simulateur de calculer les positions g´eographiques des nœuds `a chaque instant au cours de la simulation. Ces positions permettent de mesurer les distances entre les diff´erents nœuds afin de d´efinir les liaisons entre eux. De plus, dans le cas des r´eseaux ad hoc, la mobilit´e des nœuds permet de modifier fr´equemment la topologie du r´eseau en causant la cr´eation de nouveaux liens et la rupture d’autres. En effet, en changeant de position, des nœuds se rapprochent d’autres nœuds et s’´eloignent d’autres. En cons´equence, de nouveaux liens se cr´eent et d’autres sont d´etruits. Cette modification peut ˆetre fr´equente, brusque et rapide causant la perturbation de la connexion. Le mod`ele de mobilit´e permet de traduire ce changement de topologie dans l’environnent virtuel de la simulation. Dans [CBD02], les auteurs ont r´ealis´e une ´etude permettant de comparer le comportement du protocole de routage DSR en utilisant une vari´et´e de mod`eles de mobilit´e. Les r´esultats montrent que les performances de DSR en termes de d´elai, taux de livraison et interf´erence ont ´et´e fortement in- fluenc´ees par le changement du mod`ele de mobilit´e. Par cons´equent, pour r´ealiser une meilleure ´etude de performances il faut choisir le mod`ele de mobilit´e le plus proche de la r´ealit´e des mouvements des nœuds. En effet, plus les mouvements des nœuds du r´eseau dans le mod`ele sont proches de la r´ealit´e, plus la simulation r´eseau a des chances d’aboutir `a des r´esultats proches de la r´ealit´e et donc d’ˆetre utile. Ainsi, pour pouvoir ´evaluer un protocole de communication ad hoc de drones, il faut cr´eer un mod`ele de mobilit´e r´ealiste. i. Mod`eles de mobilit´e pour les MANET Cette partie pr´esente les mod`eles de mobilit´e les plus utilis´es utilis´e pour2.3. EVALUATION DES R ´ ESEAUX AD HOC DE DRONES ´ 53 les MANET. Elle fait l’objet d’un projet de Master r´ealis´e dans le contexte de cette th`ese. Random Way-Point Plusieurs chercheurs ´etaient conscients de la n´ecessit´e de l’utilisation d’un mod`ele de mobilit´e r´ealiste et ont propos´e des mod`eles de mobilit´e proches de leurs cas d’utilisation. Cependant, le mod`ele le plus utilis´e reste le Random Way-Point (RWP) [CBD02] qui se base sur des mouvements rectilignes vers des positions destinations choisis al´eatoirement au cours de la simulation. Figure 2.10 – Mouvements de RWP Chaque nœud choisit al´eatoirement une destination dans la surface de simulation et une vitesse. Ensuite, il se dirige vers cette destination suivant une trajectoire rectiligne avec la vitesse d´ej`a choisie. Une fois arriv´e `a sa destination, le nœud s’arrˆete pour une dur´ee de temps avant de r´eit´erer le mˆeme processus. (figure 2.10) Random Direction Random Direction (RD) [Roy10] est un autre mod`ele de mobilit´e con¸cu pour les MANET. Dans ce mod`ele, chaque nœud choisit al´eatoirement une direction, qui est un angle entre 0 et π, et une vitesse. Par la suite, il se d´eplace dans la direction choisie jusqu’`a atteindre le bord de la surface de simulation o`u il prend une pause. Une fois le temps de pause termin´e, le nœud choisit al´eatoirement une nouvelle direction et une nouvelle vitesse et r´ep`ete le mˆeme processus. (figure 2.11)54 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ Figure 2.11 – Mouvements de RD Gauss-Markov Ce mod`ele peut s’adapter aux diff´erents niveaux de hasard [Roy10] (c’est- `a-dire totalement al´eatoire, partiellement al´eatoire ou d´eterministe selon la corr´elation temporelle) `a travers un param`etre de r´eglage du degr´e de hasard α, avec 0≤ α ≤ 1. Initialement, une vitesse et une direction sont assign´ees aux diff´erents nœuds mobiles. Pour des intervalles de temps fixes, le mouvement a lieu en mettant `a jour la vitesse et la direction. Plus pr´ecis´ement, les valeurs de la vitesse et de la prochaine position au n`eme instant sont calcul´ees `a partir de celles du (n-1)`eme. Pour s’assurer qu’un nœud ne reste pas trop longtemps pr`es du bord de la zone de simulation, les nœuds sont pouss´es loin du bord quand ils sont `a moins d’une certaine distance du bord. Les valeurs de la vitesse, de la direction et de la position `a chaque instant, d´ependent des valeurs de l’instant pr´ec´edent ce qui cr´ee un mouvement plus r´egulier des nœuds. La figure 2.12 pr´esente le mouvement d’un nœud selon le mod`ele GaussMarkov avec trois valeurs diff´erentes du param`etre de r´eglage du degr´e du hasard α. Quand α est ´egal `a 1, le mouvement est lin´eaire. Le nœud garde les valeurs de la vitesse et de la direction initiales. Ces valeurs ne sont modifi´ees que sur les bords de la zone de simulation. Manhattan Manhattan [Roy10], est un autre mod`ele de mobilit´e con¸cu pour les VANET. Il a ´et´e principalement ´etudi´e pour le mouvement dans les zones ur-2.3. EVALUATION DES R ´ ESEAUX AD HOC DE DRONES ´ 55 α=0 (a) α=0.8 (b) α=1 (c) Figure 2.12 – Mouvements de Gauss Markov avec trois valeurs de α baines o`u les rues sont organis´ees d’une certaine mani`ere. Ce mod`ele utilise une topologie des routes repr´esent´ee par une grille. Chaque nœud mobile se d´eplace dans une direction horizontale ou verticale suivant la carte urbaine. A l’intersection des routes, le mobile peut tourner `a gauche, `a droite ou continuer tout droit. La s´election des mouvements des routes suit une approche probabiliste. En effet, la probabilit´e de continuer tout droit est de 0.5 tandis que tourner `a gauche ou `a droite est de 0.25 pour chaque direction. La vitesse du nœud mobile `a un intervalle de temps d´epend de la vitesse de l’intervalle de temps pr´ec´edent. Elle est aussi limit´ee par la vitesse du nœud qui pr´ec`ede sur le mˆeme chemin. De plus, deux nœuds dans la mˆeme voie doivent ˆetre `a une distance de s´ecurit´e SD (Safe Distance), la vitesse du nœud suivant ne pouvant pas exc´eder le premier. Ce mod`ele de mobilit´e est plus adapt´e aux sc´enario des mouvements v´ehiculaire. ii. Mod`eles de mobilit´e pour les UAANET Bien que la mobilit´e soit l’une des caract´eristiques des r´eseaux ad hoc de drones, il existe quelque mod`eles de mobilit´e permettant d’imiter le mouvement d’une flotte de drones. Distributed Pheromone Repel Mobility Model Dans [KNt06], les auteurs ont propos´e deux mod`eles de mobilit´e con¸cus pour des missions de reconnaissance : un mod`ele al´eatoire Random Mobility56 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ Model et un autre distribu´e Distributed Pheromone Repel Mobility Model. Ces mod`eles de mobilit´e se basent sur trois actions : – aller tout droit ; – tourner `a droite (-45o ) ; – tourner `a gauche (45o ). Avec le Random Mobility Model, chaque drone choisit son mouvement en se basant sur des probabilit´es fixes. Alors qu’avec le Distributed Pheromone Repel Mobility Model une carte contenant les informations sur les mouvements des autres drones est utilis´ee pour guider les a´eronefs. Cette carte est cr´e´ee grˆace `a des ´echanges entre les drones concernant les zones scann´ees par les autres engins. Par cons´equent, chaque nœud d´ecide de tourner `a droite, `a gauche ou de continuer tout droit. SRCM Dans [WGWW10], Les auteurs pr´esentent un autre mod`ele de mobilit´e con¸cu pour les r´eseaux ad hoc de drones, bas´e sur des mouvements semicirculaires nomm´e SRCM Semi-Random Circular Movement. Ce mod`ele est id´eal pour les r´eseaux dans lesquels les drones survolent une localisation fixe afin de collecter des informations. Les positions initiales des nœuds leurs permettent de tourner autour d’un seul point fixe O, le centre de la zone circulaire C, chacun sur son cercle (figure 2.13). V0 V2 V1 C O Figure 2.13 – Le principe de SRCM Chaque nœud fixe une valeur de vitesse al´eatoire et choisi une position sur son cercle, tout en gardant le mˆeme sens d’avancement (sens trigonom´etrique2.3. EVALUATION DES R ´ ESEAUX AD HOC DE DRONES ´ 57 ou le sens contraire). A l’arriv´ee `a sa destination, il reste fixe pour une dur´ee de temps fixe. Par la suite il reprend son chemin vers la position de sa nouvelle destination. Une fois que le nœud a compl´et´e le tour de son cercle, il refait la mˆeme proc´edure sur un autre cercle (de centre 0 et situ´e `a l’int´erieur du cercle C ), choisi al´eatoirement. Mod`ele de mobilit´e pour plates-formes a´eriennes Les auteurs de [XWNF13] ont propos´e un autre mod`ele de mobilit´e pour les plates-formes a´eriennes bas´e aussi sur le mouvement circulaire. Chaque nœud tourne autour une position choisie al´eatoirement avec une vitesse fixe jusqu’il choisit une autre position. Ce mod`ele est capable de changer l’altitude durant le vol en deux approches. Dans la premi`ere, l’altitude est corr´el´ee avec les autres d´eplacements alors que dans la deuxi`eme approche, les trois dimensions sont ind´ependantes. La corr´elation entre les trois dimensions g´en`ere des mouvements avec une large variation d’altitude. Ce mod`ele est bien adapt´e `a des sc´enarios de vol pour des applications militaires ou des spectacles. Alors que la deuxi`eme approche, qui garde les trois dimension x, y et z ind´ependants, permet d’avoir moins de variation d’altitude. Ce mod`ele est mieux adapt´e aux applications civiles et commerciales. 2.3.1.2 Validation d’un nouveau mod`ele de mobilit´e La question de la validit´e d’un mod`ele de mobilit´e est peu abord´ee dans la litt´erature. Certains auteurs qui ont d´evelopp´e de nouveaux mod`eles, les ont compar´e aux mod`eles usuels comme dans [ESB+04]. Ils ont r´ealis´e une comparaison du comportement du nouveau mod`ele de mobilit´e r´ealiste au comportement de plusieurs autres mod`eles de mobilit´e. Les crit`eres utilis´es dans cette ´etude sont la distribution spatiale des nœuds sur la zone de simulation, le taux de perte et le d´elai de transmission de donn´ees. Les deux mod`eles de mobilit´e pr´esent´es dans [KNt06] ont ´et´e compar´es ensemble pour ´etudier les performances de l’un par rapport `a l’autre en utilisant comme m´etriques : la couverture et la connectivit´e des nœuds. Dans [MM06], le nouveau mod`ele de mobilit´e a ´et´e valid´e en se basant sur la comparaison avec les traces de mouvement r´eel. Les m´etriques utilis´ees pour cette ´evaluation sont : – La dur´ee de contact : la dur´ee de temps durant lequel deux nœuds sont `a la port´e l’un de l’autre ; – Le nombre d’inter-contact : la fr´equence et la probabilit´e d’ˆetre en contact directe avec la destination du paquet.58 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ D’autres chercheurs pr´ef`erent la mod´elisation math´ematique comme dans [XWNF13] et [WGWW10]. De plus, on trouve diff´erents m´etriques utilis´es pour ´etudier les propri´et´es statistiques des mod`eles de mobilit´e ([YPD07],[ZHR04],[TTV07]) : Nous proposons une classification de ces m´etriques en deux cat´egories : g´eom´etrique et performance r´eseau. La cat´egorie g´eom´etrique ou spatiale qui permet d’´etudier l’aspect physique du mouvement (les trajectoires) et son impact sur la topologie du r´eseau, comme : – Distribution spatiale des nœuds : repr´esente graphiquement la densit´e des nœuds dans la zone de simulation. Elle permet de v´erifier si la distribution est homog`ene ou concentr´ee autour du centre ; – Degr´e de d´ependance spatiale : pr´esente le degr´e de corr´elation de vitesse de chaque nœud avec ses voisins ; – Degr´e de d´ependance temporelle : d´etermine le degr´e de variation de la vitesse et de la direction du nœud au cours du temps. Cette valeur est faible si la vitesse et la direction sont faiblement corr´el´ees au cours du temps ; – Vitesse relative : mesure la diff´erence entre les vitesses de deux nœuds. Elle donne une indication sur le dynamique du r´eseau ; – Dur´ee de lien : mesure la moyenne de temps durant lequel il existe un lien radio entre deux nœuds ; – Taux de changement du lien : fait r´ef´erence aux changements de la topologie par le changement des ´etats des liens entre les nœuds. En effet, si un lien entre deux hˆotes est ´etabli, on consid`ere que l’´etat du lien est actif. Si le lien a ´et´e rompu `a cause du mouvement du nœud, l’´etat du lien est consid´er´e inactif. La cat´egorie performance du r´eseau permet d’´evaluer l’impact du mouvement sur les performances des protocoles de communication. Elle groupe des mesures comme le taux de perte des paquets ou le d´elai de transmission. Malgr´e les diff´erents facteurs de la simulation (comme par exemple les mod`eles de mobilit´e) existants, l’environnement virtuel cr´e´e par les simulateurs r´eseaux ne peut pas stimuler certains caract´eristiques et facteurs de l’environnement r´eel comme par exemple, les ´echecs techniques qui peuvent affecter n’importe quel nœud du r´eseau, ou encore la puissance de r´eception qui reste constante dans la simulation `a n’importe quel distance `a l’int´erieur de la port´ee radio de l’´emetteur.2.3. EVALUATION DES R ´ ESEAUX AD HOC DE DRONES ´ 59 2.3.2 Exp´erimentation r´eelle Bien que l’exp´erimentation r´eelle soit difficile `a r´ealiser, elle reste utile et n´ecessaire pour ´evaluer les performances d’un syst`eme dans son environnement r´eel. La r´ealisation d’une exp´erimentation avec des drones n´ecessite des mat´eriels comme les a´eronefs et la station sol ainsi que de la pr´esence des humains pour piloter et contrˆoler les drones. De plus, la r´ealisation d’une exp´erimentation r´eelle peut ˆetre difficile `a cause de plusieurs facteurs comme [BDJH04] : – le coˆut : il limite le nombre de drones qu’on peut utiliser pour r´ealiser une exp´erimentation ; – la flexibilit´e : elle handicape la r´ealisation des sc´enarios ainsi que leur r´ep´etition sur un grand nombre de fois ; – surveillance du r´eseau : il doit avoir le minimum d’impact possible sur le d´eroulement de l’exp´erimentation. Ainsi, il est n´ecessaire d’utiliser le minimum de la capacit´e du processeur embarqu´e ainsi que de la bande passante disponible dans le r´eseau. Malgr´e toutes ces difficult´es l’exp´erimentation r´eelle reste une ´etape importante dans le processus de cr´eation des syst`emes de communication. L’article [BDJH04] pr´esente une exp´erimentation r´ealis´ee pour des petits drones (10kg). Elle a pour but l’´evaluation du r´eseau ad hoc de drones utilisant DSR comme protocole de routage et le standard 802.11b au niveau MAC. Cette exp´erimentation a mis en ´evidence quelques d´efaillances de DSR, comme les probl`emes de routage rencontr´es avec la mobilit´e des nœuds notamment sa lente r´eaction face `a l’´echec des routes. Dans [XSX+10], les auteurs ont r´ealis´e une exp´erimentation afin de valider le fonctionnement d’un algorithme de formation de vol par un ´echange de donn´ees `a travers un r´eseau ad hoc. Elle a montr´e la faisabilit´e, la validit´e et l’efficacit´e de l’utilisation d’un r´eseau ad hoc pour des fonctionnalit´es coop´eratives. Dans le cadre du projet CARUS [CLM+11], une exp´erimentation a ´et´e r´ealis´ee en utilisant cinq drones. Cette r´ealisation avait pour but de montrer la faisabilit´e de l’utilisation d’une flotte de drones autonomes et coop´eratifs. Les ´echanges entres les drones sont r´ealis´es par une diffusion asynchrone de donn´ees. La simulation et l’exp´erimentation r´eelle peuvent ˆetre r´ealis´ees ensemble afin de b´en´eficier des avantages des deux. En effet, la premi`ere pr´esente une ´etude facile `a r´ealiser et reproductible malgr´e certaines limites d’imitation de l’environnement r´eel. Ces limites peuvent ˆetre rattrap´ees par des60 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´ exp´erimentations r´eelles permettant de valider les r´esultats obtenus par la simulation. Par cons´equent, la simulation et l’exp´erimentation r´eelle se compl`etent pour une validation fiable de nouveaux protocoles de communication. Conclusion Les r´eseaux ad hoc sont caract´eris´es par une vari´et´e de caract´eristiques comme la capacit´e des nœuds utilis´es en termes d’autonomie, ´energie, port´ee radio et processeur, ou encore la densit´e, la topologie du r´eseau et la mobilit´e. Par cons´equent, ils sont class´es selon leurs applications, objectifs, d´eploiement, ou types de communications. Les r´eseaux ad hoc de drones (UAANET) est l’une des classes de MANET qui pr´esente le cas d’une flotte de drones qui coop`erent entre eux afin d’accomplir une mission. Ce genre de r´eseau a des sp´ecificit´es par rapport aux autres classes de MANET comme la mobilit´e Pour les UAANET, la communication joue un rˆole tr`es important dans le d´eroulement d’une op´eration puisque certains messages ´echang´es peuvent ˆetre critiques et le choix des protocoles de communication utilis´es peut affecter le d´eroulement des missions des drones. Par cons´equent, un syst`eme de communication fiable doit ˆetre utilis´e. Certains protocoles de communication de niveau MAC et routage ont ´et´e propos´es pour ˆetre utilis´es dans ce cas. La majorit´e est propos´ee pour des conditions bien sp´ecifiques, comme les protocoles qui fonctionnent avec des types d’antenne ou de d´eplacement sp´ecifiques. Certains autre protocoles n´ecessitent des capacit´es de calcul qui semble complexe par rapport `a la capacit´e limit´ee des mini-drones. Par cons´equent, notre choix de protocole s’est dirig´e vers des protocoles qui ne n´ecessitent pas des conditions sp´ecifiques et qui peuvent ˆetre impl´ement´e sur un syst`eme Linux. Nous optons pour le standard IEEE 802.11 pour le niveau MAC et le protocole AODV pour le routage des donn´ees. L’impl´ementation AODV-UU est choisie puisqu’elle est disponible `a la fois pour le simulateur r´eseau ainsi que pour le syst`eme Linux. En outre, les UAANET ont une exigence en terme de QdS. Effectivement, au cours d’une op´eration, les drones ´echangent diff´erents types de trafic selon la tˆache de l’´emetteur ou encore le protocole utilis´e. Par cons´equent, le syst`eme de communication utilis´e pour les UAANET doit ˆetre capable de diff´erentier le trafic et garantir diff´erents niveau de QdS. Des m´ecanismes utilis´es pour la gestion de la QdS dans les r´eseau ad hoc ont ´et´e pr´esent´e dans la deuxi`eme section de ce chapitre. Les mod`eles de fourniture de QdS FQMM et SWAN permettent de diff´erencier le trafic globalement en deux2.3. EVALUATION DES R ´ ESEAUX AD HOC DE DRONES ´ 61 cat´egories : temps-r´eel qui a la priorit´e absolue et le reste de trafic (Besteffort). Dans des situations de congestion, o`u les nœuds ´echangent trop de trafic temps-r´eel, le trafic Best-effort risque d’ˆetre p´enalis´e et d´egrad´e ou encore d’ˆetre inexistant. L’architecture de communication pour les UAANET doit ˆetre capable de fournir chaque trafic ses besoins en terme de QdS tout en pr´eservant le trafic Best-effort. Pour ce genre d’´etudes, il est tr`es recommand´e d’´evaluer les performances du syst`eme afin de pr´edire les probl`emes possibles qui peuvent l’affecter dans des conditions r´eelles. La simulation et l’exp´erimentation r´eelle sont deux moyens compl´ementaires permettant de valider un nouveau protocole de communication. En effet, l’exp´erimentation r´eelle est plus difficile `a r´ealiser. La simulation permet de cr´eer un environnement virtuel permettant d’imiter la r´ealit´e mais avec des limites. Le mod`ele de mobilit´e est l’une des bases de cet environnement virtuel qui doit ˆetre tr`es fid`ele au mouvement r´eel des nœuds puisqu’il traduit le changement de la topologie du r´eseau. Par la suite, il traduit la perturbation de connexion entre les drones. Par cons´equent, un mod`ele de mobilit´e reproduisant le vrai mouvement des drones est n´ecessaire. Le chapitre suivant pr´esente l’architecture de communication DAN (DCoS Ad hoc Network) permettant de diff´erentier le trafic et de garantir pour chaque classe les QdS demand´ees dans le contexte de r´eseau ad hoc de drones.62 CHAPITRE 2. RESEAUX AD HOC DE DRONES ´Chapitre 3 Architecture DAN Contents 3.1 Recueil d’exigences . . . . . . . . . . . . . . . . . 64 3.2 Classes de trafic . . . . . . . . . . . . . . . . . . . 67 3.3 L’architecture de DAN . . . . . . . . . . . . . . . 68 3.3.1 API DAN . . . . . . . . . . . . . . . . . . . . . . . 69 3.3.2 L’agent DAN . . . . . . . . . . . . . . . . . . . . . 70 3.3.3 Le contrˆoleur d’admission . . . . . . . . . . . . . . 71 3.3.4 Le classificateur . . . . . . . . . . . . . . . . . . . . 71 3.4 La signalisation de DAN . . . . . . . . . . . . . . 72 3.5 Le Fonctionnement de DAN . . . . . . . . . . . . 73 3.5.1 API DAN . . . . . . . . . . . . . . . . . . . . . . . 73 3.5.2 L’agent DAN . . . . . . . . . . . . . . . . . . . . . 76 3.5.3 Le contrˆoleur d’admission . . . . . . . . . . . . . . 77 3.5.4 Le classificateur . . . . . . . . . . . . . . . . . . . . 78 Introduction Ce chapitre pr´esente une architecture de communication pour les r´eseaux ad hoc de drones coop´eratifs, nomm´e DAN (DCoS Ad hoc Network). Elle est capable de s’adapter aux diff´erentes exigences des applications en terme de QdS et `a leurs ´evolutions au cours du temps ainsi que de garantir une diff´erenciation de service. DAN combine des m´ecanismes de gestion de QdS ind´ependamment des protocoles MAC et routage pour pouvoir s’adapter aux diff´erents syst`emes multi-agents coop´eratifs. A partir de l’´etude de l’existant pr´esent´ee dans le ` 6364 CHAPITRE 3. ARCHITECTURE DAN chapitre pr´ec´edent, nous avons choisi le protocole de routage AODV et le standard IEEE 802.11 pour ˆetre utilis´es dans cette architecture de communication. L’objectif de la conception de cette architecture ne s’arrˆete pas au niveau de la proposition dans la litt´erature. L’un des objectifs de la conception de cette architecture est la r´ealisation et l’int´egration aux drones Paparazzi r´eels. Pour cette raison, nous avons essay´e de simplifier au maximum le fonctionnement et la combinaison de ces m´ecanismes pour faciliter leur impl´ementation r´eelle. Ce chapitre pr´esente dans la premi`ere section les exigences de conception de cette architecture de communication. A partir de l’analyse de ces ` exigences, des classes de services sont d´efinies dans la deuxi`eme section. Par la suite, la troisi`eme section pr´esente les diff´erents modules qui constituent l’architecture DAN. Ensuite, la signalisation utilis´ee dans ce syst`eme est introduite dans la quatri`eme section. Finalement, le fonctionnement de toute l’architecture est d´etaill´e dans la derni`ere section de ce chapitre. 3.1 Recueil d’exigences En tant que classe des MANET, le r´eseau ad hoc de drones h´erite de ses limites et ses probl`emes. En effet, le canal de transmission sans fil est caract´eris´e par ses ressources limit´ees ainsi que sa sensibilit´e aux interf´erences et aux obstacles. En outre, le r´eseau ad hoc de petits drones a d’autres sp´ecificit´es qui doivent ˆetre prises en compte lors de la cr´eation et l’´evaluation de nouveaux protocoles de communication pour les UAANET. Les petits drones ont une autonomie tr`es faible, leur source d’´energie limit´ee ne tient au maximum qu’une vingtaine de minutes. Au cours d’une op´eration r´ealis´ee par une flotte de drones, chaque a´eronef peut ˆetre affect´e `a une tˆache sp´ecifique comme la surveillance d’une zone g´eographique bien d´etermin´ee ou la recherche d’une cible pr´ecise. Ces tˆaches peuvent n´ecessiter des donn´ees sp´ecifiques en entr´ee permettant de diriger son ´evolution et envoyer diff´erents types de messages comme r´esultats. Dans les op´erations coop´eratives, l’´evolution de chaque tˆache peut d´ependre des autres tˆaches obligeant les drones `a ´echanger des donn´ees entre eux. En cons´equence, les drones ´echangent plusieurs types de message dans toute les directions (entre eux et avec la station de contrˆole). A partir de l’´etude des fichiers d’enregistrement de trafics envoy´es au ` cours des vols r´eels, nous avons pu constater diff´erents types de message que nous avons class´e selon leurs contenus comme suit.3.1. RECUEIL D’EXIGENCES 65 Certains messages sont ´echang´es entre les drones et leur station de contrˆole comme : – Informations du syst`eme (IS) : elles sont envoy´es du drone vers la station de contrˆole (liaison descendante). Ces messages contiennent des informations sur l’´etat des a´eronefs (batterie, position g´eographique, niveau de service, etc). Il s’agit d’un ´echange entre les couches hautes du syst`eme ; – Informations de l’op´eration (IO) : elles sont envoy´es ´egalement des drones vers la station sol. Ces messages peuvent avoir une vari´et´e de contenus comme la temp´erature, la localisation, la pression, ou le multim´edia (son, image ou vid´eo). Selon la mission, ces messages ont des priorit´es diff´erentes par rapport aux autres types de trafic. Il s’agit aussi d’un ´echange entre les couches hautes du syst`eme ; – Consignes de l’op´eration (CO) : elles sont envoy´es de la station de contrˆole vers les drones (liaison montante). Ces messages contiennent des ordres pour modifier la direction d’un a´eronef, passer `a une autre tˆache, modifier la qualit´e d’image envoy´ee, finir l’op´eration et revenir, etc. Cet ´echange est r´ealis´e entre les couches hautes du syst`eme ; – Messages de contrˆole (MC) : ils sont envoy´es par les protocoles de communication (Routage, ARP, etc). Il s’agit d’un ´echange entre les couches basses dans les deux directions (de la station de contrˆole vers les drones et inversement). Puisque le syst`eme communique `a travers un r´eseau ad hoc, tous ces messages peuvent passer par un ou plusieurs nœuds interm´ediaires dans le but d’atteindre leur destination finale. Cependant, d’autres messages doivent ˆetre ´echang´es entre les drones comme : – Information de syst`eme (IS) : elles sont ´echang´es selon la mission et les fonctionnalit´es des drones comme la localisation g´eographique ou la direction des voisins permettant de modifier les circonstance de la tˆache. (Par exemple les ´echanges de positions g´eographiques afin de recr´eer le vol, allouer les tˆaches ou ´eviter les collisions) ; – Information de l’op´eration (IO) : certaines missions n´ecessitent l’´echange des r´esultats des tˆaches des autres drones pour pouvoir adapter leurs objectifs comme dans [SFS+04b] o`u les drones adaptent leurs niveaux de qualit´e d’image envoy´es en fonction de l’importance de ses donn´ees et celles des autres qui peut varier au cours du temps selon leurs r´esultats de recherche ; – Messages de contrˆole (MC) : message de contrˆole r´eseau (routage, ARP, MAC, ICMP, etc).66 CHAPITRE 3. ARCHITECTURE DAN Par cons´equent, la priorit´e de chaque type de message peut varier selon la mission, l’´emetteur, le type et le contenu du message. Les demandes de chaque type de trafic en terme de QdS sont diff´erentes, certains exigent le minimum de d´elai, d’autres ont besoin du maximum de d´ebit ou de plus de fiabilit´e. En outre, quelques ´echanges n´ecessitent une garantie stricte sur la QdS. Puisque les circonstances d’une op´eration ´evoluent au cours du temps, les rˆoles et les tˆaches des a´eronefs peuvent changer. Par cons´equent, leurs demandes en termes de QdS peut varier. Par cons´equent, la classification usuelle du trafic selon le type de protocole utilis´e dans certaines propositions ´etudi´ees dans le chapitre pr´ec´edent n’est pas suffisante pour ce syst`eme. La QdS, dans ce genre de syst`eme doit ˆetre g´er´ee par un module : 1. Capable de s’adapter `a la variation des tˆaches des drones ainsi qu’`a leurs besoins en terme de QdS ; 2. Capable de respecter les exigences de chaque message lors de l’´emission. Les besoins QdS doivent ˆetre fix´es par un module conscient du rˆole r´ealis´e et du degr´e d’importance de ses donn´ees (s’il s’agit d’une information critique ou non). Ces caract´eristiques peuvent ˆetre regroup´ees dans les fonctionnalit´es du niveau applicatif. En effet, chaque application peut reconnaitre les situations critiques et les ´echanges qui en r´esultent. Par cons´equent, selon la d´ecision prise par l’application, les autres modules de l’architecture de communication doivent respecter les exigences de chaque trafic. L’objectif est de pouvoir diff´erencier les paquets et allouer les ressources n´ecessaires pour chaque classe. L’´evaluation de ce syst`eme doit ˆetre r´ealis´ee dans des conditions r´ealistes afin de pr´edire les probl`emes possibles qui peuvent l’affecter dans un environnement r´eel. Pour notre cas, nous avons choisi deux moyens pour ´etudier notre syst`eme de communication. En premier temps, il sera ´etudi´e par simulation. Par la suite, dans un deuxi`eme temps, il sera valid´e par des exp´erimentations r´eelles. La simulation doit ˆetre r´ealis´ee dans un environnement proche de la r´ealit´e. En cons´equence, puisque la mobilit´e est une particularit´e tr`es importante pour les r´eseaux ad hoc, un mod`ele de mobilit´e sp´ecifique reproduisant les mouvements de drones doit ˆetre utiliser. Ce mod`ele doit pouvoir g´en´erer une vari´et´e de cas de situations possibles. De plus, cette architecture de communication doit ˆetre test´ee et utilis´ee en environnement r´eel. En cons´equence, une plateforme de test doit ˆetre3.2. CLASSES DE TRAFIC 67 cr´e´ee en utilisant de vrais drones Paparazzi ainsi que leur station de contrˆole permettant de les faire communiquer `a travers un r´eseau Ad hoc conscient de leurs besoins de QdS. 3.2 Classes de trafic Comme pr´esent´e dans la section pr´ec´edente, il existe plusieurs types de messages ´echang´es entre les drones et la station de contrˆole, group´es essentiellement en quatre cat´egories (IS, MC, IO et CO). Les messages de la cat´egorie CO sont des messages critiques permettant de modifier le d´eroulement de l’op´eration. Ils doivent ˆetre achemin´es le plus tˆot possible et avec le maximum de fiabilit´e. Certains messages de la cat´egorie IS peuvent ˆetre critiques aussi, permettant d’informer la station de contrˆole sur les difficult´es rencontr´ees par les drones. Par cons´equent, ces messages permettent de limiter les probl`emes techniques. De plus, cette cat´egorie contient des messages envoy´es p´eriodiquement. La perte de certains de ces messages ne cause pas de soucis pour l’avancement de la mission. Au contraire, il est pr´ef´erable de perdre ces messages que les recevoir avec un grand d´elai. La cat´egorie de messages IO contient des messages li´es `a la tˆache de l’a´eronef qui peuvent avoir des besoins modifiables au cours du temps. Cette cat´egorie de trafic d´etermine diff´erentes exigences de QdS. En effet, elle contient des messages envoy´es p´eriodiquement qui peuvent supporter quelques pertes ou les d´elais comme les messages de la classe IS. De plus, elle peut avoir des messages critiques qui demande plus de fiabilit´e comme la classe CO. Aussi, elle regroupe des flux de trafic temps-r´eel qui n´ecessitent un d´ebit fixe et une garantie stricte sur la QdS. Le trafic de la cat´egorie MC permet d’´etablir les liaisons entre les diff´erents nœuds. Ce trafic joue un rˆole important pour la continuit´e de l’op´eration. Ainsi, il ne doit pas ˆetre p´enalis´e par les autres flux. Par cons´equent, trois classes de trafic sont d´efinies permettant de regrouper les diff´erents types de messages : Le trafic Urgent C’est la classe des messages critiques. La r´eception avec d´elai ou la perte de ces messages peuvent causer des probl`emes pour tout le syst`eme. Par cons´equent, ce type de trafic n´ecessite le minimum de d´elai et le maximum de fiabilit´e. Essentiellement, les messages de la classe Urgent sont des messages68 CHAPITRE 3. ARCHITECTURE DAN sporadiques, envoy´es uniquement en cas de n´ecessit´e comme par exemple un r´esultat important, un changement de direction imm´ediat, une situation critique comme le niveau de l’´energie d’un drone. Cette classe de trafic est sensible aux pertes et aux d´elais et elle a la priorit´e absolue. Le trafic Premium C’est la classe des flux de trafic qui ont des exigences QdS en termes de taux de perte, d´elai et d´ebit. Elle n´ecessite une r´eservation de ressource pour avoir une garantie stricte sur la QdS. Le trafic temps-r´eel est un exemple de trafic de cette classe. Le trafic Best-effort Cette classe groupe le reste du trafic qui ne demande aucune garantie sur la QdS. D’ailleurs, pour les messages p´eriodiques, il est pr´ef´erable de perdre des paquets que de les recevoir avec un grand d´elai pour garantir que le syst`eme soit `a jour. Les messages de localisation g´eographique et certains messages IO comme les valeurs de la temp´erature ou la pression mesur´ees sont des exemples du trafic Best-effort. Chaque type d’´echange est class´e dans l’une de ces trois classes pr´esent´ees ci-dessus. Le choix de la classe est r´ealis´e par l’application et peut ˆetre modifi´e plusieurs fois au cours de l’op´eration selon les circonstances. Ainsi, La classification du trafic est ind´ependante du protocole utilis´e (UDP ou TCP). Un trafic TCP peut ˆetre class´e en Premium et un trafic UDP peut ˆetre un Best-effort et inversement. La section suivante pr´esente l’architecture de communication permettant aux applications de g´erer la classification de leurs trafics et permettant de respecter les exigences de chaque classe de trafic. 3.3 L’architecture de DAN Cette section pr´esente les diff´erents modules constituant l’architecture de communication DAN. DAN (DCoS Ad hoc Network), est un syst`eme de communication pour les r´eseaux ad hoc de drones capable de diff´erencier le service. Il groupe un3.3. L’ARCHITECTURE DE DAN 69 ensemble de modules et de m´ecanismes permettant de r´epondre aux exigences des UAANET. Ces modules permettent aux applications d’exprimer les besoins de chaque flux g´en´er´e `a travers une API (Application Programming Interface) sp´ecifique (figure 3.1) selon des crit`eres pr´ed´efinis comme le contenu du message. En se basant sur ces consignes, les autres modules diff´erentient les paquets, et garantie diff´erents niveau de QdS. DAN diff´erentie le trafic en trois classes : Urgent, Premium et Best-effort. La classe de trafic Urgent contient des messages critiques envoy´es d’une mani`ere sporadique avec la plus haute priorit´e (par exemple : message indiquant le niveau tr`es bas d’une batterie). Ces messages exigent un d´elai faible et une fiabilit´e ´elev´ee. La classe Premium regroupe les trafics exigeants en termes de QdS. Les flux multim´edia est un exemple de ces trafics. Ils n´ecessitent une r´eservation de ressources permettant de leur fournir une garantie stricte sur la QdS. Avec DAN, les ressources sont r´eserv´ees avec un protocole de signalisation qui contient des messages de r´eservation et de signalisation d’erreurs. Ce protocole a pour but l’´etablissement et la fermeture des r´eservations. De plus, il permet de notifier l’´emetteur en cas d’erreurs. DAN se base sur les paquets de donn´ees envoy´es pour rafraichir ces r´eservations. En effet, chaque nœud sur la route garde une id´ee sur l’´etat de la r´eservation (soft-state). Cette vision est mise `a jour par la simple r´eception des paquets de donn´ees ce qui permet de limiter la consommation des ressources du r´eseau pour la signalisation. Les deux classes de trafic Premium et Urgent subissent un contrˆole de d´ebit au niveau du nœud source afin d’´eviter le cas de congestion totale caus´ee par une exag´eration d’´emission de ces deux cat´egories de trafic. Tous ces m´ecanismes sont r´ealis´es par des modules de fourniture de la QdS. Comme pr´esent´e dans la figure 3.1, DAN est compos´e d’une API sp´ecifique permettant de connecter l’application aux autres modules qui sont : l’agent DAN, le contrˆoleur d’admission et le classificateur des paquets. 3.3.1 API DAN En plus des sockets classiques d’UDP et TCP, utilis´es pour ´echanger les donn´ees, l’API DAN utilise des sockets sp´ecifiques permettant d’´echanger des messages contenant les informations des flux. Ces sockets supportent quatre types d’´echanges : – la commande de r´eservation (Reservation Command) : c’est le message qui indique la classe du trafic `a ´emettre. Il contient aussi les exigences70 CHAPITRE 3. ARCHITECTURE DAN Figure 3.1 – Architecture de DAN du flux Premium en terme de d´ebit ; – l’autorisation d’´emission (Send Reply) : ce message est envoy´e par l’agent DAN en r´eponse `a la demande de r´eservation en cas d’admission ; – l’arrˆet de l’´emission (Stop Reply) : si l’agent DAN n’arrive pas `a r´eserver les ressources n´ecessaires pour le flux, il notifie l’application par un Stop Reply contenant la valeur de d´ebit que peut ˆetre garantie par le r´eseau. Par la suite, l’application a le choix d’annuler l’´emission ou de n´egocier la r´eservation puisqu’elle a la possibilit´e de r´eduire ses demandes en fonction des ressources disponibles et r´etablir une nouvelle r´eservation ; – la commande de fermeture de r´eservation (Close Command) : elle est envoy´ee par l’application `a la fin de l’´emission des donn´ees, ce message permet de lib´erer les ressources r´eserv´ees pour ce flux dans le r´eseau. Le fonctionnement de l’API sera d´etaill´e dans la section 3.5. 3.3.2 L’agent DAN L’agent DAN est responsable des autres modules constituant cette architecture. De plus, il est le contact direct de l’application. Il re¸coit les demandes en termes de QdS `a travers l’API. Par la suite, il d´efinit le plan de fonctionnement des autres modules.3.3. L’ARCHITECTURE DE DAN 71 En cas d’insuffisance de ressources, l’agent DAN notifie l’application qui prend une d´ecision concernant la d´egradation de la qualit´e demand´ee ou l’annulation de l’´emission. En outre, ce module est responsable de l’´emission et la r´eception des paquets de signalisation. En effet, il initialise la proc´edure de r´eservation et traite les paquets re¸cus en se basant sur les donn´ees fournies par les autres modules. Une liste des flux r´eserv´es est gard´ee au niveau de l’agent DAN. Elle fournie les informations n´ecessaires aux autres modules sur les coordonn´ees des flux Premium admis ainsi que les messages de type Urgent. Au niveau de chaque nœud source, l’agent DAN est responsable du contrˆole de d´ebit des deux classes de trafic Urgent et Premium afin d’´eviter les cas de congestion extrˆeme. 3.3.3 Le contrˆoleur d’admission Le module de contrˆoleur d’admission (CA) est responsable des prises de d´ecisions concernant l’admission de nouveaux flux. En effet, ce module est conscient des ressources localement disponibles puisqu’il garde une id´ee sur la capacit´e localement consomm´ee (les ressources d´ej`a allou´ees). D’apr`es les ´etudes des fichiers d’enregistrement des donn´ees des vols et en se basant sur les directions de l’´equipe des d´eveloppeurs du syst`eme Paparazzi de l’ENAC, nous avons constat´e que le trafic Best-effort repr´esente 63% de la totalit´e du trafic ´echang´e alors que la trafic Premium ne repr´esente que 22%. En cons´equence, la capacit´e totale allou´ee au trafic Premium dans le r´eseau est fix´ee dans le but de pr´eserver le trafic Best-effort. Elle repr´esente la quantit´e maximale de bande passante r´eserv´ee aux trafics Premium et elle d´epend de la capacit´e du canal de transmission. Cette valeur est ´egale `a 20% de la capacit´e totale du canal. 3.3.4 Le classificateur En obtenant les renseignements sur les flux de l’agent DAN, le module classificateur traite les priorit´es entre les diff´erents paquets qui doivent ˆetre ´emis en mettant en œuvre des strat´egies de marquage des paquets, d’ordonnancement, de planification et de mise en file d’attente. Il retarde l’´emission de certains paquets pour laisser le passage aux autres en suivant les renseignement de l’agent DAN. Le fonctionnement de tous ces modules est d´etaill´e dans la section 3.5.72 CHAPITRE 3. ARCHITECTURE DAN La section suivante pr´esente le protocole de signalisation utilis´e pour r´eserver les ressources dans le r´eseau pour les flux de la classe Premium. 3.4 La signalisation de DAN Dans le but de r´eserver des ressources pour le trafic Premium, DAN se base sur un ´echange de trois types de messages permettant d’´etablir des r´eservations, de les fermer et de notifier le nœud source en cas d’erreurs. Ces r´eservations sont rafraˆıchies par la r´eception des paquets data des flux concern´es afin de limiter la circulation des messages de contrˆole dans le r´eseau. Les trois types de messages ´echang´es sont : le message de r´eservation, nomm´e Reserve, le message de fermeture, nomm´e Close et le message d’erreur, nomm´e Error. Ces messages sont encapsul´es directement dans IP. Le message de r´eservation (Reserve) Le message Reserve est envoy´e du nœud source vers la destination. La route suivie par ce message est la mˆeme qui sera s´electionn´ee pour le transfert des paquets data. Le but de (Reserve) est d’annoncer aux nœuds interm´ediaires les besoins de flux arrivant afin d’allouer les ressources n´ecessaires. Il contient la valeur du d´ebit optimal permettant de garantir la qualit´e de trafic demand´ee (champ Bw du message) ainsi que les cordonn´ees du flux (adresse source, adresse destination, num´ero de port source et num´ero de port destination) (figure 3.2). Entête IP Type Adr_Dest Prt_Dest Adr_Src Prt_Src Bw 8 bits 32 bits 16 bits 32 bits 16 bits 16 bits Figure 3.2 – Format des messages Reserve et Error Le message d’erreur (Error) Ce type de message est envoy´e vers le nœud source afin de lui signaler des erreurs dans deux cas : – un des nœuds interm´ediaires ne peut pas allouer les ressources n´ecessaires ; – suite `a un changement de topologie, le trafic traverse une nouvelle route n’ayant pas de ressource allou´ee pour ce flux.3.5. LE FONCTIONNEMENT DE DAN 73 Dans les deux situations, le message d’erreur contient la valeur de d´ebit disponible localement au niveau du nœud concern´e par le probl`eme ainsi que les coordonn´ees du flux (figure 3.2). Le message de fermeture de r´eservation (Close) Ce message a pour but d’annoncer aux nœuds interm´ediaires, sur la route vers la destination, la fermeture de la r´eservation. Par cons´equent, il permet de lib´erer les ressources d´ej`a r´eserv´ees. Ce message contient uniquement les coordonn´ees du flux concern´e (figure 3.3). Entête IP Type Adr_Dest Prt_Dest Adr_Src Prt_Src 8 bits 32 bits 16 bits 32 bits 16 bits Figure 3.3 – Format du message Close Comme pr´esent´e dans les figures 3.2 et 3.3, ces trois messages sont encapsul´es directement dans IP. Le rafraichissement d’une r´eservation est r´ealis´e par la r´eception des paquets de donn´ees du flux concern´e. Tant que le nœud re¸coit des paquets de donn´ees ayant les mˆemes coordonn´ees que le flux r´eserv´e, il consid`ere que la r´eservation est toujours maintenue. Ce choix est pris dans le but de limiter la circulation d’autres types de message de signalisation. La section suivante d´etaille les ´etapes suivies par DAN afin de garantir la diff´erentiation de trafic. 3.5 Le Fonctionnement de DAN Apr`es avoir pr´esent´e les diff´erents modules qui constituent l’architecture DAN ainsi que la signalisation utilis´ee pour r´eserver les ressources n´ecessaires, cette section d´etaille le fonctionnement de chaque module de DAN. 3.5.1 API DAN Quand un nœud tente d’´emettre un trafic, l’application concern´ee, suppos´ee consciente des besoins de ce flux, communique avec l’agent DAN par74 CHAPITRE 3. ARCHITECTURE DAN des ´echanges sp´ecifiques `a travers l’API de DAN. Le but de cet ´echange est de lui fournir les renseignements n´ecessaires sur le flux `a ´emettre. Chaque application demande la cr´eation d’un socket de l’API DAN en utilisant la commande DAN Socket(). A l’aide de la commande ` Bind(), elle le lie `a ses deux extr´emit´es (l’application et l’agent DAN). L’application initialise l’´echange par la commande Reservation Command(), qui contient les cordonn´ees du trafic `a ´emettre ainsi que sa classe du trafic. Si ce trafic est un flux Premium, la commande doit contenir aussi la valeur de la bande passante optimale demand´ee. Dans le cas d’un flux Urgent ou Best-effort, L’application commence `a ´emettre les donn´ees imm´ediatement apr`es cette commande, par contre elle doit attendre l’autorisation de l’agent dans le cas de flux Premium. Suite `a la r´eception de la commande de r´eservation, l’agent DAN initialise une proc´edure de r´eservation de ressources dans le r´eseau (cette proc´edure est d´etaill´ee dans le paragraphe 3.5.2). Selon les r´esultats de cette proc´edure, deux r´eponses pour l’application sont possibles : – la r´eponse Send Reply() qui autorise `a l’application d’accomplir son ´emission puisque sa demande a ´et´e admise ; – la r´eponse n´egative Stop Reply(). Elle indique l’´echec de la r´eservation et contient la quantit´e des ressources disponibles dans le r´eseau. Dans le deuxi`eme cas, l’application a la possibilit´e de n´egocier en r´eduisant ses demandes selon les ressources disponibles, si possible, dans le but de r´etablir une nouvelle r´eservation. A la fin de l’´emission d’un flux, la commande Close Command() doit ˆetre envoy´ee vers l’agent DAN afin de lib´erer les ressources r´eserv´es. La figure 3.4 illustre un exemple de situation permettant d’expliquer le fonctionnement de l’API. Apr`es la cr´eation du socket entre l’API et l’agent, l’application initialise une r´eservation de ressources pour un flux Premium qui a besoin de la quantit´e Bw1 de la bande passante. Apr`es l’´etablissement de la r´eservation dans le r´eseau, l’agent DAN r´epond par Send Reply(). Ainsi, l’application commence sa transmission de donn´ees `a travers les sockets UDP et TCP. D´etectant une erreur dans le r´eseau, l’agent notifie l’application par Stop Command() contenant la quantit´e des ressources disponibles dans le r´eseau Bw2. Dans ce cas, l’application d´ecide de n´egocier avec le r´eseau. Elle accepte de d´egrader sa qualit´e de trafic et demande d’´etablir une nouvelle proc´edure de r´eservation. Si l’application d´esire modifier la classe ou les demandes de son flux, elle peut notifier `a tout moment l’agent DAN par la commande Reservation Command().3.5. LE FONCTIONNEMENT DE DAN 75 Application L’agent DAN Etablissement d’une réservation Transmission de données Décision de négociation Etablissement d’une réservation Transmission de données Libération des ressources dans le réseau Figure 3.4 – Exemple de fonctionnement de l’API DAN A la fin de la transmission, L’application envoie une ` Close Command() `a l’agent dans le but de lib´erer les ressources r´eserv´ees. L’API DAN permet `a l’application d’ˆetre le maitre de la situation et de d´ecider d’annuler l’´emission si elle demande une QdS ferme pour son trafic ou de n´egocier les ressources disponibles dans le r´eseau. De plus, elle lui permet de modifier les besoins de chaque flux `a tout moment au cours de la mission dans le but d’adapter le syst`eme `a l’´evolution de la tˆache du nœud au cours du temps. La sous-section suivante pr´esente la suite de la proc´edure de r´eservation des ressources pour un flux Premium r´ealis´e par l’agent DAN.76 CHAPITRE 3. ARCHITECTURE DAN 3.5.2 L’agent DAN Apr`es la r´eception d’une commande de r´eservation Reservation Command(), pour un flux Premium, l’agent DAN initialise une proc´edure de r´eservation de ressources dans le r´eseau en envoyant le message de signalisation Reserve contenant la quantit´e de la bande passante optimale demand´ee. Ce message est envoy´e en unicast vers le prochain nœud interm´ediaire de la route vers la destination. Comme indiqu´e dans la section pr´ec´edente, le message Reserve contient les cordonn´ees de la destination et du nœud source. Apr`es l’´emission du message Reserve, l’agent DAN attend durant un intervalle WTS (Wait To Send). Si au cours de cet intervalle de temps aucun message d’erreur n’est re¸cu, l’agent suppose que la r´eservation est ´etablie et r´epond `a l’application par un Send Reply() pour autoriser l’´emission du flux. Au niveau de chaque nœud interm´ediaire, l’agent DAN consulte le contrˆoleur d’admission dans le but d’avoir sa d´ecision concernant l’admission ou le refus de ce flux. Dans le cas o`u le nœud peut fournir les ressources n´ecessaires, l’agent met `a jour sa liste de flux r´eserv´es et retransmet le message Reserve au nœud suivant. Dans le cas contraire, o`u le nœud ne peut pas fournir les ressources n´ecessaires, il rejette le message Reserve et envoie un message Error `a la source contenant la quantit´e de la bande passante disponible localement ce qui offre une deuxi`eme chance `a la source pour n´egocier et r´eserver les ressources disponibles. Lorsque l’agent DAN du nœud source re¸coit le message d’erreur, il notifie imm´ediatement l’application avec le message Stop Reply et la valeur de la bande passante disponible. Au cours de la transmission des donn´ees, les nœuds mobiles continuent `a bouger entrainant la cr´eation de nouvelles routes et le changement d’autres. Avec le changement des routes, des nœuds peuvent recevoir du trafic Premium sans r´eservation pr´ealable. Dans ce cas, le nœuds traite le paquet comme du Best-effort et envoie un message d’erreur, de type Error , `a la source contenant la quantit´e de bande passante disponible dans le but de r´etablir une nouvelle r´eservation. Une r´eservation est maintenue pour une p´eriode WTC (Wait To Clear), et elle est rafraichie avec la r´eception des paquet du flux de donn´ees comme pr´esent´e dans le diagramme de s´equencement 3.5. En effet, l’agent d´efinit pour chaque flux Premium r´eserv´e un minuteur WTC r´einitialis´e avec la r´eception de chaque paquet de donn´ees du trafic concern´e. Apr`es une dure WTC de la r´eception du dernier paquet de donn´ees (`a l’expiration du minu-3.5. LE FONCTIONNEMENT DE DAN 77 teur), le nœud consid`ere que la r´eservation est ferm´ee. Apr`es l’expiration de l’intervalle WTC ou `a la r´eception d’un message Close, la r´eservation est annul´ee et les ressources sont lib´er´ees. Agent DAN Nœud Intermédiaire Agent DAN Nœud Intermédiaire Contrôle de l’admission WTS WTC WTC Transmission de données Annulation de la réservation Application Agent DAN Nœud source Figure 3.5 – Diagramme de s´equencement de l’´etablissement et le rafraichissement des r´eservations Cette sous-section a d´etaill´e le fonctionnement de l’agent DAN qui permet de r´eserver les ressources pour les flux Premium. La sous-section suivante explique le fonctionnement du contrˆoleur d’admission. 3.5.3 Le contrˆoleur d’admission Comme expliqu´e dans la section pr´ec´edente, nous avons choisi de fixer la capacit´e maximale allou´ee aux flux Premium dans le r´eseau dans le but de r´eserver une quantit´e fixe pour le trafic Best-effort qui constitue la grande portion du trafic Paparazzi. Pour garantir la QdS demand´ee, le contrˆoleur d’admission DAN garde une id´ee sur l’´etat du canal de transmission. A la r´eception de chaque demande de `78 CHAPITRE 3. ARCHITECTURE DAN r´eservation Premium, le contrˆoleur d’admission compare la bande passante demand´ee avec la quantit´e des ressources disponibles (la quantit´e de bande passante r´eserv´ee pour le trafic Premium restante), si elle est plus petite, le flux sera admis sinon il sera rejet´e. Le contrˆoleur d’admission est le module qui prend les d´ecisions concernant l’admission d’un flux ou non. Il permet d’allouer des ressources pour les flux Premium dans la limite de la capacit´e totale allou´ee `a cette classe dans le r´eseau afin de garantir la QdS demand´ee pour chaque flux de trafic Premium. La diff´erenciation entre un flux Premium admis et les autres est r´ealis´e au niveau du module classificateur pr´esent´e dans la sou-section suivante. 3.5.4 Le classificateur En se basant sur les donn´ees de flux collect´ees au niveau de l’agent DAN, le classificateur diff´erencie chaque paquet et le marque selon la classe demand´ee par son application. Le marquage des paquets est r´ealis´e au niveau du champ ToS (Type Of Service) de l’entˆete IP. L’avantage de cette technique qu’elle est simple `a r´ealiser. Pour les paquets Premium, les nœuds interm´ediaires doivent se baser, en plus du champ TOS, sur les donn´ees de l’agent DAN afin de v´erifier la d´ecision d’admission prise pour ce flux. Les paquets des flux Premium non admis sont consid´er´es comme du trafic Best-effort. A chaque fois, que ` le classificateur re¸coit un paquet de donn´ees d’un flux Premium admis, il informe l’agent afin de rafraichir sa r´eservation et r´einitialiser son minuteur WTC. Les paquets sont envoy´es ainsi vers l’une des trois files d’attentes d´efinies pour chaque classe de trafic (Urgent, Premium, et Best-effort). La file de la classe Urgent est la plus prioritaires alors que la file du trafic Best-effort est la moins prioritaire ce qui permet de cr´eer la diff´erence entre les trois cat´egories de trafic lors de la vidange des files. Un ordonnanceur respectant ces priorit´es est utilis´e (figure 3.6). A chaque ` fois qu’il tente de retirer un nouveau paquet pour l’´emettre, il commence toujours par v´erifier les files les plus prioritaire. Par cons´equent, tant qu’il existe des paquets `a ´emettre dans ces files, les autres paquets seront retard´es. En cas de congestion, cette gestion des files d’attente peut aboutir `a la saturation de la file la moins prioritaire (Best-effort) qui a une taille fixe. Dans ce cas, la file commence `a rejeter les paquets en exc`es. Les paquets de signalisation ainsi que les paquets de routage sont consid´er´es comme du trafic Urgent dans le but de garantir le minimum de d´elai et de pertes pour ces ´echanges.3.5. LE FONCTIONNEMENT DE DAN 79 Source locale Interfaces Régulation de Trafic Classification Urgent Premium Best-effort + ++ +++ Ordonnance ment Décision CA ? Figure 3.6 – Traitement de paquets par DAN Conclusion Ce chapitre a pr´esent´e l’architecture DAN qui r´epond aux exigences des syst`emes de drones coop´eratifs. En effet, ce genre de syst`eme ´echange une vari´et´e de type de message qui a diff´erents besoins de Qds. Ces besoins peuvent varier au cours du temps avec l’´evolution des circonstances de l’op´eration des drones. Apr`es une ´etude de ces exigences et des types de messages qui peuvent ˆetre ´echang´es au cours d’une op´eration d’une flotte de drones, nous avons d´efinie trois cat´egorie de trafic : une classe pour le trafic Urgent qui contient les messages critiques, une classe Premium pour les flux qui ont des demandes strictes en termes de QdS et une classe pour le trafic Best-effort qui n’a aucune exigence sur la QdS. L’architecture DAN regroupe des m´ecanismes de fourniture de QdS choisis pour pouvoir s’adapter `a ce genre de syst`eme et aux autres protocoles MAC et routage ainsi que pour pouvoir l’impl´ementer facilement sur de vrais drones Paparazzi puisqu’elle ne n´ecessite pas des modifications complexes (comme pour la modification de l’entˆete IP propos´e par INSIGNIA).80 CHAPITRE 3. ARCHITECTURE DAN DAN est adapt´e `a l’environnement et aux trafics Paparazzi puisqu’il diff´erencie le trafic en trois classes diff´erentes, contrairement `a la majorit´e des mod`eles propos´es dans la litt´erature qui donne la priorit´e absolue aux trafics temps-r´eel quitte `a bloquer totalement les ´echanges Best-effort. DAN offre la haute priorit´e `a la classe Urgent, cependant, la d´efinition de cette classe ne la permet pas de saturer le canal puisqu’elle contient des messages ´echang´es sporadiquement. De plus, DAN garantit la QdS pour les flux Premium par des r´eservations de ressources sans p´enaliser et d´egrader le trafic Best-effort. En effet, nous avons fix´e la capacit´e totale allou´ee pour le trafic Premium dans le r´eseau. Cette valeur d´epasse la quantit´e de flux Premium du trafic Paparazzi et elle sert `a ´eviter les situations d’exag´eration afin de pr´eserver le trafic Best-effort. DAN se base sur les deux type de granularit´e par flux et par classe pour assurer les besoins des flux Premium ainsi que des autres classes de trafic Urgent et Best-effort. Ce principe permet de limiter les ´echanges de signalisation dans le r´eseau puisque DAN ne r´eserve des ressources que pour les flux Premium ce qui permet de conserver la bande passante dans le r´eseau. En outre, grˆace `a son API, DAN permet `a chaque application de n´egocier la qualit´e de son trafic et mˆeme de modifier les besoins `a tout moment. Cela diff´erencie DAN des autres structures de gestion de QdS classiques qui se basent sur le type de protocole pour diff´erencier le trafic tout au long de l’´echange.Chapitre 4 Evaluation des performances de ´ DAN par simulation Contents 4.1 Mod`ele de mobilit´e PPRZM . . . . . . . . . . . . 82 4.1.1 Les mouvements des drones Paparazzi . . . . . . . 82 4.1.2 PPRZM . . . . . . . . . . . . . . . . . . . . . . . . 85 4.1.3 Validation du mod`ele PPRZM . . . . . . . . . . . 88 4.2 Evaluation de DAN . . . . . . . . . . . . . . . . . 92 ´ 4.2.1 Evaluation du fonctionnement du Contrˆoleur d’ad- ´ mission . . . . . . . . . . . . . . . . . . . . . . . . 93 4.2.2 Etude des minuteurs . . . . . . . . . . . . . . . . . 97 ´ 4.2.3 Performances g´en´erales de DAN . . . . . . . . . . 106 4.2.4 Evaluation de l’impact de variation de la charge ´ du r´eseau . . . . . . . . . . . . . . . . . . . . . . . 109 4.2.5 Evaluation avec d’ autres protocoles de routage . . 112 ´ Introduction Ce chapitre pr´esente l’´etude de l’´evaluation des performances r´ealis´ee pour l’architecture DAN par simulation. La simulation est un moyen d’´evaluation des performances de syst`emes de communication et de pr´edire les probl`emes possibles qui peuvent l’affecter en environnement r´eel. DAN a ´et´e ´etudi´ee en utilisant le simulateur OMNET++. Afin de cr´eer un environnement de simulation proche de la r´ealit´e, nous avons d´evelopp´e un mod`ele de mobilit´e reproduisant les mouvements r´eels des 8182CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ drones Paparazzi. Ce mod`ele est pr´esent´e dans la premi`ere section de ce chapitre. La deuxi`eme section de ce chapitre pr´esente les diff´erents sc´enarios simul´es dans le but d’´evaluer les performances de DAN ainsi que leurs r´esultats. 4.1 Mod`ele de mobilit´e PPRZM Etant donn´e que les traces r´eelles n’offrent pas la possibilit´e de faire va- ´ rier des param`etres de simulations dont par exemple la dur´ee ou le nombre de drones utilis´es `a cause de la complexit´e d’obtention une vari´et´e de ces donn´ees, il est plus judicieux d’utiliser un mod`ele de mobilit´e qui reproduit le mouvement r´eel des drones Paparazzi dans le but d’´etudier divers cas possibles. 4.1.1 Les mouvements des drones Paparazzi D’apr`es l’´equipe de d´eveloppement du syst`eme Paparazzi de l’ENAC, ainsi que l’´etude des fichiers d’enregistrement des donn´ees de vols r´eels, les drones Paparazzi ont cinq types de mouvements possibles, nous l’avons nomm´e comme suit : Mouvement rectiligne Il s’agit du mouvement rectiligne vers une position de destination. Le drone a la possibilit´e de faire des allers-retours rectilignes en effectuant un tour complet pour faire demi-tour `a chaque extr´emit´e. Ce mouvement est d´efini `a partir de deux positions qui sont la position initiale et la position destination (figure 4.1). Figure 4.1 – Le mouvement rectiligne4.1. MODELE DE MOBILIT ` E PPRZM ´ 83 Mouvement circulaire Le drone survole une position fixe suivant une trajectoire circulaire (figure 4.2). Les mouvements circulaires sont d´efinis par la position du centre et le rayon de la trajectoire. Pour les drones Paparazzi, le rayon Rc est une valeur fixe pour tous les mouvements circulaire, alors que la position du centre est une variable choisie pour chaque mouvement permettant de localiser ce mouvement dans la zone. RC Figure 4.2 – Le mouvement circulaire Le drone initie son mouvement par le point du cercle le plus proche de sa position actuelle. Ce point est l’intersection entre le cercle et la droite qui passe par son centre et la position du drone (figure 4.2). Mouvement oblong Ce mouvement est form´e par des allers-retours rectilignes d´ecal´es entre deux points fixes avec un demi-tour une fois pass´e chaque point (figure 4.3). Ces deux points permettent de situer le mouvement dans la zone. Les rayons des deux demi-cercles ont la mˆeme valeur que le rayon Rc du mouvement circulaire. Le drone initie son mouvement par l’intersection entre le premier demicercle de centre C1 et le mouvement rectiligne (Point rouge sur la figure 4.3). Mouvement Huit Le mouvement Huit a le mˆeme principe que le mouvement oblong. La seule diff´erence est que les allers-retours du mouvement Huit se croisent (figure 4.4) ;84CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ Rc Figure 4.3 – Le mouvement oblong Figure 4.4 – Le mouvement Huit Comme le mouvement oblong, le Huit se produit autour de deux points localisant la trajectoire avec la mˆeme valeur de rayon que les mouvements circulaire et oblong. Le drone initie son mouvement par l’intersection entre le premier demi-cercle de centre C1 et le mouvement rectiligne (Point rouge sur la figure 4.4). Mouvement balayage Ce mouvement r´ealise des allers-retours d´ecal´es d’une mani`ere continue permettant de couvrir la surface d’un rectangle d´esign´e par deux de ses coins oppos´es (figure 4.5). Les d´eviations du drone sont r´ealis´ees par des demicercles de rayon Rs diff´erents du rayon Rc. La position de d´epart est l’un des deux points d´efinissant la localisation du mouvement. Une fois arriv´e `a l’autre coin du rectangle `a balayer, le drone reprend son chemin en le d´ecalant par un demi-rayon Rs.4.1. MODELE DE MOBILIT ` E PPRZM ´ 85 Rs Figure 4.5 – Le mouvement balayage 4.1.2 PPRZM Le mod`ele de mobilit´e PPRZM (PaPaRaZzi Mobility) reproduit ces mouvements au niveau du simulateur r´eseau afin de cr´eer un d´eplacement de nœuds r´ealiste. Il a ´et´e d´efini selon les indications de l’´equipe d´eveloppeur du syst`eme Paparazzi `a l’ENAC ainsi que l’´etude des traces de mouvements r´eels. Au d´ebut de chaque simulation, tous les nœuds se concentrent dans la mˆeme position initiale qui repr´esente le point de d´ecollage des drones. Par la suite, ils initialisent leurs mouvements par une phase de d´ecollage pour atteindre les altitudes choisies al´eatoirement pour chaque drone (maximum 8 m). Chaque a´eronef garde son altitude fixe durant toute la dur´ee de simulation. Les figures 4.6 et 4.7 pr´esentent graphiquement des traces de mouvements r´eels de trois drones Paparazzi. Figure 4.6 – Traces r´eelles de trois drones Paparazzi86CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ Figure 4.7 – Altitudes des trois drones Paparazzi utilis´es dans le graphe 4.6 Au cours de la simulation, chaque drone choisit al´eatoirement un type de mouvement. Par la suite il fixe ses deux caract´eristiques : – la localisation : selon le type de mouvement choisi, le drone fixe la zone d’action d´efinie par les positions centrales dans le cas des mouvements circulaire, oblong et Huit ou les positions initiales et finales dans le cas des mouvements rectiligne et balayage ; – La vitesse : c’est une valeur al´eatoire uniforme choisie entre 15 m/s et 25 m/s. Les rayons des mouvements circulaire, oblong et Huit ont une valeur commune diff´erente de celle du rayon du mouvement balayage. Ces valeurs sont d´efinies au d´ebut de la simulation comme un param`etre d’entr´ee (pour le cas r´eel des drones Paparazzi, le rayon des circulaire, oblong, et Huit est de 80 m alors que le rayon du mouvement balayage est de 75m). Apr`es avoir choisi al´eatoirement un type de mouvement ainsi que sa localisation dans la zone de simulation, le drone calcule la position optimale pour initialiser le mouvement. Il se dirige vers cette position par un mouvement rectiligne. Une fois arriv´e, le drone commence son mouvement choisi (figure 4.8). Ces diff´erentes ´etapes sont reproduites p´eriodiquement durant toute la dur´ee de la simulation. Les diff´erents types de mouvements ont une probabilit´e plus ou moins grande de se reproduire. Par exemple, si les mouvements circulaire, oblong et balayage se produisent chacun 30% du temps, Huit et rectiligne se produisent chacun uniquement 5% du temps. Le choix du type de mouvement n’a aucune relation avec le choix pr´ec´edent. Ces probabilit´es sont param´etrables au d´ebut de chaque simulation. Cependant, d’apr`es les experts Paparazzi et l’observation des traces de mouvements r´eels, pour le cas g´en´eral des drones Paparazzi, les mouvements circulaire, oblong et Scan sont les mouvements les plus produits. Ce mod`ele4.1. MODELE DE MOBILIT ` E PPRZM ´ 87 type de mouvement Sélectionner un aléatoirement Choisir ses caractéristiques aléatoirement Trouver la position initiale Se déplacer vers la position initiale •Rectiligne •Circulaire •Oblong •Huit •Balayage •Rectiligne •Localisation •Vitesse Effectuer le mouvement choisi Figure 4.8 – Fonctionnement de PPRZM de mobilit´e peut ˆetre utilis´e pour l’´evaluation des syst`emes de communication dans le contexte d’une flotte de drones coop´eratifs. Les valeurs des probabilit´es allou´ees `a chaque type de mouvement sont modifiables (comme un param`etre d’entr´ee) dans le but d’offrir plus de degr´e de libert´e `a l’utilisateur pour adapter le mod`ele `a son application. Par exemple, pour ´etudier les performances du syst`eme dans le cadre d’une mission de collecte d’information autour d’une position fixe, il suffit de fixer la probabilit´e du mouvement circulaire ´egal `a 1 et celles de tous les autres mouvements `a 0.88CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ 4.1.3 Validation du mod`ele PPRZM Comme pr´esent´e dans le deuxi`eme chapitre, il n’existe pas une m´ethode commune permettant de valider et ´evaluer un mod`ele de mobilit´e. De plus, une grande vari´et´e de crit`eres est utilis´ee pour ´evaluer les nouveaux mod`eles. En cons´equence nous avons fix´e une m´ethode permettant de comparer le comportement de PPRZM avec les traces de mouvement de drones Paparazzi r´eels. 4.1.3.1 M´ethode de validation Pour ´etudier le comportement de PPRZM, nous avons class´e les m´etriques utilis´ees en deux cat´egories : g´eom´etrique et performances r´eseau. La cat´egorie g´eom´etrique ou spatiale permet d’´etudier l’aspect physique du mouvement (les trajectoires) et son impact sur la topologie du r´eseau alors que la cat´egorie li´ee aux performances du r´eseau permet d’´evaluer l’influence du mouvement sur le comportement des protocoles de communication. Pour notre ´etude, nous avons choisi de comparer le comportement de PPRZM avec le comportement du mod`ele RWP (Random Way-Point) ainsi qu’avec des traces de mouvements r´eels de drones Paparazzi. Pour cela nous avons s´electionn´e cinq mesures g´eographiques et cinq mesures de performances r´eseau pour r´ealiser une comparaison compl`ete. M´etriques g´eographiques Cinq mesures ont ´et´e s´electionn´ees : – La moyenne des cases vides (EmptyCells) : cette m´etrique consiste `a diviser l’espace en cases de mˆeme taille. Le nombre de cases est ´egal au nombre de mobiles. Par cons´equent, les nœuds sont distribu´es uniform´ement, si en moyenne un drone est localis´e par case. Cette mesure calcule la moyenne du nombre des cases vides au cours du temps. Elle se r´ef`ere `a l’uniformit´e de distribution des drones dans l’espace de simulation ; – La fr´equence de passage par une case (Frequency) : Cette m´etrique se base sur le mˆeme principe de division de la zone ´etudi´ee en des cases. Elle compte le nombre de fois qu’un drone traverse une case. Elle calcule ensuite la moyenne sur le nombre des cases visit´es puis la moyenne sur l’ensemble des drones. La valeur de Frequency est tr`es importante si chaque drone ne visite qu’un nombre restreint de cases (figure 4.9). Cette m´etrique donnent une id´ee sur l’uniformit´e de mouvement de chaque drone.4.1. MODELE DE MOBILIT ` E PPRZM ´ 89 0 0 0 0 0 3 3 0 0 4 4 0 0 0 0 0 Figure 4.9 – Exemple de calcul de m´etrique Frequency La figure 4.9 pr´esente un exemple de zone de simulation divis´ee en grille, chaque cellule contient la fr´equence de passage d’un drone par cette case. Frequency de chaque cellule est le rapport de la fr´equence par le nombre des cellules visit´ees (soit 4 dans ce cas) ; – Le nombre de voisins(Neighbor) : c’est la moyenne du nombre des voisins par a´eronef. Deux nœuds sont dits voisins si l’un se trouve `a l’int´erieur de la port´ee de communication de l’autre. Cette m´etrique souligne la possibilit´e de cr´eation d’un r´eseau multi-saut. Une valeur importante du nombre de voisins peut affecter les performances du r´eseau puisque ¸ca renforce l’interf´erence ; – Les rencontres (Meeting) : elle compte le nombre de liens cr´e´es et rompus entre les nœuds au cours de la simulation. Cette m´etrique vise `a cerner la stabilit´e du r´eseau. Plus cette valeur est importante, moins le r´eseau est stable ; – Regroupement des nœuds (Clustering) : elle permet de savoir si un mod`ele a tendance `a regrouper les nœuds dans des zones s´epar´ees. Elle compte le nombre de voisins d’un mobile et le compare au nombre des voisins de ses voisins. Plus le rapport est important plus cette mesure est ´elev´ee, les nœuds ayant tendance `a s’agglutiner. Ces m´etriques r´ev`elent les caract´eristiques spatiales de la topologie du r´eseau. Elles donnent une intuition de la difficult´e que peut avoir le protocole de communication utilis´e (comme la possibilit´e ou non de cr´eer un r´eseau multi-saut, ou la possibilit´e de cr´eer des groupes d´econnect´es au sein du mˆeme r´eseau, etc). Cependant, elles ne montrent pas l’influence de ce comportement sur les performances du syst`eme. Pour cette raison, nous avons choisi d’autres m´etriques capables d’´etudier les performances du r´eseau.90CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ M´etriques des performances r´eseau Cinq m´etriques permettant d’´etudier les performances du r´eseau ont ´et´e s´electionn´ees : – Taux de livraison (Delivery Ratio) : c’est la comparaison entre le nombre de paquets re¸cus et le nombre de paquets ´emis au total. Cette m´etrique calcule la moyenne sur le nombre de drones ; – Le d´elai de bout en bout (End To End Delay) : elle calcule la valeur moyenne des ´ecarts entre l’´emission et la r´eception de chaque paquet de donn´ees ´echang´e dans le r´eseau ; – Nombre de saut (HopCount) : c’est la valeur moyenne des nombres de nœuds interm´ediaires utilis´es pour acheminer chaque paquet `a sa destination ; – D´ebit dans le r´eseau (Rate) : elle mesure le nombre de bits ´emis par intervalle de temps ; – Le nombre de paquet RREQ : cette m´etrique est sp´ecifique au protocole de routage AODV utilis´e. Elle consiste `a calculer le nombre de paquets de routage RREQ envoy´es dans le but de donner une estimation sur la difficult´e d’´etablissement d’une route dans le r´eseau. Ces m´etriques peuvent avoir diff´erents poids qui sont d´efinis selon les besoins de l’application du mod`ele de mobilit´e. Pour notre ´etude, nous visons `a valider le mod`ele dans le cas g´en´eral. Pour cette raison, nous posons que toutes les mesures s´electionn´ees aient le mˆeme poids. 4.1.3.2 R´esultats de la validation PPRZM est impl´ement´e en C++ sous OMNET++. Une trajectoire d’un nœud selon le mod`ele impl´ement´e est pr´esent´ee dans la figure 4.10. Ce mod`ele est valid´e par une comparaison de comportement avec les traces r´eelles et le mod`ele de mobilit´e le plus utilis´e RWP (Random WayPoint). Le mˆeme sc´enario, pr´esent´e dans le tableau 4.1, est utilis´e avec les trois mod`eles de mobilit´e. Comme avec les traces r´eelles, les drones restent immobiles dans leurs positions initiales durant les premi`eres 10 secondes. Par la suite, ils commencent `a bouger jusqu’`a la fin de la simulation. Durant toute la simulation, les drones ´echangent des messages UDP de 64 octets `a chaque seconde `a travers un r´eseau ad hoc utilisant le protocole de routage AODV ce qui nous a permis de mesurer les performances du r´eseau en termes de d´elai de bout en bout, taux de livraison, etc. Les r´esultats sont pr´esent´es dans des kiviats dans le but de faciliter la comparaison entre les diff´erents mod`eles utilis´es. Ces diagrammes pr´esentent4.1. MODELE DE MOBILIT ` E PPRZM ´ 91 100 200 300 400 500 600 700 800 900 0 100 200 300 400 500 600 700 800 900 0 10 20 30 40 50 60 Node0 Figure 4.10 – Trajectoire suivie selon PPRZM les r´esultats en fonction de la valeur maximale obtenue pour chaque m´etrique (parmi les r´esultats des trois mod`eles de mobilit´e). La figure 4.11 pr´esente les r´esultats g´eom´etriques des trois mod`eles PPRZM, RWP ainsi que les traces r´eelles des drones Paparazzi. Au premier coup d’œil au graphique, nous observons les diff´erents comportements des trois mod`eles simul´es ce qui confirme que chaque mod`ele a un impact unique sur le syst`eme. Les mesures EmptyCells, Frequency et Meeting du mod`ele PPRZM sont les plus proches de celles des traces r´eelles (Par exemple, EmptyCells du PPRZM est ´egale `a 93% de la valeur obtenue avec les traces r´eelles contre 85% pour RWP). Globalement, il est possible de dire que PPRZM g´en`ere un comportement plus proche de celui des mouvements r´eels des drones Paparazzi puisque il a trois r´esultats plus proches `a ceux des traces r´eelles que le mod`ele RWP. La figure 4.12, pr´esente les mesures des performances du r´eseau pour les trois mod`eles PPRZM, RWP et les traces r´eelles. Le diagramme de kiviat, montre aussi la diff´erence du comportement entre les trois mod`eles de mobilit´e. PPRZM r´ealise trois meilleurs r´esultats que RWP sur cinq : End To End Delay, Rreq number et le Hop Count (Pour RREQ Number, PPRZM r´ealise 95% du nombre de Rreq envoy´e avec les traces r´eelles, alors que RWP ´echange 112%). Globalement, PPRZM a un comportement proche de celui des mouvements r´eels des drones Paparazzi.92CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ Nombre de drones 40 Dur´ee de la simulation 1000 sec Zone de la simulation 1500 m x 1500 m Protocole de routage ´evalu´e AODV Protocole MAC 802.11 Capacit´e du canal 54 Mbps Trafic par drone UDP (64 Octets/s) Port´ee de transmission 100 m Vitesse valeur al´eatoire uniforme entre [15 mps, 25 mps] PPRZM Rayon du mouvement balayage 75 m Rayon des autres mouvements circulaires 80 m Table 4.1 – Sc´enario de la simulation PPRZM met en œuvre certains types de mouvement qui ne sont pas pris en compte par RWP comme le mouvement circulaire autour d’une position fixe (circulaire) ou le fait de refaire le mˆeme mouvement dans la mˆeme zone durant un intervalle de temps. De plus, PPRZM est un mod`ele stochastique permettant de varier les param`etres de simulation et de g´en´erer une diversit´e de cas possibles ce qui est difficile `a r´ealiser avec les traces r´eelles. 4.2 Evaluation de DAN ´ Cette section pr´esente l’´etude de DAN par simulation. Cette ´etude a pour but l’´evaluation de DAN ainsi que la validation du fonctionnement de ses m´ecanismes dans diff´erentes situations. Pour cela, cinq sc´enarios ont ´et´e d´efinis : – 1er sc´enario : une validation du fonctionnement du contrˆoleur d’admission et la capacit´e du syst`eme `a respecter les d´ecisions concernant l’admission d’un flux Premium ; – 2`eme sc´enario : une ´etude permettant de borner les dur´ees des minuteurs WTC et WTS ; – 3`eme sc´enario : une ´etude des performances de DAN dans un r´eseau congestionn´e ; – 4`eme sc´enario : une ´evaluation du comportement de DAN en variant la charge dans le r´eseau ;4.2. EVALUATION DE DAN ´ 93 Clustering EmptyCells Frequency Meet ing Neighbor ttt RWP ttt PPRZM ttt Real Traces Figure 4.11 – Comparaison g´eom´etrique – 5`eme sc´enario : une validation du fonctionnement de DAN avec d’autres protocoles de routage. Le trafic ´echang´e est en UDP afin de pouvoir mesurer les pertes. Toutes ces simulations sont lanc´ees plusieurs fois dans le but de g´en´erer une vari´et´e de cas possibles. Les r´esultats pr´esent´es dans cette section sont la moyenne des r´esultats de toutes ces r´ep´etitions. 4.2.1 Evaluation du fonctionnement du Contrˆoleur ´ d’admission Le but de cette ´etude est de valider le fonctionnement du contrˆoleur d’admission de DAN. Plus pr´ecis´ement, elle ´etudie la capacit´e de DAN `a prendre des d´ecisions d’admission (accepter ou refuser une demande de r´eservation de ressources) ainsi que sa capacit´e `a respecter cette d´ecision et `a fournir la QdS demand´ee `a chaque flux Premium admis. Pour cette raison, nous avons fix´e un sc´enario permettant de r´ealiser cette ´etude. Un nœud ´emetteur envoie vers un nœud r´ecepteur trois flux Premium avec des demandes en termes de QdS sup´erieures `a la capacit´e totale du syst`eme (Tableau 4.2). Uniquement deux flux peuvent ˆetre admis par le contrˆoleur d’admission94CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ DeliveryRat io EndToEndDelay HopCount Rate RREQ ttt RWP ttt PPRZM ttt Real Traces Figure 4.12 – Comparaison des performances du r´eseau (soit le 1er et le 2eme, soit le 2eme et le 3eme). L’admission est r´ealis´ee selon l’ordre chronologique de r´eception des requˆetes de r´eservation. L’application du flux non admis par le contrˆoleur d’acc`es, sera inform´ee par l’incapacit´e du syst`eme `a garantir la QdS demand´ee. Pour cette ´etude, nous consid´erons que l’application continuera `a ´emettre du trafic avec la qualit´e demand´ee durant toute la simulation bien qu’elle soit consciente de l’insuffisance des ressources. Par cons´equent, le syst`eme va devoir faire face `a un trafic Premium non admis. Cette hypoth`ese permet d’´etudier le comportement de DAN `a la r´eception du trafic Premium qui n’a pas ´et´e admis par le contrˆoleur d’admission. Cette section pr´esente les r´esultats de cette simulation en termes de taux de perte, de d´elais de bout en bout et de d´ebit de transmission. Taux de perte Diff´erents facteurs peuvent causer des pertes de paquets durant l’acheminement d’un trafic de la source vers sa destination comme la congestion du r´eseau, l’interf´erence et les collisions entre les paquets. Pour bien ´etudier le fonctionnement des m´ecanismes de DAN nous nous int´eressons aux pertes dans le syst`eme en g´en´eral en nous focalisant sur les pertes dues `a la congestion des files d’attentes.4.2. EVALUATION DE DAN ´ 95 Nombre de nœuds 2 Capacit´e du canal radio 54 Mbps Capacit´e maximale du Premium (dans le CA) 20 Mbps Flux Premium 1 10 Mbps : 1250 Octets chaque 1 ms Flux Premium 2 5 Mbps : 1250 Octets chaque 2 ms Flux Premium 3 15 Mbps : 1125 Octets chaque 0,6 ms Dur´ee de la simulation 650 sec Table 4.2 – Premier sc´enario Flux 1 Flux 2 Flux 3 Pertes dues `a la congestion 0 0 55.05 Pertes totales 1.7894 1.7895 56.201 Table 4.3 – Taux de perte mesur´e pour chaque Flux (%) Le tableau 4.3 pr´esente le taux de perte mesur´e pour chaque flux de trafic. Nous remarquons une grande diff´erence entre les taux de pertes g´en´eraux mesur´es pour le flux 3 (56.2%) et les taux de perte des flux 1 et 2 (1,78% pour chacun). Cet ´ecart est dˆu `a la diff´erence de traitement des trois flux par les files d’attentes. En effet, la congestion du syst`eme n’a caus´e aucune perte de paquets des flux 1 et 2 bien qu’elle a caus´e la destruction de 55% des paquets du flux 3. Il est ´evident que les trois flux n’ont pas ´et´e trait´es par la mˆeme file d’attente bien qu’ils sont les trois de la classe Premium. Cela s’explique par le fait que le syst`eme ne consid`ere que les flux 1 et 2 comme Premium et il consid`ere le flux 3 comme un trafic Best-effort puisque il s’agit d’un flux Premium non admis. Par cons´equent, le syst`eme retarde l’´emission de ces paquets dans le but de garantir la priorit´e des autres flux, ce qui congestionne le syst`eme et cause les pertes. D´elai de bout en bout Le d´elai de bout en bout est la dur´ee de transfert d’un paquet entre l’´emetteur et son r´ecepteur final. Plus pr´ecis´ement, c’est la somme de la dur´ee de propagation du paquet le long du chemin vers la destination et de la dur´ee de traitement r´ealis´e par le syst`eme (comme la dur´ee d’attente dans les files). Le tableau 4.4 pr´esente les d´elais de bout en bout mesur´es pour les diff´erents flux. La diff´erence entre les trois flux est tr`es remarquable (13496CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ Flux1 Flux2 Flux3 D´elai de bout en bout (ms) 1.61 1.45 134.16 Table 4.4 – D´elai de bout en bout mesur´e pour chaque flux (ms) ms pour le flux 3 et environ 1.5 ms pour les flux 1 et 2). Cette diff´erence montre que le syst`eme retarde les paquets du flux 3 pour garantir la priorit´e demand´ee aux autres flux. Flow1 Flow2 Flow3 Temps d’attente (ms) 0.27 0.3 133.1 Table 4.5 – Temps d’attente dans la file d’attente pour chaque flux (ms) Le tableau 4.5 confirme cette hypoth`ese. Il repr´esente le temps d’attente des paquets de chaque flux dans leurs files d’attente. Les paquets du flux 3 doivent attendre en moyenne 133 ms avant d’ˆetre ´emis alors que les paquets des flux 1 et 2 n’attendent que 0,3 ms. Ces r´esultats confirment la conclusion que DAN garantit la QdS demand´ee aux flux Premium admis par le contrˆoleur d’admission. D´ebit de transmission Les valeurs pr´esent´ees sur la courbe 4.13 sont les moyennes, sur des intervalles de 10 sec, du d´ebit mesur´e chaque 0,1 sec au niveau du r´ecepteur. La figure 4.13 ainsi que le tableau 4.6 pr´esentent les d´ebits mesur´es pour les flux 1, 2 et 3. Min Max Moyenne Flux 1 et 2 14999,7 15000,61,23 15000 Flux 3 7471 7510,8 7494,577 Table 4.6 – D´ebits mesur´es pour chaque flux de trafic Les r´esultats montrent que le d´ebit de chaque flux 1 et 2 a ´et´e respect´e (15 Mbits/s pour les deux) alors que le d´ebit du flux 3 a ´et´e d´egrad´e de moiti´e. Les r´esultats de cette ´etude montrent une diff´erence de traitement entre les trois flux de trafic Premium re¸cus. En effet, ayant re¸cu les demandes de r´eservation de ressources des flux 1 et 2 en premier, le CA accepte l’admission de ces flux et r´eserve les ressources n´ecessaires. En cons´equence, le syst`eme4.2. EVALUATION DE DAN ´ 97 7000 8000 9000 10000 11000 12000 13000 14000 15000 16000 0 100 200 300 400 500 600 700 Débit (kbit s/sec) sec Débit= f(t ) Flux 3 Flux 1 et 2 Figure 4.13 – D´ebits mesur´es durant la simulation pour chaque flux de trafic n’a plus la capacit´e n´ecessaire pour l’admission de troisi`eme flux. Pour cette raison, il a trait´e ses paquets comme Best-effort puisque nous avons admis pour ce sc´enario que l’application continue `a ´emettre son trafic mˆeme en absence de ressources n´ecessaires. Le flux 3 a ´et´e retard´e dans le but de garantir la priorit´e demand´ee aux flux admis. Ainsi, il a le taux de perte et le d´elai de bout en bout les plus ´elev´es. De plus, son d´ebit a ´et´e d´egrad´e afin de garantir les ressources n´ecessaires pour les flux 1 et 2. Cette ´etude montre que DAN est capable d’accepter et de refuser les demandes de r´eservation de ressources pour les trafics Premium dans les limites de sa capacit´e. En outre, il offre aux flux Premium admis par le contrˆoleur d’admission leurs besoins en termes de pertes, de d´elais de bout en bout et de d´ebit de transmission. 4.2.2 Etude des minuteurs ´ Cette ´etude a pour but de borner la dur´ee des deux minuteurs WTS et WTC. Comme pr´esent´e dans le chapitre 3, WTS est la dur´ee d’attente par l’agent DAN d’un message d’erreur apr`es avoir lanc´e une demande de r´eservation de ressources pour un flux Premium. Une fois expir´e, l’agent consid`ere que sa demande a ´et´e admise et informe l’application pour commencer `a ´emettre son trafic. Le minuteur WTC est la dur´ee maximale d’attente de rafraichissement de98CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ r´eservation. Si la dur´ee de WTC d’un flux Premium s’´ecoule sans r´eception d’un paquet data permettant de rafraichir sa r´eservation, le nœud consid`ere que la r´eservation est annul´ee et lib`ere les ressources. Nombre de nœuds 10 Mod`ele de mobilit´e PPRZM Protocole de routage AODV-UU Protocole MAC 802.11 Capacit´e du canal 54 Mbits/s Capacit´e maximale du trafic Premium 11 Mbits/s Trafic Urgent/nœud 500 Octets : envoy´e al´eatoirement chaque [1s,3s] Trafic Premium/nœud 760 Kbits/s : 950 Octets chaque 10 ms Trafic Best-effort /nœud 4 Mbits/s 500 Octets chaque 1ms Zone de simulation 600 m x 600 m Port´ee radio 100m Table 4.7 – Deuxi`eme sc´enario Pour ces deux ´etudes, nous avons utilis´e le sc´enario pr´esent´e dans le tableau 4.7. Tous les nœuds ´emettent leurs trafics vers une seule destination qui est la station sol. 4.2.2.1 Le minuteur WTC La valeur de WTS a ´et´e fix´e `a 1 sec durant cette simulation puisque cette valeur est suffisamment grande pour ne pas congestionner le r´eseau par des flux Premium non admis par le contrˆoleur d’admission ce qui est valid´e par l’application cibl´ee. Le minuteur WTC est responsable de la mise `a jour des donn´ees du syst`eme. Par cons´equent, cette dur´ee ne doit pas ˆetre grande puisque le syst`eme risque de rejeter des r´eservations de nouveau flux Premium en se basant sur des donn´ees qui ne sont pas mises `a jour. Nous avons fait varier la valeur WTC (1 sec, 1.5 sec, 2 sec, 3 sec, 5 sec, 10 sec et 20 sec) dans le but d’´etudier l’influence de cette variation sur les performances du syst`eme. Ces valeurs sont choisies puisque dans notre sc´enario chaque drone ´echange 100 paquets Premium par seconde. La pertes de 100 paquets est suffisante pour fermer une r´eservation. En cons´equence,4.2. EVALUATION DE DAN ´ 99 0 10 20 30 40 50 60 70 80 0 2 4 6 8 10 12 14 16 18 20 Pert es(%) WTC(sec) Pert es= f(WTC) Urgent Prem ium Best -Effort Figure 4.14 – Taux de perte mesur´es avec chaque valeur de WTC pour les trois classes de trafic Les dur´ees fix´ees pour cette simulation sont suffisantes pour d´ecider l’annulation des reservations. Taux de perte La figure 4.14 pr´esente les taux de perte mesur´es avec chaque valeur de WTC pour les trois classes de trafic. Nous remarquons que la variation de la dur´ee de WTC n’affecte pas les mesures de pertes des classe Urgent et Best-effort qui gardent pratiquement les mˆemes valeurs avec les diff´erents tests r´ealis´es, contrairement aux pertes de la classe Premium qui augmente l´eg`erement avec l’augmentation de la dur´ee de WTC. En effet, durant la simulation les nœuds changent de positions, ainsi, leurs paquets suivent de nouvelles routes autres que celles d´ej`a r´eserv´ees. En gardant les donn´ees du r´eseau au niveau de chaque nœud durant une dur´ee WTC importante, les nouveau voisins risquent de voir leurs demandes de r´eservation rejet´ees. Ce qui augmente le taux de perte de cette classe. D´elai de bout en bout La figure 4.15 pr´esente les d´elais de bout en bout mesur´es avec les diff´erentes valeurs de WTC pour les trois classes de trafic. Les deux classes Urgent et Best-effort gardent les mˆemes valeurs de d´elais100CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0 2 4 6 8 10 12 14 16 18 20 Délais(sec) WTCm(sec) Délai= f(WTC) Urgent Prem ium Best -Effort Figure 4.15 – D´elais de bout en bout mesur´es avec les diff´erentes valeurs de WTC avec les diff´erentes simulations r´ealis´ees. Par contre, le d´elais de bout en bout de la classe Premium augmente l´eg`erement avec l’augmentation de la dur´ee de WTC. D´ebit de transmission D’apr`es les courbes de la figure 4.16, qui pr´esentent les moyennes de d´ebits de transmission mesur´ees pour les classes Premium et Best-effort durant ces diff´erentes simulations, la variation de la dur´ee de WTC affecte le d´ebit de la classe Premium qui diminue en augmentant cette dur´ee. Cette diminution est caus´ee par le rejet des r´eservations pour les flux Premium, ce qui diminue le d´ebit du trafic Premium dans le r´eseau. La signalisation ´echang´ee Apr`es l’expiration de WTC, le nœud annule la r´eservation et lib`ere les ressources. Il existe deux causes pour que le minuteur WTC ne soit pas rafraichi : – l’´emetteur a termin´e son ´emission mais le nœud n’a pas re¸cu le message DAN Close ; – `a cause de la mobilit´e, l’´emetteur s’´eloigne du nœud et change de route vers la destination.4.2. EVALUATION DE DAN ´ 101 4 6 8 10 12 14 16 0 2 4 6 8 10 12 14 16 18 20 Débit (kbit s/sec) WTCo(sec) Débit= f(WTC) Prem ium Best -Effort Figure 4.16 – D´ebits de transmission mesur´es avec la variation de la dur´ee WTC Dans le deuxi`eme cas, l’´emetteur peut tenter d’utiliser l’ancienne route une autre fois. Dans ce cas, il y aura un ´echange de messages de signalisation entre les deux mobiles puisque `a la r´eception des paquets de donn´ees d’un tra- fic Premium non admis par le contrˆoleur d’admission, le nœud doit informer la source par un message d’erreur pour qu’elle initialise la r´eservation. Pour cette raison, nous avons ´etudi´e l’influence de la variation de la dur´ee WTC sur le nombre de messages de signalisation ´echang´es durant toute la simulation. La figure 4.17 pr´esente les rapports entre le nombre de paquets de signalisation envoy´es durant toute une simulation et le nombre total de paquets Premium ´emis, mesur´es avec chaque valeur de la dur´ee de WTC. Autrement dit, cette figure pr´esente le nombre de paquets de signalisation par un paquet de donn´ees Premium envoy´e. La courbe montre que, lorsque la dur´ee de WTC augmente, le nombre de paquets de signalisation diminue l´eg`erement, ce se qui s’explique par le fait que, lorsque on augmente la dur´ee de WTC, les r´eservations sont maintenues pour des dur´ees plus longues au cours desquelles des mobiles peuvent changer rapidement de position. Par cons´equent, il y a moins d’´echange de message de signalisation dans le r´eseau.102CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ 3e-05 4e-05 5e-05 6e-05 7e-05 8e-05 9e-05 0 2 4 6 8 10 12 14 16 18 20 pktDAN/PktPremium WTC (sec) pktDAN/PktPremium=f(WTC) Figure 4.17 – Rapports entre le nombre de paquets de signalisation envoy´es et le nombre total de paquets Premium ´emis mesur´es avec les diff´erentes dur´ees de WTC Cette ´etude montre que la dur´ee du minuteur WTC affecte les performance du trafic Premium. Cette valeur ne doit pas ˆetre importante afin de garantir une mise `a jour suffisamment fr´equente du syst`eme. De plus, elle ne doit pas ˆetre tr`es faible pour diminuer les ´echanges de signalisation dans le r´eseau. Pour la suite de notre ´etude, nous fixons la valeur de WTC `a 2 sec puisque les r´esultats montrent que cette valeur a donn´e de meilleurs r´esultats par rapport aux autres dur´ees ´etudi´ees. 4.2.2.2 Le minuteur WTS Cette ´etude a pour but de borner la dur´ee du minuteur WTS. Cette valeur doit ˆetre inf´erieure `a celle du WTC, sinon les nœuds sources risquent de commencer `a ´emettre leurs premiers paquets Premium apr`es l’expiration des r´eservations. La valeur de WTC est fix´ee `a 2 sec pour varier la valeur de WTS (0.01 sec, 0.1 sec, 0.5 sec, 1 sec, 1.5 sec et 2 sec) et ´etudier l’impact de cette variation sur les performances du syst`eme et pouvoir choisir la dur´ee optimale. Taux de perte La figure 4.18 pr´esente les taux de perte mesur´es pour chaque classe de trafic avec les diff´erentes dur´ees de WTS.4.2. EVALUATION DE DAN ´ 103 0 10 20 30 40 50 60 70 80 0.010.1 0.5 1 1.5 2 Pert es(%) WTSB(sec) Pert es= f(WTS) Urgent Prem ium Best -Effort Figure 4.18 – Taux de perte mesur´es pour chaque classe de trafic durant les diff´erents tests Nous remarquons une l´eg`ere am´elioration au niveau du taux de perte de la classe Premium d´e 0.1 sec. Cela est dˆu au fait qu’apr`es l’expiration de WTS, le nœud commence directement `a ´emettre le trafic. Avec une tr`es faible dur´ee de WTS, le nœud peut commencer `a ´emettre son trafic mˆeme avant l’´etablissement de la r´eservation ce qui augmente les risques de traiter les paquets d´ej`a envoy´es comme un trafic Best-effort. D´elai de bout en bout La figure 4.19 pr´esente les d´elais de bout en bout mesur´es pour chaque classe de trafic avec les diff´erentes dur´ees de l’intervalle WTS. La figure montre une l´eg`ere am´elioration au niveau du d´elai mesur´e pour la classe Best-effort puisque, durant l’intervalle WTS, le syst`eme a moins de paquets Premium `a ´emettre, ce qui diminue la charge des files d’attente et par cons´equent, am´eliore le temps d’attente des paquets Best-effort dans leur file. D´ebit de transmission La figure 4.20 pr´esente les moyennes des d´ebits mesur´es pour les deux classes de trafic Premium et Best-effort avec les diff´erentes dur´ees de l’intervalle WTS. Nous remarquons une l´eg`ere am´elioration pour le d´ebit de la classe Best-104CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.01 0.1 0.5 1 1.5 2 Délais(sec) WTS(sec) Délai= f(WTS) Urgent Prem ium Best -Effort Figure 4.19 – D´elais mesur´es pour chaque classe de trafic durant les diff´erentes simulations 6000 8000 10000 12000 14000 16000 18000 0.010.1 0.5 1 1.5 2 Débit (kbit s/sec) WTS-(sec) Débit= f(WTS) Prem ium Best -Effort Figure 4.20 – D´ebit de transmission mesur´es pour les diff´erentes classes de trafic4.2. EVALUATION DE DAN ´ 105 4e-05 4.2e-05 4.4e-05 4.6e-05 4.8e-05 5e-05 5.2e-05 5.4e-05 5.6e-05 5.8e-05 6e-05 0.01 0.1 0.5 1 1.5 2 pktDAN/PktPrem ium WTSf(sec) pktDAN/PktPrem ium = f(WTS) Figure 4.21 – Nombre de messages de signalisation ´echang´es au cours de chaque simulation effort due aux mˆemes causes expliqu´ees pr´ec´edemment. Trafic de signalisation La figure 4.21 pr´esente la variation du rapport entre le nombre de paquets de signalisation ´emis et le nombre de paquets de donn´ees Premium envoy´es en fonction de la variation de la dur´ee WTS. La courbe montre une diminution du nombre de messages de signalisation envoy´es durant la simulation (pour les valeurs de 0,1 sec ≤ WTS ≤ 2 sec), ce qui s’explique par la fait qu’avec une courte dur´ee de WTS, la source peut commencer `a ´emettre ses paquets Premium avant la r´eception du message d’erreur DAN Error. En cons´equence, le nombre de messages de signalisation augmente pour la r´e-´emission du message d’erreur. Avec les dur´ees plus longues de WTS, les paquets risquent de traverser de nouvelles routes autres que celles d´ej`a r´eserv´ees, ce qui oblige les nœuds `a ´echanger davantage de messages de signalisation. Cette ´etude permet de borner la dur´ee de l’intervalle WTS. Cette valeur doit ˆetre entre 0,1 sec et la dur´ee de WTC. Pour le reste de notre ´etude, nous fixons la dur´ee de WTS `a une seconde, puisque cette valeur est sup´erieure `a la dur´ee du d´elai d’aller-retour dans le r´eseau (la valeur moyenne calcul´ee est ´egal `a 275ms) et inf´erieure `a la valeur WTC d´ej`a choisie. De plus, elle106CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ est valid´ee par l’application cibl´ee puisque nous remarquons sur les courbes pr´esent´ees pr´ec´edemment (figures 4.20 et 4.21) que cette valeur r´ealise les meilleurs r´esultats en termes de d´ebit et de la signalisation ´echang´ee par rapport aux autres dur´ees. 4.2.3 Performances g´en´erales de DAN Cette ´etude a pour but d’´evaluer les performances de DAN dans un r´eseau congestionn´e. Le tableau 4.8 pr´esente le sc´enario de cette simulation. Nombre de nœuds 11 Mod`ele de mobilit´e PPRZM Protocole de routage AODV-UU Protocole MAC 802.11 Capacit´e du canal 54 Mbits/s Capacit´e maximale du Premium 11 Mbits/s Trafic Urgent/nœud 500 Octets : envoy´es al´eatoirement chaque [1s,3s] Trafic Premium/nœud 760 Kbits/s : 950 Octets chaque 10 ms Trafic Best-effort /nœud 4 Mbits/s : 500 Octets chaque 1ms Zone de simulation 600 m x 600 m Port´ee radio 100m Table 4.8 – Troisi`eme sc´enario Tous les nœuds ´emettent le mˆeme trafic vers une seule station sol. Taux de perte Le tableau 4.9 pr´esente les taux de perte calcul´es pour chaque classe de trafic. Urgent Premium Best-effort Pertes dues `a la congestion 0 0 74.678 Pertes totales 7.79 8.04 76.614 Table 4.9 – Taux de perte mesur´e pour chaque classe de trafic (%) Les r´esultats montrent une grande diff´erence entre les pertes de la classe Best-effort et celles des classes Urgent et Premium. En effet, les m´ecanismes4.2. EVALUATION DE DAN ´ 107 de gestion de trafic retardent l’´emission des messages Best-effort afin de garder la priorit´e des autres classes. Ainsi, ces paquets saturent la file d’attente qui commence `a les rejeter. Nombre de paquets par file d'attente La file Best-Effort La file Premium La file Urgent Temps (sec) 0 0 20 20 40 40 60 60 80 80 100 100 120 120 140 140 160 160 180 180 200 200 220 220 240 240 260 260 280 280 300 300 0 0 20 20 40 40 60 60 80 80 100 100 120 120 Nombre de paquet Figure 4.22 – Nombre de paquets par chaque file d’attente La figure 4.22 pr´esente le nombre de paquets par file d’attente obtenue au cours de la simulation. Elle confirme que la file Best-effort ´etait satur´ee durant toute la dur´ee de la simulation, ce qui explique que le taux de perte dˆu `a la congestion de la classe Best-effort est ´egal `a 74,67% alors qu’il est nul pour les trafics Urgent et Premium. Malgr´e la gestion de trafic de DAN, les r´esultats montrent des pertes au niveau des classes Urgent et Premium (7,69% et 8,14% ainsi que 76,61% pour la classe Best-effort). Ces pertes sont caus´ees par des probl`emes li´es au r´eseau comme des interf´erence et des collisions. D´elai de bout en bout Le tableau 4.10 pr´esente les d´elais de bout en bout mesur´es pour chaque classe de trafic. Il montre l’impact de la gestion de la QdS sur le trafic Besteffort qui r´ealise un d´elais de 397 ms contre 20 ms et 28 ms pour les deux classe Premium et Urgent.108CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ Urgent Premium Best-effort D´elai de bout en bout 0.016 0.02 0.397 Table 4.10 – D´elai de bout en bout mesur´e pour chaque classe de trafic La saturation du canal de transmission a un effet aussi sur l’augmentation des d´elais. En effet, chaque nœud doit attendre son rˆole pour pouvoir ´emettre ses paquets ce qui peut tarder lorsque le canal partag´e est satur´e. D´ebit de transmission La figure 4.23 et le tableau 4.11 pr´esentent les d´ebits mesur´es pour les deux classes de trafic Premium et Best-effort. Pour cette ´etude, le d´ebit est mesur´e chaque 0,1 seconde. Les valeurs pr´esent´ees sont les moyennes sur des intervalles de 1 seconde. 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 22000 24000 0 50 100 150 200 250 300 Débit (kbit s/sec) TempsE(sec) Débit= f(t ) Prem ium Best -Effort Figure 4.23 – D´ebit mesur´e durant la simulation pour les deux classes Premium et Best-effort Min Max Moyenne Premium 2993 8876 8268,449 Best-effort 12332,31 22888 20762,538 Table 4.11 – D´ebit mesur´e pour les deux classes de trafic Premium et Best-effort (Kbits/s)4.2. EVALUATION DE DAN ´ 109 La courbe montre que le syst`eme a r´eussi `a offrir le d´ebit demand´e par le trafic Premium (670 Kbits/s par nœud). Nous remarquons aussi que le d´ebit du trafic Best-effort a subi plus de fluctuations que le d´ebit du trafic Premium qui a gard´e les mˆemes valeurs durant toute la simulation. Cela montre que DAN garantit le d´ebit demand´e par les flux Premium. Cette ´etude montre l’efficacit´e de DAN dans le cas des r´eseaux congestionn´es puisqu’il respecte les QdS demand´ees par chaque classe de trafic. Il offre des taux de perte et des d´elais plus faibles pour le trafic Urgent et garantit le d´ebit optimal demand´e par les flux Premium. Malgr´e l’efficacit´e de DAN `a diff´erentier le trafic et `a g´erer la QdS dans les situations de congestion, il ne peut rien faire face aux collisions et aux interf´erences qui ont caus´e quelques pertes au niveau des deux classes Premium et Urgent. 4.2.4 Evaluation de l’impact de variation de la charge ´ du r´eseau Cette ´etude a pour but d’´evaluer les performances de DAN en augmentant `a chaque fois le nombre d’´emetteurs dans un r´eseau `a multi-saut. Nombre de nœuds 10 Protocole de routage AODV-UU Protocole MAC 802.11 Capacit´e du canal 54 Mbits/s Capacit´e maximale du Premium 11 Mbits/s Trafic Urgent/nœud 500 Octets : envoy´es al´eatoirement chaque [1s,3s] Trafic Premium/nœud 760 Kbits/s : 950 Octets chaque 10 ms Trafic Best-effort /nœud 4 Mbits/s : 500 Octets chaque 1ms Zone de simulation 600 m x 600 m Port´ee radio 100m Table 4.12 – Quatri`eme sc´enario Le tableau 4.12 pr´esente le sc´enario de cette simulation. Le nombre d’´emetteurs varie avec chaque test dans le but de modifier la charge du r´eseau et ils ´emettent tous leurs trafics vers une seule station de contrˆole.110CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ 0 10 20 30 40 50 60 70 80 1 2 3 4 5 6 7 8 9 10 Pertes(%) Nombre d'émetteurs Pertes=f(Nombre d'émetteurs) Urgent Premium Best-Effort Figure 4.24 – Taux de perte mesur´e pour chaque classe de trafic Taux de perte La figure 4.24 pr´esente les taux de perte de chaque classe de trafic mesur´es avec les diff´erents nombres d’´emetteurs. La courbe montre une diff´erence remarquable entre le taux de perte de la classe Best-effort et ceux des autres classes. De plus, les pentes des courbes sont totalement diff´erentes. En effet, le taux de perte des deux classes de trafic Premium et Urgent augmente tr`es lentement contrairement `a celui du trafic Best-effort qui augmente rapidement. Ces r´esultats montrent que, mˆeme quand la charge dans le r´eseau augmente, DAN garantit un taux de perte tr`es faible pour les deux classes prioritaires Urgent et Premium. D´elai de bout en bout La figure 4.25 pr´esente les d´elais de bout en bout mesur´es pour chaque classe de trafic avec les diff´erents nombres d’´emetteurs. Pour des r´eseaux peu charg´es, (1 ou 2 ´emetteurs), les r´esultats ne montrent pas une diff´erence de d´elais entre les trois classes. Pourtant, `a chaque fois que la charge augmente dans le r´eseau, le d´elai de bout en bout de la classe Best-effort augmente rapidement alors que les deux autres classes ´evoluent lentement en gardant les valeurs du d´elai les plus faibles. En effet, plus il y a des paquets Premium et Urgent qui circulent dans le r´eseau plus la dur´ee d’attentes des paquets Best-effort dans leur file d’attente augmente.4.2. EVALUATION DE DAN ´ 111 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 1 2 3 4 5 6 7 8 9 10 Délai(s) Nombre d'émetteurs Délai =f(Nombre d'émetteurs) Urgent Premium Best-Effort Figure 4.25 – D´elai mesur´e pour chaque classe de trafic Ces r´esultats montrent que DAN garantit un d´elai de bout en bout tr`es faible pour les deux classes de trafic Premium et Urgent comme requis. D´ebit de transmission La figure 4.26 pr´esente les valeurs moyennes de d´ebit de transmission mesur´ees pour les deux classes Premium et Best-effort en faisant varier le nombre d’´emetteurs dans le r´eseau. Elle montre que le d´ebit de la classe Premium augmente d’une mani`ere lin´eaire avec le nombre d’´emetteur, ce qui montre que le syst`eme est capable de fournir le d´ebit n´ecessaire pour ces flux. Cette augmentation ne menace pas le d´ebit du trafic Best-effort grˆace au seuil fix´e par le contrˆoleur d’admission. En effet, comme dans l’´etude 4.2.1 o`u les flux Premium d´epassent la capacit´e totale allou´ee `a cette classe, le syst`eme n’admet les demandes de r´eservation que dans les limites de la capacit´e totale allou´ee au trafic Premium. Le reste du trafic est trait´e comme Best-effort. Cette ´etude montre que DAN est capable de s’adapter `a la charge du r´eseau et de garantir une diff´erentiation de services. Il fournit les QdS demand´ees en termes de d´elais de bout en bout et de taux de perte pour les messages Urgent ainsi que de garantir le d´ebit de transmission requis pour chaque flux Premium. Ces QdS sont respect´ees mˆeme en variant la charge dans un r´eseau `a multi-saut des nœuds mobiles.112CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 1 2 3 4 5 6 7 8 9 10 Débits(Kbits/sec) (Nombre d'émetteurs) Débit=f(Nombre d'émetteurs) Premium Best-Effort Figure 4.26 – Moyennes de d´ebit de transmission mesur´ees pour les deux classes de trafic Premium et Best-effort 4.2.5 Evaluation avec d’ autres protocoles de routage ´ L’une des exigences de conception de DAN est de fonctionner ind´ependamment du protocole MAC et du protocole de routage ce qui permet de l’adapter `a n’importe quel syst`eme d’agents coop´eratifs. Cette ´etude a pour but d’´evaluer le fonctionnement de DAN avec des protocoles de routage autres que AODV pour valider cette exigence. Pour cette raison, nous avons lanc´e le mˆeme sc´enario que l’´etude 4.2.3 mais en utilisant deux autres protocoles de routage : OLSR et DSDV qui sont des protocoles de routage pro-actifs. Taux de perte La figure 4.27 pr´esente les taux de perte mesur´es pour chaque classe de trafic avec les deux protocoles de routage. Le graphe montre une diff´erence remarquable entre les pertes de la classe Best-effort (78,88% et 77,51%) et celles des classes Premium et Urgent (entre 10,21% et 4,28% pour la classe Urgent et 10,62% et 6,9% pour les flux Premium). Ces r´esultats montrent que DAN permet d’obtenir les taux de perte les plus faibles pour les classes Urgent et Premium ind´ependamment du protocole de routage.4.2. EVALUATION DE DAN ´ 113 0 10 20 30 40 50 60 70 80 Urgent Prem ium Best-Effort OLSR DSDV 4.48 78.86 77.51 10.21 10.62 6.90 Pertes ()) Figure 4.27 – Taux de perte mesur´es pour les diff´erentes classes de trafic D´elai de bout en bout La figure 4.28 pr´esente les d´elais de bout en bout mesur´es pour les diff´erentes classes de trafic avec les deux protocoles de routage OLSR et DSDV. 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 Urgent Prem ium Best -Effort OLSR DSDV 0.37 0.34 0.0106 0.013 0.0127 0.0125 Délaisé(s) Figure 4.28 – D´elai mesur´e pour chaque classe de trafic Elle montre la grande diff´erence entre les d´elais mesur´es pour le trafic Best-effort (0,34 sec et 0,37 sec) et ceux mesur´es pour les deux autres classes de trafic (environ 0,012 sec). Ces r´esultats confirment que DAN offre le d´elai le plus faible pour les trafics Urgent et Premium ind´ependamment du protocole de routage. D´ebit de transmission La figure 4.29 pr´esente les moyennes des valeurs de d´ebits mesur´ees pour les classes de trafic Premium et Best-effort avec les deux protocoles de routage OLSR et DSDV.114CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´ 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 Prem ium Best -Effort OLSR DSDV 7577.41 16880.68 18634.33 7119.91 Débitb(kbits/sec) Débits Figure 4.29 – D´ebits mesur´es pour les deux classes Best-effort et Premium avec les protocoles de routage OLSR et DSDV Les r´esultats montrent que DAN respecte le d´ebit demand´e par les flux Premium avec les diff´erents protocoles de routages. Cette ´etude montre que DAN peut s’adapter `a n’importe quel protocole de routage pour diff´erencier le trafic et garantir la QdS demand´ee pour chaque classe. Conclusion Ce chapitre a pr´esent´e l’´etude de performance de DAN par simulation. Cette ´etude a ´et´e r´ealis´ee dans un environnement proche de la r´ealit´e en utilisant le mod`ele de mobilit´e PPRZM. PPRZM reproduit les mouvements r´eels des drones Paparazzi d’une mani`ere al´eatoire. Il met en œuvre certains types de mouvements qui ne sont pas pris en compte par les autres mod`eles de mobilit´e usuels comme le mouvement de balayage d’une zone g´eographique ou le fait de refaire le mˆeme mouvement dans la mˆeme zone durant un intervalle de temps. Nous avons choisi d’utiliser ce mod`ele de mobilit´e puisque dans le cas d’une flotte de drones, l’obtention des traces de plusieurs a´eronefs est difficile `a cause du nombre limit´e de drones et la complexit´e de lancement des vols. PPRZM offre la possibilit´e de faire varier les param`etres de simulation comme la dur´ee du sc´enario ou le nombre de drones utilis´es, dans le but d’´etudier une diversit´e de cas possibles. Par cons´equent, nous avons pu cr´eer des sc´enarios de simulation difficiles `a r´ealiser avec des drones r´eels (comme le nombre ´elev´e de drones par test).4.2. EVALUATION DE DAN ´ 115 Les r´esultats de l’´etude de DAN montrent qu’il diff´erentie le service en trois classes : Urgent, Premium et Best-effort et qu’il garantit diff´erent niveau de QdS. En effet, Il offre le taux de perte et le d´elai les plus faibles pour les messages Urgent et garantit le d´ebit de transmission demand´e pour chaque flux Premium mˆeme dans les r´eseaux congestionn´es. Le chapitre suivant pr´esente l’impl´ementation de DAN sur des drones r´eels ainsi que les exp´erimentations r´ealis´ees.116CHAPITRE 4. EVALUATION DES PERFORMANCES DE DAN PAR SIMULATION ´Chapitre 5 Impl´ementation et plate-formes de tests Contents 5.1 Outils utilis´es . . . . . . . . . . . . . . . . . . . . . 118 5.2 Impl´ementation de DAN . . . . . . . . . . . . . . 119 5.3 R´esultats et discussion . . . . . . . . . . . . . . . 121 5.3.1 Validation du fonctionnement du nouveau syst`eme de communication Paparazzi . . . . . . . . . . . . 123 5.3.2 Evaluation de DAN . . . . . . . . . . . . . . . . . 127 ´ Introduction Comme pr´esent´e dans le Chapitre 1, les communications entre les drones Paparazzi et la station sol ´etaient ´etablies `a travers un module XBee 802.15.4 supportant les communications point `a point et point `a multi-points. Sur la liaison montante (de la station sol (GCS pour Ground Control Station) vers les drones), les messages sont ´emis en diffusion. Par la suite, selon le contenu, c’est `a chaque drone de d´ecider s’il le traite ou non. Sur la liaison descendante (du drone vers l’unique station de contrˆole), les messages ´etaient envoy´es en unicast. Ce chapitre pr´esente l’op´eration d’int´egration de DAN au syst`eme Paparazzi dans les deux premi`eres sections. Par la suite, les diff´erentes exp´erimentations r´ealis´ees ainsi que leurs r´esultats sont d´etaill´es dans la troisi`eme section. 117118CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´ 5.1 Outils utilis´es L’int´egration est r´ealis´ee sur des quadricopt`eres Paparazzi (figure 5.1). Ces drones ont ´et´e modifi´es en ajoutant une carte Raspberry Pi 1 qui utilise la distribution Linux Raspbian 2 , ce qui nous a permis d’utiliser une impl´ementation existante du protocole de routage AODV-UU [GSB09] pour Linux. Figure 5.1 – Quadricopt`ere Paparazzi Afin de r´ealiser ce syst`eme, deux modifications majeures ont ´et´e n´ecessaires, une au niveau logiciel et l’autre au niveau mat´eriel. Figure 5.2 – Carte Raspberry Pi Du point de vue mat´eriel, plusieurs modifications ont ´et´e r´ealis´ees. En effet, les cartes Raspberry, avec leurs boitiers, ont ´et´e attach´ees `a chaque quadricopt`ere (comme sur la figure 5.1 o`u on voit le quadricopt`ere Paparazzi qui se pose sur le boitier de la carte Raspberry Pi). Pour cela, il ´etait 1. http ://www.raspberrypi.org/ 2. http ://www.raspbian.org/5.2. IMPLEMENTATION DE DAN ´ 119 n´ecessaire de modifier la carte m´emoire SD en micro-SD afin de garantir un meilleur m´ecanisme de verrouillage. Le but de cette modification est d’´eviter la perte de la liaison avec la carte caus´ees par des vibrations durant le vol. La carte Raspberry est aliment´ee directement `a partir de la batterie du drone. Au niveau MAC et physique nous utilisons des cl´es Wi-Pi (figure 5.3) qui offrent une connexion avec la norme IEEE 802.11g. Son canal de transmission a une capacit´e th´eorique de 54 Mbits/s et permet de connecter des mobiles `a une port´ee de 75 m qui peut s’´elever `a environ 200 m sur une vision directe. Figure 5.3 – Une cl´e Wi-Pi D’autres logiciels ont ´et´e d´evelopp´es permettant d’agir comme une interface entre le syst`eme de communication traditionnel de Paparazzi et les paradigmes du r´eseau ad hoc (adressage IP) et de passer du principe de diffusion sur la liaison montante et unicast sur la liaison descendante en unicast sur les deux liaisons. La figure 5.4 pr´esente le nouveau syst`eme Paparazzi. Dans ce syst`eme, DAN est utilis´e au niveau de chaque drone pour assurer les communications entre eux et avec la station sol `a travers un r´eseau ad hoc. Au niveau de la station de contrˆole, DAN est impl´ement´e sur une carte Raspberry connect´ee au module Link de la station `a travers une liaison s´erie. Ce module, qui assure les communications avec le r´eseau, est li´e avec les autres fonctionnalit´es de la station de contrˆole, comme SRV (le serveur de donn´ees), `a travers un bus IVY 3 . IVY est un bus logicielle permettant de communiquer des processus en diff´erents langage (C, C++, Java, Python, Perl, Unix et Mac OS). 5.2 Impl´ementation de DAN DAN est impl´ement´e en C++, dans l’espace utilisateur du syst`eme linux en utilisant la librairie libnl (Netlink Protocol Library) (figure 5.5) ainsi que 3. http ://www.eei.cena.fr/products/ivy/120CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´ IVY GCS TARF Link DAN DAN SRV Station de contrôle Paparazzi Drone 1 Drone 2 DAN Liaison Série IP 802.11 IP 802.11 Figure 5.4 – l’int´egration de DAN au syst`eme Paparazzi les m´ecanismes du syst`eme Linux permettant de g´erer la QdS [lin]. Cette librairie permet de g´erer les fonctionnalit´es du noyau `a partir de l’espace utilisateur. Libnl met en œuvre des principes fondamentaux n´ecessaires pour utiliser le protocole Netlink [SKKK03] qui permet de communiquer le noyau et l’espace utilisateur, essentiellement pour ´echanger des donn´ees sur le r´eseau et permet de r´ealiser des fonctionnalit´es comme la construction des messages, l’envoi et la r´eception de donn´ees. La commande Iproute est un exemple des utilit´es qui utilisent le protocole Netlink. De plus Libnl offre des moyens permettant de g´erer la plateforme Netfilter. Netfilter est une plateforme du noyau Linux qui offre une vari´et´e d’options pour manipuler la r´eception et l’´emission des paquets du r´eseau. Autrement dit, Netfilter permet de filtrer les paquets re¸cus ou `a ´emettre. Afin de simplifier l’utilisation du standard C++ et les communications entre les diff´erents processus du syst`eme nous avons utiliser la librairie boost 4 . La figure 5.5 sch´ematise l’architecture du syst`eme Linux contenant DAN. Elle montre que dans l’espace utilisateur, les applications communiquent avec 4. http ://www.boost.org/5.3. RESULTATS ET DISCUSSION ´ 121 Application Application Application DAN Librairie Libnl routes, interfaces Système de routage (adressage, réseaux, etc) Netlink (API Noyau) Système Netfilter (gestion de la file d’attente, etc) API DAN Espace utilisateur Noyau AODV-UU Figure 5.5 – Architecture du syst`eme Linux avec DAN DAN `a travers des sockets de l’API DAN. DAN, impl´ement´e dans l’espace utilisateur, communique avec le noyau en utilisant la librairie Libnl dans le but de g´erer les plate-formes Netfilter et Netlink. Le protocole de routage AODV-UU, impl´ement´e aussi dans l’espace utilisateur, g`ere les fonctionnalit´es de routage du noyaux Linux. La figure 5.6 pr´esente un extrait du diagramme de classe du l’agent DAN. Elle sch´ematise les relations entre la classe Agent DAN et les autres classes comme les classes DAN Msg ou DAN Flow. 5.3 R´esultats et discussion Cette section pr´esente les r´esultats des exp´erimentations r´ealis´ees pour valider et ´evaluer les performances du nouveau syst`eme de communication de Paparazzi. Elle est divis´ee en deux parties : la premi`ere a pour but la validation du syst`eme de communication ad hoc (les modifications r´ealis´ees, le routage impl´ement´e, etc) et la deuxi`eme sert `a ´evaluer les performances de DAN dans un environnement r´eel.122CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´ DAN_Agent -FlowList_ -AC_ -Classifier_ -TcTimer_ -TsTimer_ -Logger_ ₊Process_DAN_Msg() ₊Handle_msg() ₊Set_FlowList() ₊Send_Up() ₊Send_Down() ₊Receive() DAN_Msg -Msg_Type -Reserveation_ -Close_ -Error_ -Msg_body DAN_Resrvation -DANFlowID_ -Bw_ DAN_Close -DANFlowID_ DAN_Error -DANFlowID_ -Bw_ Reservation_ Close_ Error_ DAN_Logger ₊LogFlowList() ₊Log_DAN_Msg() TcTimer -DAN_Flow_ID_ ₊SetTimer() ₊Expire() TsTimer -DAN_Flow_ID_ ₊SetTimer() ₊Expire() TsTimer_ TcTimer_ Logger_ DAN_FlowList ₊Update() ₊CheckFlow() -DAN_Flow_ DAN_Flow -DAN_Flow_Id_ -Bw_ DAN_Flow_ID -Src_adr_ -Dest_adr_ -Src_port_ -Dest_port_ FlowList_ Figure 5.6 – Extrait du diagramme de classe de l’agent DAN5.3. RESULTATS ET DISCUSSION ´ 123 5.3.1 Validation du fonctionnement du nouveau syst`eme de communication Paparazzi Les Premiers tests r´ealis´es avaient pour but de montrer la possibilit´e de contrˆoler le syst`eme Paparazzi `a travers un r´eseau ad hoc. Pour cela, nous avons utilis´e deux drones. Ces drones se d´eplacent selon la trajectoire pr´esent´ee dans la figure 5.7. Figure 5.7 – Trajectoire des drones au cours de l’exp´erimentation L’exp´erimentation est r´ealis´ee sur cinq phases autour du bˆatiment Yeager de l’ENAC (de longueur 85 m). A l’instant t0, les deux drones restent stationnaires `a cot´e de la station sol durant environ 30 secondes (Phase 0). Par la suite, ils avancent ensemble dans la mˆeme direction (Phase 1). Une fois arriv´e `a l’extr´emit´e, l’un des deux drones reste stationnaire dans sa position alors que l’autre continu son chemin derri`ere le bˆatiment afin de perdre le lien direct entre lui et la station sol (Phase 2). Cette coupure de liaison force le r´eseau `a router les paquets `a travers le deuxi`eme a´eronef. Ce sc´enario est choisi pour pouvoir perdre la connexion entre la station sol et l’un des drones. En effet, la port´ee des cartes MAC utilis´ee est de l’ordre de 200 m en vision directe. Ainsi, nous avons choisi d’utiliser le bˆatiment comme obstacle.124CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´ En arrivant `a l’autre extr´emit´e du bˆatiment, le drone reste stationnaire dans sa position durant 30 secondes avant de faire un demi-tour et revenir `a cot´e de l’autre a´eronef (Phase3). Par la suite, les deux drones reviennent `a leurs positions initiales `a cot´e de la station sol. En plus de trafic Paparazzi ´echang´e entre les drones et la station sol nous avons utilis´e au niveau de chaque machine : ping pour mesurer le d´elai du r´eseau et tcpdump pour enregistrer le trafic. Ces captures permettent de calculer le d´elai, le taux de perte ainsi que le d´ebit de transmission dans le r´eseau. Figure 5.8 – Capture d’´ecran de la station de contrˆole La figure 5.8 est une capture d’´ecran de la station de contrˆole r´ealis´ee `a la fin de l’exp´erimentation. Elle permet de distinguer les deux trajectoires suivies des deux drones nomm´es G1 (en bleu) et HEN1 (en rouge). Tous les r´esultats pr´esent´es dans cette section partagent le mˆeme axe temporaire qui commence avec le lancement de tcpdump au niveau de la station sol. Apr`es 40 secondes, les drones commencent `a bouger. Ils atteignent l’extr´emit´e5.3. RESULTATS ET DISCUSSION ´ 125 du bˆatiment `a t= 100 secondes et autour de 140 secondes, HEN1 arrive `a la position la plus ´eloign´ee de sa trajectoire. IL revient `a cot´e du drone G1 `a l’instant 160 secondes. Ces informations, obtenues de la station sol qui enregistre toutes les donn´ees de vol, sont coh´erentes avec les mesures r´ealis´ees pour le r´eseau comme pr´esent´e dans les courbes de la figure 5.9. 62 62.5 63 63.5 64 64.5 65 0 20 40 60 80 100 120 140 160 180 200 TTL Temps (s) TTL Le drone G1 62 62.5 63 63.5 64 64.5 65 0 20 40 60 80 100 120 140 160 180 200 TTL Temps TTL Le drone HEN1 Figure 5.9 – Les valeurs TTL des paquets des deux drones G1 et HEN1 Les courbes pr´esentent le contenu du champ TTL (Time To Live). Les paquets transmis sans routage ont une valeur TTL de 64 alors que les autres voient diminuer cette valeur avec chaque passage `a travers un nœud interm´ediaire. Le routage au niveau de G1 est r´ealis´e entre 111 secondes et 159 secondes puisque durant cet intervalle de temps la valeur de TTL passe `a 63. D´ebit de transmission Le d´ebit est mesur´e pour le trafic descendant envoy´e de chaque drone vers la station sol. Les courbes de la figure 5.10 pr´esentent le d´ebit de trafic envoy´e par126CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´ (a) Temps (s) Débit (kbits/sec) envoyé reçu G1 (b) Temps (s) Débit (kbits/sec) envoyé reçu HEN1 Figure 5.10 – D´ebit du trafic descendant chaque drone, mesur´e `a l’´emission, au niveau de chaque drone, et `a la r´eception, au niveau de la station sol. Le d´ebit est mesur´e chaque 0,1 seconde, par la suite leur moyennes sur des intervalles de 1 secondes sont calcul´ees. Le tableau 5.1 pr´esente les valeurs minimales, maximales et moyennes des d´ebits mesur´es au niveau de chaque drone et de la station sol. Min Max Moyenne A partir de G1 ` 1993 4360 3140.03 A partir de HEN1 ` 0 5999 956.96 Table 5.1 – D´ebit g´en´er´e par les drones en kbits/sec Les r´esultats montrent que le d´ebit envoy´e par le drone G1 est sup´erieur `a celui envoy´e par le drone HEN1. Cela est dˆu au fait qu’un filtre suppl´ementaire d’estimation d’altitude est activ´e sur G1 ce qui causent la g´en´eration de plus de donn´ees. Les courbes de la figure 5.10b montrent l’effet de la perte de liaison directe entre HEN1 et la station sol, traduit par la diff´erence entre le d´ebit ´emis par le drone et le d´ebit re¸cu par la station sol qui commence avec le passage de HEN1 derri`ere le bˆatiment.5.3. RESULTATS ET DISCUSSION ´ 127 Taux de perte Le taux de perte est calcul´e pour les p´eriodes avec et sans routage par la comparaison des captures de trafic r´ealis´ees par tcpdump. Le tableau 5.2 pr´esente ces r´esultats. Taux de perte Source Destination Sans routage Avec routage Totale Station sol G1 0.13 3.73 1.03 Station sol HEN1 0.38 43.44 9.72 G1 Station sol 0 0.71 0.15 HEN1 Station sol 1.68 23.55 7.04 Table 5.2 – Taux de perte (%) mesur´es durant les diff´erentes p´eriodes de l’exp´erimentation Les pertes sont concentr´es au d´ebut de la phase avec routage et apr`es sa fin. En effet, des paquets sont envoy´es directement de la station sol vers le drone HEN1 alors qu’il est situ´e hors de sa port´ee. Cette erreur est caus´ee par AODV qui ne d´etecte pas les pertes de connexion imm´ediatement et peut avoir des situations d’instabilit´e au niveau de sa table de routage. Toutes ces pertes sont dues `a des probl`emes de routage puisque aucun paquet n’a ´et´e perdu par congestion au niveau G1. Cette exp´erimentation nous a permis de valider le fonctionnement du nouveau syst`eme Paparazzi avec toutes les modifications mat´erielles et logicielle, ainsi que son contrˆole `a travers un r´eseau ad hoc. Ce syst`eme permet de passer de l’architecture de communication en ´etoile utilis´e par Paparazzi vers une structure en maille permettant de transmettre les messages vers les drones identifi´es par leurs adresses IP. 5.3.2 Evaluation de DAN ´ A cause de la perte de l’un des quadricopt`eres modifi´es suite `a un accident, ` nous avons ´et´e oblig´e de r´ealiser nos exp´erimentations avec un seul drone, l’autre a ´et´e remplac´e par une carte Raspberry Pi. Cette carte ´echange un vrai trafic Paparazzi produit par un g´en´erateur de trafic que nous avons cr´e´e sp´ecialement pour ces exp´erimentations. Il g´en`ere des paquets conformes aux vrais messages Paparazzi en se basant sur les donn´ees enregistr´ees dans les fichiers log des anciens vols r´eels. Le but de cette exp´erimentation est d’´etudier et de valider le fonctionnement de DAN dans un environnement r´eel. Pour cette raison, quatre sc´enarios128CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´ ont ´et´e d´efinis permettant chacun d’´etudier un cas de fonctionnement sp´ecifique : – 1er sc´enario : r´ealisation du mˆeme sc´enario de validation de fonctionnement du contrˆoleur d’admission ´evalu´e par simulation dans la section 4.2.1 ; – 2eme sc´enario : une ´evaluation du fonctionnement de DAN dans le cas d’une saturation totale du canal de transmission. Ces r´esultats sont compar´es aux r´esultats du mˆeme sc´enario obtenu sans DAN ; – 3eme sc´enario : une ´evaluation de DAN dans le cadre des ´echanges Paparazzi. Durant cette exp´erimentation, les nœuds ´echangent des vid´eos en temps r´eel en plus du trafic Paparazzi. Le trafic est envoy´e dans un seul sens ; des nœuds vers la station sol ; – 4`eme sc´enario : r´ealisation du sc´enario 3 avec des ´echanges entre les nœuds et la station de contrˆole d’une part et entre les nœuds d’autres part. Pour les sc´enarios 2, 3 et 4 nous avons essay´e de garder le mˆeme principe que l’exp´erimentation pr´ec´edente (figure 5.11). Deux nœuds s’´eloignent simultan´ement de la station sol. Par la suite, l’un d’eux s’arrˆete alors que l’autre continue son chemin et perd sa liaison directe avec la station sol. Apr`es une courte p´eriode dans cet ´etat, les nœuds reviennent ensemble `a leurs positions initiales. 1 2 1 2 1 2 Figure 5.11 – Sc´enario des exp´erimentations 5.3.2.1 Validation du fonctionnement du contrˆoleur d’admission Cette exp´erimentation a pour but la validation des m´ecanismes de DAN pour la gestion des demandes Premium d´epassant sa capacit´e. Pour cela, le sc´enario simul´e dans la section 4.2.1 est r´eutilis´e ; deux nœuds fixes sont situ´es `a la port´ee l’un de l’autre (un ´emetteur et un r´ecepteur). La source a trois flux Premium `a envoyer qui d´epassent sa capacit´e totale : – Premium 1 : 10 Mbits/s ;5.3. RESULTATS ET DISCUSSION ´ 129 – Premium 2 : 5 Mbits/s ; – Premium 3 : 15 Mbits/s. La capacit´e totale du Premium dans le r´eseau est fix´ee `a 20 Mbits/s. L’admission est r´ealis´ee selon l’ordre chronologique de r´eception des requˆetes de r´eservation de ressources. Th´eoriquement, le CA peut accepter uniquement deux trafics (soit le 1 et le 2, soit le 2 et le 3). La troisi`eme application sera notifi´ee dans le but de pouvoir initialiser une proc´edure de n´egociation avec le r´eseau. Uniquement pour cette exp´erimentation, nous consid´erons que le flux non admis par le contrˆoleur d’admission continue `a ´emettre son trafic sans d´egradation de qualit´e, dans le but d’´etudier la r´eaction de DAN face `a ce trafic Premium non admis par le contrˆoleur d’admission. Taux de Perte Le tableau 5.3 pr´esente les taux de perte mesur´es pour les diff´erentes classes de trafic. Flux 1 et Flux2 Flux 3 Pertes dues `a la congestion 0 56.12 Pertes totales 0.5 60.32 Table 5.3 – Taux de perte mesur´e pour les diff´erents flux de trafic (%) Les flux 1 et 2 trait´es comme flux Premium ont perdu 0,5% de leurs paquets alors que le flux 3 qui n’a pas r´eussi a r´eserver les ressources n´ecessaires, a ´et´e consid´er´e comme un trafic Best-effort et il a perdu 60,32% de la totalit´e de ses paquets. Ces pertes sont dues aux plusieurs facteurs comme les collisions, la congestion ou mˆeme des probl`emes li´es aux mat´eriels. Les pertes par congestion du syst`eme sont caus´ees par le rejet des paquets suite `a la saturation de la file d’attente appropri´ee `a cette classe de trafic. La diff´erence entre les trois flux est remarquable (0% pour les flux 1 et 2 et 56,12% pour le flux 3). Nous remarquons que le flux 3 a ´et´e trait´e comme du trafic Best-effort puisqu’il n’a pas ´et´e admis par le contrˆoleur d’admission. D´elai de bout en bout Le d´elai de bout en bout est d´efini par le temps de transfert d’un paquet de bout en bout (entre l’´emetteur et le r´ecepteur). Il tient compte du temps de propagation du paquet le long du chemin vers sa destination ainsi que du temps de traitement au niveau des deux extr´emit´es et de chaque nœud interm´ediaire (comme le temps pass´e dans les files d’attente, etc).130CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´ Le tableau 5.4 pr´esente les d´elais mesur´es pour les flux ´echang´es dans le r´eseau. Flux 1 et Flux 2 Flux 3 D´elai de bout en bout (ms) 1.346 71.409 Table 5.4 – D´elais de bout en bout mesur´es pour les flux envoy´es (ms) Nous remarquons une grande diff´erence entre le d´elai mesur´e pour le flux 1 et 2 (1,346 ms) et celui mesur´e pour le flux 3 (71,409 ms). En effet, l’´emission des paquets du flux 3, consid´er´es comme du trafic Best-effort, est retard´ee afin de respecter la priorit´e accord´ee aux paquets Premium. D´ebit de transmission La figure 5.12 pr´esente le d´ebit mesur´e pour chaque flux de trafic. Ces valeurs sont mesur´ees chaque seconde. 0 2000 4000 6000 8000 10000 12000 14000 16000 0 100 200 300 400 500 600 débit (kbits/sec) Flux 3 Temps (sec) Débit=f(t) Flux 1 et 2 Figure 5.12 – D´ebits mesur´es pour les diff´erents flux de trafic Les courbes montrent une diff´erence remarquable entre le d´ebit des flux 1 et 2 et le d´ebit de flux 3 et confirme le fait que le flux 3 est consid´er´e comme un trafic Best-effort, contrairement aux flux 1 et 2 qui b´en´eficient des d´ebits demand´es.5.3. RESULTATS ET DISCUSSION ´ 131 Cette exp´erimentation montre la capacit´e de DAN `a contrˆoler les ´emissions de flux Premium, `a respecter les priorit´es entre les classes de trafic et `a garantir les ressources n´ecessaires pour les flux Premium admis. 5.3.2.2 Test de saturation de canal Les m´ecanismes de gestion de QdS doivent g´erer le cas de congestion du r´eseau tout en garantissant les priorit´es et la QdS demand´ee pour chaque classe de trafic. Cette exp´erimentation a pour but d’´etudier le fonctionnement de DAN dans un cas de congestion du r´eseau afin de valider ses m´ecanismes. Pour saturer le canal, nous avons utilis´e le mˆeme sc´enario d´ecrit pr´ec´edemment, deux nœuds envoient du trafic vers une seule station sol. Chaque nœud ´emet un trafic constitu´e de : – Urgent : 7 kbits/s ; – Premium : 5 Mbits/s ; – Best-effort : 15 Mbits/s. La capacit´e totale du Premium est fix´ee `a 10 Mbits/s. Ce sc´enario est r´ealis´e deux fois ; une premi`ere fois avec les m´ecanismes de gestion de QdS de DAN et une deuxi`eme avec le syst`eme de communication ad hoc ordinaire (sans les m´ecanismes QdS de DAN) dans le but de pouvoir comparer les r´esultats obtenus qui sont pr´esent´es dans les paragraphes suivants. Taux de perte Les figures 5.13 pr´esentent le taux de perte par classe de trafic mesur´es pour chaque syst`eme (avec et sans DAN). La premi`ere constations concernant ce graphe 5.13b est l’ordonnancement des barres de l’histogramme. Le taux de perte le plus faible est accord´e `a la classe Urgent alors que la classe Besteffort pr´esente le plus de pertes. Cela montre que DAN respecte les priorit´es entre les diff´erentes classes de trafic. De plus nous remarquons, une am´elioration au niveau du taux des pertes du trafic Premium qui passe de 50,37% `a 37,175%. Cette am´elioration est due au fait que la classe Premium est plus prioritaire que la classe Best-effort. En effet, avec DAN, les paquets Best-effort laissent la priorit´e d’´emission aux paquets Premium. Par cons´equent, ils se cumulent dans la file d’attente en attendant leur tour pour ˆetre ´emis et causent la saturation. Chaque file d’attente a une capacit´e de stockage limit´ee. Une fois satur´ee, elle commence `a jeter les nouveaux paquets Best-effort arrivant. En cons´equence, le nombre de paquets Best-effort d´etruits par la file d’attente `a cause de la congestion augmente (passe de 41,60% `a 54,350%) alors que ceux de la classe Premium et la classe Urgent diminuent.132CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´ Sans DAN (a) 0 10 20 30 40 50 60 Urgent Prem ium Best -Effort Pert es (%) Pert es 32 50.37 41.69 Avec DAN (b) 0 10 20 30 40 50 60 Urgent Prem ium Best-Effort Pert es (%) Pert es 17 37.175% 54.359 Figure 5.13 – Taux de perte mesur´es pour chaque classe de trafic avec et sans DAN En plus de la congestion, ces pertes sont caus´ees par d’autres ph´enom`enes comme la perte de connectivit´e et les collisions dues aux interf´erences. La figure 5.5 pr´esente le taux de perte caus´ees uniquement par congestion. Ces pertes sont mesur´ees au niveau de chaque file d’attente : Taux de perte par congestion = N ombre de paquets detruits ´ N ombre de paquets total Urgent Premium Best-effort Pertes dues `a la congestion 0 0 31.928 Table 5.5 – Taux de perte dues `a la congestion du r´eseau Aucun paquet des deux classes Urgent et Premium n’a ´et´e d´etruit par congestion.5.3. RESULTATS ET DISCUSSION ´ 133 D´elai de bout en bout Le d´elai est calcul´e en se basant sur les fichiers d’enregistrement de trafic. Nous calculons l’intervalle de temps entre le moment de r´eception (au niveau du r´ecepteur final) et le moment d’´emission (au niveau du nœud source). La figure 5.14 pr´esente les d´elais de bout en bout calcul´es pour chaque classe de trafic durant les deux exp´erimentations r´ealis´ees (sans et avec DAN). Sans DAN (a) 0 50 100 150 200 250 300 350 400 Urgent Prem ium Best -E ort Délai7(ms) Délai 429.5245 382.44 378.139 Avec DAN (b) 0 100 200 300 400 500 600 700 Urgent Prem ium Best -Effort Délai.(ms) Délai 202.3 596 711.6 Figure 5.14 – D´elais mesur´es pour chaque classe de trafic avec et sans DAN Comme pour les taux de perte, la premi`ere chose que nous remarquons est l’organisation du format des barres de l’histogramme 5.14b. Il est clair que la classe Urgent a le d´elai le plus faible (202,3 ms) alors que la classe Best-effort a le d´elai le plus important (711,6 ms). En effet, pour respecter la priorit´e entre les diff´erentes classes de trafic, le syst`eme retarde l’´emission des paquets Best-effort. Ces paquets doivent attendre leurs tours d’´emission jusqu’`a ce que les files Premium et Urgent soient vides ce qui explique l’´ecart entre les d´elais des diff´erentes classes de trafic.134CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´ Sans DAN, les paquets sont trait´es de la mˆeme mani`ere, ind´ependamment de leurs classes de trafic. Par cons´equent, il n’y a pas de diff´erence entre les d´elais mesur´es. Par contre, sur la figure 5.14a, nous remarquons que les messages de la classe Urgent ont un d´elai plus ´elev´e que les autres (un d´elai de 429,5245 ms pour les paquets Urgent et un d´elai de l’ordre de 380 ms pour les deux autres classes). Cela s’explique par le fait que les paquets Urgent sont un ph´enom`ene rare puisque le nombre de paquets Urgent envoy´es est beaucoup moins important que celui des classes Premium et Best-effort ce qui p´enalise le calcul des moyennes. La saturation du canal a aussi un effet sur l’augmentation des valeurs du d´elai puisque chaque nœud doit attendre la lib´eration du canal pour pouvoir ´emettre son trafic. D´ebit de transmission Les courbes 5.15 et 5.16 pr´esentent les valeurs de d´ebit mesur´ees durant les deux exp´erimentations (sans et avec DAN) pour les classes Premium et Best-effort. Les valeurs pr´esent´ees sont les moyennes calcul´ees sur des intervalles de 10 secondes pour des valeurs de d´ebit mesur´ees chaque seconde. 500 1000 1500 2000 2500 3000 0 100 200 300 400 500 600 700 800 Débit=(kbits/sec) Prem ium Best-Effort Débit===f(t) Time=(s) Figure 5.15 – D´ebit mesur´e durant l’exp´erimentation sans DAN pour les classes Premium et Best-effort Le tableau 5.6 pr´esente les valeurs minimales, maximales ainsi que les moyennes de valeurs de d´ebit mesur´ees. Il est clair que le d´ebit de la classe Premium est fortement am´elior´e grˆace aux m´ecanismes de gestion de QdS. En effet, la valeur moyenne de d´ebit de la classe Premium est pass´e de 1,374 Mbits/s (avec le syst`eme sans DAN) `a5.3. RESULTATS ET DISCUSSION ´ 135 0 2000 4000 6000 8000 10000 12000 0 100 200 300 400 500 600 700 800 Débit=(kbits/sec) Prem ium Best-Effort Débit==f(t) Temps=(sec) Figure 5.16 – D´ebit mesur´e durant l’exp´erimentation avec DAN pour les classes Premium et Best-effort 8,769 Mbits/s (avec DAN). La forme de la courbe de d´ebit mesur´e pour la classe Premium dans la figure 5.16 montre que DAN a r´eussi `a garantir le d´ebit quasi-stable pour ces flux. Min Max Moyenne Sans DAN Premium 910,31 2236,1 1374,75 Best-effort 999,95 2595,08 1495,86 Avec DAN Premium 7827,64 10015,42 8769,07 Best-effort 0 5093,06 1376,44 Table 5.6 – D´ebit mesur´e pour les classes Premium et Best-effort durant les deux exp´erimentations (kbits/s) Cette exp´erimentation permet de tester l’architecture de DAN dans un cas extrˆeme de saturation du canal. Les r´esultats obtenus montrent que DAN est capable de g´erer la QdS dans un r´eseau congestionn´e. Il classifie le trafic selon la classe demand´ee et respecte les diff´erentes demandes de chaque cat´egorie de trafic. En effet, avec DAN, le trafic de classe Urgent b´en´eficient de la plus haute priorit´e : du d´elai de bout en bout ainsi que du taux de perte les plus faibles. De plus, DAN respecte le d´ebit demand´ee de la classe Premium.136CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´ 5.3.2.3 Evaluation dans le contexte Paparazzi ´ Cette exp´erimentation a pour but d’´etudier l’influence de DAN sur un r´eseau ´echangeant le trafic Paparazzi en plus d’un trafic de transmission vid´eo de qualit´e HD (Haute D´efinition) en temps r´eel. Les deux nœuds utilis´es dans cette exp´erimentation ´emettent leurs trafics dans un seul sens ; vers la station sol (liaison descendante). Le trafic vid´eo est de capacit´e 1.5 Mbits/s. Il est cr´e´e par un g´en´erateur de trafic CBR (Constant Bit Rate) ´emettant des paquets UDP de taille fixe (187,5 Octets chaque 1 ms). L’exp´erimentation a dur´e 800 secondes et nous a permis de calculer le taux de perte, le d´elai ainsi que le d´ebit de chaque classe de trafic. Taux de perte Les r´esultats montrent que ce trafic ne congestionne pas le r´eseau. En effet, le taux de perte caus´ee par congestion au niveau des files d’attentes est ´egal `a z´ero. Dans ce cas, les pertes mesur´ees (pr´esent´ees dans le tableau 5.7) sont la cause des probl`emes de r´eseau, comme les collisions ou les pertes de connectivit´e entre les nœuds dues `a une instabilit´e au niveau du protocole de routage. Urgent Premium Best-effort Pertes dues `a la congestion 0 0 0 Pertes totales 1.2 8.67 9.5 Table 5.7 – Taux de perte mesur´e pour chaque classe de trafic (%) D´elai de bout en bout Contrairement au taux de perte, le d´elai de bout en bout peut cr´eer la diff´erence dans ce cas. En effet, bien que ce trafic ne congestionne pas les files d’attente, il les oblige `a retarder l’´emission de certains paquets dans le but de respecter la priorit´e de chaque classe de trafic. Le tableau 5.8 pr´esente les d´elais de bout en bout mesur´es pour les diff´erentes classes de trafic durant cette exp´erimentation. Nous remarquons une diff´erence entre le d´elai de la classe Best-effort (26 ms) et celui des deux classes Urgent et Premium (environ 2,7 ms pour chacune) suite au retardement de l’´emission des paquets Best-effort par le syst`eme afin de respecter la priorit´e des autres classes.5.3. RESULTATS ET DISCUSSION ´ 137 Urgent Premium Best-effort D´elai de bout en bout (ms) 2.702 2.729 26.479 Table 5.8 – D´elai mesur´e pour chaque classe de trafic D´ebit de transmission La figure 5.17 et le tableau 5.9 pr´esentent le d´ebit mesur´e durant l’exp´erimentation pour les deux classes de trafic Premium et Urgent. Ces valeurs sont calcul´ees de la mˆeme mani`ere que pour les autres exp´erimentations. Nous mesurons le d´ebit `a chaque seconde. Par la suite, nous calculons la moyenne sur des intervalles de 5 secondes. 0 500 1000 1500 2000 2500 3000 3500 0 100 200 300 400 500 600 700 800 Débit=(kbits/sec) Prem ium Best-Effort Débit=f(t) Temps=(sec) Figure 5.17 – D´ebits mesur´es pour les classes Premium et Best-effort Min Max Moyenne Premium 2220.8 3206 2742,93 Best-effort 500 1989,4 1417,041 Table 5.9 – D´ebits mesur´es pour les deux classes Premium et Best-effort (kbits/s) Les r´esultats montrent que le syst`eme a r´eussi `a fournir le d´ebit optimal pour les flux Premium.138CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´ Comme toutes les autres exp´erimentations, ce sc´enario a ´et´e r´ealis´e plusieurs fois dans le but d’avoir diff´erents cas possibles. Ce qui nous a permis de remarquer que les performances de DAN se d´egradent dans une seule situation. Il s’agit du cas o`u le r´eseau rencontre des probl`emes de connectivit´e. La figure 5.18 pr´esente le d´ebit mesur´e durant une exp´erimentation rencontrant ce probl`eme. Elle montre une baisse de d´ebit pour les deux flux entre 300 sec et 500 sec. 0 500 1000 1500 2000 2500 3000 0 100 200 300 400 500 600 700 800 DébitT(kbits/sec) Prem ium Best-Effort TempsT(sec) Débit=f(t) Figure 5.18 – D´ebit mesur´e durant une exp´erimentation Cette variation est due `a des probl`emes de connexion dans le r´eseau qui peuvent ˆetre caus´es par le protocole de routage ou par des facteurs de mat´eriels. En effet, la figure 5.19, qui pr´esente le nombre de paquets ICMP ´echang´es dans le r´eseau, montre que durant cette p´eriode (300 sec et 500 sec), le nombre de paquets re¸cus est quasi-nul durant cet intervalle de temps. En cons´equence, il est clair que le r´eseau a rencontr´e des probl`emes de connectivit´e entre les nœuds durant cet intervalle de temps. Cette exp´erimentation montre que DAN diff´erencie le trafic ´echang´e dans le syst`eme Paparazzi sans am´elioration de la connectivit´e dans le r´eseau. En effet, il garantit la haute priorit´e (taux de perte et d´elai de bout en bout les plus faibles) pour la classe Urgent ainsi que le d´ebit optimal pour la classe Premium dans la limite de la connectivit´e et des ressources disponibles entre5.3. RESULTATS ET DISCUSSION ´ 139 0 s 100 s 150 s 200 s 250 s 300 s 350 s 400 s 450 s 500 s Paquets Figure 5.19 – Nombre de paquets ICMP ´echang´es les diff´erents nœuds. 5.3.2.4 Evaluation dans le contexte Paparazzi avec des ´echanges ´ dans diff´erentes directions Le but de cette exp´erimentation est d’´etudier l’influence de DAN sur le syst`eme Paparazzi dans le cas o`u les nœuds ´echangent du trafic entre eux et avec la station sol. Ce cas d’´echange cr´ee plus de points de congestion dans le r´eseau. Le trafic utilis´e pour cette exp´erimentation est le mˆeme que celui utilis´e pour l’exp´erimentation pr´ec´edente : trafic Paparazzi en plus de flux vid´eo HD en temps r´eel pour chaque ´emetteur. Les trafics Urgent ainsi que le trafic Premium sont envoy´es des nœuds vers la station sol. Le trafic Best-effort est ´emis entre les nœuds et entre les nœuds et la station sol. Comme pour l’exp´erimentation pr´ec´edente, ce trafic ne congestionne pas le r´eseau. Pour cette raison, nous n’allons pas pr´esenter les taux de perte relev´es. D´elai de bout en bout Le tableau 5.10 pr´esente le d´elai de bout en bout mesur´e pour chaque classe de trafic. Nous remarquons une grande diff´erence entre le d´elai de la classe Urgent (2,4 ms) et celui de la classe Best-effort (30 ms). Cela est dˆu au fait que140CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´ Urgent Premium Best-effort D´elai de bout en bout (ms) 2.4 3.55 30 Table 5.10 – D´elai mesur´e pour chaque classe de trafic (ms) DAN retarde l’´emission des paquets Best-effort pour privil´egier les paquets des classes les plus prioritaires. DAN respecte la diff´erentiation de services et les exigences de chaque classe en termes de d´elai de bout en bout mˆeme dans ce cas de le trafic. 0 500 1000 1500 2000 2500 3000 3500 0 100 200 300 400 500 600 700 800 Débit (kbits/sec) Prem ium Be Débit=f(t) Temps (sec) Figure 5.20 – D´ebits mesur´es pour les deux classes Premium et Best-effort D´ebit de transmission La figure 5.20 pr´esente les d´ebits mesur´es durant l’exp´erimentation des deux classes de trafic Premium et Best-effort. La courbe montre que le d´ebit demand´e pour la classe Premium a ´et´e respect´e. Les r´esultats de cette exp´erimentation montrent que DAN peut s’adapter aux diff´erentes situations de trafic, tout en garantissant une diff´erenciation entre les services utilis´es. DAN est un syst`eme ind´ependant des protocoles MAC et routage.5.3. RESULTATS ET DISCUSSION ´ 141 Conclusion Ce chapitre a pr´esent´e les modifications logicielles et mat´erielles r´ealis´ees dans le but d’int´egrer DAN au syst`eme Paparazzi. Cette int´egration a abouti `a un syst`eme de communication permettant de faciliter le contrˆole d’une flotte de drones coop´eratifs par la station sol, en offrant le support n´ecessaire qui respecte les besoins de diff´erents types de donn´ees ´echang´es `a travers un r´eseau ad hoc. Ce syst`eme diff´erencie le trafic et garantie diff´erents niveau de QdS. Afin d’´evaluer les performances de ce syst`eme dans son environnement r´eel, nous avons r´ealis´e une vari´et´e d’exp´erimentations. Les r´esultats montrent que DAN r´epond aux exigences du syst`eme. Il diff´erencie le service et garantie la QdS demand´ee pour chaque classe. En effet, il limite les pertes des deux classes Urgent et Premium grˆace `a son m´ecanisme d’ordonnancement qui ´elimine les pertes par congestion et garantit le d´elai de bout en bout le plus faible pour ces deux cat´egories de trafic. De plus, il respecte le d´ebit demand´e par les flux Premium grˆace au m´ecanisme de r´eservation de ressources. DAN est un syst`eme qui ne demande pas des modifications complexes au niveau de l’architecture de communication usuelle et qui r´epond au exigence du syst`eme de flotte de drones coop´eratifs.142CHAPITRE 5. IMPLEMENTATION ET PLATE-FORMES DE TESTS ´Chapitre 6 Conclusions et perspectives Contents 6.1 Travaux r´ealis´es . . . . . . . . . . . . . . . . . . . 143 6.1.1 L’architecture DAN . . . . . . . . . . . . . . . . . 144 6.1.2 Int´egration DAN au syst`eme Paparazzi . . . . . . 145 6.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . 147 6.2.1 Perspectives r´eseaux . . . . . . . . . . . . . . . . . 147 6.2.2 Op´erations pour les drones . . . . . . . . . . . . . 149 Ce chapitre r´esume les diff´erentes contributions r´ealis´ees dans le cadre de cette th`ese et pr´esente des id´ees qui peuvent ˆetre trait´ees comme une continuit´e de ce travail. 6.1 Travaux r´ealis´es L’utilisation d’une flotte de drones dans des missions civiles coop´eratives n´ecessite un syst`eme de communication permettant de contrˆoler chaque a´eronef et le connecter `a la station de contrˆole ainsi qu’aux autres drones afin de pouvoir ´echanger diff´erents types de donn´ees. Les r´eseaux ad hoc sont une solution pour garantir un niveau ´elev´e de coordination entre les diff´erents agents de ce syst`eme. Le but de cette th`ese est de cr´eer une nouvelle structure de communication permettant d’offrir au syst`eme Paparazzi un support conscient des besoins de chaque ´emetteur, permettant de faciliter le contrˆole d’une flotte de drones au cours d’une mission coop´erative. Cette structure est capable de r´epondre aux exigences du syst`eme en termes de QdS. En effet, elle doit diff´erencie le 143144 CHAPITRE 6. CONCLUSIONS ET PERSPECTIVES trafic selon les besoins de chaque drone qui peuvent ˆetre variables au cours du temps. Dans ce genre de situations, les drones jouent diff´erents rˆoles dans l’avancement de l’op´eration et ´echangent divers types de message. Par cons´equent, ils ont des besoins sp´ecifiques en termes de communication qui peuvent ´evoluer au cours du temps. Par exemple, les messages contenant des informations critiques sur l’´etat du syst`eme n´ecessitent un maximum de fiabilit´e. Ces messages doivent b´en´eficier du taux de perte et du d´elai de bout en bout les plus faibles. A partir de l’´etude de fichiers d’enregistrement de trafics ´echang´es entre ` les drones Paparazzi et la station de contrˆole, nous avons pu classifier les messages en trois cat´egories essentielles : une premi`ere classe Urgent pour les messages critiques qui n´ecessitent la priorit´e absolue, une deuxi`eme classe Premium destin´ee aux flux de trafic ayant des demandes strictes en termes de QdS et une troisi`eme classe Best-effort qui englobe le reste du trafic qui n’a aucune exigence de QdS. Afin de valider le fonctionnement de ce syst`eme, il est n´ecessaire d’´evaluer ses performances afin de pr´edire les probl`emes qui peuvent l’affecter en environnement r´eel. Pour notre ´etude nous nous sommes bas´e sur deux moyens d’´evaluations qui sont la simulation et l’exp´erimentation r´eelle. 6.1.1 L’architecture DAN DAN est l’architecture de communication que nous proposons en r´eponse aux exigences pr´esent´ees dans la section pr´ec´edente. Elle groupe des m´ecanismes de gestion de QdS permettant de diff´erentier le trafic et de garantir les besoins demand´ees pour chaque classe. La sp´ecificit´e de DAN est d’offrir `a l’application la possibilit´e de g´erer les besoins en QdS de ses flux grˆace `a son API permettant d’´echanger des informations concernant la capacit´e du r´eseau. Par cons´equent, c’est `a l’application seule de d´ecider d’annuler son ´emission ou de d´egrader sa qualit´e et de n´egocier avec le r´eseau. DAN permet au niveau applicatif d’exprimer les besoins de chaque flux en termes de QdS. Ainsi, Il re¸coit des renseignements sur chaque flux `a ´emettre pour pouvoir le classer et marquer ses paquets selon sa cat´egorie de trafic. Par la suite, un algorithme d’ordonnancement est utilis´e permettant de retarder l’´emission des classes les moins prioritaires pour respecter la priorit´e des autres classes. Pour la cat´egorie Premium, DAN offre une garantie stricte sur la QdS grˆace `a son m´ecanisme de r´eservation de ressources. Le but de limiter l’utilisation6.1. TRAVAUX REALIS ´ ES´ 145 de la signalisation uniquement pour la classe Premium est d’´economiser la capacit´e du r´eseau. Afin de respecter la QdS sans p´enaliser la classe Best-effort qui repr´esente plus de 60% du trafic ´echang´e, nous avons fix´e la capacit´e totale du trafic Premium dans le syst`eme. Plus pr´ecis´ement, il s’agit d’une limitation du maximum de bande passante utilisable pour les flux Premium (cette valeur est ´egale `a 20% de la capacit´e totale du canal de transmission). DAN est capable de garantir la QdS demand´ee pour chaque flux dans la limite de cette capacit´e. Bien que dans d’autres situations, cette m´ethode puisse ˆetre la cause d’un gaspillage de bande passante puisqu’elle oblige les flux `a respecter leur limite de d´ebit, mˆeme s’il n’y a pas de congestion, elle est adapt´ee `a notre syst`eme qui ´echange plus de trafic Best-effort que de Premium car elle permet de ne pas d´egrader les autres flux. Afin de cr´eer un environnement proche de la r´ealit´e permettant d’´etudier les performances de DAN et de pr´edire les probl`emes qui peuvent affecter le syst`eme dans un environnement r´eel, nous avons con¸cu un mod`ele de mobilit´e reproduisant les vrais mouvements d’un drone Paparazzi, PPRZM. PPRZM met en œuvre des types de mouvement qui ne sont pas pris en compte par les autres mod`eles de mobilit´e ordinaires (comme la r´ep´etition d’un mˆeme mouvement plusieurs fois dans la mˆeme zone ou les mouvements d’aller-retour, etc). Nous avons choisi d’utiliser ce mod`ele de mobilit´e puisque dans le cas d’une flotte de drones, l’obtention des traces de plusieurs a´eronefs est difficile `a cause de la complexit´e de lancement de plusieurs vols. PPRZM offre la possibilit´e de faire varier les param`etres de simulation comme la dur´ee du sc´enario ou le nombre de drones utilis´es dans le but d’´etudier une diversit´e de cas possibles. Ce qui nous a permis de cr´eer des sc´enarios de simulation difficiles `a r´ealiser avec des drones r´eels ¸c cause, par exemple, du nombre ´elev´e d’a´eronefs utilis´es. 6.1.2 Int´egration DAN au syst`eme Paparazzi Une ´etape importante de cette th`ese, est l’int´egration de DAN au syst`eme Paparazzi. Cette int´egration permettra au syst`eme Paparazzi de passer de sa m´ethode de contrˆole classique en ´etoile `a travers un r´eseau 802.15.4 supportant des ´emissions point `a multi-points (sur la liaison montante) et point `a point (sur la liaison descendante), vers une autre m´ethode utilisant un r´eseau maill´e offrant la possibilit´e d’adresser chaque nœud par une adresse IP. Pour la r´ealisation, des modifications mat´erielles et logicielles ont ´et´e n´ecessaires afin de pouvoir impl´ementer l’architecture DAN et de l’int´egrer au syst`eme de communication de Paparazzi.146 CHAPITRE 6. CONCLUSIONS ET PERSPECTIVES Ce nouveau syst`eme de communication a ´et´e ´etudi´e par des exp´erimentations r´eelles dans plusieurs situations. Les r´esultats de ces ´etudes montrent que DAN est capable de r´epondre aux exigences du syst`eme. En effet, il diff´erentie le service et garantit la QdS demand´ee pour chaque classe de trafic. Pour les messages de la classe Urgent, il offre la priorit´e absolue se traduisant par un taux de perte et un d´elai de bout en bout les plus faibles et garantit le d´ebit demand´e pour chaque flux de trafic Premium. Pour ces deux classes, DAN r´eduit au maximum les pertes puisque il ´elimine les pertes dues `a la congestion du syst`eme. En outre, les r´esultats montrent que mˆeme dans les r´eseaux les plus congestionn´es, DAN g`ere la situation sans trop p´enaliser le trafic Best-effort. Apr`es avoir r´ealis´e notre ´etude avec deux moyens diff´erents : la simulation et les exp´erimentations r´eelles, nous pouvons comparer les deux, loin des d´efinitions et des comparaisons th´eoriques explicit´ees dans la litt´erature. Nous avons rencontr´e quatre diff´erences majeurs : – Impl´ementation du syst`eme : l’impl´ementation du nouveau module ou protocole au niveau d’un simulateur r´eseau est plus simple qu’une impl´ementation r´eelle puisqu’elle est plutˆot guid´ee, en utilisant des modules virtuels (des classes) imitant les fonctionnalit´es de l’architecture de communication (IP, applications, UDP, ARP, etc.) alors que pour l’impl´ementation r´eelle, il fallait traiter diff´erents processus et choisir les librairies qui aident `a manipuler l’architecture Linux ; – Les sc´enarios : les sc´enarios de simulation sont caract´eris´es par leur simplicit´e de r´ealisation et leur flexibilit´e. En effet, ils supportent la d´efinition de situations d´elicates avec un nombre de drones ´elev´e, plusieurs r´ep´etitions, longues dur´ees de simulation, etc. Au contraire, les sc´enarios d’exp´erimentation r´eelles sont moins flexibles notamment pour le nombre de mobiles, les r´ep´etitions et le lancement qui n´ecessitent la pr´esence de plusieurs personnes et des facteurs m´etrologiques convenables (pas de pluie et pas de vents forts) ; – Contrˆole des r´esultats : avec le simulateur, l’enregistrement de l’historique du syst`eme est r´ealis´e d’une mani`ere automatique sans aucun coˆut pour le syst`eme ´etudi´e. Par contre, ces donn´ees peuvent couter cher pour les exp´erimentations r´eelles en termes de m´emoire et de bande passante (si elles sont collect´ees en temps r´eel). Dans ce cas, il faut optimiser les donn´ees `a enregistrer au maximum pour ne pas affecter les performances du syst`eme ; – Facteurs affectant les r´esultats : plusieurs facteurs ne sont pas pris en compte par le simulateur r´eseau pourtant ils ont une influence sur les performances du syst`eme comme la capacit´e du canal de transmission qui se d´egrade ´enorm´ement dans le cas r´eel alors que pour le simu-6.2. PERSPECTIVES 147 lateur elle garde sa valeur th´eorique, les batteries limit´ees, les pannes mat´erielles ou logicielles et mˆeme les ´echecs et l’instabilit´e du protocole de routage qui peuvent causer des pertes de connectivit´e dans le vrai syst`eme. En outre, nous avons remarqu´e la sensibilit´e du syst`eme sans fil r´eel face aux interf´erences et aux obstacles ainsi que l’impact de la distance entre les nœuds sur la qualit´e des liens entre eux. Toutes ces diff´erences entre la simulation et les exp´erimentations r´eelles montrent que ces deux moyens sont compl´ementaires. En effet, la simulation facilite la r´ealisation d’´etudes de sc´enarios d´elicats alors que l’exp´erimentation r´eelle met le syst`eme dans son environnement d’application r´eel entour´e de tous les obstacles qui peuvent affecter ses performances. La r´ealisation de l’architecture DAN a abouti `a une plate-forme de test qui peut ˆetre utilis´ee pour la r´ealisation d’autres exp´erimentations pour des protocoles de communication con¸cus pour les drones. 6.2 Perspectives Si cette th`ese apporte des am´eliorations dans le cadre des communications pour les drones l´eger civils, plusieurs pistes de travaux futurs se dessinent. 6.2.1 Perspectives r´eseaux Cette section pr´esente des id´ees et des am´eliorations possibles pour renforcer les travaux r´ealis´es dans le domaine de la recherche r´eseau. Protocole de routage muti-chemin Il serait int´eressant d’associer l’architecture DAN avec un protocole de routage multi-chemin, qui permet d’´etablir plusieurs routes entre chaque source et destination. AOMDV est un exemple de ces protocoles. Il permet d’´etablir des routes disjointes qui ne partagent aucun nœud interm´ediaire entre chaque source et sa destination. AOMDV permet d’am´eliorer les performances de AODV en termes de d´elai et ´echanges de messages de contrˆole dans le r´eseau. Avec un grand nombre de nœuds, cette proposition offre `a DAN la possibilit´e de r´epartir la charge dans le r´eseau selon la classe et les besoins du trafic en termes de QdS. En effet, dans le cas d’´echec de r´eservation de ressources pour un flux Premium, le syst`eme peut tenter directement une148 CHAPITRE 6. CONCLUSIONS ET PERSPECTIVES nouvelle r´eservation en passant par une route alternative. En cons´equence, entre chaque nœud source et sa destination, les paquets Premium peuvent traverser diff´erentes routes. Cette am´elioration permettra de r´epartir la charge dans de grands r´eseaux ce qui am´eliore les performances du syst`eme en termes de d´elai, de pertes et de d´ebit pour les deux classes de trafic Premium et Best-effort. QdS et interf´erences Pour mieux adapter DAN aux grands r´eseaux dynamiques, il pourrait ˆetre compl´et´e par un m´ecanisme permettant d’estimer la bande passante disponible localement en tenant compte des interf´erence caus´ees par les voisins. Afn de respecter toutes les exigences de conception de l’architecture DAN, ce m´ecanisme doit ˆetre ind´ependant du niveau MAC et doit consommer le minimum de ressources possibles. Deux possibilit´e peuvent ˆetre utilis´ees ainsi : – Emission de signalisation sp´ecifique p´eriodiquement par le contrˆoleur ´ d’admission pour sonder la qualit´e du canal ; – Utilisation des messages de contrˆole du protocole de routage comme indication sur la qualit´e du canal ; – Utilisation des mesures passives sur le trafic re¸cu. Ces m´ecanismes permettent d’augmenter la certitude de l’estimation du d´ebit disponible localement au niveau de chaque nœud ce qui am´eliore les performances du syst`eme notamment dans les r´eseaux tr`es dynamique. Adaptation de la dur´ee du minuteur utilis´e par DAN avec d’autres application Dans le but d’adapter DAN `a d’autres sc´enarios d’utilisation, la dur´ee de l’intervalle WTC pourrait varier avec chaque flux de trafic Premium. En effet, elle pourrait prendre en compte l’intervalle de temps qui s´epare l’´emission de deux paquets de donn´ees cons´ecutifs ou encore le temps de traitement au niveau de chaque nœud interm´ediaire puisque cette dur´ee varie selon la capacit´e du syst`eme utilis´e. Cette am´elioration permettrait de fixer une dur´ee maximale d’attente en fonction des caract´eristiques de chaque flux et la capacit´e des nœuds dans le r´eseau. Simulations et mod`ele de mobilit´e Afin de garantir un environnement de simulation pour les r´eseaux ad hoc de drones, plus proche de la r´ealit´e, le mod`ele de mobilit´e PPRZM pourrait ˆetre compl´et´e par des modifications. Tout d’abord, il pourrait g´en´erer des mouvements pour un essaim de drones (swarm). Plus pr´ecis´ement, les drones6.2. PERSPECTIVES 149 auront la possibilit´e de bouger en coordination totale : de r´ealiser le mˆeme mouvement, au mˆeme moment mais chacun dans sa position. De plus, il est possible de compl´eter PPRZM aussi par d’autres mouvements non support´es par les drones Paparazzi qui impliquent une variation de l’altitude (comme les rotations en spirale verticale en montant ou descendant). 6.2.2 Op´erations pour les drones Cette th`ese apporte des nouveaut´es dans le cadre des communications de drones civils ce qui permet de cr´eer de nouvelles op´erations et de d´evelopper de nouvelles capacit´es complexes puisqu’elle offre une m´ethode plus simple pour contrˆoler les a´eronefs en garantissant les besoins en termes de QdS pour chaque service. Tout d’abord, ce travail a abouti `a un nouveau syst`eme de communication pour l’auto-pilote Paparazzi qui peut ˆetre mis en disposition de toute la communaut´e qui utilise ce syst`eme libre. En cons´equence, il permettra de r´ealiser les missions con¸cues pour les flottes de drones et n´ecessitant ce moyen de contrˆole des drones. En outre, il serait int´eressant d’optimiser les fonctionnalit´es du syst`eme Paparazzi qui ´etaient utilis´ees auparavant avec le syst`eme de contrˆole en ´etoile comme par exemple l’´evitement de collision puisque les drones ne communiquaient pas ensemble directement, c’est la station de contrˆole qui d´etectait la possibilit´e d’avoir une collision en recevant p´eriodiquement les positions des a´eronefs, et par la suite, elle informait les a´eronefs concern´es pour qu’ils l’´evitent. De plus, ce nouveau syst`eme pourrait ˆetre utilis´e pour tester de nouvelles fonctionnalit´es qui permettront d’utiliser les drones dans de nouvelles missions plus performantes. Ces fonctionnalit´es pourront changer leurs modes de fonctionnement selon la disponibilit´e des ressources dans le r´eseau puisqu’elles peuvent ˆetre `a jour de la capacit´e du r´eseau grˆace `a ses ´echanges `a travers l’API DAN. Par exemple, le drone peut modifier la r´esolution de sa vid´eo ´emise en fonction de la capacit´e du r´eseau.150 CHAPITRE 6. CONCLUSIONS ET PERSPECTIVESPublications Conf´erences internationales avec comit´e de lecture – Ouns BOUACHIR, Fabien GARCIA, Nicolas LARRIEU, Thierry GAYRAUD. Ad hoc Network QoS Architecture For Cooperative Unmanned Aerial Vehicles (UAVs). Wireless Days (WD), 2013 IFIP , vol., no., pp.1,4, 13-15 Nov. Valencia, Spain 2013. – Ouns Bouachir, Alinoe Abrassart, Fabien Garcia, Nicolas Larrieu. A Mobility Model For UAV Ad hoc Network. 2014 International Conference on Unmanned Aircraft Systems (ICUAS) May 27-30, 2014. Orlando, FL, USA Conf´erences nationales – Ouns BOUACHIR, Fabien GARCIA, Nicolas LARRIEU, Thierry GAYRAUD. Conception et Impl´ementation d’une Architecture de Communication pour Agents Mobiles Coop´eratifs. 14`eme Congr`es des Doctorants EDSYS (Ecole Doctorale Syst`emes), Tarbes, France, ´ 2013 Rapports techniques – 2 d´elivrables pour le projet D3CoS. 151152 CHAPITRE 6. CONCLUSIONS ET PERSPECTIVESAcronymes AANET Aeronautical Ad hoc Network ACK Acquittement AG Assured Forwarding AMUAV Adaptive MAC protocol for UAV AODV Ad hoc On-Demand Distance Vector AOMDV Ad hoc Multi-path Distance Vector API Application Programming Interface PBQMRP Position Based QoS Multi-cast Routing Protocol CA Contrˆoleur d’admission CEDAR Core-Extraction Distributed Ad hoc Routing CO Consigne de l’Op´erateur CSI Channel State Information CSMA/CA Carrier Sense Multiple Access avec Collision Avoidance CTS Clear To Send D3CoS Designing Dynamic Distributed Cooperative Human-Machine Systems DAN DCoS Ad hoc Network DCF Distributed Coordination Function DCoS Distributed Cooperative Human-Machine Systems DiffServ Differentiated Services DOLSR Directional Optimized Link State Routing DSDV Destination-Sequenced Distance Vector DSR Dynamic Source Routing DTN Delay Tolerant Network ECN Explicit Congestion Notification 153154 CHAPITRE 6. CONCLUSIONS ET PERSPECTIVES EDCA Enhanced Distributed Channel Access EF Expeditd Forwarding EHSR Extended Hierarchical State Routing FIFO First In First Out FQMM Flexible QoS Model for MANETs GCS Ground Control Station GPMOR Geographic Position Mobility Oriented Routing GPRS General Packet Radio Service GPS Global Positioning System GPSR Greedy Perimeter Stateless Routing GSM Global System for Mobile Communications HAP High altitude platform HiperLAN High Performance radio LAN IETF Internet Engineering Task Force INSIGNIA In-Band Signaling Support for QoS In Mobile Ad hoc Networks IntServ Integrated Services IO Informations de l’Op´eration IP Internet Protocol IS Informations du Syst`eme LAROD Location Aware Routing for Opportunistic Delay Tolerant Libnl Netlink Protocol Library LODMAC Location Oriented Directional MAC protocol LTE Long Term Evolution MAC Media Access Control MAR Mobile Agent Routing MANET Mobile Ad hoc Network MC Messages de Contrˆole MC-TRACE Multicasting Time Reservation using Adaptive Control for Energy Efficiency MH-TRACE Multi-Hop Time Reservation using Adaptive Control for Energy Efficiency MPLS Multi-Protocol Label Switching MPR Multi-packet reception6.2. PERSPECTIVES 155 MTT Methods, Techniques and tools OMNET++ Objective Modular Network Testbed in C++ OSLR Optimized Link State Routing Protocol PCF Point Coordination Function PHB Per Hop Behavior PPRZM Paparazzi Mobility PSTN Public Switched Telephone Betwork QdS Qualit´e de Service RD Random Direction RGR Reactive-Greedy-Reactive routing protocol RREQ Route Request RREP Route Reply RERR Route Error RSVP Resources Setup Reservation Protocol RTP Real-time Transport Protocol RTS Request To Send RWP Random Way-Point SCTP Stream Control Transmission Protocol SD Safe Distance SRCM Semi-Random Circular Movement SWAN Stateless Wireless Ad hoc Network TARF Task Agent Resource Function TCP Transmission Control Protocol TDMA Time DivisionMultiple Access TG Tˆete de groupe ToS Type os Service TTL Time To Live UAANET UAV Ad hoc Network UAV Unmanned Aerial System UAV Unmanned Aerial Vehicle UDP User Datagrame Protocol UMTS Universal Mobile Telecommunications System156 CHAPITRE 6. CONCLUSIONS ET PERSPECTIVES USMP UAV Search Mission Protocol VANET Vehicular Ad hoc Network WAVE Wireless Access in Vehicular Environment WiMAX Worldwide Interoperability for Microwave Access WPAN Wireless Personnal Area Network WSN Wireless Sensor Network WTC Wait To Clear WTS Wait To Send XTP Xpress Transfer ProtocolBibliographie [AD10a] A.I. Alshbatat and Liang Dong. Adaptive mac protocol for uav communication networks using directional antennas. In International Conference on Networking, Sensing and Control (ICNSC), IEEE, 2010. [AD10b] A.I. Alshbatat and Liang Dong. Cross layer design for mobile ad-hoc unmanned aerial vehicle communication networks. In International Conference on Networking, Sensing and Control (ICNSC), IEEE, 2010. [AHAN05] A. Al Hanbali, E. Altman, and P. Nain. A survey of tcp over ad hoc networks. Communications Surveys Tutorials, IEEE, 7(3) :22–36, Third 2005. [BBC+98] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, and W. Weiss. An architecture for differentiated services. IETF RFC 2475, December 1998. [BCS94] R. Braden, D. Clark, and S. Shenker. Integrated services in the internet architecture. RFC 1633, Jun. 1994. [BDJH04] Timothy X Brown, Sheetalkumar Doshi, Sushant Jadhav, and Jesse Himmelstein. Test bed for a wireless network on small uavs. pages 20–23, 2004. [BEB+97] R. Braden, L. Zhang Ed., S. Berson, S. Herzog, and S. Jamin. Resource reservation protocol (rsvp). IETF RFC 2205, September 1997. [Bes13] Frederic Besse. Reseaux ad hoc aeronautiques. PhD thesis, Ecole Nationale de l’Aviation Civile (ENAC), 2013. [BGL08] Sunghyun Choi Byeong Gi Lee. Broadband Wireless Access and Local Networks : Mobile WiMax and WiFi. Artech House mobile communications series, 2008. [BJ12] O. Bazan and M. Jaseemuddin. A survey on mac protocols for wireless adhoc networks with beamforming antennas. Com- 157158 BIBLIOGRAPHIE munications Surveys Tutorials, IEEE, 14(2) :216–239, Second 2012. [Blo] John David Blom. Unmanned Aerial Systems : A Historical Perspective, chapter 1 and 2, pages 1–12 and 45–49. CreateSpace Independent Publishing Platform (September 1, 2010). [Blu] Bluetooth. https ://www.bluetooth.org/en-us. [BST13] Ilker Bekmezci, Ozgur Koray Sahingoz, and Samil Temel. Flying ad-hoc networks (fanets) : A survey. Ad Hoc Networks, 11(3) :1254–1270, 2013. [BT11] P.-B. Bok and Y. Tuchelmann. Context-aware qos control for wireless mesh networks of uavs. In Computer Communications and Networks (ICCCN), 2011 Proceedings of 20th International Conference on, pages 1–6, July 2011. [BVH07] Brett Bethke, Mario Valenti, and Jonathan How. Cooperative vision based estimation and tracking using multiple uavs. In Conference of Cooperative Control and Optimization, 2007. [CBD02] Tracy Camp, Jeff Boleng, and Vanessa Davies. A survey of mobility models for ad hoc network research. In Wireless Communications mobile Computing (WCMC) : Special Issue On Mobile Ad hoc Networking, Research, Trends and Applications, volume 2, pages 483–502, 2002. [CBM+05] D.W. Casbeer, R.W. Beard, T.W. McLain, Sai-Ming Li, and R.K. Mehra. Forest fire monitoring with multiple small uavs. In American Control Conference, 2005. Proceedings of the 2005, volume 5, 8-10, pages 3530– 3535, June 2005. [CHKV06] Chen-Mou Cheng, Pai-Hsiang Hsiao, H. T. Kung, and D. Vlah. Performance measurement of 802.11a wireless links from uav to ground nodes with various antenna orientations. In International Conference on Computer Communications and Networks, ICCCN, 2006. [CJS+10] Jung Il Choi, Mayank Jain, Kannan Srinivasan, Philip Levis, and Sachin Katti. Achieving single channel, full duplex wireless communication. In ACM MobiCom’10 (Chicago, IL), 2010. [CLM+11] S. Chaumette, R. Laplace, C. Mazel, R. Mirault, A. Dunand, Y. Lecoutre, and J-N Perbet. Carus, an operational retasking application for a swarm of autonomous uavs : First return on experience. In Military Communications Conference, 2011- MILCOM, 2011.BIBLIOGRAPHIE 159 [CSGM13] DE Cook, PA Strong, SA Garrett, and RE Marshall. A small unmanned aerial system (uas) for coastal atmospheric research : preliminary results from new zealand. Journal of the Royal Society of New Zealand, 43(2) :108–115, 2013. [CYCG07] James R. Clapper, JohnJ. Young, James E. Cartwright, and John G. Grimes. Unmanned systems roadmap 2007-2032. Technical report, Departement of Defense, USA, 2007. [CYL+13] Yegui Cai, F.R. Yu, Jun Li, Yifeng Zhou, and L. Lamont. Medium access control for unmanned aerial vehicle (uav) adhoc networks with full-duplex radios and multipacket reception capability. Vehicular Technology, IEEE Transactions on, 62(1) :390–394, Jan 2013. [dFB08] M. de Fatima Bento. Unmanned aerial vehicles. wo18.15 rking paper Inside GNSS, available on : http ://www.insidegnss.com/auto/janfeb08-wp.pdf, January/February 2008. [ESB+04] D.C. Engelhart, Anand Sivasubramaniam, C.L. Barrett, M.V. Marathe, J.P. Smith, and M. Morin. A spatial analysis of mobility models : application to wireless ad hoc network simulation. In Simulation Symposium, 2004. Proceedings. 37th Annual, pages 35–42, April 2004. [Ete08] K. Etemad. Overview of mobile wimax technology and evolution. Communications Magazine, IEEE, 46(10) :31–40, October 2008. [FHS07] J. Hope Forsmann, Robert E. Hiromoto, and John Svoboda. A time-slotted ondemand routing protocol for mobile ad hoc unmanned vehicle systems. Unmanned System Technology IX, SPIE, 6561, 2007. [GHWL13] Zhaoquan Gu, Qiang-Sheng Hua, Yuexuan Wang, and F.C.M. Lau. Reducing information gathering latency through mobile aerial sensor network. In INFOCOM, 2013 Proceedings IEEE, pages 656–664, April 2013. [GsAS02] A. Veres Gahng-seop Ahn, Andrew T. Campbell and Li-H. Sun. Swan : Service differentiation in stateless wireless ad hoc networks. In Proc. IEEE Infocom, 2002. [GSB09] S. Gowrishankar, S.K. Sarkar, and T. G. Basavaraju. Performance analysis of aodv, aodvuu, aomdv and raodv over ieee 802.15.4 in wireless sensor networks. In Computer Science and160 BIBLIOGRAPHIE Information Technology, 2009. ICCSIT 2009. 2nd IEEE International Conference on, pages 59–63, Aug 2009. [HBM07] M.T. Hyland and M.A. Temple B.E. Mullins, R.O. Baldwin. Simulation-based performance evaluation of mobile ad hoc routing protocols in a swarm of unmanned aerial vehicles. In 21st International Conference on Advanced Information Networking and Applications Workshops, AINAW, 2007. [KK00] Brad Karp and H. T. Kung. Gpsr : Greedy perimeter stateless routing for wireless networks. In Proceedings of the 6th annual international conference on Mobile computing and networking, MobiCom, 2000. [KLHH05] T. Karhima, P. Lindroos, M. Hall, and S.-G. Haggman. A link level study of 802.11b mobile ad-hoc network in military environment. In Military Communications Conference, MILCOM, IEEE, 2005. [KNt06] Erik Kuiper and Simin Nadjm-tehrani. Mobility models for uav group reconnaissance applications. In in Proceedings of International Conference on Wireless and Mobile Communications. IEEE Computer Society. IEEE, 2006. [KNT08] E. Kuiper and S. Nadjm-Tehrani. Geographical routing in intermittently connected ad hoc networks. In 22nd International Conference on Advanced Information Networking and Applications - Workshops. AINAW, 2008. [Kru92] J. Kruys. Hiperlan, applications and requirements. In Third IEEE International Symposium on Personal, Indoor and Mobile Radio Communications, 1992. Proceedings, PIMRC ’92, pp.133-138, 19-21 Oct, 1992. [LC98] Seoung-Bum Lee and Andrew T. Campbell. Insignia : In-band signaling support for qos in mobile ad hoc networks. In Workshop on Mobile Multimedia Communication MoMuc, 1998. [LCT+05] R. Levy, P.S. Carlos, A. Teittinen, L.S. Haynes, and C.J. Graff. Mobile agents routing-a survivable ad-hoc routing protocol. In Military Communications Conference, 2005. MILCOM . IEEE, 2005. [lin] Linux advanced routing & traffic control. http ://www.lartc.org/. [LMB09] R.L. Lidowski, B.E. Mullins, and R.O. Baldwin. A novel communications protocol using geographic routing for swarmingBIBLIOGRAPHIE 161 uavs performing a search mission. In IEEE International Conference on Pervasive Computing and Communications, PerCom, 2009. [LPG06] M. Le, Joon-Sang Park, and M. Gerla. Uav assisted disruption tolerant routing. In Military Communications Conference, IEEE MILCOM, 2006. [LRGM10] L. Lin, M. Roscheck, M. A. Goodrich, and B. S. Morse. Supporting wilderness search and rescue with integrated intelligence : Autonomy and information at the right time and the right place. In Twenty-Fourth AAAI Conference on Artificial Intelligence, AAAI, 2010. [LSLY12] Lin LIN, Qibo SUN, Jinglin LI, and Fangchun YANG. A novel geographic position mobility oriented routing strategy for uavs. Journal of Computational Information Systems, 8 :709– 716, 2012. [LZH+06] Myung Jong Lee, Jianling Zheng, Xuhui Hu, Hsin hui Juan, Chunhui Zhu, Yong Liu, June Seung Yoon, and T.N. Saadawi. A new taxonomy of routing algorithms for wireless mobile ad hoc networks : the component approach. Communications Magazine, IEEE, 44(11) :116 –123, november 2006. [LZH12] Na Li, Weihong Zhu, and Haihua Han. Digital interference cancellation in single channel, full duplex wireless communication. In Wireless Communications, Networking and Mobile Computing (WiCOM), 2012 8th International Conference on, pages 1–4, Sept 2012. [MBAAP02] A. Munaretto, H. Badis, K. Al-Agha, and G. Pujolle. A linkstate qos routing protocol for ad hoc networks. In Mobile and Wireless Communications Network, 2002. 4th International Workshop on, pages 222–226, 2002. [MCL+01] P. Muhlethaler, T. Clausen, A. Laouiti, A. Qayyum, and L. Viennot. Optimized link state routing protocol for ad hoc networks. In IEEE International Multi Topic Conference, IEEE INMIC, 2001. [MD01] M.K. Marina and S.R. Das. On-demand multipath distance vector routing in ad hoc networks. In Ninth International Conference on Network Protocols, 2001. [Mis04] Ajay R. Mishra. Fundamentals of Cellular Network Planning and Optimisation : 2G/2.5G/3G ...Evolution to 4G, volume 4, Issue 6. 19 nov. 2004.162 BIBLIOGRAPHIE [MM06] Mascolo C. Musolesi M. A community based mobility model for ad hoc network research. In REALMAN ’06 Proceedings of the 2nd international workshop on Multi-hop ad hoc networks : from theory to reality, pages 31 – 38, 2006. [MMN+] Jodi A. Miller, Paul D. Minear, Albert F. Niessner, Anthony M. DeLullo, Brian R. Geiger, Lyle N. Long, and Joseph F. Horn. Intelligent unmanned air vehicle flight systems. In Journal of Aerospace Computing, Information, and Communication, Vol. 4, No. 5, 2007, pp. 816. [MRM11] F. Morbidi, C. Ray, and G.L. Mariottini. Cooperative active target tracking for heterogeneous robots with application to gait monitoring. In Intelligent Robots and Systems (IROS), 2011 IEEE/RSJ International Conference on, pages 3608–3613, Sept 2011. [MYM01] M.P. Marios, Y. Yanli, and Kevin M.P. A cooperative search framework for distributed agents. In Proceedings of the 2001 IEEE International Symposium on Intelligent Control, Mexico, 2001. [Pap] Paparazzi. http ://wiki.paparazziuav.org/wiki/Main Page. [PR99a] C.E. Perkins and E.M. Royer. Ad hoc on-demand distance vector routing. In 2nd IEEE Workshop on Mobile Computing Systems and applications, 1999. [PR99b] Charles E. Perkins and Elizabeth M. Royer. Ad hoc on demand distance vector (aodv) routing draft-ietf-manet-aodv- 02.txt. IETF Draft, November 1999. [PZ09] Aveek Purohit and Pei Zhang. Sensorfly : a controlled-mobile aerial sensor network. In Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems, pages 327–328, 2009. [QAKQ11] M.M. Qabajeh, A.H. Abdalla, O. Khalifa, and L.K. Qabajeh. A tree-based qos multicast routing protocol for manets. In 4th International Conference on Mechanisms (ICOM), IEEE, 2011. [QKWS+10] Markus Quaritsch, Karin Kruggl, Daniel Wischounig-Strucl, Subharata Bhattacharya, and Bernhard Rinner Mubarak Shah. Networked uavs as aerial sensor network for disaster management applications. e & i Elektrotechnik und Informationstechnik, 127, Issue 3 :56–63, 2010. [RAV01] E. Rosen and R. Callon A. Viswanathan. Multiprotocol label switching architecture. IETF RFC 3031, Jan. 2001.BIBLIOGRAPHIE 163 [Roy10] Radhika Ranjan Roy. Handbook of Mobile Ad Hoc Networks for Mobility Models. 2010. [RPG13] M. Royer, A. Pirovano, and F. Garcia. Survey on context-aware publish/subscribe systems for vanet. In 5th Intl Workshop on Communication Technologies for Vehicles May 14-15, 2013 - Lille (France), 2013. [RS07] Ed. R. Stewart. Stream control transmission protocol. IETF, RFC 4960, Septembre 2007. [RZH+04] A. Ryan, M. Zennaro, A. Howell, R. Sengupta, and J.K. Hedrick. An overview of emerging results in cooperative uav control. In 43rd IEEE Conference on Decision and Control, 2004. [SFS+04a] P. Sholander, G. Frank, Sean Swank, J.P. Loyall, and G. Duzan. Multi-layer, mission-aware qos management techniques for ip applications in a joint battlespace infosphere. In Military Communications Conference, 2004. MILCOM 2004. 2004 IEEE, volume 3, pages 1254–1260 Vol. 3, Oct 2004. [SFS+04b] P. Sholander, G. Frank, Sean Swank, J.P. Loyall, and G. Duzan. Multi-layer, mission-aware qos management techniques for ip applications in a joint battlespace infosphere. In Military Communications Conference, 2004. MILCOM 2004. 2004 IEEE, volume 3, pages 1254–1260 Vol. 3, Oct 2004. [Shi11] R. Shirani. Reactive-greedy-reactive in unmanned aeronautical ad-hoc networks : A combinational routing mechanism. Master’s thesis, Carleton University, available on : http ://www.csit.carleton.ca/˜msthilaire/Thesis/Rostam%20Shirani.pdf, 2011. [SKKK03] J. Salim, H. Khosravi, A. Kleen, and A. Kuznetsov. Linux netlink as an ip services protocol. IETF, RFC 3549, Juillet 2003. [Soc03] IEEE Computer Society. Ieee std. 802.15.4-2003, October . 2003. [SSB99] P. Sinha, R. Sivakumar, and V. Bharghavan. Cedar : a coreextraction distributed ad hoc routing algorithm. In INFOCOM ’99. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE, volume 1, pages 202–209 vol.1, Mar 1999. [SSHK+11] R. Shirani, M. St-Hilaire, T. Kunz, Yifeng Zhou, Jun Li, and L. Lamont. The performance of greedy geographic forwarding164 BIBLIOGRAPHIE in unmanned aeronautical ad-hoc networks. In Ninth Annual Communication Networks and Services Research Conference (CNSR), 2011. [TB13] S. Temel and I. Bekmezci. On the performance of flying ad hoc networks (fanets) utilizing near space high altitude platforms (haps). In Recent Advances in Space Technologies (RAST), 2013 6th International Conference on, pages 461–465, June 2013. [TBH04] S.Jadhav T.X. Brown, S. Doshi and J. Himmelstei. Test bed for a wireless network on small uavs. In AIAA, 3rd Unmanned Unlimited Technical conference, Chicago, IL, 2004. [TBV13] Tan Viet Anh Truong, Petr Benda, and Jiri Vokrinek. The task agent resource function application in uav domain. In AIAA GNC 2013, AIAA Guidance, Navigation and Control Conference, Boston : United States DOI : 10.2514/6.2013-4798, (2013). [TCP81] TCP. Transmission control protocol. IETF, RFC : 793, 1981. [TH03] B. Tavli and W.B. Heinzelman. Mh-trace : multihop time reservation using adaptive control for energy efficiency. In Military Communications Conference, 2003. MILCOM ’03. 2003 IEEE, volume 2, pages 1292–1297 Vol.2, Oct 2003. [TH05] B. Tavli and W.B. Heinzelman. Mc-trace : multicasting through time reservation using adaptive control for energy efficiency. In Military Communications Conference, 2005. MILCOM 2005. IEEE , pp.2672-2678 Vol. 4, 17-20 Oct, 2005. [TTV07] F. Theoleyre, R. Tout, and F. Valois. New metrics to evaluate mobility models properties. In Wireless Pervasive Computing, 2007. ISWPC ’07. 2nd International Symposium on, pages –, Feb 2007. [WAKP08] Y. Wang, A. Ahmed, B. Krishnamachari, and K. Psounis. Ieee 802.11p performance evaluation and protocol enhancement. In IEEE International Conference on Vehicular Electronics and Safety, 2008. ICVES 2008. Sept, 2008. [WGWW10] Wei Wanga, Xiaohong Guana, Beizhan Wangb, and Yaping Wangc. A novel mobility model based on semi-random circular movement in mobile ad hoc networks. Information Sciences, Volume 180, Issue 3 :399–413, 2010. [XHG+01] Kaixin Xu, Xiaoyan Hong, Mario Gerla, H. Ly, and D.L. Gu. Landmark routing in large wireless battlefield networks usingBIBLIOGRAPHIE 165 uavs. In Military Communications Conference, 2001. MILCOM 2001. Communications for Network-Centric Operations : Creating the Information Force. IEEE, 2001. [XLH+13] T. Xie, R. Liu, R.T. Hai, Q.H. Hu, and Q. Lu. Uav platform based atmospheric environmental emergency monitoring system design. Journal of Applied Sciences, 13 :1289–1296, 2013. [XSX+10] Ji Xiangyu, Wu Sentang, Liu Xiang, Du Yang, and Tang Jiqiang. Research and design on physical multi-uav system for verification of autonomous formation and cooperative guidance. In Electrical and Control Engineering (ICECE), 2010 International Conference on, pages 1570–1576, June 2010. [XTP92] XTP. Xpress transfer protocol. XTP Forum, version 3.6, January 1992. [XWNF13] J. Xie, Y. Wan, K. Namuduri, and J. Fu, S.and Kim. A comprehensive modeling framework for airborne mobility. In The Americain Institute of Aeronautics and Astronautics (AIAA) Conference, Boston, August 19-22, 2013. [XYLC00] Hannan Xiao, Winston K. G. Seah Y, Anthony Lo, and Kee Chaing Chua. A flexible quality of service model for mobile ad-hoc networks. In IEEE VTC2000-spring, pages 445–449, 2000. [YCBE10] E. Yanmaz, C. Costanzo, C. Bettstetter, and W. Elmenreich. A discrete stochastic process for coverage analysis of autonomous uav networks. In GLOBECOM Workshops (GC Wkshps), 2010 IEEE, pages 1777–1782, Dec 2010. [YKB11] E. Yanmaz, R. Kuschnig, and C. Bettstetter. Channel measurements over 802.11a-based uav-to-ground links. In GLOBECOM Workshops (GC Wkshps), 2011 IEEE, pages 1280–1284, Dec 2011. [YPD07] C. Yawut, B. Paillassa, and R. Dhaou. On metrics for mobility oriented self adaptive protocols. In Wireless and Mobile Communications, 2007. ICWMC ’07. Third International Conference on, pages 11–11, March 2007. [ZHR04] Qunwei Zheng, Xiaoyan Hong, and Sibabrata Ray. Recent advances in mobility modeling for mobile ad hoc network research. In Proceedings of the 42Nd Annual Southeast Regional Conference, ACM-SE 42, pages 70–75, New York, NY, USA, 2004. ACM.166 BIBLIOGRAPHIEAnnexe A Annexe : Outils de simulation Le simulateur r´eseau OMNET++ OMNET++ (Objective Modular Network Testbed in C++) 1 est une plateforme de simulation `a ´ev´enement libre d´evelopp´ee en C++. Il a ´et´e con¸cu pour simuler les r´eseaux de communication, les syst`emes multiprocesseurs et d’autres syst`emes distribu´es. Il peut ´egalement ˆetre ´etendu en mod´elisant d’autres syst`emes. C’est un outil modulaire, g´en´erique, flexible et bas´e composants. Il offre une librairie de classes de simulation C++ et un support GUI (Graphical User Interface) pour la visualisation graphique du r´eseau ainsi que son animation. Il contient entre autres un compilateur NED (Network description), une interface graphique (Tkenv), un invite de commande (Cmdenv), un outil graphique pour l’analyse des r´esultats de simulation (Dataset), etc (figure A.1). L’architecture de simulation avec OMNET++ est compos´ee de modules qui communiquent entre eux en ´echangeant des messages `a travers leurs interfaces li´ees par des connections. OMNET++ poss`ede des extensions externes qui lui permettent de fournir un support pour la simulation des r´eseaux sans fil tels que le plateformes INET, INETMANET ou encore MiXiM. Pour notre ´etude nous avons utilis´e la plateforme INET. Le mod`ele de simulation de DAN DAN ainsi que le mod`ele de mobilit´e PPRZM ont ´et´e impl´ement´es et simul´es avec OMENT++. Chaque nœud utilisant DAN contient dans son 1. http ://www.omnetpp.org/ 167168 ANNEXE A. ANNEXE : OUTILS DE SIMULATION Animation du scénario Animation au niveau d’un nœud (NED) Evolution (Tkenv) Analyse des résultats (Dataset) Figure A.1 – Captures ´ecran du simulateur OMNET++ architecture le module DAN-agent comme pr´esent´e dans la figure A.2. L’agent DAN est li´e aux niveaux r´eseau et applicatif qui peut ´emettre du trafic TCP et/ ou UDP. Chaque application peut communiquer avec DAN `a travers DAN API. Par la suite, l’agent DAN communique directement avec les autres modules ainsi qu’avec les niveau r´eseau pour envoyer et recevoir des messages de signalisation encapsul´es dans IP. La figure A.3 pr´esente l’architecture du module DAN classificateur. Il contient un module classificateur (class) qui permet de marquer les trafic si le nœud est l’´emetteur et d’affecter les paquets re¸cus `a l’une de ses trois files d’attente : Urgent, Premium et BE. Le type et la taille de la file ´etant des param`etres pour ce mod`ele, nous avons utilis´e pour nos simulations le type FIFO (First In First Out) et la taille 100 (nombre maximum de paquets) par file. Le module d’ordonnancement, nomm´e Ps, est responsable de retirer les paquets `a ´emettre des files d’attentes. Ce module est un ordonnancement qui169 Figure A.2 – Architecture d’un nœud utilisant le syst`eme DAN Figure A.3 – Architecture du module DAN classificateur170 ANNEXE A. ANNEXE : OUTILS DE SIMULATION permet de respecter les priorit´es des trois files d’attente (Priority Queing). Pour nos simulations, nous avons utilis´e le mod`ele de mobilit´e PPRZM cr´e´e pour imiter les mouvements r´eels de drones Paparzzi. Le reste des modules utilis´es pour l’architecture des nœuds sont les modules ordinaires propos´e par la plateforme INET. Planification d’une chaˆıne logistique: approche par satisfaction de contraintes dynamiques Mariem Trojet To cite this version: Mariem Trojet. Planification d’une chaˆıne logistique: approche par satisfaction de contraintes dynamiques. Automatic Control Engineering. INSA de Toulouse, 2014. French. HAL Id: tel-00996957 https://tel.archives-ouvertes.fr/tel-00996957 Submitted on 28 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´esTable des matières I Table des matières REMERCIEMENTS 1 INTRODUCTION GENERALE 3 CHAPITRE I.GESTION DES ACTIVITES DE PRODUCTION : CONTEXTE ET POSITIONNEMENT DU TRAVAIL DE RECHERCHE 7 I.1. Introduction 8 I.2. La gestion de production 8 I.2.1. Le système de production 9 I.2.2. Le système de gestion : structure décisionnelle multi-niveaux 11 I.2.3. Offres en logiciels pour la gestion de la production 16 I.3. Modèles de Planification – Ordonnancement 19 I.3.1. Planification : modèles par quantités 20 I.3.2. Ordonnancement : Modèles par dates 22 I.4. La Planification : un vecteur de hiérarchisation et d’intégration 24 I.4.1. Les approches multiniveaux : supports de la hiérarchisation verticale 24 I.4.2. Les processus de planification : supports de l’intégration horizontale 31 I.5. La chaîne logistique 35 I.5.1. Structure des chaînes logistiques 36 I.5.2. Catégories des chaînes logistiques 38 I.5.3. Gestion de la chaîne logistique (Supply Chain Management – SCM) 40 I.5.4. Offres en logiciels pour la gestion de la chaîne logistique (SCM) 42 I.6. Conclusion 44 CHAPITRE II.LES PROBLEMES DE SATISFACTION DE CONTRAINTES 45 II.1. Introduction 46 II.2. Le Problème de Satisfaction de contraintes (CSP) 47 II.2.1. Définitions et notions 47 II.2.2. Techniques de propagation de contraintes 50 II.2.3. Méthodes de résolution d’un CSP 52 Table des matières II II.2.4. CSP et optimisation 56 II.3. Problèmes de satisfaction de contraintes dynamiques (DCSP) 57 II.3.1.Définitions DCSP 57 II.3.2. DCSP et autres formalismes 59 II.3.3. CSP conditionnels 59 II.4. Résolution d’un CSP dynamique 60 II.4.1. Approche par réutilisation de solution 61 II.4.2. Approche par réutilisation du raisonnement 64 II.5. Conclusion 65 CHAPITRE III.APPROCHE INTEGREE POUR LA PLANIFICATION DYNAMIQUE : CONCEPTS ET MODELES 67 III.1. Introduction 68 III.2. Objectifs de l’étude 68 III.3. Approche proposée : structure décisionnelle à deux niveaux 70 III.3.1. Structure de la chaîne logistique considérée 70 III.3.2. Processus et leviers décisionnels considérés 73 III.4.Planification dynamique 74 III.4.1. Processus de prise de décision 74 III.4.2. Planification à horizon glissant 76 III.4.3. Procédure de planification 79 III.5. Modélisation du processus de planification dynamique 80 III.5.1.Modèle planification de la production : Premier niveau de décision 80 III.5.2. Modèle ordonnancement agrégé : Deuxième niveau de décision 84 III.5.3. Interaction énergétique entre les deux niveaux de décision 86 III.6. Conclusion 88 CHAPITRE IV.ANALYSE DE PERFORMANCE : DEMARCHE METHODOLOGIQUE 91 IV.1.Introduction 92 IV.2. Objectifs et Démarche 93 IV.2.1. Objectifs de l’analyse : Mesurer la stabilité et la robustesse 93 IV.2.2. Approche comparative : CSP statique vs CSP dynamique 95 IV.3. Procédures de résolution : CSP Statique et CSP Dynamique 95 IV.3.1. Procédure de résolution CSP statique 96 Table des matières III IV.3.2. Procédure de résolution CSP dynamique 98 IV.4. Indicateurs de performance 101 IV.4.1. Protocole d’évaluation de la performance 101 IV.4.2. Notions de Distance et de Poids de Perturbation 101 IV.4.3. Indicateurs de performance au niveau Site de production 103 IV.4.4. Indicateurs de performance au niveau chaîne logistique 105 IV.5. Conclusion 107 CHAPITRE V.EXPERIMENTATION NUMERIQUE ET EVALUATION DE L’APPROCHE 109 V.1. Introduction 110 V.2. Présentation du cas d’étude 110 V.2.1. Description de la structure et des données de la chaîne logistique 110 V.2.2. Problématique et scénarios considérés 113 V.3. Évaluation de la stabilité et robustesse au niveau Site de production 114 V.3.1. Expérimentation avec une variation de la demande 114 V.3.2. Expérimentation avec une variation de la capacité 120 V.3.3. Expérimentation avec une variation de re-planification 126 V.4. Analyse de sensibilité de la chaîne logistique : Résolution statique vs. dynamique 134 V.4.1. Sensibilité de la chaîne logistique face aux variations : niveau planification 135 V.4.2. Sensibilité de la chaîne logistique face aux variations : niveau ordonnancement 136 V.4.3. Sensibilité comparative de la planification /ordonnancement face aux variations 137 V.4.4. Sensibilité de la fonction objectif face aux variations 140 V.5. Conclusion 142 CONCLUSION GENERALE 143 REFERENCES BIBLIOGRAPHIQUES 147Table des matières IVListe des figures V Liste des figures Figure I.1. Interactions entre système de production, système de gestion et environnement [Dauzère-Pérès, 1992] ................................................................................................................ 9 Figure I.2. Vision systémique de la gestion d’un système de production [DespontinMonsarrat, 2004] ...................................................................................................................... 12 Figure I.3. Structure décisionnelle à trois niveaux [Dauzère-Pérès, 1992] ............................. 14 Figure I.4. Modélisation des décisions de planification dans le MRP II, d’après [Thomas, 2003] ......................................................................................................................................... 17 Figure I.5. Classification des modèles de lot-sizing [Rota, 1998] .......................................... 21 Figure I.6. Classification des problèmes d’ordonnancement : Modèles par dates [Lopez, 1991] ......................................................................................................................................... 23 Figure I.7.Procédure itérative [Fontan et Imbert, 1985] ......................................................... 28 Figure I.8. Méthode de résolution intégrée de Dauzère-Pérès [Wolosewicz, 2008] ............... 29 Figure I.9.SCP-Matrix [Stadtler et Kilger, 2005] ................................................................... 32 Figure I.10. La planification : support d’intégration horizontale ............................................ 34 Figure I.11. Représentation d’une chaîne logistique [Lee et Billington, 1993] ...................... 36 Figure I.12. Différentes structures de la chaîne logistique, [Mahmoudi, 2006] ..................... 38 Figure I.13. Exemple d’une entreprise multi-site [Thierry, 1994] .......................................... 39 Figure I.14. Positionnement de l'offre logicielle en SCM [Botta-Genoulaz, 2003] ................ 43 Figure II.1. Phase de propagation de contraintes [Lopez, 2001] ............................................ 53 Figure II.2. Les algorithmes de recherche CSP [Fischer, 2000] ............................................. 55 Figure II.3. Description du problème [Verfaillie et Jussien, 2005] ........................................ 62 Figure II.4. Méthode de recherche locale [Verfaillie et Jussien, 2005] .................................. 63 Figure II.5. Méthode par relaxation-affectation de variables [Verfaillie et Jussien, 2005] .... 64 Figure III.1. Processus de planification dynamique ............................................................... 70 Figure III.2. Structure de la chaîne ......................................................................................... 72 Figure III.3. Minimisation des en-cours [Moncel, 2010] ....................................................... 74 Figure III.4. Phases de prise de décision [Gharbi et al., 2009] ............................................... 75 Figure III.5. Processus de planification dynamique [Amrani-Zouggar, 2009] ................ 77 Figure III.6. Horizon de décision gelé, d’après [Thierry, 2003] ............................................. 78 Figure III.7. Approche proposée ............................................................................................. 79 Figure III.8. Interaction énergétique entre les deux niveaux de décision ............................... 88 Figure IV.1. Schéma d’actualisation d’un problème de planification .................................... 92 Figure IV.2. Algorithme de réparation .................................................................................... 99 Figure V.1. Gamme de fabrication des différents produits ................................................... 112 Figure V.2. Variation de la demande .................................................................................... 114 Figure V.3. Variation de la capacité à la période t = 13 ........................................................ 121 Figure V.4. Variation de re-planification en période t = 13 .................................................. 127Liste des figures VI Figure V.5. Variation de re-planification en période t = 14 .................................................. 127 Figure V.6. Poids de perturbation pour la variable I (Site 1) avec une variation de la demande ................................................................................................................................................ 134 Figure V.7. Evaluation de la robustesse au niveau chaîne logistique pour les 3 types de variation .................................................................................................................................. 135 Figure V.8. Evaluation de la stabilité au niveau chaîne logistique pour les 3 types de variation ................................................................................................................................................ 135 Figure V.9. Evaluation de la robustesse au niveau ordonnancement pour les 3 types de variation .................................................................................................................................. 136 Figure V.10. Evaluation de la stabilité au niveau ordonnancement pour les 3 types de variation .................................................................................................................................. 137 Figure V.11. Evaluation de la stabilité de la chaîne logistique par niveau de décision dans le cas d’une variation de la demande ......................................................................................... 138 Figure V.12. Evaluation de la stabilité de la chaîne logistique par niveau de décision dans le cas d’une variation de la capacité ........................................................................................... 138 Figure V.13. Evaluation de la stabilité de la chaîne logistique par niveau de décision dans le cas d’une variation de re-planification ................................................................................... 138 Figure V.14. Evaluation de la stabilité de la chaîne logistique par niveau de décision dans le cas d’une variation de la demande ......................................................................................... 139 Figure V.15. Evaluation de la stabilité de la chaîne logistique par niveau de décision dans le cas d’une variation de la capacité ........................................................................................... 139 Figure V.16. Evaluation de la stabilité de la chaîne logistique par niveau de décision dans le cas d’une variation de re-planification ................................................................................... 140 Figure V.17. Evaluation du coût dans le cas d’une variation de la demande ........................ 140 Figure V.18. Evaluation du coût dans le cas d’une variation de re-planification ................. 141 Figure V.19. Evaluation du coût dans le cas d’une variation de la capacité ......................... 141Liste des tableaux VII Liste des tableaux Tableau II.1. Données du problème ........................................................................................ 49 Tableau II.2. Effets des transformations élémentaires [Richaud, 2009] ................................. 58 Tableau IV.1. Tableau de synthèse des indicateurs de performance (niveau sites) .............. 106 Tableau IV.2. Tableau de synthèse des indicateurs de performance (niveau chaîne logistique) ................................................................................................................................................ 107 Tableau V.1. Délais et coûts de production des produits ...................................................... 111 Tableau V.2. Coûts unitaires de stockage et de rupture ........................................................ 111 Tableau V.3. Profil de la demande (première itération de planification : k = 1) .................. 111 Tableau V.4. Capacité des sites de production ..................................................................... 112 Tableau V.5. Résultats numériques dans le cas d’une variation de la demande : premier niveau de décision .................................................................................................................. 116 Tableau V.6. Résultats numériques dans le cas d’une variation de la demande : deuxième niveau de décision .................................................................................................................. 116 Tableau V.7. Variation de la demande : Evaluation de la perturbation au niveau sites (planification de la production) .............................................................................................. 117 Tableau V.8. Variation de la demande : Evaluation de la perturbation au niveau sites (ordonnancement agrégé) ....................................................................................................... 118 Tableau V.9. Résultats numériques dans le cas d’une variation de la capacité : premier niveau de décision .............................................................................................................................. 122 Tableau V.10. Résultats numériques dans le cas d’une variation de la capacité : deuxième niveau de décision .................................................................................................................. 122 Tableau V.11. Variation de la capacité : Evaluation de la perturbation au niveau sites (planification de la production) .............................................................................................. 123 Tableau V.12. Variation de la capacité : Evaluation de la perturbation au niveau sites (ordonnancement agrégé) ....................................................................................................... 124 Tableau V.13. Exemple de variation de re-planification ...................................................... 126 Tableau V.14. Résultats numériques dans le cas d’une variation de re-planification : niveau planification ............................................................................................................................ 129 Tableau V.15. Résultats numériques dans le cas d’une variation de re-planification : niveau ordonnancement agrégé .......................................................................................................... 129 Tableau V.16. Variation de re-planification : Evaluation de la perturbation au niveau sites (planification de la production) .............................................................................................. 130 Tableau V.17. Variation de re-planification : Evaluation de la perturbation au niveau sites (ordonnancement agrégé) ....................................................................................................... 131Remerciements 1 Remerciements Le travail présenté dans ce mémoire a été réalisé dans le cadre d’une convention de cotutelle de thèse entre l’Ecole Nationale d’Ingénieurs de Tunis (ENIT), d’une part, et l’Institut National des Sciences Appliquées de Toulouse (INSA) et le Laboratoire d’Analyse et d’Architecture des Systèmes (LAAS) du CNRS, d’autre part. Je remercie Messieurs Raja Chatila et Jean Arlat, directeurs successifs du LAAS depuis mon entrée, de m’avoir accueilli dans ce laboratoire. Je remercie également Messieurs Pierre Lopez et Christian Artigues, directeurs de recherche au CNRS de m’avoir accueilli et facilité mes séjours au sein du groupe Recherche Opérationnelle, Optimisation Combinatoire et Contraintes (ROC) dont ils ont eu la responsabilité, et Monsieur Ali Zghal pour m’avoir accueillie au sein de l’unité de recherche Mécanique des Solides, des Structures et Développement Technologique (UR MSSDT). Je remercie très sincèrement mes encadrants de thèse M. Pierre Lopez et M. Ali Zghal. Merci pour votre sympathie et votre constante bonne humeur. Je ne vous remercierai jamais assez pour vos encouragements dans les moments difficiles et votre soutien tout au long de cette thèse. Je tiens à remercier également et à exprimer ma profonde reconnaissance à mon encadrant scientifique, M. Fehmi H’Mida. Le suivi de mes travaux, vos conseils avisés et vos critiques m’ont permis de mener à bien ces travaux. Merci pour la confiance dont vous m’avez toujours témoigné. Je tiens à exprimer toute ma gratitude à M. Patrick Esquirol. Sa gentillesse, son expérience, son optimisme et ses encouragements m’ont beaucoup apporté et aidé durant ces quatre dernières années. Je tiens à le remercier plus particulièrement pour m’avoir aidé en matière de programmation informatique. J’exprime toute ma gratitude aux membres du jury qui m’ont fait l’honneur de juger ce travail de thèse : Messieurs Ouajdi Korbaa, Professeur à l’Institut Supérieur d’Informatique et des Techniques de Communication à Hammam Sousse et Rémy Dupas, Professeur à l’Université de Bordeaux en leur qualité de rapporteurs, Madame Farah Zeghal, Maître de conférences à l’Ecole Nationale d’Ingénieurs de Tunis, en sa qualité de président de jury. Remerciements 2 J’adresse ma sincère reconnaissance à Madame Hanen Bouchriha, Maître de conférences à l’Ecole Nationale d’Ingénieurs de Tunis d’avoir accepté d’examiner ce travail. Je souhaite remercier chaleureusement tous les membres de l’équipe ROC, permanents, doctorants et stagiaires. Ce fut un réel plaisir de travailler à vos côtés. Merci Boadu, Touria, Panwadee, Kata, Maria, Hassan. Je n’oublie pas non plus les anciens du groupe qui m’ont beaucoup aidé, merci à Wafa, Oumar et William. Mes remerciements s’adressent également à la secrétaire de l’équipe Christèle Mouclier. Aussi, je tiens à remercier mes amis en dehors du groupe, merci à Romaric, Imene, Ahmed, Fatma, Iskander. Merci également aux membres de l’unité de recherche MSSDT, et en particulier Messieurs Fethi Abassi et Frej Chaouachi. Je ne manquerai pas non plus de remercier mes collègues de l’Ecole Supérieure de Technologie et d’Informatique de Tunis – Tunisie. Finalement, je tiens à remercier mes très chers parents sans qui rien de tout cela n’aurait été possible. Merci surtout pour leur patience, leur courage et leur sacrifice. Comment ne pas remercier mon adorable sœur et mon adorable frère. Simplement merci…Introduction générale 3 Introduction générale A partir des années 90, l’évolution du contexte économique a amené les entreprises, dans un climat de concurrence mondialisée, à s’adapter au marché tout en améliorant la maîtrise du coût, de la qualité et du délai de fabrication des produits. Ainsi, et dans le but d’accroître leurs compétences, les entreprises ont opté pour une spécialisation de leurs activités et un recentrage métier. Elles s’organisent alors en réseaux pour externaliser leurs activités secondaires et développer une meilleure qualité de service à leurs clients. Ainsi, une chaîne logistique peut se définir comme la coopération de tous les partenaires industriels pour l’élaboration d’une famille de produits finis [François, 2007]. Les technologies de l’information et les systèmes d'information associés ont fortement influencé l’évolution des chaînes logistiques avec l’implantation d’outils support à la collaboration. Nous trouvons notamment : les APS (Advanced Planning System), les ERP (Enterprise Resource Planning), les MES (Manufacturing Execution Systems), etc. ([Galasso, 2007], [Gharbi, 2012]). Plusieurs outils sont alors développés afin d’aider aux prises de décision, du niveau le plus haut (stratégie générale de l’entreprise) au niveau le plus bas (fonctionnement des machines dans l’atelier de fabrication). Très souvent, les décisions tactiques (Planification) sont prises indépendamment des décisions opérationnelles (Ordonnancement). Les contraintes de capacité de l’atelier sont modélisées grossièrement dans le calcul du plan, ce qui implique souvent la non faisabilité d’un plan de production. De plus, ce plan n’est pas remis en cause par le niveau opérationnel après avoir été transmis. Pour pallier ce problème, quelques approches proposant l’intégration de niveaux hiérarchiques de décision existent dans la littérature. Notre travail s’intéresse à la planification tactique et opérationnelle d’une chaîne logistique et propose une approche décisionnelle à deux niveaux. Le modèle proposé intègre les décisions prises au niveau supérieur comme contraintes à respecter au niveau inférieur (niveau opérationnel) en vue de garantir la faisabilité du plan de production. Nous développons une structure intégrée dans le cadre d’une approche de satisfaction de contraintes. Ces deux niveaux seront modélisés sous forme d’un problème de satisfaction de Introduction générale 4 contraintes (CSP pour Constraint Satisfaction Problem). Le premier niveau de décision consiste à planifier les volumes de production de chaque site pour chaque produit, les volumes de production sous-traités ainsi que le nombre d’heures supplémentaires utilisées à chaque période de l’horizon de planification, tout en respectant la capacité pour les différents sites de production définie sous la forme d’un nombre d’heures de travail disponibles. Nous introduisons un coût correspondant à chaque type de décision et c’est en termes de coût qu’une solution est considérée comme plus favorable qu’une autre. Le deuxième niveau consiste à ordonnancer, pour chaque site, les dates de début des opérations de fabrication tout en respectant la limitation de la capacité des ressources de fabrication (nombre de machines). Le recours à une structure décisionnelle intégrée nous a conduit à établir une interaction entre les niveaux supérieur (planification) et inférieur (ordonnancement agrégé). En s’appuyant sur un horizon discrétisé en périodes, le niveau supérieur transmet au deuxième niveau, à chaque période t, les quantités à lancer en production sur chaque site s. Ces variables sont soumises à des contraintes dites de conservation d’énergie, qui doivent être satisfaites par le niveau inférieur de décision. Certaines données telles que les demandes clients, les ressources mises à disposition de la chaîne par chaque entité et les délais de production sont incertaines. Les éléments de la chaîne sont ainsi soumis à des perturbations et aléas divers. Ainsi, il ne suffit pas d’avoir des plans qui optimisent les coûts et les en-cours. Les plans de production successifs doivent être robustes et stables suite à des aléas dus aux variations de certaines données, c’est-à-dire permettant de minimiser les différences entre les quantités planifiées recalculées à chaque itération du processus de planification. C’est dans ce contexte de planification tactique et opérationnelle, dans un environnement dynamique, que s’insèrent nos travaux de thèse. L’objectif de cette thèse est donc de proposer une approche intégrée qui répond aux problèmes d’incohérence entre les décisions tactiques et opérationnelles et qui assure une planification et un ordonnancement optimal tout en assurant la robustesse et la stabilité de la solution face aux perturbations. Dans le but de minimiser l’effet des perturbations dues à ces incertitudes, les deux niveaux seront modélisés sous forme d’un problème de satisfaction de contraintes dynamique (DCSP pour Dynamic Constraint Satisfaction Problem). En effet, un DCSP P est une suite P0,…,Pn de CSP statiques où Pi+1 diffère de Pi par un ajout ou un retrait de contraintes, variables, Introduction générale 5 valeurs. Notre contribution par cette approche revient à utiliser la solution relative au problème initial Pi pour la résolution du problème Pi+1 sujet à des perturbations. L’approche est évaluée à l’aide d’indicateurs de performance en vue de quantifier les apports en termes de robustesse et de stabilité. Les expérimentations sont effectuées à l’aide du logiciel ECLi PSe 6.0 qui est une extension du langage Prolog incluant des bibliothèques de programmation par contraintes. Ces expérimentations sont menées sur la base d’un cas de planification de la production d’une chaîne logistique. Ce mémoire est organisé de la façon suivante. Le premier chapitre définit le contexte de notre étude et introduit la problématique générale à laquelle nous nous intéressons. Il reprend les notions de base de la gestion de production et propose une présentation des modèles de planification-ordonnancement de la production existant dans la littérature. Ensuite, un état de l’art des approches actuelles pour mettre en relation les décisions des niveaux planification et ordonnancement est présenté. Enfin, nous retraçons la nouvelle structuration des entreprises manufacturières sous la forme de chaîne logistique. Le deuxième chapitre traite de la programmation par contraintes, les principes sur lesquels elle repose et les différentes méthodes de résolution. Ensuite, nous présentons un état de l’art des CSP dynamiques et des autres différents types de problèmes dynamiques qui peuvent exister. Nous présentons aussi les différentes méthodes de résolution associées. Le troisième chapitre détaille les objectifs de l’étude. Nous présentons la structure de la chaîne logistique étudiée et les décisions qui y sont associées. Ensuite, nous étudions le processus de prise de décision et les différents délais correspondants. Enfin, nous introduisons le principe général du processus de planification dynamique à horizon glissant et nous proposons un modèle mathématique qui traduit notre approche intégrée de planification dynamique. Le quatrième chapitre est consacré à l’expérimentation numérique de la structure décisionnelle hiérarchisée. Nous présentons un outil de simulation basé sur deux méthodes de résolution, une méthode de résolution statique et une méthode de résolution dynamique. Puis, nous développons les indicateurs de performance employés pour le niveau planification et le niveau ordonnancement. Introduction générale 6 Le cinquième et dernier chapitre porte sur l’analyse du modèle de planification dynamique et l’évaluation des deux approches de résolution CSP Statique / CSP Dynamique, et leurs impacts sur la conduite d’une chaîne logistique. Les expérimentations sont réalisées au niveau des sites de production et au niveau global de la chaîne logistique. Une solution est évaluée par sa performance à assurer un certain niveau de stabilité (mesure de la distance de perturbation P N ) et de robustesse (mesure du poids de perturbation P E ). Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 7 CHAPITRE I. GESTION DES ACTIVITES DE PRODUCTION : CONTEXTE ET POSITIONNEMENT DU TRAVAIL DE RECHERCHEChapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 8 I.1.Introduction Ce chapitre a pour but de positionner notre travail dans le vaste domaine de recherche portant sur la gestion des activités de production. Notre axe de recherche se focalise sur la définition d’un outil d’aide à la décision pour la planification de la production dans un cadre de chaîne logistique. Pour définir précisément notre problématique, nous présentons les principales assises conceptuelles et méthodologiques issues d’un état de l’art des recherches académiques. La première partie reprend les notions de base de la gestion de production permettant de comprendre les intérêts et les enjeux intra et inter-entreprises. Elle permet de préciser notamment l'organisation d'un système de production, la structuration des décisions ainsi que l’offre des solutions logicielles. Les modèles de planification - ordonnancement de la production, issus de la littérature, font l’objet de la deuxième partie. La troisième partie est consacrée à la description des approches actuelles pour traiter le problème de planification dans sa dimension verticale et transversale, afin d'assurer une meilleure cohérence entre les niveaux de décision tactique et opérationnel. Dans la quatrième et dernière partie, nous présentons la nouvelle structuration des entreprises manufacturières sous la forme de chaîne logistique. I.2.La gestion de production Vincent Giard précise dans son ouvrage [Giard, 1988] que « la gestion de production a pour objet la recherche d’une organisation efficace de la production de biens et de services. Elle s’appuie sur un ensemble d’outils d’analyse et de résolution de problèmes qui visent à limiter les ressources nécessaires à l’obtention d’une production dont les caractéristiques technico-commerciales sont connues ». [Blondel, 1997] définit la gestion de production comme « la fonction qui permet de réaliser les opérations de production en respectant les conditions de qualité, délai, coûts qui résultent des objectifs de l’entreprise et dont le but est d’assurer un équilibre entre : les délais, le niveau d’emploi des ressources et le niveau des encours et des stocks » On sépare généralement le système de gestion où circule un flux d’informations, du système de production par lequel transite un flux de matières. Les interactions entre le Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 9 système de gestion, le système de production et son environnement extérieur peuvent être schématisée par la figure I.1. [Dauzère-Pérès, 1992]. Figure I.1.Interactions entre système de production, système de gestion et environnement [Dauzère-Pérès, 1992] I.2.1.Le système de production La notion de système de production a été définie par plusieurs auteurs dans la littérature scientifique. Nous rappelons ici la définition de quelques notions se rapportant aux systèmes de production, dans le contexte de la production de biens et de services. Bertallanffy caractérise un système comme « un ensemble d’éléments en interaction » [Bertallanffy, 1968]. Plus récemment, Lopez considère que « la production est une opération de transformation d’un ensemble de matières premières ou de composants en produits finis et qu’un système de production est constitué de l’ensemble des éléments qui interviennent dans cette transformation et qui correspondent aux moyens ou ressources (humaines ou technologiques)» [Lopez, 1991]. De son côté, Dauzère-Pérès définit un système de production comme étant « un ensemble des ressources nécessaires, tant humaines que matérielles, qui permettent de transformer des matières premières en produits finis intégrant aussi les moyens de stockage, et même parfois ceux de distribution » [Dauzère-Pérès, 1992]. Dans la littérature, il existe plusieurs typologies des systèmes de production ([Deschamps, 1994], [Roux 1997], [Giard, 2003]). Ces typologies sont notamment construites en fonction Décisions Système de gestion Système de production Fournisseurs Clients Flux de matériels Informations Flux d’informations Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 10 de la politique de production, du mode de production et de l’organisation du flux de production. La première typologie est déterminée par la politique de production. On distingue deux catégories : production à la commande et production pour stock. - La production à la commande : La production est qualifiée de production à la commande lorsque le processus de fabrication, l’achat des matières premières, composants et consommables sont déclenchés à la réception d’une commande ferme d'un client. Ces systèmes concernent principalement les entreprises proposant une grande variété de produits dont la demande est très aléatoire ou bien lorsque les produits à réaliser sont étroitement liés aux clients (faible standardisation). - La production pour stock : Une entreprise opte, en général, pour une organisation de production pour stock lorsqu'il est possible d'effectuer une prévision fiable de la demande. Ce type de système est envisagé pour des produits dont la gamme reste relativement stable, et lorsque la demande pour chaque produit est suffisamment importante et prévisible. La seconde typologie est déterminée par le mode d’organisation de la production. On distingue trois catégories : les systèmes de production unitaire, les systèmes de production en petite et moyenne séries et les systèmes de production en grande série. - Les systèmes de production unitaire : Ils s’intéressent à la fabrication d’un produit unique. Il est rare de constater la fabrication multiple du même produit. Ce type de production fait toujours l’objet d’un grand projet. Le type de production unitaire est rencontré par exemple dans un chantier naval (chaque navire fabriqué est unique), dans les entreprises de génie civil (construction d’un pont)… - Les systèmes de production en petite et moyenne séries : Pour ces structures, la production est relativement diversifiée et fait l’objet d’une production limitée. Dans ce mode d’organisation, les ressources assurant la même fonction technique sont réunies en un même lieu. Il peut s’agir d’entreprises de grande taille, dans le secteur automobile par exemple, mais aussi de PME manufacturières et de sous-traitance. - Les systèmes de production en grande série : Dans le cas où le nombre de produits à fabriquer est peu diversifié ou standardisé, on parle de production en grande série. Les moyens de production sont organisés sous forme de lignes de production spécifiques à Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 11 chaque produit (les équipements sont placés dans un ordre précis pour permettre à un produit de transiter par la même séquence de postes de travail). La troisième typologie est déterminée par l’organisation du flux de production. On distingue en général deux catégories : les systèmes de production continue et les systèmes de production discontinue. - Les systèmes de production continue : Ce type est retenu lorsqu’on traite des quantités importantes d’un produit ou d’une famille de produits. L’implantation est réalisée en ligne de production, ce qui rend le flux du produit linéaire. Dans ce type de production, les machines ou les installations sont dédiées au produit à fabriquer ce qui, en général, ne permet pas une grande flexibilité. En règle générale, ce type de production est accompagné d’une automatisation poussée des processus de production ainsi que des systèmes de manutention. Parmi les entreprises typiques utilisant ce type de système de production : les industries pétrochimiques, les cimenteries, etc. - Les systèmes de production discontinue : Ce type est retenu lorsque l’on traite des quantités relativement moyennes de nombreux produits variés, réalisés à partir d’un parc de machines à vocation générale. Dans ce type de production, les machines ou les installations sont capables de réaliser un grand nombre de travaux, elles ne sont pas spécifiques à un produit, ce qui donne une grande flexibilité. Les industries mécaniques et les entreprises de confection sont des entreprises de ce type. Ce travail de thèse s’intéresse aux entreprises manufacturières et étudie plus particulièrement le cas de la production à la commande, en petite et moyenne série avec flux de production discontinu. Après une description des principaux concepts et modes d’organisation des systèmes de production, le paragraphe suivant précise les notions générales du système de gestion de production définies dans un contexte intra-entreprises, celles-ci étant utiles pour comprendre la problématique associée à chaque entreprise. I.2.2.Le système de gestion : structure décisionnelle multi-niveaux Hétreux considère un système de gestion comme un système qui permet de « déterminer un ensemble de décisions assurant une organisation efficace de la production compte tenu des multiples contraintes internes ou externes à l’entreprise » [Hétreux, 1996]. Il peut être structuré en deux sous-systèmes [Lemoigne, 1974], [Huguet, 1994], [Hétreux, 1996] : Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 12 - Le sous-système d'information qui regroupe les informations, relatives au système de production et à son environnement, qui sont utilisées par le sous-système de décision ; - Le sous-système de décision qui élabore, à partir des informations disponibles dans le sous-système d'information, des décisions permettant d'assurer un fonctionnement convenable du système de production. Classiquement, le système de gestion de production exerce quatre principales activités (cf. figure I.2) [Despontin-Monsarrat, 2004] : gestion des données techniques, gestion des matières, gestion des données commerciales et gestion des données du travail. Figure I.2. Vision systémique de la gestion d’un système de production [Despontin-Monsarrat, 2004] - la gestion des données techniques qui recense les nomenclatures (listes des composants et/ou matières premières requis pour réaliser un produit donné) et les gammes opératoires (listes ordonnées d'opérations permettant de réaliser un produit donné)nécessaires à la fabrication des produits de l'entreprise. Cette gestion présente un aspect d'autant plus dynamique que la personnalisation des produits est forte, la réalisation étant alors systématiquement précédé d'une phase d'étude qui aboutit à la description détaillée du travail à réaliser. Ainsi, la notion de gamme opératoire n'existe véritablement que dans le contexte de productions en moyenne et grande séries. Dans Gestion des données techniques Gestion des matières Gestion des données commerciales Gestion des données du travail Suivi de fabrication Système physique de fabrication Stocks Clients Fournisseurs Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 13 le contexte de la petite série ou du projet unitaire, on utilise plutôt la notion de gamme générique, lorsqu'un certain niveau d'abstraction et de réutilisation est possible, ou plus généralement de structure de décomposition du travail lorsque le produit à réaliser présente un caractère unique ; - La gestion des matières qui assure l'approvisionnement en matières premières ou en composants semi-finis et le stockage des produits (finis ou semi-finis) fabriqués. Elle joue un rôle crucial dans le contexte d'une répartition des matières premières ou des produits entre plusieurs chaînes logistiques. En cas de pénurie due à des aléas, il faut en effet procéder à des arbitrages qui ne sont pas sans conséquence sur l'atteinte des objectifs liés aux clients ; - La gestion des données commerciales qui reçoit les commandes et négocie les prix, quantités et délais de livraison souhaités ; - La gestion des données du travail qui organise dans le temps la réalisation des opérations nécessaires à la fabrication des produits sur les ressources en prenant en compte les données techniques et commerciales ainsi que les retours du suivi de fabrication. Devant l’étendue et la complexité des décisions qui constituent un processus de gestion de la production, le recours à une structure hiérarchisée devient incontournable. L’architecture décisionnelle d’une entreprise est alors divisée en trois niveaux de décision (figure I.3). Il s’agit des niveaux stratégique, tactique et opérationnel correspondant respectivement à des horizons à long, moyen et court terme [Anthony, 1965]. Cette approche hiérarchisée permet de décomposer le problème global en une succession de sous-problèmes et par la suite de réduire le nombre de variables pour chaque niveau de décision [Lopez, 1991]. Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 14 Figure I.3. Structure décisionnelle à trois niveaux [Dauzère-Pérès, 1992] - Le niveau stratégique : Il concerne une vision à long terme. Les décisions à ce niveau sont de première importance et déterminent la politique majeure de l’entreprise. Prises par la direction générale de l'entreprise, elles concernent par exemple la mise au point des installations de production (la recherche de nouveaux partenaires industriels, la sélection des fournisseurs et sous-traitants, les décisions de positionnement de nouveaux sites ou de fermeture de certains sites ou leur délocalisation), la politique budgétaire, le choix du type de gestion de production (par ex. fabrication à la Niveau stratégique Atteinte des objectifsfixés par la straté- gie générale Satisfaction du marché Niveau tactique Atteinte des objectifs de qualité de service au client final fixés par le pilotage stratégique Satisfaction du client Niveau opérationnel Atteinte des objectifs de qualité du processus physique fixés par le pilotage tactique Satisfaction du produit Système de production Remises en cause des décisions Décisions Informations Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 15 commande, fabrication sur stock), le développement de nouveaux types de produits sont des décisions stratégiques ([Miller, 2001], [Galasso, 2007]). - Le niveau tactique : Ce niveau définit les conditions de satisfaction de la demande des clients (exprimée sous forme de prévisions ou de commandes) sous contrainte de satisfaction de la stratégie de pilotage définie au niveau supérieur. Il correspond aux décisions politiques à moyen terme d'une entreprise (de quelques semaines à quelques mois). Ces décisions sont du ressort des cadres de l'entreprise et portent sur les problèmes liés à la gestion des ressources de l’entreprise. A ce niveau, les données sont aussi agrégées, mais avec un niveau de détail plus fin que pour le niveau stratégique. Ces décisions tactiques traitent, principalement, des objectifs de volumes à produire par période (la période de planification varie principalement entre une semaine et un mois). A ce niveau, l’optimisation se fait par la maximisation ou la minimisation d’une fonction économique (généralement associée à des coûts), en se basant sur les leviers décisionnels disponibles pour l’entreprise ([Shapiro, 1998]). Certaines perturbations, telles que des fluctuations possibles de la demande ou des aléas de production, viennent parfois aussi compliquer le problème. Les décisions à moyen terme consistent aussi en des directives pour la production détaillée. - Le niveau opérationnel : Ce niveau assure le suivi et le contrôle du flux physique afin d’assurer la mise à disposition des produits par chaque maillon au maillon suivant, selon les conditions d’opérations définies au niveau tactique. A ce niveau, les décisions sont prises à court terme et à très court terme (hebdomadaire voire quotidien). Elles sont prises par les opérateurs de production. Les données sont ici beaucoup plus détaillées. La génération d’un plan détaillé de production et l'affectation des ouvriers sont, par exemple, des décisions du niveau opérationnel. Ces niveaux décisionnels portent sur des horizons de temps, des niveaux de détail et des volumes de production différents. Plus le niveau de décision est élevé, plus l'horizon de temps est long, plus les données sont imprécises et plus les modèles associés sont agrégés [Giard, 2003]. L’approche hiérarchisée permet de simplifier le processus global de décision. En effet, chaque niveau de décision correspond souvent à différents décideurs dans les entreprises. Cependant, cette décomposition hiérarchique des décisions pose de multiples problèmes et rend incontournable le recours à une forte cohésion entre les acteurs des différents niveaux. Les décisions prises à un niveau deviennent des contraintes à satisfaire par les niveaux inférieurs. Il faut donc s'assurer que, lorsque des décisions sont transmises au niveau inférieur, Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 16 elles soient cohérentes avec les contraintes de ce niveau, c'est-à-dire qu'il soit possible de mettre effectivement en œuvre ces décisions [Wolosewicz, 2008]. Le travail présenté dans ce mémoire concerne les niveaux tactique (planification) et opérationnel (ordonnancement). I.2.3. Offres en logiciels pour la gestion de la production Les technologies de l’information et les systèmes d’information associés ont fortement influencé l’évolution des systèmes de production dans l’implémentation d’outils support à la collaboration. Le volume important de données ainsi que les calculs considérables à réaliser ont été grandement facilités par l'augmentation de la capacité des ordinateurs. On trouve notamment : les outils désormais classiques de GPAO (gestion de production assistée par ordinateur), puis les ERP (Entreprise Ressource Planning), les MES (Manufacturing Execution Systems), etc. 1.2.3.1. Les outils classiques de GPAO L’objet des progiciels de GPAO est de répondre à la plupart des fonctions assurées par la gestion de la production. « Les progiciels de GPAO utilisent une base de données techniques et sont décomposés en modules remplissant des fonctionnalités bien définies (gestion des données techniques, plans directeurs, calcul des besoins, ordonnancement, lancement, suivi des ordres de fabrication, gestion des stocks, gestion des achats et approvisionnements, calcul des coûts, etc.) » [Gharbi, 2012]. Ces logiciels sont basés sur des approches classiques de planification des activités de production telles que le MRP (Material Requirements Planning) qui permet de calculer les besoins en composants sans capacité et le MRP II (Manufacturing Resource Planning) qui intègre un système ajustant les niveaux de capacité. - La méthode MRP a été développée aux Etats-Unis dans les années 1965-1970 pour pallier aux limitations de la gestion traditionnelle des stocks [Orlicky, 1975]. Elle consiste à planifier, à partir des demandes fermes des clients ou de leurs prévisions, les besoins en composants et les ordres de fabrication. Néanmoins, cette approche présente certaines limites relatives à l’absence de contrôle de la capacité de production du système dont on cherche à planifier l’activité. En effet, un plan de charge incompatible avec les capacités de production amènera à un lissage de la production de façon à ce que le plan de production proposé soit réalisable. En cherchant à ajuster Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 17 la charge souhaitée et la capacité disponible des postes de charge, une évolution vers une deuxième version de la méthode, MRP II, a été proposée. - La méthode MRP II a été développée essentiellement pour ajuster la capacité de l’entreprise par rapport à la charge de production prévue. Etant donné que, dans la plupart des entreprises manufacturières, les décisions sont hiérarchisées comme on l’a vu ci-dessus, l’évolution vers MRP II a aussi permis une planification de la production depuis le long terme jusqu’au court terme [Courtois et al., 1995]. Pour ce faire, elle met en œuvre une séquence de plans (figure I.4), généralement résumée par les cinq grandes étapes suivantes ([Vob et Woodruff, 2006], [Vollman et al., 1997]) :le plan stratégique, le plan industriel et commercial (PIC), le plan directeur de production (PDP), la planification des besoins en composants (MRP) et le pilotage d’atelier. Figure I.4. Modélisation des décisions de planification dans le MRP II, d’après [Thomas, 2003] Planification Plan stratégique Plan industriel et commercial (PIC) Programme directeur de production (PDP) Calcul des Besoins Nets (MRP) Pilotage de l’atelier Planification Globale des capacités (usines, embauches…) Planification Globale des capacités (ressources critiques, postes goulots) Planification des Besoins en capacités (ressources détaillées) Contrôle des entrées / sorties ordonnancement des opérations Prévisions commandes Stocks produits finis Nomenclatures Stocks M.P et Sous-ensembles Postes de charge Gammes Gestion des données Gestion de la capacitéChapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 18 Les plans calculés aux différents niveaux décisionnels (figure I.4) ont un horizon temporel spécifique et un certain niveau de détail des données manipulées. Ces plans sont affinés successivement d’un niveau à l’autre pour produire la planification opérationnelle de la production, souvent qualifiée de pilotage d’atelier. En effet, à chaque niveau, le plan calculé à capacité infinie doit être ajusté avec la capacité finie existante pour obtenir ainsi un plan réalisable qui servira ensuite de cadre de décision pour l’élaboration du plan de l’étape de niveau inférieur. La généralisation du concept d’intégration de systèmes informatiques et des processus « métier » dans tous les domaines de l’entreprise a donné naissance aux ERP, extension du MRP II [Bourrières et al., 2005]. I.2.3.2.Les progiciels ERP Les ERP (Entreprise Ressource Planning ou encore PGI en français pour Progiciels de Gestion Intégrée), développés dans les années 70 et répandus à partir des années90, répondent à la problématique d’intégration et de synchronisation des informations de l’entreprise ([Monk, 2005], [Vob et Woodruff, 2006]). Ils permettent de gérer l’ensemble des processus d’une entreprise intégrant l’ensemble de ses fonctions comme la gestion des ressources humaines, la gestion financière et comptable, l’aide à la décision, la vente, la distribution, l’approvisionnement, la production ou encore du e-commerce. Un ERP est composé par un ensemble d’applications informatiques correspondant aux diverses fonctions citées précédemment de manière modulaire sachant que ces modules sont indépendants entre eux, tout en partageant une base de données unique et commune au sens logique. L’autre principe qui caractérise un ERP est l’usage de ce qu’on appelle un moteur de workflow qui permet, lorsqu’une donnée est enregistrée dans le système d’information, de la propager dans les modules qui en ont l’utilité, selon une programmation prédéfinie. I.2.3.3. Les systèmes MES Un Manufacturing Execution System (MES) est un système informatique dont les objectifs sont de collecter en temps réel les données de production de tout ou partie d'une usine ou d'un atelier. Ces données collectées permettent ensuite de réaliser un certain nombre d'activités d'analyse (traçabilité, contrôle de la qualité, suivi de production, ordonnancement, maintenance). Historiquement bien implantés dans les industries de type process, agro-Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 19 alimentaire et pharmaceutique en particulier (principalement pour des exigences de traçabilité), ces systèmes gagnent peu à peu d'autres secteurs d'activité, notamment les entreprises manufacturières. En permettant d'assurer le lien entre les deux systèmes informatisés existant dans l'entreprise, à savoir les systèmes comprenant les fonctions de gestion (GPAO, ERP, comptabilité...) et les systèmes de contrôle/commande assurant le pilotage en temps réel des ateliers de fabrication, les systèmes MES améliorent les activités de fabrication depuis l'ordre de fabrication jusqu'aux produits finis [Sakka, 2012]. Dans le cadre de cette thèse, nous nous intéressons aux niveaux tactique et opérationnel, plus particulièrement à la planification tactique et opérationnelle de la production. Très souvent, les décisions tactiques (Planification) sont prises indépendamment des décisions opérationnelles (Ordonnancement). Les contraintes de capacité de l’atelier sont modélisées grossièrement dans le calcul du plan, ce qui implique souvent la non faisabilité d’un plan de production. Pour pallier ce problème, nous proposons une approche hiérarchisée à deux niveaux de décision. I.3. Modèles de Planification – Ordonnancement La planification a pour objet de déterminer un programme prévisionnel de la production. Ces décisions imposent la prise en compte, au niveau de l’ordonnancement, de contraintes sur le processus de production (enchaînement des opérations de fabrication) et sur les ressources (contraintes de capacité). Dans le cadre d’une approche hiérarchique ([Miller, 2001], [Fontan et al., 2001]), on trouve essentiellement deux types de modèles associés respectivement à la planification et l’ordonnancement [Johnson et Montgomery, 1974] : - les modèles par “quantité” qui consistent à déterminer des quantités de produits à fabriquer par période de temps, - les modèles par “dates de début” qui consistent à déterminer les dates de début de tâches sur différentes ressources. Dans ce paragraphe, nous allons présenter le cadre générique de ces modèles (variables de décision et contraintes) ainsi que la typologie de chacun. Cette présentation est abordée indépendamment de la méthode de résolution. Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 20 I.3.1. Planification : modèles par quantités La planification est une décision tactique qui permet une programmation prévisionnelle de la production en s’appuyant sur une démarche d’optimisation des moyens de production dans le but de satisfaire les demandes aux moindres coûts. Elle constitue un lien entre les décisions stratégiques à long terme et les décisions opérationnelles à court terme. La planification part de certaines informations telles que les demandes clients (connues ou estimées), la capacité de production (par unité de temps, atelier ou machine), les informations sur les produits, les différents coûts (production, lancement, non satisfaction des demandes, sous-traitance, utilisation d’heures supplémentaires, stockage, rupture de stocks …). A ce niveau, le temps est divisé en intervalles de temps appelés périodes et les informations rassemblées permettent de définir des plans de production qui déterminent pour chaque période de l’horizon de planification, en général de quelques mois :  les quantités à produire pour chaque produit,  les quantités à sous-traiter pour chaque produit,  les niveaux de stocks en produits finis,  l’utilisation des ressources humaines et matérielles,  le nombre d’heures supplémentaires. Dans les modèles par quantités, le temps est divisé en intervalles de temps appelés périodes. Les variables de décision xi,t représentent les quantités de produits (et de sousproduits) i fabriquées pendant les périodes t. Les contraintes principales d’un problème de planification avec un modèle par quantités sont les suivantes [Thierry, 2003] : - les contraintes de succession:  les contraintes de conservation au niveau des stocks : ∀ ݅, ∀ ݐ, ܫ݅,ݐ+1 = ܫ݅,ݐ + ݐ,݅ݐݑ݋ − ݐ,݅݊݅ ݐ,݅ܫ avec la quantité de produit i en stock au début de la période t, ݅݊݅,ݐ la quantité de produit i arrivant dans le stock pendant la période t et ݐݑ݋݅,ݐ étant la quantité quittant ce stock pendant cette même période ;  les contraintes de respect de la nomenclature, en liaison avec les contraintes de conservation qui expriment le fait que, pour fabriquer un produit, il faut disposer ݅ ݐ,݆� . ܵא ݆ ݆,݅� = ݐ,݅ݐݑ݋ de ses composants avec �݅,݆ , la quantité de produit i nécessaire pour fabriquer un produit j et ܵ݅ la liste des produits j qui utilisent i. Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 21 - les contraintes de capacité : elles expriment la limitation des capacités des ressources. La ressource a une quantité ݎܥ,ݐ disponible, exprimée en unités de ressources.temps (machines.heures par exemple), et on ne peut pas utiliser plus que cette quantité. ∀݅, ∀ݐ, ݐ,ݎܥ ൑ ݐ,݅� ∗ ݅,ݎܾ ݎ ݁ݏ݈݅݅ݐݑ ݅/݅ ,ܾݎ,݅ étant la quantité de la ressource (exprimée dans la même unité que la capacité) utilisée pour la fabrication du produit i. - les contraintes de respect des dates de livraison : elles expriment le fait qu'une date de livraison est imposée par le client : on livre à la date de livraison la quantité de produit commandée pour cette date : ݐݑ݋݅,ݐ ݐ,݅݀ = ݐ,݅݀ avec la quantité de produit i demandée pour la période t. Les variantes de ce modèle constituent la famille des problèmes pléthoriques de dimensionnent de lots (lot-sizing problems). [Rota, 1998] présente une classification de ces modèles par quantités en fonction des niveaux de nomenclature, de la prise en compte des contraintes de ressources et de la demande (constante ou non) sur l’horizon de planification, comme le montre la figure suivante. Figure I.5. Classification des modèles de lot-sizing [Rota, 1998] Modèles de lot-sizing Nomenclature à un niveau Nomenclature multi-niveau Capacité infinie Capacité finie Capacité infinie Capacité finie Demande constante Demande variant dans le temps Demande constante Demande variant dans le temps EOQ WW ELSP CLSP CSLP DLSP MLLP MLCLP EOQ: Economic Order Quantity WW: Wagner-Whitin ELSP: Economic Lot-sizing and Scheduling Problem CLSP: Capacited Lot-Sizing Problem CSLP: Continuous Set-up Lot-sizing Problem DLSP: Discrete Lot-sizing and Scheduling Problem MLLP: Multi-Level Lot-sizing Problem MLCLP: Multi-Level Capacited Lot-sizing Problem Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 22 La classe de problèmes qui nous intéresse est le CLSP ou Capacited Lot-Sizing Problem. Il s’agit de déterminer les quantités à fabriquer (xi,t) pour les différents produits sur l’horizon de planification fini, de manière à satisfaire la demande en respectant les contraintes de capacité et minimiser un coût. I.3.2. Ordonnancement : Modèles par dates Résoudre un problème d'ordonnancement c'est trouver une adéquation entre un travail à effectuer, décrit sous la forme d'un ensemble de tâches interdépendantes, et les moyens disponibles pour sa réalisation [Esquirol et Lopez, 1999]. Il s’agira de produire les quantités (lots) déterminées à l’issue de la planification, dans les délais. Ces lots (ou ordres de fabrication) doivent traverser l’atelier de fabrication en subissant diverses opérations, dans un ordre fixe ou non afin d’obtenir des produits finis. Une opération (ou tâche) correspond au traitement d’un ordre de fabrication par une ressource. « Ordonnancer un ensemble de tâches, c’est programmer leur exécution en leur allouant les ressources requises et en fixant leurs dates de début » [Gotha, 1993]. Les contraintes principales du problème d’ordonnancement sont les contraintes de précédence qui définissent l’ordre d’exécution des ordres de fabrication, les contraintes de capacité qui expriment le fait que, sur chaque ressource, on ne peut exécuter qu’un nombre limité de tâches simultanément et les contraintes de respect des dates de livraison données aux clients. Les problèmes d’ordonnancement sont aussi caractérisés par des fonctions objectif à optimiser, par exemple : la date de fin de fabrication d’un ordre de fabrication ou de l’ensemble des ordres de fabrication (makespan), le retard algébrique par rapport à la date de fabrication souhaitée, etc. Dans les modèles par dates, les variables de décision sont les dates de début des tâches ti sur les différentes ressources. On définit une tâche comme étant une quantité de travail concernant la fabrication d'un produit caractérisée par sa durée d'exécution pi . Les contraintes principales du problème d’ordonnancement avec un modèle par dates sont les suivantes [Thierry, 2003] : - les contraintes de précédence se traduisent de la manière suivante : ∀݅, ∀݆, ݐ݆ − ݐ݅ ൒ ݅݌ = ݆݅ܽ ܿ݁ݒܽ ݆݅ܽ pour les contraintes de succession. Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 23 - les contraintes de capacité qui expriment le fait que, sur chaque ressource, on ne peut faire qu'un nombre limité de tâches simultanément. Parmi ces contraintes, on distingue : o les contraintes disjonctives qui concernent les ressources de capacité unitaire, ce sont des contraintes du type “tâche i avant tâche j” ou “tâche j avant tâche i” qui s’expriment comme une disjonction de contraintes de potentiels : ݐ݅ + ݌݅ ൑ ݅ݐ ൑ ݆݌ + ݆ݐ ݑ݋ ݆ݐ ; o les contraintes cumulatives dans le cas de ressources de capacité non unitaire. Il faut exprimer que, à chaque instant, les moyens nécessaires à l'exécution d'un certain nombre de tâches sont limités sur une unité de production. Ceci se ݎܥ ൑ ݎ,ݐ,݅ݍ ݅ ,ݎ ∀ ,ݐ ∀ : traduit par la contrainte suivante ݎ,ݐ,݅ݍ , étant la quantité de ressources utilisée pour l'exécution de la tâche i sur la ressource r à l'instant t et ݎܥ la capacité de la ressource r. - les contraintes de respect des dates de livraison : les dates de livraison données par le client doivent être respectées. Le modèle par dates de début exprime le fait que la date de fin d’une tâche doit être inférieure à la date échue concernant cette tâche. Ce qui se traduit par des contraintes de type : ݐ݅ + ݌݅ ൑ ߚ݆ ݆ߚ avec la date échue de la tâche i. Plusieurs classes de problèmes d’ordonnancement peuvent être envisagées. En effet, les ressources sont soit renouvelables soit consommables (figure I.6, [Lopez, 1991]). Dans le cas où elles sont renouvelables disjonctives, on définit un problème d’atelier (Ressource unique, Job shop, Flow shop, Open shop) et si elles sont renouvelables cumulatives, on définit un problème d’ordonnancement à ressources limitées (RCPSP, Resource-Constrained Project Scheduling Problem). Figure I.6. Classification des problèmes d’ordonnancement: Modèles par dates [Lopez, 1991] Pas de ressources Avec ressources Consommables Renouvelables Disjonctives Cumulatives Problèmes d’atelier Ressource unique Ressources multiples Une machine Flow shop Job shop Open shop Problème central Pas de ressources Avec ressources Consommables Renouvelables Disjonctives Cumulatives Problèmes d’atelier Ressource unique Ressources multiples Une machine Flow shop Job shop Open shop Problème centralChapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 24 Ces modèles par dates de début peuvent être utilisés au niveau opérationnel comme au niveau tactique dans la mesure où ils permettent de considérer chaque ressource individuellement, ou aussi l'unité de production (Poste de charge, Site de production) comme un ensemble de ressources capables de dispenser globalement une certaine quantité de service. Toutefois, on atteint les limites de cette agrégation lorsqu’il s’agit de production en moyenne ou grande séries et que le dimensionnement des lots (des quantités) est au centre du problème. Dans ce cas, ces modèles ne sont utilisés qu’au niveau opérationnel (ordonnancement à court terme) et ils sont couplés avec un modèle par quantités pour les décisions à moyen terme (planification). I.4. La Planification : un vecteur de hiérarchisation et d’intégration Une vision hiérarchique de la planification au sein d'une entreprise est indispensable, car elle permet de savoir et de décliner les objectifs verticalement sur les niveaux. Mais celle-ci, seule, ne permet pas à la planification d'être pilotée efficacement. Elle devra être complétée par une vision horizontale intégrant la notion client/fournisseur. Cette vision s’appuiera essentiellement sur la mise en œuvre d'une démarche processus, démarche transverse focalisée plus particulièrement sur les bénéficiaires le travail est réalisé. Dans ce paragraphe, nous présentons en première partie les approches multi-niveaux de la planification. Elles décrivent les structures décisionnelles liées à la planification et l’ordonnancement. En deuxième partie, nous présentons la vision verticale de la planification. I.4.1. Les approches multiniveaux : supports de la hiérarchisation verticale La complexité du problème de gestion de la production liée à un grand nombre de données à traiter a conduit à des programmes mathématiques de grande taille. Cette complexité importante explique le recours à l’utilisation de méthodes de décomposition issues de la programmation mathématique ou bien encore les techniques d’agrégation-désagrégation développées en optimisation mathématique [Fontan et al., 1997]. L’utilisation des structures multi-niveaux permet alors de réduire la complexité du modèle réduisant ainsi le temps de calcul associé à sa résolution. Cependant, cette procédure hiérarchisée n'est souvent pas cohérente [Wolosewicz, 2008]. En effet, la planification et l’ordonnancement sont deux modules traités habituellement indépendamment l’un de l’autre. En effet, les modèles de planification tiennent compte des contraintes de capacité de façon Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 25 trop agrégée et ne garantissent pas la faisabilité du plan de production lorsqu’il est transmis au niveau inférieur. Une conséquence de ces incohérences entre les décisions des deux niveaux est le non respect des délais qui devient une attente de plus en plus forte de la part des clients. Dans sa thèse, Hernandez Silva [Hernandez Silva, 2008] indique que les travaux de recherche dans le domaine de la mise en œuvre des structures décisionnelles peuvent se diviser en trois grandes classes : la planification hiérarchisée de la production, l’ordonnancement hié- rarchisé de la production et l’intégration de la planification et l’ordonnancement. Nous pré- sentons dans la suite les approches hiérarchisées de planification, les approches hiérarchisées d’ordonnancement ainsi que les approches intégrées de planification-ordonnancement. I.4.1.1. Approches hiérarchisées de planification et d’ordonnancement La décomposition hiérarchique du problème global a été largement adoptée par plusieurs auteurs. Cette décomposition s’appuie sur une structure décisionnelle hiérarchique où la solution obtenue par un niveau constitue une contrainte pour la résolution du problème au niveau inférieur. Elle consiste en des raffinements successifs de décisions (désagrégation des décisions).Au sommet de la hiérarchie, les données manipulées sont agrégées et les horizons temporels sont longs. Plus on descend dans la hiérarchie, plus les horizons temporels se raccourcissent et les données manipulées sont détaillées. Ces approches sont souvent associées à des mécanismes d’agrégation. i. Agrégation des données Le concept d’agrégation est généralement défini comme une forme d’abstraction par laquelle un ensemble de données ou de variables présentant des caractéristiques communes peut être remplacé par une donnée ou une variable agrégée [Fontan et al., 1997]. Nous distinguons une agrégation sur les matières qui vise à regrouper des produits ou des ressources ne se différenciant que par des caractéristiques jugées secondaires, en familles de produits ou en familles de machines, une agrégation sur le temps qui permet de regrouper un ensemble de périodes élémentaires consécutives dans une macro-période et une agrégation du travail qui permet de représenter différentes tâches élémentaires devant se succéder par une macro-tâche [Hernandez Silva, 2008]. Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 26 ii. Planification hiérarchisée de la production Nous trouvons la planification hiérarchisée de la production dans un grand nombre de travaux. L’une des toutes premières en planification hiérarchisée est l’approche de Hax et Bitran basée sur une agrégation des produits en types et familles [Bitran et Hax, 1977]. Un premier regroupement en famille est effectué pour les produits ayant des gammes de fabrication similaires et un second regroupement en type pour les familles ayant le même coût unitaire de production, le même coût de stockage et la même demande externe. La première étape de planification est réalisée moyennant une résolution par programmation linéaire. La capacité de production dans cette première étape est allouée aux différents types de produits. En deuxième étape, une désagrégation est effectuée sur la première période de l’horizon de planification. Pour chaque type, la production est répartie en familles. En troisième et dernière étape, la production de chaque famille est répartie entre les articles de sa famille. D’autres approches à deux niveaux basées sur une agrégation des produits existent. Nous pouvons citer par exemple les travaux de [Tsubone et al., 2002] et [Ashayeri et Selen, 2003]. [Mehra et al., 1996] propose aussi une structure du même type (à deux niveaux) où les produits sont agrégés en familles de produits, les machines en cellules et le temps en périodes. Mercé [Mercé, 1987] propose une approche de planification hiérarchisée à deux niveaux fondée sur une agrégation homogène des produits. La planification agrégée permet de définir, à chaque période et pour chaque produit agrégé, la quantité à produire de façon à satisfaire la demande agrégée et en minimisant les coûts associés à ce niveau. Elle est effectuée sur un horizon glissant découpé en périodes. La planification détaillée permet de répartir la production agrégée entre les différents produits d’une même classe, en vue de satisfaire la demande détaillée. Récemment, Gharbi [Gharbi et al., 2009] a proposé une approche fondée sur une structure à deux niveaux décisionnels. Le premier niveau effectue une planification agrégée en minimisant le coût global de production. Il établit ensuite « un plan de guidage » qui est transmis au niveau détaillé. Ce dernier effectue sa planification en suivant « au mieux » le plan de guidage et en prenant en compte les contraintes et données détaillées ignorées au niveau supérieur. Le niveau détaillé est formulé selon un programme linéaire. Au niveau agrégé, le modèle prend en compte les spécificités du processus décisionnel détaillé. Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 27 iii.Ordonnancement hiérarchisé de la production La plupart des travaux dans cette classe d’approches hiérarchisées s’inscrivent dans le domaine des systèmes informatiques [Wolf et Chen, 1995]. Cependant, nous trouvons quelques approches d’ordonnancement hiérarchisé dans le domaine des systèmes de production. Une agrégation sur les ressources est généralement appliquée. Dans ce cadre, nous citons par exemple les travaux de [Hernandez Silva, 2008]. Il propose une structure hiérarchisée où le niveau supérieur établit un macro-ordonnancement qui permet de positionner les ordres de fabrication et des opérations sur des périodes de manière à satisfaire au mieux les niveaux décisionnels retenus sur le moyen terme. Le niveau inférieur est chargé de réaliser un ordonnancement détaillé en positionnant finement (temps continu, horizon court-terme) les opérations de fabrication sur les ressources. Il est chargé de suivre au mieux le macro-ordonnancement généré par le niveau supérieur de décision ; voir aussi [Tsukiyama et al., 1998] ou [Tung et al., 1999] et les travaux de [Fontan et al., 2005]. Dans la suite, nous présentons quelques approches de la littérature qui s’inscrivent dans le cadre des approches intégrées de planification et d’ordonnancement. I.4.1.2. Approches intégrées de planification/ordonnancement Dans ces approches intégrées de planification et d’ordonnancement, le niveau supérieur détermine les tailles des lots et les niveaux inférieurs sont chargés de l’ordonnancement et de l’affectation des opérations sur les ressources ou les lignes de production. Etant donné la complexité posée par l'intégration de la planification et de l’ordonnancement, peu de recherches ont été faites dans ce domaine. Cette complexité est essentiellement relative à la taille des problèmes. Nous présentons dans ce qui suit diverses approches proposant l’intégration de niveaux hiérarchiques de décision existant dans la littérature. A partir d’un modèle hiérarchisé à deux niveaux, [Fontan et Imbert, 1985] ont développé une approche intégrée qui permet d’obtenir un plan de production sur un horizon prédéfini, et faisable sur la première période de cet horizon. Le premier niveau (niveau planification) génère un plan de production sur un horizon discrétisé en périodes, et un deuxième niveau (niveau ordonnancement) permet de vérifier si, à la première période, il correspond un ordonnancement satisfaisant ce plan. Cette méthode garantit la faisabilité du plan pour la première période de l’horizon. Les décisions générées par le premier niveau de décision seront remises en cause dans le cas où, au niveau inférieur, il n’existe pas d’ordonnancement Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 28 faisable pour la première période. Cette remise en cause est traduite par une augmentation du nombre d’heures de production de la première période ou une diminution du volume de fabrication dans cette même période. La procédure itérative prend fin à l’obtention d’un plan faisable (figure I.7). Figure I.7. Procédure itérative [Fontan et Imbert, 1985] Plus récemment, [Van Wassenhove et Potts, 1991] présentent un modèle général où les décisions liées au batching (regroupement en lots de production) et au lot-sizing (détermination de la taille des lots) doivent être prises simultanément avec celles définissant un ordonnancement. Le but est de mieux ordonnancer la production pour un plan déjà fixé pour des ateliers de type flow-shop et open-shop. Cependant, ils ne proposent aucune méthodologie permettant de résoudre ce problème. Dans la suite, nous présentons d’autres approches intégrées classées par leur méthode de résolution. Dauzère-Pérès et Lasserre ont développé un modèle et une méthode de résolution pour le problème global de planification et d’ordonnancement. L’approche développée permet de traiter de façon simultanée la planification et l’ordonnancement d’un atelier de type jobshop et garantit de plus la faisabilité du plan de production au niveau ordonnancement. Ils proposent un modèle intégré qui prend en compte les décisions de séquence et en considérant la capacité au niveau de l’ordonnancement ([Dauzère-Pérès et al., 1994], [Dauzère-Pérès et al., 2002]). Non Oui Désagrégation de la solution Informations utiles pour le niveau inférieur Résolution du modèle agrégé par programmation mathématique Révision des données par le niveau supérieur Résolution du modèle détaillé Fin Stop Niveau planification Niveau ordonnancementChapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 29  Le niveau tactique génère, à partir des demandes clients, un plan de production. Ce niveau assure qu’il existe un ordonnancement pour exécuter ce plan.  Le niveau opérationnel génère un ordonnancement à partir du plan de production calculé précédemment. Les auteurs proposent une procédure itérative (cf. figure I.7) où ils alternent entre :  la résolution optimale du module planification pour une séquence fixée des opérations (les contraintes de capacité sont exprimées pour une séquence fixée y de passage des produits sur les machines). Le plan calculé est faisable au moins pour l’ordonnancement utilisant la séquence y sur les machines. Le modèle est résolu par Programmation Linéaire ;  la résolution du module ordonnancement pour un plan de production fixé. Il s’agit de trouver une séquence y’ meilleure que la séquence y qui a permis de le calculer. Ce problème est résolu en utilisant une heuristique et ceci pour des raisons d’efficacité. Figure I.8. Méthode de résolution intégrée de Dauzère-Pérès [Wolosewicz, 2008] Cette méthode reste limitée en particulier dans le module planification : associer des variables binaires aux coûts et temps de lancement rend le modèle difficile à résoudre par un logiciel standard de programmation linéaire (CPLEX, XPRESS-MP, …), tout en maintenant des temps de calcul acceptables. Module Planification Module Ordonnancement Niveau Planification Niveau Ordonnancement Plan réalisable Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 30 [Sikora et al., 1996] proposent une approche intégrée de planification et d’ordonnancement qui résout le problème période par période sur tout l’horizon de planification. Ils adoptent une procédure itérative entre le problème de séquencer des opérations sur les ressources et celui de la détermination de la taille des lots pour une machine goulet. La procédure utilise une heuristique modifiée de Silver-Meal jusqu’au moment où la capacité est utilisée au maximum. [Giglio et Minciardi, 2002] décrivent aussi une approche intégrée pour la planification et l’ordonnancement. Le modèle qu’ils proposent est formulé par deux types de variables de décision : les variables continues pour le problème de dimensionnement de lots et les variables binaires pour la séquence des opérations sur les ressources. Toutes les variables binaires sont fixées et par la suite leur modèle est résolu à l’aide d’un outil standard de programmation linéaire. [Yan et al., 2004] propose une structure à deux niveaux où le niveau supérieur détermine un plan grossier de la production par un programme mathématique alors que le niveau inférieur réalise un ordonnancement à l’aide d’algorithmes de type tabou. [Timpe, 2004] développe un modèle de planification et d’ordonnancement intégré pour lequel il propose deux méthodes différentes de résolution, chacune d’elle correspondant à un niveau de décision. Le problème de dimensionnement de lots tenant compte du lancement de la production est résolu à l’aide d’un programme linéaire en variables mixtes et ceci en appliquant une procédure par séparation et évaluation. Ensuite, la programmation par contraintes a été utilisée pour la résolution du problème de séquencement. A une itération i de la procédure par séparation et évaluation, les produits sont affectés aux machines pour la période courante et le problème de séquencement est résolu. Les informations relatives au lancement de production sont transmises au programme linéaire pour la résolution des périodes suivantes. Dans sa thèse, [Wolosewicz, 2008] a utilisé le modèle proposé par Dauzère-Pérès et Lasserre comme modèle de départ pour son étude. Elle a ensuite proposé un nouveau modèle intégré de planification et d’ordonnancement qui permet de déterminer un plan de production pour un ordonnancement fixé. Le modèle prend en compte les contraintes classiques de planification (contraintes d’équilibre de stocks, contraintes liant les variables de production et les variables de lancement, minimisation de l’ensemble des coûts). Pour modéliser les contraintes correspondant à l’ordonnancement, elle a supposé que la séquence des opérations sur les machines est fixée (le graphe conjonctif associé est connu). Les contraintes de capacité Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 31 sont alors modélisées par les chemins du graphe conjonctif. Le nouveau modèle développé permet de calculer un plan de production pour une séquence des opérations fixée. Une heuristique lagrangienne a été appliquée pour la résolution du problème. Une borne inférieure du problème est calculée par la relaxation lagrangienne et une nouvelle heuristique de lissage de la production pour construire une solution réalisable et ainsi obtenir une borne supérieure. Dans le cadre de cette thèse, nous proposons une approche intégrée de planification et d’ordonnancement où le premier niveau de décision s’intéresse à la planification de la production à moyen terme. Cela consiste à planifier les volumes de produits à traiter, pour chaque produit, ainsi que les volumes de production sous-traités et le nombre d’heures supplémentaires utilisées à chaque période de l’horizon. Le deuxième niveau est associé à un ordonnancement agrégé. Cela consiste à planifier pour chaque site de production, sur un horizon de planification discrétisé en périodes plus courtes, les dates de début des opérations de fabrication tout en respectant la limitation de la capacité des ressources de fabrication (nombre de machines notamment). I.4.2.Les processus de planification : supports de l’intégration horizontale Pour rappel, un processus est « l'ensemble des activités reliées entre elles par des flux d'informations significatives et qui se combinent pour fournir un produit matériel ou immatériel important et bien défini » [Lorino, 1995]. Depuis une vingtaine d’années, l’entreprise a commencé à étudier et à manager ces processus. Les différentes évolutions et méthodes organisationnelles (Norme ISO 9001, BPR1 , chaîne logistique, Modèle SCOR2 , etc.) et informatiques (ERP, ECR3 , CPFR4 , BPM5 , etc.) ont conduit les managers à identifier et à définir leur organisation sous forme de processus. Dans ce contexte, la planification doit non seulement intégrer ses objectifs locaux de production au sein de ses décisions, mais aussi prendre en considération et coopérer avec les 1 BPR : Business Processus Reengineering, une remise en cause fondamentale et une redéfinition radicale des processus opérationnels pour obtenir une amélioration spectaculaire des principales performances en matière de coûts, de délai, de service et de qualité [Hammer et Champy, 1993]. 2 SCOR ; Supply Chain Operations Reference model, modèle composé de quatre niveaux, décrit les processus clés présents dans chaque entreprise au sein de la chaîne logistique. 3ECR : Efficient Customer Response, cadre collaboratif garantissant les liens et les enchaînements entre production, gestion des stocks, distribution et processus en contact avec le client de manière totalement continue. 4 CPFR : Collaborative Planning, Forecasting and Replenishment, cadre collaboratif désignant une démarche impliquant entreprise et fournisseur dans l'établissement de programmes d'approvisionnement fondés sur l'élaboration conjointe de prévisions des ventes. 5 BPM : Business Processus Management, démarche portant sur la modélisation, l’automatisation, la gestion et l’optimisation des processus métiers de l’entreprise.Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 32 activités amont et aval. La planification est ainsi amenée à être un support d’intégration et de coordination dans le cadre de l’approche processus de l’entreprise. Nous rappelons ici une classification des tâches de planification sur les quatre processus principaux d’une entreprise que sont : l’approvisionnement, la production, la distribution et la vente. Cette classification sous forme de matrice Processus / Niveaux de décision est proposée par [Stadtler et Kilger, 2005] (figure I.9). Figure I.9. SCP-Matrix [Stadtler et Kilger, 2005] Approvisionnement Production Distribution Vente Long-terme  Programme matières premières  Choix des fournisseurs  Coopération  Localisation des sites de production  Système de production  Structure physique de distribution  Programme produit  Planification stratégique de vente Moyen-terme  Planification des ressources humaines  MRP  Contrats  Programme directeur de production  Planification de la production  Planification de la distribution  Planification moyen terme de la vente Court-terme  Planification des ressources humaines  Commande des matières premières  Réapprovisionnement des entrepôts  Planification du transport  Planification court terme de la vente  Dimensionnement des lots  Ordonnancement  Contrôle de l’atelier Flux physique Flux d’informationChapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 33 I.4.2.1. Le processus Approvisionnement Le processus d’approvisionnement est l’ensemble des opérations qui permettent à l’entreprise de se procurer à l’extérieur tous les produits indispensables à la réalisation de ses activités de production. Il engendre deux activités intimement liées. La première activité est un choix sélectif des fournisseurs de l’entreprise. Ce choix peut se faire sur différents critères comme la qualité, le prix, les délais de réapprovisionnement des matières premières ou composants, mais aussi leur capacité de production, leur facilité à accepter une demande très variable, les conditions de livraison... La seconde activité du processus Approvisionnement consiste à passer les commandes des composants aux fournisseurs sélectionnés en fonction de la production à réaliser. I.4.2.2.Le processus Production Le processus Production concerne l’ensemble des activités permettant de transformer des matières premières en produits finis. L’objectif du processus Production est d’assurer la fabrication des produits requis tout en assurant la productivité de manière à être compétitif. La productivité est traduite par la capacité à produire dans un délai donné le plus possible de produits d’une qualité spécifiée, avec un coût de revient le plus faible possible. Les méthodes utilisées pour la gestion de la production cherchent à améliorer le flux des produits dans les ateliers de fabrication à travers la planification et l’ordonnancement. I.4.2.3.Le processus Distribution Le processus Distribution concerne la livraison des produits finis aux clients et reprend les questions d’optimisation des réseaux de distribution : l’organisation et le choix des moyens de transport, le choix du nombre d’étages (ou d’intermédiaires) dans le réseau de distribution ainsi que le positionnement des entrepôts et leur mode de gestion [François, 2007]. I.4.2.4.Le processus Vente Le processus de vente, géré par le service commercial, comprend diverses activités de l’entreprise, commençant par la commande du client jusqu’à la livraison du produit et l’établissement de la facture. Cependant, il exclut la fabrication du produit au sens large. Le processus de vente comprend aussi la détermination du prix, du délai et la rédaction du devis. Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 34 Les aspects marketing (analyse de marché, publicité, promotions, …) sont aussi gérés dans ce processus. Figure I.10. La planification : support d’intégration horizontale Ainsi, l’orientation processus a pour but d’améliorer la coordination et l’intégration de l’ensemble des activités liées à l’approvisionnement, la fabrication et à la commercialisation des produits. La coordination concerne la gestion des flux physique et informationnel véhiculés par ces processus. Elle repose sur l’utilisation des nouvelles technologies de l’information et de la communication qui permettent de véhiculer et de traiter l’information entre les différents processus. [Bourrières et al., 2005] soulignent que « la mondialisation des marchés, concernant aussi bien la clientèle que la concurrence ou les offreurs de technologie, devient une réalité pour la plupart des entreprises manufacturières. Pour y faire face, les entreprises tendent à s'allier à des fournisseurs, co-traitants ou entreprises clientes au sein de réseaux de partenariat ». Par exemple, dans une relation client-fournisseur, le processus Vente de l’entreprise « fournisseur » est en relation directe avec le processus Achat de l’entreprise « client ». C’est dans ce contexte de relations inter-entreprises qu’est apparue une nouvelle structuration en réseau des entreprises, connue sous le nom de « Chaîne Logistique ». Informer Planifier Livrer Approvisionner Produire Livrer Appros Entreprise Fournisseur (interne ou externe) externe) Client (interne ou externe)Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 35 I.5. La chaîne logistique La chaîne logistique est un champ d’étude important qui a donné lieu à une littérature très abondante. Il n’y a pas une définition universelle de ce terme. Nous citons ci-dessous quelques définitions, issues de la littérature scientifique. Relativement au rôle que joue une chaîne logistique dans le processus de transformation d’un produit, certains auteurs ([Lee et Billington, 1993], [Rota-Frantz et al., 2001], [La Londe et Masters, 1994]) assimilent une chaîne logistique à un réseau d’installations qui assure les fonctions d’approvisionnement en matières premières, de transformation de ces matières premières en composants puis en produits finis, et de distribution des produits finis vers le client (cf. figure I.11). [Tayur et al.,1999] définissent une chaîne logistique pour un produit donné comme un système de sous-traitants, de producteurs, de distributeurs, de détaillants et de clients entre lesquels s’échangent les flux matériels dans le sens des fournisseurs vers les clients et des flux d’information dans les deux sens. Pour d’autres ([Mentzer et al., 2001], [Génin, 2003], [Stadtler et Kilger, 2000]), la chaîne logistique est centrée sur l’entreprise. Elle est définie comme un réseau d’organisations ou de fonctions géographiquement dispersées sur plusieurs sites qui coopèrent, pour réduire les coûts et augmenter la vitesse des processus et activités entre les fournisseurs et les clients. Si l’objectif de satisfaction du client est le même, la complexité varie d’une chaîne logistique à l’autre. Parmi les différentes définitions, celle de Lee et Bellington nous semble la plus adaptée à notre problématique : « Une chaîne logistique est un réseau d'installations qui assure les fonctions d'approvisionnement en matières premières, de transformation de ces matières premières en composants puis en produits finis, et de distribution des produits finis vers le client » [Lee et Bellington, 2003]. Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 36 Figure I.11. Représentation d’une chaîne logistique [Lee et Billington, 1993] I.5.1. Structure des chaînes logistiques Il est important d’identifier une structure qui permet de caractériser les entités qui interagissent pour former une chaîne logistique [Mahmoudi, 2006]. Toutefois et vu la grande variété des types de fabrication et des périmètres des chaînes, il est difficile de cerner l’ensemble des cas réels des structures des chaînes logistiques [Galasso, 2007]. Dans la littérature scientifique, on distingue un ensemble de typologies usuelles, sur lesquelles sont fondées les modélisations existantes. [Huang et al., 2003] décomposent par exemple, ces structures en : série, dyadique, divergente, convergente et réseau. Les structures de base (figure I.12) sont présentées ci-dessous : - La structure série : Elle correspond à un procédé de fabrication linéaire et vertical. Cette structure peut être utilisée, par exemple, pour étudier l’influence de la propagation de l’information sur l’ensemble de la chaîne [Galasso, 2007]. - La structure dyadique : Elle peut être vue comme un cas particulier d’une chaîne logistique en série, limitée à 2 étages. Elle peut servir de base à l’étude de relations client/fournisseur ou donneur d’ordre/sous-traitant ([Huang et al., 2003], [Galasso, 2007]). Stockage Stockage Producteur Stockage Producteur Stockage Stockage Assembleur Distributeur Client Client Client Fournisseur FournisseurChapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 37 - La structure divergente : Elle permet de représenter un réseau de distribution où la matière part d’un point unique et se distribue à travers la chaîne. L’industrie électronique est un bon exemple de ce type de chaîne. Un exemple de configuration possible sera composé par un fournisseur de cristaux de silicium, les clients de rang 1 sont des constructeurs de puces, les clients de rang 2 sont des constructeurs de circuits intégrés et des assembleurs de téléphones mobiles en ce qui concerne le rang 3 [François, 2007]. - La structure convergente : Elle permet de modéliser un processus d’assemblage. Dans une chaîne convergente, la matière qui circule entre les sites converge vers un seul et même site qui est logiquement le lieu d’assemblage final. L’industrie automobile est un bon exemple de ce type de chaîne. Une usine de construction de voitures aura des fournisseurs d’équipements (carrosserie, siège, pare-brise, …) dans le rang 1, des fournisseurs de textile (pour les sièges, …) dans le rang 2, etc. [François, 2007]. - La structure réseau : Elle est une combinaison des deux structures précédentes. Elle permet de considérer à la fois les aspects approvisionnements et distribution, mais peut s’avérer plus complexe par le nombre d’acteurs impliqués, en particulier pour des produits complexes. [Lambert et Cooper, 2000] et [Min et Zhou, 2002] proposent de classer les acteurs en deux catégories (membres essentiels et membres secondaires) tels que les membres essentiels sont ceux qui contribuent à l’élaboration du produit. Afin d’optimiser le réseau, ils proposent de se concentrer sur les membres essentiels et même sur certaines relations uniquement notamment les fournisseurs les plus critiques. La structure réseau concerne par exemple l’industrie automobile dont, la partie amont est plutôt convergente alors que la partie aval est divergente. [François, 2007] indique que «la topologie d’une chaîne logistique est généralement de type « réseau », avec des ramifications plus ou moins grandes. En effet, une structure purement convergente signifie l’absence des réseaux de distribution pour la vente des produits. De même, une structure purement divergente est improbable, car cela signifierait que le produit fini ne découle que d’un fournisseur amont… ». Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 38 Figure I.12. Différentes structures de la chaîne logistique, [Mahmoudi, 2006] En plus de cet aspect structurel, les objectifs liés à la création de relations de partenariat donnent lieu à une terminologie bien particulière [Jagdev et al., 2003]. Nous présenterons dans le paragraphe suivant quelques grandes catégories de réseaux d’entreprises-partenaires en fonction des objectifs de ces groupements. I.5.2. Catégories des chaînes logistiques On distingue principalement trois formes d’entreprises-partenaires qui constituent des chaînes logistiques: - L’entreprise étendue : Elle désigne un partenariat durable entre plusieurs entreprises organisées, dans plusieurs cas, autour d’un grand donneur d’ordres et cela pour faire face à la concurrence dans le marché ; - L’entreprise virtuelle : Elle désigne un réseau d’entreprises géographiquement dispersées et juridiquement indépendantes collaborant dans le but d’atteindre un objectif auquel elles n’auraient pu répondre seules. La caractéristique majeure de ce type d’entreprise est qu’elle représente un réseau collaboratif temporaire. La Entreprise Grossiste Grossiste Détaillant Détaillant Divergente Détaillant Sous-traitant Donneur d’ordre Dyadique Entreprise Grossiste Grossiste Détaillant Détaillant Détaillant Fournisseur Fournisseur Fournisseur Fournisseur Fournisseur Réseau Entreprise Fournisseur Fournisseur Fournisseur Fournisseur Fournisseur Convergente Fournisseur Client Entreprise Grossiste Détaillant SérieChapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 39 durée de vie de cette collaboration est limitée à celle du marché visé ([Galasso, 2007], [Gharbi, 2012]). L’intérêt de ces entreprises virtuelles est donc de pouvoir cumuler les savoir-faire spécifiques des entreprises pour gérer la totalité du cycle de vie du projet (en incluant les phases de définition, conception, fabrication/réalisation, commercialisation, marketing…) [Nayak et al., 2001]. - L’entreprise multi-sites. Elle fait référence à des entreprises dont la production est répartie sur plusieurs sites distingués géographiquement (cf. figure I.13). Figure I.13. Exemple d’une entreprise multi-site [Thierry, 1994] Cette troisième forme est très émergente dans le monde industriel. Les entreprises multisites se trouvent dans plusieurs secteurs industriels tels que l’industrie automobile (Renault, Mercedes-Benz, etc.), l’industrie aérospatiale (Airbus, Dassault Aviation, etc.), l’industrie électronique et électrique (Schneider, Merlin Gerin, etc.). Dans un tel type d’entreprise, chaque site est considéré comme une entité autonome qui gère un certain nombre de ressources pour réaliser un ensemble d’activités de production qui relèvent de sa charge. Cette gestion de la production est souvent assurée par des outils informatisés propres au site considéré. La production globale de l’ensemble de l’entreprise s’effectue, ainsi, d’une manière distribuée en s’appuyant sur des mécanismes de coordination et de coopération entre les différents sites. Cependant, une telle organisation constitue, selon plusieurs cas d’études, une source d’inefficacité [Bourrières et al., 2005]. En fait, chaque système local assure le pilotage de sa Sous-Traitant de capacité Sous-Traitant de compétence Fournisseurs matières premières Clients Site1 11 Site n Site 2Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 40 production avec une vision restreinte de l’ensemble des ressources et des objectifs qui lui sont propres, ce qui n’assure pas forcément l’optimisation globale de la production à l’échelle de l’entreprise multi-sites dans son ensemble. De plus, malgré l’effort consenti pour améliorer les méthodes permettant de rendre plus fiables les processus de coordination et de coopération entre les différents sites, chaque système local ne parvient pas vraiment à prendre en compte les ressources des autres sites lors de la conduite de son processus de fabrication. Il en résulte alors, une mauvaise utilisation des ressources de l’entreprise multi-sites. Une telle inefficacité peut être la cause de problèmes divers tels que le retard de livraison ou bien le manque de réactivité aux opportunités de marché, et peut affecter sérieusement la compétitivité et la performance de l’entreprise. Le besoin d’appréhender la problématique de la gestion globale de la production dans un réseau d’entreprises et, plus particulièrement, dans un contexte d’entreprise multi-sites devient de plus en plus une exigence. Des travaux récents se sont intéressés à fournir des solutions à cette problématique : [Thierry, 1994], [Ozdamar et Barbarosoglu, 1999], [Camalot, 2000], [Bourrières et al., 2005]. I.5.3. Gestion de la chaîne logistique (Supply Chain Management – SCM) Le Supply Chain Management (SCM), ou gestion de la chaîne logistique intégrée a fait l’objet de nombreuses définitions dans la littérature anglo-saxonne. [Stadtler et Kilger, 2005] définissent le SCM comme : « La tâche d’intégrer les unités organisationnelles tout au long de la chaîne logistique et la coordination des flux physiques et d’informations dans le but de satisfaire la demande du client (final) en ayant pour but d’améliorer la compétitivité de la chaîne dans son ensemble ». Des synthèses sur le SCM ont été publiées dans [Tayur et al., 1999], [Tan, 2001] et [Croom et al., 2001]. On relève ici plusieurs définitions [Mentzer et al., 2001]. Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 41 [Jones et Riley, 1985] La gestion de la chaîne logistique est une approche intégrative pour s’accorder sur la planification et le contrôle du flux physique depuis les fournisseurs jusqu’à l’utilisateur final. [Simchi-Levi et al., 2003] La gestion des chaînes logistiques est un ensemble d'approches utilisées pour intégrer efficacement les fournisseurs, les producteurs, les distributeurs, de manière à ce que la marchandise soit produite et distribuée à la bonne quantité, au bon endroit et au bon moment dans le but de minimiser les coûts et d'assurer le niveau de service requis par le client. [Berry et al., 1994] La gestion de la chaîne logistique a pour but d’établir des relations de confiance, d’échanger des informations sur les besoins du marché, de développer des nouveaux produits et de réduire la base de fournisseurs d’une entreprise afin de libérer des ressources de gestion pour développer des relations significatives sur le long terme. [Thomas et Griffin, 1996] La gestion de la chaîne logistique est la gestion des flux de marchandises et d’informations à la fois dans et entre les sites tels que les points de vente, les centres de distribution et les usines de production et d’assemblage. [Tan et al., 1998] La gestion de la chaîne logistique englobe la gestion des approvisionnements et des marchandises depuis les fournisseurs de matières premières jusqu’au produit fini (et aussi de son éventuel recyclage). La gestion de la chaîne logistique se focalise sur la façon dont les entreprises utilisent les processus, la technologie et l’aptitude à améliorer la compétitivité de leurs fournisseurs. C’est une philosophie de management qui prolonge les activités classiques intra-entreprise, rassemblant l’ensemble des partenaires commerciaux avec un but commun d’optimisation et d’efficience. [Geunes et Chang, 2001] La gestion de la chaîne logistique est la coordination et l’intégration des activités de la chaîne logistique avec l’objectif d’atteindre un avantage compétitif viable. La gestion de la chaîne logistique comprend donc un large panel de problématiques stratégiques, financières et opérationnelles. Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 42 Tableau I.1. Définitions de la gestion de la chaîne logistique Les entreprises appartenant à une même chaîne logistique sont liées par des flux de produits, des flux d’informations et des flux financiers. Pour optimiser le fonctionnement de la chaîne logistique, les entreprises impliquées doivent se coordonner en tentant de satisfaire, d’une part, leurs objectifs locaux et, d’autre part, les objectifs globaux de la chaîne logistique. La gestion d’une chaîne logistique pose ainsi un problème de décision distribuée où les contextes et les objectifs propres aux différents acteurs de la chaîne diffèrent, malgré les intérêts communs partagés. I.5.4. Offres en logiciels pour la gestion de la chaîne logistique (SCM) Les exigences issues de la gestion efficace des chaînes logistiques et le besoin de réactivité ont rendu nécessaire l’adaptation des entreprises à de nouveaux modes de gestion de l’information. En particulier, les aspects humains sont de première importance pour que la collaboration se déroule dans de bonnes conditions. Néanmoins, l’implémentation d’outils support à la collaboration ne doit pas être négligée. Les technologies de l’information et de la communication (TIC) ont fortement influencé l’évolution des entreprises dans cette direction [Gunasekaran et al., 2006]. [Rota-Franz et al., 2001] Faire du “Supply Chain Management” signifie que l’on cherche à intégrer l’ensemble des moyens internes et externes pour répondre à la demande des clients. L’objectif est d’optimiser de manière simultanée, et non plus séquentielle, l’ensemble des processus logistiques. [Dominguez et Lashkari, 2004] L’intérêt du Supply Chain Management (SCM) est de faciliter les ventes en positionnant correctement les produits en bonne quantité, au bon endroit, et au moment où il y en a besoin et enfin à un coût le plus petit possible. Le principal objectif du SCM est d’allouer efficacement les ressources de production, distribution, transport et d’information, en présence d’objectifs conflictuels, dans le but d’atteindre le niveau de service demandé par les clients au plus bas prix. Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 43 Figure I.14. Positionnement de l'offre logicielle en SCM [Botta-Genoulaz, 2003] La figure I.14 présente un état des lieux sur les systèmes d’information et de communication utilisables par les entreprises, couvrant la majeure partie des besoins de l’entreprise sur les différents niveaux décisionnels. En effet, compte tenu du nombre de variables à traiter et de l’éclatement géographique des sites de production, les TIC sont au cœur de la gestion d’entreprise et de la chaîne logistique. On y trouve pour : La gestion de la logistique industrielle : APS (Advanced Planning and Scheduling), ERP (Entreprise Ressources Planning), les logiciels de GPAO (Gestion de Production Assistée par Ordinateur), MES (Manufacturing Execution System), etc. La gestion des entrepôts : Progiciels de gestion d’entrepôts (WMS Warehouse Management System) et les applications de gestion de stocks. La communication et échange de données inter-entreprises : Bon de commande, Facturation, réception en magasin, ordre d’expédition, niveau de stocks, etc. Cela repose sur des réseaux et standard EDI (Electronic Data Interchange), les CRM (Customer Relationship Management) et les AOM (Advanced Order Management). Optimisation du réseau logistique APS MES Planification production Planification distribution Planification transports CRM Prévisions ATP/CTP Gestion des achats GPAO Ordonnancement Gestion des stocks Gestion des transports ERP SRM Administration des ventes SCE WMS TMS AOM Acheter Fabriquer Distribuer Stocker Vendre Stratégique Tactique Opérationnel Exécution EDI / Internet Fournisseurs Années Mois Semaines Jours Clients Chapitre I. Gestion des activités de production : Contexte et positionnement du travail de recherche 44 La gestion de flotte : Logiciels d’optimisation de chargements, de tournées, d’itinéraires et de gestion de parc (TMS Transport Management System), GPS (Global Positioning System) de localisation des véhicules. La traçabilité des marchandises : Identification et localisation des produits, des lots de production, d’un contenant, etc. Elle met en œuvre des technologies d’identification (code-barres, RFID Radio Frequency IDentification) et de communication GPS. Notre travail de thèse s’inscrit dans l’évolution des ERP vers les APS. En effet, l’ERP étant un système transactionnel, il demande désormais d’être complété par des systèmes décisionnels ou d’aide à la décision dans un but d’optimisation dépassant les frontières de l’entreprise [François, 2007]. En réponse, un APS permet l’optimisation du flux matière pour des sites de production distants [Stadtler et Kilger, 2005]. Il est défini comme étant « une solution logicielle permettant de résoudre des problèmes de planification complexes en appliquant les techniques d’optimisation » [Wolosewicz, 2008]. Les APS peuvent notamment prendre en compte la capacité finie des ressources lors de la planification, simuler plusieurs scénarios de planification et gérer plusieurs sites de production, ce qui est nécessaire dans le cas des entreprises multi-sites ou des réseaux d’entreprises. I.6. Conclusion La gestion des chaînes logistiques touche différents niveaux décisionnels. Notre travail de thèse s’intéresse à la planification tactique et opérationnelle d’une chaîne logistique. Dans ce chapitre, nous avons élaboré une revue des approches de planification / ordonnancement et nous avons posé la fonction planification dans ses dimensions horizontale et transversale. Pour la planification dynamique d’une chaîne logistique, nous proposons une approche décisionnelle à deux niveaux. Le modèle proposé intègre les décisions prises au niveau supérieur comme contraintes à respecter au niveau inférieur (niveau opérationnel) en vue de garantir la faisabilité du plan de production. Il sera modélisé sous forme d’un Problème de Satisfaction de Contraintes (Constraint Satisfaction Problem, CSP). Ainsi, le chapitre suivant rappelle les notions de base des problèmes de satisfaction de contraintes, les mécanismes de résolution et les extensions dans un contexte dynamique. Chapitre II. Les problèmes de satisfaction de contraintes 45 CHAPITRE II. LES PROBLEMES DE SATISFACTION DE CONTRAINTES Chapitre II. Les problèmes de satisfaction de contraintes 46 II.1. Introduction Les problèmes de satisfaction de contraintes ou CSP (Constraint Satisfaction Problems) offrent un formalisme générique permettant la modélisation d’un grand nombre de problèmes d’optimisation combinatoire (planification, ordonnancement, conception, diagnostic, …). Sur le plan de la résolution, l’approche par satisfaction de contraintes combine des méthodes de recherche opérationnelle (théorie des graphes, programmation mathématique, méthodes exactes et approchées, etc.), avec des techniques issues de l’intelligence artificielle (algorithmes de recherche arborescente, algorithmes de propagation de contraintes, langages de programmation par contraintes, etc.). Résoudre un CSP consiste à affecter des valeurs aux variables du problème telles que toutes les contraintes soient satisfaites. En général, la résolution consiste à trouver une solution admissible (problème de satisfaisabilité) ou une solution de meilleur coût (problème d’optimisation). Les langages de programmation par contraintes donnent la possibilité de séparer nettement la modélisation et la résolution d'un CSP. Pour la modélisation, les langages permettent d'exprimer les contraintes de façon naturelle et déclarative, en faisant abstraction de l'exploitation qui en sera faite durant la résolution. Pour la résolution, les langages s'appuient sur des mécanismes (inférence sur les contraintes, filtrage des domaines) dédiés à chaque type de contraintes ; ils proposent également des stratégies de choix de variables et de choix de valeurs pour les variables, afin de guider efficacement la construction des solutions. Dans un contexte dynamique, par exemple dans un problème réel d’ordonnancement d’atelier où l’exécution est rarement conforme à la prévision (pannes machines, commandes urgentes ou annulées, etc.), un modèle CSP nécessite une modification successive des données du problème. La présence de ces aléas implique la nécessité d’introduire un caractère dynamique dans le modèle CSP. La notion de CSP dynamique a ainsi été introduite par [Dechter et Dechter, 1988] pour représenter la situation suivante : un CSP dynamique est une séquence de CSP où chaque élément diffère du premier par l’ajout ou le retrait de certaines contraintes. Pour la résolution des CSP dynamiques, la notion de stabilité des solutions successives devient importante. C’est le cas où le décideur, face à un aléa, désire repartir de la solution précédente pour fournir une nouvelle solution, en conservant si possible le maximum de décisions déjà prises, car la remise en cause d'une décision prend du temps et présente un coût Chapitre II. Les problèmes de satisfaction de contraintes 47 non négligeable. Nous aurons par la suite comme exigence de couvrir ce besoin de stabilité. Dans le cadre de cette thèse, le modèle développé s’inscrit dans l’approche de satisfaction de contraintes dynamiques. La première partie de ce chapitre présente les notions de base d’un problème de satisfaction de contraintes. La deuxième se focalise sur la présentation des problèmes de satisfaction de contraintes dynamiques. La dernière partie est destinée à la présentation des méthodes de résolution pour un problème de satisfaction de contraintes dynamiques. II.2. Le Problème de Satisfaction de contraintes (CSP) II.2.1. Définitions et notions Un problème de satisfaction de contraintes (CSP) est défini par la donnée d’un ensemble de variables, chacune associée à un domaine de valeurs, et d’un ensemble de contraintes qui mettent en relation les variables. De façon plus formelle [Montanari, 1974], [Mackworth, 1977], [Tsang, 1993], on définit un CSP par un triplet (X, D, C) tel que :  X = {X1, X2, …, Xn} est l’ensemble des variables du problème,  D = {D1, D2, …, Dn} est l’ensemble des domaines. A chaque variable Xi אX, 1 ≤ i ≤ n, est associé un domaine Diא D qui représente l’ensemble des valeurs possibles pour Xi,  C = {C1, C2, …, Cm} est l’ensemble des contraintes où une contrainte Ci est définie sur un ensemble de variables {X1, X2,…, Xn} appelé Var(Ci). Étant donné un CSP (X, D, C), la résolution consiste à affecter des valeurs aux variables de telle sorte que toutes les contraintes soient simultanément satisfaites. i. Domaines de calcul On parle de CSP discrets lorsque les variables de décision sont discrètes et les domaines finis et de CSP continus lorsque les domaines sont continus et les variables réelles. ii. Contrainte Une contrainte est une relation entre différentes variables. Cette variable peut être définie en extension ou en intension : Chapitre II. Les problèmes de satisfaction de contraintes 48  Pour définir une contrainte en extension, on énumère les n-uplets de valeurs appartenant à la relation. Par exemple, si les domaines des variables X1 et X2 contiennent les valeurs 0, 1 et 2, alors on peut définir la contrainte « X1 < X2 » en extension par « (X1 = 0 et X2 = 1) ou (X1 = 0 et X2 = 2) ou (X1 = 1 et X2 = 2) », ou encore par « (X1, X2)  {(0,1), (0,2), (1,2)} »,  Pour définir une contrainte en intension, on utilise des propriétés mathématiques connues. Par exemple: « X1 + X2 = 3 » ou encore « X1 + X2 < 2 ». L’arité d’une contrainte est le nombre de variables sur lesquelles elle porte. On dira que la contrainte est :  unaire si son arité est égale à 1, par exemple « X1 * X1 = 4 »,  binaire si son arité est égale à 2, par exemple « X1 ≠ X2 »,  ternaire si son arité est égale à 3, par exemple « X1 + X2< 3 * X3 – 4 »,  n-aire si son arité est égale à n (elle met en relation un ensemble de n variables). On distingue différents types de contraintes en fonction des domaines de valeurs des variables du problème :  Les contraintes numériques, portant sur des variables à valeurs numériques : une contrainte numérique est une égalité (=), une différence (≠) ou une inégalité (<, ≤, >, ≥) entre deux expressions arithmétiques. Sous ce type de contraintes, nous retrouvons : o Les contraintes numériques sur les réels, quand les variables de la contrainte peuvent prendre des valeurs réelles, par exemple une contrainte physique comme « U = R * I », o Les contraintes numériques sur les entiers, quand les variables de la contrainte ne peuvent prendre que des valeurs entières, par exemple une contrainte sur le nombre de personnes pouvant embarquer dans un avion, o Les contraintes numériques non linéaires, quand les expressions arithmétiques contiennent des produits de variables, ou des fonctions logarithmiques, exponentielles, etc. Par exemple, « X1 * X1 = 2 » ou « sinus(X1) + X3 * log(X2) = 4 », o Les contraintes booléennes, portant sur des variables à valeur booléenne (vrai ou faux). Une contrainte booléenne est une implication (=>), une équivalence (<=>) ou une non équivalence (<≠>) entre 2 expressions logiques. Par exemple « (non a) ou b => c » ou encore « non (a ou b) <=> (c et d) ».Chapitre II. Les problèmes de satisfaction de contraintes 49 Enfin, nous signalons que les extensions apportées au modèle CSP de base ont donné lieu à bien d'autres types de CSP que nous détaillerons dans la suite. iii.Vocabulaire utile L’approche CSP fait appel à un certain nombre de termes spécifiques. Pour une meilleure compréhension, nous rappelons les notions suivantes :  On appelle affectation le fait d'instancier certaines variables par des valeurs. On notera A = {(X1, V1),(X2, V2),...,(Xr, Vr)} l'affectation qui instancie la variable X1 par la valeur V1, la variable X2 par la valeur V2,..., et la variable Xr par la valeur Vr.  Une affectation est dite totale si elle instancie toutes les variables du problème ; elle est dite partielle si elle n'en instancie qu'une partie.  Une affectation A viole une contrainte Cj si toutes les variables de Cj sont instanciées dans A, et si la relation définie par Cj n'est pas vérifiée pour les valeurs des variables de Cj définies dans A.  Une affectation (totale ou partielle) est consistante si elle ne viole aucune contrainte, et inconsistante si elle viole une ou plusieurs contraintes.  Une solution est une affectation totale consistante, c'est-à-dire une valuation de toutes les variables du problème qui ne viole aucune contrainte. iv. Exemple CSP Considérons un problème d’ordonnancement comportant quatre activités (1, 2, 3 et 4) ayant chacune une date de début Si , une date de début au plus tôt ESi et au plus tard LSi et une durée Pi (tableau II.1). Activité ESi LSi Pi 1 0 7 3 2 2 6 2 3 1 10 4 4 4 13 1 Tableau II.1.Données du problème Chapitre II. Les problèmes de satisfaction de contraintes 50 Ces activités sont liées par les contraintes de précédence (notée de façon symbolique "" ci-après) :1 → 2, 1 → 3, 2 → 4 ݁ݐ 3 → 4. Notons que sur le plan numérique la contrainte de précédence ݅ → ݆ peut s'exprimer par la contrainteܵ݅ + ܲ݅ ൑ ݆ܵ .Ainsi, ce problème peut être modélisé comme un CSP (X, D, C) où : X = {S1, S2, S3, S4} D = {D1= [0, 7], D2= [2, 6], D3= [1, 10], D4= [4, 13]} C = {C1: S1 + 3 ≤ S2, C2: S1 + 3 ≤ S3, C3: S2 + 2 ≤ S4, C4: S3 + 4 ≤ S4} II.2.2. Techniques de propagation de contraintes Une solution d'un CSP est un ensemble d'instanciations des variables qui satisfait toutes les contraintes. Prouver qu'un CSP a une solution ou trouver une (ou toutes) les solutions d’un CSP reste un problème NP-complet dans le cas général. Pour pallier cette complexité de résolution, des mécanismes de propagation de contraintes peuvent être utilisés. Un grand nombre de ces méthodes ont donc été développées pour tenter de réduire le coût de résolution d’un CSP. Nous nous intéressons dans ce travail aux méthodes employées pour les CSP sur les domaines finis. Parmi ces méthodes, les plus populaires sont les techniques de renforcement de consistance qui visent à réduire l’espace de recherche avant et pendant la résolution. Les techniques de renforcement de consistance ont pour objet de filtrer les domaines. Ces techniques tentent d’éliminer des valeurs dans les domaines des variables pour lesquelles certaines contraintes ne peuvent être satisfaites (valeurs inconsistantes). Cela permet de réduire la taille des domaines et donc de limiter la taille de l'arbre de recherche en éliminant les branches qui portent ces valeurs inconsistantes. Le CSP résultant de ce filtrage est inclus dans le CSP initial, c’est-à-dire que son espace de recherche a été réduit tout en conservant l’ensemble des solutions. La consistance d’arc ou arc-consistance (Arc-Consistency ou AC) est définie pour les CSP binaires (chaque contrainte porte sur deux variables). Cette notion d’arc-consistance peut être étendue à k variables. On obtient alors la k-consistance. Lorsqu'on se limite à représenter les domaines des variables uniquement par leurs bornes inférieure et supérieure (soit un Chapitre II. Les problèmes de satisfaction de contraintes 51 intervalle) plutôt que par l’énumération des valeurs contenues dans le domaine, la propagation de contraintes se réduit à une consistance aux bornes (Bound-Consistency).  Arc-consistance : Soit Xi une variable et Vi une valeur de son domaine DXi. On dit que le couple (Xi , Vi) vérifie l’arc-consistance si et seulement si pour chaque contrainte C telle que Vi  var(C), il est possible de trouver une instanciation réalisable des variables de la contrainte C pour laquelle la valeur Vi est affectée à la variable Xi . Un domaine DXi vérifie l’arc-consistance si et seulement s’il est non vide et toutes ses valeurs vérifient l’arc-consistance. Un CSP vérifie l’arc-consistance si tous ces domaines vérifient l’arc-consistance. Le filtrage par arc-consistance consiste alors à éliminer les valeurs de variables qui ne peuvent pas localement (en se contentant d’observer la situation uniquement du point de vue de la contrainte traitée) figurer dans une solution.  k-consistance: Soit S = {Xi1, Xi2, …, Xik-1} un ensemble de k-1 variables. Une instanciation Is consiste à affecter à chaque variable Xij de S une valeur Vij de son domaine: Is= {(Xi1,Vi1), (Xi2,Vi2), …, (Xik-1,Vik-1)} On dit que Is= {(Xi1,Vi1), (Xi2,Vi2), …, (Xik-1,Vik-1)} vérifie la k-consistance si et seulement si pour toute variable supplémentaire Xik ב S, il existe au moins une valeur Vik  Dvik telle que l’instanciation {(Xi1,Vi1), (Xi2,Vi2), (Xik-1,Vik-1), …, (Xik,Vik)} soit localement consistante. Un sous-ensemble S = {Xi1, Xi2, …, Xik-1} vérifie la kconsistance si et seulement si toute instanciation de ses k-1 variables vérifie la kconsistance. Un CSP est k-consistant si et seulement si tout sous-ensemble de X de cardinal k-1 est k-consistant.  Consistance aux bornes : Une contrainte C vérifie la consistance aux bornes si et seulement si pour chaque variable Xi  var(C) de domaine DXi = [ai , bi], il existe au moins une valeur dans le domaine des autres variables de var(C) qui satisfait C lorsque Vi est instanciée à ai et lorsque Vi est instanciée à bi . Un CSP vérifie la consistance aux bornes si et seulement si toutes ses contraintes vérifient la consistance aux bornes. Chapitre II. Les problèmes de satisfaction de contraintes 52 Exemple : Reprenons les données du tableau II.1. Soit la contrainte C1: S1+ 3 ≤S2. C1n’est pas consistante aux bornes car en affectant à la variable S1, de domaine D1 = [0, 7], la valeur V1 = 7, il n’existe pas dans le domaine de la variable S2 de domaine D2 = [2, 6] une valeur qui satisfasse la contrainte C1. La valeur V1 = 7 doit donc être éliminée du domaine D1. II.2.3. Méthodes de résolution d’un CSP La résolution d’un CSP s'appuie sur des techniques de propagation de contraintes (le plus souvent un filtrage par arc-consistance et / ou par consistance aux bornes), une stratégie de recherche arborescente (phase de recherche de solutions) incluant un retour arrière en cas d'échec, et une heuristique d’instanciation (ordre sur les variables et ordre sur les valeurs). Chaque phase est réalisée au moyen d’algorithmes dédiés.  Phase de propagation de contraintes Le filtrage consiste à éliminer les valeurs des variables qui ne peuvent appartenir à aucune solution. Ceci permet d’éviter des calculs inutiles et permet de mener à une résolution plus rapidement. Lorsqu’un domaine de valeurs devient vide, on parvient à une incohérence et le problème n’admet par conséquent pas de solution. Le filtrage consiste donc au fur et à mesure de l’affectation des variables à s’assurer qu’il ne reste dans les domaines des variables non encore affectées que des valeurs ayant au moins un support pour les contraintes auxquelles elles sont associées. Plusieurs algorithmes de cohérence d’arc (AC) ont été proposés. En 1977, Macworth proposa AC-1 et surtout AC-3 [Macworth, 1977]. Depuis, plusieurs améliorations ont suivi et d’autres algorithmes ont été proposé tels que : AC-4 [Mohr et Henderson, 1986], AC-6, AC-7 et AC-2001 [Bessière et Régin, 2001], [Zhang et Yap, 2001], [Bessière et al., 2005]. La figure suivante (Figure II.1) montre la réduction des domaines des variables pendant la phase de propagation de contraintes. On présente un CSP à 4 variables {x, y, z, w} tel que Dx=Dy=Dz=Dw= {1, 2, 3, 4, 5}, auxquelles on impose 3 contraintes {C1, C2, C3}. Par exemple, initialement, Dx = {1, 2, 3, 4, 5} et après propagation de la contrainte C1, Dx est réduit à deux valeurs : Dx = {1, 2}. Le retrait des valeurs inconsistantes dans le domaine Dx déclenche à son tour le filtrage d'autres domaines, par le biais des autres contraintes. Ceci est réitéré tant qu'on peut prouver l'existence de valeurs inconsistantes, jusqu’à stabilisation Chapitre II. Les problèmes de satisfaction de contraintes 53 complète des domaines, qui deviennent alors minimaux. Ce processus s'apparente au mécanisme de déduction logique en chaînage avant par saturation (recherche de l'ensemble complet des déductions) les déductions consistant ici à éliminer les valeurs inconsistantes. Figure II.1. Phase de propagation de contraintes [Lopez, 2001]  Phase de recherche de solutions Elle consiste à élaborer des combinaisons de valeurs compatibles entre elles au regard de toutes les contraintes. Pour cela, les combinaisons sont construites progressivement, variable par variable, chaque étape étant caractérisée par une solution partielle. La génération cesse dès qu'une variable encore libre voit son domaine devenir vide (inconsistance) ; il faut alors être capable de remettre en cause un ou plusieurs choix précédents. Plusieurs algorithmes de CSP initial Dx= Dy= Dz= Dw= {1, 2, 3, 4, 5} C1 : X + 3 ≤ Y C2 : Z = 2 * X C3 : W = X * Y Propagation 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 C2 1 2 4 5 1 2 3 4 5 1 2 3 4 5 C3 1 2 4 5 2 4 1 2 3 4 5 C2 1 4 5 2 4 4 5 1 45 2 4 5 C1 X Y Z WChapitre II. Les problèmes de satisfaction de contraintes 54 recherche arborescente existent. On distingue par exemple : des méthodes de parcours complet comme Chronogical Backtracking (CB) [Bitner et Reingold, 1975], Limited Discrepancy Search (LDS) [Harvey et Ginsberg, 1995], et des méthodes incomplètes mais parfois plus efficaces comme Randomization and Restart [Gomes et al., 1998]. Certaines de ces méthodes sont des algorithmes hybrides, en ce sens qu’elles intègrent un certain niveau de filtrage avant chaque instanciation de variable dans le développement de l’arbre (Real-FullLook-Ahead, Forward-Checking [Harvey et Elliot, 1980], [Nadel, 1989], Maintaining ArcConsistency (MAC) [Sabin et Freuder, 1994]). Le Chronogical Backtracking ou retour arrière chronologique est une méthode de résolution issue de l’intelligence artificielle pour la résolution des CSP. Son algorithme considère les variables l’une après l’autre. Pour chaque variable, on cherche une valeur qui soit compatible avec toutes les valeurs données aux variables instanciées précédemment. Si une telle valeur existe, alors on passe à la variable suivante. Sinon, on revient sur la dernière variable instanciée pour essayer une autre valeur, et ainsi de suite, jusqu’à ce qu’on trouve une solution ou que l’on explore tout l’espace de recherche. Une autre méthode de recherche de solutions basée sur un parcours particulier de l’arbre de recherche est Limited Discrepancy Search [Harvey et Ginsberg, 1995] ou recherche à divergences limitées. A partir d’une heuristique d’instanciation donnant un ordre sur les variables et un ordre sur les valeurs des variables, une instanciation complète initiale est générée. Si cette « solution » s’avère en fait non admissible (ne respectant pas les contraintes du problème), on autorise la méthode à ne pas suivre les choix de l’heuristique d’instanciation pour certaines variables. Le fait de s’écarter des choix guidés par l’heuristique correspond à la notion de divergence. Les algorithmes utilisant la propagation de contraintes tentent d'éviter qu’une incohérence soit détectée tardivement, après qu’une grande partie de l’arbre de recherche a été explorée. En effet, ils n’acceptent une valeur V qu’après avoir vérifié que les domaines des variables futures ne deviennent pas vides (figure II.2). Chapitre II. Les problèmes de satisfaction de contraintes 55 L’algorithme forward-checking : Il applique une forme de consistance locale aux variables non encore instanciées. Les variables futures à instancier voient leur domaine de valeurs réduit par filtrage (par arc-consistance par exemple), ce qui par la suite permettra de limiter la recherche. Cependant, les seules variables futures qui sont soumises au filtrage sont limitées aux seules variables libres qui sont liées à la variable courante par au moins une contrainte : le filtrage n’est pas étendu aux autres variables. L’algorithme real-full-look-ahead : Il propose la même philosophie de filtrage que le forward-checking, mais préconise aussi le filtrage de toutes les variables futures à instancier. Le filtrage est donc beaucoup plus profond au cours de la recherche, ce qui se paie en général par un coût algorithmique plus élevé. Variables déjà instanciées Variables courantes à instancier Backtrack Forward - checking Real – full – look - ahead Variables futures à instancier Contraintes Figure II.2. Les algorithmes de recherche CSP [Fischer, 2000]  Heuristiques d’instanciation Les heuristiques d’ordre sont des règles qui déterminent l’ordre suivant lequel on va choisir les variables à instancier, et pour chacune l'ordre dans lequel on essaie les valeurs de son domaine courant. On distingue donc les heuristiques d’ordre sur les variables et les heuristiques d’ordre sur les valeurs. Un bon ordre permet de détecter les échecs le plus tôt possible et par la suite d’éviter l’exploration d’une grande partie de l’arbre de recherche en vain. A titre d'exemple on peut citer l’heuristique du domaine minimal qui préconise de choisir en premier la variable qui a le plus petit domaine courant ; concernant l'ordre sur les valeurs, on peut citer l’heuristique de l’échec au plus tôt (first-fail) qui consiste à attribuer à la variable choisie la valeur qui est susceptible de mener le plus tôt possible à un échec. Chapitre II. Les problèmes de satisfaction de contraintes 56 II.2.4. CSP et optimisation Résoudre un CSP peut consister à trouver une solution (satisfaisabilité), ou trouver une de meilleur coût (optimisation). Dans ce dernier cas, on parle plutôt de CSOP (Constraint Satisfaction and Optimization Problem). Un CSOP est défini par un quadruplet (X, D, C, Z), où X est un ensemble fini de variables, D est l’ensemble des domaines associés à ces variables, C est l’ensemble des contraintes qui portent sur ces variables et Z (le critère à optimiser) est une fonction de l'instanciation totale des variables du problème, qui prend ses valeurs dans un ensemble ordonné : ce critère permet ainsi de comparer deux solutions pour choisir celle qui est la meilleure. Toutes les méthodes exposées plus haut pour la recherche d'une solution d'un CSP s’appliquent également à la résolution des CSOP. Il s’agit de rechercher une solution satisfaisant toutes les contraintes du problème et qui, de plus, minimise ou maximise un critère donné. La résolution d’un CSOP peut être abordée de la manière suivante : Soit Z * la valeur minimale de Z sur l'ensemble des solutions du problème. L’approche la plus intuitive consiste à résoudre une succession de problèmes de décision P. Le problème de décision P est initialisé avec les contraintes du problème, sans tenir compte du critère d'optimisation, puis résolu. Si P est inconsistant, alors le problème d’optimisation n'a pas de solution ; sinon, soit  0 (X) une première instanciation de X qui est solution de P ; la meilleure solution  * (X) est initialement  * (X)   0 (X). Tant qu'on n'a pas exploré tout l'arbre de recherche des solutions, on tente de repartir du dernier point de choix non encore exploré pour trouver une nouvelle solution  k (X) en ajoutant la nouvelle contrainte Z( k (X)) < Z( * (X)) préalablement à toute nouvelle décision en ce point ; si on peut trouver cette nouvelle solution on actualise  * (X)   k (X) et on passe à l'étape suivante k+1 ; sinon, si aucun point de choix restant ne respecte la contrainte d'amélioration du critère, la recherche s'arrête. La dernière solution trouvée est donc prouvée solution optimale du problème. L'efficacité de cette méthode tient bien sûr pour beaucoup à l'efficacité du filtrage qu'engendre la propagation de la contrainte Z( k (X)) < Z(*(X)) avant chaque élaboration d'une nouvelle solution. Si ce filtrage est fort, la réduction de l'arbre de recherche peut être drastique ; sinon, si la contrainte d'amélioration du coût n'est pas très active sur le filtrage, la recherche complète se Chapitre II. Les problèmes de satisfaction de contraintes 57 heurte à une combinatoire trop élevée et doit être interrompue après un temps limite donné. Dans ce cas, l'optimalité n'est plus prouvée même si on peut démontrer expérimentalement que sur un grand nombre de cas la méthode retourne de très bonnes solutions voire des solutions optimales (en comparant le coût des solutions trouvées à celui de solutions optimales générées par d'autres méthodes exactes). II.3. Problèmes de satisfaction de contraintes dynamiques (DCSP) En dépit des avantages qu'il offre sur le plan de l'expressivité et de la modélisation des contraintes, le modèle CSP rencontre néanmoins des limites face à certains problèmes réels dans lesquels les données du problème sont soumises à des perturbations provenant de l’environnement ou d’autres agents. « C’est un modèle statique : le problème est défini dès le début du processus de la résolution et reste invariant tout au long de son déroulement : les variables, leurs domaines, les contraintes les liant sont connus à l’avance » [Elkhiary, 2003]. Ainsi, une modification du problème impliquant un ajout ou un retrait de contraintes, de variables ou un changement du domaine de valeurs d’une variable ne peut pas être traitée par un modèle de satisfaction de contraintes statique. Dans cette configuration, l’aspect dynamique d’un problème peut être formalisé de différentes façons. En effet, un DCSP (Dynamic Constraint Satisfaction Problem) permet d’adapter un CSP aux différentes perturbations qui peuvent survenir [Dechter et Dechter, 1988]. En revanche, d’autres formalismes tels que les CCSP (Conditional CSP) ([Mittal et Falkenhainer, 1990], [Sabin et Freuder, 1994]), les TCSP (Temporal CSP) [Schwalb et Dechter, 1991], les OCSP (Open CSP) [Faltings et Macho-Gonzalez, 2005], … permettent de prendre en compte des évolutions déjà intégrées au modèle. La partie suivante est dédiée à la présentation de ces formalismes liés aux problèmes dynamiques [Verfaillie et Jussien, 2005]. II.3.1.Définitions DCSP  Définition 1 Un problème de satisfaction de contraintes dynamique (Dynamic Constraint Satisfaction Problem ou DCSP) est une suite P0, P1, … de CSP classiques, tels que deux problèmes successifs Piet Pi+1 ne diffèrent que par l’ajout ou le retrait de certaines contraintes. Chapitre II. Les problèmes de satisfaction de contraintes 58  Définition 2 Un DCSP P est une séquence P0,…, Pn de CSP statiques telle que : ܲ݅+1 = � ܲ݅ ܲܵܥ → ܲܵܥ ∶ � où [Richaud, 2009] indique que « résoudre un DCSP revient à trouver une solution au CSP le plus récent (le dernier de la séquence). Du fait du caractère incrémental de la séquence, les solutions des autres CSP de la séquence peuvent être des solutions intermédiaires intéressantes. Ainsi l’efficacité des DCSP reposent sur l’utilisation de méthodes permettant d’exploiter efficacement le travail effectué aux étapes antérieures ». Pour savoir comment réutiliser le travail déjà fait nous nous intéressons dans la partie suivante aux transformations possibles pour passer d’un CSP Pi à un CSP Pi+1 = µ(Pi). En effet, Si le CSP Pi+1 est obtenu à partir du CSP Pi après le retrait d’une ou plusieurs contraintes, alors nous dirons que Pi+1 est une relaxation de Pi . De même, si nous passons du CSP Pi au CSP Pi+1en ajoutant une ou plusieurs contraintes, alors nous dirons que Pi+1est une restriction de Pi . Aussi, les domaines peuvent être vus comme des contraintes unaires ; retirer ou ajouter une variable revient à modifier toutes les contraintes dans lesquelles la variable apparaît ([Dechter et Dechter, 1988], [Vareilles, 2005], [Verfaillie et Schiex, 1995], [Richaud, 2009]). Le tableau suivant présente l’ensemble des modifications possibles d’un CSP tel que P’ = μ(P) avec P = (X,D,C) et P’ = (X’,D’,C’), sur l’ensemble des solutions. Transformation de P à P’ C’ Ajout d’une contrainte c Restriction Retrait d’une contrainte c Relaxation Ajout d’une valeur val Relaxation Retrait d’une valeur val Restriction Ajout d’une variable var Relaxation Retrait d’une variable var ? Tableau II.2. Effets des transformations élémentaires [Richaud, 2009] Chapitre II. Les problèmes de satisfaction de contraintes 59 II.3.2. DCSP et autres formalismes Comme nous l’avons indiqué précédemment et contrairement aux DCSP, d’autres formalismes liés aux problèmes dynamiques permettent de prendre en compte des évolutions déjà intégrées au modèle. [Richaud, 2009] indique que « il faut différencier le formalisme des DSCP de celui des CSP qui modélisent un problème dynamique ». Il précise en outre que « le but du DCSP est d’adapter un CSP aux perturbations extérieures venant modifier le problème et non pas de prendre en compte des évolutions déjà intégrées au modèle ». Par exemple, les OCSP (Open CSP) sont des CSP qui intègrent des variables dont les domaines ne sont pas initialement connus. Dans ce sens, un OCSP peut être vu comme un DCSP dont toutes les modifications se traduisent par une extension des domaines et des contraintes [Faltings et Macho-Gonzalez, 2005]. De même, pour un CCSP (Conditional CSP), les modifications possibles sont intégrées au modèle. Aussi, un CCSP peut être considéré comme une restriction d’un DCSP dans lequel toutes les modifications possibles sont définies par les contraintes d’activation. D’autres formalismes CSP existent dans la littérature. Nous pouvons citer les MCSP (Mixed Constraint Satisfaction Problem) [Fargier et al., 1996], les SCSP (Stochastic Constraint Satisfaction Problem) [Walsh, 2002] et les BCSP (Branching Constraint Satisfaction Problem) [Fowler et Brown, 2000b], [Fowler et Brown, 2000a]. [Richaud, 2009] présente une description détaillée des différents formalismes existant dans la littérature. Les CSP conditionnels (CCSP) sont plus particulièrement présentés dans la suite de ce document. II.3.3. CSP conditionnels Les CSP conditionnels [Mittal et Falkenhainer, 1990]sont définis comme un triplet (V, D, C) où:  V = {ݒ1 2ݒ , , … , ݒ݈} est un ensemble fini de variables composé de deux sous-ensembles disjoints : o Un ensemble �ܽnon vide de variables initialement actives, o Un ensemble �݅ de variables initialement inactives ;  D = {݀1 ,݀2 ,…, ݈݀} est un ensemble fini de domaines de définition des variables de V ;  C = {ܿ1 , ܿ2 , …, ݈ܿ} est un ensemble fini de contraintes de deux natures possibles : o un ensemble ܥܥ= {ܥ1 ܿ 2ܥ , ܿ ݊ܥ , ... , ܿ } de contraintes de compatibilité, o un ensemble ܣܥ= {ܥ1 ܽ 2ܥ , ܽ ݊ܥ , ... , ܽ } de contraintes d’activation.Chapitre II. Les problèmes de satisfaction de contraintes 60 Les contraintes d’activation permettent d’ajuster un modèle de connaissances à un problème particulier par la prise en compte exclusive des éléments indispensables à sa résolution. Elles modifient la structure du modèle par l’ajout et le retrait d’éléments (variables et contraintes) suivant les différentes situations du problème. Les contraintes d’activation se définissent en deux parties : une prémisse (condition logique) et un conséquent (ajout ou retrait d’un ensemble d’éléments) liées par un opérateur d’implication →. Lorsque la prémisse est vérifiée, il y a application du conséquent : la structure du modèle est enrichie ou appauvrie en variables et contraintes. Sinon, sa structure reste inchangée [Vareilles, 2005].Ces contraintes sont composées d’une prémisse P(�݌ ) et d’un conséquent �ܿ . L’ensemble des variables �݌de la prémisse et l’ensemble des variables Vc du conséquent doivent être disjoints. Les contraintes d’activation de variables sont de la forme : ݌�)P ) → (dés)activation : �ܿ Chaque variable possède un état actif ou inactif qui indique si celle-ci doit être ou non prise en compte dans le problème courant. Les contraintes de compatibilité prennent part au filtrage lorsque toutes les variables sur lesquelles elles portent sont actives. Sinon, elles sont considérées comme trivialement satisfaites. Une solution d’un CSP conditionnel correspond à un ensemble de variables valuées, contenant obligatoirement l’ensemble �ܽdes variables initialement actives, respectant toutes les contraintes de compatibilité ܥܿ du modèle. II.4. Résolution d’un CSP dynamique Comme défini précédemment, un DCSP est une séquence de CSP statiques pour laquelle on souhaite trouver une solution. Pour trouver une solution on pourrait se concentrer sur chaque CSP et tenter de les résoudre indépendamment les uns des autres à l’aide des mé- thodes de résolution classiques. Ce serait passer à côte de la spécificité des DCSP : le caractère incrémental de la séquence de CSP. De plus il ne faut pas oublier qu’un DCSP s’inscrit dans le temps : souvent lorsque les perturbations surviennent, une partie de la solution a déjà été réalisé. On ne peut donc pas résoudre en dehors de son contexte. En pratique, on se limite généralement au CSP précédent. Il existe plusieurs façons d’exploiter les informations de la recherche précédente.Chapitre II. Les problèmes de satisfaction de contraintes 61 D’un point de vue global, deux approches distinctes apparaissent dans la littérature pour la résolution des DCSP. Les approches basées sur la mémorisation et la réutilisation des solutions (utiliser l’information qui est consistante), et celles basées sur la mémorisation et la réutilisation des raisonnements (utiliser l’information qui est inconsistante) ([Elkhiary, 2003], [Verfaillie et Schiex, 1994], [Trombettoni, 1993], [Richaud, 2009]). Dans le paragraphe suivant, nous présentons dans le détail ces différentes méthodes de résolution relatives aux CSP dynamiques. II.4.1. Approche par réutilisation de solution Cette approche consiste à mémoriser et à réutiliser des solutions de problèmes précédents. Si un problème Pi a été résolu et prouvé consistant, une solution Si de Pia été trouvée et enregistrée, une modification est survenue dans la définition du problème Pi créant le problème Pi+1, alors Si est aussi une solution de Pi+1 si Pi+1 est une relaxation de Pi , sinon (Pi+1 est une restriction de Pi) Si peut ne plus être une solution. L’approche de réutilisation de solution repose sur l’idée suivante : si Si est une solution du problème Pi , alors une solution du problème Pi+1 (qui est proche de Pi) serait proche de Si . Cette approche regroupe plusieurs méthodes parmi lesquelles, nous pouvons citer la recherche arborescente, la recherche locale et la méthode par relaxation-affectation de variables. Ces méthodes sont présentées ci-dessous. i. La recherche arborescente Cette méthode consiste à affecter en premier à chaque variable sa valeur dans la solution précédente : utiliser la solution du problème précédent comme heuristique de choix de la valeur dans le cadre de la recherche courante [Hentenryck et Provost, 1991]. Cette méthode a montré son efficacité et sa stabilité sur des problèmes soumis à des changements peu importants [Schiex et Fargier, 1995]. ii. La recherche locale Cette méthode a été proposée sous le nom de heuristic repair dans [Minton et Johnston, 1992]. Toutes les méthodes appartenant à l’approche de réutilisation de solution utilisent la solution précédente comme point de départ de la recherche. De ce fait, à chaque étape, la recherche locale va réparer l’instanciation courante pour la rendre consistante et explorer son Chapitre II. Les problèmes de satisfaction de contraintes 62 voisinage [Richaud, 2009]. Cette méthode consiste alors à choisir une variable v d’une contrainte insatisfaite par l’affectation courante, lui affecter une valeur val choisie parmi les valeurs non explorées et à fixer v (une variable fixée étant une variable dont l’affectation ne peut être modifiée que par backtrack [Verfaillie et Schiex, 1995]). A chaque variable choisie est affectée une valeur val non explorée, celle minimisant le nombre de contraintes en conflit [Minton et Johnston, 1992]. Pour bien illustrer cette approche, nous présentons l’exemple de la figure II.3 [Verfaillie et Jussien, 2005]. Nous nous basons sur un DCSP de quatre variables x, y, z et t de domaines respectifs {2}, {1,2,3}, {1,2,3} et {3,4} reliées par les contraintes suivantes : x 0, le problème revient à minimiser la quantité Ci , où Ci représente la date de fin de l’opération i ([Zaidi et al., 2010], [Mokhtari et al., 2012]). Exemple : si l’on considère 3 tâches telles que p1 = 3, p2 = 2, p3 = 6, alors l’ordonnancement 1 - 2 - 3 est tel que : C1 = p1 = 3, C2 = C1+p2 = 5, et C3 = C2 + p3 = 11 (cas a) de la figure III.3. Ainsi, on a : Ci = 19. Si l’on considère l’ordonnancement 2 - 1 - 3, alors il est tel que : Ci = 2 + 5 + 11 = 18 (cas b) de la figure III.3. Par rapport au cas a), la somme des dates de fin des tâches a diminué d’une unité et par la suite les encours ont diminué d’une unité. Figure III.3. Minimisation des en-cours [Moncel, 2010] III.4. Planification dynamique III.4.1. Processus de prise de décision Dans sa thèse, Hassen Gharbi indique que, dans un contexte industriel réel, la prise de décision est une action instantanée effectuée en passant par différentes phases et que ce caractère multi-phase est imposé par des contraintes techniques des moyens de production et des contraintes socio-économiques qui imposent des délais temporels avant lesquels une certaine décision ne peut être réalisée. Il cite des exemples de contraintes imposant des délais temporels sur les décisions comme les temps de préparation des composants nécessaires pour a) 1 2 3 0 5 11 2 1 3 0 2 11 b) Chapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 75 la production d’un produit p, les délais de préparation du personnel permanent ou intérimaire en cas de recours aux heures supplémentaires [Gharbi, 2012]. Ainsi, la prise de chacune des décisions du plan de production passe nécessairement par deux phases : la phase d’anticipation de la réalisation et la phase de réalisation effective de la décision. Si une décision est prise à une période τ, sa réalisation commence à τ + DA et finit à τ + DA + DR. DA est le délai d’anticipation et DR est le délai de réalisation (figure III.4). Figure III.4. Phases de prise de décision [Gharbi et al., 2009] i. La phase d’anticipation de la réalisation de la décision La phase d’anticipation est la phase qui précède la réalisation effective de la décision. Comme le montre la figure III.4, elle est caractérisée par une date de début τ et une durée (délai d’anticipation) DA. Ce besoin d’anticipation se retrouve notamment dans le recours à la sous-traitance. Un sous-traitant doit être prévenu à l’avance pour qu’il puisse organiser sa production et intégrer les éventuelles modifications de sa demande. ii. La phase de réalisation effective de la décision Elle correspond à la durée de la réalisation d’une décision qui peut durer un certain nombre de périodes. La date de fin de la phase d’anticipation (τ+DA) est la date de début de la phase de la réalisation d’une décision De. Elle s’achève après une durée de réalisation ou un délai d’obtention DR (figure III.4). Il est à noter que les délais d’obtention concernent essentiellement les décisions de fabrication et que les décisions organisationnelles telles que le recours aux heures supplémentaires sont mises en œuvre juste après la phase d’anticipation [Galasso, 2007]. Dans la suite, nous noterons par LPp, le délai d’obtention s’il s’agit d’une décision de production interne et par LSp le délai d’obtention s’il s’agit d’une décision de sous-traitance. τ τ + DA τ + DA + DR DA Etape d’anticipation de la décision De DR Etape de réalisation de la décision De Temps Chapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 76 III.4.2. Planification à horizon glissant Classiquement, la planification de la production permet de définir des plans de production couvrant un horizon de planification HP constitué de T périodes. Ces plans sont obtenus en partant de certaines données comme les demandes clients (généralement connues à court terme et seulement estimées à moyen terme), la capacité de production, les différents coûts ainsi que les informations sur le produit (nomenclature, délai d’obtention, …). Ces données sont généralement incertaines et pour limiter l’influence de cette incertitude, nous adoptons dans le cadre de cette thèse, un processus de planification dynamique qui nous permet de suivre et de contrôler la faisabilité des décisions prises. La planification dynamique s’inscrit dans le cadre d’une procédure à horizon glissant permettant une actualisation périodique des données. En effet, les décisions prises sur un horizon de planification HP de longueur T sont remises en cause à intervalles de temps réguliers et une nouvelle planification est calculée sur un nouvel horizon de même longueur mais décalé de Pa périodes, Pa étant le pas de planification. Ainsi, lors de la première planification (k = 0), les plans sont calculés : le décideur reçoit le plan de demande prévu sur le premier horizon de planification HP1 et détermine les différents plans sur l’ensemble des périodes appartenant à horizon HP1 . La mise à jour périodique des plans fait que toute nouvelle planification (k) est réalisée sur un horizon de temps HPk = φ, φ+1, φ+2,..., φ + T – 1 avec φ = k.Pa + 1, et k : numéro d’itération de la planification (figure III.5) [Amrani-Zouggar, 2009]. Le pas de planification Pa est le nombre de périodes qui sépare deux itérations successives de planification. Son choix est délicat. En effet, le pas de planification a une influence sur la stabilité et la réactivité de la solution. Selon [Galasso, 2007], le choix d’un pas de planification long entraîne le gel de décisions lointaines. Cela assure la stabilité des plans, mais les répercussions d’une modification de la demande ne se feront sentir que plus tardivement sur les autres acteurs de la chaîne. Dans [Thierry, 2003], l'auteur indique qu’en théorie la périodicité maximale envisageable correspond à la longueur de l’horizon de planification et qu’il est souvent souhaitable d’augmenter la fréquence de planification pour prendre en compte les aléas le plus tôt possible. Dans l’exemple de la figure III.5, nous décrivons un processus de planification dynamique avec un horizon de planification HP de taille T = 10 périodes et un pas de planification Pa = 2 périodes. Chapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 77 Figure III.5. Processus de planification dynamique [Amrani-Zouggar, 2009] Lorsque la planification est mise en œuvre en horizon glissant, seules les décisions correspondant au début de l’horizon de planification (horizon gelé HG) sont réellement implémentées. Un horizon gelé HG correspondant au délai d’anticipation de la décision considérée. Ces décisions sont dites « gelées » c’est-à-dire qu’elles ne peuvent être remises en cause par les planifications ultérieures. La présence d’un horizon gelé est intéressante pour limiter la nervosité du système en empêchant les modifications tardives qui perturbent les activités [Fontan et al., 2001]. Ainsi, [Galasso, 2007] considère qu’à chaque pas de planification et pour chaque type de décision, nous pouvons décomposer un horizon de planification en deux sous-horizons : un horizon gelé HG tel que : HG = {, +1,…, +DA- 1} et un horizon libre HL sur lequel, les décisions peuvent être remises en cause dans le but de réagir aux fluctuations. Dans la figure III.6, nous reprenons l’exemple précédent (figure III.5) avec un horizon de planification de 10 périodes, un pas de planification Pa de 2 périodes et un délai d’anticipation de la décision égal à 3. Les décisions 4 et 5 prises librement au premier pas de planification sont gelées et reportées sans modifications au deuxième pas de planification. Horizon de planification HP1 (Pa) Horizon de planificationHP0 Temps k=0 Temps k=1  T-1Chapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 78 Figure III.6. Horizon de décision gelé, d’après [Thierry, 2003] Horizon de planification (HP1 ) 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 Temps Planification n°3 Horizon de planification (HP3 ) 2 ème horizon gelé Planification n°2 Temps Planification n°1 1 er horizon gelé Horizon de décision libre Horizon de décision libre Horizon de planification (HP2 ) Temps 3 ème horizon gelé Horizon de décision libre Pa Pa 2 Planification précédente Décisions prises au premier pas de planification Décisions prises au deuxième pas de planification Décisions prises au troisième pas de planificationChapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 79 III.4.3. Procédure de planification Dans le cadre de cette thèse, nous proposons une procédure itérative (figure III.7) sur un horizon de planification HP sur lequel les demandes sont supposées connues. Un pas de planification Pa sépare deux itérations successives. Figure III.7. Approche proposée  Initialiser les données statiques du modèle  Initialiser les données dynamiques du modèle  Initialiser les stocks Mise à jour des paramètres dynamiques du modèle : (demande, capacité des ressources) k = k + 1 K = kmax ? k=1 Début Fin Prise en compte des décisions à l’étape de planification k Résolution sur l’horizon HP k = k.Pa+1..k.Pa+T Oui NonChapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 80 La procédure débute par une initialisation des différentes données statiques et dynamiques du problème ainsi que la définition des stocks initiaux. La première planification (k=1) est effectuée sur la base des données de l’horizon de planification correspondant HP1 (demandes, coûts, capacités) commençant à la période (T=1), avec HP1 = {1, 2, …, T}. On passe ensuite à la deuxième étape de planification (k=2) que l’on effectue sur la base des données actualisées de l’horizon HP2 commençant à la période (T+Pa), avec HP2 = {1+Pa, 2+Pa, …, T+Pa}. La deuxième itération de planification prend en compte les décisions prises à l’étape de planification précédente tels que : les décisions gelées à l’itération k=1sont reportées sans modifications à la deuxième itération de planification. Cette procédure itérative prend fin lorsque nous atteindrons le nombre maximum d’itérations (Kmax), avec : ܭ݉ܽ� = ܶ−ܦܪ ܣܲ +1 où HD est le nombre de périodes sur lesquelles la demande est supposée connue. III.5. Modélisation du processus de planification dynamique Dans ce paragraphe, nous présentons le modèle de planification dynamique développé. En suivant la structure du modèle en deux niveaux, nous commençons par la présentation du premier niveau. Il planifie la production en recherchant le meilleur compromis entre les leviers décisionnels disponibles liés aux aspects capacité et coût de production. Ensuite, nous décrivons le deuxième niveau d’ordonnancement agrégé des opérations de fabrication minimisant les en-cours. Le recours à une structure décisionnelle intégrée nous a conduit à établir une interaction entre les niveaux supérieur et inférieur de décision, mise en œuvre par des contraintes dites de conservation d’énergie. Elle est présentée à la troisième partie de ce paragraphe. III.5.1. Modèle planification de la production : Premier niveau de décision Ce modèle correspond au problème de planification à résoudre à chaque itération de planification ݇, sur l’horizon de planification HPk . Dans ce modèle, la demande est supposée connue sur l’ensemble de l’horizon de planification et est mise à jour à chaque itération de planification. Nous détaillons ci-dessous les paramètres, les variables de décision et les contraintes de ce niveau. Chapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 81 i. PARAMETRES  {p} =1..P: ensemble des produits finis p,  {s} =1..S : ensemble des sites de production de la chaîne logistique,  {Routagep} : séquence des sites de production sur lesquels passe le produit p,  Paramètres temporels  k: numéro d’itération de la planification,  T: nombre de périodes dans l’horizon de planification,  ܪܲ: horizon de planification, avec : ܪܲ = 1, 2, … , ܶ  ܩܪ: horizon gelé associé à chaque type de décision, avec : ܩܪ = 1, 2, … ,ܣܦ où DA est le délai d’anticipation de la décision  Pa (�): pas de planification (nombre de périodes qui sépare deux itérations successives de planification),  HD: nombre de périodes sur lesquelles la demande est supposée connue, avec : HD = (k max – 1) * Pa + T et : k max = nombre maximum d’itérations de planification  LPp, LSp: délais d’obtention du produit fini p lorsqu’il est respectivement fabriqué en interne ou sous-traité.  Paramètres statiques  Ct,s : capacité de production interne pour chaque site de production (nombre d’heures de travail disponibles),  STp,t,s : le volume de production maximal du produit p en sous-traitance en période t sur le site de production s, ݏ�ܽ݉ܪ  : nombre maximal d’heures supplémentaires pour chaque site de production, ݏ,݌ ℎ : durée de fabrication unitaire d’un produit p sur chaque site s, ݏ,݌݅  ∶ coût unitaire de stockage du produitp sur le site s, ݏ,݌�  ∶ coût unitaire de rupture du produit p sur le site s, ݏ,݌�  ∶ coût unitaire de fabrication du produit p sur le site s, ݏ,݌ݏ  : coût unitaire de sous-traitance du produit p sur le site s, Chapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 82 ݏ݁  : coût d’utilisation d’une heure supplémentaire sur un site s.  Paramètres dynamiques (mis à jour à chaque itération de planification k) ݐ,݌ܦ  ݇ : demande globale du produit fini p pour la période t. ii. VARIABLES DE DECISION A L’ITERATION k DE PLANIFICATION ݏ,ݐ,݌�  ݇ : quantité de produits p lancés en production interne en période t sur le site s, ݏ,ݐ,݌ܵ  ݇ : quantité de produits p lancés en sous-traitance interne en période t sur le site s, ݏ,ݐܪ  ݇ ∶ nombre d’heures supplémentaires utilisées en période t sur le site s, ݏ,ݐ,݌ܫ  ݇ ∶ niveaux de stock en fin de période t pour le produit fini p sur le site s, ݏ,ݐ,݌ܩ  ݇ : niveaux de rupture en fin de période t pour le produit fini p sur le site s, ܤ  ݇ ∶ variable binaire = 1 si la contrainte d’activation est vraie en période t, 0 sinon. iii. CONTRAINTES  Contrainte de conservation de stock ݏ,ݐ,݌ܫ ݇ ݏ,ݐ,݌ܩ - ݇ ݏ,1−ݐ,݌ܫ = ݇ ݏ,1−ݐ,݌ܩ - ݇ ݏ,ܲܮ−ݐ,݌� + ݇ ݏ,ܵܮ−ݐ,݌ܵ + ݇ ݐ,݌ܦ - ݇ ݌݁�ܽݐݑ݋ܴ א ݏ∀ ,݌ ∀ ݇ܲܪ א ݐ ∀, 1  Contrainte de limitation de la capacité ݏ,݌ℎ ܲ 1=݌ ݏ,ݐ,݌� ∗ ݏ,ݐܪ + ݏ,ݐܥ ൑ ݇ ݇ ݌݁�ܽݐݑ݋ܴ א ݏ ∀ ,݌∀ ݇ܲܪ א ݐ ∀, (2)  Contrainte de respect du volume de production maximal du sous-traitant ݏ,ݐ,݌ܵ ݏ,ݐ,݌ܶܵ ൑ ݇ ݌݁�ܽݐݑ݋ܴ א ݏ ∀ ,݌ ∀ ݇ܲܪ א ݐ ∀, (3)  Contrainte de respect du nombre d’heures supplémentaires maximal alloué par période ݏ,ݐܪ ݏ�ܽ݉ܪ ൑ ݇ ݇ܲܪ א ݐ ∀ ,ݏ ∀ (4)Chapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 83  Contrainte d’activation (désactivation) de l’action de sous-traitance ݐ,݌ܦ ∗ ݏ,݌ℎ ݇ ܲ 1=݌ ݏ,ݐܥ < ݏ,ݐܪ + ݇ ݏ,ܵܮ−ݐ,݌ܵ ⇒ ݇ ݇ܲܪ א ݐ∀ ,ܲ݁�ܽݐݑ݋ܴ א ݏ ∀ 0 < ݇ 5  Relations de passage entre deux itérations de planification k et k+1 ݏ,ݐ,݌� ݏ,ܽܲ+ݐ,݌� = 1+݇ ݇ ݇ܩܪ א ݐ ∀,ܲ݁�ܽݐݑ݋ܴ א ݏ ∀ ,݌ ∀ 6 ݏ,ݐ,݌ܵ ݏ,ܽܲ+ݐ,݌ܵ = 1+݇ ݇ ݇ܩܪ א ݐ ∀,ܲ݁�ܽݐݑ݋ܴ א ݏ∀ ,݌ ∀ 7 ݏ,ݐܪ ݏ,ܽܲ+ݐܪ = 1+݇ ݇ ݇ܩܪ א ݐ ∀,ܲ݁�ܽݐݑ݋ܴ א ݏ ∀ 8  Fonction objectif ݏ,ݐ,݌ܫ ∗ ݏ,݌݅ min ݇ ݆ ݌ ݁�ܽݐݑ݋ܴאݏ ݏ,݌� + ݏ,ݐ,݌ܩ ∗ ݏ,ݐ,݌� ∗ ݏ,݌� + ݇ ݇ ݏ,ݐ,݌ܵ ∗ ݏ,݌ݏ + ݐ,ݏܪ ∗ ݏ݁ + ݇ ݇ ܲ 1=݌ ܶ−1 0=ݐ ∀ ݇ 9 La contrainte (1) garantit la conservation de la matière : le stock au début de la période t ݏ,ݐ,݌ܫ ݇ moins le stock en rupture à la fin de la période t ݌ܩ,ݐ,ݏ ݇ est égal au stock au début de la période t – 1 ݌ܫ,ݐ−1,ݏ ݇ moins le stock en rupture à la fin de la période t – 1 ݌ܩ,ݐ−1,ݏ ݇ plus les quantités de produits p lancés en période (t – LP) �݌,ݐ−ܮܲ,ݏ ݇ plus les quantités de produits p sous-traités en période (t – LS) ܵ݌,ݐ−ܮܵ,ݏ ݇ sur le site s moins la demande en produit p sur la période t. La contrainte (2) permet de vérifier que, dans chaque période de l’horizon de planification ܪܲ et pour chaque site de production s, la capacité de production interne augmentée des heures supplémentaires est compatible avec la charge globale de production que doit assurer le site. La contrainte (3) assure le respect du volume de production maximal du sous-traitant. La contrainte (4) exprime le fait qu’à chaque période t, le volume d’heures supplémentaires utilisées ne doit pas dépasser la valeur maximale autorisée sur chaque site de production. Chapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 84 La contrainte (5) est une contrainte conditionnelle. Elle permet l’activation ou la désactivation de l’action de sous-traitance. En effet, si le nombre d’heures de travail nécessaire pour la réalisation de la demande en produits p dans la période t sur chaque site de production est supérieur à la capacité du site de production augmentée du nombre d’heures supplémentaires allouées, alors on a recours à la sous-traitance. Dans le détail, on a :  prémisse : le nombre d’heures de travail nécessaire pour la réalisation de la demande en produits p dans la période t est supérieur (respectivement inférieur) à la capacité (au sens large) du site de production  conséquent d’activation (respectivement désactivation) de l’action de soustraitance : ܵ݌,ݐ,ݏ ݏ,ݐ,݌ܵ 0 (respectivement < ݇ ݇ = 0). ݐ,݌ܦ ∗ ݏ,݌ℎ ݇ ܲ 1=݌ ݏ,ݐܥ < ݏ,ݐܪ + ݇ 1 = ݇ܤ ⇔ ݇ ܵ > 0 ⇔ ܤ݇ = 1 Les contraintes (6) à (8) formalisent la cohérence des décisions entre deux itérations de planification successives (k) et (k+1) et ce, pour toutes les décisions (production en interne, sous-traitance et allocation d’heures supplémentaires). Elles expriment l’égalité entre les valeurs engagées en anticipation et les valeurs qui seront mises en œuvre à la réalisation La fonction objectif (9) minimise la somme de tous les coûts sur tous les sites de production et sur toutes les périodes de l’horizon de planification ܪܲ. III.5.2. Modèle ordonnancement agrégé : Deuxième niveau de décision Le niveau inférieur établit un ordonnancement sur un horizon détaillé plus court que l’horizon de planification. Nous détaillons ci-dessous les paramètres, les variables de décision et les contraintes de ce niveau. i. PARAMETRES  {݌} =1..P : ensemble des produits finis p,  {ݏ} =1..S : ensemble des sites de production de la chaîne logistique,Chapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 85 ݌݁�ܽݐݑ݋ܴ}  }: liste ordonnée des sites de production sur lesquels passe le produit p,  TD : nombre de périodes dans l’horizon d’ordonnancement agrégé (TD < T), ܱ݇ܪ  : horizon d’ordonnancement agrégé à l’itération k {0..TD - 1},  K : nombre de périodes élémentaires dans une période, ݏܯ  : nombre maximal de machines pouvant être utilisées pour chaque site. ii. VARIABLES DE DECISION A L’ITERATION k POUR UNE PERIODE t, UN PRODUIT p ET UN SITE s ݏ,ݐ,݌ܾ݁ܦ  ݇ : date de début de l’opération de fabrication du produit p sur le site s en période t, ݏ,ݐ,݌݊݅ܨ  ݇ : date de fin de l’opération de fabrication du produit p sur le site sen période t, ݏ,ݐ,݌ܧ  ݇ : quantité consommée, par unité de ressource, pour la fabrication du produit p sur le site s, ݏ,ݐ,݌ܴ  ݇ : intensité de consommation de ressource de production ; correspond au nombre de machines allouées à la fabrication du produit p sur le site s, ݏ,ݐ,݌ܮ  ݇ : durée de fabrication du produit p sur le site s à la période t ; c’est une variable dépendante du nombre de machines allouées ܴ݌,ݐ,ݏ ݇ . iii. CONTRAINTES  Contrainte de consommation de ressources ݏ,ݐ,݌ܧ ݏ,ݐ,݌ܮ = ݇ ݇ ݏ,ݐ,݌ܴ ∗ ݇ ܱ݇ܪ א ݐ ∀ ,ܲ݁�ܽݐݑ݋ܴ א ݏ ∀ ,݌∀ (10)  Contraintes de limitation des capacités des sites ݏ,ݐ,݌ܴ ܲ ݇ ݏܯ ൑ 1=݌ ܱ݇ܪ א ݐ ∀ , ݌݁�ܽݐݑ݋ܴ ݏ݁ݐ݅ݏ א ݏ ∀ ,݌ ∀ (11) ݏ,ݐ,݌݊݅ܨ ܱ݇ܪ א ݐ ∀ ,( ݌݁�ܽݐݑ݋ܴ)ݏ݁ݐ݅ݏ א ݏ ∀ ,݌ ∀ ܭ ൑ ݇ (12)  Contraintes de précédence ݏ,ݐ,݌ܾ݁ܦ ′ ݏ,ݐ,݌ܾ݁ܦ ൒ ݇ ݏ,ݐ,݌ܮ + ݇ ݇ ݏ ,ݏ ∀ ,݌ ∀ ′ ܲ݁�ܽݐݑ݋ܴ ݏܿݎܽ א ܱ݇ܪ ݐ ∀ , (13) Chapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 86 Fonction objectif ݏ,ݐ,݌݊݅ܨ ) ݏmin⁡(max ݇ ) ݏݐ݅ݑ݀݋ݎܾܲܰ ݌=1 ∀ ݇ (14) La contrainte (10) exprime la relation existant entre la variation de la durée de fabrication du produit p sur le site s à la période t ݌ܮ,ݐ,ݏ ݇ en fonction du nombre de machines allouées ݏ,ݐ,݌ܴ pour sa réalisation ݇ . La contrainte (11) permet de vérifier qu’à chaque site de production s et à tout instant, le nombre total des machines utilisées par un ensemble d’opérations en cours d’exécution en période t ne dépasse pas une certaine capacité limite ݏܯ ݇ . La contrainte (12) permet de vérifier que toutes les opérations de fabrication en période t sont achevées au cours de la même période t de planification. La contrainte (13) impose un ordre entre deux opérations successives au sein d'une même gamme de fabrication pour chaque produit p. La fonction objectif (14) cherche à minimiser les en-cours. III.5.3. Interaction énergétique entre les deux niveaux de décision Le recours à une structure décisionnelle intégrée nous a conduit à établir une interaction entre les niveaux supérieur (planification) et inférieur (ordonnancement agrégé). En s’appuyant sur un horizon discrétisé en périodes, le premier niveau de décision (planification) transmet au niveau inférieur (ordonnancement agrégé), à chaque période t, les quantités ݏ,ݐ,݌�) ݇ ) à traiter sur chaque site s. Ces variables sont soumises à des contraintes de conservation d’énergie (équation 15), qui doivent être satisfaites par ce niveau inférieur de décision. ݏ,ݐ,݌ܧ ݏ,ݐ,݌ܮ = ݇ ݇ ݏ,ݐ,݌ܴ * ݏ,ݐ,݌� = ݇ ݇ ݏ,݌ℎ * ܱ݇ܪ א ݐ ∀ ,ܲ݁�ܽݐݑ݋ܴ א ݏ ∀ ,݌ ∀ (15) Il s’agit de gérer la production des sites de manière à suivre du mieux possible le plan généré par le niveau planification [Trojet et al., 2012]. Chapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 87 En effet, la contrainte (15) exprime l’égalité entre [la consommation de ressource] et [le travail correspondant à la quantité à lancer en période t]. Plus précisément, elle lie [la durée de fabrication du produit p ݌ܮ,ݐ,ݏ ݇ sur le site de production s et le nombre de ressources ݏ,ݐ,݌ܴ utilisées ݇ ] à la [quantité à lancer en fabrication du produit p sur le site s à la période t ݏ,ݐ,݌� ݇ , et à la durée opératoire nécessaire pour la fabrication d’une unité du produit p .[ ݏ,݌ℎ Dans l’exemple de la figure III.8, si nous considérons que Xp,2,s, décision générée par le premier niveau de décision, est la quantité à lancer en fabrication du produit p sur un site de production s à la deuxième période de l’horizon de planification HP, et que hp,s est la durée opératoire unitaire de fabrication du produit p sur un site s, alors la demande totale en énergie (consommation) Ep,2,s d’un produit p sur le site s, à la deuxième période de l’horizon de planification, est égale au produit de Xp,2,s et de hp,s. Cette demande en énergie est transmise au deuxième niveau de décision. Sa faisabilité est vérifiée par son égalité au produit du nombre de ressources (machines) affectées sur le site s pour la réalisation du produit p (Rp,2,s) par la durée totale de fabrication du produit p sur le site s (Lp,2,s). La flèche en pointillés indique le changement de la valeur de Xp,2,s en cas de non faisabilité. Cette interaction est réalisée au sein de la deuxième période de l’horizon de planification. Chapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 88 Figure III.8. Interaction énergétique entre les deux niveaux de décision III.6. Conclusion Dans ce chapitre, nous avons présenté la structure de la chaîne logistique adoptée dans le cadre de cette thèse. Cette chaîne est limitée à trois types d'acteurs : une entreprise composée de plusieurs sites de productions, un ensemble de clients et des sous-traitants. Ensuite, nous avons introduit deux délais qui caractérisent chaque type de décision à savoir les délais d’anticipation et les délais d’obtention et nous avons proposé et détaillé le principe d’un processus dynamique de planification qui intègre les différentes hypothèses et caractéristiques décisionnelles. Deuxième niveau de décision (Ordonnancement) T Xp,2,s Premier niveau de décision (Planification) (Ep,2,s) Avec, Ep,2,s = Xp,2,s * hp,s= Rp,2,s * Lp,2,s Interaction énergétique entre les deux niveaux de décision Rp,2,s Lp,2,s Opération de fabrication Date de début de l’opérationChapitre III. Approche hiérarchisée pour la planification dynamique : Concepts et modèle 89 Sur cette base, nous avons présenté l’approche de planification dynamique de la chaîne logistique étudiée. Cette approche est fondée sur une structure décisionnelle à deux niveaux. Le premier niveau, tactique, se base sur un horizon de planification à moyen terme. Il permet de générer des décisions relatives à la production (quantités de produits à traiter, quantités à sous-traiter, ajustement de la capacité) à partir de demandes prévisionnelles et à moindre coût. Ces décisions sont intégrées, sous la forme de contraintes dites de conservation d’énergie, qui assurent l'interaction avec le niveau inférieur. Ce dernier ordonnance de façon agrégée les opérations de fabrication en respectant au mieux ces contraintes en localisant leur début et leur fin au cours d'une période de planification. L’interaction énergétique assure la transmission de données entre les deux niveaux. Le chapitre suivant présente la démarche méthodologique pour analyser la performance de cette approche intégrée pour la planification dynamique. Chapitre IV. Analyse de performance : Démarche méthodologique 90Chapitre IV. Analyse de performance : Démarche méthodologique 91 CHAPITRE IV. ANALYSE DE PERFORMANCE : DEMARCHE METHODOLOGIQUEChapitre IV. Analyse de performance : Démarche méthodologique 92 IV.1. Introduction Ce chapitre porte sur la méthodologie développée pour analyser la performance du modèle de planification dynamique d’une chaîne logistique. Dans cette démarche, nous associons à chaque itération de planification k un CSP (P k ) correspondant au problème de planification à résoudre. Le problème (P k+1) constitue une actualisation du problème (P k ) par l’ajout ou le retrait de certaines contraintes issues de perturbations internes ou externes (figure IV.1). Nous considérons trois types de perturbations : variation de la demande, variation de la capacité et re-planification de la demande. Figure IV.1.Schéma d’actualisation d’un problème de planification Pour une actualisation donnée CSP (P k+1), nous appliquons, séparément, deux méthodes de résolution différentes : une méthode de résolution statique et une méthode de résolution dynamique. Une solution constitue un plan de planification – ordonnancement agrégé. La performance d’une solution est renseignée par l’ensemble des mesures de la stabilité et de la robustesse aux niveaux sites et au niveau de la chaîne logistique. Dans la première partie de ce chapitre, nous exposons les objectifs de l’analyse et l’approche comparative. Nous présentons ensuite les techniques de résolution et les indicateurs de performance formalisés. P 1 k = 1 Données initiales du problème P 2 k = 2 Données actualisées du problème P n k = n Données actualisées du problème k : itération de planification P k : CSP à l’itération de planification k …Chapitre IV. Analyse de performance : Démarche méthodologique 93 IV.2. Objectifs et Démarche IV.2.1. Objectifs de l’analyse : Mesurer la stabilité et la robustesse La performance d’une chaîne logistique est évaluée par l’ensemble des mesures de satisfaction des objectifs que se fixent les entreprises partenaires. Dans notre travail, les résultats numériques obtenus par différentes simulations sont comparés sur la base d’indicateurs de performance localement au niveau « Site ». Par la suite, ils sont déduits globalement au niveau « Chaîne logistique ». Ces mesures portent sur la quantification de la réorganisation induite par la modification d’un programme de production. Une solution est alors évaluée par la comparaison entre :  les décisions engagées, correspondantes au déroulement réel et prévu des activités de transformation du flux physique, et  les décisions du plan modifié, visant à réorganiser et à mettre à jour ces mêmes activités suite à un aléa. Pour une solution donnée, les résultats traduisent l’étendue du changement tant sur les décisions de planification (quantités à produire) que sur les décisions d’ordonnancement agrégé (dates de début des opérations). Ces résultats sont à la base du référentiel de mesure de performances utilisé dans la suite de ce chapitre pour évaluer la stabilité et la robustesse d’une solution, notions que nous définissons ci-dessous.  Définition de la Robustesse La littérature scientifique nous permet de distinguer plusieurs définitions de la notion de « robustesse » issues de plusieurs disciplines. Toutefois, les différentes définitions présentent un élément commun en associant généralement la notion de « robustesse » à celle d’incertitude, de risque et de prise de décision [Kleijnen, 2003]. Dans le domaine des statistiques, la robustesse est définie comme « une insensibilité à toutes déviations par rapport aux hypothèses » [Huber, 1981]. En recherche opérationnelle, et selon la même vision, Bertsimas et Sim définissent une résolution robuste comme étant une approche insensible aux incertitudes sur les données du problème. Cette approche permet de générer une solution ayant une performance proche de celle de la solution optimale malgré les variations des valeurs des données incertaines [Bertsimas et Sim, 2004]. En gestion de Chapitre IV. Analyse de performance : Démarche méthodologique 94 production, Zapfel [Zapfel, 1998] et Roy [Roy, 1998] utilisent une autre définition : « un plan tactique est robuste s’il permet de trouver un plan réalisable au problème de planification opérationnelle pour toutes les réalisations possibles de la demande ». Dans le même cadre, et dans le contexte d’approches hiérarchisées, Mercé et Fontan indiquent que « une décision agrégée est dite robuste si elle assure l’existence d’au moins une décision détaillée » [Mercé et Fontan, 2001], [Fontan et al., 2005]. Parmi les différentes définitions, celle de Taguchi nous semble la plus adaptée à notre problématique: « Un système est dit robuste s’il permet d’obtenir une faible dispersion des performances cibles malgré les variations des paramètres non contrôlables ». Les paramètres non contrôlables sont considérés comme les sources de variations dans un problème de décision [Taguchi, 1987]. Dans cette même optique, Génin s’est appuyé sur la définition de Taguchi pour définir la robustesse d’un plan de production. Il propose la définition suivante : « nous qualifions un plan de robuste si et seulement s’il fournit une faible dispersion de ses caractéristiques malgré les fluctuations perturbatrices des facteurs non contrôlables » [Génin, 2003]. Dans notre travail, la robustesse est approchée sous l’angle de l’aptitude d’une solution de planification/ordonnancement à assurer un niveau minimal de dispersion du programme de production initial face aux variations de certaines données (demande, capacité, etc.). Cette notion est employée pour quantifier la dispersion des valeurs modifiées par la variation d’une donnée, révélant ainsi la plus ou moins grande aptitude d’une solution à assurer la performance de robustesse.  Définition de la Stabilité [Durieux et Pierreval, 2003] indiquent que« le terme stabilité est généralement mis en opposition à celui de nervosité ».Stabilité et nervosité de la planification sont souvent traitées dans la littérature au niveau du calcul des besoins (MRP) [Yano et Carlson, 1987], [Ho, 1989], [Sridharan et Laforge, 1990], [Jensen, 1993], [Hei, 1998]. Calculer un programme directeur de production (PDP) revient à mettre en place un horizon glissant, ce qui implique de le recalculer avec une périodicité ∆ݐ ; par conséquent, ce type de pratique induit des variations dans les quantités de production résultantes. Selon [Herrera et Thomas, 2010], la stabilité (nervosité) d’un PDP est alors relative aux différences entre les quantités planifiées recalculées à chaque itération du processus. Celui-ci sera stable si celles-là sont peu Chapitre IV. Analyse de performance : Démarche méthodologique 95 importantes et instable dans le cas contraire. Pour [Vollman et al., 1997], « la nervosité est communément définie comme des changements significatifs dans les plans MRP, qui ont lieu même en cas de changement minime du niveau supérieur ou du PDP. Les changements concernent les quantités ou les périodes des ordres planifiés ». Il ressort que lorsque nous nous intéressons à la stabilité d’un système, nous cherchons à ne pas remettre en cause très souvent les décisions que nous aurions prises. Dans notre travail, nous aborderons la notion de stabilité en tant qu’aptitude d’une solution de planification/ordonnancement à assurer un certain niveau de continuité du programme de production initial face aux variations de certaines données (demande, capacité, etc.). Cette notion est employée pour compter le nombre de variables modifiées par une variation d’une donnée, révélant ainsi la plus ou moins grande aptitude d’une solution à assurer la performance de stabilité. IV.2.2. Approche comparative : CSP statique vs CSP dynamique L’analyse que nous avons menée vise à mettre en exergue les avantages et inconvénients incombant à chaque type de résolution (CSP statique et CSP dynamique) pour faire face à des variabilités types elles-mêmes simulées. Plus précisément, il s’agit d’étudier le comportement global de chaque résolution sous l’angle de la stabilité et la robustesse face à trois types de variations :  Variation de la demande client  Variation de la capacité de production  Variation de re-planification Basée sur un cas d’étude, l’approche comparative a porté sur les résultats aux niveaux « Planification » et « Ordonnancement agrégé », ainsi qu’aux niveaux « Site » et « Chaîne logistique ». Dans tous les cas, ces mesures comparatives sont calculées sur un même horizon. IV.3. Procédures de résolution : CSP Statique et CSP Dynamique Nous associons à chaque itération de planification (k) et sur un horizon de planification HP, un CSP P k . La résolution de chaque itération (k) est séparée de la résolution du CSP relatif à l’itération de planification (k-1). Les expérimentations sont effectuées à l’aide du Chapitre IV. Analyse de performance : Démarche méthodologique 96 logiciel ECLi PSe 6.0 qui est une extension du langage Prolog incluant des bibliothèques de programmation par contraintes. Dans ce cadre, deux méthodes de résolution sont employées. Nous décrivons dans les paragraphes suivants, la méthode de résolution CSP statique et la méthode de résolution CSP dynamique. IV.3.1. Procédure de résolution CSP statique Le problème étudié est un problème d’optimisation où l’objectif est donc de déterminer une solution associée à la minimisation d’une fonction objectif. Pour cela, nous utilisons une procédure de type séparation et évaluation (branch-and-bound). Cette méthode est basée sur une recherche arborescente d’une solution optimale dans un ensemble combinatoire de solutions possibles. Elle implique trois éléments principaux [Lalami, 2012] :  la séparation (branch) consiste à diviser un ensemble de solutions en sousensembles plus petits ;  l’évaluation (bound) permet d’évaluer les solutions d’un sous-ensemble de façon optimiste en majorant la valeur de la meilleure solution de ce sous-ensemble, ce qui permet d’éliminer de l’espace de recherche les sous-ensembles de solutions qui ne peuvent pas fournir une solution optimale ;  la stratégie de parcours permet de choisir le prochain sommet à séparer parmi l’ensemble des sommets de l’arborescence. La bibliothèque branch-and-bound d’ECLi PSe 6.0 fournit des prédicats génériques qui implémentent cette procédure et offre différentes stratégies de recherche :  Continue : après avoir trouvé une solution, continuer la recherche avec la nouvelle borne imposée sur le coût.  Restart : après avoir trouvé une solution, recommencer la recherche avec la nouvelle borne imposée sur le coût.  Dichotomic : après avoir trouvé une solution, diviser l’espace de recherche en deux et recommencer la recherche pour trouver une solution dans la partie inférieure ; si cela échoue, revenir à la partie supérieure et diviser de nouveau. Chapitre IV. Analyse de performance : Démarche méthodologique 97 Nous adoptons une stratégie de recherche du type Continue6 . Etant donné que le problème considéré est à deux niveaux de décision (planification et ordonnancement agrégé), deux critères d’optimisation différents (C1 et C2) sont considérés. Ainsi, à partir d’une solution qui optimise le premier critère C1 (minimisation du coût total de production) au niveau planification7 , nous recherchons une solution qui optimise le deuxième critère C2 (minimisation des en-cours) au niveau ordonnancement agrégé. Pour notre problème de planification, il s’agit de minimiser, respectivement, le coût au premier niveau de décision et les en-cours au deuxième niveau de décision. La bibliothèque ic d’ECLi PSe 6.0 fournit également des prédicats génériques pour la recherche de solutions et offre différentes méthodes de recherche qui peuvent être classifiées en des méthodes de recherche complètes et des méthodes de recherche incomplètes. Les solutions fournies dans le cadre de ce travail et pour toutes les expérimentations réalisées ont été générées à partir d’une méthode de recherche incomplète dite Credit search. Cette méthode explore le haut de l’arbre de la recherche complètement. Initialement, un montant donné de crédit est fixé. A chaque nœud de l’arbre, la première alternative obtient la moitié du crédit disponible, la seconde alternative aura le crédit restant et ainsi de suite. Lorsque le crédit est épuisé, on passe à une deuxième méthode de recherche : Bounded backtracking search avec un nombre de backtracks égal à 5. La variable est choisie selon l’heuristique Most_constrained (choix de la variable associée au plus petit ratio taille de domaine/nombre de contraintes dans lesquelles elle est impliquée). Concernant le choix des valeurs, nous faisons appel à la primitive indomain_split. Au premier appel, l’heuristique fixe la variable à la plus petite valeur dans son domaine. En cas de retourarrière, elle essaie la valeur qui suit dans le domaine, etc. D’autres heuristiques et d’autres méthodes de recherche peuvent être sélectionnées et programmées. 6 Formellement, la fonction optimisation est exprimée en ECLi PSe 6.0 par le prédicat suivant : bb_min(+Goal,?Cost,?Options). bb-min donne une seule solution de Goal qui minimise Cost avec une stratégie de recherche Continue comme Options. 7A titre d’exemple, pour le niveau planification, le prédicat suivant a été employé :bb_min(search(L1,0,most_constrained,indomain_split,credit(100,bbs(5)),[]),Cost_Total,bb_options{strat egy:continue}), avec : search(L1,0,most_constrained,indomain_split,credit(100,bbs(5)),[]), le Goal et Cost_Total le Cost.Chapitre IV. Analyse de performance : Démarche méthodologique 98 IV.3.2. Procédure de résolution CSP dynamique Dans cette partie, nous décrivons la procédure de résolution dynamique. Dans ce cadre, nous adoptons l’approche par réutilisation de solution, décrite dans le deuxième chapitre de cette thèse, pour la résolution des DCSP. Ainsi, la résolution d’un CSP (P k ) ne part pas de zéro mais de la solution relative au CSP (P k-1). Pour cela, nous utilisons les techniques de réparation et en particulier la technique de recherche locale dont le principe de base est le suivant :  Trouver une instanciation initiale pour toutes les variables du problème (leur donner des valeurs tentatives) ;  Trouver une contrainte en conflit (i.e. une contrainte qui ne satisfait pas les valeurs tentatives de ces variables), et instancier une variable de cette contrainte à sa nouvelle valeur (i.e. changer sa valeur tentative) ;  Instancier les variables restantes à leurs valeurs tentatives, lorsqu’il n’y a plus de contraintes en conflit. Dans notre travail, l’instanciation initiale des variables d’un problème (P k ) n’est autre que la solution du problème relative à l’itération de planification précédente (P k-1). Aussi, les contraintes d’un problème (P k ) ne sont pas toutes mises en conflit. Si nous considérons que Ck est l’ensemble des contraintes et Cconf l’ensemble des contraintes en conflit, alors : Cconf Ck. La bibliothèque Repair d’ECLi PSe 6.0 fournit des prédicats génériques qui implémentent la technique de recherche locale :  tent_set, pour instancier une variable à sa valeur tentative ;  conflict_constraint et term_variables retournent respectivement l’ensemble des contraintes qui sont en conflit et l’ensemble des variables de la contrainte en conflit ;  set_to_tent, permet d’instancier les variables qui n’appartiennent pas à des contraintes en conflit à leur valeur tentative. Chapitre IV. Analyse de performance : Démarche méthodologique 99 Etant donné que notre problème est un problème d’optimisation, nous combinons les techniques de recherche locale et les techniques de séparation et évaluation pour la recherche de la solution optimale. Le code suit le schéma de la figure IV.2. Figure IV.2. Algorithme de réparation Ainsi, nous avons mis en œuvre cette procédure qui est basée sur deux grandes étapes :  Instanciation de toutes les variables du problème à leur valeur tentative (set_tentative(X, K, G, S, Hsup)). Par exemple : la variable X est instanciée à sa valeur solve(Vars, Vars1) :- Vars = [X, K, G, Hsup, S], % variables du problème … set_tentative(X, K, G, Hsup, S), … bb_min(repair_ic(L1), Cost_Total, bb_options{strategy : continue}). set_tentative(X, K, G, Hsup, S):- X tent_set Tx, … S tent_set Ts. repair_ic(L1): - conflict_constraints(cr, List), (List = [ ] -> set_to_tent(L1), ; List = [Constraint|_] -> term_variables(Constraint, Vars), move(Vars), repair_ic(L1) ). move([Var1|Vars]):- get_max(Var1,Vmax), Var1 tent_get Value, (Value NewValue is (Value+1), Var1 tent_set NewValue ; move(Vars) ).Chapitre IV. Analyse de performance : Démarche méthodologique 100 tentative Tx (X tent_set Tx), la variable S est instanciée à sa valeur tentative Ts (S tent_set Ts), …  Recherche de solution à travers les techniques de réparation (repair_ic(Vars)). La recherche de solution (repair_ic(Vars)) est basée sur les étapes suivantes :  Pour cette instanciation initiale, on cherche, parmi les contraintes qui appartiennent à la liste cr, celles qui sont en conflit (contraintes non satisfaites). Pour ce faire, on utilise le prédicat : r_conflict cr. Il est à noter que cr est la liste des contraintes choisies pour la réparation (cr est un nom attribué à la liste).  Vérifier si la liste cr est vide (aucune contrainte de la liste n’est violée) ou non. Deux cas se présentent : a. Si oui (aucune contrainte en conflit), les variables seront affectées à leurs valeurs tentatives. Pour cela, le prédicat set_to_tent(Vars) est employé ; b. Sinon (la liste cr n’est pas vide, des contraintes en conflit existent) i. une contrainte de la liste cr sera choisie. Pour cela, le prédicat (List = [Constraint|_]) est employé ; ii. toutes les variables de la contrainte en conflit qui a été sélectionnée sont regroupées dans la liste Vars avec le prédicat term_variables(Constraint, Vars). Une variable (Var1) de la liste Vars sera modifiée (move(Vars)).Elle sera affectée à sa nouvelle valeur (Var1 tent_set NewValue). La nouvelle valeur est égale à l’ancienne valeur additionnée à 1 (NewValue is (Value+1)). Cette démarche s’arrête lorsque la contrainte sera satisfaite ou que la variable sera affectée à la limite supérieure de son domaine de définition.  La même procédure se répète jusqu’à l’obtention d’une solution ou d’un échec. Contrairement à la résolution CSP Statique qui aborde la recherche sans aucun point de départ défini, cette procédure de résolution CSP dynamique commence la recherche à partir d’une solution initiale tentative et relative au CSP (P k-1).Chapitre IV. Analyse de performance : Démarche méthodologique 101 IV.4. Indicateurs de performance IV.4.1. Protocole d’évaluation de la performance La démarche générale est basée sur l’évaluation de la performance suite à deux itérations successives telles que : la première itération (k) correspond au problème initial et la deuxième itération (k+1) correspond au même problème avec prise en compte d’aléas. La solution initiale (relative au problème initial) que nous notons par α k est obtenue par la méthode de résolution statique. La nouvelle solution (relative au problème avec prise en compte d’aléas) que nous notons par α k+1 est obtenue, distinctement et à des fins de comparaison, suivant les deux approches de résolution statique et dynamique. L’approche comparative est menée en considérant différents types d’aléas exprimés sous forme de variation de la demande, de la capacité et de re-planification. Pour chaque type de variation, nous simulons différents taux (20% de modifications, 40% de modifications, …). Pour évaluer l’étendue de la perturbation possible sur les activités de production, nous comparons les deux nouvelles solutions obtenues, distinctement par résolution statique et par résolution dynamique, par rapport à la solution initiale. Ainsi, nous introduisons les deux types d’indicateurs P N et P E : - P N correspond à la distance de perturbation et permet de mesurer la stabilité de la solution ; - P E correspond au poids de perturbation et permet de mesurer la robustesse de la solution. Ces deux indicateurs sont évalués au niveau planification et au niveau ordonnancement agrégé, ainsi qu’au niveau site de production et au niveau global de la chaîne logistique. IV.4.2. Notions de Distance et de Poids de Perturbation Pour rappel, un DCSP Θ est une suite P 0 , P 1 , … de CSP classiques, tels que deux problèmes successifs P k et P k+1 ne diffèrent que par l’ajout ou le retrait de certaines contraintes. Chapitre IV. Analyse de performance : Démarche méthodologique 102 Soit α k une solution à P k et α k+1une solution à P k+1 . Nous définissons � 1 comme l’ensemble de variables v tel que : l’instanciation h de v dans α k est différente de l’instanciation h’ de v dans α k+1 : � 1 ߙ ݇ ߙ , ′ℎ ≠ ℎ ݇ߙ א ′ℎ ݒ ݇ߙ א ℎ ݒ � א ݒ = 1+݇ Ainsi, la première fonction P N est définie par le cardinal de l’ensemble. Elle correspond à la distance de perturbation, connue dans la littérature mathématique comme la distance de Hamming : P N (α k+1 , α k ) = | � 1 ߙ ݇ ߙ , ݇+1 | 2 Nous définissons �ݒ 2 comme la différence numérique entre l’instanciation de v dans ߙ ݇ et l’instanciation de v dans ߙ ݇+1 : ݒ� 2 ߙ ݇ ߙ , ݇+1 = ℎ ݇ߙ א ℎ ݒ ∀ ℎ − ′ 1+݇ߙ א ′ℎ ݒ , 3 Ainsi, la deuxième fonction P E est définie comme la somme des valeurs absolues �ݒ 2 . Elle correspond au poids de perturbation : ܲ ܧ ߙ ݇ ߙ , ݒ� = 1+݇ 2 4 ݒ Etant donné que notre approche intégrée comporte deux niveaux, le plan de production est caractérisé par : - Des variables relatives à la planification des produits (premier niveau) comme le volume de production interne, le volume de production sous-traitée, les stocks, les arriérés, etc. - Des variables relatives à l’ordonnancement agrégé (deuxième niveau) comme les dates de début, le nombre de ressources nécessaires, les durées de fabrication des différents produits. Les indicateurs de performance que nous employons dans notre travail relèvent des deux niveaux énumérés ci-dessus et en particulier les volumes de production pour le niveau de planification et les dates de début des opérations pour le niveau d’ordonnancement agrégé. Chapitre IV. Analyse de performance : Démarche méthodologique 103 IV.4.3. Indicateurs de performance au niveau Site de production La gestion d’une chaîne logistique nécessite la disposition d’informations sur l’état courant des différents sites de production. Ainsi, la définition d’une solution de planification/ordonnancement retenue pour la chaîne logistique, et son évaluation sur le niveau local des sites de production constitue un moyen d’assurer un certain niveau de stabilité et de robustesse. IV.4.3.1. Stabilité et robustesse de la planification  Stabilité : Distance moyenne de perturbation Pour le premier niveau de décision correspondant à la planification, la distance moyenne de perturbation ܲܵ ܰ pour un site donné est calculée pour les variables �݌,ݐ,ݏ correspondant aux quantités des produits p lancés en production interne sur les différentes périodes t sur le site s. Elle est définie par la formule suivante : ܲܵ ߙ)ܰ ݇ ߙ , ݇+1) = |� 1 ߙ ݇ ߙ, ݇+1 | ܶ ∗ ݏܲ 5 avec : � 1 ߙ ݇ ߙ , ݇ߙ א ℎ/ݏ,ݐ,݌� | � א ݏݐ,݌� = 1+݇ ℎ/ݏ,ݐ,݌� & ′ א ߙ݇+1& ℎ ≠ ℎ′ ݏܲ ݏ ݁ݐ݅ݏ ݈݁ ݐ݊ܽݏݎ݁ݒܽݎݐ ݏݐ݅ݑ݀݋ݎ݌ ݁݀ ݁ݎܾ݉݋݊ ∶ ݏ݁݀݋݅ݎé݌ ݁݀ ݁ݎܾ݉݋݊ ∶ ܶ  Robustesse : Poids moyen de perturbation Pour ce même niveau de planification, le poids moyen de perturbation ܲܵ ܧ pour un site donné est calculé pour les variables �݌,ݐ,ݏ . Il est défini par la formule suivante : ܲܵ ܧ ߙ ݇ ߙ , ݇+1 = ݒ�| 2 ݒ | 6 ܶ ∗ ݏܲ avec : ݒ� 2 ߙ ݇ ߙ , ݇+1 = ℎ ݇ߙ א ℎ/ݏ,ݐ,݌� ∀ ℎ − ′ 1+݇ߙ א ′ℎ/ݏ,ݐ,݌� , ݏܲ ݏ ݁ݐ݅ݏ ݈݁ ݐ݊ܽݏݎ݁ݒܽݎݐ ݏݐ݅ݑ݀݋ݎ݌ ݁݀ ݁ݎܾ݉݋݊ ∶Chapitre IV. Analyse de performance : Démarche méthodologique 104 ݏ݁݀݋݅ݎé݌ ݁݀ ݁ݎܾ݉݋݊ ∶ ܶ IV.4.3.2. Stabilité et robustesse d’ordonnancement  Stabilité : Distance moyenne de perturbation Pour le deuxième niveau de décision correspondant à l’ordonnancement agrégé, la distance moyenne de perturbation ܲܵ ܰ pour un site donné est calculée pour les variables ܦܾ݁݌,ݐ,ݏ correspondant aux dates de début des opérations des produits p sur les différentes périodes t sur le site s. Elle est définie par la formule suivante : ܲܵ ߙ)ܰ ݇ ߙ , ݇+1) = � 1 ߙ ݇ ߙ, ݇+1 ܶ ∗ ݏܲ 7 avec : � 1 ߙ ݇ ߙ , ݇ߙ א ℎ/ݏ,ݐ,݌ܾ݁ܦ |� א ݏ,ݐ,݌ܾ݁ܦ = 1+݇ ℎ/ݏ,ݐ,݌ܾ݁ܦ & ′ א ߙ݇+1& ℎ ≠ ℎ′ ݏܲ ݏ ݁ݐ݅ݏ ݈݁ ݐ݊ܽݏݎ݁ݒܽݎݐ ݏݐ݅ݑ݀݋ݎ݌ ݁݀ ݁ݎܾ݉݋݊ ∶ ݏ݁݀݋݅ݎé݌ ݁݀ ݁ݎܾ݉݋݊ ∶ ܶ  Robustesse : Poids moyen de perturbation Pour ce même niveau d’ordonnancement, le poids moyen de perturbation ܲܵ ܧ pour un site donné est calculé pour les variables ܦܾ݁݌,ݐ,ݏ . Il est défini par la formule suivante : ܲܵ ܧ ߙ ݇ ߙ , ݇+1 = ݒ�| 2 ݒ | 8 ܶ ∗ ݏܲ avec : ݒ� 2 ߙ ݇ ߙ , ݇+1 = ℎ ݇ߙ א ℎ ݏ,ݐ,݌ܾ݁ܦ ∀ ℎ − ′ ℎ/ݏ,ݐ,݌ܾ݁ܦ, 1+݇ߙ א ′ ݏܲ ݏ ݁ݐ݅ݏ݈݁ ݐ݊ܽݏݎ݁ݒܽݎݐ ݏݐ݅ݑ݀݋ݎ݌ ݁݀ ݁ݎܾ݉݋݊ ∶ ݏ݁݀݋݅ݎé݌ ݁݀ ݁ݎܾ݉݋݊ ∶ ܶChapitre IV. Analyse de performance : Démarche méthodologique 105 IV.4.4. Indicateurs de performance au niveau chaîne logistique L’évaluation de la performance est une problématique largement étudiée dans la littérature récente sur la chaîne logistique. Ici, notre objectif est d’évaluer une solution de planification/ordonnancement de l’ensemble de la chaîne. Ainsi nous mettons en place des « mesures de performance » pour évaluer la stabilité et la robustesse globale de la solution. IV.4.4.1. Stabilité et robustesse de la planification  Stabilité : Distance moyenne de perturbation Pour le premier niveau de décision, correspondant à la planification, la distance moyenne de perturbation ܲܮܥ ܰ pour la chaîne logistique est la moyenne des distances moyennes de perturbation ܲܵ ܰ sur tous les sites. Elle est définie par la formule suivante : ܮܥܲ ܰ ݏ,ݐ,݌�) ݇ ) = ܲܵ ݏ,ݐ,݌�)ܰ ݇ ( ݏ ܵ 9 avec : S = nombre de sites de la chaîne logistique.  Robustesse : Poids moyen de perturbation Pour ce même niveau de planification, le poids moyen de perturbation ܲܮܥ ܧ pour la chaîne logistique est la moyenne des poids moyens de perturbation ܲܵ ܧ sur tous les sites. Il est défini par la formule suivante : ܮܥܲ ܧ ݏ,ݐ,݌�) ݇ ) = ܲܵ ܧ ݏ,ݐ,݌�) ݇ ( ݏ ܵ 10 avec : S = Nombre de sites de la chaîne logistique. IV.4.4.2. Stabilité et robustesse de l’ordonnancement  Stabilité : Distance moyenne de perturbation Pour le deuxième niveau de décision, correspondant à l’ordonnancement, la distance moyenne de perturbation ܲܮܥ ܧ pour la chaîne logistique est la moyenne des distances moyenne de perturbation ܲܵ ܰ sur tous les sites. Elle est définie par la formule suivante : ܮܥܲ ܰ ݏ,ݐ,݌ܾ݁ܦ) ݇ ) = ܲܵ ݏ,ݐ,݌ܾ݁ܦ)ܰ ݇ ( ݏ ܵ 11 Chapitre IV. Analyse de performance : Démarche méthodologique 106 avec : S = nombre de sites de la chaîne logistique.  Robustesse : Poids moyen de perturbation Pour ce même niveau de planification, le poids moyen de perturbation ܲܮܥ ܧ pour la chaîne logistique est la moyenne des poids moyens de perturbation ܲܵ ܧ sur tous les sites. Il est défini par la formule suivante : ܮܥܲ ܧ ݏ,ݐ,݌ܾ݁ܦ) ݇ ) = ܲܵ ܧ ݏ,ݐ,݌ܾ݁ܦ) ݇ ( ݏ ܵ 12 avec : S = nombre de sites de la chaîne logistique. Le tableau IV.1 et le tableau IV.2 présentent une récapitulation des différents types d’indicateurs utilisés pour les niveaux planification et ordonnancement agrégé aux niveaux sites de production et au niveau chaîne logistique respectivement. Indicateurs de performance au niveau Site de production Stabilité : distance de perturbation Robustesse : poids de perturbation Planification (Niveau 1) ܲܵ ݏ,ݐ,݌� ܰ ݇ = ݏ,ݐ,݌� ݏ,ݐ,݌� =/ 1+݇ ݇ ܶ ∗ ݏܲ ܲܵ ܧ ݏ,ݐ,݌� ݇ = ݏ,ݐ,݌�| ݏ,ݐ,݌� − 1+݇ ݇ | ܶ 1=ݐ ݌ ܶ ∗ ݏܲ Ordonnancement (Niveau 2) ܲܵ ݏ,ݐ,݌� ܰ ݇ = ݏ,ݐ,݌ܾ݁ܦ | ݏ,ݐ,݌ܾ݁ܦ =/ 1+݇ ݇ | ܶ ∗ ݏܲ ܲܵ ܧ ݏ,ݐ,݌ܾ݁ܦ ݇ = ݏ,ݐ,݌ܾ݁ܦ| ݏ,ݐ,݌ܾ݁ܦ − 1+݇ ݇ | ܶ 1=ݐ ݌ ܶ ∗ ݏܲ avec :  ܲܵ = Nombre de produits traversant le site s  T = Nombre de périodes Tableau IV.1. Tableau de synthèse des indicateurs de performance (niveau sites) Chapitre IV. Analyse de performance : Démarche méthodologique 107 Indicateurs de performance au niveau Chaîne logistique Stabilité : distance de perturbation Robustesse : poids de perturbation Planification (Niveau 1) ܮܥܲ ܰ ݏ,ݐ,݌�) ݇ ) = ܲܵ ݏ,ݐ,݌�)ܰ ݇ ( ݏ ܵ ܮܥܲ ܧ ݏ,ݐ,݌�) ݇ ) = ܲܵ ܧ ݏ,ݐ,݌�) ݇ ( ݏ ܵ Ordonnancement (Niveau 2) ܮܥܲ ܰ ݏ,ݐ,݌ܾ݁ܦ) ݇ ) = ܲܵ ݏ,ݐ,݌ܾ݁ܦ)ܰ ݇ ( ݏ ܵ ܮܥܲ ܧ ݏ,ݐ,݌ܾ݁ܦ) ݇ ) = ܲܵ ܧ ݏ,ݐ,݌ܾ݁ܦ) ݇ ( ݏ ܵ avec :  ܲܵ = Nombre de produits traversant le site s  T = Nombre de périodes Tableau IV.2. Tableau de synthèse des indicateurs de performance (niveau chaîne logistique) IV.5. Conclusion Dans ce chapitre, après avoir présenté les objectifs et notre démarche méthodologique, nous avons, dans un premier temps, détaillé les deux procédures de résolution que nous avons adoptées : la procédure de résolution statique et la procédure de résolution dynamique. Dans un second temps, et dans le but de caractériser la performance de notre approche, nous avons élaboré un ensemble d’indicateurs de performance. Ces indicateurs ont été divisés en deux catégories. La première catégorie regroupe les indicateurs qui caractérisent le plan établi au niveau planification. La deuxième catégorie concerne les indicateurs qui caractérisent le plan établi au niveau ordonnancement agrégé. Pour les deux niveaux de décision, les indicateurs permettent de mesurer la stabilité et la robustesse de la solution. Le chapitre suivant portera sur l’évaluation de notre approche par simulation dans un contexte caractérisé par des aléas. Toutes les expérimentations sont réalisées en suivant la Chapitre IV. Analyse de performance : Démarche méthodologique 108 procédure CSP statique et la procédure CSP dynamique. Pour la première, les différents problèmes de planification relatifs à des itérations successives sont résolus séparément et la solution relative à une itération de planification k ne constitue pas une base pour la résolution à l’itération suivante (k+1). La deuxième procédure est basée sur la mémorisation et la réutilisation des solutions et en particulier la méthode de recherche locale. Chapitre V. Expérimentation numérique et évaluation de l’approche 109 CHAPITRE V. EXPERIMENTATION NUMERIQUE ET EVALUATION DE L’APPROCHEChapitre V. Expérimentation numérique et évaluation de l’approche 110 V.1. Introduction Ce chapitre porte sur l’analyse du modèle de planification dynamique et l’évaluation des deux approches de résolution CSP Statique /CSP Dynamique, et leurs impacts sur la conduite d’une chaîne logistique. Face à un aléa, un plan de production solution génère, pour chacun des sites, les volumes de production pour le niveau de planification et les dates de début des opérations pour le niveau d’ordonnancement agrégé. Une solution est évaluée par sa performance à assurer un certain niveau de stabilité (mesure de la distance de perturbation P N ) et de robustesse (mesure du poids de perturbation P E ). Les expérimentations sont réalisées aux niveaux sites de production et au niveau global de la chaîne logistique. Le cadre est un cas d’étude de réseau de sites de production. Le problème de nature académique est choisi de complexité réduite pour éviter une inutile explosion des données et une difficulté d’analyse des résultats d’expérimentation. V.2. Présentation du cas d’étude V.2.1. Description de la structure et des données de la chaîne logistique La chaîne logistique se compose de plusieurs sites de production appartenant à une même entreprise, et réalisant différents types de produits. La réalisation d’un produit nécessite une succession d’opérations de fabrication, réalisée chacune sur un site donné. Il s’agit d'organiser la production de 5 produits finis (A, B, C, D et E), sur un horizon de planification de 18 périodes. Les délais d’obtention ainsi que les coûts unitaires associés aux décisions de production (interne, sous-traitée ou heures supplémentaires) sont indiqués dans le tableau V.1. Chapitre V. Expérimentation numérique et évaluation de l’approche 111 Type de décision Délai d’obtention Coût unitaire Production interne (LP) A 1 A 4 B 1 B 4 C 1 C 4 D 1 D 4 E 1 E 4 Sous-traitance (LS) A 2 A 10 B 2 B 10 C 2 C 10 D 2 D 10 E 2 E 10 Heures supplémentaires 1 12 Tableau V.1. Délais et coûts de production des produits Le tableau V.2 représente les coûts unitaires de stockage et de rupture de chaque produit. A B C D E Coût unitaire de stockage 8 8 8 8 8 Coût unitaire de rupture 20 20 20 20 20 Tableau V.2. Coûts unitaires de stockage et de rupture Le profil de la demande prévisionnelle relatif à la première itération de planification est présenté dans le tableau V.3. Demande t=1 t=2 t=3 t=4 t=5 t=6 t=7 t=8 t=9 t=10 t=11 t=12 t=13 t=14 t=15 t=16 t=17 t=18 A 50 55 42 90 62 43 49 50 68 95 86 50 90 62 43 43 49 50 B 60 42 68 85 73 56 50 60 48 55 63 51 72 68 53 59 50 52 C 72 60 55 43 92 33 35 75 50 68 59 60 35 75 50 71 60 32 D 65 55 60 68 59 50 52 40 80 63 82 43 42 90 62 48 35 63 E 30 30 48 35 63 71 60 32 65 75 53 56 59 50 52 42 90 62 Tableau V.3. Profil de la demande (première itération de planification : k = 1) Les capacités des éléments de production sont définies ci-dessous : - ݐܥ,ݏ=240 : la capacité de production interne pour chaque site de production est de 240 ut ; - ܪ݉ܽ�ݏ =30 : un contingent maximum de 30 heures supplémentaires peut être affecté pour chaque site de production ; Chapitre V. Expérimentation numérique et évaluation de l’approche 112 - STp,t,s = 50 : le volume de production maximal du produit p en sous-traitance en période t sur le site de production s est de 50 produits ; - hp,s = 1 : la fabrication d’une unité de produit p en interne sur chaque site s nécessite une unité de temps. Les 5 produits seront réalisés sur les différents sites de production (5 sites) selon les gammes indiquées sur la figure V.1. Produit Site 1 Site 2 Site 3 Site 4 Site 5 A X X X B X X X X C X X D X X X E X X X Figure V.1. Gamme de fabrication des différents produits Site 1 Site 2 Site 3 Site 4 Site 5 Capacité 5 4 5 3 5 Tableau V.4. Capacité des sites de production Chaque site est défini par sa capacité de production (en nombre de machines). Dans un souci de simplification, nous considérons que les différents sites utilisent des machines parallèles (tableau V.4). Site 1 Site 2 Site 3 Site 4 Site 5 A, B, C A, C, E B, D, E B, D, E A, B, DChapitre V. Expérimentation numérique et évaluation de l’approche 113 V.2.2.Problématique et scénarios considérés La chaîne logistique considérée s’inscrit dans le cadre d’un réseau de sites au sein duquel il existe un service logistique central assurant la planification et l’ordonnancement agrégé des charges de fabrication. Il s’agit de répartir et de coordonner les productions entre les sites tout en laissant à chaque site une autonomie au niveau de l’ordonnancement détaillé local. La description définie précédemment limite la complexité du problème sans pour autant restreindre le champ d’étude. Ainsi, différents phénomènes pratiques peuvent être explorés sur la base de ce cas d’étude. En effet, après avoir planifié la production sur les sites et engagé leur organisation sur un horizon donné, le service logistique central peut se retrouver, à une période t, face à :  une annulation imprévue d’une commande client pour un ou plusieurs produits ;  une chute de la capacité de production sur un ou plusieurs sites suite à des pannes machines ou grèves d’employés ;  un retard d’approvisionnements nécessaires à la production d’un ou plusieurs produits engendrant une re-planification de ces quantités à la période suivante t+1. Pour ces différents scénarios, le service logistique central sera amené à réorganiser la solution initiale avec le minimum de perturbation de la production engagée sur les différents sites et du planning annoncé aux différents intervenants. Dans ce cadre, nous menons trois séries d’expérimentations différentes qui correspondent respectivement à : (1) une variation de la demande ; (2) une variation de la capacité ; (3) une variation de re-planification à t+1. L’objectif est d’évaluer et de comparer la stabilité et la robustesse fournies par la résolution CSP statique et la résolution CSP dynamique face au même type et à la même taille d’une variation simulée. Chapitre V. Expérimentation numérique et évaluation de l’approche 114 V.3. Évaluation de la stabilité et robustesse au niveau Site de production V.3.1. Expérimentation avec une variation de la demande V.3.1.1. Scénario d’expérimentation Pour une période donnée (t = 13), la variation porte sur une chute de la demande. Cette simulation porte progressivement et cumulativement sur le produit 1, puis produit 2 jusqu’au produit 4. Sur chacun des produits la variation de la demande est d’une quantité égale à (- 10).Le taux de variation est égal au nombre de produits variés sur le nombre total de produits. - Taux de variation 20% : P1 de 90 à 80 - Taux de variation 40% : P1 de 90 à 80, et P2 de 72 à 62 - Taux de variation 60% : P1 de 90 à 80, et P2 de 72 à 62, et P3 de 35 à 25 - Taux de variation 80% : P1 de 90 à 80, et P2 de 72 à 62, et P3 de 35 à 25, et P4 de 42 à 32 Pour toutes ces mesures de variations, le taux de variation est considéré comme un scénario donné et non pas une grandeur de la variation. L’objectif est d’évaluer la performance suivant un axe de variation (figure V.2). Figure V.2. Variation de la demande Produit 1 Produit2Produit 3 Produit 4 Produit 5 0 20 40 60 80 100 Demande Variation de la demande, (t=13) Profil initial de la demande Modification 20% Modification 40% Modification 60% Modification 80%Chapitre V. Expérimentation numérique et évaluation de l’approche 115 V.3.1.2. Résultats expérimentaux Dans ce paragraphe, nous présentons une vue détaillée des résultats obtenus avec la première famille d’expérimentations (variation de la demande). Nous présentons les résultats dans le cadre d’une résolution statique et d’une résolution dynamique. Les tableaux V.5 et V.6 détaillent respectivement les résultats pour le niveau planification et le niveau ordonnancement agrégé. Chapitre V. Expérimentation numérique et évaluation de l’approche 116 Planification de la production : Premier niveau de décision Scénario Indicateur de robustesse : ܲܵ ܧ Indicateur de robustesse :ܲܵ ܧ Indicateur de stabilité : ܲܵ ܰ Indicateur de stabilité : ܲܵ ܰ Variation de la demande Variation(%) Résolution statique Chaîne logistique Résolution dynamique Chaîne logistique Résolution statique Chaîne logistique Résolution dynamique Site 1 Site Chaîne logistique 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 20% 23.0 22.7 25.5 22.7 22.4 23.3 0.19 0 0.19 0 0.19 0.11 0.44 0.43 0.44 0.43 0.39 0.43 0.02 0 0.02 0 0.02 0.01 40% 23.2 26.5 25.5 24.7 22.2 24.4 0 0 0 0 0 0 0.44 0.02 0.44 0.43 0.39 0.34 0 0 0 0 0 0 60% 23.4 22.9 25.7 22.9 22.2 23.4 0 0 0 0 0 0 0.44 0.43 0.44 0.43 0.39 0.43 0 0 0 0 0 0 80% 23.4 30.1 25.8 30.1 37.2 29.3 0 0 0 0 0 0 0.44 0.44 0.44 0.44 0.41 0.43 0 0 0 0 0 0 Tableau V.5. Résultats numériques dans le cas d’une variation de la demande : premier niveau de décision Ordonnancement agrégé de la production : Deuxième niveau de décision Scénario Indicateur de robustesse : ܲܵ ܧ Indicateur de robustesse : ܲܵ ܧ Indicateur de stabilité : ܲܵ ܰ Indicateur de stabilité : ܲܵ ܰ Variation de la demande Variation (%) Résolution statique Chaîne logistique Résolution dynamique Chaîne logistique Résolution statique Chaîne logistique Résolution dynamique Chaîne logistique Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 20% 0 32.8 72.1 196.8 255.8 111.5 0 0.1 1.11 7.31 8.85 3.47 0 0.22 0.74 1.24 1.24 0.68 0 0 0.04 0.09 0.1 0.04 40% 0.3 20.2 61.6 151 180 82.62 0 0 0.74 6.57 8.11 3.08 0.02 0.19 0.46 0.8 0.8 0.41 0 0 0.02 0.07 0.1 0.038 60% 0 19.9 50.8 134 169 74.74 0 0 0.74 6.57 8.11 3.08 0 0.17 0.5 0.76 0.8 0.44 0 0 0.02 0.07 0.1 0.038 80% 0 19.9 50.8 133 166 73.94 0 0 0.74 6.57 8.11 3.08 0 0.15 0.46 0.76 0.8 0.43 0 0 0.02 0.07 0.1 0.038 Tableau V.6. Résultats numériques dans le cas d’une variation de la demande : deuxième niveau de décision Chapitre V. Expérimentation numérique et évaluation de l’approche 117 0 10 20 30 modif. 20% modif. 40% modif. 60% modif. 80% P E(X) Site 1 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 2 Résolution statique Résolution dynamique Indicateur de robustesse : poids de perturbation Indicateur de stabilité : distance de perturbation Planification de la production : premier niveau de décision (variation de la demande) Tableau V.7. Variation de la demande : Evaluation de la perturbation au niveau sites (planification de la production) 0 20 40 P E(X) Site 2 Résolution statique Résolution dynamique 0 10 20 30 P E(X) Site 3 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 1 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 3 Résolution statique Résolution dynamique 0 20 40 P E(X) Site 4 Résolution statique Résolution dynamique 0 20 40 P E(X) Site 5 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 4 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 5 Résolution statique Résolution dynamiqueChapitre V. Expérimentation numérique et évaluation de l’approche 118 0 0,2 0,4 0,6 P N(Deb) Site 2 Résolution statique Résolution dynamique Tableau V.8. Variation de la demande : Evaluation de la perturbation au niveau sites (ordonnancement agrégé) Indicateur de robustesse : poids de perturbation Indicateur de stabilité : distance de perturbation Ordonnancement de la production : deuxième niveau de décision(variation de la demande) 0 0,2 0,4 P E(Deb) Site 1 Résolution statique Résolution dynamique 0 0,02 0,04 P N(Deb) Site 1 Résolution statique Résolution dynamique 0 20 40 P E(Deb) Site 2 Résolution statique Résolution dynamique 0 100 200 300 P E(Deb) Site 4 Résolution statique Résolution dynamique 0 0,5 1 1,5 P N(Deb) Site 4 Résolution statique Résolution dynamique 0 100 200 300 P E(Deb) Site 5 Résolution statique Résolution dynamique 0 0,5 1 1,5 P N(Deb) Site 5 Résolution statique Résolution dynamique 0 50 100 P E(Deb) Site 3 Résolution statique Résolution dynamique 0 0,5 1 P N(Deb) Site 3 Résolution statique Résolution dynamiqueChapitre V. Expérimentation numérique et évaluation de l’approche 119 V.3.1.3. Analyse des résultats Pour le niveau planification (tableau V.7), nous établissons les constatations suivantes : 1. Pour la résolution statique et pour chaque site de production, les deux indicateurs de performance (stabilité P N et robustesse PE ) évoluent dans le même sens. En effet, le poids de perturbation et la distance de perturbation évoluent en croissance avec l’évolution du taux de variation. 2. Pour la résolution dynamique, les indicateurs de performance tendent vers zéro indépendamment du taux de variation. 3. Avec la méthode de résolution statique, nous constatons que le poids de perturbation varie entre 22 et 37 pour tous les sites de production et la distance de perturbation varie entre 0.39 et 0.44. Il n’y a pas de grande différence entre les valeurs des indicateurs de performance d’un site à un autre. 4. Pour un même taux de variation, les deux indicateurs de performance évoluent indépendamment en se déplaçant d’un site à un autre et cela est vrai pour la résolution statique et pour la résolution dynamique. Les mêmes conclusions sont constatées au niveau ordonnancement (tableau V.8) : 1. Pour la résolution statique, le poids de perturbation et la distance de perturbation évoluent dans le même sens mais, à la différence de la planification, l’évolution est indépendante du taux de variation. 2. Pour la résolution dynamique, les indicateurs de performance tendent vers zéro indépendamment du taux de variation. 3. Une augmentation des valeurs des deux indicateurs de performance est remarquable en se déplaçant d’un site à un autre pour la résolution statique et la résolution dynamique. V.3.1.4. Interprétation des résultats 1. Dans le cadre de cette expérimentation, nous constatons que quel que soit le niveau de décision (planification ou ordonnancement agrégé) et pour tous les sites de production, les indicateurs de performance tendent vers zéro avec la résolution dynamique. Cette tendance peut être expliquée par la variation que nous avons simulée et que nous jugeons petite. En effet, une modification de 20% signifie qu’à une période donnée, nous considérons une chute de la demande d’une quantité égale à 10. Cependant, cette Chapitre V. Expérimentation numérique et évaluation de l’approche 120 même petite variation a entraîné une grande perturbation avec la résolution statique. Nous pouvons alors constater que la méthode de résolution dynamique est plus performante que la méthode de résolution statique. 2. Pour le niveau ordonnancement agrégé, nous remarquons une augmentation des valeurs des indicateurs de performance (P N et P E ) lorsqu’on se déplace du site 1 vers le site 5, pour la résolution statique comme pour la résolution dynamique (tableau V.8). Cela peut être expliqué par le fait que le passage des produits sur les sites se fait toujours dans le même sens (du site 1 vers le site 5, figure V.1). Et par la suite, les dates de début des opérations en sites en amont sont toujours inférieures aux dates de début des opérations sur les sites en aval, avec un effet d’accumulation des facteurs perturbateurs. V.3.2. Expérimentation avec une variation de la capacité V.3.2.1. Scénario d’expérimentation La deuxième série d’expérimentations porte sur une variation de la capacité des sites de production. Pour la période t = 13, cette simulation porte progressivement et cumulativement sur le site 1, puis site 2 jusqu’au site 4. Sur chacun des sites, la variation de la capacité est d’une quantité égale à (-1). Le taux de variation est égal au nombre de sites variés sur le nombre total de sites. - Taux de variation 20% : S1 de 5 à 4 - Taux de variation 40% : S1 de 5 à 4, et S2 de 4 à 3 - Taux de variation 60% : S1 de 5 à 4, et S2 de 4 à 3, et S3 de 4 à 3 - Taux de variation 80% : S1 de 5 à 4, et S2 de 4 à 3, et S3 de 4 à 3, et S4 de 3 à 2 Pour toutes ces mesures de variations, le taux de variation est considéré comme un scénario donné et non pas une grandeur de la variation. L’objectif est d’évaluer la performance suivant un axe de variation (figure V.3).Chapitre V. Expérimentation numérique et évaluation de l’approche 121 Figure V.3. Variation de la capacité à la période t = 13 Dans ce paragraphe, nous présentons une vue détaillée des résultats obtenus avec la deuxième famille d’expérimentations (variation de la capacité). Nous présentons les résultats dans le cadre d’une résolution statique et d’une résolution dynamique. Les tableaux V.9 et V.10 détaillent respectivement les résultats pour le niveau planification et le niveau ordonnancement agrégé. 0 1 2 3 4 5 Site 1 Site 2 Site 3 Site 4 Site 5 Capacité des sites Variation de la capacité, (t = 13) profil initial de la capacité des sites modification 20% modification 40% modification 60% modification 80%Chapitre V. Expérimentation numérique et évaluation de l’approche 122 Planification de la production : Premier niveau de décision Scénario Indicateur de robustesse : ܲܵ ܧ Indicateur de robustesse : ܲܵ ܧ Indicateur de stabilité : ܲܵ ܰ Indicateur de stabilité : ܲܵ ܰ Variation de la capacité Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 20% 24.3 26.3 25.7 25.4 22.2 24.8 0 0 0 0 0 0 0.43 0.37 0.44 0.41 0.39 0.41 0 0 0 0 0 0 40% 24.3 28.1 25.8 25.4 22.3 25.1 0 0 0 0 0 0 0.43 0.46 0.44 0.41 0.39 0.43 0 0 0 0 0 0 60% 24.3 28.1 31.4 25.4 26.5 27.1 0 0 0 0 0 0 0.43 0.46 0.5 0.41 0.46 0.45 0 0 0 0 0 0 80% 24.3 28.1 28.4 16.9 22.2 24.0 0 0 0 0 0 0 0.43 0.46 0.44 0.33 0.39 0.41 0 0 0 0 0 0 Tableau V.9. Résultats numériques dans le cas d’une variation de la capacité : premier niveau de décision Ordonnancement agrégé de la production : Deuxième niveau de décision Scénario Indicateur de robustesse : ܲܵ ܧ Indicateur de robustesse : ܲܵ ܧ Indicateur de stabilité : ܲܵ ܰ Indicateur de stabilité : ܲܵ ܰ Variation de la capacité Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 20% 0 20.8 72.6 163 195.8 90.44 0 4.78 6.91 33.6 35.1 16.0 0 0,19 0,54 0,94 1 0.53 0 0,06 0,11 0,26 0,3 0.14 40% 1.02 18.4 58 143 172 78.48 2.59 0 5.37 35.9 37.2 16.2 0,02 0,15 0,5 0,89 0,9 0.49 0,02 0 0,07 0,26 0,3 0.13 60% 1.02 18.4 58 143 174 78.88 3.33 5.11 4.93 14.7 16.3 8.87 0,02 0,15 0,5 0,87 0,9 0.48 0,04 0,02 0,09 0,13 0,1 0.07 80% 0 20.4 57 140 163 76.08 3.33 5.11 4.93 14.7 16.3 8.87 0 0,15 0,5 0,89 0,9 0.48 0,04 0,02 0,09 0,13 0,1 0.07 Tableau V.10. Résultats numériques dans le cas d’une variation de la capacité : deuxième niveau de décision Chapitre V. Expérimentation numérique et évaluation de l’approche 123 0 10 20 30 P E(X) Site 3 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 3 Résolution statique Résolution dynamique 0 10 20 30 P E(X) Site 4 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 4 Résolution statique Résolution dynamique 0 10 20 30 P E(X) Site 5 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P E(X) Site 5 Résolution statique Résolution dynamique Indicateur de robustesse : poids de perturbation Indicateur de stabilité : distance de perturbation Planification de la production : Premier niveau de décision (variation de la capacité) Tableau V.11.Variation de la capacité : Evaluation de la perturbation au niveau sites (planification de la production) 0 10 20 30 P E(X) Site 1 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 1 Résolution statique Résolution dynamique 0 10 20 30 P E(X) Site 2 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 2 Résolution statique Résolution dynamiqueChapitre V. Expérimentation numérique et évaluation de l’approche 124 Indicateur de robustesse : poids de perturbation Indicateur de stabilité : distance de perturbation Ordonnancement de la production : deuxième niveau de décision (variation de la capacité) Tableau V.12. Variation de la capacité : Evaluation de la perturbation au niveau sites (ordonnancement agrégé) 0 2 4 P E(Deb) Site 1 Résolution statique Résolution dynamique 0 0,05 P N(Deb) Site 1 Résolution statique Résolution dynamique 0 20 40 P E(Deb) Site 2 Résolution statique Résolution dynamique 0 0,1 0,2 P N(Deb) Site 2 Résolution statique Résolution dynamique 0 50 100 P E(Deb) Site 3 Résolution statique Résolution dynamique 0 100 200 P E(Deb) Site 4 Résolution statique Résolution dynamique 0 0,5 1 P N(Deb) Site 4 Résolution statique Résolution dynamique 0 100 200 300 P E(Deb) Site 5 Résolution statique Résolution dynamique 0 0,5 1 1,5 P N(Deb) Site 5 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(Deb) Site 3 Résolution statique Résolution dynamiqueChapitre V. Expérimentation numérique et évaluation de l’approche 125 V.3.2.2. Analyse des résultats Nous retrouvons des éléments similaires par rapport à l’expérimentation précédente. Pour le premier niveau de décision (tableau V.11), nous notons que : 1. Pour la résolution statique, sur chaque site de production, les deux indicateurs de performance (stabilité P N et robustesse PE ) sont en quasi-constance compte tenu de l’évolution du taux de la variation. 2. Pour la résolution dynamique, les indicateurs de performance tendent vers zéro indépendamment du taux de la variation. 3. Avec la résolution statique, nous constatons que la robustesse P E varie entre 22 et 28.5 pour tous les sites de production et la stabilité P N varie entre 0.39 et 0.47. Il n’y a pas de grande différence entre les valeurs des indicateurs de performance d’un site à un autre. 4. Pour un même taux de variation, les deux indicateurs de performance évoluent indépendamment en se déplaçant d’un site à un autre et cela est vrai pour la résolution statique et pour la résolution dynamique. De même, pour le deuxième niveau de décision (tableau V.12), nous pouvons constater que : 1. Pour la résolution statique, le poids de perturbation et la distance de perturbation évoluent dans le même sens ; une évolution principalement en décroissance pour les sites 2, 3, 4 et 5. Le site 1 cependant présente une allure particulière, les deux indicateurs de performance évoluant indépendamment du taux de variation. 2. Pour la résolution dynamique, les indicateurs de performance évoluent aussi dans le même sens mais indépendamment du taux de variation. Le site 1 présente aussi une allure particulière : il évolue en croissance avec le taux de variation. 3. Pour un même taux de perturbation, les valeurs des deux indicateurs de performance évoluent d’une façon remarquable en se déplaçant d’un site à un autre et cette constatation est vraie pour la méthode de résolution statique et la méthode de résolution dynamique. Chapitre V. Expérimentation numérique et évaluation de l’approche 126 V.3.2.3. Interprétation des résultats 1. Dans le cadre de cette expérimentation, nous constatons que quel que soit le niveau de décision (planification ou ordonnancement agrégé), la méthode de résolution dynamique affiche une meilleure performance. Cependant, au niveau ordonnancement, une exception est levée pour le site 1 où la résolution statique donne de meilleures performances (stabilité et robustesse) par rapport à la résolution dynamique. L’écart entre les deux résolutions reste néanmoins faible. 2. Pour le niveau ordonnancement agrégé, nous remarquons une augmentation des valeurs des indicateurs de performance (P N et P E ) lorsqu’on se déplace du site 1 vers le site 5, pour la résolution statique comme pour la résolution dynamique (tableau V.12). Comme nous l’avons expliqué précédemment dans le cas d’une variation de la demande, cette augmentation est due au fait que le passage des produits sur les sites se fait toujours dans le même sens (du site 1 vers le site 5, figure V.1), avec un effet d’accumulation des facteurs perturbateurs. V.3.3. Expérimentation avec une variation de re-planification V.3.3.1. Scénario d’expérimentation Le troisième type de variation porte sur une re-planification de la demande telle que : pour une période donné et, la variation porte sur une re-planification d’un produit en période t+1. L’exemple du tableau ci-dessous montre une re-planification du produit A en période t+1 et par la suite, la demande passe de 90 à 0 pour la période t et de 62 à (62+90) pour la période t+1. p … … … t t+1 t+2 Demande A 86 50 90 0 62 + 90 43 Tableau V.13.Exemple de variation de re-planification Ainsi, pour la période t = 13, cette simulation porte progressivement et cumulativement sur le produit 1, puis produit 2 jusqu’au produit 4. Sur chacun des sites la variation de replanification est d’une période égale (t+1 = 14). Le taux de variation est égal au nombre de produits variés sur le nombre total de produits. Chapitre V. Expérimentation numérique et évaluation de l’approche 127 La variation de re-planification en période t=13 et en période t=14 pour tous les produits sont présentés respectivement dans la figure V.4 et la figure V.5. Pour toutes ces mesures de variations, le taux de variation est considéré comme un scénario donné et non pas une grandeur de la variation. L’objectif est d’évaluer la performance suivant un axe de variation. Figure V.4. Variation de re-planification en période t = 13 Figure V.5. Variation de re-planification en période t = 14 modification 80% modification 60% modification 40% modification 20% Profil initial de la demande 0 10 20 30 40 50 60 70 80 90 Produit 1 Produit2 Produit 3 Produit 4 Produit 5 Demande Variation de re-planification, (t = 13) modification 80% modification 60% modification 40% modification 20% 0 20 40 60 80 100 120 140 160 Produit 1 Produit2 Produit 3 Produit 4 Produit 5 Demande Variation de re-planification, (t = 14) modification 80% modification 60% modification 40% modification 20% Profil initial de la demandeChapitre V. Expérimentation numérique et évaluation de l’approche 128 Dans ce paragraphe, nous présentons une vue détaillée des résultats obtenus avec la deuxième famille d’expérimentations (variation de re-planification). Nous présentons les résultats dans le cadre d’une résolution statique et d’une résolution dynamique. Les tableaux V.14 et V.15 détaillent respectivement les résultats pour le niveau planification et le niveau ordonnancement. Chapitre V. Expérimentation numérique et évaluation de l’approche 129 Planification de la production : Premier niveau de décision Scénario Indicateur de robustesse : ܲܵ ܧ Indicateur de robustesse : ܲܵ ܧ Indicateur de stabilité : ܲܵ ܰ Indicateur de stabilité : ܲܵ ܰ Variation de lareplanification Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 20% 20.0 26.3 22.5 24.9 25.5 23.9 0 0 0 0 0 0 0.43 0.37 0.43 0.43 0.39 0.41 0 0 0 0 0 0 40% 22.7 29.0 22.5 24.9 25.6 24.9 0 0 0 0 0 0 0.43 0.37 0.43 0.43 0.39 0.41 0 0 0 0 0 0 60% 31.3 29.0 23.8 24.9 25.6 26.9 0 0 0 0 0 0 0.43 0.37 0.43 0.43 0.39 0.41 0 0 0 0 0 0 80% 31.3 23.4 23.8 16.3 24.0 23.8 0 0 0 0 0 0 0.43 0.41 0.43 0.33 0.37 0.39 0 0 0 0 0 0 Tableau V.14. Résultats numériques dans le cas d’une variation de re-planification : niveau planification Ordonnancement agrégé de la production : Deuxième niveau de décision Scénario Indicateur de robustesse : ܲܵ ܧ Indicateur de robustesse : ܲܵ ܧ Indicateur de stabilité : ܲܵ ܰ Indicateur de stabilité : ܲܵ ܰ Variation de lareplanification Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 Site 1 Site 2 Site 3 Site 4 Site 5 20% 1,41 20,5 63,3 150 179 82.84 0 11,4 4,09 30,8 32,4 15.7 0,02 0,17 0,48 0,8 0,8 0.45 0 0,06 0,04 0,17 0,2 0.094 40% 1,41 23,2 61,9 160 188,4 86.98 0 0 0,74 6,57 8,11 3.08 0,04 0,26 0,61 0,87 0,9 0.5 0 0 0,02 0,07 0,1 0.038 60% 0,3 22,1 67,7 163 192,1 89.04 0 0 0,74 6,57 8,11 3.08 0,02 0,2 0,48 0,78 0,8 0.45 0 0 0 0,04 0,1 0.028 80% 0,3 23,9 56,8 149 174 80.8 0 0 0,74 6,57 8,11 3.08 0,02 0,2 0,57 1 1 0.55 0 0 0,02 0,07 0,1 0.038 Tableau V.15. Résultats numériques dans le cas d’une variation de re-planification : niveau ordonnancement agrégé Chapitre V. Expérimentation numérique et évaluation de l’approche 130 Indicateur de robustesse : poids de perturbation Indicateur de stabilité : distance de perturbation Planification de la production : premier niveau de décision(variation de re-planification) Tableau V.16. Variation de re-planification : Evaluation de la perturbation au niveau sites (planification de la production) 0 0,2 0,4 0,6 P N(X) Site 1 Résolution statique Résolution dynamique 0 20 40 P E(X) Site 1 Résolution statique Résolution dynamique 0 20 40 P E(X) Site 2 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 2 Résolution statique Résolution dynamique 0 10 20 30 P E(X) Site 3 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 4 Résolution statique Résolution dynamique 0 10 20 30 P E(X) Site 4 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 4 Résolution statique Résolution dynamique 0 10 20 30 P E(X) Site 5 Résolution statique Résolution dynamique 0 0,2 0,4 0,6 P N(X) Site 5 Résolution statique Résolution dynamiqueChapitre V. Expérimentation numérique et évaluation de l’approche 131 Indicateur de robustesse : poids de perturbation Indicateur de stabilité : distance de perturbation Ordonnancement de la production : deuxième niveau de décision (variation de re-planification) Tableau V.17. Variation de re-planification : Evaluation de la perturbation au niveau sites (ordonnancement agrégé) 0 1 2 P E(X) Site 1 Résolution statique Résolution dynamique 0 0,02 0,04 0,06 P N(X) Site 1 Résolution statique Résolution dynamique 0 10 20 30 P E(X) Site 2 Résolution statique Résolution dynamique 0 0,1 0,2 0,3 P N(X) Site 2 Résolution statique Résolution dynamique 0 100 200 P E(X) Site 3 Résolution statique Résolution dynamique 0 100 200 P E(X) Site 4 Résolution statique Résolution dynamique 0 0,5 1 1,5 P N(X) Site 4 Résolution statique Résolution dynamique 0 100 200 300 P E(X) Site 5 Résolution statique Résolution dynamique 0 0,5 1 1,5 P N(X) Site 5 Résolution statique Résolution dynamique 0 0,5 1 P N(X) Site 3 Résolution statique Résolution dynamiqueChapitre V. Expérimentation numérique et évaluation de l’approche 132 V.3.3.2. Analyse des résultats Pour le premier niveau de décision (tableau V.16), nous constatons que : 1. Pour la résolution statique, sur chaque site de production, le poids de perturbation et la distance de perturbation n’évoluent pas dans le même sens et l’évolution est indépendante du taux de variation. 2. Pour la résolution dynamique, les indicateurs de performance tendent vers zéro indépendamment du taux de variation. 3. Avec la méthode de résolution statique, nous constatons que le poids de perturbation varie entre 16 et 30 et la distance de perturbation varie entre 0.33 et 0.43 pour tous les sites de production. L’écart entre les valeurs des indicateurs de performance d’un site à un autre reste modeste. Pour le deuxième niveau de décision (tableau V.17), nous constatons que : 1. Pour la résolution statique, et comme pour le niveau planification, les indicateurs de performance n’évoluent pas dans le même sens. 2. Pour la résolution dynamique, les indicateurs de performance évoluent dans le même sens (plutôt en décroissance). 3. Pour les deux méthodes de résolution, et pour chaque taux de perturbation, les valeurs des indicateurs de performance évoluent en croissance en passant d’un site à un autre. V.3.3.3. Interprétation des résultats 1. Pour ce type de variation (variation de re-planification), nous pouvons constater que pour le niveau planification et le niveau ordonnancement, les deux indicateurs de performance n’évoluent pas dans le même sens avec la méthode de résolution statique. En effet, ce type de variation agit dans deux sens différents, il entraîne une annulation de la demande à une période (t=13) et une augmentation de la demande à la période suivante (t=14) et l’augmentation n’évolue ni en croissance ni en décroissance en fonction du taux de variation. Par exemple, une variation de la demande entraîne toujours une chute de la demande d’une valeur égale à 10 (d’un seul produit pour un taux de variation égal à 20% et de 4 produits pour un taux de variation égal à 80%). La variation de re-planification n’est pas donc constante en fonction du taux de la variation : une variation de 20% peut être plus Chapitre V. Expérimentation numérique et évaluation de l’approche 133 importante qu’une variation de 80%. Les comportements différents des indicateurs de performance peuvent alors s’expliquer par une variation de re-planification variable. 2. Bien que la perturbation soit assez importante si on la compare aux deux autres types de variation (variation de la demande et variation de la capacité), la résolution dynamique est bien meilleure que la méthode de résolution statique et cela pour les deux niveaux de décision (planification et ordonnancement). Conclusion : En examinant les résultats pour tous les types de variation, nous établissons les conclusions suivantes : 1. Pour les niveaux planification et ordonnancement agrégé, et pour les trois types de variations considérées, la résolution dynamique offre une stabilité et une robustesse meilleure que la résolution statique. Ceci conforte donc l’utilisation de la résolution dynamique. 2. Pour le niveau planification et avec la résolution dynamique, les indicateurs de performance tendent presque toujours vers zéro et ceci pour les trois séries d’expérimentations. Ceci peut s’expliquer par la stratégie de résolution que nous avons adoptée. En effet, l’idée était de partir de la solution précédente pour la réparation du problème ayant subi des perturbations. Pour cela, nous avons choisi de réparer les contraintes en conflit en augmentant progressivement les valeurs des variables (�݌,ݐ,ݏ ݇ ) d’une valeur égale à 1. Par la suite, la solution est très proche de la solution initiale. Afin de satisfaire ces objectifs de stabilité et robustesse, la résolution tolère la régulation sur d’autres variables. Par exemple, si nous considérons le cas de la variation de la demande avec un taux de variation égal à 20%, la demande en produit 1 sur la période (t= 13), est passé de 90 à 80 et la solution obtenue par une résolution dynamique montre que la régulation a porté sur la quantité en stock ݌ܫ,ݐ,ݏ ݇ . Cependant, la résolution dynamique reste toujours meilleure que la résolution statique même pour la variable (I) comme le montre la figure suivante (figure V.6).Chapitre V. Expérimentation numérique et évaluation de l’approche 134 Figure V.6. Poids de perturbation pour la variable I (Site 1) avec une variation de la demande 3. L’influence du taux de variation sur l’évolution des indicateurs de performance est différente suivant le type de la variation. Nous pouvons noter que les indicateurs de performance évoluent en croissance dans le cas de la variation de la demande et que le taux de variation n’a pas d’influence sur les deux autres types de variation. V.4. Analyse de sensibilité de la chaîne logistique : Résolution statique vs. dynamique Jusqu’à présent le travail s’est intéressé à l’évaluation de deux indicateurs de performance au niveau des sites de production. Le premier est un indicateur de stabilité. Ila permis de compter le nombre de variables ayant changé dans la nouvelle solution par rapport à la solution initiale. Les mesures ont été réalisées au niveau de chaque site de production pour chacune des grandeurs (X pour le niveau planification et Deb pour le niveau ordonnancement). Le deuxième est un indicateur de robustesse. Il a permis de mesurer la dispersion de la nouvelle valeur par rapport à sa valeur initiale et cela pour chaque site de production. Dans ce paragraphe, nous nous intéressons à l’analyse de sensibilité de toute la chaîne logistique à travers une formulation globale de la stabilité et de la robustesse (formules présentées au chapitre IV, paragraphe IV.4.4). En recherche opérationnelle, l’analyse de sensibilité consiste à déterminer si une solution est sensible à des modifications qui peuvent être apportées aux principaux paramètres du modèle. [Kelton, 1999] propose une définition similaire dans un contexte plus général dans la mesure où, pour lui, l’analyse de sensibilité est « une méthode qui permet d’estimer comment une modification d’un des facteurs d’entrée d’un système peut affecter la performance de celui-ci, c’est-à-dire quelle est la sensibilité d’une des sorties du système à la variation d’une entrée ». P E(I) Site 1 Résolution statique Résolution dynamiqueChapitre V. Expérimentation numérique et évaluation de l’approche 135 Ainsi, notre analyse de sensibilité porte notamment sur la détection des variations pour lesquelles il est important d’investir et de travailler sur leur réduction car elles ont un impact non négligeable sur la stabilité et la robustesse de la chaîne logistique. V.4.1. Sensibilité de la chaîne logistique face aux variations : niveau planification Dans ce paragraphe, nous nous intéressons particulièrement aux résultats relatifs au niveau planification. Figure V.7. Evaluation de la robustesse au niveau chaîne logistique pour les 3 types de variation Figure V.8. Evaluation de la stabilité au niveau chaîne logistique pour les 3 types de variation 0 5 10 15 20 25 30 35 Modification 20%Modification 40%Modification 60%Modification 80% P E(X) Planification de la production Variation de la demande (résolution statique) Variation de la capacité (résolution statique) Variation de la replanification (résolution statique) Variation de la demande (résolution dynamique) Variation de la capacité (résolution dynamique) Variation de la replanification (Résolution dynamique) 0 0,1 0,2 0,3 0,4 0,5 Modification 20% Modification 40% Modification 60% Modification 80% P N(X) Planification de la production Variation de la demande (Résolution statique) Variation de la capacité (Résolution statique) Variation de la re-planification (Résolution statique) Variation de la demande (Résolution dynamique) Variation de la capacité (résolution dynamique) Variation de la re-planification (Résolution dynamique)Chapitre V. Expérimentation numérique et évaluation de l’approche 136 En présence d’une variation, indépendamment de son type, la résolution statique offre une solution de planification ayant relativement le même niveau de distance (ܲܮܥ ܰ ) (figure V.7) et de poids de perturbation (ܲܮܥ ܧ ) (figure V.8) de la chaîne logistique. Cette perturbation garde pratiquement le même niveau avec la croissance du taux de modification (de 20% à 80%).Pour les variations de type demande, capacité et replanification, la résolution dynamique offre une planification stable (ܲܮܥ ܰ ≈ 0) et robuste (ܲܮܥ ≈ ܧ 0) de la chaîne logistique. V.4.2. Sensibilité de la chaîne logistique face aux variations : niveau ordonnancement Nous nous intéressons dans ce paragraphe à l’évaluation de la performance de la chaîne logistique pour différents types de variation au niveau ordonnancement agrégé. Figure V.9. Evaluation de la robustesse au niveau ordonnancement pour les 3 types de variation 0 20 40 60 80 100 120 Modification 20%Modification 40%Modification 60%Modification 80% P E(Deb) Ordonnancement de la production Variation de la demande (Résolution statique) variation de la capacité (Résolution statique) variation de la replanification (Résolution statique) Variation de la demande (Résolution dynamique) Variation de la capacité (Résolution dynamique) Variation de la replanification (Résolution dynamique)Chapitre V. Expérimentation numérique et évaluation de l’approche 137 Figure V.10. Evaluation de la stabilité au niveau ordonnancement pour les 3 types de variation Nous notons les mêmes constations que pour le niveau planification. En présence d’une variation, indépendamment de son type (figures V.9 et V.10), la résolution statique offre une solution d’ordonnancement ayant relativement le même niveau de distance (ܲܮܥ ܰ ) et de poids de perturbation (ܲܮܥ ܧ ) de la chaîne logistique. Cette perturbation garde sensiblement le même niveau avec la croissance du taux de modification (de 20% à 80%). Pour les variations de type demande, capacité et re-planification, la résolution dynamique offre une planification stable (ܲܮܥ ܰ ≈ 0) et robuste (ܲܮܥ ܧ ≈ 0) de la chaîne logistique. V.4.3. Sensibilité comparative de la planification /ordonnancement face aux variations  Résolution statique Nous nous intéressons dans le cadre de ce paragraphe à comparer l’influence de chaque type de variation sur la stabilité des deux niveaux de décision et cela au niveau de toute la chaîne logistique avec une méthode de résolution statique. 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 Modification 20% Modification 40% Modification 60% Modification 80% P N(Deb) Ordonnancement de production Variation de la demande (Résolution statique) Variation de la capacité (Résolution statique) Variation de la replanification (Résolution statique) Variation de la demande (Résolution dynamique) Variation de la capacité (Résolution dynamique) Variation de la replanification (Résolution dynamique)Chapitre V. Expérimentation numérique et évaluation de l’approche 138 Figure V.11. Evaluation de la stabilité de la chaîne logistique par niveau de décision dans le cas d’une variation de la demande Figure V.12. Evaluation de la stabilité de la chaîne logistique par niveau de décision dans le cas d’une variation de la capacité Figure V.13. Evaluation de la stabilité de la chaîne logistique par niveau de décision dans le cas d’une variation de re-planification Pour la variation de la demande et la variation de la capacité (figure V.11, figure V.12), la résolution statique offre une solution d’ordonnancement plus stable que la solution de planification. Par contre, pour la variation de re-planification (figure V.13), la solution de 0 0,1 0,2 0,3 0,4 0,5 Modification 20%Modification 40%Modification 60%Modification 80% P N Variation de la demande Planification de la production Ordonnance ment de la production 0 0,1 0,2 0,3 0,4 0,5 Modification 20% Modification 40% Modification 60% Modification 80% P N Variation de la capacité Planification de la production Ordonnancement de la production 0 0,1 0,2 0,3 0,4 0,5 0,6 Modification 20%Modification 40%Modification 60%Modification 80% P N Variation de la re-planification Planification de la production Ordonnanceme nt de la productionChapitre V. Expérimentation numérique et évaluation de l’approche 139 planification semble être plus stable. Néanmoins, les indicateurs de stabilité sont assez proches pour les deux niveaux. Nous pouvons constater ici l’apport de l’approche intégrée que nous avons modélisée où la solution d’ordonnancement dépend fortement de la solution de planification et essentiellement de la quantité fabriquée (X) et cela à travers les contraintes de conservation d’énergie.  Résolution dynamique Nous nous intéressons maintenant à comparer l’influence de chaque type de variation sur la stabilité des deux niveaux de décision et cela au niveau de toute la chaîne logistique avec une méthode de résolution dynamique. Figure V.14. Evaluation de la stabilité de la chaîne logistique par niveau de décision dans le cas d’une variation de la demande Figure V.15. Evaluation de la stabilité de la chaîne logistique par niveau de décision dans le cas d’une variation de la capacité 0 0,02 0,04 0,06 Modification 20%Modification 40%Modification 60%Modification 80% P N Variation de la demande Planification de la production Ordonnancement de la production 0 0,05 0,1 0,15 0,2 Modification 20% Modification 40% Modification 60% Modification 80% P N Variation de la capacité Planification de la production Ordonnancement de la productionChapitre V. Expérimentation numérique et évaluation de l’approche 140 Figure V.16. Evaluation de la stabilité de la chaîne logistique par niveau de décision dans le cas d’une variation de re-planification Indépendamment du type de la variation (figure V.14, figure V.15 et figure V.16), la résolution dynamique offre une solution de planification plus stable que la solution d’ordonnancement. Cette stabilité est plutôt relative à notre technique de résolution basée sur les réparations. En effet, les réparations n’ont pas porté sur toutes les contraintes du modèle mais sur certaines contraintes du premier niveau de décision. V.4.4. Sensibilité de la fonction objectif face aux variations Dans la partie précédente, nous avons évalué et comparé la stabilité et la robustesse de la solution au niveau de toute la chaîne logistique par type de variation et par niveau de décision suivant la méthode de résolution. Nous nous intéressons ici à l’évaluation du coût pour la méthode de résolution statique et la méthode de résolution dynamique et pour chaque type de variation. Figure V.17. Evaluation du coût dans le cas d’une variation de la demande 0 0,02 0,04 0,06 0,08 0,1 Modification 20% Modification 40% Modification 60% Modification 80% P N Variation de la re-planification Planification de la production Ordonnancement de la production 0 50000 100000 150000 Modif. 20% Modif. 40% Modif. 60% Modif. 80% Coût Variation de la demande Résolution statique Résolution dynamiqueChapitre V. Expérimentation numérique et évaluation de l’approche 141 Figure V.18. Evaluation du coût dans le cas d’une variation de re-planification Figure V.19. Evaluation du coût dans le cas d’une variation de la capacité V.4. 4.1.Analyse des résultats A partir des figures (V.17, V.18 et V.19), nous établissons les constatations suivantes : 1. Avec la méthode de résolution statique, les coûts évoluent indépendamment du taux de perturbation. 2. Avec la méthode de résolution dynamique, les coûts évoluent en croissance en fonction du taux de perturbation. 3. Indépendamment du type de la variation, les coûts sont plus élevés avec une méthode de résolution dynamique qu’avec une méthode de résolution statique. Cependant, l’écart entre les coûts calculés avec les deux méthodes de résolution n’est pas grand. 0 20000 40000 60000 80000 100000 120000 140000 Modif. 20%Modif. 40%Modif. 60%Modif. 80% Coût Variation de la re-planification Résolution statique Résolution dynamique 0 20000 40000 60000 80000 100000 120000 140000 Modif. 20% Modif. 40% Modif. 60% Modif. 80% Coût Variation de la capacité Résolution statique Résolution dynamiqueChapitre V. Expérimentation numérique et évaluation de l’approche 142 V.4.4.2. Interprétation des résultats Dans toutes les expérimentations, le coût calculé avec la méthode de résolution dynamique est plus élevé. Ceci est dû à la stratégie de recherche dynamique que nous avons choisie qui opte pour une solution plus stable sur le niveau de la planification de la production. En effet, dans le but d’avoir un plan de production le moins perturbé possible, les réparations des solutions ont porté davantage sur les stockages et les heures supplémentaires qui ont un coût plus élevé, d’où le coût global plus élevé avec la méthode de résolution dynamique. V.5. Conclusion Dans ce chapitre, nous avons étudié la performance de notre approche de planification dynamique en termes de stabilité et de robustesse. Ainsi, nous avons présenté les différentes séries d’expérimentations réalisées. Ces expérimentations ont porté sur une variation de la demande, une variation de la capacité et une variation de re-planification. Pour les trois cas étudiés et bien que les perturbations réalisées dans chacun d’eux ne soient pas importantes, nous pouvons conclure que la résolution dynamique a montré de meilleures performances sur le plan de la stabilité et la robustesse de la solution. Conclusion générale 143 Conclusion générale La gestion de la chaîne logistique est souvent confrontée à la présence d’incertitudes concernant des données comme la capacité des ressources, les délais, les demandes des clients… ce qui peut engendrer des perturbations des systèmes de production, pouvant parfois rendre les décisions planifiées inapplicables. Cette problématique a été posée en la cernant au sein d’une entreprise composée de plusieurs sites de production réalisant différents types d’opérations (fabrication, transformation, …) sur les produits. Elle constitue un maillon représentatif de la structure globale d’une chaîne logistique. Tenant compte de cela, nous avons proposé une approche intégrée à deux niveaux adoptant un processus de planification dynamique à horizon glissant tel que : le premier niveau de décision permet d’optimiser les coûts globaux de la production (la minimisation maximum des coûts) et le deuxième niveau établit un ordonnancement agrégé des opérations de fabrication des produits en minimisant les en-cours. Ainsi, les décisions de production relatives au premier niveau de décision sont actualisées à chaque pas de planification et sont transmises au deuxième niveau de décision. Ces décisions sont intégrées sous la forme de contraintes dites de conservation d’énergie, qui assurent l’interaction avec le niveau inférieur. Notre approche intégrée a été modélisée sous la forme d’un problème de satisfaction de contraintes dynamique. Dans ce cadre, nous associons à chaque itération de planification k un CSP (Pk) correspondant au problème de planification à résoudre. Le problème (Pk+1) constitue une actualisation du problème (Pk) par l’ajout ou le retrait de certaines contraintes issues de perturbations internes ou externes. En particulier, le premier niveau intègre des contraintes conditionnelles. Il se présente comme un outil d’aide à la décision en offrant la possibilité de choisir entre différents types de décision (la fabrication, la sous-traitance, les heures supplémentaires) dans le but de minimiser le coût total de la production. Le recours à la soustraitance a été conditionné par le dépassement de la charge globale de production définie par la capacité interne de l’entreprise et le nombre d’heures supplémentaires disponibles. Le niveau ordonnancement a aussi été modélisé sous la forme d’un problème de satisfaction de Conclusion générale 144 contraintes. En partant des décisions transmises par le niveau planification, il permet de déterminer les dates de début des opérations de fabrication de tous les produits sur les différents sites de productions. Une expérimentation de ce modèle a été effectuée sous le logiciel ECLi PSe 6.0, une extension du langage Prolog incluant des bibliothèques de programmation par contraintes. Ces expérimentations sont menées sur la base d’un cas de planification de la production d’une chaîne logistique. Les expérimentations ont porté sur la variation de la demande, la variation de la capacité et re-planification de la demande. Toutes les expérimentations sont réalisées par deux méthodes de résolution différentes : une méthode de résolution statique et une méthode de résolution dynamique. La performance d’une solution de planification/ordonnancement est renseignée par l’ensemble des mesures de la stabilité et de la robustesse. Pour cela, nous avons développé un ensemble d’indicateurs divisé en deux catégories : la première catégorie caractérise un ensemble d’indicateurs qui caractérisent le plan établi au niveau planification ; la deuxième catégorie concerne les indicateurs qui caractérisent le plan établi au niveau ordonnancement. Pour les différents types d’expérimentations réalisées et bien que les perturbations réalisées pour chacun de ces types ne soient pas très importantes, nous pouvons conclure que la méthode de résolution dynamique a montré de meilleures performances sur le plan de la stabilité et la robustesse de la solution. Différentes perspectives se dégagent de cette étude. Elles peuvent être regroupées en deux catégories. 1. La première catégorie est d’ordre méthodologique. Elle concerne essentiellement la structure de la chaîne logistique. Dans le cadre de ce travail, nous nous sommes limités au cas d’une entreprise qui se compose de plusieurs sites de production en interaction avec un ensemble de clients et de sous-traitants et où la distance entre les différents sites est négligeable. Il serait intéressant de se situer dans le cadre d’une entreprise multi-site et de considérer les contraintes de transport entre les différents sites de production. Conclusion générale 145 2. Une deuxième catégorie est d’ordre technique. - Une première perspective concerne l’algorithme de réparation que nous avons adopté. En effet, dans le cadre de ce travail, la réparation des contraintes non satisfaites après une certaine perturbation, est basée sur un changement des valeurs des variables appartenant à cette contrainte avec un pas toujours égal à 1 quelle que soit la contrainte. Il serait intéressant de développer des scénarios de réparation différents adaptés à chaque type de contrainte. - Les différentes expérimentations réalisées montrent la performance de la méthode de résolution par CSP dynamique par rapport à la méthode de résolution par CSP statique. Cependant, les perturbations réalisées sont peu diversifiées. Des perturbations portant sur d’autres aspects aideront à mieux caractériser les performances de l’approche dynamique. Il sera intéressant d’étudier l’influence d’autres paramètres liés à la planification comme le pas de planification, la longueur de l’horizon gelé où à la technique de résolution (examiner d’autres méthodes de recherche de solutions). - Un deuxième axe serait d’étudier des méthodes de résolution dynamique alternatives comme la programmation linéaire en nombres entiers ou les méta-heuristiques et d’analyser leur performance par rapport à la méthode de résolution par CSP dynamique. Références bibliographiques 146 Références bibliographiques 147 Références bibliographiques [Amrani-Zouggar, 2009] Amrani-Zouggar A., Impact des contrats d’approvisionnement sur la performance de la chaîne logistique : Modélisation et simulation. Thèse de doctorat, Université Bordeaux 1, 2009. [Anthony, 1965] Anthony R. N., Planning and Control Systems: A framework for analysis. Harvard University, Graduate School of Business Administration, Cambridge, Massachussets, 1965. [Ashayeri et Selen, 2003] Ashayeri J. et SelenW., Production planning model and a case study for the pharmaceutical industry in the Netherlands. International Journal of logistics: Research and applications, 6: 37-49, 2003. [Axsater et Jonsson, 1984] Axsater S. et Jonsson H., Aggregation and disaggregation in hierarchical production planning. European Journal of Operational Research, 17: 338-350, 1984. [Bellicha, 1993] Bellicha A., Maintenance of solution in a dynamic constraint satisfaction problem. In proceedings of applications of artificial intelligence in Engineering VIII, pages 261-274, 1993. [Berry et al., 1994] Berry D., Towill D.R. et Wadsley N., Supply Chain Management in the Electronics Products Industry. International Journal of Physical Distribution & Logistics Management, 24(10): 20-32, 1994. [Bertallanffy, 1968] Bertallanffy L., General System Theory. George Braziller, 1968. [Bertsimas et Sim, 2004] Bertsimas D. et Sim M., The Price of Robustness. Operations Research, 52: 35-53, 2004. [Bessière, 1991] Bessière C., Arc consistency in dynamic constraint satisfaction problems. In Proceedings of AAAI’91, Anaheim, CA, USA, pages 221-226, 1991. Références bibliographiques 148 [Bessière, 1992] Bessière C., Arc-consistency for non-binary dynamic CSPs. In Proceedings of ECAI’92, Vienna, Austria, pages 23-27, 1992. [Bessière et Régin, 2001] Bessière C. et Régin J., Refining the Basic Constraint Propagation Algorihm. In Proceedings of the 17th International Joint Conference on Artificial Intelligence (IJCAI’01), Seattle, WA, USA, pages 309-315, 2001. [Bessièreet al., 2005] Bessière C., Régin J., Yap R. et Zhang Y., An optimal coarse-grained arc consistency algorithm. Artificial Intelligence, 2(165): 165-185, 2005. [Bitner et Reingold, 1975] Bitner J. et Reingold E., Backtracking programming techniques. Communications of the ACM, 18(11): 651-656, 1975. [BitranetHax, 1977] Bitran G. et Hax A., On the design of hierarchical production planning systems. Decision Sciences, 8(1): 28-55, 1977. [Billaut et al., 2005] Billaut J.C., Moukrim A. et Sanlaville E. (sous la direction de), Flexibilité et robustesse en ordonnancement. Paris, Lavoisier. [Blondel, 1997] Blondel F., Gestion de la production. Dunod, 1997. [Botta-Genoulaz, 2003] Botta-Genoulaz V., Les systèmes d’information supports à la chaîne Logistique. Ecole d’été d’automatique - Gestion de la Chaîne Logistique, Session 24, Grenoble, France, 2003. [Bourrières et al., 2005] Bourrières J.P., Grabot B. et Mercé C., Pilotage des systèmes multisites de production : Outils industriels et méthodes avancées. Techniques de l'Ingénieur, S7662, 15 pages, 2005. [Camalot, 2000] Camalot J.P., Aide à la décision et à la coopération en gestion du temps et des ressources. Thèse de Doctorat, Institut National des Sciences Appliquées de Toulouse, Toulouse, France, 2000. [Chetouane, 1999] Chetouane F., Sur la robustesse dans les systèmes de production: application à la conduite d’un atelier à traitement de surfaces. Thèse de troisième cycle, INPG, Grenoble, juin 1999. Références bibliographiques 149 [Courtois et al., 1995] Courtois A., Martin-Bonnefous C. et Pillet M., Gestion de Production. Les éditions d’organisations, 3ème édition, Paris, 1995. [Croom et al., 2000] Croom S., Romano O. et Giannakis M., Supply chain management : an analytical framework for critical literature review. European Journal of Purchasing & Supply Management, 6: 67-83, 2000. [Dauzère-Pérès, 1992] Dauzère-Pérès S., Planification et ordonnancement de la production: une approche intégrée cohérente. Thèse de doctorat, Université Paul Sabatier de Toulouse, France, 1992. [Dauzère-Pérès et Lasserre, 1994] Dauzère-Pérès S. et Lasserre J.-B., Integration of lot sizing and scheduling decisions in a job-shop. European Journal of Operational Research, 75(2): 413-426, 1994. [Dauzère-Pérès et Lasserre, 2002] Dauzère-Pérès S. et Lasserre J.-B., On the importance of sequencing decisions in production planning and scheduling. International Transactions in Operational Research, 9(6): 779-793, 2002. [Debruyne, 1994] Debruyne R., DnAC-6.Technical Report 94054, LIRMM, 1994. [Debruyne, 1995] Debruyne R., Les algorithmes d’arc-consistance dans les CSP dynamiques. Revue d’Intelligence Artificielle, vol. 1, 9(3): 239-268, 1995. [Debruyne, 1996] Debruyne R., Arc-consistency in dynamic CSPs is no more prohibitive. In Proceedings of the 8th IEEE International Conference on Tools with Artificial Intelligence (ICTAI’96), pages 299–306, 1996. [Debruyneet al., 2003] Debruyne R., Ferrand G., Jussien N., Lesaint W., Louis S. et Tessier A., Correctness of constraint retraction algorithms. In Proceedings of the 16th International Florida Artificial Intelligence Research Society Conference (FLAIRS’03), St. Augustine, FL, USA, 2003. [Dechter et Dechter, 1988] Dechter R. et Dechter A., Belief maintenance in dynamic constraints networks. In Proceedings of the Seventh National Conference on Artificial Intelligence (AAAI’88), pages 37-42, 1988. Références bibliographiques 150 [Dechter, 1990] Dechter R., Enhancement schemes for constraint processing : Backjumping, learning and cut set decomposition. Artificial Intelligence, 41:273–312, 1990. [Despontin-Monsarrat, 2004] Despontin-Monsarrat E., Aide à la décision pour une coopération interentreprises dans le cadre de la production à la commande. Thèse de doctorat, Université Paul Sabatier, Toulouse, 2004. [Dolgui et Proth, 2006] Dolgui A. et Proth J.M., Les systèmes de production modernes. Volume 1, Lavoisier, Paris, 2006. [Dominguez et Lashkari, 2004] Dominguez H. et Lashkari R.S., Model for integrating the supply chain of an appliance company: a value of information approach, International Journal of Production Research, 42(11): 2113-2140, 2004. [Durieux et Pierreval, 2003] Durieux S. et Pierreval H., De la notion de robustesse dans les études de simulation. In Actes de la 4èmeConférence Francophone de Modélisation et Simulation (MOSIM’03), Toulouse, 2003. [Elkhiary, 2003] Elkhiary A., Outils d’aide à la décision pour des problèmes d’ordonnancement dynamiques. Thèse de doctorat, Ecole Nationale Supérieure des Techniques Industrielles et des Mines de Nantes, France, 2003. [Esquirol et Lopez, 1999] Esquirol P., et Lopez P., L’ordonnancement. Economica, Paris, 1999. [Faltings et Macho-Gonzalez, 2005] Faltings B. et Macho-Gonzalez S., Open Constraint programming. Artificial Intelligence, 161(1-2): 181-208, 2005. [Fargier et al., 1996] Fargier H., Lang J. et Schiex T., Mixed constraint satisfaction: A framework for decision problems under incomplete knowledge. In Proceedings of the 13th National Conf. on Artificial Intelligence (AAAI’96), pages 175-180, 1996. [Fischer, 2000] Fischer X., Stratégie de conduite du calcul pour l'aide à la décision en conception mécanique intégrée application aux appareils à pression. Thèse de doctorat, Ecole Nationale Supérieure d'Arts et Métiers, Bordeaux, 2000. Références bibliographiques 151 [Fontan et Imbert, 1985] Fontan G. et Imbert S., Interaction between the two levels of decision making in a job shop. Congrès EURO IV, Bologne, 1985. [Fontan et al., 1997] Fontan G., Mercé C. et Lasserre J., Concepts et outils pour les systèmes de production. Chapitre 3 de l’ouvrage collectif coordonné par J.-C. Hennet, Cépaduès Editions, 1997. [Fontan et al., 2001] Fontan G., Mercé C. et Erschler J., La planification des flux de production. In Performance Industrielle et Gestion des flux (P. Burlat, J.P. Campagne), Hermers Science Publications Traité IC2, 2001. [Fontan et al., 2005] Fontan G., Mercé C., Lasserre J.-B. et Hennet J.-C., Hierarchical scheduling for decision support, Journal of Intelligent Manufacturing, 16(2):235-242, 2005. [Fowler et Brown, 2000a] Fowler D. et Brown K., Branching constraint satisfaction problems for solutions robust under likely changes. In Principles and Practice of Constraint Programming, pages 500-504, 2000. [Fowler et Brown, 2000b] Fowler D. et Brown K., Branching constraint satisfaction problems. Technical report, Dept. of Computing Science, Univ of Aberdeen, 2000. [François, 2007] François J., Planification des chaînes logistiques : Modélisation du système décisionnel et performance. Thèse de doctorat, Université Bordeaux 1, 2007. [Galasso, 2007] Galasso F., Aide à la planification dans les chaînes logistiques en présence de demande flexible. Thèse de Doctorat, Institut National Polytechnique de Toulouse, 2007. [Ganeshan et al., 1998] Ganeshan R., Jack E., Magazine M.J. et Stephens P., A Taxonomic Review of Supply Chain Management Research. In Quantitative Models for Supply Chain Management, Kluwer Academic Publishers, Boston, pages 841-880, 1998. [Génin, 2003] Génin P., Planification tactique robuste avec usage d’un APS : Proposition d’un mode de gestion par plan de référence. Thèse de Doctorat, École des Mines de Paris, 2003. Références bibliographiques 152 [Geunes et Chang, 2001] Geunes J. et Chang B., Operations research models for supply chain management and design. In Encyclopaedia of Optimization, C.A. Floudas and P.M. Pardalos (Eds), Kluwer Academic Publishers, 4: 133-145, 2001. [Gharbi et al., 2009] Gharbi H., Merce C., Fontan G. et Moalla M., Supply Chain Hierarchical Planning Under Demand Uncertainty. IEEE, 2009. [Gharbi, 2012] Gharbi H., Planification réactive et robuste au sein d’une chaîne logistique. Thèse de Doctorat, Institut National des Sciences Appliquées de Toulouse, Toulouse, France, 2012. [Giard, 1988] Giard V., Gestion de la production. Economica, collection Gestion, 1988. [Giard, 2003] Giard V., Gestion de la production et des flux, Economica, 2003. [Giglio et Minciardi, 2002] Giglio D. et Minciardi R., Integration of production planning and scheduling in manufacturing systems. In IEEE International Conference on Systems, Man and Cybernetics, vol. 5, 2002. [Gomes et al., 1998] Gomes C., Selman B. et Kautz H., Boosting Combinatorial Search Through Randomization. In Proceedings of the 15th National Conference on Artificial Intelligence (AAAI’98), Madison, WI, USA, pages 431-437, 1998. [Gotha, 1993] Gotha, Les problèmes d’ordonnancement. RAIRO- Recherche opérationnelle/Operations Research, 27(1) : 77-150, 1993. [Grangeon, 2001] Grangeon N., Métaheuristiques et modèles d'évaluation pour le problème du flow shop hybride hiérarchisé : contexte déterministe et contexte stochastique. Thèse de l’université Blaise Pascal de Clermont-Ferrand, 2001. [Gunasekaran et al., 2006] Gunasekaran A., Ngai E.W.T et McGaughey R.E, Information technology and systems justification: A review for research and applications. European Journal of Operational Research, 173(3): 957-983, 2006. [Hammer et Champy, 1993] Hammer M. et Champy J., Le reengineering. Dunod, Paris, 1993. Références bibliographiques 153 [Haralick et Elliot, 1980] Haralick R. et Elliott G., Increasing Tree Search Efficiency for Constraint Satisfaction Problems. Artificial Intelligence, 14(3):263-313, 1980. [Harvey et Ginsberg, 1995] Harvey W. et Ginsberg M., Limited Discrepancy Search. In Proceedings of the 14th International Joint Conference on Artificial Intelligence (IJCAI’95), Montréal, Canada, pages 607-613, 1995. [Hentenryck et Provost, 1991] Hentenryck P.V. et Provost T.L., Incremental search in constraint logic programming. NewGener. Comput., 9: 257-275, 1991. [Hernandez-Silva, 2008] Hernandez-Silva J., Approche multi-niveau et ordonnancement d’activités dans un contexte de production à la commande. Thèse de doctorat, Institut National des Sciences Appliquées de Toulouse, France, 2008. [Herrera et Thomas, 2009] Herrera C. et Thomas A., Un modèle pour limiter la nervosité et l’instabilité du programme directeur de production. In 8 ème congrès international de génie industriel, Bagnères de Bigorre, France, 2009. [Hétreux, 1996] Hétreux G., Structures de décision multi-niveaux pour la planification de la production : Robustesse et cohérence des décisions. Thèse de doctorat, Institut National des Sciences Appliquées de Toulouse, France, 1996. [Heisig 1998] Heisig G., Planning stability under (s,S) inventory control rules. OR Spektrum 20(4): 215-228, 1998. [Ho, 1989] Ho C., Evaluating the impact of operating environments on MRP system nervousness. International Journal of Production Research, 27: 1115-1135, 1989. [Huang et al., 2003] Huang G.Q., Lau J.S.K. et Mak K.L., The Impacts of Sharing Production Information on Supply Chain Dynamics: A Review of the Literature. International Journal of Production Research, 41(7): 1483-1517, 2003. [Huber, 1981] Huber P.J., Robust Statistics. John Wiley & Sons, 1981. Références bibliographiques 154 [Huguet, 1994] Huguet M.J., Approche par contrainte pour l'aide à la décision et à la coopération en gestion de production. Thèse de doctorat, Institut National des Sciences Appliquées de Toulouse, France, 1994. [Jagdev et al., 2003] Jagdev H.S., Brennan A. et Browne J., Strategic decision making in modern manufacturing. Kluwer Academic Publishers, London, 2003. [Jensen, 1993] Jensen T., Measuring and improving planning stability of reorder point lotsizing policies. International Journal of Production Economics, 30-31: 167-178, 1993. [Johnson et Montgomery, 1974] Johnson L.A. et Montgomery D.C., Operations research in Production Planning, Scheduling, and Inventory Control. Wiley, 1974. [Jones et Riley, 1985] Jones T. et Riley D., Using inventory for competitive advantage through Supply Chain Management. International Journal of Physical Distribution and Material Management, 15(5): 16-26, 1985. [Jussien et Lhomme, 2002] Jussien N. et Lhomme O., Local search with constraint propagation and conflict-based heuristics. Artif. Intell., 139: 21-45, 2002. [Kelton, 1999] Kelton W.D., Designing Simulation Experiments. In Proceedings of the 1999 Winter Simulation Conference, pages 33-38, 1999. [Kleijnen et Gaury, 2003] Kleijnen J.P.C. et Gaury E., Short-term robustness of production management systems: A case study. European journal of operational research, 148: 452-465, 2003. [Lambert et Cooper, 2000] Lambert D.M. et Cooper M.C., Issues in Supply Chain Management. Industrial Marketing Management, 29: 65-83, 2000. [Lalami, 2012] Lalami M.E., Contribution à la résolution de problèmes d’optimisation combinatoire : méthodes séquentielles et parallèles. Thèse de doctorat, Université Paul Sabatier de Toulouse, France, 2012. Références bibliographiques 155 [La Londe et Masters, 1994] La Londe B.J. et Masters J.M., Emerging Logistics Strategies : Blueprints for the next century. International Journal of Physical Distribution and Logistics Management, 24(7): 35-47, 1994. [Lee et Billington, 1993] Lee H.L. et Billington C., Material management in decentralized supply chain. Operations Research, 41(5), 1993. [Lemoigne, 1974] Lemoigne J.L., Les systèmes de décision dans les organisations. Presses Universitaires de France, 1974. [Lopez, 1991] Lopez P., Approche énergétique pour l’ordonnancement de tâches sous contraintes de temps et de ressources. Thèse de doctorat, Université Paul Sabatier de Toulouse, France, 1991. [Lopez, 2001] Lopez P., Le concept de contraintes : propagation, satisfaction, programmation. « Contraintes » - GRP, Toulouse, France, 2001. [Lorino, 1995] Lorino P., Comptes et Récits de la Performance, Essai sur le pilotage de l'Entreprise. Editions d'Organisation, page 288, Paris, 1995. [Mackworth, 1977] Mackworth A.K., Consistency in networks of relations. Artif. Intell., 8(1) : 99-118, 1977. [Mahmoudi, 2006] Mahmoudi J., Simulation et gestion des risques en planification distribuée de chaînes logistiques : Application au secteur de l’électronique et des télécommunications. Thèse de doctorat, Ecole Nationale Supérieure de l’Aéronautique et l’Espace, 2006. [Mehra et al., 1996] Mehra A., Minis I. et Proth J.M., Hierarchical production planning for complex manufacturing systems. Advances in Engineering Software, 26: 209-218, 1996. [Mentzeret al., 2001] Mentzer J.T., Dewitt W., Keebler J.S., Min S., Nix N.W., Smith C.D. et Zacharia Z.G., Defining supply chain Management. Journal of Business Logistics, 22(2) : 1- 25, 2001. [Mercé, 1987] Mercé C., Cohérence des décisions en planification hiérarchisée. Thèse d’état de l’Université Paul Sabatier de Toulouse, 1987. Références bibliographiques 156 [Mercé et Fontan, 2001] Mercé C. et Fontan G., Hiérarchisation de la fonction planification. In Organisation et Gestion de Production (J. Erschler, B. Grabot), Hermès Sciences Publication, Traité IC2, 2001. [Miler, 2001] Miller T., Hierarchical operations and supply chain planning. Springer, 2001. [Min et Zhou, 2002] Min H. et Zhou G., Supply chain modeling: past, present and future. Computers & Industrial Engineering, 43: 231-249, 2002. [Minton et al., 1992] Minton S., Johnston M.D., Philips A.B. et Laird P., Minimizing conflicts: a heuristic repair method for constraint satisfaction and scheduling problems. Artificial Intelligence, 58:161–205, 1992. [Mittal et Falkenhainer, 1990] Mittal S. et Falkenhainer B., Dynamic constraint satisfaction problems. In AAAI’90, pages 25-32, Boston, US, 1990. [Mohr et Henderson, 1986] Mohr R. et Henderson T.C., Arc and path consistency revisited. Artificial Intelligence, 28: 225-233, 1986. [Mokhtari et al., 2013] Mokhtari H., Nakhai I. et Abadi K., Scheduling with an outsourcing option on both manufacturer and subcontractors. Computers and Operations Research, 40 : 1234-1242, 2013. [Moncel, 2010] Moncel J., Minimisation des encours sur une machine pour des tâches sujettes à des phénomènes d’usure ou d’apprentissage. In 11e congrès de la société française de recherche opérationnelle et d’aide à la décision (Roadef’10), page 171, 2010. [Monk, 2005] Monk E., Concepts in Enterprise Resource Planning. Course Technology 2nd ed., 2005. [Montanari, 1974] Montanari U., Networks of constraints: fundamental properties and application to picture processing. Information Science, 7, 1974. [Nadel, 1989] Nadel B., Constraint Satisfaction Algorithms. Computational Intelligence, 5: 188-299, 1989. Références bibliographiques 157 [Nayaket al., 2001] Nayak N., Bhaskaran K. et Das R., Virtual Enterprises - Building Blocks for Dynamic e-Business. In Proceedings of Information Technology for Virtual Enterprises workshop IEEE, pages 80–87, 2001. [Orlicky, 1975] Orlicky J.A., Material Requirements Planning. McGraw-Hill Book Co, New York, 1975. [Oustaloup, 1994] Oustaloup A., La robustesse : analyse et synthèse de commande robuste. Traité des nouvelles technologies, Hermès, série Automatique, Paris, 1994. [Ozdamar et Barbarosoglu, 2000] Ozdamar L. et Barbarosoglu G., An integrated lagrangean relaxation-simulated annealing approach to the multi-level multi-item capacitated lot sizing problem. International Journal of Production Economics, 68(3): 319-331, 2000. [Richaud, 2009] Richaud G., Outillage logiciel pour les problèmes dynamiques. Thèse de doctorat, Ecole Nationale Supérieure des Techniques Industrielles et des Mines de Nantes, France, 2009. [Rota, 1998] Rota K., Coordination temporelle de centres gérant de façon autonome des ressources : application aux chaînes logistiques intégrées en aéronautique. Thèse de doctorat, Sup’aéro, France, 1998. [Rota-Frantz et al., 2001] Rota-Frantz K., Bel G. et Thierry C., Gestion des flux dans les chaînes logistiques. In Performance Industrielle et gestion des flux, pages 153-187, Hermes Science, 2001. [Roy, 1998] Roy B., A missing link in operational research decision aiding: robustness analysis. Foundations of Computing and Decision Sciences, 23(3): 141-160, 1998. [Roy, 2005] Roy B., A propos de robustesse en recherche opérationnelle et aide à la décision. In Flexibilité et robustesse en ordonnancement, (J.-C Billaut, A. Moukrim, E. Sanlaville), Hermes Science Publications, Traité IC2, 2005. [Sabin et Freuder, 1994] Sabin D. et Freuder E., Contradicting conventional wisdom in constraint satisfaction. In Proceedings of the 11th European Conference on Artificial Intelligence (ECAI’94), Amsterdam, The Netherlands, pages 125-129, 1994. Références bibliographiques 158 [Sakka, 2012] Sakka O., Alignement sémantique entre référentiels d’entreprise - Application aux systèmes d’exécution de la fabrication (MES). Thèse de doctorat, Institut national des sciences appliquées de Lyon, 2012. [Schiex et al., 1995] Schiex T., Fargier H. et Verfaillie G., Valued constraint satisfaction problems: Hard and easy problems. In Proceedings of the 14th International Joint Conference on Artificial Intelligence (IJCAI’95), Montréal, Canada, pages 631-637, 1995. [Schwalb et Dechter, 1991] Schwalb E. et Dechter R., Processing disjunctions in temporal constraint networks. Artificial Intelligence, 49: 61–95, 1991. [Shapiro, 1998] Shapiro J., Bottom-up versus top-down approaches to supply chain modeling. In Quantitative Models for Supply Chain Management, Kluwer Academic Publishers, pages 739-759, 1998. [Simchi-Levi et al., 2003] Simchi-Levi D., Kamnisky P. et Simchi-Levi E., Designing and managing the supply chain: Concepts, strategies and case studies. McGraw-Hill/Irwin, New York, second edition, 2003. [Sikora et al., 1996] Sikora R., Chhajed D. et Shaw M., Integrating the lot-sizing and sequencing decisions for scheduling a capacitated flow line. Computers and Industrial Engineering, 30(4): 659-679, 1996. [Sridharan, 1990] Sridharan S.V. et Laforge R.L., An analysis of alternative policies to achieve schedule stability. Journal of Manufacturing and Operations Management, 3:53-73, 1990. [Stadtler et Kilger, 2005] Stadtler H. et Kilger C. (Ed.), Supply Chain Management and Advanced Planning. 3e ed. (Springer: Berlin), 2005. [Taguchi, 1987] Taguchi G., Orthogonal arrays and linear graph, American Supplier Institute press, 1987. [Tan, 2001] Tan K.C., A framework of supply chain management literature. European Journal of Purchasing and Supply Management, 7: 39-48, 2001. Références bibliographiques 159 [Tayur et al., 1999] Tayur S., Ganeshan R. et Magazine M., Quantitative models for supply chain management. Kluwer Academic Publishers, 1999. [Thierry, 2003] Thierry C., Gestion de chaînes logistiques, Modèles et mise en œuvre pour l’aide à la décision à moyen terme. Mémoire HDR, Université Toulouse 2, Le Mirail, 2003. [Thomas et Griffin, 1996] Thomas D.J. et Griffin P.M., Coordinated supply chain management. European Journal of Operational Research, 94: 1-15, 1996. [Thomas, 2003] Thomas A., Impact du concept de chaîne logistique sur les systèmes de gestion de production - Le nouveau rôle de la planification tactique et les nouveaux outils. Ecole d’été d’automatique – Gestion de la Chaîne Logistique, Session 24, Grenoble, France, 2003. [Timpe, 2004] Timpe C., Solving planning and scheduling problems with combined integer and constraint programming. OR Spectrum, 24(4): 431 -448, 2004. [Trojet et al., 2010] Trojet M., H’Mida F. et Lopez P., Project scheduling under resource constraints: Application of the cumulative global constraint in a decision support framework. Computers & Industrial Engineering, 61(2): 357-363, 2010. [Trombettoni, 1993] Trombettoni G., A constraint maintenance algorithm based on value propagation. In Poster in the 6th Portuguese Conference on Artificial Intelligence (EPIA’93), éd. Par Filgueras (Miguel) et Damas (Luis), page 360, Porto, Portugal, 1993. [Tsang, 1993] Tsang E., Foundations of constraint satisfaction. Academic Press INC, 1993. [Tsubone et al., 2002] Tsubone H., Ishikawa Y. et Yamamoto H., Production planning system for a combination of make-to-stock and make-to-order products. International Journal of Production Research, 40: 4835-4851, 2002. [Tung et al., 1999] Tung L., Lin L. et Nagi R., Multiple-objective scheduling for the hierarchical control of flexible manufacturing systems. The International Journal of Flexible Manufacturing Systems, 11: 379 - 409, 1999. Références bibliographiques 160 [Tsukiyama et al., 1998] Tsukiyama M., Mori K. et Fukuda T., Hierarchical distributed algorithm for large scale manufacturing systems. IFAC IFORS IMACS IFIP Symposium on large scale systems theory and applications, Patras, Greece, 1998. [Van Wassenhove et Potts, 1991] Van Wassenhove L. et Potts C.N., Integrating scheduling with batching and lot-sizing: A review of algorithms and complexity. Working paper n°91/10/TM, Insead, Fontainebleau, France, 1991. [Vareilles, 2005] Vareilles E., Conception et approches par propagation de contraintes : contribution à la mise en œuvre d’un outil d’aide interactif. Thèse de doctorat, Ecole des Mines d’Albi-Carmaux, France, 2005. [Verfaillie et Schiex, 1994a] Verfaillie G. et Schiex T., Solution reuse in dynamic constraint satisfaction problems. In Proceedings of the 12th National Conference on Artificial Intelligence (AAAI’94), pages 307-312, 1994. [Verfaillie et Schiex, 1994b] Verfaillie G. et Schiex T., Dynamic backtracking for dynamic constraint satisfaction problems. In Proceedings of the (ECAI’94) Workshop on Constraint Satisfaction Issues Raised by Practical Applications, pages 1-8, Amsterdam, 1994. [Verfaillie et Schiex, 1995] Verfaillie G. et Schiex T., Maintien de solutions dans les problèmes dynamiques de satisfaction de contraintes : bilan de quelques approches. In Revue d’Intelligence Artificielle, 9(3): 269-310, 1995. [Verfaillie et Jussien, 2005] Verfaillie G. et Jussien N., Constraint solving in uncertain and dynamic environments : A survey. Constraints, 10(3): 253-281, 2005. [Vincke, 2003] Vincke P., About Robustness Analysis. In Newsletters of the European Working Group “Multicriteria Aid for Decisions”, number 8 in 3, pages 7-9, 2003. [Vobet Woodruff, 2006] Vob S. et Woodruff D.L., Introduction to Computational Optimization Models for Production Planning in a Supply Chain. 2 nd edition Springer, 2006. [Vollmann et al., 1997] Vollmann T.E., Berry W.L. et Whybark D.C., Manufacturing planning and control systems. 4 th ed., McGraw-Hill Book Company, New York, NY, 1997. Références bibliographiques 161 [Wallace et Grimes, 2010] Wallace R.J. et Grimes D., Problem-structure versus solutionbased methods for solving dynamic constraint satisfaction problems. In Proceedings of the 22nd international conference on tools with artificial intelligence (ICTAI’10), IEEE, 2010. [Walsh, 2002] Walsh T., Stochastic constraint programming. In Proceedings of the 15th ECAI, European Conference on Artificial Intelligence, IOS, pages 111-115, Press, 2002. [Wolf et Chen, 1995] Wolf J. et Chen M., A hierarchical approach to parallel multiquery scheduling. IEEE Transactions on Parallel and Distributed systems, 6(6): 578-590, 1995. [Wolosewicz, 2008] Wolosewicz C., Approche intégrée en planification et ordonnancement de la production. Thèse de doctorat, Ecole Nationale Supérieure des Mines de Saint-Etienne, Gardanne, France, 2008. [Yan et al., 2004] Yan H., Zhang X. et Jiang M., Hierarchical production planning with demand constraints. Computers and industrial engineering, 46(3): 533-551, 2004. [Yano, 1987] Yano C.A. et Carlson R.C., Interaction between frequency of rescheduling and the role of safety stock in material requirements planning systems. International Journal of Production Research, 25: 221-232, 1987. [Zaidi et al., 2010] Zaidi M., Jarboui B., Loukil T. et Kacem I., Hybrid meta-heuristics for uniform parallel machine to minimize total weighted completion time. In 8 th International Conference of Modeling and Simulation, 2010. [Zapfel, 1998] Zapfel G., Customer-order-driven production: An economical concept for responding to demand uncertainty. International journal of production economics, 56/57, pages 699-709, 1998. [Zhang et Yap, 2001] Zhang Y. et Yap R., Making AC-3 an Optimal Algorithm. In Proceedings of the 17th International Joint Conference on Artificial Intelligence (IJCAI’01), Seattle, WA, USA, pages 316-321, 2001. 162 Titre : « Planification d'une chaîne logistique : Approche par satisfaction de contraintes dynamiques » Résumé : Le sujet de thèse porte sur la planification tactique et opérationnelle d’une chaîne logistique dans un contexte dynamique. Nous proposons un modèle de planification basé sur une structure décisionnelle à deux niveaux. Adoptant un processus dynamique permettant d’actualiser les données à chaque étape de planification, le premier niveau planifie la production en recherchant le meilleur compromis entre les leviers décisionnels disponibles liés aux aspects capacité et coût de production. Le deuxième niveau établit un ordonnancement agrégé des opérations de fabrication en minimisant les en-cours. Le recours à une structure décisionnelle intégrée nous a conduit à établir une interaction entre les niveaux supérieur et inférieur de décision, mise en œuvre par des contraintes dites de conservation d’énergie. Notre approche est modélisée sous la forme d’un problème de satisfaction de contraintes (CSP, Constraint Satisfaction Problem) et évaluée par simulation dans un contexte de données incertaines. Nous avons mené différentes expérimentations portant sur la variation de la demande, la variation de la capacité et la re-planification de la demande. Toutes les expérimentations sont réalisées par deux méthodes de résolution différentes : une méthode basée sur un CSP statique et une méthode basée sur un CSP dynamique. La performance d’une solution de planification/ordonnancement est renseignée par l’ensemble des mesures de la stabilité et de la robustesse. Les expérimentations réalisées offrent une démonstration de la performance de la méthode de résolution basée sur un CSP dynamique par rapport à la méthode statique. Mots-clés : Chaîne logistique, Planification / Ordonnancement, Approche intégrée, Problèmes de satisfaction de contraintes (CSP), CSP dynamique, Stabilité, Robustesse. Title: “Supply chain planning: A dynamic constraint satisfaction approach” Abstract: This work focuses on the supply chain operational and tactical planning problem in an uncertain environment. We propose a tactical planning model, based on a two-level decisional structure. Adopting a dynamic process, which enables data updating at each planning step, the first level performs a plan by searching for the best compromise between available decision-making levers for production costs and capacity. The second level establishes an aggregate scheduling of production tasks by minimizing the total weighted completion time. The use of an integrated decision structure involves interaction between the upper and lower decision levels constraints, implemented by constraints known as energy conservation constraints. Our approach is formulated according to a constraint satisfaction problem (CSP) and evaluated by simulation under uncertain data. For this, we have developed various experiments related to the variation of customer demand, resource capacity, and the re-planning of demand. All the experiments are carried out by two different methods: a method based on a static CSP and a method based on a dynamic CSP. The performance of a scheduling/planning solution is reported through a set of robustness and stability measurements. Results of experiments confirm the performance of the method based on a dynamic CSP. Keywords: Supply chain, Planning / Scheduling, Integrated approach, Dynamic Constraint Satisfaction, Stability, Robustness. Catalogage de petits d´ebris spatiaux en orbite basse par observations radars isol´ees Thibaut Castaings To cite this version: Thibaut Castaings. Catalogage de petits d´ebris spatiaux en orbite basse par observations radars isol´ees. Signal and Image processing. Institut National Polytechnique de Grenoble - INPG, 2014. French. HAL Id: tel-00955486 https://tel.archives-ouvertes.fr/tel-00955486v2 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.THÈSE pour obtenir le grade de DOCTEUR DE L’UNIVERSITÉ DE GRENOBLE Spécialité : Signal, Image, Parole, Télécoms Arrêté ministériel : 7 août 2006 présentée par Thibaut Castaings préparée au sein de l’Office National d’Études et de Recherches Aérospatiales (ONERA) et de l’École Doctorale Electronique Electrotechnique Automatique Traitement du Signal (EEATS) Catalogage de petits débris spatiaux en orbite basse par observations radars isolées Thèse soutenue publiquement le 21 Janvier 2014, devant le jury composé de : M. Olivier Michel, Président Institut National Polytechnique de Grenoble (Grenoble-INP) M. Thomas Schildknecht, Rapporteur Astronomical Institute of the University of Bern (AIUB) M. Frédéric Dambreville, Rapporteur Direction Générale de l’Armement (DGA) M. Pascal Faucher, Examinateur Centre National d’Études Spatiales (CNES) Mme Michèle Rombaut, Directrice de thèse Grenoble Images Parole Signal Automatique (GIPSA-Lab) M. Benjamin Pannetier, Co-directeur de thèse Office National d’Études et de Recherches Aérospatiales (ONERA) M. Florent Muller, Co-directeur de thèse Office National d’Études et de Recherches Aérospatiales (ONERA)Remerciements Je tiens à remercier les membres du jury pour le temps consacré à l’évaluation de ces travaux de thèse. Je suis tout particulièrement reconnaissant envers Messieurs Thomas Schildknecht et Frédéric Dambreville pour m’avoir fait l’honneur d’examiner mon manuscrit jusque dans les plus fins détails. Je remercie très sincèrement Monsieur Olivier Michel pour avoir présidé le jury de cette thèse et pour la grande intégrité dont il a fait preuve en maintenant sa présence lors de cette journée du 21 Janvier alors qu’il était fortement sollicité par ailleurs. De même, Monsieur Pascal Faucher m’a fait l’honneur de participer à ce jury malgré sa faible disponibilité. Les commentaires émis et les discussions que nous avons eues constituent autant de points de vue enrichissants, éclairés par les expertises respectives et la grande qualité des membres du jury. Je remercie très chaleureusement mon équipe encadrante, qui a su se montrer efficace et complémentaire : Benjamin Pannetier, pour son expertise en pistage qui va jusqu’à la connaissance parfaite d’ouvrages de référence. Sa mémorisation impressionnante du sommaire du Blackman et du Bar-Shalom est un indicateur fort de sa maîtrise sur le sujet et l’a rendu immédiatement très crédible à mes yeux alors néophytes. Je tiens par ailleurs à rendre justice au soutien moral que Benjamin m’a apporté (parfois même sans s’en rendre compte), quand le soutien technique était difficile du fait de la pluralité des domaines couverts. Florent Muller, pour son expertise système et ses connaissances en systèmes radars et modèles orbitaux. La rigueur, l’exigence vis-à-vis de soi, et une vraie passion pour le domaine spatial sont autant d’enseignements que j’ai reçus et qui, je l’espère, m’ont été transmis. Michèle Rombaut, pour son sens de la pédagogie et sa curiosité authentique pour tous les domaines scientifiques. Son ouverture d’esprit vis-à-vis des domaines qui ne sont pas directement liés aux siens et sa virtuosité dans l’art d’expliquer simplement ont été des éléments à mon sens fondamentaux pour conclure cette thèse. J’ai reçu au cours de ces trois années l’aide ponctuelle mais précieuse de nombreuses personnes. Je souhaite remercier très chaleureusement Bertrand Le Saux pour les conseils de grande qualité qu’il m’a donnés à des moments charnières. Il est important de mentionner qu’il est celui qui m’a incité à utiliser un algorithme de classi- fication binaire pour l’estimation du modèle statistique qui occupe maintenant une place centrale parmi les contributions de cette thèse. Grâce à sa très vaste culture et à son expérience, l’algorithme de classification a pu être mis en œuvre et exploité de iRemerciements manière efficace en un laps de temps très court, et fournir à ces travaux, par certains aspects, des garanties théoriques plus solides. Je souhaite également remercier très chaleureusement Nicolas Bérend pour un très important service logistique rendu. Par ailleurs, certaines analyses dont il a pu me faire part ont guidé certains choix pour les étapes de détermination d’orbite. La liste est longue, et pour éviter toute omission je laisse le soin aux personnes qui se reconnaîtront d’accepter mes plus sincères remerciements pour m’avoir prodigué les analyses et points de vue qui m’ont permis de progresser dans la problématique de cette thèse. Ces trois années passées à l’ONERA sont pour moi une mosaïque de belles rencontres et de moments exceptionnels. Outre leurs qualités scientifiques, je souhaite témoigner avant tout des grandes qualités humaines des personnes que j’ai côtoyées. J’ai choisi de faire cela en vous livrant quelques passages d’un journal que j’ai tenu lors de mes débuts en tant que doctorant. 1er jour : Je découvre mon superviseur. Il ressemble à Tom Cruise. Il me conduit au Bâtiment N, le nouveau fleuron de la flotte. Nous passons par un tunnel style « Zone 51 », les néons au plafond me font penser à une rampe de lancement. J’aperçois dans des alcôves des soi-disant maquettes de missiles. Je ne mords pas une seconde : nul doute que tout cet attirail est opérationnel. Tom me présente une multitude de geeks. Aucun ne donne l’impression d’avoir un profil psychologique standard. Il paraît que ces personnes ont passé les 20 dernières années dans un lieu conçu pour abriter un asile psychiatrique. J’aurais pu le deviner aux propos irrationnels que j’entends depuis que je suis arrivé. Des exosquelettes pour les vaches ? Pourquoi pas des cigarettes électroniques ! Je soupçonne quelque chose dans l’air qui altère le jugement. Il me faudra être prudent si je veux subsister. 6ème jour : Les geeks semblent s’habituer à ma présence. Je peux aller et venir dans les couloirs sans plus sentir ces regards mêlant à la fois suspicion et indifférence. Je commence à remarquer les particularités de certains. L’un d’eux me harcèle depuis plusieurs jours pour que je touche ses biceps. J’ai fini par céder et je comprends maintenant pourquoi. Leur fermeté est telle que je me suis fait une tendinite à l’index au premier contact. Je n’aurais su dire alors si cela était de la malveillance et n’en adoptai un comportement que plus méfiant à l’égard de cet individu, mais je compris plus tard que ces biceps étaient le symbole de l’effort physique, essentiel et vital, que j’ai enduré au cours de ces trois années sous la pression incessante de celui que je nommais pour moi-même « Coach ». Coach m’a aidé à me vider l’esprit et pour cela je lui suis reconnaissant, car l’équilibre est la clé. 10ème jour : Je remarque une sorte de dandy barbu lorsque celui-ci m’accuse gratuitement de ne pas savoir lire. N’étant pas assez familier avec les us et coutumes de cet endroit, je décide de ne pas prendre ombrage de ce commentaire et me convaincs que Dandy n’a pas une attitude hostile en dépit des apparences mais essaye bel et bien de se iimontrer amical. C’est avec le temps que Dandy et moi apprîmes à nous comprendre et je dois admettre aujourd’hui que Dandy fait partie des soutiens moraux sans lesquels ma barque se serait certainement échouée. 11ème jour : Je pense que certains individus vivent ici. Je n’ai jamais vu le geek à l’air sympathique arriver ou partir, il est toujours là. Je décide de tenter une expérience en le sollicitant pour une tâche triviale. Il s’en acquitte. Quiconque à sa place m’aurait refusé ce service. J’en déduis que cet être est doué d’une capacité d’empathie hors du commun et que pour cela, il est devenu le pilier du département. Sans lui tout s’effondre, j’en ai acquis la certitude. Cet ami m’a tiré du pétrin maintes fois, et le récit de ses exploits pourrait faire l’objet d’un livre malgré les quelques faux pas dont il s’est rendu coupable comme par exemple le consternant pistolet à bisous. 20ème jour : Je réalise que les doctorants fournissent un effort intense et perpétuel alors qu’ils sont peu considérés par la société. Ce constat m’est clairement apparu au fil de discussions avec deux individus plutôt discrets, l’un aux airs de philosophe, l’autre tenant des propos de grand voyageur marin. Sous leurs airs mystérieux, je ne saurais déterminer avec précision leur degré d’ironie : les doctorants se nourrissent-ils vraiment de pain rassis ? Je ne livrerai pas la réponse à cette question, mais avec le recul je peux affirmer que les doctorants s’endurcissent : ils deviennent solides, solidaires, et tous incroyablement optimistes malgré la tempête qui s’acharne. Aurélien, Joseph, Christophe, Laure, Guillaume, Pauline, Paul, Oana, Achille et les autres, vous m’avez montré la voie et soutenu, parfois malgré vous, dans les moments difficiles. Je ressens une nostalogie toute particulière quand je pense à Coco, mon co-bureau, et à tous ces moments inoubliables. Avec Coco, nous partagions nos joies, nos peines et nos ambitions. Quant à Isabelle, Hicham et Maxime, n’abandonnez pas le combat, défendez avec ferveur l’honneur des doctorants et transmettez leur trésor pour que jamais ne s’éteigne le flambeau. La méfiance de mes débuts laissa peu à peu la place à un sentiment de forte inté- gration. Le déjeuner, rituel toujours très convivial, et les autres moments de détente bien mérités qui rythment les journées m’ont permis de connaître les nombreux personnages qui font le DTIM. Les éclats de rires, les caricatures, les vannes gratuites, les conversations (souvent sans queue ni tête) sont ce que je retiens de tous ces bons moments. J’espère que vous serez convaincus du plaisir sincère que j’éprouve à me remémorer ces trois années pendant lesquelles vous m’avez accueilli. J’ai la chance d’avoir trouvé parmi vous des camarades précieux, sinon des amis. Hélas rien n’est éternel. Les doctorants défilent, le monde ne s’arrête pas. Et d’autres camarades à leur tour mêlent leurs destins au mien. iiiRemerciements Faux départ ! ivTable des matières Acronymes xi Lexique xiii Notations xv I Introduction 1 1 Contexte de la surveillance de l’espace 3 1.1 L’espace, un domaine critique . . . . . . . . . . . . . . . . . . . . . . 4 1.2 L’anti-collision, une application de la surveillance de l’espace . . . . . 5 1.2.1 La menace des débris spatiaux . . . . . . . . . . . . . . . . . . 5 1.2.2 Catalogage des débris en orbite basse . . . . . . . . . . . . . . 6 1.3 Systèmes existants . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.1 Le réseau de surveillance spatiale américain (U.S. Space Surveillance Network) . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.2 Les systèmes européens . . . . . . . . . . . . . . . . . . . . . . 9 1.4 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 Paramétrage d’un radar pour la détection de petits objets 11 2.1 Principe fondamental et définitions . . . . . . . . . . . . . . . . . . . 12 2.2 Mode de balayage Track While Scan (TWS) . . . . . . . . . . . . . . 12 2.3 Émission pulsée versus émission continue . . . . . . . . . . . . . . . . 14 2.3.1 Cas du radar monostatique en émission pulsée . . . . . . . . . 14 2.3.2 Cas du radar bistatique en émission pulsée ou continue . . . . 16 2.4 Traitement du signal reçu . . . . . . . . . . . . . . . . . . . . . . . . 16 vTABLE DES MATIÈRES 2.4.1 Chaîne de détection . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4.2 Non-détections et fausses alarmes . . . . . . . . . . . . . . . . 17 2.5 Influence de la fonction sur le choix de la longueur de l’onde émise . . 20 2.5.1 RSB en fonction des paramètres du radar et des cibles . . . . 20 2.5.2 Influence du FOR Ψ . . . . . . . . . . . . . . . . . . . . . . . 21 2.5.3 SER en fonction de la longueur de l’onde émise . . . . . . . . 21 2.6 Choix d’une configuration et d’un paramétrage de capteur envisageable 23 2.6.1 Choix d’une configuration monostatique pulsée . . . . . . . . . 23 2.6.2 Géométrie du champ de veille (Field Of Regard, FOR) . . . . 24 2.6.3 Précision des mesures . . . . . . . . . . . . . . . . . . . . . . . 25 2.7 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3 Modèles dynamiques et satellites en orbite basse 27 3.1 Systèmes de coordonnées usuels . . . . . . . . . . . . . . . . . . . . . 28 3.1.1 Référentiels géocentriques inertiel (ECI) et fixe (ECF) . . . . . 28 3.1.2 Référentiel Géodésique . . . . . . . . . . . . . . . . . . . . . . 28 3.2 Potentiel terrestre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3 Le modèle képlérien . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.3.1 Modèle simple . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.3.2 Dérive des paramètres orbitaux . . . . . . . . . . . . . . . . . 32 3.4 Le modèle SGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4.1 Modélisation du potentiel terrestre . . . . . . . . . . . . . . . 33 3.4.2 Modélisation paramétrique de la traînée atmosphérique . . . . 34 3.5 Le catalogue Space-Track . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.5.1 Format des éléments . . . . . . . . . . . . . . . . . . . . . . . 34 3.5.2 Distribution des paramètres orbitaux . . . . . . . . . . . . . . 35 3.6 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Conclusion de la première partie 37 II Synthèse et analyse des techniques existantes contriviTABLE DES MATIÈRES buant au catalogage 39 Introduction de la deuxième partie 41 4 Pistage 43 4.1 Pistage Monocible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.1.1 Modélisation paramétrique . . . . . . . . . . . . . . . . . . . . 44 4.2 Estimation d’un état à partir d’une piste existante . . . . . . . . . . . 45 4.3 Pistage multicible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3.1 Approches bayésiennes . . . . . . . . . . . . . . . . . . . . . . 51 4.3.2 Approches non-bayésiennes . . . . . . . . . . . . . . . . . . . . 53 4.4 Choix d’un TO-MHT résultant des contraintes d’emploi . . . . . . . . 56 4.5 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5 Détermination d’orbite préliminaire 61 5.1 Problématique de la Détermination d’Orbite Initiale . . . . . . . . . . 62 5.2 Trois observations de position . . . . . . . . . . . . . . . . . . . . . . 63 5.2.1 Méthode de Gibbs . . . . . . . . . . . . . . . . . . . . . . . . 63 5.2.2 Méthode de Herrick-Gibbs . . . . . . . . . . . . . . . . . . . . 64 5.3 Deux observations de position . . . . . . . . . . . . . . . . . . . . . . 65 5.3.1 Méthode de Gauss . . . . . . . . . . . . . . . . . . . . . . . . 66 5.3.2 Méthode de Battin et révolutions multiples . . . . . . . . . . . 67 5.4 Méthode des débris virtuels (Virtual Debris) . . . . . . . . . . . . . . 68 5.4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.4.2 Résultats publiés . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.5 Insuffisance des techniques existantes . . . . . . . . . . . . . . . . . . 70 5.5.1 Pour l’association initiale . . . . . . . . . . . . . . . . . . . . . 70 5.5.2 Pour la Détermination d’Orbite Initiale (IOD) . . . . . . . . . 71 5.6 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Conclusion de la deuxième partie 73 III Traitement des observations issues d’un radar à champ viiTABLE DES MATIÈRES de veille restreint pour le catalogage de petits débris 75 Positionnement 77 6 Association initiale par modélisation comportementale 81 6.1 Paires d’observations à une révolution d’intervalle . . . . . . . . . . . 82 6.1.1 Observations issues du capteur supposé . . . . . . . . . . . . . 83 6.2 Discrimination des paires d’observations . . . . . . . . . . . . . . . . 86 6.2.1 Structure de l’algorithme résultant . . . . . . . . . . . . . . . 86 6.2.2 Base d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . 87 6.2.3 Estimation du support par One-Class SVM . . . . . . . . . . . 88 6.2.4 Calcul d’un rapport de vraisemblance . . . . . . . . . . . . . . 92 6.3 Évaluation préliminaire des performances . . . . . . . . . . . . . . . . 95 6.3.1 Fenêtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.3.2 Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.3.3 Rappel et ambiguïté obtenus par fenêtrage et SPRT . . . . . . 98 6.4 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . 98 7 Initialisation du pistage 99 7.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.2 Approximation de l’orbite circulaire X4 . . . . . . . . . . . . . . . . . 102 7.2.1 Nécessité d’un bruit de modèle . . . . . . . . . . . . . . . . . 103 7.3 Association de troisièmes observations par transformation non-parfumée104 7.3.1 Prédiction des observations . . . . . . . . . . . . . . . . . . . 104 7.3.2 Fenêtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.4 Estimation d’orbite définitive X7 . . . . . . . . . . . . . . . . . . . . 105 7.4.1 Critère minimisé . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.4.2 Implémentation de l’algorithme de Gauss-Newton . . . . . . . 106 7.4.3 Critère de convergence et de validité . . . . . . . . . . . . . . 108 7.5 Évaluation des performances . . . . . . . . . . . . . . . . . . . . . . . 108 7.5.1 Données de test . . . . . . . . . . . . . . . . . . . . . . . . . . 108 7.5.2 Convergence d’un algorithme de Gauss-Newton comme critère de validation . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 viiiTABLE DES MATIÈRES 7.5.3 Fenêtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.6 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . 112 8 Intégration du traitement multicible 113 8.1 Principe du Track-Oriented Multiple Hypothesis Tracker (TO-MHT) 114 8.1.1 Hypothèse fondamentale . . . . . . . . . . . . . . . . . . . . . 114 8.1.2 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 8.1.3 Formation des pistes . . . . . . . . . . . . . . . . . . . . . . . 115 8.1.4 Évaluation de la qualité individuelle des pistes . . . . . . . . . 116 8.1.5 Construction de solutions globales . . . . . . . . . . . . . . . . 120 8.1.6 Suppression de pistes au niveau global . . . . . . . . . . . . . 121 8.1.7 Mise-à-jour des états . . . . . . . . . . . . . . . . . . . . . . . 124 8.1.8 Fusion de pistes . . . . . . . . . . . . . . . . . . . . . . . . . . 124 8.2 Évaluation des performances . . . . . . . . . . . . . . . . . . . . . . . 125 8.2.1 Choix des critères d’évaluation . . . . . . . . . . . . . . . . . . 125 8.2.2 Choix des scénarios de test . . . . . . . . . . . . . . . . . . . . 126 8.2.3 Dégradation des observations . . . . . . . . . . . . . . . . . . 126 8.2.4 Évolution temporelle des critères de performance principaux . 127 8.2.5 Évolution temporelle des critères de performance annexes . . . 128 8.2.6 Sensibilité des paramètres de dimensionnement du radar . . . 129 8.2.7 Conclusion des tests de performance . . . . . . . . . . . . . . 132 8.3 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . 132 9 Modélisation de la complexité combinatoire 135 9.1 Analyse combinatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 9.1.1 Modélisation paramétrique de la complexité combinatoire . . . 136 9.1.2 Modélisation paramétrique du nombre instantané de nouvelles pistes m(k) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 9.2 Calibration du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . 139 9.2.1 Détermination des paramètres liés à la performance du catalogage α, λ et κ . . . . . . . . . . . . . . . . . . . . . . . . . . 139 9.2.2 Détermination des paramètres liés au temps I1,min, I1,max, I2,min, I2,max, b1 et b2 . . . . . . . . . . . . . . . . . . . . . . . . . . 140 ixTABLE DES MATIÈRES 9.2.3 Détermination du coefficient de précision a1,2 . . . . . . . . . 141 9.3 Extrapolations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 9.3.1 Discussion sur la validité des prédictions . . . . . . . . . . . . 143 9.4 Systèmes à plusieurs capteurs . . . . . . . . . . . . . . . . . . . . . . 144 9.4.1 Système de deux capteurs opposés en longitude . . . . . . . . 145 9.4.2 Système de deux capteurs de même longitude . . . . . . . . . 145 9.4.3 Analyse et comparaison de performances . . . . . . . . . . . . 146 9.5 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Conclusions et perspectives 149 Communications scientifiques 155 Annexes 159 A Filtre optimal par corrélation 159 B Passage d’un référentiel terrestre fixe à un référentiel géodésique (et vice-versa) 161 C Équivalence entre les paramètres orbitaux képlériens et un couple position-vitesse 163 C.1 Passage d’un couple position-vitesse vers les paramètres orbitaux ké- plériens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 C.2 Passage des paramètres orbitaux képlériens vers un couple positionvitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 D Association des détections issues du passage d’un objet dans le champ de veille 165 xAcronymes AT Active Tracking (poursuite active) BMEWS Ballistic Missile Early Warning System (système d’alerte avancée) DO Definitive Orbit (orbite définitive) ECF Earth Centered Fixed (référentiel géocentrique fixe) ECI Earth Centered Inertial (référentiel géocentrique inertiel) ENU East-North-Up (référentiel local Est-Nord-Haut) ESA European Space Agency ESAOGS ESA Optical Ground Station FFC Formation de Faisceaux par le Calcul FA Fausse Alarme FP Fausse Piste confirmée FOR Field Of Regard (champ de veille) FOV Field Of View (champ de vue) GEO Geosynchronous Earth Orbit GM-PHD Gaussian-Mixture Probabilistic Hypothesis Density GNN Global Nearest Neighbor HO-MHT Hypothesis-Oriented Multiple Hypothesis Tracker IOD Initial Orbit Determination (détermination d’orbite initiale) IO Initial Orbit (orbite initiale) JPDAF Joint-Probabilistic Data Association Filter LEO Low Earth Orbit (orbite basse) GRAVES Grand Réseau Adapté à la Veille Spatiale ISS International Space Station MHT Multiple Hypothesis Tracker PDAF Probabilistic Data Association Filter PHD Probabilistic Hypothesis Density PRI Période de Répétition de l’Impulsion xiAcronymes RSB Rapport Signal à Bruit SGP Simplified General Perturbations SPRT Sequential Probability Ratio Test SSN Space Surveillance Network SER Surface Équivalente Radar SVM Support Vector Machine (machine à vecteurs de support) TO-MHT Track-Oriented Multiple Hypothesis Tracker TWS Track-While-Scan USSTRATCOM US Strategic Command xiiLexique Arc Ensemble de détections issues du même objet lors d’un unique passage dans le champ de veille Arc court Arc dont on ne peut déduire une orbite précise du fait d’un faible nombre de détections, de leur proximité et de leurs erreurs de mesure Champ de veille Zone de l’espace parcourue par le champ de vue lors d’un balayage Champ de vue Zone de l’espace surveillée à un instant pontuel (i.e. faisceau) Détection Mesure de position lorsque le RSB dépasse un certain seuil Observation Arc court, i.e. une, ou deux observations fortement redondantes (proximité et erreur de mesure). Dans cette étude, nous choisissons arbitrairement d’utiliser les coordonnées de la première détection. Observabilité Caractère d’un système dynamique dont on peut déduire l’état à partir des observations disponibles Observation isolée Observation ne permettant pas l’observabilité du système dynamique sous-jacent Piste Séquence d’observations associées xiiiNotations Notations générales a Une lettre en italique indique un scalaire ou une fonction |a| Valeur absolue du scalaire a sgn(a) Signe du scalaire a f −1 Inverse de la fonction f a Une lettre en gras indique un vecteur kak Norme euclidienne du vecteur a M Une lettre capitale en gras indique une matrice MT Transposée de la matrice M M−1 Inverse de la matrice M |M| Déterminant de la matrice M . ′ Dérivée ˙. Dérivée temporelle ∂ Dérivée partielle ˆ. Estimée ¯. Prédiction ∧ Produit vectoriel Notations liées au fonctionnement d’un radar TPRI Période de répétition de l’impulsion ter Durée de propagation d’une impulsion τ Largeur temporelle de l’impulsion R Distance capteur-cible (cas monostatique) ∆R Erreur de mesure de la distance capteur-cible R˙ Vitesse projetée sur l’axe capteur-cible (vitesse radiale) ∆Φ Déphasage entre deux impulsions successives Re Distance émetteur-cible (cas bistatique) Rr Distance récepteur-cible (cas bistatique) R˙ β Vitesse projetée sur la bissectrice de l’angle β xvNotations β Angle émetteur-cible-récepteur dans le triangle bistatique θr Angle de visée de l’antenne de réception dans le triangle bistatique Lβ Ligne de base entre les sites d’émission et de réception c Vitesse de propagation de la lumière fe Fréquence de l’onde émise λe Longueur de l’onde émise RSB Rapport Signal à Bruit Pr Puissance du signal reçu PΣb Puissance du bruit Rréf Distance de référence PD Probabilité de détection PFA Probabilité de fausse alarme sD Seuil de détection appliqué au RSB b Signal aléatoire lié au bruit seul Σb Somme de réalisations de b P Puissance fournie Ge Gain de l’antenne d’émission Gr Gain de l’antenne de réception dPe Densité surfacique de puissance émise Se Surface de l’antenne d’émission Sr Surface de l’antenne de réception σ Surface équivalente radar L Facteur de perte ou de gain lié au trajet de l’onde k Constante de Boltzmann T Température équivalente de bruit thermique ∆F Largeur de bande après filtrage tp Durée d’un pointage tv Période de revisite N Nombre de pointages par balayage η Charge en poursuite βv Taux de recouvrement des faisceaux en veille Ψ Volume du champ de veille Θ Ensemble des paramètres du radar l Largeur de l’antenne (cas monostatique) ρ Mesure de distance capteur-cible θ Mesure d’azimut φ Mesure d’élévation σρ Précision de mesure radiale σθ Précision de mesure angulaire en azimut σφ Précision de mesure angulaire en élévation xviNotations liées aux différents référentiels u ECF X Premier vecteur unitaire d’un repère géocentrique fixe (suit la rotation de la Terre) u ECF Y Deuxième vecteur unitaire d’un repère géocentrique fixe u ECF Z Troisième vecteur unitaire d’un repère géocentrique fixe u ECI X Premier vecteur unitaire d’un repère géocentrique intertiel u ECI Y Deuxième vecteur unitaire d’un repère géocentrique inertiel u ECI Z Troisième vecteur unitaire d’un repère géocentrique inertiel RECF Repère du référentiel géocentrique fixe (ECF) RECI Repère du référentiel géocentrique intertiel (ECI) RENU Repère du référentiel local East-North-Up (ENU) θsidéral Angle de rotation de la Terre autour de l’axe polaire u ECF Z = u ECI Z ωsidéral Vitesse de rotation de la Terre autour de l’axe polaire u ECF Z = u ECI Z rsite Vecteur des coordonnées du capteur dans un repère ECF RuZ Rotation autour de l’axe uZ réq Rayon terrestre à l’équateur r Distance d’un point au centre de la Terre θgéo Longitude φgéo Latitude hgéo Altitude Notations liées aux modèles de dynamique orbitale fTS Force résultante de l’attraction gravitationnelle entre T et S dTS Distance entre T et S K Constante gravitationnelle universelle µ Paramètre gravitationnel terrestre standard mT Masse de T gradS Gradient selon S UT(S) Potentiel gravitationnel de T au point S J2 Harmonique zonale d’ordre 2 du potentiel terrestre Jn Harmonique zonale d’ordre n du potentiel terrestre Pn Polynome de Lagrange d’ordre n préf Pression de référence hréf Altitude de référence H Facteur d’échelle d’altitude adrag Accélération de traînée fSGP Fonction de propagation SGP xviiNotations r Vecteur position v Vecteur vitesse to Date des paramètres orbitaux ao Demi-grand axe no Mouvement moyen eo Excentricité io Inclinaison Ωo Longitude du nœud ascendant ωo Argument du périgée νo Anomalie vraie Mo Anomalie moyenne Eo Anomalie excentrique B∗ Coefficient de traînée Xto Jeu de paramètres orbitaux datés de to Notations liées au pistage x État d’un système z Observation f Fonction de propagation h Fonction d’observation ζ Bruit de modèle η Bruit d’observation F Matrice associée à la linéarisation de f H Matrice associée à la linéarisation de h V Matrice de covariance de ζ W Matrice de covariance de η ¯z Observation prédite ˜z Innovation, c’est-à-dire ˜z = ¯z − z S Matrice de covariance de l’innovation ˜z K Gain de Kalman X4 Vecteur d’état associé à une orbite circulaire X7 Vecteur d’état associé à une orbite SGP4 PXˆ Xˆ ,4 Matrice de covariance associée à l’estimée de X4 PXˆ Xˆ Matrice de covariance associée à l’estimée de X κi i-ème coefficient de la matrice diagonale D4 χ i i-ème sigma-point (transformation non-parfumée) ϕ i Poids associé au i-ème sigma-point (ransformation non-parfumée) xviiiq Pi Xˆ Xˆ ,4 i-ème colonne d’une matrice triangulaire L obtenue par la décomposition de Cholesky de la matrice PXˆ Xˆ ,4 ˆxk+1|k Estimation de x à l’instant k + 1 sachant les observations jusqu’à l’instant k d(., .) Distance statistique ou distance de Mahalanobis sF Seuil de fenêtrage Z Piste quelconque Zi i-ème piste d’observations dans un ensemble de pistes Z k Ensemble des observations accumulées jusqu’au scan k Z(k) Ensemble des observations du scan k mk Nombre d’observations au scan k z i k i-ème observation du scan k ˜zt Innovation jointe associée à la piste t (JPDAF) ˜zt i (k) Innovation de z i k vis-à-vis de la piste t (JPDAF) β t i (k) Probabilité d’appartenance de l’observation z i k à la piste t (JPDAF) hj j-ème hypothèse d’asociation d’observation à piste (HO-MHT) θ t i Hypothèse “la i-ème observation est issue du même objet que la piste t” θ t 0 Hypothèse “la piste t n’est corrélée avec aucune observation” v Fonction d’intensité (GM-PHD) mi Moyenne de la i-ème gaussienne (GM-PHD) Pi Covariance de la i-ème gaussienne (GM-PHD) w i Poids associé à la i-ème gaussienne (GM-PHD) J Nombre de cibles instantanné (GM-PHD) N Loi gaussienne d 2 Gij Fonction de coût (GNN) S Scénario d’association (0-1) A Matrice binaire d’appartenance des observations aux pistes (0-1) bS Vecteur binaire d’appartenance des pistes à un scénario d’association S (0-1) LZ Log-vraisemblance associée à la piste Z H1 Hypothèse “Toutes les observations de la piste sont issues du même objet” H0 Hypothèse contraire de H1, H0 = H1 sSPRT,1 Seuil en dessous duquel LZ indique que la piste Z est de mauvaise qualité sSPRT,2 Seuil au dessus duquel LZ indique que la piste Z est de bonne qualité α Erreur de type I (SPRT) β Erreur de type II (SPRT) xixNotations hcapteur Fonction de passage d’un référentiel ECI à un référentiel capteur fn Fonction composée hcapteur ◦ fSGP L Rapport de vraisemblance ∆L Incrément du rapport de vraisemblance tlatence Délai entre une association et l’évaluation de la piste texp. Délai d’expiration d’une piste après la dernière association S Solution faisable (ensemble de pistes compatibles) Notations liées à la détermination d’orbite initiale (IOD) r Vecteur position dans un référentiel ECI e Vecteur excentricité dans un référentiel ECI αcoplanaire Angle-seuil de coplanarité ∆ν Différence d’anomalies vraies ∆E Différence d’anomalies excentriques p “Paramètre” de l’ellipse y Rapport de deux aires permettant de retrouver p par substitutions successives (méthode de Gauss) x1, x2 Termes de substitutions successives (méthode de Gauss) α, δ Mesures d’angles dans un référentiel topocentrique (mesure télescope) Em Énergie mécanique ri Vecteur position associée à l’observation zi dans un ECI δp Angle signé formé par les vecteurs position d’une paire d’observations à une révolution d’intervalle p Produit vectoriel de r1 et r2 Notations liées à l’estimation εQ Erreur quadratique x0 État initial en entrée d’une boucle d’itérations ∆x Incrément de l’état d’un système dans une boucle d’itérations ε Vecteur des résidus tel que εQ = ε Tε Jε Matrice jacobienne de ε sC Seuil de convergence Notations liées à la première association x(i, j) Vecteur de description de la paire d’observations {zi , zj} r Rayon géodésique (distance au centre de la Terre) d’une observation xxτ Différence de temps entre les observations zi et zj λ Différence de longitude entre les observations zi et zj dr Valeur absolue de la différence de rayon géodésique entre deux observations drλ Longueur de l’arc de longitude entre deux observations dθ Valeur absolue de la différence d’azimut de détection entre deux observations f extr. Fonction de description d’une paire d’observations r ECI obs. Vecteur capteur-cible observé par le capteur dans un référenciel ECI r ECI capteur Vecteur position du capteur dans un référenciel ECI E Ensemble des paires d’observations quelconques F Ensemble des vecteurs de descriptions associés à des paires d’observations quelconques E1rév Ensemble des paires d’observations issues du même objet à une révolution d’intervalle F1rév Ensemble des vecteurs de descriptions associés aux paires d’observations issues du même objet à une révolution d’intervalle E sim 1rév Ensemble simulé des paires d’observations issues du même objet à une révolution d’intervalle F sim 1rév Ensemble simulé des vecteurs de descriptions associés aux paires d’observations issues du même objet à une révolution d’intervalle τmin(Θ) Valeur minimale de τ pour les observations issues du même objet à une révolution d’intervalle τmax(Θ) Valeur maximale de τ pour les observations issues du même objet à une révolution d’intervalle pF1rév Loi de probabilité associée à l’ensemble F1rév dans l’espace F Q(1 − ν) Quantile à 1 − ν d’un échantillon de F sim 1rév µ Mesure de volume (mesure de Lebesgue) : µ(C) est le volume de la région C g Fonction de décision de la One-Class SVM k Fonction noyau de la One-Class SVM γ Paramètre de la fonction de noyau gaussien αi Multiplieurs de Lagrange résultant de l’optimisation par One-Class SVM x n Fsim 1rév n-ième vecteur de support sélectionné par la One-Class SVM b Seuil de détection résultant de l’optimisation par One-Class SVM sFp Seuil associé à la méthode particulaire : proportion minimale de particules classifiées positives par la One-Class SVM D Matrice diagonale des écart-types associés aux distances entre les échantillons (fenêtres de Parzen-Rosenblatt) N(z) Nombre d’observations formant une paire valide avec l’observation z xxiNotations Li,j Log-vraisemblance associée à la paire d’observations {zi , zj} lp,i,j Log-vraisemblance associée à la p-ième paire de particules issues d’une paire d’observations {zi , zj} xp(i, j) Vecteur de description de la p-ième paire de particules issues d’une paire d’observations {zi , zj} Sc Ensemble des scores des associations correctes Sc¯ Ensemble des scores des associations incorrectes Notations liées à la complexité combinatoire NC GN Nombre de triplets d’observations formés instantanément b1 Distribution des intervalles de temps entre la première et la seconde observation d’une piste b2 Distribution des intervalles de temps entre la deuxième et la troisième observation d’une piste [I1,min, I1,max] Support de b1 [I2,min, I2,max] Support de b2 m(k) Nombre d’observations au scan k a Coefficient de précision d’une méthode de fenêtrage a1,2 Produit des coefficients de précision des méthodes de première et de deuxième association VF Volume d’une fenêtre de validation V Volume surveillé mFA Nombre moyen de fausses alarmes par scan mobj. Nombre moyen d’observations issues d’objets réels g(k) Taux d’objets catalogués jusqu’au scan k α Taux d’objets catalogués en fin de simulation λ Constante de décroissance κ Délai entre le début de la simulation et le suivi des premiers objets catalogués xxiiPremière partie Introduction 1Chapitre 1 Contexte de la surveillance de l’espace Le but de ce chapitre est de montrer que les moyens de surveillance de l’espace sont nécessaires et complexes. Pour cela, nous évoquons plusieurs activités emblématiques de l’espace. Ensuite, nous décrivons de manière succincte quelques systèmes de surveillance existants afin de représenter le niveau de technologie accessible en termes de capteurs physiques. Sommaire 1.1 L’espace, un domaine critique . . . . . . . . . . . . . . . . 4 1.2 L’anti-collision, une application de la surveillance de l’espace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.1 La menace des débris spatiaux . . . . . . . . . . . . . . . 5 1.2.2 Catalogage des débris en orbite basse . . . . . . . . . . . 6 1.3 Systèmes existants . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.1 Le réseau de surveillance spatiale américain (U.S. Space Surveillance Network) . . . . . . . . . . . . . . . . . . . . 7 1.3.2 Les systèmes européens . . . . . . . . . . . . . . . . . . . 9 1.4 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . 9 31.1 L’espace, un domaine critique 1.1 L’espace, un domaine critique Depuis plusieurs décennies, les applications liées au domaine spatial sont devenues centrales dans les activités humaines. En effet, un grand nombre de programmes spatiaux civils et/ou militaires sont menés notamment à des fins de communication, de navigation, d’observation de la Terre ou de renseignement. Dans cette thèse, nous nous intéressons exclusivement aux orbites basses (altitude inférieure à 2000 Km), ou “Low Earth Orbits” (LEO), du fait de leur forte concentration en satellites actifs et débris et des risques associés [1, 2, 3]. La Figure 1.1 montre la concentration de débris spatiaux en fonction de leur altitude. Figure 1.1 – La concentration des débris spatiaux est critique sur les orbites basses. Une des applications les plus emblématiques des satellites artificiels est l’observation de la Terre. Les satellites d’observation de la Terre permettent d’observer de nombreux paramètres climatiques ou météorologiques à grande échelle, comme entre autres la couverture nuageuse ou l’état de la mer. Par exemple, le satellite Envisat avait notamment pour mission de mesurer la couleur des océans et des zones côtières pour évaluer certains paramètres océanologiques [4]. Les satellites d’observation de la Terre peuvent aussi assurer des missions dans la gestion de catastrophes. Par exemple, le satellite canadien Radarsat a déjà détecté et cartographié des déversements d’hydrocarbures, des zones sinistrées par un tremblement de terre ou un ouragan pour faciliter les opérations de Recherche et Sauvetage et permettre l’évaluation des dégâts [5]. De nombreuses autres applications civiles sont permises ou facilitées par l’utilisation de satellites, telles que par exemple les télécommunications et certaines missions scientifiques (géodésie, géodynamique, cosmologie, etc.). Naturellement, les fonctions de navigation, de télécommunication et d’observation de la Terre jouent également un rôle crucial dans les opérations militaires. Sur un théâtre d’opération par exemple, la localisation et le guidage précis des forces et moyens est un avantage stratégique important. Des satellites (programme Syracuse en France) permettent la transmission sécurisée de données pour les troupes déployées. Enfin, des images satellitaires à haute résolution peuvent être fournies 4Chapitre 1 : Contexte de la surveillance de l’espace par des satellites d’observation (comme le programme Hélios) avec une couverture mondiale et conformément au droit international pour, entre autres, le contrôle du respect des traités, l’alerte avancée ou encore le contrôle des armements. Des satellites d’écoute électromagnétique (le programme Elisa par exemple) permettent par exemple de repérer et d’identifier de manière préventive les moyens de défense radars d’autres pays. 1.2 L’anti-collision, une application de la surveillance de l’espace La pérennité des activités évoquées précédemment repose en grande partie sur la sûreté des installations spatiales. Notre dépendance vis-à-vis de ces installations fait alors de l’espace un domaine sensible. D’un point de vue civil ou militaire, ces satellites doivent notamment être à l’abri de collisions accidentelles. 1.2.1 La menace des débris spatiaux On regroupe sous le terme “débris spatiaux” tous les objets artificiels inactifs en orbite terrestre. Les éléments de lanceurs et les satellites inactifs constituent l’essentiel des gros débris (10 cm à 10 m), et leurs fragmentations suite à des collisions volontaires ou accidentelles, ou à des explosions en orbite génèrent un très grand nombre de débris plus petits (0.1 mm à 10 cm). Un grand nombre de particules de tailles inférieures existent [6]. Cela comprend notamment des gouttelettes de liquide de refroidissement (2 mm à 4 cm), des particules ferreuses issues de moteurs de fusées à propulseur solide (0.1 mm à 3 cm) ou encore des écailles de peinture (2 µm à 0.2 mm). Au cours du temps, le nombre de débris a fortement augmenté [7, 8] (Figure 1.2), notamment suite à des collisions accidentelles ou volontaires comme par exemple la destruction du satellite inactif Fengyun-1C lors d’un test de missile anti-satellite chinois en 2007 et la collision accidentelle entre les satellites Cosmos 2251 (Russie) et Iridium 33 (États-Unis). D’autres événements aux conséquences plus limitées peuvent être mentionnés, comme par exemple la collision accidentelle en 1996 entre ce qui a été identifié comme étant un morceau d’un lanceur Ariane-1 et le satellite de renseignement Cerise (France). La dangerosité des débris spatiaux est double. D’une part, il existe un risque immédiat de perte d’un satellite suite à une collision, et d’autre part la collision peut générer de nouveaux débris. Si la densité de débris en orbite dépasse un certain seuil, ceux-ci pourraient entraîner d’autres collisions en cascade et détruire les satellites actifs. La densité de débris attendrait alors un niveau tel qu’il ne serait plus envisageable de mettre de nouveaux satellites en orbite (syndrome Kessler [9]). Plusieurs facteurs peuvent causer la perte d’un satellite, mais le risque lié à une collision avec un débris prédomine si la densité de débris est importante. Actuelle- 51.2 L’anti-collision, une application de la surveillance de l’espace Figure 1.2 – Évolution du nombre de débris catalogués entre 1956 et 2010. Les sauts sont attribués à des collisions ou explosions catastrophiques. Crédit : NASA Orbital Debris Program Office. ment, le système de surveillance américain dénombre plus de 15 000 débris de plus de 5 cm, et l’on estime qu’il y aurait plusieurs centaines de milliers de débris de plus de 1 cm, très concentrés sur les orbites basses. Pour les gros débris, la tendance actuelle est de mettre en œuvre des moyens pré- ventifs visant à réduire le nombre de débris générés lors des lancements, comme par exemple la passivation des étages supérieurs des lanceurs [6] (c’est-à-dire vidanger les réservoirs et baisser leur pression, décharger les batteries, etc.). Par ailleurs, des moyens de désorbitation actifs sont également à l’étude [10]. Quant aux débris de moins de 1 mm (moins de 1 cm pour la face exposée de l’ISS), ils peuvent être contrés par le blindage des éléments critiques des installations spatiales. En revanche, une difficulté persiste pour contrer les petits débris (1 à 10 cm) puisque l’évitement semble être la seule option réaliste pour cette gamme de taille. L’évitement nécessite la connaissance des trajectoires du plus grand nombre possible de débris en orbite, ce qui peut être atteint grâce à des moyens de catalogage (c’est-à- dire de veille et de suivi) très onéreux. 1.2.2 Catalogage des débris en orbite basse Le catalogage consiste à observer les objets à l’aide de capteurs et à caractériser leurs trajectoires (orbites) sur une fenêtre de temps large, c’est-à-dire connaître leurs positions passées, présentes et futures, lorsqu’ils sont dans l’emprise du capteur ou en dehors. Cette fonction s’appuie sur deux aspects complémentaires : d’une part les capteurs physiques doivent détecter les objets d’intérêt de manière suffisamment fréquente et observer leurs positions et/ou vitesses de manière suffisamment précise pour que d’autre part des algorithmes de traitement de l’information puissent carac- 6Chapitre 1 : Contexte de la surveillance de l’espace tériser les trajectoires (calculs d’orbites) à partir des observations disponibles afin de pouvoir estimer les positions des objets (prédiction, filtrage ou rétrodiction). La connaissance des orbites des objets en orbite basse qui constitueraient le catalogue permettrait alors la prédiction de positions futures et une confrontation deux à deux pour l’anti-collision) ou encore la caractérisation de certains événements passés comme par exemple l’explosion en orbite d’un étage de fusée Ariane en 1986, qui aurait provoqué en 1996 la destruction du satellite français Cerise. Pour les orbites basses, le capteur radar est souvent l’option retenue face aux capteurs passifs car il ne dépend pas des conditions climatiques ou d’illumination (entre autres), bien que des systèmes mixtes radar et optique peuvent être envisagés pour couvrir le besoin sur certaines zones en altitude. Bien que sa conception soit très exigeante, un tel capteur est faisable grâce aux technologies actuelles malgré des contraintes en bilan énergétique très exigeantes. 1.3 Systèmes existants Aujourd’hui, la surveillance de l’espace est devenue un domaine aux enjeux majeurs, comme nous l’avons évoqué dans les sections précédentes. C’est pour cela que les États-Unis et les pays européens, entre autres, développent des capacités de surveillance de l’espace. La présentation générale de certains systèmes existants, américains ou européens, permet d’avoir une idée du niveau de technologie accessible en fonction des efforts de développement fournis. 1.3.1 Le réseau de surveillance spatiale américain (U.S. Space Surveillance Network) Les États-Unis disposent d’un réseau de systèmes optiques et radars (Space Surveillance Network, SSN) répartis à la surface du globe [11]. Pour les orbites basses, les radars FPS-85 et Cobra Dane déployés respectivement sur les sites de Eglin, Floride, et Shemya, Alaska, sont des systèmes dédiés à la surveillance de l’espace en complément d’autres systèmes dont la mission principale est l’alerte anti-balistique (Ballistic Missile Early Warning Systems, BMEWS). Ces capteurs utilisent des ré- seaux d’antennes phasées qui permettent de balayer rapidement une zone de l’espace. L’utilisation de tels réseaux est relativement souple puisque leur agilité permet de veiller sur une zone relativement large ou de pister plusieurs cibles de manière simultanée sans élément mécanique mobile. Le système FPS-85 [12] est le premier radar à réseau phasé dédié à la surveillance de l’espace. Il est faiblement bistatique (zone d’émission et zone de réception côte- à-côte) et ses antennes sont montées sur une structure de 44 m de haut occupant une surface au sol de 23 226 m2 (Figure 1.3). Son emprise, ou Field of Regard (FOR), s’étend sur 120˚en azimut et sur 105˚en élévation et lui permet de détecter des objets sur des arcs de trajectoire très longs. Le FPS-85 aurait la capacité de détecter des objets d’une taille de 6 cm environ en orbite 71.3 Systèmes existants basse (cette performance étant indicative compte tenu du fait qu’aucune valeur de référence de rapport signal à bruit n’y est associée, c’est-à-dire qu’on ne connaît pas les performances de détection et de fausse alarme) et de pister simultanément jusqu’à 200 objets présents dans son emprise. Figure 1.3 – Le FPS-85 est le premier radar à réseaux phasés dédié à la surveillance de l’espace. Il serait capable de détecter des objets d’un diamètre de 6 cm en orbite basse. Le FPS-108, ou Cobra Dane [13], est un radar à réseau phasé conçu initialement pour la surveillance d’essais de tirs de missiles balistiques soviétiques. Il est monostatique (zone d’émission et zone de réception confondues) et permet la détection d’objets spatiaux de 4 ou 5 cm en orbite basse. Depuis 2003, le Cobra Dane est connecté de manière permanente au SSN et maintient, en plus de sa mission principale anti-balistique, le balayage d’une zone du ciel large de 60˚en azimut et de 0.6˚en élévation afin d’apporter des détections supplémentaires [13]. La période de revisite de cette emprise n’est pas communiquée. Lors de tests précédents, le Cobra Dane a fourni environ 500 observations par jour correspondant à une centaine d’objets non catalogués en surveillant une zone dix fois plus large en élévation. Figure 1.4 – Le Cobra Dane est connecté de manière permanente au SSN depuis 2003, bien qu’il ait été conçu pour la surveillance d’essais de tirs de missiles balistiques sovié- tiques. 8Chapitre 1 : Contexte de la surveillance de l’espace Le SSN américain permet au Commandement Stratégique américain (USSTRATCOM) de fournir un catalogue d’objets spatiaux de manière discrétionnaire (catalogue Space-Track et modèle dynamique SGP [14]). Ce catalogue contient en effet les paramètres orbitaux de plus de 20 000 objets de diamètre supérieur à 5 cm en orbite autour de la Terre [8]. Parmi eux, plus de 11 000 sont sur des orbites basses (altitude inférieure à 2000 Km). 1.3.2 Les systèmes européens Certains pays européens ont développé des systèmes de surveillance de l’espace, tels que par exemple le radar imageur Tracking and Imaging Radar (TIRA). Cependant, le capteur français Grand Réseau Adapté à la Veille Spatiale (GRAVES), développé par l’Office National d’Études et de Recherches Aérospatiales (ONERA) et opéré par le Commandement de la Défense Aérienne et des Opérations Aériennes (CDAOA), constitue la capacité unique en Europe de cataloguer de nouveaux objets indépendamment du catalogue américain. Le capteur français GRAVES est un radar bistatique à émission continue monofréquence et à détection Doppler [15]. Il est constitué de quatre panneaux équirépartis en azimut tous les 45˚pour l’émission, et d’un réseau d’une centaine d’antennes omnidirectionnelles déployées à environ 400 Km du site d’émission (Figure 1.5). Chaque panneau génère un faisceau de 20˚verticalement et de 8˚horizontalement qui balaye 45˚en azimut, l’ensemble des 4 panneaux produisant un balayage horizontal continu. Un traitement des signaux issus des antennes de réception permet un pavage de la zone éclairée par Formation de Faisceaux par le Calcul (FFC) afin de situer avec plus de précision les objets détectés. Par ailleurs, le très faible couplage entre l’émission et la réception permet l’utilisation de matériel moins avancé technologiquement et moins onéreux que dans des systèmes monostatiques ou quasimonostatiques à performances égales en portée. En effet, les systèmes (quasi-) monostatiques à une émission pulsée nécessitent une puissance d’émission maximale plus élevée et sont fortement contraints technologiquement. En revanche, le radar du système GRAVES fournit des mesures d’angles et de vitesse radiale mais pas directement de mesure de distance. 1.4 Conclusion du chapitre Ce chapitre a permis dans un premier temps d’appuyer la nécessité de développer une capacité de surveillance spatiale. En effet, les systèmes spatiaux sont utilisés au cœur d’un grand nombre d’applications devenues indispensables. Ces systèmes doivent par conséquent être protégés des risques de collision avec les débris spatiaux. Par ailleurs, l’espace étant un domaine d’intérêt stratégique fort, une capacité de surveillance permet de se prémunir contre une utilisation potentiellement hostile de certains de ces systèmes. Les systèmes existants pour la surveillance des orbites basses, à titre d’exemple le 91.4 Conclusion du chapitre Figure 1.5 – Le site de réception du système GRAVES est composé d’un réseau d’une centaine d’antennes omnidirectionnelles. Un traitement des signaux issus des antennes de réception permet un pavage de la zone éclairée par Formation de Faisceaux par le Calcul (FFC). FPS-85 et le Cobra Dane, sont en général composés de capteurs de taille colossale, l’effort ayant été porté sur la conception du capteur physique. Par opposition, GRAVES est un système prouvant qu’un traitement de données plus sophistiqué permet de modifier l’équilibre entre l’effort porté sur le capteur et l’effort porté sur le traitement. Les travaux présentés dans cette thèse concernent le catalogage de petits objets en orbite basse. À partir des détections d’un capteur plus simple et moins complexe à mettre en œuvre que nous définissons au Chapitre 2, nous proposons des méthodes de traitement innovantes contribuant à l’apport d’une solution pour le catalogage de petits objets spatiaux. Nous montrons alors que l’utilisation d’algorithmes adaptés peut permettre l’exploitation de données issues d’un capteur physique moins complexe que les capteurs américains mentionnés pour atteindre des performances comparables. 10Chapitre 2 Paramétrage d’un radar pour la détection de petits objets Dans ce chapitre, nous choisissons une configuration particulière de radar monostatique à émission pulsée permettant la détection de petits objets grâce à un champ de veille réduit. Dans un premier temps, quelques notions fondamentales liées au fonctionnement d’un radar sont présentées. En particulier, la description de la chaîne de détection et de la mission permet d’introduire des notions de mesures disponibles et de performance de détection (probabilité de détection et taux de fausses alarmes). Ensuite, nous rappelons en quoi un compromis entre longueur d’onde émise et taille de l’emprise (champ de veille) peut permettre de faciliter la détection de petits objets. Enfin, nous adoptons un paramétrage de capteur pour la simulation de détections. Sommaire 2.1 Principe fondamental et définitions . . . . . . . . . . . . . 12 2.2 Mode de balayage Track While Scan (TWS) . . . . . . . 12 2.3 Émission pulsée versus émission continue . . . . . . . . . 14 2.3.1 Cas du radar monostatique en émission pulsée . . . . . . 14 2.3.2 Cas du radar bistatique en émission pulsée ou continue . 16 2.4 Traitement du signal reçu . . . . . . . . . . . . . . . . . . 16 2.4.1 Chaîne de détection . . . . . . . . . . . . . . . . . . . . . 17 2.4.2 Non-détections et fausses alarmes . . . . . . . . . . . . . . 17 2.5 Influence de la fonction sur le choix de la longueur de l’onde émise . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5.1 RSB en fonction des paramètres du radar et des cibles . . 20 2.5.2 Influence du FOR Ψ . . . . . . . . . . . . . . . . . . . . . 21 2.5.3 SER en fonction de la longueur de l’onde émise . . . . . . 21 2.6 Choix d’une configuration et d’un paramétrage de capteur envisageable . . . . . . . . . . . . . . . . . . . . . . . . 23 2.6.1 Choix d’une configuration monostatique pulsée . . . . . . 23 2.6.2 Géométrie du champ de veille (Field Of Regard, FOR) . . 24 2.6.3 Précision des mesures . . . . . . . . . . . . . . . . . . . . 25 2.7 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . 25 112.1 Principe fondamental et définitions 2.1 Principe fondamental et définitions Le radar (RAdio Detection And Ranging) est un système qui permet de mesurer une ligne de visée et éventuellement une distance et/ou une fréquence Doppler associées à une cible en émettant une onde électromagnétique et en captant le signal réfléchi sur la cible [16, 17]. La Figure 2.1 schématise le trajet de l’onde émise dans le cas monostatique, i.e. l’émetteur et le récepteur sont confondus, et dans le cas bistatique, i.e. les positions de l’émetteur et du récepteur sont distinctes. Il existe également des systèmes multistatiques, i.e. comportant plusieurs sites d’émission et/ou de réception. Figure 2.1 – Trajet de l’onde émise entre la cible et la ou les antennes dans le cas monostatique (gauche), et le cas bistatique (droite). Pour la surveillance, le faisceau formé par le capteur (Field Of View, FOV) pointe une zone de l’espace (Field Of Regard, FOR) selon un maillage en un temps limité. Le nombre de pointages nécessaires pour couvrir toute la zone dépend du rapport entre les volumes du FOR et du FOV, sachant que le nombre de pointages possible est limité par la puissance disponible, la distance aux cibles (la durée minimale d’un pointage est conditionnée par le temps de propagation aller-retour de l’onde émise) et la cadence de veille. Figure 2.2 – Field Of Regard (FOR) et Field Of View (FOV) schématisés dans le cas d’un radar de veille monostatique grand champ. Le FOV, représenté par un faisceau bleu, pointe successivement sur chacune des cases du FOR en un temps limité avec d’éventuels recouvrements. 2.2 Mode de balayage Track While Scan (TWS) Un système de veille radar comprend deux parties complémentaires : l’une concerne le capteur physique, l’autre concerne le traitement des données issues de ce capteur. 12Chapitre 2 : Paramétrage d’un radar pour la détection de petits objets À l’interface entre ces deux aspects fondamentaux se trouvent les fonctions de gestion du pointage [18]. Pour assurer une mission de veille, un système radar oriente le FOV (faisceau) de manière à balayer la zone à surveiller en un temps limité. On distingue en particulier deux stratégies de balayage : le mode Track While Scan (TWS) dont GRAVES est un représentant utilise une routine de balayage fixe et n’alloue aucune ressource à la poursuite active (Figure 2.4) tandis qu’une variante de ce mode autorise la poursuite active, ou Active Tracking (AT), des objets nouvellement détectés (Figure 2.3) à l’instar du FPS-85. La Figure 2.5 illustre un parcours possible suivi par le FOV dans le cas TWS et dans le cas AT. Capteur physique Traitement de données Traitement du signal Estimation de trajectoire locale Antenne Gestion du pointage Association d’observations Gestion de pistes etc. signaux consignes prédictions observations Figure 2.3 – Diagramme de flux simplifié d’un système de veille radar avec poursuite active (Active Tracking, AT). Capteur physique Traitement de données Traitement du signal Antenne Gestion du pointage Association d’observations Gestion de pistes etc. signaux consignes observations Figure 2.4 – Diagramme de flux simplifié d’un système de veille radar sans poursuite active (Track While Scan). Dans le cas avec AT, l’intégration de fonctions d’association d’observations et d’estimation de trajectoires locales requises dans une boucle de rétroaction augmente la complexité du système en comparaison à une chaîne simple, comme dans le cas TWS. En effet, la variante TWS n’est pas confrontée à des problèmes complexes liés à la gestion des ressources du capteur, en plus de la difficulté propre à l’implémentation de telles fonctions. Par exemple, générer un faisceau pour suivre un objet en particulier implique une allocation de temps au détriment de la période de balayage. Par conséquent, un fonctionnement AT implique en général une capacité maximale d’objets présents dans le FOR. Le mode de fonctionnement TWS n’ayant pas ce genre de contrainte, la routine de pointage qui y est associée est indépendante et donc relativement simple. 132.3 Émission pulsée versus émission continue Figure 2.5 – Parcours possibles du FOV dans un repère capteur dans le cas de la veille (gauche) en Track While Scan et dans un cas de la veille avec Active Tracking (droite). Chaque case correspond à une ligne de visée. Chaque case rouge correspond à une détection. Dans le cas de la veille avec Active Tracking (droite), chaque case jaune correspond à une détection antérieure. 2.3 Émission pulsée versus émission continue Dans cette étude, nous faisons l’hypothèse d’un radar à émission pulsée. Nous donnons dans cette section les principaux éléments permettant de faire ce choix en décrivant les deux modes d’émission possibles. Les radars à émission pulsée temporellement permettent de mesurer une durée de propagation entre l’émission d’une impulsion et sa réception. Le signal en question doit être d’autant plus large dans le domaine fréquentiel (afin que l’impulsion soit courte) que l’on souhaite avoir une bonne résolution en distance (cf. Section 2.3.1), ce qui nécessite une puissance d’émission maximale plus élevée avec des contraintes technologiques assez fortes sur les émetteurs et récepteurs, notamment en termes de synchronisation et de découplage. Par conséquent, son émission implique en général un système plus complexe, plus coûteux et plus susceptible de générer des difficultés à se voir allouer la bande nécessaire. Par opposition, l’émission continue permet de restreindre l’émission à une bande fréquentielle étroite, mais pose des problèmes de couplage et d’isolation entre émission et réception. En général, une configuration multistatique est préférée dans le cas d’une émission continue, car la distance entre les sites d’émission et de réception permet de s’affranchir de ces contraintes. Alors que l’émission pulsée permet naturellement une mesure de distance et éventuellement une mesure de vitesse radiale par le calcul, l’émission continue permet une mesure de vitesse radiale et un calcul d’accélération radiale. L’émission continue peut néanmoins fournir une mesure de distance par modulation du signal (modulation de fréquence, par exemple), ce qui implique un élargissement de la bande de fréquence émise. 2.3.1 Cas du radar monostatique en émission pulsée Le principal intérêt d’un radar monostatique à émission pulsée est la possibilité de mesurer sa distance à la cible. Pour cela, une impulsion est émise avec une certaine Période de Répétition de l’Impulsion (TPRI) et l’on utilise la relation entre la distance 14Chapitre 2 : Paramétrage d’un radar pour la détection de petits objets R du capteur à la cible et la durée de propagation ter des impulsions. Temps Signal τ ter TPRI Figure 2.6 – La durée de propagation ter entre l’impulsion émise (puissance élevée) représentée en bleu et l’écho (puissance faible) représenté en rouge permet de calculer la distance R à la cible. En général, le radar n’émet pas pendant la période d’écoute (TPRI − τ ). La distance R est alors obtenue pour chaque impulsion d’après équation (2.1) à ∆R près, où c est la vitesse de la lumière et τ est la largeur temporelle de l’impulsion. R = cter 2 ∆R = cτ 2 (2.1) Dans le cadre de la surveillance de l’espace, la distance R est en général de l’ordre de plusieurs milliers de kilomètres, ce qui implique une conception du capteur et du traitement des données particulière en comparaison à d’autres applications plus “courantes” telles que la surveillance aérienne où les cibles sont distantes de quelques dizaines de kilomètres seulement. La vitesse radiale R˙ de la cible peut se mesurer à condition d’émettre plusieurs impulsions dans sa direction [16]. En effet, la vitesse radiale R˙ peut s’obtenir grâce au déphasage ∆Φ entre deux impulsions successives, par l’équation (2.2) où λe est la longueur de l’onde émise. R˙ = λe∆Φ 4πTPRI (2.2) Le déphasage ∆Φ étant limité à un domaine de largeur 2π, la vitesse radiale maximale mesurable sans ambiguïté vaut R˙ max = λe 2TPRI . De même, la portée maximale mesurable sans ambiguïté est de Rmax = cTPRI 2 , ce qui implique de trouver un compromis entre distance maximale et vitesse radiale maximale des objets d’intérêt [16]. Dans le cadre de la veille, on envisage rarement d’envoyer suffisamment d’impulsions dans la même direction sur une même période de balayage pour mesurer une vitesse radiale avec précision. En effet, le nombre d’impulsions émises dans chaque direction est limité par la période de balayage et la puissance disponible, en plus d’une grande distance aux cibles. 152.4 Traitement du signal reçu 2.3.2 Cas du radar bistatique en émission pulsée ou continue On appelle radar bistatique un radar dont les antennes d’émission et de réception sont séparées d’une distance Lβ. Il est possible d’utiliser une telle configuration avec une émission pulsée ou une émission continue. Dans le cas de l’émission pulsée, la relation entre la durée de propagation du signal et la distance parcourue est analogue au cas monostatique, comme le montre équation (2.3), où Re est la distance entre l’antenne d’émission et la cible, et Rr la distance entre l’antenne de réception et la cible. Cible Site d’émission Site de réception β θr Lβ Re Rr Figure 2.7 – Le triangle bistatique est formé par les sites d’émission et de réception et la position de la cible. Re + Rr = c × ter (2.3) On peut alors exprimer la distance Rr en se plaçant dans le triangle bistatique (triangle formé par la position de la cible et des deux sites du capteur), tel qu’en équation (2.4), où Lβ est la distance qui sépare le site d’émission du site de réception et θr l’angle de visée de l’antenne de réception dans le triangle bistatique. Rr = (Rr + Re) 2 − L 2 β 2(Rr + Re + Lβ sin θr) (2.4) Dans le cas d’une émission continue, on peut mesurer la fréquence Doppler bistatique fd et en déduire la vitesse R˙ β par équation (2.5), où fe est la fréquence d’émission et R˙ β la vitesse de la cible projetée sur la bissectrice de l’angle bistatique β (angle émission-cible-réception), tel que défini sur la Figure 2.7. fd = 2R˙ β c fe cos(β/2) (2.5) 2.4 Traitement du signal reçu La puissance reçue étant atténuée d’un facteur proportionnel à 1 R4 par rapport à la puissance émise, une chaîne de traitement est nécessaire afin de déterminer la 16Chapitre 2 : Paramétrage d’un radar pour la détection de petits objets présence ou non de l’impulsion émise dans le signal reçu. La conception d’une telle chaîne de traitement requiert la définition du Rapport Signal à Bruit RSB (équation (2.6)), c’est-à-dire le rapport entre la puissance du signal Pr et la puissance du bruit PΣb , utilisé comme critère de décision sur la présence d’une cible. La chaîne de traitement a pour but de maximiser le RSB à une distance de référence Rréf. RSB = Pr PΣb (2.6) 2.4.1 Chaîne de détection Une chaîne de détection classique simplifiée comporte une étape de mise en forme du signal reçu (amplification, filtrage, etc.), une étape de corrélation et une étape de seuillage (décision) [16], comme l’illustre la Figure 2.8. Dans cette section, nous faisons l’hypothèse d’un radar monostatique à émission pulsée, le cas bistatique à émission continue étant analogue. Mise en forme Corrélation Seuillage Signal émis Signal reçu Observations Figure 2.8 – Chaîne de détection classique d’un radar (émission pulsée) à corrélation. Pour maximiser le rapport signal à bruit RSB en sortie d’un bloc de mise en forme, on peut construire un filtre optimal au sens de la maximisation du RSB par corré- lation (cf. Annexe A). 2.4.2 Non-détections et fausses alarmes Afin de décider de la détection ou non d’une cible, un seuil de détection sD doit être défini par rapport au RSB. Cela implique un taux de fausses alarmes non-nul et une probabilité de non-détection non-unitaire, i.e. le niveau d’un signal dû au bruit seul peut franchir le seuil de détection, tandis qu’un écho trop faible peut ne pas le franchir. Par conséquent, les performances de détection d’un radar se définissent principalement par la probabilité de détection PD et la probabilité de fausse alarme PFA [16]. 172.4 Traitement du signal reçu RSB Densité de probabilité sD Absence de cible (bruit seul, p(Σb)) Présence de cible (bruit et écho) 1 − PD PFA Figure 2.9 – Densités de probabilité du RSB selon la présence ou l’absence de cible. La définition d’un seuil implique une probabilité de détection PD non-unitaire et une probabilité de fausse alarme PFA non-nulle. Expression de la probabilité de fausse alarme La probabilité de fausse alarme [16, 17] représente la probabilité que le système délivre une détection due non pas à la présence d’un objet dans le FOV mais au bruit. Si b est le signal aléatoire lié au bruit et normalisé par la puissance Pb du bruit, alors la densité du signal b en sortie du détecteur est donnée par équation (2.7), et équation (2.8) exprime la densité de la somme Σb de n réalisations bi du signal b. p(b) = e −b/Pb (2.7) p(Σb) = Σ n−1 b e −Σb (n − 1)! (2.8) La probabilité de fausse alarme PFA s’exprime alors tel que : PFA = Z ∞ sD p(Σb)dΣb = Z ∞ sD Σ n−1 b e −Σb (n − 1)! dΣb (2.9) La valeur du seuil de détection sD adéquate se déduit d’une valeur de PFA spécifiée par la mission ou par les limites du traitement de données aval. En général, PFA se déduit d’un taux de fausses alarmes voulu (par exemple, 1FA/s) et du nombre de tests à réaliser. Expressions de la probabilité de détection Pour calculer la probabilité de détection PD, il est nécessaire de faire une hypothèse de modèle de réflexion, c’est-à-dire sur la manière dont l’onde est réfléchie par l’objet. Cette réflexion est caractérisée par la Surface Équivalente Radar (SER) désignée par 18Chapitre 2 : Paramétrage d’un radar pour la détection de petits objets σ, qui correspond à la surface reflétant l’onde émise vers un récepteur. En général, on choisit un des quatre modèles de Swerling [19, 16], chaque modèle correspondant à un type de réflexion, c’est-à-dire à des propriétés statistiques des objets observés : – Swerling I décrit une rétro-diffusion constante sur n récurrences mais variable d’un balayage à l’autre. – Swerling II est analogue à Swerling I, les réalisations de σ étant indépendantes d’une récurrence à l’autre. – Swerling III correspond à plusieurs zones de réflexion disparates, constantes sur n récurrences mais variable d’un balayage à l’autre. – Swerling IV est analogue à Swerling III, les réalisations des σ étant indépendantes d’une impulsion à l’autre. Le choix du modèle de réflexion (densité de la SER σ) conditionne l’expression de la probabilité de détection PD. Par exemple, équation (2.10) exprime PD sous l’hypothèse d’un modèle Swerling I pour une unique impulsion (n = 1). PD, Swerling I = P  1 1+RSB  FA (2.10) Sachant une valeur de PFA on cherche à atteindre une valeur de RSB telle que PD est le plus haut possible. À titre d’exemple, la Figure 2.10 montre qu’il faut atteindre un RSB de l’ordre de 20 dB (pour une distance de référence Rréf) pour une PFA de 10−5 , si l’on souhaite obtenir une valeur de PD proche de 0,9 dans le cas d’un modèle de Swerling I pour une unique impulsion. 0 5 10 15 20 25 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 SNR (dB) PD PFA = 1.10−3 PFA = 1.10−5 PFA = 1.10−7 PFA = 1.10−9 Figure 2.10 – PD en fonction de RSB pour quatre valeurs de PFA selon un modèle de Swerling I pour une unique impulsion. 192.5 Influence de la fonction sur le choix de la longueur de l’onde émise 2.5 Influence de la fonction sur le choix de la longueur de l’onde émise Il s’agit maintenant d’identifier l’influence de la longueur de l’onde émise sur le RSB selon la fonction à remplir. Celle-ci dépend des paramètres du radar, des cibles et du milieu de propagation. 2.5.1 RSB en fonction des paramètres du radar et des cibles L’équation de propagation du radar (équation (2.11)) permet d’exprimer le RSB dans le cas de l’émission d’une seule impulsion tel qu’en équation (2.12) (on obtient une expression analogue dans le cas continu), où Pr est la puissance du signal reçu, P est la puissance fournie, Ge et Gr sont les gains des antennes d’émission et de réception, respectivement, λe est la longueur de l’onde émise, σ(fe) est la Surface Équivalente Radar (SER), R est la distance entre la cible et l’antenne d’émission ou de réception, L les pertes ou gains liés au parcours de l’onde (pertes atmosphériques, gain dû aux réflexions multiples, etc.) ou liées au système (pertes de traitement, etc.) et la quantité PΣb = kT∆F représente la puissance du bruit avec k la constante de Boltzmann, T la température équivalente de bruit thermique, ∆F la largeur de bande après filtrage. Pr = P GeGrλ 2 eσ(fe) (4π) 3R4L (2.11) RSB = Pr PΣb = P GtGrλ 2 eσ(fe) (4π) 3R4LPΣb (2.12) Une augmentation de fréquence d’émission pénalise fortement le RSB du fait d’un facteur λ 2 e au numérateur. Une augmentation de cette fréquence doit alors être compensée, par exemple par une augmentation de la puissance d’émission, afin de maintenir les performances en détection (PD et PFA). Dans le cadre de la veille, une augmentation en fréquence peut être compensée de manière équivalente par une ré- duction du champ de veille. C’est ce facteur d’échange que nous utilisons afin de maintenir une puissance totale émise limitée tout en jouant sur la dépendance en fe de la SER σ(fe). Par ailleurs, une intégration cohérente sur n impulsions améliore le RSB d’un facteur n au prix d’une durée de pointage tp = nTPRI [16, 17], ce qui justifie l’intérêt d’envoyer plusieurs impulsions dans chaque direction si le temps imparti le permet. Cependant, seulement une ou deux récurrences sont effectuées dans le cas de la surveillance de l’espace en général, du fait d’un budget temps limité et de la durée de propagation relativement longue. 20Chapitre 2 : Paramétrage d’un radar pour la détection de petits objets 2.5.2 Influence du FOR Ψ Le bilan en veille, obtenu à partir de l’équation (2.12) en exprimant notamment les gains Ge et Gr en fonction des surfaces des antennes et de la longueur d’onde, peut s’exprimer selon l’équation (2.13) où dPe est la densité surfacique de puissance émise, St la surface d’émission, Sr la surface de réception, η la charge de poursuite (dans le cas Active Tracking), β le recouvrement des faisceaux en veille, Ψ le FOR et tv la période de revisite. Cette équation met en évidence que le RSB ne dépend pas directement de la fré- quence d’émission (il en dépend cependant par l’intermédiaire de σ), et qu’il est limité par un FOR Ψ le plus grand possible et par une période de balayage tv la plus petite possible. Le nombre de pointages nécessaires pour couvrir l’intégralité du FOR Ψ est donné par équation (2.14). RSBveille = dPeSeSrσ(fe) 4πR4LPΣb × (1 − η)βtv Ψ (2.13) N = SeΨ βλ2 e (2.14) Dans le cadre d’une fonction de veille, le choix de la longueur d’onde λe conditionne le nombre de pointages nécessaires (car λe influence la taille du FOV) mais également l’ordre de grandeur de la SER σ, comme nous le voyons plus en détails dans la Section 2.5.3. Une variation de la longueur d’onde λe peut alors être compensée par une variation du volume de surveillance Ψ afin de maintenir le nombre de pointages nécessaires à une valeur acceptable (et donc la puissance totale nécessaire au balayage). 2.5.3 SER en fonction de la longueur de l’onde émise La SER d’un objet dépend de nombreux facteurs, notamment de sa taille, de sa forme, de son attitude, de son matériau mais également de la longueur de l’onde qui l’éclaire. En effet, des considérations simplificatrices d’électromagnétisme [20, 19] permettent de tracer les courbes présentées en Figure 2.11 dans le cas d’une sphère. Pour les objets de diamètre inférieur à 10 cm, il apparaît que le choix d’une fréquence d’émission de 1250 MHz devrait permettre d’obtenir une SER supérieure à celle que l’on obtiendrait en utilisant une fréquence d’émission de 435 MHz. Des travaux menées par la NASA fourniraient une relation entre la taille d’un objet, sa SER et la fréquence d’émission sous une hypothèse de sphéricité. Les SER d’un échantillon représentatif de petits débris ont été mesurées pour différentes attitudes, à différentes fréquences d’émission. Des modèles expérimentaux ont alors été recalés et une interpolation des mesures fournit les courbes présentées en Figure 2.12, où le diamètre efficace est la moyenne de trois épaisseurs d’un objet mesurées dans trois directions orthogonales [21]. 212.5 Influence de la fonction sur le choix de la longueur de l’onde émise Figure 2.11 – Surface Équivalente Radar théorique en fonction du diamètre d’une sphère parfaite, aux fréquences 435 MHz, 1250 MHz et 3200 MHz. Figure 2.12 – Surface Équivalente Radar empirique lissée en fonction du diamètre efficace d’objets représentatifs, aux fréquences 435 MHz, 1250 MHz et 3200 MHz. Ces expériences soutiennent l’hypothèse selon laquelle la SER d’une cible est fonction entre autres de son diamètre et de la fréquence de l’onde qui l’éclaire. Augmenter la fréquence d’émission conduit donc à diminuer le diamètre minimal des objets détectables à bilan égal. Cette augmentation de fréquence implique cependant une augmentation du nombre de pointages nécessaires (équation (2.14)). Sous une contrainte de période de balayage tv et de FOR Ψ fixes, davantage de puissance est alors nécessaire. Ce sur-coût peut cependant être compensé par exemple en réduisant la taille du FOR Ψ. En revanche, le nombre d’observations à chaque passage d’un objet dans leur FOR ainsi la fréquence de passage sont fortement réduits, ce qui rend plus difficile le traitement de données. 22Chapitre 2 : Paramétrage d’un radar pour la détection de petits objets 2.6 Choix d’une configuration et d’un paramé- trage de capteur envisageable Les performances du capteur physique sont contraintes par, entre autres, le type et la taille de ou des antennes, la puissance d’émission, la fréquence et la bande d’émission. La plupart des radars de surveillance spatiale américains sont le résultat d’efforts particuliers. En effet, c’est au prix de capteurs de grande taille comme le FPS-85 et Cobra Dane, que le SSN américain est capable de détecter et de suivre des objets relativement petits (de diamètre supérieur à 4 ou 5 cm). En revanche, le système français GRAVES adopte une stratégie différente du fait de spécifications et de contraintes différentes : le capteur physique, bistatique et à bande étroite, est comparativement de faible coût mais fournit des mesures de vitesse radiale (Doppler pour GRAVES vs distance pour le FPS-85 et Cobra Dane) dont sont déduites des positions sous la contrainte d’un nombre d’observations disponibles minimal. Nous choisissons d’adopter un mode de balayage Track-While-Scan (TWS) car cette stratégie est la plus simple d’un point de vue “système” (sans bouclage) (Figure 2.4). Les observations issues du capteur physique sont alors acheminées vers un centre de traitement de données dont le rôle est d’associer les observations entre elles et d’en déduire les orbites des objets détectés. Cela fait intervenir principalement des techniques de pistage multicible et d’orbitographie, dont les performances dépendent des moyens investis sur le capteur physique et de la nature des cibles. En effet, les performances en détection (détections et fausses alarmes), la précision des mesures, le nombre d’observations par traversée du champ de veille, la fréquence de traversée du champ de veille, etc., ont un impact fort sur les performances de l’algorithme de pistage. 2.6.1 Choix d’une configuration monostatique pulsée Nous faisons l’hypothèse de l’utilisation d’un radar monostatique à émission pulsée dans la suite de ce document. En effet, une observation délivrée par un radar à émission pulsée, i.e. deux angles et une distance, est une information riche car chaque observation fournit directement une connaissance de la position de l’objet contrainte sur les trois dimensions. Une mesure précise de vitesse radiale est difficile à envisager en complément d’une mesure de distance dans le cas d’un radar à émission pulsée pour la surveillance de l’espace, du fait d’un budget de temps limité et de la grande portée requise. En effet, d’une part le volume à surveiller (Field Of Regard, FOR) est très grand et doit être parcouru à une cadence assez rapide pour éviter que des objets y passent sans être détectés, si bien que très peu d’impulsions sont envoyées dans chaque direction et que, par conséquent, un calcul de vitesse radiale, s’il est possible, serait de faible pré- cision. D’autre part, la nécessité d’une grande portée impose le choix d’une Période de Répétition de l’Impulsion (TPRI) élevée, si bien que la vitesse radiale maximale admise sans ambiguïté serait trop faible pour s’appliquer aux objets en orbite basse. Par conséquent, nous considérons qu’un radar à émission pulsée fournit une mesure 232.6 Choix d’une configuration et d’un paramétrage de capteur envisageable de distance en plus de deux angles, mais pas de mesure de vitesse radiale. Par opposition, l’information fournie lors d’une unique observation par un radar à émission continue, i.e. deux angles et une vitesse radiale, est une information moins riche. En effet, la mesure de deux angles permet de contraindre la position possible de l’objet à une ligne de visée, tandis que la mesure de vitesse radiale n’est qu’une projection de la vitesse sur cette ligne de visée. Ni la position, ni la vitesse ne sont donc connues intégralement. Dans le cadre de la surveillance de l’espace, plusieurs observations successives de cette nature sont nécessaires afin de compléter la connaissance des positions de l’objet utiles à l’estimation d’orbite, ce qui impose des contraintes sur l’étendue du FOR. Sachant qu’un radar bistatique est potentiellement d’un moindre coût, adopter une configuration monostatique pulsée représente une hypothèse relativement forte mais permet dans un premier temps de développer des techniques plus intuitives, tout en gardant à l’esprit que ces techniques devront être adaptées à d’autres types de systèmes, si nécessaire. 2.6.2 Géométrie du champ de veille (Field Of Regard, FOR) La détection d’objets plus petits par l’augmentation de la fréquence d’émission impose une diminution de la taille du FOR à faisabilité équivalente, comme mentionné en Section 2.5.2. Par conséquent, on cherche à surveiller une zone de l’espace la plus petite possible tout en permettant au plus grand nombre d’objets possible de se trouver régulièrement dans le FOR et en interdisant la non-détection d’un objet lors d’une traversée due à une cadence de revisite trop faible vis-à-vis d’une étroitesse du FOR. Les objets en orbite basse ayant des orbites en général fortement inclinées (cf. Chapitre 3), nous choisissons un FOR orienté vers le plan équatorial, large de 160˚en azimut, afin de permettre la détection régulière d’un grand nombre d’objets, et large de 2˚en élévation, ce qui traduit la réduction du FOR recherchée. Nous positionnons arbitrairement le capteur à une latitude de 45˚N. Sa ligne de visée est orientée vers le Sud avec une élévation arbitraire de 20˚par rapport à l’horizon. Figure 2.13 – Schéma représentant la zone de l’espace surveillée (bleue) ainsi qu’une observation (rouge) issue d’un objet dont l’orbite (très inclinée) est représentée. Sachant que la vitesse d’un objet en orbite à une altitude constante de 150 Km est 24Chapitre 2 : Paramétrage d’un radar pour la détection de petits objets North ⊙Up East Élévation Azimuth c u ECF X u ECF Z North Up c Latitude Élévation de la ligne de visée O Figure 2.14 – Forme et orientation du FOR dans un référentiel East-North-Up (cf. Chapitre 3) de l’ordre de 8 Km/s, le FOR ainsi défini doit être revisité à une période de l’ordre de 10 s pour qu’aucun objet ne puisse le traverser sans être observé au moins une fois. Par ailleurs, compte tenu du volume de surveillance, on estime qu’un taux de fausses alarmes de 1 FA/s est une hypothèse raisonnable, ce qui induit en moyenne 10 FA/Scan. 2.6.3 Précision des mesures Si l’on choisit de se placer à une fréquence d’émission fe plus élevée (par exemple fe = 1 GHz), la Surface Équivalente Radar (SER) des objets plus petits augmente (Figure 2.12). Sachant la densité moyenne d’objets présents dans le FOR, et la géométrie de ce dernier, il faut atteindre une portée maximale de 4000 Km et l’on considère qu’une précision de mesure radiale σρ de 30 m et une précision de mesure angulaire σθ de 0,2˚sont suffisantes et atteignables (par exemple, le Cobra Dane fournit des mesures avec une précision de 3 m et de 0,05˚ à 1-sigma [13]). On peut calculer les ordres de grandeur de certains paramètres dimensionnants (∆F et l) liés à la précision de mesure grâce à l’équation (2.15) et l’équation (2.16), où c est la vitesse de la lumière (m/s), ∆F la largeur de bande émise (Hz), λ la longueur de l’onde émise (m) et l la largeur de l’antenne (m). σρ ≃ c 5∆F √ 2RSB m (2.15) σθ ≃ 50λe 1, 2l √ RSB deg (2.16) 2.7 Conclusion du chapitre Réduire la taille du FOR peut être une manière de faciliter la détection des objets plus petits tout en permettant le maintien d’une puissance totale émise limitée dans un contexte de veille à haute fréquence. Ainsi, nous avons exposé les hypothèses de travail que constituent les caractéristiques, notées Θ, de capteur choisies : 252.7 Conclusion du chapitre – Configuration monostatique pulsée, – Situé à 45˚N, ligne de visée orientée vers le Sud avec une élévation de 20˚, – FOR de 160˚×2˚, période de revisite de 10 s, – Mesure de position (ρ, θ, φ) avec des précisions de σρ =30 m et σθ = σφ =0,2˚, – Probabilité de détection moyenne PD =0,9 et taux de fausse alarme de 1 FA/s pour un bilan et une distance de référence. À partir de ce paramétrage Θ de capteur permettant la détection de petits objets, nous développons des algorithmes pour le catalogage permettant d’exploiter au mieux les données générées. Cette hypothèse de capteur permet également d’évaluer les algorithmes développés dans cette thèse avec un certain degré de réalisme, bien que certaines hypothèses simplificatrices soient adoptées (par exemple, la précision de mesure angulaire est gardée constante alors que ce paramètre est variable selon le RSB et l’angle d’observation pour les capteurs à réseau d’antennes phasées), et nous supposons les probabilités de détection constantes et égales à une valeur moyenne PD. 26Chapitre 3 Modèles dynamiques et satellites en orbite basse Dans ce chapitre, deux modèles paramétriques usuels pour l’orbitographie sont pré- sentés : le modèle képlérien simple, qui permet de visualiser facilement le mouvement des objets en orbite, et le modèle Simplified General Perturbations (SGP), qui permet une meilleure précision pour la simulation de trajectoires en orbite basse ainsi qu’une utilisation cohérente des données publiques du catalogue Space-Track. Ces modèles simples sont adaptés aux problématiques traitées dans cette thèse, tant en précision qu’en puissance de calcul nécessaire. Pour présenter ces modèles, quelques systèmes de coordonnées classiques sont rappelés dans un premier temps. Les équations du modèle képlérien de base ou avec J2 sont ensuite brièvement décrites, et le modèle SGP ainsi que le catalogue Space-Track sont présentés d’un point de vue pratique (sans la lourdeur des équations). Enfin, les répartitions des objets en orbite basse sur certains paramètres orbitaux sont présentées afin de cerner les particularités de la population d’objets que nous cherchons à cataloguer. Sommaire 3.1 Systèmes de coordonnées usuels . . . . . . . . . . . . . . 28 3.1.1 Référentiels géocentriques inertiel (ECI) et fixe (ECF) . . 28 3.1.2 Référentiel Géodésique . . . . . . . . . . . . . . . . . . . . 28 3.2 Potentiel terrestre . . . . . . . . . . . . . . . . . . . . . . . 29 3.3 Le modèle képlérien . . . . . . . . . . . . . . . . . . . . . . 30 3.3.1 Modèle simple . . . . . . . . . . . . . . . . . . . . . . . . 30 3.3.2 Dérive des paramètres orbitaux . . . . . . . . . . . . . . . 32 3.4 Le modèle SGP . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4.1 Modélisation du potentiel terrestre . . . . . . . . . . . . . 33 3.4.2 Modélisation paramétrique de la traînée atmosphérique . 34 3.5 Le catalogue Space-Track . . . . . . . . . . . . . . . . . . . 34 3.5.1 Format des éléments . . . . . . . . . . . . . . . . . . . . . 34 3.5.2 Distribution des paramètres orbitaux . . . . . . . . . . . . 35 3.6 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . 36 273.1 Systèmes de coordonnées usuels 3.1 Systèmes de coordonnées usuels Décrire une trajectoire nécessite la définition de référentiels. En effet, la trajectoire d’un satellite peut être représentée au premier ordre par une ellipse dans un référentiel géocentrique inertiel tandis que la même trajectoire dans un référentiel géocentrique fixe fait apparaître une intertrace (un satellite ne survole pas la même zone d’une révolution à l’autre). De même, il peut être utile de caractériser dans un réfé- rentiel géodésique certains points particuliers de la trajectoire, comme par exemple la position du satellite à un instant t ou encore la latitude maximale survolée. 3.1.1 Référentiels géocentriques inertiel (ECI) et fixe (ECF) Un système de coordonnées classique et intuitif pour représenter les orbites est le référentiel Géocentrique Inertiel (ECI) à coordonnées cartésiennes ou polaires [22]. Son repère, orthogonal, est centré sur le centre de masse de la Terre et deux de ses axes sont dans le plan équatorial, le troisième axe étant l’axe polaire. Ces axes pointent vers des étoiles lointaines, ce qui rend leurs directions fixes dans l’espace de l’univers physique. La Terre est en rotation par rapport à ce repère. Le repère du référentiel Géocentrique Fixe (ECF) RECF est solidaire de la rotation de la Terre. Il est le résultat de la rotation du repère ECI RECI d’un angle θsidéral = ωsidéral∆t autour de l’axe polaire, où ωsidéral est la vitesse de rotation angulaire propre de la Terre dans un repère ECI et ∆t est le temps écoulé depuis une date de référence. L’équation (3.1), où RECF, resp. RECI, définit la matrice des vecteur du repère d’un référentiel ECF, resp. ECI, et RuZ (θsidéral) représente la matrice de rotation d’angle θsidéral autour de l’axe polaire uZ. RECF = RuZ (θsidéral)RECI (3.1) Nous négligeons ici les phénomènes de précession et de nutation (rotations de l’axe de rotation de la Terre autour d’axes proches), ces phénomènes n’ayant une influence significative que sur des échelles de temps supérieures à celle des scénarios traités dans cette thèse (quelques jours). 3.1.2 Référentiel Géodésique Le système de coordonnées géodésiques est également très répandu. Il utilise un axe orthogonal à un plan tangent passant par un point de la surface du globe pour définir l’altitude hgéo par rapport à la surface de la Terre ainsi que la latitude φgéo et la longitude θgéo, comme le décrit la Figure 3.2. Le repère local est un repère simple pour situer une observation par rapport au capteur associé. Le repère local considéré dans cette étude est centré sur le capteur avec un premier axe dans la direction de l’Est, un second axe dans la direction du Nord et un troisième axe vertical (repère East-North-Up). Pour passer de ce 28Chapitre 3 : Modèles dynamiques et satellites en orbite basse u ECI X u ECI Y u ECI Z u ECF X u ECF Y u ECF Z θsidéral Figure 3.1 – Le repère Géocentrique Fixe (ECF) RECF est le résultat de la rotation du repère ECI RECI d’un angle θsidéral. u ECF X u ECF Y u ECF Z S hgéo rfixe φgéo φfixe θfixe = θgéo Figure 3.2 – Le système de coordonnées géodésiques utilise un axe orthogonal à un plan tangent passant par un point de la surface du globe pour définir l’altitude hgéo ainsi que la latitude φgéo. repère à un repère ECF, on peut utiliser la composition de rotations définie par l’équation (3.2), où RENU est la matrice des vecteur du repère d’un référentiel local et rsite est le vecteur des coordonnées de l’origine du repère local. RECF =  − θgéo RuY π 2 − φgéo RuZ π 2  RENU + rsite (3.2) Les équations de passage entre le repère géodésique et le repère ECF sont données en Annexe B. 3.2 Potentiel terrestre L’attraction gravitationnelle permet la mise en orbite de satellites. Elle joue un rôle fondamental dans les modèles décrits par la suite. La loi de Newton exprime la force résultante fTS de l’attraction gravitationnelle entre deux masses ponctuelles T (par exemple la Terre) et S (par exemple un satellite), distantes de dTS par 293.3 Le modèle képlérien l’équation (3.3), où K est la constante gravitationnelle universelle. fTS = − KmTmS kdTSk 2 × dTS kdTSk (3.3) On définit le potentiel gravitationnel UT (S) de T pour tout point S par l’équation (3.4). fTS = gradS (UT (S)) (3.4) où dans le cas ponctuel, UT (S) s’exprime par l’équation (3.5). UT (S) = KmT kdTSk (3.5) La masse de la Terre est répartie sur son volume. On peut développer l’expression du potentiel terrestre U(r, φgéo) selon l’équation (3.6) [23], où µ = KmT est le paramètre gravitationnel terrestre standard, réq le rayon terrestre équatorial, r et φgéo sont respectivement la distance au centre et la latitude considérées, Jn est le coefficient harmonique zonal d’ordre n et Pn est le polynôme de Lagrange d’ordre n. UT(r, φgéo) = µ r " 1 − X∞ n=2  req r n JnPn (sin φgéo) # (3.6) À partir de l’expression (3.6), nous décrivons les modèles képlérien simple, képlérien avec J2 et SGP. 3.3 Le modèle képlérien 3.3.1 Modèle simple Le modèle képlérien simple ne considère que le premier terme du potentiel terrestre : UT, Kép.(r, φgéo) = µ r (3.7) Paramétrage classique Le modèle képlérien de base permet de décrire une orbite par une ellipse dans un référentiel ECI. Selon ce modèle, une orbite est représentée par sept paramètres (dont un paramètre indiquant la position du satellite sur l’ellipse). Le jeu de paramètres képlériens le plus classique comprend un paramètre de datation (to), deux paramètres de dimensions (ao, eo), trois paramètres d’orientation (io, Ωo, ωo) et un paramètre de position (νo) : 30Chapitre 3 : Modèles dynamiques et satellites en orbite basse – date associée à l’orbite to (s), – demi grand axe ao (m), – excentricité eo (sans unité), – inclinaison du plan orbital sur l’équateur io (˚), – longitude du noeud ascendant Ωo (˚), – argument du périgée ωo (˚), – anomalie vraie νo (˚), c’est-à-dire l’angle entre la position du satellite et un axe de référence. u ECI X u ECI Y u ECI Z io νo ωo Ωo Figure 3.3 – Le jeu de paramètres képlériens le plus classique comprend trois paramètres d’orientation (io, Ωo, ωo) et un paramètre de position (νo). Le paramètre de datation to permet de dater la position du satellite décrite par l’anomalie νo. De même, d’autres paramètres orbitaux peuvent varier sous l’effet de perturbations (moments supplémentaires du potentiel UT, traînée atmosphérique, etc.), ce qui impose de dater leurs valeurs. Paramètres alternatifs ou intermédiaires de calcul Dans la littérature [24, 25], plusieurs notions d’anomalies sont couramment utilisées : l’anomalie vraie νo, l’anomalie excentrique Eo et l’anomalie moyenne Mo. Nous utiliserons νo, Eo ou Mo selon le cas, sachant que ces trois anomalies représentent la même information (la position du satellite sur l’orbite). L’anomalie vraie νo correspond à l’angle entre l’axe du périgée (angle ωo) et la position géométrique réelle du satellite sur l’orbite comme l’indique la Figure 3.3. L’anomalie excentrique Eo est l’angle entre l’axe du périgée et la projection de la position réelle du satellite sur le cercle défini par une excentricité nulle (eo=0), les autres paramètres de l’orbite étant égaux par ailleurs. Enfin, l’anomalie moyenne Mo correspond à l’angle entre l’axe du périgée et la position du satellite si celui-ci avait une vitesse angulaire constante. Ces trois variantes sont liées par les équations suivantes : νo = 2 arctan s 1 + eo 1 − eo tan Eo 2 ! (3.8) Mo = Eo − eo sin Eo (3.9) 313.3 Le modèle képlérien Le calcul de Eo sachant Mo n’est pas trivial analytiquement. De même, nous utiliserons selon le cas le demi-grand axe ao ou le mouvement moyen no, que la troisième loi de Kepler permet de définir comme deux paramètres équivalents : no = s µ a 3 o (3.10) Par ailleurs, la connaissance des paramètres képlériens classiques est équivalente à la connaissance d’un vecteur position-vitesse. Les équations de passage sont indiquées en Annexe C. Propagation de l’orbite dans le temps Afin de prédire la position d’un satellite à l’instant to + ∆t sachant son orbite à un instant to, on intègre les paramètres variables sur ∆t. Dans le cas képlérien simple (sans J2) seul l’anomalie varie. Selon le paramètre choisi, la dérive moyenne est donnée par l’équation (3.11), l’équation (3.12) ou l’équation (3.13). M˙ o(t) = no (3.11) ν˙o(t) = ao r(t) !2 q 1 − e 2 o no (3.12) E˙ o(t) = ao r(t) no (3.13) En général, on préfère intégrer Mo et résoudre numériquement l’équation (3.9) en Eo. 3.3.2 Dérive des paramètres orbitaux Prendre en compte le second harmonique zonal (paramètre J2) permet d’affiner simplement le modèle képlérien de base. Le second harmonique zonal se traduit par les dérives des paramètres Ωo, ωo et νo. Les dérives moyennes de Ωo, ωo et νo (les dérives de ao, eo et io sont nulles en moyenne) s’expriment selon les équations (équation (3.14)-(3.16)), où réq est le rayon équatorial de la Terre. Ω˙ o = − 3 2 J2  réq ao 2 no cosio (1 − e 2 o ) 2 (3.14) ω˙o = 3 4 J2  réq ao 2 no 4 − 5 sin2 io (1 − e 2 o ) 2 (3.15) M˙ o = no + 3 4 J2  réq r 2 no 2 − 3 sin2 io (1 − e 2 o ) 3/2 (3.16) 32Chapitre 3 : Modèles dynamiques et satellites en orbite basse Par exemple, si l’on considère une orbite de mouvement moyen no = 15, 70406856 révolutions par jour, d’excentricité eo = 0, 0007976 et d’inclinaison io = 51, 6335˚, on peut calculer une dérive moyenne Ω˙ o de −2.5546˚par jour, soit en moyenne −0.1627˚par révolution. 3.4 Le modèle SGP Le modèle SGP résulte des travaux de Brouwer [26] et de Lane et Cranford [27, 28]. Ces travaux donnent lieu à des équations de propagation (calcul semi-analytique du couple {r, v} à partir de paramètres orbitaux) publiées en 1980 par Hoots et Roehrich [14]. Depuis lors, ces équations, utilisées pour la construction du catalogue Space-Track rendu public par USSTRATCOM, ont évolué sans pour autant que leurs modifications fassent l’objet de publications officielles. En 2006, Vallado, Crawford et Hujsak publient alors une version plus robuste de la fonction de propagation qui permet une propagation plus satisfaisante des éléments du catalogue Space-Track [29]. Le modèle SGP permet de prédire la position d’un objet sachant ses paramètres orbitaux avec une précision de l’ordre de 1 Km sur un jour. Ce modèle permet donc de simuler des trajectoires avec une précision suffisante pour la validation d’algorithmes de catalogage, c’est pourquoi nous avons choisi de l’utiliser dans cette thèse (version 2006 de Vallado [29]). De plus, ce modèle permet une utilisation cohérente des données publiques du catalogue américain Space-Track qui fournit ainsi un échantillon représentatif de la population de satellites en orbite basse. Par comparaison au modèle képlérien simple ou avec J2, SGP modélise plus finement l’influence du potentiel terrestre ainsi que l’effet de traînée sous l’hypothèse d’une densité atmosphérique à décroissance exponentielle, sphérique et invariante par rotation. 3.4.1 Modélisation du potentiel terrestre Le modèle SGP utilise les quatre premiers harmoniques zonaux du potentiel terrestre. L’équation (3.17) explicite le potentiel exprimé par l’équation (3.6) en négligeant les harmoniques zonaux d’ordre supérieur à J4. UT, SGP(r, φgéo) = µ r " 1 −  réq r 2 J2 2  3 sin2 φgéo − 1  −  réq r 3 J3 2  5 sin3 φgéo − 3 sin φgéo (3.17) −  réq r 4 J4 8  35 sin4 φgéo − 30 sin2 φgéo + 3 # Pour la Terre, les valeurs des coefficients de ces harmoniques zonaux sont les suivants, sachant que les coefficients d’ordre supérieur sont inférieurs à 10−6 en valeur absolue : 333.5 Le catalogue Space-Track µ = 3, 986 005.1014 m3 s −2 J2 = 0,001 082 625 J3 = -0,000 002 534 J4 = -0,000 001 623 Les harmoniques zonaux sont les composantes du potentiel terrestre dépendants de la latitude φgéo uniquement. D’autres composantes, dépendant à la fois de la longitude θgéo et de la latitude φgéo, peuvent intervenir pour davantage de précision dans des modèles plus complexes. 3.4.2 Modélisation paramétrique de la traînée atmosphé- rique Le phénomène de traînée (pression exercée par l’atmosphère dans le sens opposé au mouvement) est modélisé par un paramètre d’état supplémentaire B∗ et un modèle exponentiel de la pression atmosphérique P en fonction de l’altitude hgéo [27, 28], donné en équation (3.18), où p est la pression atmosphérique, hgéo l’altitude, préf et hréf une pression et une altitude de référence et H un facteur d’échelle. p(h) = préf exp − hgéo − hréf H ! (3.18) Le paramètre de traînée B∗ conditionne l’accélération de traînée adrag tel que l’exprime l’équation (3.19), où v est le vecteur vitesse de l’objet considéré dans un référentiel ECI. adrag = − 1 2B∗ p(hgéo)kvk v (3.19) 3.5 Le catalogue Space-Track Le SSN américain catalogue plus de 20 000 satellites dont plus de 11 000 en orbite basse. Ces objets sont de diamètre supérieur à 4 ou 5 cm en général. Le catalogue Space-Track est publié de manière discrétionnaire par USSTRATCOM et constitue la seule base de d’orbites réelles accessible librement (hormis le catalogue MASTER de l’ESA, qui quant à lui décrit des flux plutôt que des objets individuels). 3.5.1 Format des éléments Le catalogue Space-Track est constitué d’éléments formatés sur deux ou trois lignes (Two-Line Elements ou Three-Line Elements, TLE), chaque élément décrivant l’orbite d’un objet estimée à partir des observations du SSN américain (cf. Chapitre 1) en utilisant notamment le modèle SGP pour les orbites basses. Par exemple, le TLE : 34Chapitre 3 : Modèles dynamiques et satellites en orbite basse ISS (ZARYA) 1 25544U 98067A 04236.56031392 .00020137 00000-0 16538-3 0 5135 2 25544 51.6335 341.7760 0007976 126.2523 325.9359 15.70406856328903 décrit l’orbite de l’ISS (identifiant ZARYA) dont les paramètres sont : to = 04236,56031392 (UTC) (236,56031392ème jour de l’année 2004) no = 15,70406856 révolutions/jour eo = 0,0007976 io = 51,6335˚ Ωo = 341,7760˚ ωo = 126,2523˚ Mo = 325,9359˚ B∗ = 0,16538.10−3 r −1 éq où réq est le rayon terrestre à l’équateur. La catalogue Space-Track, utilisé avec une fonction de propagation fSGP (fournie par [14]), permet de calculer la position et vitesse (r, v)t à un instant t de chaque objet (associé à des paramètres orbitaux Xto ) qu’il contient. Leurs détections par un ou plusieurs capteurs peuvent alors être simulées et permettre la validation d’algorithmes de pistage. fSGP(Xto , t) = (r, v)Xto ,t (3.20) Dans la Partie III, la fonction fSGP est constamment utilisée pour simuler ou prédire des observations. 3.5.2 Distribution des paramètres orbitaux La population des objets en orbite basse se caractérise par une concentration nonuniforme selon l’altitude comme le montre la Figure 1.1 mais également par des inclinaisons particulières et des excentricités faibles. En effet, les histogrammes de la Figure 3.4 mettent en évidence que peu d’objets en orbite basse ont une inclinaison faible (inférieur à 50˚) et que la majorité des objets ont une excentricité faible (inférieure à 0,05), voire très faible. Les objets en orbite basse (altitude de l’apogée comprise entre 200 Km et 2000 Km) ont une période de révolution comprise entre 88 minutes et 127 minutes. Dans cette étude, nous faisons l’hypothèse fondamentale que le catalogue SpaceTrack fournit un échantillon représentatif des objets en orbite basse. En effet, les objets plus petits que sont les débris sont en général générés par de plus gros objets (cf. Chapitre 1). Ils conservent alors une énergie mécanique voisine et se trouvent par conséquent sur des orbites proches et/ou ré-entrent dans l’atmosphère. 353.6 Conclusion du chapitre Figure 3.4 – Distributions en altitude (de l’apogée), en inclinaison et en excentricité des objets en orbite basse présents dans le catalogue Space-Track. 3.6 Conclusion du chapitre La dynamique des objets que nous cherchons à cataloguer se modélise au premier ordre par un modèle képlérien. Les trajectoires résultantes de ces objets sont des ellipses de faibles excentricités et de fortes inclinaisons par rapport au plan équatorial dans un référentiel ECI, ce qui confirme le choix justifié dans le Chapitre 2 d’un capteur dont l’emprise est orientée vers l’équateur et large en azimut : la plupart des objets devraient être observés quand le capteur s’approche des longitudes des nœuds ascendants dans un référentiel ECI. Dans cette étude, nous utilisons en pratique le modèle SGP pour davantage de réalisme lors des simulations. En effet, la précision ce modèle en termes de trajectoire est adaptée à l’échelle de temps que l’on pressent puisque la plupart des objets devrait passer dans le champ de veille du capteur au moins une fois par jour. Par ailleurs, ce modèle permet de propager avec précision les éléments du catalogue Space-Track, lui-même représentatif de la population d’objets en orbite basse. 36Conclusion de la première partie La densité d’objets en orbite basse est critique et pose un problème pour la viabilité des installations spatiales présentes et futures. Pour l’observation de ces orbites, des moyens radars sont plus souvent envisagés car les conditions d’observation sont moins contraignantes en comparaison à des capteurs passifs. Les systèmes existants, comme par exemple le FPS-85 et le Cobra Dane ou encore GRAVES, démontrent la faisabilité de la surveillance des orbites basses par des moyens actifs, bien que leurs performances soient limitées en termes de taille minimale des objets catalogables. Les contraintes physiques du radar que nous avons évoquées ainsi que les résultats d’expérimentations menées par les américains nous ont permis de définir un paramé- trage de capteur radar hypothétique mais envisageable pour la détection de petits objets. La précision choisie en angulaire (azimut et élévation) de σθ=σφ=0,2˚est faible : elle génère des volumes d’incertitude d’environ 3,5 Km de rayon à 1-sigma à une distance de 1000 Km (env. 11,5 Km à 3-sigma). Dans ce cas, les observations rapprochées dans le temps et dans l’espace sont fortement redondantes et cela doit être compensé par des observations très nombreuses ou très espacées dans le temps. La réduction du champ de veille choisie permettant la détection d’objets plus petits à bilan comparable impose un nombre réduit (1 ou 2) d’observations par traversée, qui doivent alors être associées à des intervalles de temps relativement importants (plusieurs heures). À ce stade, nous pouvons anticiper la difficulté de l’orbitographie à partir de courtes traversées du champ de veille. En effet, une orbite comprend au moins sept paramètres, alors qu’une observation fournit seulement trois mesures datées et sans redondance : une distance en plus de deux angles avec des erreurs de mesure pouvant être importantes. Sachant le grand nombre d’objets (11 000 objets dans le catalogue Space-Track et l’on estime à entre 100 000 et 500 000 le nombre de petits objets de plus de 1 cm) en plus de la présence de fausses alarmes, tester toutes les combinaisons d’observations possibles et en déduire des orbites est rédhibitoire. Il faut donc développer et mettre en œuvre des méthodes de traitement de l’information permettant de réduire cette complexité combinatoire à un degré raisonnable. Cette thèse aborde par conséquent la résolution d’un cas typique de non-observabilité : l’état orbital d’un objet ne peut être calculé avec une précision suffisante à partir d’une seule traversée dans le FOR par manque d’information disponible. L’association de plusieurs traversées (observations) est alors nécessaire pour calculer les orbites permettant de suivre les objets de manière satisfaisante et implique une complexité combinatoire très forte du fait de la densité importante de détections et de 37Conclusion de la première partie fausses alarmes attendue. Pour contribuer à la résolution de ce problème, nous proposons dans cette thèse des méthodes de traitement de l’information mieux adaptées que les méthodes existantes, présentées dans la partie consacrée à l’état de l’art, dans le but de permettre la faisabilité d’un système de surveillance de l’espace tout en évitant une explosion de coût du capteur physique. 38Deuxième partie Synthèse et analyse des techniques existantes contribuant au catalogage 39Introduction de la deuxième partie Le catalogage a pour but de déterminer l’orbite du plus grand nombre possible d’objets présents avec une précision suffisante pour les missions associées. Pour cela, chaque objet doit être suivi, ou pisté, en associant en une séquence (piste) des observations dont il est la source sur plusieurs révolutions. Des techniques pour l’association d’observations et la détermination d’orbite existent et sont applicables dans le cas d’observations non-isolées, c’est-à-dire issues d’un capteur de grande emprise (champ de veille). Nous les distinguons en trois groupes : – le pistage monocible, qui consiste à estimer ou à mettre à jour l’état (les paramètres orbitaux) d’une piste dans un but de prédiction de position future par exemple, ou encore dans un but de filtrage du bruit de mesure, – le pistage multicible, dont le rôle est de filtrer les différentes hypothèses d’association possibles générées par une fonction tirant parti de la connaissance d’une orbite pour corréler de nouvelles observations à une piste existante, – la détermination d’orbite préliminaire, qui permet de calculer une orbite initiale à partir d’un jeu d’observations associées au préalable et permet ainsi d’initialiser le pistage. Les principales techniques existantes ont fait l’objet de nombreuses études et leurs robustesses ont été éprouvées dans de nombreuses applications. Pour chacune des problématiques, nous étudions les méthodes classiques et en déduisons si elles peuvent se décliner pour répondre aux problèmes posés par le catalogage par observations isolées. 41Chapitre 4 Pistage L’objectif du catalogage est de détecter et de suivre le plus grand nombre possible d’objets (la liste de leurs orbites constitue le catalogue). Cela peut être fait à partir des données provenant d’un capteur, c’est-à-dire dans notre cas des observations de position datées. Ces données sont dégradées notamment par un bruit de mesure, c’est pourquoi il est nécessaire de faire appel à une fonction de pistage monocible. La connaissance de techniques de pistage est donc indispensable pour justifier les choix liés au catalogage d’objets spatiaux. Ce chapitre définit dans un premier temps les techniques de pistage monocible comme un sous-ensemble des techniques de modélisation paramétriques. Les particularités de ces techniques vis-à-vis de la chronologie des observations ou de l’aspect temps-réel sont ensuite abordées à travers la présentation des techniques les plus utilisées telles que l’algorithme de Gauss-Newton et les filtres de Kalman. Ensuite, les approches les plus populaires pour le pistage multicible sont présentées dans une courte synthèse. Le choix du TO-MHT est enfin justifié au regard des spécificités du problème du catalogage d’objets spatiaux par observations isolées. Sommaire 4.1 Pistage Monocible . . . . . . . . . . . . . . . . . . . . . . . 44 4.1.1 Modélisation paramétrique . . . . . . . . . . . . . . . . . 44 4.2 Estimation d’un état à partir d’une piste existante . . . 45 4.3 Pistage multicible . . . . . . . . . . . . . . . . . . . . . . . 48 4.3.1 Approches bayésiennes . . . . . . . . . . . . . . . . . . . . 51 4.3.2 Approches non-bayésiennes . . . . . . . . . . . . . . . . . 53 4.4 Choix d’un TO-MHT résultant des contraintes d’emploi 56 4.5 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . 58 434.1 Pistage Monocible 4.1 Pistage Monocible Les techniques de pistage [30, 17, 31] par modélisation paramétrique utilisent un modèle dynamique du système afin de filtrer le bruit de mesure des observations. Ce modèle est paramétré selon un vecteur d’état qui représente l’orbite d’un objet dans le cadre de cette étude. Chaque objet en orbite basse est en effet caractérisé par des paramètres d’état (paramètres orbitaux) qui permettent d’estimer sa position au cours du temps grâce à un modèle dynamique (cf. Chapitre 3) choisi en fonction d’un compromis entre la précision du modèle et la précision des mesures. 4.1.1 Modélisation paramétrique L’état Xk d’un système désigne le vecteur des paramètres orbitaux à l’instant k et le vecteur d’observation zk désigne le vecteur des mesures délivrées par le capteur à l’instant k. Ces vecteurs sont liés par l’équation de modèle et l’équation d’observation qui sont définies de manière générale par les relations (4.1) et (4.2) : Xk+l = f(Xk, l) + ζk+l (4.1) zk = h(Xk) + ηk (4.2) où f(., l) est la fonction de transition de l’état Xk à l’instant k vers l’instant passé ou futur k + l, h est la fonction d’observation, ζ est un bruit de modèle additif (représente l’erreur entre le modèle et la réalité) et η est un bruit d’observation additif (représente l’erreur de mesure). L’espace des paramètres d’observation est lié au référentiel capteur dans lequel sont mesurées les distances, azimuts et élévations des détections. La composée h ◦ f est alors équivalente à la fonction hcapteur ◦ fSGP. Notons que fSGP 6= f car fSGP n’est pas un endomorphisme. Figure 4.1 – Schéma d’une orbite (courbe bleue) calculée à partir d’observations de position bruitées (disques rouges). Le modèle dynamique associé à une technique d’estimation permet de calculer la trajectoire de l’objet aux instants des observations (lissage), à des instants futurs (prédiction) ou à des instants passés (rétrodiction). Dans notre cas, le bruit associé au modèle SGP est infime en comparaison du bruit de mesure du capteur défini au Chapitre 2 sur l’échelle de temps considérée (quelque 44Chapitre 4 : Pistage jours). Pour la simulation, ce bruit représente l’écart de modèle entre l’outil qui simule les observations du capteur et l’algorithme qui résout le problème de pistage ou de catalogage. Quand les modèles utilisés sont strictement identiques, ce bruit est nul. Dans le cadre de cette étude, les versions du modèle SGP utilisées pour ces deux fonctions sont différentes : les observations sont simulées à l’aide d’un outil interne ONERA implémentant une version corrigée de SGP, et le problème de pistage est traité grâce à la version publiée par Vallado [29]. Cela induit un bruit de modèle non-nul mais de très faible amplitude par rapport au bruit de mesure. 4.2 Estimation d’un état à partir d’une piste existante Si l’on dispose de suffisamment d’observations, on peut estimer un état passé ou futur Xk+l dont on peut déduire une valeur d’observation prédite h(xk+l). L’objectif des techniques de filtrage paramétrique est d’évaluer l’erreur entre les mesures fournies par le capteur et les mesures prédites afin de corriger l’état. On cherche à estimer le mieux possible l’état du système à partir d’un jeu d’observations {zi} afin de réduire l’influence du bruit d’observation η et donc d’améliorer la connaissance des valeurs vraies des {zk} observés, comme l’illustre la Figure 4.1, ou d’améliorer la précision d’une observation prédite. L’estimation d’état consiste à optimiser un critère faisant intervenir les observations de la piste disponibles ainsi que le modèle dynamique. En général, le problème est rapporté à la minimisation d’une erreur quadratique, comme l’énonce l’équation (4.3), où εQ(x) est l’erreur quadratique dépendant de l’état x et n le nombre d’observations disponibles dans la piste. Xˆ = arg min x ( εQ(x) = Xn i=1 (¯zi(x) − zi) TP −1 zizi (¯zi(x) − zi) ) (4.3) Le terme P−1 zizi permet de normaliser chaque mesure de l’observation par son erreur de mesure, ce qui est indispensable notamment dans les cas où les éléments du vecteur d’observation ne sont pas homogènes (par exemple, une observation de position en coordonnées sphériques). Pour résoudre le problème formalisé par l’équation 4.3, on peut utiliser un algorithme de Gauss-Newton ou une méthode de type Kalman. Algorithme de Gauss-Newton L’algorithme de Gauss-Newton [32] permet de résoudre le problème d’estimation non-linéaire de l’équation (4.3) de manière itérative, à condition que la fonction εQ(x) soit différentiable sur un voisinage du minimum et que ce minimum soit un point stationnaire (ε ′ Q(Xˆ ) = 0). Cet algorithme itératif nécessite la connaissance a priori d’une valeur initiale de x relativement proche de la solution, car les conditions mentionnées ci-avant ne garantissent pas la convergence vers un minima global. Si 454.2 Estimation d’un état à partir d’une piste existante l’algorithme converge, ces conditions garantissent en effet que la limite de convergence est un extremum (minimum ou maximum) local. La résolution de ce problème consiste alors à déterminer un incrément ∆x à chaque itération pour converger vers la solution recherchée. On peut écrire le développement de Taylor au premier ordre de la dérivée première de ε au voisinage de x (k∆xk proche de 0) et déduire de l’équation (4.4) l’approximation de l’équation (4.5). ε ′ Q(x + ∆x) = ε ′ Q(x) + ε ′′ Q(x)∆x + O(k∆xk 2 ) (4.4) −ε ′ Q(x) = ε ′′ Q(x)∆x (4.5) En approchant les dérivées ε ′ et ε ′′ par, respectivement, Jεε et J T ε Jε, où ε est le vecteur de résidus tel que εQ = ε Tε et Jε est la matrice jacobienne de ε en x, on déduit une expression approchée de l’incrément ∆x : ∆x ≃ −(J T ε Jε) −1Jεε (4.6) L’algorithme consiste alors à incrémenter un état préliminaire x0 de quantités {∆xi} calculées grâce à l’équation (4.6) jusqu’à satisfaire un critère de convergence. L’utilisation de cet algorithme ne garantit pas la convergence en particulier si la valeur initiale x0 est trop éloignée de la solution. Le choix d’une valeur initiale x0 est donc particulièrement important et fait l’objet d’une littérature abondante dans le cadre de l’estimation d’orbite. εQ(x) x x3 x2 x1 x0 Figure 4.2 – Schéma représentant le comportement de l’algorithme de Gauss-Newton sur un domaine à une dimension. Une hypothèse quadratique est adoptée à chaque pas (développement en série de Taylor limité à l’ordre 2). L’incrément est calculé en fonction du minimum de la courbe quadratique déduite de la matrice jacobienne. 46Chapitre 4 : Pistage En général, cet algorithme a une convergence quadratique lorsque l’on s’approche de la solution, c’est-à-dire que l’on vérifie l’équation (4.7) pour k suffisamment grand, avec C une constante réelle : k∆xk+1k ≤ Ck∆xkk 2 (4.7) Ce comportement se vérifie quand la matrice J T ε Jε est définie positive. Si cette matrice est définie négative, alors l’algorithme converge vers un maxima. De nombreuses variantes de cet algorithme ont été proposées dans la littérature. On peut citer en particulier l’algorithme de Levenberg-Marquardt [32] qui interpole l’algorithme de Gauss-Newton avec une descente de gradient. En comparaison de l’algorithme de Gauss-Newton classique, cette interpolation permet d’augmenter la vitesse de convergence lorsque l’on est loin de la solution. En revanche, elle fait intervenir davantage de paramètres. Critères de convergence La définition d’un critère de convergence est nécessaire pour conditionner la sortie de la boucle d’itérations. Classiquement, le critère suivant s’applique : ∆xTP −1 xˆxˆ∆x < sC (4.8) Le choix de la valeur de sC est souvent fait dans l’hypothèse selon laquelle ∆x peut être vue comme la réalisation d’une variable aléatoire gaussienne de moyenne nulle et de variance Pxˆxˆ (à un facteur multiplicatif près). Dans ce cas, la quantité ∆xT(Pxˆxˆ) −1∆x suit une loi du Khi-2 au même titre que le carré de la distance de Mahalanobis définie par l’équation (4.14) [33]. D’autres critères de sortie de la boucle d’itérations peuvent être adoptés comme par exemple le rapport des normes de l’incrément et de l’état actuel défini par l’équation (4.9) ou encore le rapport de la différence des normes des résidus avant et après l’incrémentation de l’état sur la norme du résidu avant l’incrémentation de l’état, comme le montre l’équation (4.10). k∆xk kxk < sC (4.9) kε(x + ∆x)k − kε(x)k kε(x)k < sC (4.10) Dans ces cas, la valeur de sC est en général déterminée de manière empirique. Afin d’estimer la pertinence de la solution retournée par l’algorithme, la norme des résidus peut être testée. Sous une hypothèse gaussienne, le carré de cette norme correspond en effet à une loi du Khi-2 à m − 1 degrés de liberté, où m est le nombre total de mesures contenues dans l’ensemble des observations. 474.3 Pistage multicible Filtres de Kalman L’algorithme de Gauss-Newton est coûteux en temps de calcul car il nécessite le calcul de matrices jacobiennes pour chaque observation, à chaque itération, et doit être effectué à chaque fois qu’une observation devient disponible pour garder l’estimée à jour. Dans le cas d’applications en temps réel où les observations sont faites au cours du temps, on envisage en général l’utilisation d’un filtre de Kalman [34] qui permet de minimiser le même critère d’erreur quadratique, mais de manière récursive sur les observations. Sous réserve que le filtre soit correctement initialisé, ces calculs permettent d’obtenir une série d’estimées convergentes vers une solution qui minimise le critère de moindres carrés (4.3). En somme, une estimation est retournée sachant les n observations disponibles à un instant donné et une (n + 1)ème observation peut être traitée par un calcul simple pour mettre à jour l’estimée à l’instant où cette observation était disponible. Dans le cas linéaire, les fonctions f et h des équations (4.1) et (4.2) sont exprimées par des matrices Fk et Hk dépendant de l’instant k. En général, des hypothèses a priori permettent de caractériser les bruits de modèle et d’observation par des matrices de covariances particulières dépendant du modèle dynamique adopté. Les équations de modèle et d’observation s’expriment alors selon les formules (4.11) et (4.12), dans le cas d’ordre 1 (l = 1). Xk+1 = Fk+1Xk + ζk (4.11) zk+1 = Hk+1xk+1 + ηk+1 (4.12) Cependant le modèle SGP, requis pour utiliser le catalogue Space-Track, ne permet pas d’accéder aux quantités mathématiques nécessaires au fonctionnement d’un filtre de Kalman telles que les matrices Fk et Hk, ou encore les matrices de covariance des bruits ζk et ηk+1. Nous retenons alors l’algorithme de Gauss-Newton pour l’estimation d’orbite. 4.3 Pistage multicible Lorsque plusieurs sources d’observations sont présentes (plusieurs cibles et/ou fausses alarmes), le problème d’associer les observations en pistes se pose. Les méthodes pré- sentées dans cette section ont pour objectif d’associer les observations de manière séquentielle, c’est-à-dire d’associer de nouvelles observations à des pistes existantes à un instant k. Le pistage multicible se décompose alors en deux étapes : une étape d’estimation d’état et une étape d’association d’une nouvelle observation à une piste existante (séquence d’observations). Connaissant un certain nombre d’observations, on peut généralement estimer un état pour décrire la dynamique de la cible. Cela permet par la suite de prédire des observations faites par le capteur et de les associer ou non sur un critère de vraisemblance (car une nouvelle observation peut être issue d’une fausse alarme ou d’une autre cible) à la série d’observations, ou piste, utilisées 48Chapitre 4 : Pistage pour estimer l’état. Quand de nouvelles observations sont associées, on peut mettre à jour l’état des pistes concernées. Estimation Gauss-Newton Association Transformation non-parfumée Figure 4.3 – Le cycle association-estimation fait intervenir l’estimation des paramètres d’un modèle ainsi que des techniques d’association de nouvelles observations. Le cycle association-estimation fait intervenir l’estimation des paramètres d’un modèle ainsi que des techniques d’association de nouvelles observations, comme par exemple la méthode de Gauss-Newton et la transformation non-parfumée. À chaque nouvelle observation associée, une estimation plus précise est possible. Une estimation précise de l’état permet une association plus efficace, i.e. sans erreur (rejet d’observation correcte, inclusion de fausse alarme, etc.). Association d’observations à une piste existante L’association d’une ou de plusieurs observations se fait de manière usuelle par fenê- trage, c’est-à-dire que l’on définit une fenêtre de validation à partir d’un état estimé et de sa matrice de covariance propagés à l’instant de l’observation à tester [35]. La fenêtre est alors définie par l’équation (4.13), où d est une mesure de distance, ¯zk+l est la prédiction de l’observation à l’instant k + l obtenue à partir des observations disponibles, c’est-à-dire ¯zk+l = h(xk+l), et par l’intermédiaire d’un état estimé, zk+l est l’observation réelle et sF est un seuil. d(¯zk+l , zk+l) ≤ sF (4.13) Dans cette étude comme dans de nombreux cas, on fait l’hypothèse que les variables aléatoires mises en jeu sont gaussiennes. On choisit alors d’adapter une distance de Mahalanobis pour définir d tel qu’en équation (4.14), où P¯z¯z est la matrice de covariance de l’observation prédite et Pzz la matrice de covariance de l’observation réelle (matrice de covariance de l’erreur de mesure). d(¯z, z) = q (¯z − z) T(P¯z¯z + Pzz) −1 (¯z − z) (4.14) La quantité ¯z − z est appelée “innovation” et notée ˜z. Sa matrice de covariance S vaut P¯z¯z + Pzz. 494.3 Pistage multicible z 1 k z 2 k z 3 k z 4 k z 5 k ¯zk État propagé Figure 4.4 – Schéma d’une fenêtre de validation obtenue au scan k à partir d’une piste. Les observations représentées tombent à l’intérieur de cette fenêtre et sont donc compatibles avec la piste. Le calcul de ¯z peut se faire par l’utilisation simple de la fonction de transfert f et de la fonction d’observation h introduites dans les équations (4.1) et (4.2). En revanche, le calcul de la matrice de covariance P¯z¯z n’est pas direct : il fait intervenir soit une linéarisation de f et de h, soit une technique de Monte-Carlo (c’est-à-dire qu’on génère et propage des particules) ou encore une transformation “non-parfumée”. Transformation non-parfumée La transformation non-parfumée [36, 37] permet de reconstruire une densité de probabilité a posteriori à partir d’échantillons choisis (σ-points) de la densité a priori. Le principe sous-jacent de la transformation non-parfumée est de réduire la distribution a priori au nombre de points minimal permettant le calcul de ses moments statistiques. Les images de ces points par la fonction non-linéaire en question permettent alors de reconstruire avec une certaine précision la distribution a posteriori. Cette méthode étant implémentée dans le cadre de cette étude, nous la décrivons de manière plus détaillée au Chapitre 7. Le fenêtrage tel que nous le décrivons permet d’associer une ou plusieurs observations à une piste (série d’observations) existante. Les cas ambigus où plusieurs observations (issues d’objets ou de fausses alarmes) simultanées sont associées à une même piste peuvent être traités par les algorithmes de pistage multicible [30, 17, 31]. On distingue parmi ces algorithmes deux grandes classes d’algorithmes : les algorithmes bayésiens et les algorithmes non-bayésiens. Les algorithmes bayésiens font intervenir une moyenne pondérée par des probabilités alors que les méthodes nonbayésiennes fonctionnent sur un principe de minimisation de coût global sur un ensemble combinatoire. Dans les deux cas, une fonction de fenêtrage est utilisée de manière systématique afin restreindre le nombre d’observations compatibles avec les pistes existantes. On note z i k la i-ème observation acquise au scan k et Z(k) l’ensemble des observations issues du scan k. L’ensemble des observations accumulées jusqu’à l’instant k est noté Z k . Les équations (4.15) et (4.16), où mk désigne le nombre d’observations au scan k, formalisent ces définitions. 50Chapitre 4 : Pistage Z k = {Z(i)}i∈{1,...,k} (4.15) Z(k) = {z i k}i∈{1,...,mk} (4.16) 4.3.1 Approches bayésiennes Joint-Probabilistic Data Association Filter (JPDAF) Le JPDAF [38, 39] nécessite la connaissance du nombre d’objets présents et fait l’hypothèse que les pistes associées à ces objets sont initialisées. À chaque scan k, une innovation ˜zt (k) résultante de la moyenne pondérée des innovations liées à l’ensemble des observations contenues dans la fenêtre de validation (cf. Figure 4.4) est calculée pour chaque cible t, tel qu’en équation (4.17), où β t i (k) est la probabilité que la mesure i corresponde à la cible t et ˜zt i (k) est l’innovation au sens classique entre la prédiction de l’observation issue de la cible t et l’observation i du scan k. L’état de chaque cible est ensuite mis à jour selon les équations du filtre Probabilistic Data Association Filter (PDAF) classique disponibles dans la littérature et analogues à celles du filtre de Kalman. ˜zt (k) = Xmk i=1 β t i (k)˜zt i (k) (4.17) L’expression des probabilités {β t i (k)} fait intervenir plusieurs paramètres concernant en particulier les probabilités de détection de chaque cible ainsi que la distribution du nombre de fausses alarmes présentes dans le volume de surveillance. C’est également dans ces probabilités que l’on retrouve des considérations de faisabilité d’hypothèses d’association, c’est-à-dire les différents cas possibles d’association d’observations aux pistes sous la contrainte qu’aucune observation ne peut être associée à plusieurs pistes simultanément et que chaque piste ne peut être associée qu’à une observation au plus à un instant donné. Le JPDAF fait donc intervenir l’ensemble des observations compatibles (validées par une fenêtre) dans le calcul de l’état de chaque objet en évitant une décision tranchée quant aux associations des observations aux pistes à ce stade. En revanche, le raffinement des états des cibles au fur et à mesure que l’on accumule des observations permet un fenêtrage (décision) plus efficace. Hypothesis-Oriented Multiple Hypothesis Tracking (HO-MHT) Contrairement au JPDAF, le filtre HO-MHT [40, 39] (version classique du MHT) n’impose pas la connaissance du nombre de cibles présentes. En effet, son principal intérêt est qu’il permet de gérer l’apparition d’une nouvelle cible. Le HO-MHT se focalise sur les observations de manière récursive : à chaque scan, les hypothèses 514.3 Pistage multicible concernant l’origine des observations (piste existante, fausse alarme ou nouvelle piste) sont énumérées et leurs probabilités évaluées. ¯zZ2 ¯zZ1 z 2 k z 1 k z 3 k Z2 Z1 Figure 4.5 – Exemple de fenêtres de validation issues de pistes Z1 et Z2 à l’instant des observations z 1 k , z 2 k et z 3 k . Supposons par exemple l’existence de deux pistes Z1 et Z2 dont les fenêtres de validations au scan k valident les observations z 1 k pour Z1 et z 1 k , z 2 k et z 3 k pour Z2 comme l’indique la Figure 4.5. Sachant que les observations z 1 k , z 2 k et z 3 k peuvent représenter des fausses alarmes ou également de nouvelles pistes (Z3, Z4 et Z5, respectivement), on peut dénombrer 28 hypothèses d’association (h1, ..., h28). On évalue alors les probabilités P(θ t i |Z k ) où θ t i représente l’événement “l’observation i est issue de la cible t” en sommant les probabilités des hypothèses {hj} contenant θ t i , dans le but de mettre à jour les états des pistes par l’équation (4.18), où θ t 0 représente l’événement “la cible t n’a pas été détectée” et ˆx t i (k) est l’état de la cible t mis à jour avec l’observation i (ou propagé pour i = 0). ˆx t (k) = Xmk i=0 P(θ t i |Z k )ˆx t i (k) (4.18) Les probabilités des {hj}, nécessaires au calcul des {P(θ t i |Z k )}, s’obtiennent par des considérations sur les densités de probabilité de fausse alarme et d’apparition de nouvelles cibles. Une expression de la matrice de covariance mise à jour est par ailleurs disponible dans la littérature. L’arbre d’hypothèses obtenu est mis à jour de manière récursive et croît de manière exponentielle. Pour garder le nombre d’hypothèses sous contrôle, on abandonne l’optimalité du filtre (toutes les hypothèses d’associations étaient envisagées) en supprimant les hypothèses de probabilité négligeable et en fusionnant les hypothèses similaires (nombres de pistes égaux et états des pistes similaires). Une version “orientée piste” (Track-Oriented Multiple Hypothesis Tracking, TO-MHT) non-bayésienne du HO-MHT est implémentée dans le cadre de cette étude et décrite plus en détail dans la suite de ce chapitre. Gaussian-Mixture Probabilistic Hypothesis Density (GM-PHD) Le filtre PHD [41] est un algorithme récent qui a fait l’objet de nombreuses études. Cet algorithme permet de gérer l’apparition de nouvelles cibles ou leur disparition 52Chapitre 4 : Pistage en s’appuyant sur une fonction d’intensité vk définie sur l’espace d’état des cibles à chaque instant k. Dans sa variante Gaussian-Mixture PHD, chaque cible i est représentée par une gaussienne dans l’espace d’état, la somme de ces distributions formant la fonction d’intensité comme l’indique l’équation (4.20) où w i k pondère la gaussienne de moyenne mi k et de covariance Pi k associée à la i ème cible parmi Jk à l’instant k. vk(x) = X Jk i w i kN (x, mi k , P i k ) (4.19) À chaque récursion, chaque gaussienne est propagée aux instants des observations par propagation de sa moyenne et de sa covariance selon un filtre de Kalman qui utilise successivement chaque observation pour le calcul d’une innovation. Les gaussiennes générées par la combinaison de chaque cible avec chaque observation sont alors pondérées et celles dont les pondérations sont inférieures à un seuil sont supprimées afin d’éliminer les pistes mortes et les fausses alarmes. La fonction d’intensité devient alors : vk+1(x) = (1 − PD)vk+1|k(x) + X z JkX +1|k i=1 w i k+1(z)N (x, mi k+1(z), P i k+1) (4.20) où PD est la probabilité de détection, vk+1|k(x) est la fonction d’intensité obtenue par propagation de chaque gaussienne, w i k+1(z) et N (x, mi k+1(z), Pi k+1) sont respectivement le poids et la gaussienne estimée associés au couple {cible i, observation z}. Une expression de w i k+1(z), non-détaillée dans ce document, est disponible dans les articles de référence. 4.3.2 Approches non-bayésiennes Global Nearest Neighbor (GNN) Le principe du filtre GNN [42] repose sur la recherche de l’hypothèse d’association d’observation à piste de moindre coût à chaque scan, sachant qu’une observation ne peut être associée à plus d’une piste dans le scénario finalement retenu. Pour cela, une fonction de coût peut être définie telle que : d 2 Gij = d 2 ij + ln |Sij | (4.21) où dij est la distance de Mahalanobis définie en équation (4.14) entre l’observation i et l’observation prédite à partir de la piste j, et |Sij | est le déterminant de la matrice de covariance associée à l’innovation, ce dernier terme visant à pénaliser les pistes de moindre qualité. À l’arrivée de nouvelles observations, des fenêtres de validation (équation (4.13)) sont calculées à l’aide des pistes existantes afin de remplir une table d’association. 534.3 Pistage multicible Dans l’exemple illustré par la Figure 4.5, on obtient la table d’association suivante : z 1 k z 2 k z 3 k Z1 2 × × Z2 4 3 2 Z3 0 × × Z4 × 0 × Z5 × × 0 où “×” indique que l’observation n’est pas dans la fenêtre de validation calculée et Z3, Z4 et Z5 sont de nouvelles pistes éventuelles. Cette table permet de déduire un scénario de moindre coût en prolongeant le plus de pistes possible. En l’occurrence, on associe z 1 k à Z1, z 3 k à Z2 et z 2 k fait l’objet d’une nouvelle piste. Pour confirmer ou supprimer une piste, on peut utiliser une fonction de score cumulatif comme décrite en Section 8.1.4. D’autres fonctions de coût peuvent être adoptées comme par exemple l’opposé de la distance à la limite de la fenêtre de validation pour les observations valides tel que le définit l’équation (4.22), où sF est le seuil utilisé pour valider une mesure ou non. dGij = dij − sF (4.22) Formulation du problème avec la programmation entière 0-1 L’algorithme GNN est un cas particulier de résolution par programmation entière [39], qui consiste de manière générale à chercher le scénario d’association le moins coûteux sur plusieurs scans. Résoudre un problème de pistage multicible sur tous les scans devient rapidement très coûteux, c’est pourquoi on implémente en général une fenêtre temporelle glissante pour y chercher la meilleure combinaison. L’association d’observations étant catégorique dans le cas de cet algorithme, la condition selon laquelle une observation ne peut être associée à plusieurs pistes dans le scénario d’association retenu doit être respectée. On généralise alors le concept de faisabilité d’un scénario d’association grâce à un indicateur d’appartenance d’une observation à une piste et à un indicateur d’appartenance d’une piste à un scénario d’association. La condition de faisabilité d’un scénario d’association est respectée si : AbS ≤ 1 (4.23) où 1 est un vecteur dont les composantes valent 1, A désigne la matrice binaire d’appartenance d’observations aux pistes, bS désigne le vecteur binaire d’appartenance des pistes à un scénario d’association S : 54Chapitre 4 : Pistage A = {aij} tel que    aij = 1 si l’observation i est associable à la piste j, aij = 0 sinon. bS = {bi} tel que    bi = 1 si la piste i appartient au scénario S, bi = 0 sinon. (4.24) En construisant le vecteur λ dont chaque composante représente le coût individuel de chaque piste d’observations (par exemple la log-vraisemblance négative), on cherche à minimiser une fonction de coût global, ce qui revient à résoudre : min S b T S λ sous la contrainte AbS ≤ 1 (4.25) Ce problème mathématique classique peut se résoudre (éventuellement après transformation) par des algorithmes d’optimisation tels que ceux présentés par exemple dans [43]. Une synthèse de cette approche est proposée dans [39]. Track-Oriented Multiple Hypothesis Tracking (TO-MHT) Le TO-MHT a d’abord été proposé dans [44] et développé dans de nombreux ouvrages et articles tels que [17, 31, 45]. Cette approche, inspirée du HO-MHT, constitue une heuristique efficace et appliquée dans de nombreux cas. Nous implémentons un TO-MHT dans le cadre de cette étude, ce choix étant davantage justifié en Section 4.4. Des pistes d’observations potentiellement issues du même objet sont formées grâce à des fonctions de fenêtrage telle que la transformation non-parfumée, en levant la règle selon laquelle les observations ne peuvent appartenir à plusieurs pistes. Cela induit un grand nombre de scénarios d’associations que l’on filtre avant d’imposer à nouveau la règle temporairement levée pour former des hypothèses d’associations globales possibles. Filtrage au niveau piste Un critère de qualité tel que la log-vraisemblance est évalué grâce au très répandu Sequential Probability Ratio Test (SPRT) [46]. Pour cela, une log-vraisemblance LZ (que l’on appelle “score” dans ce contexte) est calculée pour chaque piste d’observations Z. LZ = log p(Z|H1) p(Z|H0) (4.26) où H1 est l’hypothèse “toutes les observations de Z sont issues du même objet” et H0 = H1. 554.4 Choix d’un TO-MHT résultant des contraintes d’emploi Ce score LZ est comparé à des seuils sSPRT,1 et sSPRT,2 dont les valeurs sont déterminées par les performances espérées de l’algorithme de pistage en termes de Fausses Pistes confirmées (FP), c’est-à-dire dans ce contexte une piste qui ne seraient pas issues d’un même objet et dont le score serait élevé (erreur de type I), et de pistes correctes supprimées, c’est-à-dire dans ce contexte une piste correcte qui aurait un score faible (erreur de type II). Les probabilités des erreurs de type I α et de type II β associées sont alors fixées. La valeur de α est en général choisie selon la probabilité qu’une fausse alarme (FA) produise une FP sur une certaine durée. Dans cette étude, nous souhaitons avoir un taux moyen de FP d’au plus une FP tous les 10 jours (choix arbitraire), ce qui mène à : α = Fausses pistes confirmées par jour Fausses alarmes par jour = 0, 1 86400 ∗ 10 = 1, 16.10−7 La valeur de la probabilité β d’erreur de type II est choisie en fonction de la capacité du système à garder en mémoire un grand nombre d’hypothèses d’associations. Nous fixons une valeur arbitraire β = 5.10−3 pour la mise en œuvre du SPRT dans cette étude (cf. Chapitre 8). Sachant α et β, les seuils du SPRT sont fixés tels que : sSPRT,1 = log β 1 − α = −5, 2983 (4.27) sSPRT,2 = log 1 − β α = 15.9669 (4.28) Une piste dont la vraisemblance est inférieure à sSPRT,1 est alors supprimée, tandis qu’une piste dont la vraisemblance est supérieure à sSPRT,2 est confirmée, c’est-à-dire que le risque d’erreur qui y est lié est contrôlé (notamment par α). Filtrage au niveau global Les combinaisons des pistes de bonne qualité peuvent être confrontées de plusieurs manières possibles. Le calcul des probabilités de chaque scénario d’association global, ou encore des méthodes plus empiriques telles que le N-scan pruning peuvent permettre d’éliminer des hypothèses d’association. Le TO-MHT est davantage détaillé au Chapitre 8 à l’occasion de son adaptation et implémentation dans le cadre de ces travaux. 4.4 Choix d’un TO-MHT résultant des contraintes d’emploi Le catalogage implique, par définition, que le nombre d’objets présents est inconnu alors que le JPDAF, ne permettant pas de prendre en compte l’apparition de nouvelles cibles, nécessite une connaissance a priori du nombre de cibles. Cela exclut d’emblée l’utilisation d’un filtre JPDAF pour la résolution de ce problème. 56Chapitre 4 : Pistage Les autres algorithmes présentés dans cette section autorisent l’apparition ou la disparition de cibles. Cependant, ils présentent des lacunes liées au problème à ré- soudre. Rappelons que le catalogage d’objets spatiaux par l’utilisation du capteur défini au Chapitre 2 implique principalement : – des observations isolées d’un même objet très espacées dans le temps, – un modèle dynamique très précis mais non-observable sans l’association préalable de plusieurs observations, – des mesures imprécises ne permettant pas de distinguer les objets volant en groupe (satellites en formation, groupes de débris, de particules, etc.). De plus, nous supposons que les objets sont non-manœuvrants de par leur petite taille, ce qui permet de ne considérer qu’un unique modèle dynamique (le modèle SGP). Le GM-PHD permet de mieux gérer les cas de pistage où les cibles sont proches dans l’espace d’observation en s’affranchissant de l’association d’observation à piste et en estimant le nombre d’objets présents, ce qui n’est pas une fonction nécessaire dans notre cas. Nous préférons par conséquent nous orienter vers des méthodes telles que le MHT ou faisant intervenir la programmation entière. La résolution par programmation entière est une méthode explicite au sens où l’on minimise directement le coût associé à l’association d’observations en pistes sur une fenêtre temporelle glissante. Cependant, l’éloignement temporel des observations issues d’un même objet implique une matrice d’association A de très grande taille (nouvelles pistes accumulées) et de structure très lacunaire (la quasi-totalité de ses éléments sont nuls) dans notre cas, puisque les cibles sont pour la plupart hors du champ de veille du radar. Cette méthode en l’état ne semble donc pas la plus adaptée au problème de catalogage d’objets spatiaux par observations isolées. Le HO-MHT a l’avantage de retarder la suppression d’hypothèses d’association jusqu’à ce que suffisamment d’information soit disponible pour le permettre avec un degré de certitude contrôlé. Cette particularité du MHT est adaptée au problème de catalogage par observations isolées car elle permet d’accumuler les hypothèses d’association possibles pendant le temps de non-observabilité des nouvelles pistes. En revanche, la rigidité du HO-MHT est un obstacle à l’adaptation correcte de cette algorithme à un problème peu conventionnel où notamment la quasi-totalité des objets à cataloguer est à chaque instant hors de l’emprise du capteur. Par conséquent, nous nous orientons dans cette étude vers une version plus souple et plus facilement adaptable du MHT, le Track-Oriented MHT (TO-MHT) [44, 17]. Le TO-MHT peut être vu comme une hybridation de la résolution par programmation entière et du HO-MHT dans le sens où cette méthode, non-bayésienne, optimise un ensemble de pistes d’observations tout en permettant de reporter les décisions qui seraient prises avec un degré de certitude faible jusqu’à l’arrivée des observations informatives. Le TO-MHT fournit alors une heuristique permettant de constituer de bons scénarios d’association sans passer par une énumération exhaustive des hypothèses, de garder en mémoire ou non des pistes en phase d’initialisation et de filtrer ces pistes à différents niveaux, comme nous le verrons par la suite. 574.5 Conclusion du chapitre 4.5 Conclusion du chapitre Une hypothèse forte faite dans ce chapitre est que le système que l’on cherche à estimer (c’est-à-dire l’orbite d’un objet pisté) est observable (c’est-à-dire qu’une solution unique existe pour le problème d’estimation) compte tenu des observations disponibles. Dans le cas du radar à champ de veille très étroit, les observations d’un même objet sont rares et très espacées dans le temps, ce qui implique un long délai d’observabilité pendant lequel un filtre de Kalman est susceptible de diverger si l’état estimé est mis à jour en temps réel. De plus, ces filtres nécessitent en général la connaissance d’une matrice de covariance de l’erreur de modèle, difficilement accessible dans le cas du modèle SGP que nous utilisons dans ces travaux. En somme, un filtre de Kalman étendu ou non-parfumé est plus complexe à mettre en œuvre qu’un algorithme de Gauss-Newton, plus lourd en temps de calcul certes, mais plus simple et plus robuste. Par ailleurs, la transformation non-parfumée serait la plus performante : elle évite le calcul de matrices jacobiennes et ne nécessite qu’un nombre réduit de particules, ce qui la rend à la fois précise et peu consommatrice en temps de calcul. Pour ces raisons, nous choisissons d’implémenter un algorithme de Gauss-Newton pour l’estimation d’orbite et une transformation non-parfumée pour l’association de nouvelles observations quand une orbite est disponible. L’adaptation de ces méthodes au cas des objets en orbite est décrite au Chapitre 7. Le catalogage nécessite d’implémenter ces méthodes dans un algorithme de pistage multicible. En termes de complexité combinatoire, les algorithmes de pistage multicible présentés sont sensiblement équivalents : dans tous les cas en effet, on quantifie la corrélation de chaque piste existante avec chaque nouvelle observation, que ce soit dans le but de les combiner dans une moyenne pondérée (algorithmes bayésiens) ou de prendre une décision tranchée d’association d’observation à piste (algorithmes non-bayésiens). Ces algorithmes reposent également tous sur une certaine perte d’optimalité pour assurer leur faisabilité. La première perte d’optimalité résulte de l’utilisation d’une fonction de fenêtrage, ce qui permet en effet de réduire le jeu de nouvelles observations pour chaque piste. La seconde perte d’optimalité évidente réside dans la suppression de pistes, qui permet d’une part de réduire le nombre de calculs de corrélation entre pistes et observations nécessaires et d’autre part d’obtenir des tables ou matrices d’association de taille raisonnable. Le choix d’un algorithme pour l’implémentation d’une fonction de catalogage d’objets spatiaux s’oriente vers le TO-MHT. Cette méthode non-bayésienne hérite du principe du HO-MHT dans le sens où elle permet de retarder une décision d’association tant que l’information disponible n’est pas suffisante, ce qui est un avantage important étant donné que les objets spatiaux sont observés par un capteur dont l’emprise est restreinte et génère des pistes dont on ne peut initialement déterminer l’orbite (état) avec précision. Le TO-MHT hérite également du caractère explicite de la méthode par programmation entière du fait qu’elle se concentre sur le traitement direct des pistes quitte à recalculer une solution globale à chaque itération pour les traiter dans leur ensemble. En permettant l’insertion facile de blocs de traitement des pistes, le TO-MHT fait preuve d’une grande adaptabilité. Les algorithmes de pistage multicible permettent de gérer des pistes en s’appuyant 58Chapitre 4 : Pistage sur des fonctions élémentaires d’association d’observation et d’estimation d’état. Cependant, les algorithmes décrits font l’hypothèse de pistes initialisées alors que par définition, une observation isolée ne permet pas de définir une orbite, et donc d’initialiser une piste. L’initialisation du pistage pour les objets spatiaux fait donc l’objet du chapitre suivant. 59Chapitre 5 Détermination d’orbite préliminaire L’initialisation d’une piste pour décrire la trajectoire d’un objet spatial est une diffi- culté majeure dans le cas d’observations isolées pour des raisons de non-observabilité de l’orbite compte tenu du peu d’information acquis à chaque traversée. Dans ce chapitre, nous présentons les méthodes classiques de calcul d’orbite à partir d’observations de position dans le but de cerner précisément les lacunes de l’état de l’art en termes d’initialisation de piste dans le cas d’observations isolées. Dans un premier temps, nous situons la Détermination d’Orbite Initiale (Initial Orbit Determination, IOD) dans le processus de pistage et identifions plus précisément la difficulté de la première association d’observations. Ensuite, quatre méthodes classiques pour l’IOD sont présentées ainsi que la seule tentative publiée à ce jour pour traiter le problème de catalogage de petits débris spatiaux par observations isolées. Sommaire 5.1 Problématique de la Détermination d’Orbite Initiale . . 62 5.2 Trois observations de position . . . . . . . . . . . . . . . . 63 5.2.1 Méthode de Gibbs . . . . . . . . . . . . . . . . . . . . . . 63 5.2.2 Méthode de Herrick-Gibbs . . . . . . . . . . . . . . . . . . 64 5.3 Deux observations de position . . . . . . . . . . . . . . . . 65 5.3.1 Méthode de Gauss . . . . . . . . . . . . . . . . . . . . . . 66 5.3.2 Méthode de Battin et révolutions multiples . . . . . . . . 67 5.4 Méthode des débris virtuels (Virtual Debris) . . . . . . . 68 5.4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.4.2 Résultats publiés . . . . . . . . . . . . . . . . . . . . . . . 69 5.5 Insuffisance des techniques existantes . . . . . . . . . . . 70 5.5.1 Pour l’association initiale . . . . . . . . . . . . . . . . . . 70 5.5.2 Pour la Détermination d’Orbite Initiale (IOD) . . . . . . 71 5.6 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . 71 615.1 Problématique de la Détermination d’Orbite Initiale 5.1 Problématique de la Détermination d’Orbite Initiale Le cycle Association-Estimation décrit dans la Section 4.3 est valable lors de la mise-à-jour des pistes mais également lors de leur initialisation. Naturellement, il est nécessaire d’accumuler des observations (étape d’association) avant de pouvoir calculer une orbite (étape d’estimation). La Détermination d’Orbite Initiale (IOD) est le premier calcul d’orbite, souvent effectué à partir d’un nombre d’observations réduit. Quand davantage d’observations deviennent disponibles, on effectue un calcul d’Orbite Définitive (Definitive Orbit, DO) pour raffiner la connaissance de l’orbite à partir de l’Orbite Initiale (Initial Orbit, IO) et d’observations nouvellement acquises [47, 29, 48]. Association Accumulation du nombre minimal d’observations pour l’IOD Estimation Détermination d’orbite initiale Association Utilisation de l’orbite initiale et du modèle dynamique Premières observations Observations supplémentaires Vers Détermination d’OD Figure 5.1 – L’IOD nécessite d’avoir associé un nombre suffisant d’observations. Les autres observations ont été associées au préalable ou sont associées par la suite grâce à l’orbite initiale et au modèle dynamique. Les méthodes classiques d’IOD telles que la méthode de Gibbs et celle de HerrickGibbs peuvent être utilisées pour calculer une orbite à partir de trois observations de position issues d’un arc de trajectoire de longueur suffisante (capteur à large emprise). Par opposition, les méthodes de résolution du problème de Lambert 1 né- cessitent seulement deux observations de position qui peuvent être éloignées spatialement et dans le temps. Dans les deux cas, la quantité recherchée et le vecteur vitesse associé à l’une des positions connues. Ces méthodes supposent alors : – des observations correctement associées, – un bruit d’observation faible ou nul. On comprend alors que les méthodes d’IOD ne répondent pas au problème d’association initiale et que les sorties de ces algorithmes peuvent être imprécises en raison du bruit d’observation qui génère de la redondance entre deux observations spatialement proches. L’IOD reste cependant une étape essentielle pour le pistage d’objets spatiaux. Dans ce qui suit, nous présentons deux méthodes d’IOD à partir de trois observations 1. Résoudre le problème de Lambert consiste à relier deux positions par une orbite de transfert. 62Chapitre 5 : Détermination d’orbite préliminaire de position ainsi que deux méthodes de résolution du problème de Lambert dont une version permet de traiter le cas d’observations à une ou plusieurs révolutions d’intervalle. 5.2 Trois observations de position Les méthodes de Gibbs et de Herrick-Gibbs sont couramment utilisées pour l’IOD [49]. Ces méthodes font l’hypothèse de trois observations de position r1, r2 et r3, coplanaires dans un référentiel ECI. Compte tenu du bruit d’observation, une certaine erreur de coplanarité doit être admise. Les vecteurs sont supposés être également relativement proches spatialement et temporellement, c’est-à-dire en général issues d’une même traversée d’un objet dans le FOR du capteur. Le bruit d’observation pouvant être important avec notre capteur, la précision de l’orbite initiale obtenue est fortement dégradée, et ce d’autant plus que la proximité spatiale des observations bruitées implique une perte d’information (redondance). r1 r2 r3 Figure 5.2 – Trois observations de position datées permettent le calcul d’une orbite initiale. La précision de cette orbite dépend de la configuration du triplet d’observations (distances relatives, bruit d’observation, etc.). 5.2.1 Méthode de Gibbs La méthode de Gibbs est une méthode purement géométrique inspirée de la méthode de Gauss (non-détaillée dans ce document, cf. [24]) pour l’IOD à partir de trois lignes de visées (deux angles sans mesure de distance obtenues en général par des observations au télescope). L’objectif de cette méthode est le calcul d’un vecteurvitesse v associé à un vecteur-position r. Le couple position-vitesse (r, v) obtenu permet de remonter aux éléments orbitaux grâce au formulaire de l’Annexe C. Les trois vecteurs position r1, r2 et r3 sont supposés coplanaires, avec une certaine tolérance compte tenu du bruit d’observation. La première loi de Kepler permet de déduire l’expression d’un vecteur-vitesse associé à un vecteur-position : 635.2 Trois observations de position v = ± r µ ND  S + D ∧ r r  (5.1) où les trois vecteurs N, D et S (de normes N, D et S, respectivement) sont définis tels que : N = r3r1 ∧ r2 + r1r2 ∧ r3 + r2r3 ∧ r1 D = r1 ∧ r2 + r2 ∧ r3 + r3 ∧ r1 (5.2) S = (r2 − r3)r1 + (r3 − r1)r2 + (r1 − r2)r3 Ce résultat impose que les observations soient séquentielles, c’est-à-dire que l’on connaît leur ordre temporel (même si l’on n’utilise pas directement leurs dates). L’ambiguïté sur le signe de v se résout alors trivialement. On retrouve alors les valeurs des paramètres orbitaux képlériens classiques par le formulaire (C.1)-(C.6). Accessoirement, le vecteur excentricité e (vecteur de norme e qui pointe vers le périgée) est directement accessible par e = S∧N SD . La méthode de Gibbs étant purement géométrique, elle est préférée quand les trois observations sont réparties sur un arc relativement grand, car des angles trop faibles entre les vecteurs-position conduisent à des produits vectoriels quasi-nuls et sujets aux erreurs numériques. Dans la littérature [22], on évoque une limite empirique de 1˚en termes d’angle minimal entre les vecteurs d’observation (cela est également conditionné par la précision des mesures). Par ailleurs, la coplanarité des vecteurs-position utilisés peut se mesurer par un angle αcoplanaire défini par l’équation (5.3), auquel on impose en général d’être inférieur à 3˚pour la pertinence du résultat. αcoplanaire = 90˚ − arccos r2 ∧ r3.r1 kr2 ∧ r3kkr1k (5.3) 5.2.2 Méthode de Herrick-Gibbs À l’instar de la méthode de Gibbs, la méthode de Herrick-Gibbs permet de calculer le vecteur-vitesse v2 à partir de trois positions datées {(t1, r1),(t2, r2),(t3, r3)} avec t1 < t2 < t3. Cette méthode repose sur un principe analytique : elle fait appel à un développement limité de vecteurs position r(t) fonction du temps, ce qui implique des observations rapprochées dans le temps dans la mesure où le bruit d’observation le permet. En partant d’un développement en série de Taylor du vecteur-position r(t) de l’objet considéré autour de t2 à l’ordre 4, évalué en r1 et en r3, on aboutit au système d’équations (5.4)-(5.5). r1 = r2 + r ′ 2∆t12 + 1 2 r ′′ 2∆t 2 12 + 1 3!r (3) 2 ∆t 3 12 + 1 4!r (4) 2 ∆t 4 12 + ≀(∆t 4 12) (5.4) r3 = r2 + r ′ 2∆t32 + 1 2 r ′′ 2∆t 2 32 + 1 3!r (3) 2 ∆t 3 32 + 1 4!r (4) 2 ∆t 4 32 + ≀(∆t 4 32) (5.5) 64Chapitre 5 : Détermination d’orbite préliminaire avec ∆t12 = t1 − t2 et ∆t32 = t3 − t2. En manipulant ces équations et en utilisant l’équation du problème à deux corps r ′′ = − µ r 3 r, on peut démontrer que v2 s’exprime tel que : v2 = r ′ 2 = α r1 + β r2 + γ r3 (5.6) où α, β et γ sont fonction de ∆t12, ∆t13, ∆t23 et de µ : α = −∆t32 1 ∆t21∆t31 + µ 12r 3 1 ! (5.7) β = (∆t32 − ∆t21) 1 ∆t21∆t32 + µ 12r 3 2 ! (5.8) γ = ∆t21 1 ∆t32∆t31 + µ 12r 3 3 ! (5.9) À partir du couple {r2, v2}, on peut calculer les paramètres orbitaux képlériens classiques d’après le formulaire (C.1)-(C.6). L’utilisation de développements limités autour de t2 implique des observations très rapprochées dans le temps pour que l’approximation négligeant les termes ≀(∆t 4 12) et ≀(∆t 4 32) soit valable. La méthode de Herrick-Gibbs est donc complémentaire dans sont domaine d’application à la méthode de Gibbs. Dans [24], des études de cas démontrent que la méthode de Gibbs est plus précise quand les vecteurs-position forment des angles supérieurs à 5˚tandis que la méthode de Herrick-Gibbs est plus précise quand ces mêmes angles sont inférieurs à 1˚. Pour des écarts angulaires compris entre 1˚et 5˚, ces deux méthodes montrent des performances comparables. 5.3 Deux observations de position On appelle le “problème de Lambert” le problème de déterminer une orbite reliant une position initiale r0 à une position finale r1 en un temps ∆t. Résoudre ce problème nécessite de faire des hypothèses supplémentaires. En effet, deux positions peuvent être reliées par une infinité d’orbites képlériennes et un nombre de révolutions maximal entre les deux positions doit être fixé. La méthode de Gauss [50] est une méthode de résolution classique. Elle consiste à déterminer de manière numérique (itérations) un rapport d’aires y dont on déduit le vecteur vitesse v0 associé à la position initiale r0. Pour le cas où plusieurs révolutions sont possibles entre les deux positions, la méthode de Battin est une des méthodes les plus courantes. D’autres méthodes visant à s’affranchir des contraintes liées à la méthode de Gauss (notamment la condition de non-colinéarité) existent (par exemple, la méthode de Thorne [51]) mais ne sont pas décrites dans ce document car elles conservent les mêmes lacunes que les méthodes classiques pour notre problème particulier, c’est-à-dire que le bruit de mesure n’est pas pris en compte et que le coût de calcul n’est pas allégé. 655.3 Deux observations de position r1 r0 ∆ν Figure 5.3 – La résolution du problème de Lambert pour l’IOD consiste à déterminer une orbite reliant deux positions en un temps donné. En général, plusieurs solutions sont possibles en particulier quand on admet que l’objet a pu effectuer plusieurs révolutions. Dans le cas où l’objet effectue moins d’une révolution, on peut trouver deux solutions (sauf cas particulier où les vecteurs-position sont colinéaires). 5.3.1 Méthode de Gauss La méthode de Gauss pour résoudre le problème de Lambert s’appuie sur une expression du semi-paramètre p (avec les paramètres képlériens présentés au Chapitre 3 : p = a(1 − e 2 )), fonction de l’angle formé par r0 et r1, les normes de ces deux vecteurs ainsi que sur la différence d’anomalie excentrique ∆E. La connaissance du semi-paramètre p permet de remonter aux vitesses associées à r0 et r1. Tout le problème revient donc à la résolution de cette équations, dont les inconnues sont p et ∆E : p = 2r0r1 sin2 (∆ν/2) r0 + r1 − 2 √ r0r1 cos(∆ν/2) cos(∆E/2) (5.10) Des techniques plus ou moins classiques sont disponibles pour résoudre cette équation. Dans [24], le rapport y de l’aire balayée par le vecteur-position entre r0 et r1 et de l’aire du triangle formé par ces deux mêmes vecteurs est utilisé. Une expression de ce rapport peut se déduire de la loi des aires : y = √µp∆t r0r1 sin ∆ν (5.11) En y injectant l’expression (5.10), on obtient : y 2 = µ∆t 2 cos−2 (∆ν/2) 2r0r1  r0 + r1 − 2 √ r0r1 cos(∆ν/2) cos(∆E/2) (5.12) où nous rappelons que ∆E désigne la différence des anomalies excentriques (cf. Chapitre 3). L’équation (5.12) peut alors s’écrire sous une forme plus classique : y 2 = m l + x1 , avec    l = r0+r1 4 √r0r1 cos(∆ν/2) − 1 2 m = µ∆t 2 (2√r0r1 cos(∆ν/2))3 x1 = sin2 (∆E/4) (5.13) 66Chapitre 5 : Détermination d’orbite préliminaire Dans [50], il est démontré l’utilité d’une quantité x2 particulière, qui admet un développement en série entière de x1 pour ∆ν < 90˚ : x2 = ∆E − sin ∆E sin3 (∆E/2) = 4 3 1 + 6 x1 5 + 6 × 8 x 2 1 5 × 7 + 6 × 8 × 10 x 3 1 5 × 7 × 9 + ...! (5.14) et qui vérifie de plus : y 3 − y 2 = mx2 (5.15) En injectant l’équation (5.13) dans l’équation (5.15), on obtient : y = (l + x1)x2 + 1 (5.16) En partant d’une valeur arbitraire y = 1, on peut calculer des valeurs de x1 grâce à l’équation (5.13), puis de x2 grâce à l’équation (5.14), puis de y grâce à l’équation (5.16) et ce de manière itérative, ce qui permet de converger vers une valeur estimée de y (substitutions successives). On peut alors calculer p par l’équation (5.11), puis le vecteur-vitesse v0 associé à r0 : v0 = r1 − fr0 g , avec    f = 1 − r1 p (1 − cos ∆ν) g = r1r0 sin ∆ν √µp (5.17) Les quantités f et g sont issues d’une méthode de propagation particulière, détaillée dans [24]. D’autres méthodes de résolution sont disponibles dans la littérature. Cependant, elles nécessitent toutes une résolution numérique (boucle d’itérations) ce qui implique un coût de calcul plus important. 5.3.2 Méthode de Battin et révolutions multiples La méthode de Battin [52] permet de résoudre un problème de Lambert de manière plus robuste en reformulant les équations (5.13) et (5.15), de manière à déplacer la singularité en ∆ν = π de la méthode de Gauss à ∆ν = 2π. Les équations en y deviennent :    y 2 = m (l+x)(1+x) y 3 − y 2 = m ∆E−sin ∆E 4 tan3(∆E/2) (5.18) où l = tan2 ∆ν 2 , m = µ∆t 2 8r 3 0,p et x = tan2 ∆E 2 . La grandeur r0,p est introduite par Battin comme étant la moyenne entre le demi-grand axe de l’ellipse d’excentricité minimale et de la longueur du segment entre le foyer (de cette ellipse) et sa projection orthogonale sur la corde reliant les deux positions observées. Après une résolution par substitutions successives de ce système d’équations (de manière analogue à la résolution par méthode de Gauss), les vitesses aux positions observées peuvent être 675.4 Méthode des débris virtuels (Virtual Debris) retrouvées. Le détail du calcul permettant d’arriver à cette formulation est disponible en [24]. Cette formulation est particulièrement intéressante car elle s’étend aux cas de révolutions multiples [53]. En effet, si N est le nombre de révolutions entre r0 et r1, on peut reformuler le système d’équations (5.18) tel que :    y 2 = m (l+x)(1+x) y 3 − y 2 = mNπ+∆E−sin ∆E 4 tan3(∆E/2) (5.19) où N est le nombre de révolutions autorisé. Pour chaque valeur de N, le système d’équations a deux solutions. Il compte alors 2N + 1 solutions au total (on retrouve les équations originales de Battin pour N = 0, ce qui mène à une solution unique), que l’on peut obtenir par substitutions successives et par substitutions successives inverses. En effet, la méthode par substitutions successives mentionnée précédemment permet de converger vers une solution unique (point attractif), tandis que dans le cas où N > 0, l’autre solution existante constitue un point répulsif. L’inversion des substitutions successives a pour effet de faire de l’autre solution un point attractif à la condition que la valeur initiale soit correctement choisie. 5.4 Méthode des débris virtuels (Virtual Debris) Les méthodes d’IOD que nous évoquons dans les sections précédentes fournissent une orbite initiale à partir d’observations de position associées au préalable. Dans un contexte de trajectographie d’astéroïdes, la méthode des régions admissibles a été développée : elle consiste à définir les énergies possibles d’un astéroïde à partir d’une observation par un télescope. Cette méthode a été par la suite adaptée au cas du catalogage de petits débris spatiaux en orbite géostationnaire par observations optiques sur des arcs courts [54]. Les auteurs soutiennent que cette méthode est adaptable aux catalogage des objets en LEO grâce à des télescopes ou encore grâce à des radars à champ réduit. Il est donc indispensable de faire le point sur cette méthode dans cette thèse. 5.4.1 Principe L’algorithme des débris virtuels fait l’hypothèse qu’on est capable de mesurer quatre grandeurs dans un repère terrestre topocentrique inertiel lors d’une observation : deux angles (α, δ) et leurs dérivées ( ˙α, ˙δ) dans le cas du télescope électro-optique, deux angles (α, δ), la distance et sa dérivée (ρ, ρ˙) dans le cas du radar. Une observation renseigne alors sur quatre paramètres mécaniques et l’on cherche à en déterminer deux autres dans le but d’en déduire une orbite. Cette approche a été motivée notamment par la mise en œuvre d’un capteur électro-optique fournissant de telles mesures à l’observatoire du Teide (ESA Optical Ground Station). Dans la suite de ce document, nous décrivons le principe de la version destinée aux systèmes 68Chapitre 5 : Détermination d’orbite préliminaire radars. Le principe de la méthode repose sur la détermination d’une “région admissible” pour les paramètres d’observation manquants, i.e. le domaine possible dans le plan ( ˙α, ˙δ) dans le cas du radar, en s’appuyant sur une expression de l’énergie mécanique Em sous la contrainte Em < 0 (système lié). L’ensemble des valeurs du couple {α, ˙ ˙δ} vérifie : Em( ˙α, ˙δ) = z1α˙ 2 + z2 ˙δ 2 + z3α˙ + z4 ˙δ + z5 ≤ 0 (5.20) où les coefficients zi sont fonction des grandeurs connues. Le domaine des valeurs de {α, ˙ ˙δ} possibles est donc défini par la condition : Em,min ≤ Em( ˙α, ˙δ) ≤ 0 (5.21) où Em,min est défini par une valeur de demi-grand axe minimal amin. La région recherchée est donc bornée par deux ellipses concentriques d’équations Em( ˙α, ˙δ) = Em,min et Em( ˙α, ˙δ) = 0. E = 0 E = Emin α˙ ˙δ Figure 5.4 – La région recherchée est bornée par deux ellipses concentriques. Cette région est ensuite échantillonnée pour pallier le manque d’information disponible, puis propagée dans le but d’associer une seconde observation. Une fois le domaine réduit autant que possible par la prise en compte de contraintes supplémentaires (les trajectoires balistiques sont exclues, etc.), on l’échantillonne et on calcule l’orbite liée à chaque nœud. Chaque nœud représente alors un “débris virtuel” propagé dans l’espoir d’être corrélé avec une autre observation. 5.4.2 Résultats publiés La version “optique” de cette méthode a été testée sur des données issues de capteurs optiques et les résultats présentés et publiés dans [55] et [56]. Bien que ses auteurs 695.5 Insuffisance des techniques existantes soutiennent l’adaptabilité de cette méthode de cas du radar, aucune étude n’a été conduite pour le prouver. Cette méthode a été testée une première fois sur les données issues de la campagne d’acquisition du système ESA Optical Ground Station (ESAOGS) menée en 2007 sur les GEO et a permis de déterminer 109 orbites à partir de 3172 observations 4-D isolées (pas de vérité terrain). Une deuxième étude est disponible dans [57], et présente les résultats de l’application de la méthode des débris virtuels sur les données issues du même télescope en 2007, acquis sur une durée de 81 nuits. Sur 3177 observations isolées, 1503 ont été corrélées (pas de vérité terrain). 5.5 Insuffisance des techniques existantes 5.5.1 Pour l’association initiale La méthode des “Débris Virtuels” est une approche intéressante proposée dans [58, 57]. Elle permet à partir d’une unique observation de générer des particules sur les dimensions non-mesurées de l’espace d’observation afin de combler la méconnaissance de certaines composantes du vecteur d’état. La pertinence de cette méthode au cas d’un radar monostatique n’a pas été pleinement étudiée bien que l’idée d’une mesure à 4 dimensions ait été évoquée dans [58, 57]. Or, il semble difficile de mesurer conjointement une distance et une vitesse radiale du fait de contraintes en temps et en puissance liées au fonctionnement du capteur. Les équations montrées dans [58] ne sont donc pas valides dans les hypothèses de cette étude. Dans son principe, cette méthode comble le manque d’information disponible dans chaque observation isolée par la génération de particules que l’on propage par la suite (cette méthode s’apparente donc aux méthodes de filtrage particulaire). La généralité de cette méthode est plus ou moins préservée selon l’information a priori que l’on inclut dans la définition de la région “admissible” à échantillonner (par l’exemple un critère sur l’altitude du périgée). En revanche, la complexité algorithmique n’a pas été évaluée et pourrait être une faiblesse : générer et gérer (c’est-à-dire propager et corréler) des particules est en général une approche lourde et pourrait ne pas permettre d’associations efficaces (c’est-à-dire avec une ambiguïté faible) dans ce cas particulier. En effet, si deux observations quelconques permettent de déduire une ou plusieurs orbites dont les paramètres respectent les mêmes critères que ceux utilisés dans la définition de la région admissible, alors cette association est valide. Le nombre d’orbites valides résultant de l’application de cette méthode doit alors être estimé pour mesurer ses performances en termes de coût de calcul. 70Chapitre 5 : Détermination d’orbite préliminaire 5.5.2 Pour la Détermination d’Orbite Initiale (IOD) La complexité de la méthode d’IOD est un facteur important compte tenu notamment du bruit d’observation. En effet, le capteur dont nous faisons l’hypothèse implique que les observations peuvent être très proches dans un repère inertiel. Le bruit d’observation peut alors conduire, dans un nombre important de cas, à des résultats inexploitables. Cette difficulté peut être palliée par l’utilisation de particules (méthode de Monte-Carlo) qui consistent alors à déterminer une orbite grâce à une technique classique pour n paires ou triplets d’observations issus d’un tirage aléatoire sur chaque volume d’incertitude des observations disponibles dans le but de construire une distribution statistique dans l’espace des orbites. Il faut donc résoudre le problème n fois pour chaque jeu d’observations disponible pour prendre en compte l’influence du bruit d’observation. Pour les méthodes de type Lambert en particulier, cela est très coûteux en temps de calcul car ces méthodes impliquent une ou plusieurs boucles de substitutions successives pour la convergence de certains paramètres à estimer pour le calcul d’orbite. Disposer d’une méthode d’IOD moins coûteuse permettrait alors de compenser la lourdeur d’une méthode de Monte-Carlo pour prendre en compte le bruit d’observation et faciliterait l’estimation d’orbite initiale. 5.6 Conclusion du chapitre Dans ce chapitre, nous avons fait l’état des algorithmes de Détermination d’Orbite Initiale (IOD) les plus courants qui prennent en entrée des mesures de position. Quand trois observations de position sont disponibles, les méthodes de Gibbs ou de Herrick-Gibbs fournissent une solution directe sous certaines conditions : les observations doivent être relativement proches dans le temps, ne pas être colinéaires, être coplanaires avec le centre de masse de la Terre et peu bruitées. Quand seulement deux observations de position sont disponibles, alors la résolution du problème de Lambert associée demande un effort de calcul plus important : une résolution numérique faisant appel à une ou plusieurs boucles de substitutions successives est systématiquement utilisée dans les algorithmes que nous avons évoqués. Enfin, quand une unique observation de position est disponible, l’algorithme des “débris virtuels” peut éventuellement fournir une solution dans le cas d’observations optiques isolées pour les orbites géostationnaires mais n’a cependant jamais été testé pour des observations radars isolées d’objets en orbite basse. Les algorithmes présentés dans ce chapitre souffrent alors de limitations importantes : les contraintes d’utilisation sont fortes pour les méthodes de Gibbs ou de Herrick-Gibbs, le coût de calcul est important pour les méthodes de type Battin et la méthode des débris virtuel demanderait de grandes capacités calculatoires pour le calcul de régions admissibles et leur propagation sans pour autant fournir de ré- sultats probants. Dans tous les cas, le bruit d’observation n’est pas pris en compte. 71Conclusion de la deuxième partie Le maintien d’un catalogue d’objets en orbite basse peut se traiter par les méthodes existantes car il s’agit d’associer de nouvelles observations à des orbites précises et de mettre à jour ces orbites. La littérature sur ce sujet (pistage multicible, mise-à-jour de pistes) est abondante contrairement à la littérature traitant de l’initialisation de piste. L’initialisation de pistes est relativement simple quand on dispose d’un capteur dont le champ de veille est de grande emprise car des fonctions de type “chaînage de plots” [59] peuvent en général être appliquées le temps qu’une valeur du vecteur d’état soit disponible. L’initialisation du pistage par observations isolées est en revanche problématique car il est difficile d’associer les observations nécessaires à la Détermination d’Orbite Initiale (IOD) quand la densité de détection est élevée et que les observations d’un même objet se font à des intervalles de temps longs (1h) voire très longs (10h-24h). Cela peut en effet impliquer une complexité combinatoire exponentielle nécessitant une puissance de calcul inaccessible. En effet pour la détermination d’orbite initiale, les méthodes de Gibbs et de HerrickGibbs sont analytiques et requièrent l’association préliminaire de trois observations tandis que la méthode de Battin fait appel à des substitutions successives pour obtenir des solutions à partir de deux observations. Faute de méthode permettant l’association préliminaire des observations nécessaires à ces méthodes, la problématique d’initialisation de piste reste ouverte dans le cas des observations isolées. 100 150 200 250 10 20 30 azimut θ (˚) elevation φ (˚) 100 150 200 250 10 20 30 azimut θ (˚) elevation φ (˚) Figure 5.5 – Exemple d’observations simulées de l’objet “THOR ABLESTAR DEB” présent dans le catalogue Space-Track par un capteur à large champ de veille (gauche) et par un capteur à champ de veille étroit (droite). Ces observations sont accumulées sur une période de 9 heures dans un référentiel topocentrique sphérique East-North-Up (cf. Chapitre 3). Aucune fausse alarme n’a été ajoutée. Aucun bruit de mesure n’a été ajouté. La mesure en distance n’est pas représentée. 73Troisième partie Traitement des observations issues d’un radar à champ de veille restreint pour le catalogage de petits débris 75Positionnement De manière générale, de nombreux critères de performance peuvent intervenir dans une fonction de catalogage comme par exemple la couverture, le coût de calcul, la précision ou encore la réactivité : – La couverture est définie dans notre cas par la proportion d’objets catalogables par le système, – Le coût de calcul impacte essentiellement la faisabilité du système (c’est-à-dire que la puissance de calcul requise peut être très difficile à mettre en œuvre voire inatteignable). Cependant, les ressources informatiques sont actuellement et en général de moindre coût par comparaison aux composants du capteur physique, ce qui incite à chercher un compromis visant à renforcer les contraintes sur le traitement de données afin de relâcher les contraintes sur le capteur physique, – La précision des orbites calculées influence la fréquence d’observation nécessaire pour ne pas perdre un objet et assurer la fonction de catalogage mais également la qualité de produits dérivés du catalogue. Par exemple, l’imprécision des orbites issues d’un catalogue tel que Space-Track nécessite en général la mise en œuvre de moyens complémentaires pour l’alerte anti-collision, – La réactivité est définie par la latence entre l’instant où un nouvel objet est présent en orbite et l’instant où il est catalogué. Nous supposons dans cette étude que les débris spatiaux sont sur des orbites proches des satellites existants. Il s’agit donc de couvrir l’ensemble des orbites basses sachant que la majorité des objets à cataloguer ont une forte inclinaison et une faible excentricité en général (cf. Chapitre 3). Le coût de calcul est un élément critique dans notre cas : l’impossibilité de calculer un vecteur d’état complet à partir d’une seule traversée du champ de veille implique une complexité combinatoire importante et porte l’essentiel du problème de catalogage par observations isolées sur les premières associations d’observations à moyen et long terme (intervalles de temps de l’ordre de l’heure ou de la dizaine d’heures) pour l’initialisation du pistage de chaque objet. En effet, le nombre d’associations d’observations possibles est très grand : sans méthode heuristique efficace, il faudrait envisager C 2 N (2 parmi N) ou C 3 N (3 parmi N) cas à tester, où N désigne le nombre d’observations accumulées sur un intervalle de temps suffisamment grand pour que l’on puisse y trouver deux ou trois observations issues de chaque objet. Dans le cas du capteur défini au Chapitre 2 (revisite de 10 s et taux de fausse alarme de 1 FA/s) et d’environ 11 000 objets en orbite basse, on obtient environ 20 observations par scan. Si l’on considère que tous les objets présents passent dans le champ 77Positionnement de veille deux ou trois fois en 24 heures, alors il faut tester C 2 172800 (de l’ordre de 1, 5.1010) ou C 3 172800 (de l’ordre de 8, 6.1014) possibilités. Dans le cas d’un nombre d’objets de l’ordre de 100 000, on atteint C 3 8,7.105 = 1, 1.1017 hypothèses d’association à tester. Tester l’exactitude d’un triplet d’observations de position requiert au moins 20 000 FLOP (FLoating point OPerations) sous des hypothèses extrêmement optimistes. Tester C 3 8,7.105 = 1, 1.1017 triplets en 24h nécessite alors 2, 2.1021 FLOP, soit 2, 5.1016 FLOP/s en moyenne. Actuellement, une telle puissance informatique est loin d’être atteignable. De longs intervalles de temps entre les observations issues d’un même objet peuvent cependant être bénéfiques : si l’on suppose que l’on sait associer des observations à long terme alors le filtrage du bruit d’observation est efficace car la dynamique orbitale est relativement déterministe si l’objet ne manœuvre pas. Cela permettrait alors de relâcher des contraintes de précision de mesure. En revanche, la nécessité d’associer des observations sur de longs intervalles de temps entraîne nécessairement une perte de réactivité. Cela est de moindre importance car nous avons fait l’hypothèse que d’autres capteurs existants permettaient de cataloguer les objets manœuvrants, de taille plus importante, pour nous concentrer sur les objets plus petits et non-manœuvrants. La question de la réactivité est en effet plus cruciale lorsque l’on s’intéresse à des missions de surveillance dans un contexte militaire. Les travaux de cette thèse se concentrent par conséquent sur les méthodes d’association d’observations issues de mêmes objets à de longs intervalles de temps, sans connaissance a priori du vecteur d’état et en évitant le coût de calcul exponentiel qui résulterait du test de chaque association potentielle. Objectifs Cette thèse se pose quatre objectifs en vue de proposer un nouvel algorithme de catalogage et d’en étudier la faisabilité. Proposer une nouvelle technique de première association peu ambiguë L’association préalable de deux ou trois observations pour initialiser le pistage des objets en orbite est incontournable. Or, la méthode des Débris Virtuels, seule tentative publiée à ce jour, ne semble pas apporter de solution suffisante dans le cas d’observations radar au vu des analyses et résultats publiés par ses auteurs. Par conséquent, un autre moyen d’associer deux observations (dans un premier temps) tout en limitant la complexité combinatoire doit être trouvé. Proposer une méthode rapide de détermination d’orbite Les observations radars sont en général de faible précision. Le bruit d’observation peut alors avoir un impact significatif sur la qualité de l’orbite calculée, en particulier 78quand les observations sont spatialement proches. Or, la configuration de capteur choisie au Chapitre 2 ne permet d’observer les objets que sur de courtes portions d’orbites et impose alors de prendre en compte le bruit d’observation dans l’estimation d’orbite. Cela peut être fait par la génération de particules dans les volumes d’erreur des observations (méthode de type Monte-Carlo). Afin de compenser cette lourdeur, une méthode de détermination d’orbite de coût calculatoire adapté doit être élaborée. Évaluer les techniques proposées dans un contexte multicible L’obstacle principal à la faisabilité d’un système de catalogage utilisant un champ de veille étroit (nappe fine) réside dans la complexité combinatoire induite par les observations isolées et une forte densité de détection. L’efficacité des méthodes d’initialisation proposées dans cette thèse doit alors être évaluée dans un contexte multicible afin de déterminer notamment le taux de couverture atteint en simulation, la robustesse à certains paramètres (tels que les performances en détection ou la précision de mesure) et la complexité combinatoire résultante. Modéliser la complexité combinatoire La complexité combinatoire est évaluée pour des scénarios faisant intervenir quelques centaines d’objets (de 500 à 800 objets simulés). Or, la densité de détections réelle attendue serait bien plus élevée car on estime à plusieurs centaines de milliers le nombre de petits débris en orbite basse. Il est alors important d’essayer d’extrapoler les résultats obtenus à des scénarios plus complexes pour évaluer la faisabilité de l’algorithme à des densités de détections plus réalistes. Pour cela, nous nous fixons pour dernier objectif de modéliser les performances de l’algorithme de catalogage obtenu notamment en termes de complexité combinatoire. Cela permet par ailleurs d’identifier certains points de compromis ajustables en fonction de la présence ou non d’un second capteur. 79Chapitre 6 Association initiale par modélisation comportementale La Détermination d’Orbite Initiale (IOD) nécessite un jeu de deux ou trois observations préalablement associées. Dans le cas d’observations isolées, associer les premières observations n’est pas trivial car on ne peut pas calculer d’état (paramètres orbitaux) à partir de chaque observation pour les corréler entre elles. Ce chapitre présente alors une nouvelle méthode pour l’association de deux observations isolées. Pour cela, nous caractérisons les paires d’observations à une révolution d’intervalle dans un espace de paramètres bien choisi à partir de données extraites du catalogue Space-Track. Il s’agit alors de mettre en œuvre un algorithme capable d’apprendre les particularités de ce “motif” (les paires d’observations à une révolution d’intervalle) pour ensuite le reconnaître en ligne et filtrer les paires d’observations peu vraisemblables. Cela permet d’associer une paire d’observations avec une ambiguïté d’association faible, c’est-à-dire que chaque observation initiale donne lieu à un nombre relativement faible de paires d’observations potentiellement issues du même objet et limite ainsi la complexité combinatoire. Sommaire 6.1 Paires d’observations à une révolution d’intervalle . . . 82 6.1.1 Observations issues du capteur supposé . . . . . . . . . . 83 6.2 Discrimination des paires d’observations . . . . . . . . . 86 6.2.1 Structure de l’algorithme résultant . . . . . . . . . . . . . 86 6.2.2 Base d’apprentissage . . . . . . . . . . . . . . . . . . . . . 87 6.2.3 Estimation du support par One-Class SVM . . . . . . . . 88 6.2.4 Calcul d’un rapport de vraisemblance . . . . . . . . . . . 92 6.3 Évaluation préliminaire des performances . . . . . . . . . 95 6.3.1 Fenêtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.3.2 Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.3.3 Rappel et ambiguïté obtenus par fenêtrage et SPRT . . . 98 6.4 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . 98 816.1 Paires d’observations à une révolution d’intervalle 6.1 Paires d’observations à une révolution d’intervalle La connaissance du couple position-vitesse étant équivalente à la connaissance d’une orbite képlérienne (cf. Chapitre 3), il est évident qu’une unique observation de position est insuffisante pour déterminer tous les paramètres orbitaux permettant de décrire le mouvement d’un objet en orbite. Une approche triviale est de générer des particules dans l’espace des vitesses pour former un ensemble de vecteurs positionvitesse possibles. Cette approche est reprise par la méthode des “Débris Virtuels”, déjà largement évoquée dans ce document, qui permet un échantillonnage équivalent efficace en prenant en compte des éléments de mécanique orbitale. Chaque particule est alors propagée et éventuellement corrélée à de nouvelles observations. L’approche proposée dans cette section est inverse : c’est à partir de paires d’observations particulières que l’on déduit une unique orbite (approchée et avec une certaine incertitude). La connaissance de cette orbite est alors suffisante, comme nous le prouvons au Chapitre 7, pour associer une troisième observation et initialiser le pistage. Il est donc question d’évaluer la corrélation de deux observations en contournant au mieux les considérations de mécanique orbitale (car cette voie a déjà été explorée par la méthode des Débris Virtuels). Cela revient à comparer deux observations de même nature (observations de position 3D), c’est-à-dire à analyser leur différence dans un repère donné. La différence, ou distance, entre deux observations peut prendre des valeurs quelconques si l’on ne considère aucun critère restrictif supplémentaire, c’est-à-dire qu’un très grand nombre de paires d’observations sont alors potentiellement corrélables (il est d’ailleurs possible que la méthode des Dé- bris Virtuels tombe dans ce défaut). C’est pour cette raison que nous choisissons de nous intéresser à un sous-ensemble de paires d’observations dont nous prouverons qu’il permet une ambiguïté d’association faible : l’ensemble des paires d’observations issues du même objet à une révolution d’intervalle. Pertinence L’étude préliminaire d’un ensemble d’observations issues d’une simulation des objets du catalogue Space-Track sur 30 jours nous permet de déduire les valeurs suivantes : – 11 807 objets passent dans le champ de veille, soit la quasi-totalité des objets en orbite basse contenus dans le catalogue Space-Track, – 37,36% des observations successives d’un même objet sont espacées d’environ une révolution, – 99,83% des objets passent dans le champ de veille à une révolution d’intervalle au moins une fois sur 30 jours. Cela démontre que les observations à une révolution d’intervalle sont relativement fréquentes et devraient permettre une bonne couverture de l’ensemble des objets en orbite basse. 82Chapitre 6 : Association initiale par modélisation comportementale 6.1.1 Observations issues du capteur supposé Les objets en orbite basse sont observés par un capteur tel que défini au Chapitre 2. Rappelons que celui-ci fournit trois mesures datées par observation, qui peuvent s’agencer dans le vecteur d’observation suivant : z =   t ρ θ φ   (6.1) où t est l’instant de l’observation z, ρ, θ et φ sont respectivement la mesure de distance capteur-cible, la mesure d’azimut et la mesure d’élévation. Les bruits associées sont σρ = 30 m et σθ = σφ = 0, 2˚. De par leur nature, ces observations peuvent s’exprimer dans des référentiels diffé- rents (référentiel capteur, géocentrique fixe ECF, géocentrique inertiel ECI, etc.). En revanche, le volume d’erreur d’observation n’est décrit de manière simple que dans le référentiel capteur. Choix des descripteurs d’une paire d’observations Choisir de décrire une paire par la distance cartésienne entre les observations qu’elle comporte est l’option la plus simple. Cependant, la symétrie de la distance cartésienne néglige l’information que comportent Θ (caractéristiques du capteur, notamment la forme et l’orientation du champ de veille) et les particularités de la population d’objets en orbite basse. Par conséquent, nous proposons un vecteur de description x(i, j) d’une paire d’observations comportant cinq composantes moins conventionnelles, désignées par τ , dr, drλ, dθ et r. Le rayon géocentrique r (ou l’altitude) étant un paramètre dont dépend en particulier τ , nous l’incluons dans le vecteur x(i, j). La fonction f extr. qui permet d’extraire x(i, j) d’une paire d’observations {zi , zj} se définit telle que : f extr. : R 4 × R 4 7−→ R 5 {zi , zj} =      ti ρi θi φi   ,   tj ρj θj φj      7−→ x(i, j) =   τ (zi , zj ) dr(zi , zj ) drλ(zi , zj ) dθ(zi , zj ) r(zi)   (6.2) où nous rappelons que ti désigne l’instant de l’observation zi , ρi la mesure de distance associée, θi et φi les mesures d’angles associées. Le paramètre τ est la différence des dates des observations, dr est la valeur absolue de la différence de rayon géocentrique, 836.1 Paires d’observations à une révolution d’intervalle drλ est la longueur de l’arc de longitude (cf. Figure 6.1), dθ est la valeur absolue de la différence d’azimut de détection : dr(zi , zj ) = |ri − rj | drλ(zi , zj ) = |λiri − λjrj | (6.3) dθ(zi , zj ) = |θi − θj | où r représente un rayon géocentrique lié à une observation et λ représente une longitude dans un référentiel ECI : r = krk = kr ECI obs. + r ECI capteurk (6.4) λ = arccos  rX rXY  avec r ECI obs. le vecteur observé capteur-cible dans un référentiel géocentrique inertiel (ECI), r ECI capteur le vecteur-position du capteur dans un référentiel ECI, rX la composante du vecteur r en u ECI X (vecteur unitaire du plan équatorial) et rXY la composante du vecteur r dans le plan équatorial {u ECI X , u ECI Y } (cf. Chapitre 3). La Figure 6.1 permet de mieux comprendre la géométrie des paramètres dr et drλ. u ECI X u ECI Z dr drλ λ ri rj zi zj O Figure 6.1 – Exemple de dr et de drλ dans un repère ECI. λ est la différence de longitudes des observations dans un repère ECI. Le choix du paramètre dr est motivé par la faible excentricité des orbites des objets (cf. Chapitre 3). En effet, la variation d’altitude est telle que r ∈ [ao(1 − eo), ao(1 + eo)], ce qui pour une excentricité eo faible, entraîne une plage de variation de rayon r étroite. Le choix du paramètre drλ est alors immédiat car il représente une dimension orthogonale et homogène à celle de dr. Le paramètre dθ impacte fortement les valeurs que peuvent prendre dr et drλ, notamment pour les observations à une révolution d’intervalle. Comme l’illustre la Figure 6.2, une plus petite valeur de dθ implique des valeurs de dr et de drλ plus petites en moyenne car les portions d’orbite observées sont plus proches. De même, dθ influence τ mais dans de moindres proportions. Enfin, les paramètres r et τ sont fortement liés par la troisième loi de Kepler. 84Chapitre 6 : Association initiale par modélisation comportementale Nous notons E l’ensemble des paires d’observations quelconques (issues du même objet ou non), et F l’ensemble des vecteurs x possibles : F = f extr.(E) (6.5) L’ensemble des paires d’observations à une révolution d’intervalle est un sous-ensemble de E que nous notons E1rév. Ensemble des paires d’observations à une révolution d’intervalle Nous justifions dans la section précédente l’intérêt des paires d’observations à une révolution d’intervalle : elles permettent, comme nous le prouvons dans la suite de ce document, d’associer des observations avec une faible ambiguïté. Nécessairement, un élément de E1rév comporte des observations issues d’un même objet (la notion d’une révolution d’intervalle n’aurait autrement pas de sens). Nous introduisons alors les deux hypothèses H1 et H0 portant de manière générale sur des pistes potentielles : – H1 : “les observations de la piste sont issues du même objet” ou dans le cas d’une piste de deux éléments “les observations zi et zj sont issues du même objet”, – H0 : “les observations de la piste ne sont pas issues du même objet” ou dans le cas d’une piste de deux éléments “les observations zi et zj ne sont pas issues du même objet”, Notons que H0 = H1. Dans un référentiel géocentrique inertiel (ECI), un objet en orbite passe par des positions proches d’une révolution à l’autre. C’est de cet aspect de pseudo-périodicité du mouvement que nous tirons avantage pour la corrélation d’observations. Par ailleurs, la forme et l’orientation du champ de veille du capteur dont nous faisons l’hypothèse (cf. Chapitre 2) sont choisies telles que les portions des orbites observées sont variables en fonction de l’azimut de détection (cf. Figure 6.2). Cela induit donc un facteur supplémentaire de variation de la position associée à une détection d’une révolution à la suivante. North ⊙Up S East Figure 6.2 – La forme et l’orientation du champ de veille (représenté en rouge) impliquent l’observation de portions d’orbites (représentées en bleu) différentes selon l’azimut de dé- tection. Formellement, on peut expliciter l’ensemble E1rév des paires d’observations issues du même objet à une révolution d’intervalle de la manière suivante : 856.2 Discrimination des paires d’observations E1rév = n {zi , zj} | H1(zi , zj ), τmin(Θ) ≤ τ (zi , zj ) ≤ τmax(Θ)o (6.6) où H1(zi , zj ) désigne l’assertion “les observations zi et zj sont issues du même objet”, τ (zi , zj ) est la différence temporelle en valeur absolue entre zi et zj , τmin(Θ) et τmax(Θ) sont les valeurs qui encadrent le temps d’une révolution. Comme nous l’indiquons dans la notation, ces bornes sont fonction des paramètres de forme et d’orientation du champ de veille du capteur, désignés par Θ. En orbite basse, une révolution dure au moins 88 minutes et au plus 127 minutes. Ces valeurs sont minorées ou majorées de 5% dans notre cas pour prendre en compte l’influence de Θ : τmin(Θ) = 88 × 60 × 0, 95 ≃ 5.103 s τmax(Θ) = 127 × 60 × 1, 05 ≃ 8.103 s 6.2 Discrimination des paires d’observations Nous cherchons maintenant à caractériser l’ensemble E1rév des paires d’observations issues d’un même objet à une révolution d’intervalle en estimant la densité de probabilité pF1rév d’une loi sous-jacente dans l’espace image de f extr., noté F. Pour cela, nous pouvons disposer, grâce à la simulation, d’un échantillon F sim 1rév = f extr.(E sim 1rév) (base d’apprentissage). La disponibilité d’échantillons de test permet d’appliquer d’une part une technique d’apprentissage (en l’occurrence nous utilisons un OneClass SVM) pour estimer le support de pF1rév et d’autre part une technique d’estimation de densité (en l’occurrence les fenêtres de Parzen-Rosenblatt) pour estimer les valeurs que prend pF1rév loin du contour de son support. Cela permet de tester l’appartenance au support de pF1rév d’un vecteur de description x(i, j) associé à une paire d’observations {zi , zj} à évaluer ainsi que de comparer sa log-vraisemblance Li,j à un seuil sSPRT,1 défini par le Sequential Probability Ratio Test (SPRT) à la Section 4.3.2. Nous avons défini l’ensemble E, l’ensemble E1rév et la fonction f extr.. Nous manipulons maintenant les ensembles suivants : F = f extr.(E) F1rév = f extr.(E1rév) (6.7) F sim 1rév = f extr.(E sim 1rév) 6.2.1 Structure de l’algorithme résultant La méthode proposée se décompose en deux étapes : une étape “hors-ligne”, où l’on met en forme une information a priori extraite d’une simulation s’appuyant 86Chapitre 6 : Association initiale par modélisation comportementale sur le catalogue existant Space-Track (dont nous rappelons qu’il serait lui-même un échantillon représentatif de la population de débris orbitaux), et une étape “enligne”, où l’on utilise cette information pour le filtrage de paires d’observations potentiellement issues du même objet, comme l’indique la Figure 6.3. Étape hors-ligne (apprentissage) Étape en-ligne Simulation f extr. One-Class SVM Parzen-Rosenblatt E sim 1rév F sim 1rév Fˆ 1rév pˆF1rév Observations disponibles f extr. {zi , zj} x(i, j) x(i, j) ∈ Fˆ 1rév ? sSPRT,1 ≤ Li,j ? oui rejet association valide non non oui Figure 6.3 – Vue d’ensemble de la méthode proposée pour la première association. Le One-Class SVM permet de discriminer les paires d’observations {zi , zj} selon l’appartenance de leurs descripteurs x(i, j) à une certaine région. Les fenêtres de Parzen-Rosenblatt permettent de discriminer les paires d’observations selon une mesure de vraisemblance Li,j . Sachant que F1rév ⊂ F (car E1rév ⊂ E et f extr. est continue), le support estimé Fˆ 1rév ne pourra être utilisé que dans le sens de la rejection de l’hypothèse H1 : “les observations zi et zj sont issues du même objet”. En effet : x(i, j) ∈ F1rév ⇒ {zi , zj} ∈ E1rév ⊂ E ⇔ H1 ∪ H1 (6.8) x(i, j) ∈ F/ 1rév ⇒ {zi , zj} ∈ E / 1rév ⇒ H1 (6.9) Le même raisonnement s’applique également à l’évaluation de la vraisemblance. Cela permet d’éliminer un très grand nombre de paires d’observations incorrectes, comme nous le voyons en Section 6.3. 6.2.2 Base d’apprentissage Les objets en orbite basse ne sont pas uniformément répartis dans l’espace des orbites. En effet, les excentricités des objets sont en moyenne faibles et les inclinaisons 876.2 Discrimination des paires d’observations fortes, en plus d’une concentration inégale selon l’altitude (Figure 3.4). De plus, les paramètres τmin et τmax caractérisant dans une certaine mesure l’ensemble E1rév dépendent de l’ensemble de paramètres intrinsèques au capteur Θ. De même, l’ensemble F1rév dans l’espace des paramètres τ , dr, drλ, dθ et r est fonction de Θ. Pour ne pas avoir à chercher une expression analytique de la relation, si tant est qu’elle existe, entre F1rév, les paramètres Θ et la distribution des objets en orbite basse dans l’espace des paramètres orbitaux, nous adoptons une approche numérique. Notre approche consiste alors à générer des éléments de E1rév grâce au catalogue Space-Track. Pour chaque orbite basse contenue dans le catalogue, nous simulons les observations de l’objet sur une période de 30 jours. Pour cela, la fonction fSGP mentionnée lors de la description du modèle SGP à la Section 3.4 est mise en œuvre. À chaque pas de temps, la position de l’objet est simulée et enregistrée si elle est dans le champ de veille du capteur (Field Of Regard, FOR). Parmi les observations disponibles en sortie de ce processus de simulation, nous ne conservons que les paires d’observations séparées d’un temps τ tel que 5.103 s ≤ τ ≤ 8.103 s. Les 16 552 paires d’observations extraites de ce processus forment alors un ensemble E sim 1rév d’échantillons simulés de E1rév, dont nous déduisons un ensemble F sim 1rév d’échantillons simulés de F1rév. 6.2.3 Estimation du support par One-Class SVM Nous cherchons à estimer F1rév, c’est-à-dire le support de pF1rév , afin de pouvoir déterminer si les observations d’une paire candidate sont potentiellement issues du même objet ou non. Cela revient à un problème de classification semi-supervisé : nous disposons d’un échantillon F sim 1rév à partir duquel il faut inférer une frontière permettant de discriminer des éléments de l’ensemble F, c’est-à-dire déterminer si un élément donné de F appartient à F1rév. L’algorithme One-Class Support Vector Machine (One-Class SVM) [60] est particulièrement adapté à notre problème d’estimation de support. Cet algorithme de classification est une version particulière de l’algorithme SVM bi-classe classique. Son principe consiste à utiliser l’origine comme le “prototype” de la classe H0 afin de déterminer une frontière autour des échantillons disponibles de la classe H1 (en l’occurrence les éléments de F sim 1rév). Cet algorithme permet d’estimer le (1 − ν)-quantile défini comme la région C de l’espace de volume minimal (au sens classique d’une mesure de Lebesgue µ) qui comprend au moins une proportion (1 − ν) de l’échantillon disponible F sim 1rév. Des éléments de F sim 1rév sont alors sélectionnés par l’algorithme afin de résoudre le problème d’optimisation sous contrainte : Q(1 − ν) = arg min C∈B(Rq),p(C)>1−ν µ(C) (6.10) où la région C correspond à une estimation de F1rév : C = Fˆ 1rév. Une méthode de résolution est fournie dans [60], où il est démontré que la règle de 88Chapitre 6 : Association initiale par modélisation comportementale décision à appliquer à un vecteur candidat x peut s’exprimer par : g(x) = sgn X n αik(x n Fsim 1rév , x) + b ! ∈ {−1; 1} (6.11) où k(., .) est une fonction noyau, {αi} un ensemble de multiplieurs de Lagrange et b un seuil résultant de l’optimisation effectuée par la One-Class SVM. Si g(x) = 1, alors x ∈ Fˆ 1rév ; si g(x) = −1, alors x ∈/ Fˆ 1rév. En définitive, le One-Class SVM prend en entrée : – les éléments de F sim 1rév, – le paramètre ν définissant la proportion minimale d’éléments de F sim 1rév inclus dans la région C à définir, – une fonction noyau k(., .) que l’on choisit en général et dans cette étude gaussien : k(x, y) = exp−kx−yk 2/γ (paramétrée par γ dans ce cas). En sortie, cet algorithme fournit une région de l’espace de F sim 1rév définie par : – un ensemble de “vecteurs de support” {x i Fsim 1rév }, – un ensemble de réels {αi} (définis comme des multiplieurs de Lagrange) associés aux vecteurs de support, – un seuil b. Afin de paramétrer au mieux la One-Class SVM, nous analysons les échantillons disponibles. Analyse de l’échantillon F sim 1rév L’observation des échantillons F sim 1rév dans ses sous-espaces nous permet d’observer une très faible corrélation des paramètres τ , dr et drλ. En revanche, il existe une corrélation nette entre τ et r, entre dr et dθ et entre drλ et dθ, comme le montrent les Figures 6.4, 6.5 et 6.6. 6,800 7,000 7,200 7,400 7,600 7,800 8,000 5,000 6,000 7,000 8,000 r (Km) τ (s) Figure 6.4 – Exemple de 500 échantillons de F1rév simulés dans le plan (r, τ ). Nous pouvons observer que τ varie en fonction de r comme le prévoit la troisième loi de Kepler, la dispersion sur l’axe τ pour une valeur de r fixe étant due à l’observation de portions d’orbites en général différentes d’une révolution à l’autre (Figure 6.2). 896.2 Discrimination des paires d’observations On observe également un défaut d’échantillons pour les valeurs de r comprises entre 7 500 Km et 7 700 Km dû à une faible densité de satellites à l’altitude correspondante (cf. Chapitre 1). 0 10 20 30 40 50 60 70 80 0 20 40 60 80 dθ (˚) dr (Km) Figure 6.5 – Exemple de 500 échantillons de F1rév simulés dans le plan (dθ, dr). 0 10 20 30 40 50 60 70 80 0 200 400 600 800 1,000 dθ (˚) drλ (Km) Figure 6.6 – Exemple de 500 échantillons de F1rév simulés dans le plan (dθ, drλ). Les échantillons sont nettement plus concentrés sur les faibles valeurs de dr du fait des valeurs d’excentricités en général faibles dans le catalogue Space-Track. Nous observons également une moyenne et une dispersion plus importante aux grandes valeurs de dθ, résultant de l’observation de portions d’orbites différentes (Figure 6.2). De même, nous observons une moyenne et une dispersion plus importante des valeurs de drλ aux grandes valeurs de dθ. Les trois paramètres τ , dr et drλ étant indépendants, nous choisissons de résoudre indépendamment le problème défini par l’équation (6.10) dans les trois sous-espaces (τ, r), (dr, dθ) et (drλ, dθ). Le support Fˆ 1rév estimé est alors l’union de trois supports déterminés dans chacun de ces plans. Une alternative à cela est de normaliser les vecteurs sur chaque dimension, mais cette option rend le paramétrage plus difficile car il faudrait manipuler un espace à 5 dimensions. Notons que pour les sous-espaces (dr, dθ) et (drλ, dθ), l’origine se situe sur la frontière entre H1 et H0. Ce défaut de la One-Class SVM (qui choisit arbitrairement l’origine 90Chapitre 6 : Association initiale par modélisation comportementale comme prototype de H0) est compensé par la méthode dite de “marge souple” (Soft Margin) qui permet de tolérer un recouvrement des classes H1 et H0. Paramétrage des One-Class SVM L’algorithme One-Class SVM tel que nous l’avons présenté prend deux paramètres en entrée : le paramètre ν, qui apparaît dans la formulation du problème d’optimisation (équation (6.10)), et le paramètre γ intervenant comme paramètre de dispersion dans un noyaux gaussien. Le paramètre γ est choisi notamment en fonction de la densité d’échantillons. Nous choisissons respectivement γ = 1, 25.10−3 , γ = 6, 67.10−6 et γ = 5.10−4 pour les plans (r, τ ), (dr, dθ) et (drλ, dθ) pour des données normalisées entre 0 et 1. Choisir des valeurs de ν proches de 0,05 (c’est-à-dire qu’on estime le support au 95%-quantile) permet d’obtenir des supports “physiquement” valides (c’est-à-dire les frontières obtenues respectent notamment un critère de continuité intuitif). 6,800 7,000 7,200 7,400 7,600 7,800 8,000 5,000 6,000 7,000 8,000 r (Km) τ (s) Figure 6.7 – Frontière déterminée par l’algorithme One-Class SVM à partir d’échantillons de F1rév simulés dans le plan (r, τ ), ν = 0, 05 et γ = 1, 25.10−3 . 0 10 20 30 40 50 60 70 80 0 20 40 60 80 dθ (˚) dr (Km) Figure 6.8 – Frontière déterminée par l’algorithme One-Class SVM à partir d’échantillons de F1rév simulés dans le plan (dθ, dr), ν = 0, 05 et γ = 6, 67.10−6 . 916.2 Discrimination des paires d’observations 0 10 20 30 40 50 60 70 80 0 200 400 600 800 1,000 dθ (˚) drλ (Km) Figure 6.9 – Frontière déterminée par l’algorithme One-Class SVM à partir d’échantillons de F1rév simulés dans le plan (dθ, drλ), ν = 0, 05 et γ = 5.10−4 . Le support estimé Fˆ 1rév est très étroit pour des valeurs faibles de dθ. Il est en effet large de moins de 100 Km sur l’axe drλ et de moins de 15 Km sur l’axe dr pour des valeurs de dθ inférieures à 10˚. Pour les valeurs les plus faibles de dθ, ces largeurs sont de l’ordre de, respectivement, 50 Km et et 5 Km. Cela confirme la nécessité d’utiliser des particules pour réduire l’impact du bruit d’observation car en effet, l’erreur d’observation aux distances considérées s’élève à environ 11,5 Km à 3-sigma. Pour pallier cela, nous générons des particules dans les volumes d’erreur des observations et évaluons la proportion de paires de particules p caractérisées par des vecteurs xp(i, j) appartenant à Fˆ 1rév. Si cette proportion est inférieure à un seuil sFp que nous fixons arbitrairement à 0,01, alors on rejète l’hypothèse H1 et l’on admet l’hypothèse H0. 6.2.4 Calcul d’un rapport de vraisemblance L’échantillon F sim 1rév contient davantage d’information à exploiter : nous expliquons ici comment la distribution de ces échantillons sur le support estimé Fˆ 1rév peut servir à discriminer les paires d’observations caractérisées par des vecteurs appartenant à Fˆ 1rév. Il s’agit d’évaluer le rapport de deux probabilités associées à la paire d’observations {zi , zj} à tester : la probabilité p(x(i, j)|H1) que les observations zi et zj soient issues du même objet (hypothèse H1) et la probabilité p(x(i, j)|H0) que les observations zi et zj ne le soient pas (hypothèse H0). Le logarithme de ce rapport de vraisemblance est alors comparé à un seuil sSPRT,1 dont la valeur est définie en équation (4.27) à la Section 4.3.2 selon le Sequential Probability Ratio Test (SPRT) [46]. D’une part, nous estimons la densité de probabilité pF1rév (.) = p(.|H1) à partir des échantillons simulés F sim 1rév et d’autre part, nous estimons la loi p(.|H0) grâce à certaines hypothèses simplificatrices courantes. Pour estimer pF1rév (.), nous utilisons dans cette étude la méthode des fenêtres de Parzen-Rosenblatt [61] qui fournissent une estimation ˆpF1rév (.) en sommant les lois 92Chapitre 6 : Association initiale par modélisation comportementale résultantes de la convolution d’une loi (en l’occurrence une loi gaussienne) avec chaque échantillon x n Fsim 1rév : pˆF1rév (x) = X n k  D−1 (x − x n Fsim 1rév )  = X n Ke −kD−1(x−x n Fsim 1rév )k 2 (6.12) où k(.) est la loi choisie gaussienne (et K un facteur de normalisation) et D est la matrice diagonale des écart-types des distances entre les échantillons sur chaque dimension. Dans [62], la distribution p(.|H0) est supposée uniformément égale à la densité de nouvelles observations et de fausses alarmes. Nous devons donc nous ramener à ce résultat en regroupant les paires d’observations dont la première observation est commune. Pour chaque observation zi , nous comptons le nombre N(zi) d’observations zj formant une paire valide avec zi , c’est-à-dire telle que x(i, j) ∈ Fˆ 1rév. Il suffit alors de calculer le rapport suivant pour estimer une valeur de p(x(i, j)|H0) en cohérence avec le résultat communément admis exposé dans [62] : pˆ(x(i, j)|H0) = N(zi) µ(Fˆ 1rév) (6.13) où µ est la fonction de mesure de volume figurant en équation (6.10). Finalement, la log-vraisemblance Li,j associé à une paire d’observations {zi , zj} se calcule par : Li,j = ln pˆ(x(i, j)|H1) pˆ(x(i, j)|H0) ! = ln   pˆF1rév (x(i, j)) N(zi) µ(Fˆ 1rév)   = ln µ(Fˆ 1rév) N(zi) × pˆF1rév (x(i, j))! (6.14) La comparaison de Li,j au seuil sSPRT,1 permet alors de filtrer les paires d’observations dont la vraisemblance est jugée insuffisante. Paramétrage des fenêtres de Parzen-Rosenblatt Nous appliquons les fenêtres de Parzen-Rosenblatt [61] sur les échantillons contenus dans les supports estimés dans les plans (τ, r), (dr, dθ) et (drλ, dθ). Pour chacun des plans, les deux coefficients de la diagonale de D sont choisis à partir des valeurs des écart-types des distances entre les échantillons sur chaque dimension (cela dé- pend notamment du nombre d’échantillons disponibles). Cela permet d’interpoler de manière efficace les valeurs non-comprises dans l’échantillon disponible. En revanche, nous ne souhaitons pas inclure l’information que nous considérons “trop spécifique” aux échantillons. Par exemple, la distribution de la densité d’objets en 936.2 Discrimination des paires d’observations fonction de l’altitude se retrouve dans le plan (τ, r), ce qui implique à tort une vraisemblance plus élevée pour les paires d’observations sur certaines plages d’altitude. De même, nous considérons qu’une discrimination selon dθ ne serait pas pertinente. Pour pallier cela, nous considérons les lois conditionnelles des variables τ , dr et drλ obtenues par normalisation des lois jointes par les lois marginales de r et de dθ : p(τ | r = r(zi)) = p(τ, r) p(r = r(zi)) (6.15) p(dr | dθ = dθ(zi , zj )) = p(dr, dθ) p(dθ = dθ(zi , zj )) (6.16) p(drλ | dθ = dθ(zi , zj )) = p(drλ, dθ) p(dθ = dθ(zi , zj )) (6.17) La décorrélation des trois variables τ , dr et drλ nous permet d’exprimer p(.|H1) = pˆF1rév (x(i, j)) sous forme de produit : pˆF1rév (x(i, j)) = p(τ (zi , zj ) ∩ dr(zi , zj ) ∩ drλ(zi , zj )| zi , zj ) = p(τ (zi , zj ) | r = r(zi)) × p(dr(zi , zj ) | dθ = dθ(zi , zj )) (6.18) × p(drλ(zi , zj ) | dθ = dθ(zi , zj )) Nous disposons maintenant de la distribution ˆpF1rév et d’une estimation de son support au 95%-quantile Fˆ 1rév. Ces éléments sont constants et peuvent donc être évalués sur un pavage de Fˆ 1rév. En pratique, l’approximation de Fˆ 1rév obtenue hors-ligne est alors lue pour discriminer les paires d’observations candidates et obtenir une valeur du rapport de vraisemblance associé. Cela permet un filtrage en-ligne très rapide, se limitant à seulement quelques calculs d’indices et quelques tests. Afin de prendre en compte les erreurs de mesure, le rapport de vraisemblance peut être déduit des vraisemblances associées à chaque particule par moyennage. Notons lp,i,j le rapport de vraisemblance associé à la p-ème paire de particules issues de la paire d’observations {zi , zj} : lp,i,j = µ(Fˆ 1rév) N(zi) × pˆF1rév (xp(i, j)) (6.19) où xp(i, j) désigne le vecteur de description de la paire de particules issue de {zi , zj}. Dans ce cas, la log-vraisemblance Li,j associé à {zi , zj} s’obtient par : Li,j = ln 1 P X p lp,i,j! = ln µ(Fˆ 1rév) N(zi) × P · X p pˆF1rév (xp(i, j))! (6.20) où P désigne le nombre total de particules générées. 94Chapitre 6 : Association initiale par modélisation comportementale 6.3 Évaluation préliminaire des performances Pour évaluer les performances de la méthode de première association proposée, les objets en orbite basse présents dans le catalogue Space-Track sont simulés sur une période de 3 jours et 10 fausses alarmes par scan sont ajoutées. Nous ne bruitons pas les scans ne comprenant pas d’observations issues d’objets réels pour alléger les calculs tout en gardant une densité de détection forte sur les scans “utiles”. Cela fournit 25 917 scans comprenant 491 127 détections regroupées en 416 554 observations (ou arcs courts : regroupe deux détections redondantes, c’est-à-dire très proches spatialement et sur des scans successifs) dans les conditions d’observations définies au Chapitre 2. La méthode proposée, appliquée sur ce jeu de données, génère 1 160 026 paires d’observations corrélées (les observations n’étant corrélées à aucune autre ne sont pas mémorisées). La vérité terrain nous permet de déduire les chiffres suivants : Nombre d’objets simulés 11 807 Observations (dont FA) 416 554 (259 170) Paires d’observations générées 1 160 026 Observations initiales issues d’un objet 93 096 Paires d’observations correctes 64 241 Objets correctement corrélés 11 039 Nous évaluons d’abord l’ambiguïté d’association moyenne obtenue par l’utilisation de la méthode de fenêtrage sur le jeu de 416 554 observations simulées. L’ambiguïté est le nombre d’associations possibles pour chaque observation initiale et permet d’évaluer la complexité combinatoire liée à cette étape, car chaque paire d’observations permet d’initialiser une piste. Nous étudions ensuite les distributions des scores (log-vraisemblance) obtenus pour les associations correctes et les associations incorrectes afin de vérifier que la valeur de seuil sSPRT,1 permet une discrimination efficace (compromis entre élimination des paires incorrectes et perte de paires correctes). Pour cela, nous utilisons la distance de Mahalanobis [33], qui est un outil permettant de quantifier la “séparabilité” entre deux échantillons sous hypothèse gaussienne. La séparabilité entre l’ensemble des scores associés aux paires correctes et l’ensemble des scores associés aux paires incorrectes est alors évaluée et interprétée. Enfin, le rappel et l’ambiguïté résultant des deux étapes de filtrage permettent d’évaluer dans une certaine mesure les performances de la méthode proposée, les performances finales étant évaluées dans un contexte multicible au Chapitre 8. 6.3.1 Fenêtrage Rappel Nous évaluons le rappel en comptant le nombre d’objets uniques fournissant au moins une paire d’observations correcte détectée grâce à la One-Class SVM. 956.3 Évaluation préliminaire des performances Le taux de rappel mesuré sur 3 jours est alors de 93,50% : Nombre d’objets correctement corrélés Nombre total d’objets présents = 11 039 11 807 = 93, 50% Les 1 160 026 paires d’observations sont constituées de 93 096 observations initiales corrélées à une observation issue du même objet dans 64 241 cas (formant alors une paire d’observations correcte). Nous évaluons alors un rendement de 69,00% : Nombre de paires d’observations correctes Nombre d’observations initiales corrélées à d’autres observations = 64 241 93 096 = 69, 00% Le taux de rappel (93,50%) prend une valeur proche de la valeur de ν choisie dans le paramétrage de la One-Class SVM (95%), ce qui tend à démontrer le bon fonctionnement de l’implémentation de la méthode de fenêtrage. Le rendement (69,00%) garantit quant à lui une certaine efficacité du processus. Ambiguïté L’objectif de cette méthode étant de réduire au mieux la complexité combinatoire, nous cherchons à évaluer la précision du fenêtrage, c’est-à-dire l’ambiguïté liée à la corrélation de plusieurs observations avec une observation initiale. Pour évaluer la précision du fenêtrage effectué, c’est-à-dire l’ambiguïté d’association moyen, nous comptons pour chaque observation initiale le nombre d’observations corrélées, en excluant les cas où aucune observation n’est corrélée. Nous obtenons ainsi un ensemble de valeurs dont les propriétés statistiques sont les suivantes : – Moyenne : 6,33 observations associées à une observation initiale, – Écart-type : 5,55 observations par observation initiale, – Maximum : 43 observations par observation initiale. 0 5 10 15 20 25 30 35 40 0 5 · 10−2 0.1 0.15 0.2 Nombre d’observations corrélées Probabilité Figure 6.10 – Distribution du nombre d’observations corrélées par observation initiale. La répartition du nombre d’observations corrélées par observation initiale est unimodale. La moyenne et l’écart-type permettent de quantifier la précision de la méthode de fenêtrage. 96Chapitre 6 : Association initiale par modélisation comportementale −14 −12 −10 −8 −6 −4 −2 0 2 4 6 0 5 10 15 Score Fréquence Figure 6.11 – Distributions des scores associés aux paires d’observations correctes (vert) et aux paires d’observations incorrectes (rouge) issues du fenêtrage. 6.3.2 Score Nous évaluons le score (c’est-à-dire la log-vraisemblance) tel que défini en équation (6.20) pour les paires d’observations corrélées correctes et les paires incorrectes. Nous calculons les moyennes et écart-types suivants pour ces deux ensembles. – Ensemble Sc des scores des paires d’observations correctes : – Moyenne : -0,42, – Écart-type : 2,29, – Ensemble Sc¯ des scores des paires d’observations incorrectes : – Moyenne : -3,71, – Écart-type : 2,81. Sous hypothèse gaussienne (cf. Figure 6.11), la séparabilité d(Sc, Sc¯) des deux ensembles Sc et Sc¯ est de 1,40 : d(Sc, Sc¯) = (nc + nc¯) (mc − mc¯) 2 ncσ 2 c + nc¯σ 2 c¯ = (63 750 + 1 096 276) (−0, 42 + 3, 71)2 63 750 ∗ 2, 292 + 1 096 276 ∗ 2, 812 = 1, 40 où nc et nc¯ représentent respectivement le nombre de corrélations correctes disponibles et le nombre de corrélations incorrectes disponibles, mc et mc¯ les moyennes de ces deux ensembles et σc et σc¯ leurs écart-types. Une séparabilité de 1,40 est équivalente à pouvoir affirmer que les deux échantillons analysés sont issus d’un processus différent avec une “confiance” de 76,33% (l’évaluation en 1,4 de la fonction cumulative de densité du χ 2 vaut 0,7633). Grâce à une telle séparabilité, le Sequential Probability Ratio Test (SPRT, cf. Section 4.3.2) permet de filtrer davantage d’observations par seuillage. En choisissant un seuil sSP RT,1 = −5, 2983 (cette valeur est justifiée à la Section 4.3.2), on peut filtrer 26,74% des paires d’observations incorrectes au prix de 2,61% des paires d’observations correctes. Le taux de rappel serait alors de 93,50*(1-2,61%) = 91,06% dans le cas le plus pessimiste. 976.4 Conclusion du chapitre 6.3.3 Rappel et ambiguïté obtenus par fenêtrage et SPRT Le rappel obtenu en pratique grâce à la méthode de fenêtrage et au SPRT est de 93,20% : Nombre d’objets correctement corrélés Nombre total d’objets présents = 11 004 11 807 = 93, 20% On obtient une précision finale telle que l’ambiguïté a pour propriétés statistiques : – Moyenne : 4,87 observations par observation initiale, – Écart-type : 4,02 observations par observation initiale, – Maximum : 30 observations par observation initiale. Le filtrage par SPRT permet donc de réduire de 23,06% le nombre d’observations corrélées à chaque observation initiale en moyenne (4,87 contre 6,33 observations corrélées par observation initiale). Cela est du même ordre que le gain de 26,74% prédit grâce à la Figure 6.11. De même, nous obtenons des gains significatifs sur l’écart-type et le maximum. Le taux de rappel a quant à lui faiblement diminué (de 93,50% à 93,20% au lieu de 91,06%), ce que l’on peu attribuer à une fréquence de passage suffisante et à un rendement relativement élevé (69,00%), c’est-à-dire que plusieurs paires d’observations correctes correspondent à un même objet (sur trois jours : 64 241 paires d’observations correctes pour 11 807 objets présents, c’est-à-dire 5,44 paires d’observations par objet en moyenne). 6.4 Conclusion du chapitre Nous proposons dans ce chapitre une nouvelle méthode permettant une première association d’observations sans calcul d’orbite en nous appuyant sur les observations simulées d’objets réels appartenant au catalogue Space-Track. La complexité combinatoire est gardée sous contrôle grâce à une modélisation des paires d’observations à une révolution d’intervalle qui rend possible une association peu ambiguë. De plus, la méthode proposée s’appuie sur une technique d’apprentissage et a un coût de calcul très faible lors de la mise en correspondance d’observations. En sortie de cet algorithme, nous obtenons un ensemble de paires d’observations à une révolution d’intervalle. Les paires d’observations correctement associées peuvent être confirmées lors d’une tentative d’initialisation, tandis que les paires fausses peuvent être filtrées. En effet, les prolonger grâce à un modèle dynamique permet d’évaluer leur vraisemblance vis-à-vis d’une trajectoire possible et d’observations supplémentaires, ce qui fait l’objet du chapitre suivant. 98Chapitre 7 Initialisation du pistage La Détermination d’Orbite Initiale (IOD) consiste de manière générale à estimer grossièrement une orbite à partir d’un nombre minimal d’observations pour fournir une valeur initiale à un algorithme d’optimisation utilisant la totalité des observations associées. L’IOD peut se faire avec une faible ambiguïté si l’on dispose de deux ou trois observations de position respectant certaines conditions de coplanarité (cf. méthodes de type Lambert ou de Herrick-Gibbs au Chapitre 3). Or, nous disposons maintenant de deux observations associées à une révolution d’intervalle. Cela ne suf- fit pas pour estimer de manière univoque les paramètres orbitaux de l’objet suivi du fait de la proximité des deux observations dans un référentiel inertiel (ECI) vis-à-vis des erreurs de mesure. Il est alors nécessaire d’associer davantage d’observations à une paire initiale pour déterminer ces paramètres orbitaux. Dans ce chapitre, nous proposons une méthode analytique permettant d’estimer une orbite circulaire (paramètres d’excentricité eo et ωo nuls) en tirant avantage des particularités d’une paire d’observations à une révolution d’intervalle. Le faible coût de calcul de cette méthode permet d’appliquer une technique de Monte-Carlo pour prendre en compte le bruit de mesure. L’orbite circulaire obtenue est ensuite utilisée pour associer une troisième observation permettant d’affiner la connaissance sur l’orbite réelle. Sommaire 7.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.2 Approximation de l’orbite circulaire X4 . . . . . . . . . . 102 7.2.1 Nécessité d’un bruit de modèle . . . . . . . . . . . . . . . 103 7.3 Association de troisièmes observations par transformation non-parfumée . . . . . . . . . . . . . . . . . . . . . . . 104 7.3.1 Prédiction des observations . . . . . . . . . . . . . . . . . 104 7.3.2 Fenêtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.4 Estimation d’orbite définitive X7 . . . . . . . . . . . . . . 105 7.4.1 Critère minimisé . . . . . . . . . . . . . . . . . . . . . . . 106 7.4.2 Implémentation de l’algorithme de Gauss-Newton . . . . . 106 7.4.3 Critère de convergence et de validité . . . . . . . . . . . . 108 7.5 Évaluation des performances . . . . . . . . . . . . . . . . . 108 997.5.1 Données de test . . . . . . . . . . . . . . . . . . . . . . . . 108 7.5.2 Convergence d’un algorithme de Gauss-Newton comme critère de validation . . . . . . . . . . . . . . . . . . . . . 109 7.5.3 Fenêtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.6 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . 112 100Chapitre 7 : Initialisation du pistage 7.1 Principe Les méthodes de type Lambert (cf. Chapitre 5) permettent de calculer des paramètres orbitaux képlériens à partir de deux observations seules. Lorsque l’on dispose de deux observations non-bruitées, ces méthodes fournissent 2n+1 orbites possibles, où n désigne le nombre de révolutions maximal que l’on autorise. Une paire d’observations permet donc une certaine observabilité des paramètres orbitaux képlériens. Ces méthodes font cependant intervenir des processus itératifs qui ne garantissent ni une convergence systématique, ni un coût de calcul faible ou même constant, et ne prennent pas en compte le bruit d’observation. Figure 7.1 – Schéma représentant des observations corrélées avec une paire d’observations initiale à des longitudes opposées. Une orbite képlérienne comprend au moins 6 paramètres : no, eo, io, Ωo, ωo et Mo (cf. Chapitre 3). Dans le cas d’une orbite circulaire, l’excentricité eo est nulle et l’argument du périgée ωo n’a plus de sens. Il reste donc quatre paramètres orbitaux à déterminer (no, io, Ωo et Mo). Rappelons également que le paramètre de traînée B∗ n’est observable que sur le long terme (plusieurs dizaines d’heures), sa valeur étant approximativement nulle quand les observations disponibles s’étalent sur une période courte. Nous posons X4 = [no, io, Ωo, Mo] T, X7 = [no, eo, io, Ωo, ωo, Mo, B∗] T, X désigne X4 ou X7. Nous proposons une méthode alternative tirant avantage des spécificités du problème : les observations sont espacées d’environ une révolution (le mouvement moyen no est donc presque connu) et les objets sont dans une grande majorité sur des orbites faiblement excentriques. Cette nouvelle méthode s’appuie alors sur l’estimation d’une orbite initiale circulaire pour chaque paire d’observations. À partir de l’estimation d’une telle orbite (estimée et covariance), des méthodes plus classiques, en l’occurrence la transformation non-parfumée et l’algorithme de Gauss-Newton, permettent d’associer davantage d’observations puis de déterminer une orbite définitive X7 (les paramètres orbitaux SGP). Les observations ne permettant pas une convergence de l’algorithme de Gauss-Newton sont rejetées. 1017.2 Approximation de l’orbite circulaire X4 Paires d’observations Calcul d’orbites circulaires Prédiction de l’observation z Nouvelles observations d(z¯, z) ≤ s1 ? (fenêtrage) Estimation de X7 Convergence ? {zi , zj} z oui rejet association valide non non oui Figure 7.2 – L’algorithme résultant fait intervenir deux tests pour garder la complexité combinatoire sous contrôle : le fenêtrage statistique et un critère de convergence de l’algorithme de Gauss-Newton. 7.2 Approximation de l’orbite circulaire X4 Nous disposons de paires d’observations bruitées et à environ une révolution d’intervalle, c’est-à-dire que les observations d’une paire sont proches spatialement dans un référentiel géocentrique inertiel (ECI). Le bruit est alors fortement défavorable à l’observabilité des paramètres orbitaux associés à chaque paire. En revanche, les observations d’une même paire sont espacées dans le temps (entre 88 et 127 minutes d’intervalle), ce qui a pour effet d’améliorer l’observabilité. Les paramètres d’une orbite circulaire peuvent se déterminer de manière analytique : no ≃ 2π + δp τ (7.1) io ≃ arccos p.u ECI Z kpk (7.2) Ωo ≃ π 2 ± arccos p.u ECI X kp.u ECI X + p.u ECI Y k (7.3) Mo ≃ ± arccos cos Ωo r1.u ECI X + sin Ωo r1.u ECI Y kr1k (7.4) où r1 et r2 sont les vecteurs-position associés à la paire d’observations {z1, z2} dans le référentiel cartésien ECI dont u ECI X , u ECI Y et u ECI Z sont les vecteurs unitaires, δp est l’angle signé formé par r1 et r2, τ est la différence temporelle entre z1 et z2. Enfin, p est le produit vectoriel de r1 et r2. Deux valeurs de X4 sont alors possibles, selon que l’objet éventuellement suivi ait fait plus ou moins d’une révolution (signe de δp, cf. Figure 7.3). Cela conduit alors à envisager deux pistes pour chaque paire d’observations. Le faible coût de ce calcul permet de prendre en compte le bruit d’observation. Pour cela, nous tirons aléatoirement (selon la même loi de probabilité de l’erreur) des 102Chapitre 7 : Initialisation du pistage r1 r2 −δ r2 r1 δ Figure 7.3 – Selon le cas, l’angle δp représente le secteur complémentaire à une révolution (gauche) ou le secteur supplémentaire à une révolution (droite). vecteurs-position dans le volume d’erreur de chaque observation et calculons des valeurs possibles de X4. La moyenne et la covariance de ces valeurs fournissent une estimée Xˆ 4 dotée d’une matrice de covariance PXˆ Xˆ ,4 qui permettent d’appliquer une méthode de fenêtrage pour l’association d’une troisième observation. 7.2.1 Nécessité d’un bruit de modèle L’orbite estimée {Xˆ 4, PXˆ Xˆ ,4 } est biaisée et ne permet pas en général le suivi de l’objet. En effet, l’approximation d’orbite circulaire induit nécessairement un biais dans l’estimation de X4 car deux paramètres (eo et ωo) sont négligés. Il est alors nécessaire d’ajouter une matrice diagonale constante, désignée par D4 = diag(κ1, κ2, κ3, κ4), à la matrice de covariance PXˆ Xˆ ,4 : PXˆ Xˆ ,4 ← PXˆ Xˆ ,4 + D4 (7.5) Cela permet de compenser le biais par une dilatation artificielle de la matrice de covariance. Les coefficients de D4 sont déterminés à partir de trajectoires issues du catalogue Space-Track. Leurs valeurs sont ajustées de manière à obtenir les corrélations voulues sur plusieurs cas. En l’occurrence, les valeurs suivantes fournissent le résultat escompté : κ1 (associé à no) = 8.10−9 rad/s κ2 (associé à io) = 8.10−3 rad κ3 (associé à Ωo) = 8.10−3 rad κ4 (associé à Mo) = 8.10−9 rad Ces valeurs se généralisent correctement à l’ensemble des objets simulés dans la suite de cette étude. 1037.3 Association de troisièmes observations par transformation non-parfumée 7.3 Association de troisièmes observations par transformation non-parfumée 7.3.1 Prédiction des observations Nous disposons maintenant d’une orbite circulaire estimée Xˆ 4 et de sa matrice de covariance PXˆ Xˆ ,4 . Il s’agit dans un premier temps de faire un fenêtrage statistique (cf. équation (4.14)) afin de déterminer les observations potentiellement corrélées à Xˆ 4. Pour cela, la transformation non-parfumée [36, 37] semble être un bon compromis entre précision et coût de calcul (cf. Chapitre 4.3), c’est pourquoi nous l’implémentons dans le cadre de cette thèse. Nous posons fnp = hcapteur◦fSGP, où hcapteur est la fonction de passage d’un référentiel ECI cartésien au référentiel capteur sphérique, et fSGP est la fonction qui calcule une position (la vitesse n’est pas observée par le capteur) dans un référentiel ECI à partir d’une orbite X, à la date de l’observation z dont nous cherchons à évaluer la corrélation. χ 0 χ 1 χ 3 χ 2 χ 4 fnp(χ 0 ) fnp(χ 1 ) fnp(χ 3 ) fnp(χ 2 ) fnp(χ 4 ) fnp Figure 7.4 – Dans le cas gaussien, les sigma-points définissent les moments statistiques de la densité a priori (ici la moyenne et la variance d’une variable à 2 dimensions). Leurs images par la fonction non-linéaire fnp permet d’estimer ces mêmes moments statistiques concernant la densité a posteriori. Sous une hypothèse gaussienne, on approche la distribution {Xˆ 4, PXˆ Xˆ ,4 } par 9 points (2n+1 points avec n = 4 la dimension de l’espace) pondérés par les poids {ϕ i}i∈{0,9}, comme le montre l’équation (7.7), où les χ i sont les “sigma-points”. Les sigma-points sont choisis tels que leur moyenne pondérée par les χ i est égale à la moyenne Xˆ 4 et que leur covariance pondérée de la même manière soit égale à la covariance PXˆ Xˆ ,4 : Xˆ 4 = X 9 i=0 ϕ iχ i (7.6) PXˆ Xˆ ,4 = X 9 i=0 ϕ i (χ i − Xˆ 4)(χ i − Xˆ 4) T Un jeu de sigma-points peut être obtenu en additionnant et soustrayant à la moyenne Xˆ 4 des vecteurs rendant compte de la covariance : 104Chapitre 7 : Initialisation du pistage i = 0 : χ 0 = Xˆ 4 , ϕ0 = 1 5 1 ≤ i ≤ 4 : χ i = Xˆ 4 + q Pi Xˆ Xˆ ,4 , ϕi = 1 10 5 ≤ i ≤ 9 : χ i = Xˆ 4 − q Pi Xˆ Xˆ ,4 , ϕi = 1 10 (7.7) où q Pi Xˆ Xˆ ,4 est la i-ème colonne d’une matrice triangulaire L obtenue par la décomposition de Cholesky de la matrice PXˆ Xˆ ,4 . La distribution a posteriori est déduite des images des sigma-points par la fonction fSGP. Cette estimation est non-biaisée et relativement robuste selon certaines études. Dans ce cas, l’observation propagée {z¯, Pz¯z¯} à partir de {Xˆ 4, PXˆ Xˆ ,4 } s’obtient par : ¯z = X 9 i=0 ϕ i fnp(χ i ) (7.8) P¯z¯z = X 9 i=0 ϕ i (fnp(χ i ) − ¯z)(fnp(χ i ) − ¯z) T 7.3.2 Fenêtrage Cette distribution permet de définir une fonction de fenêtrage permettant l’association de nouvelles observations {zi}, en utilisant la distance statistique (Mahalanobis, cf. équation (4.14)) entre la distribution {z¯, Pz¯z¯} ainsi estimée et la distribution de l’observation {zi , Pzz,j} (volume d’erreur centré sur l’observation). Le test suivant permet de corréler une observation zi à l’orbite {Xˆ 4, PXˆ Xˆ ,4 } : d(¯z, zi) = q (¯z − zi) T(P¯z¯z + Pzz,j ) −1 (¯z − zi) ≤ sF (7.9) Les observations valides permettent de prolonger la paire d’observation en triplet d’observations, chaque triplet permettant une tentative d’estimation d’orbite défi- nitive grâce à un algorithme de Gauss-Newton en prenant pour valeur initiale Xˆ 4. Nous appliquons également cette technique pour associer de nouvelles observations quand un état X7 est disponible. 7.4 Estimation d’orbite définitive X7 En théorie, un jeu de trois observations de position suffisamment espacées dans le temps et/ou dans l’espace (vis-à-vis du bruit d’observation) permettent le calcul de paramètres orbitaux sans ambiguïté (c’est-à-dire une solution unique). Dans la pratique, nous pouvons utiliser la paire d’observations à une révolution d’intervalle associée à une troisième observation pour estimer les paramètres orbitaux X7 = [no, eo, io, Ωo, ωo, Mo, B∗] T grâce à un algorithme de Gauss-Newton. 1057.4 Estimation d’orbite définitive X7 7.4.1 Critère minimisé Le capteur fournit des mesures en angle (θi , φi) et en distance (ρi) associées à une observation zi à la date ti et la fonction fSGP permet de prédire ces mesures à un instant ti à partir de paramètres orbitaux X : (hcapteur ◦ fSGP)(X, ti) = ¯zi =   ρ¯i ¯θi φ¯ i   X,ti (7.10) où hcapteur est la fonction de passage du référentiel ECI au référentiel capteur. Nous rapportons les observations prédites dans le référentiel capteur car cela permettant d’avoir une matrice de covariance de l’erreur Pzz = diag(σ 2 ρ , σ2 θ , σ2 φ ) de mesure constante. Nous minimisons alors l’erreur quadratique suivante : εQ(X) = Xn i=1 (¯ρi − ρi) 2 σ 2 ρ + ( ¯θi − θi) 2 σ 2 θ + (φ¯ i − φi) 2 σ 2 φ ! (7.11) où ¯ρi , ¯θi et φ¯ i sont les mesures prédites à l’instant ti de l’observation zi contenant les mesures ρi , θi et φi , et n est le nombre d’observations disponibles. L’algorithme de Gauss-Newton permet de minimiser εQ en fonction de X par un processus itératif. 7.4.2 Implémentation de l’algorithme de Gauss-Newton L’algorithme de Gauss-Newton permet d’estimer X de manière itérative. À chaque itération, X est incrémenté d’une valeur ∆X déterminée grâce à la jacobienne de la fonction fSGP évaluée en chaque observation disponible zi . La valeur initiale X0 de X prend les valeurs de X4 en no, io, Ωo et Mo et prend des valeurs nulles pour les paramètres eo, ωo et B∗. 106Chapitre 7 : Initialisation du pistage Algorithme 1 : Algorithme de Gauss-Newton itératif pour la détermination d’une orbite définitive. Données : Observations zi associées et leurs matrices de covariance Pzz,i. Entrées : Vecteur initial X0, seuil de convergence sC. Sorties : Estimation Xˆ minimisant l’erreur quadratique εQ et matrice de covariance PXˆ Xˆ associée. 1 Initialiser X ← X0 2 tant que k∆Xk kXk ≥ sC ou X = X0 faire 3 pour chaque zi faire 4 Prédire l’observation ¯zi à l’instant de zi 5 Former le vecteur de résidus εi tel que εi = ¯zi − zi 6 Calculer la matrice jacobienne Jε,i à l’instant de zi (différences finies) 7 Accumuler les matrices de covariance normalisées J T ε,iP−1 zizi Jε,i et J T ε,iP−1 zizi εi 8 fin 9 Calculer la matrice de covariance PXˆ Xˆ = (J T ε P−1 zz Jε) −1 et l’élémentaire ∆X = −PXˆ Xˆ J T ε P−1 zz ε 10 Actualiser le vecteur X ← X + ∆X 11 fin Calcul de la matrice jacobienne La matrice jacobienne Jε caractérise localement la variation d’une fonction multidimensionnelle, en l’occurrence le vecteur des résidus ε. Elle est définie formellement par l’équation (7.12), où i et j sont les indices des lignes et des colonnes de la matrice, X est le point auquel est évaluée la matrice jacobienne et les {xj} sont ses composantes. Jε(X) = " ∂εi ∂xj (x) # i,j (7.12) La fonction ε n’est pas analytique (car fSGP ne l’est pas). Une approximation des valeurs de la matrice jacobienne est alors calculée par méthode des éléments finis dont le principe repose sur la définition de la matrice jacobienne en tant que limite de la fonction matricielle définie en équation (7.13), où δx est un incrément, {δxj} ses composantes et α un réel. limα→0 " εi(X + αδx) − εi(X) αδxj # i,j = Jε(X) (7.13) Pour approcher une valeur de la matrice jacobienne en X, on définit un vecteur δx pour tenir compte des sensibilité relatives des paramètres et on fixe une valeur de α suffisamment petite de manière à approcher le mieux possible la matrice jacobienne sans impliquer de trop grandes erreurs numériques. 1077.5 Évaluation des performances 7.4.3 Critère de convergence et de validité Plusieurs critères de convergence sont possibles. Pour cette étude, le critère de sortie suivant permet de vérifier que l’incrément est petit par rapport au vecteur d’état afin de détecter la convergence : k∆Xk kXk < sC (7.14) où X est l’état estimé, ∆X est l’incrément associé à la dernière itération et sC est un seuil de convergence dont la valeur est fixée empiriquement à 1.10−5 . Dans le cas convergeant, nous vérifions que les mesures prédites appartiennent aux volumes d’erreurs des mesures observées : εQ(Xˆ ) < sε (7.15) En effet, si les trois observations ne sont pas issues du même objet, alors l’algorithme de Gauss-Newton peut converger vers une valeur associée à une erreur quadratique εQ, mais celle-ci dépasse en général un certain seuil sε. En l’occurrence, l’erreur quadratique εQ est la somme de 3n lois gaussiennes centrées et réduites. Le seuil sε peut alors être choisi en fonction d’une loi du Khi-2 à 3n degrés de libertés, mais pour des raisons pratiques, nous choisissons de fixer sε = 27n en considérant que ρ¯i−ρi σρ ≤ 3, θ¯ i−θi σθ ≤ 3 et φ¯ i−φi σφ ≤ 3 sont des conditions nécessaires à l’hypothèse H1 selon laquelle “les observations sont issues d’un même objet”. Sachant H1 : ρ¯i − ρi σρ ≤ 3 et ¯θi − θi σθ ≤ 3 et φ¯ i − φi σφ ≤ 3 (7.16) ⇒ (¯ρi − ρi) 2 σ 2 ρ + ( ¯θi − θi) 2 σ 2 θ + (φ¯ i − φi) 2 σ 2 φ ≤ 27 (7.17) ⇒ εQ(X) = Xn i=1 (¯ρi − ρi) 2 σ 2 ρ + ( ¯θi − θi) 2 σ 2 θ + (φ¯ i − φi) 2 σ 2 φ ! ≤ 27n = sε (7.18) Ce critère de validité joue un rôle très important pour la discrimination des pistes (séquences d’observations) car il permet de filtrer un grand nombre des fausses pistes. 7.5 Évaluation des performances 7.5.1 Données de test Pour évaluer les performances de la méthode de première association proposée, les objets en orbite basse présents dans le catalogue Space-Track sont simulés sur une 108Chapitre 7 : Initialisation du pistage période de 3 jours et 10 fausses alarmes par scan sont ajoutées. Cela fournit 25 917 scans comprenant 416 554 observations dans les conditions d’observations définies au Chapitre 2 (ces conditions sont identiques à celles du Section 6.3). Nous appliquons ensuite la méthode de première association proposée au Chapitre 6. Nous calculons deux orbites circulaires (cas δp ≥ 0 et cas δp ≤ 0) à partir de 5 000 paires d’observations obtenues. Il en résulte 10 000 orbites circulaires que nous propageons dans le temps pour corréler davantage d’observations sur une fenêtre de 36 heures. Les pistes obtenues permettent alors d’étudier l’ambiguïté moyenne (nombre d’observations corrélées par paire) de la méthode de seconde association ainsi que la pertinence des critères utilisés pour discriminer les pistes correctes des pistes incorrectes. 7.5.2 Convergence d’un algorithme de Gauss-Newton comme critère de validation Les tests effectués permettent de déduire le Tableau 7.1 qui indique la proportion de triplets corrects entraînant une convergence de l’algorithme de Gauss-Newton et la proportion de triplets incorrects entraînant une divergence. % (#) Triplets corrects Triplets incorrects Convergence 67,20 (678) 1,36 (201 715) Divergence 32,80 (331) 98,64 (14 631 621) Total 100,00 (1009) 100,00 (14 833 336) Tableau 7.1 – Taux de convergence et le taux de divergence pour les triplets d’observations corrects et les triplets d’observation incorrects sur un échantillon de test. La convergence de l’algorithme de Gauss-Newton est une condition nécessaire à la conformité d’une piste (comme nous le mentionnons en Section 7.4), mais ce n’est pas une condition suffisante. En effet, le Tableau 7.1 indique d’une part que plus de 67% des triplets corrects permettent une convergence, les autres triplets entraînant une divergence. Quant aux triplets incorrects, ils entraînent une divergence dans plus de 98% des cas. Nous déduisons du Tableau 7.1 que la convergence n’est pas un bon critère de validation des triplets d’observations corrects. Cependant, le nombre de triplets incorrects étant très grand devant le nombre de triplets corrects, nous faisons le choix d’invalider un triplet entraînant une divergence. Bien que nous perdons 32,80% des triplets corrects, nous éliminons un très grand nombre de triplets incorrects et gardons ainsi la complexité combinatoire sous contrôle. 1097.5 Évaluation des performances 7.5.3 Fenêtrage Rappel Sur les 3 jours simulés, la méthode d’association de troisièmes observations appliquée aux paires d’observations disponibles fournit des triplets d’observations corrects correspondant à 10 188 objets différents. Le rappel total est donc de 86,29% : Nombre d’objets correctement corrélés Nombre total d’objets présents = 10 188 11 807 = 86, 29% Le rappel propre de la méthode de première association était de 93,20%. Nous en déduisons que le rappel propre de la méthode de deuxième association est de 92,59%. Notons que ces valeurs de rappel sont des bornes inférieures des rappels réels. En effet, sur une durée de simulation plus longue, les objets non-suivis ont plus d’occasions d’être observés dans des conditions plus favorables à l’initialisation de piste. Ambiguïté Compter le nombre moyen de troisièmes observations corrélées à partir d’une paire d’observations et d’un état estimé X4 permet d’évaluer l’ambiguïté de la méthode d’association proposée. Ce nombre peut prendre des valeurs très disparates, comme l’indique la Figure 7.5 : – Moyenne : 1 161 observations par paire d’observations initiale, – Écart-type : 737 observations par paire d’observations initiale, – Maximum : 3 726 observations par paire d’observations initiale. 0 500 1,000 1,500 2,000 2,500 3,000 3,500 0 2 4 6 ·10−2 Nombre d’observations corrélées Probabilité d’occurrence Figure 7.5 – Distribution du nombre d’observations corrélées par paire d’observations pour des pistes quelconques. Le nombre d’hypothèses d’association de troisième observation testées est bien plus faible pour les pistes correctes : nous obtenons l’histogramme de la Figure 7.6 en comptant le nombre de troisièmes observations corrélées jusqu’à ce que l’on dispose d’une observation permettant la convergence d’un algorithme de Gauss-Newton et d’une quatrième observation issue du même objet corrélée grâce à l’état X7 estimé à partir du triplet d’observations correctes. Les propriétés statistiques de ce paramètre sont les suivantes : 110Chapitre 7 : Initialisation du pistage – Moyenne : 45,86 observations par paire d’observations initiale, – Écart-type : 61,10 observations par paire d’observations initiale, – Maximum : 409 observations par paire d’observations initiale. 0 50 100 150 200 250 300 350 400 0 0.2 0.4 Nombre d’observations corrélées Probabilité d’occurrence Figure 7.6 – Distribution du nombre d’observations corrélées par paire d’observations pour les pistes correctes. La grande ambiguïté est alors due aux pistes composées entre autres de fausses alarmes. Nous pouvons déduire des Figure 7.5 et Figure 7.6 que limiter à 200 le nombre de troisièmes observations à tester pour chaque paire d’observations initiale permettrait de limiter le nombre de pistes à tester en ne perdant que très peu de pistes initialisables. Le nombre de troisièmes observations candidates par paire d’observations initiale chute alors en moyenne à une valeur de 189,90 observations par paire. Intervalles de temps Il est intéressant d’évaluer les intervalles de temps entre les observations corrélées afin d’estimer la durée de vie d’une piste à initialiser. En effet, nous ne disposons pas d’une mesure de qualité de piste suffisante pour décider de la suppression de pistes en cours d’initialisation. Nous permettons alors aux pistes en cours d’initialisation d’expirer au-delà d’un certain temps, si aucune observation corrélée ne permet la convergence d’un algorithme de Gauss-Newton et l’association d’une quatrième observation. Nous avons représenté en Figure 7.7 les distributions des intervalles de temps entre une paire d’observations initiale (nous considérons la date de la seconde observation) et les troisièmes observations candidates dans le cas de convergences de l’algorithme de Gauss-Newton et dans le cas de divergences. Nous observons sur la courbe verte de la Figure 7.7 des pics correspondant aux demirévolutions de la Terre. Cela s’explique par les inclinaisons relativement élevées des objets en orbite basse : ils ne passent dans le champ de vue qu’à des longitudes quasiment opposées (longitudes proches des longitudes des nœuds ascendants et descendants). Nous pouvons supposer à ce stade que l’expiration d’une piste serait raisonnable après un temps texp. d’environ un jour. Quant à la courbe rouge, elle prend des valeurs plus élevées pour les grandes valeurs d’intervalle de temps, ce qui peut s’expliquer par la dégradation au cours du temps de la précision de l’orbite circulaire propagée. 1117.6 Conclusion du chapitre 5 10 15 20 25 30 35 0 2 · 10−2 4 · 10−2 6 · 10−2 8 · 10−2 0.1 Intervalle de temps (h) Probabilité d’occurrence association d’observations d’ascendance opposée association d’observations de même ascendance Figure 7.7 – Distributions des intervalles de temps entre une paire d’observations initiale et les troisièmes observations candidates permettant la convergence d’un algorithme de Gauss-Newton. La courbe verte représente les pistes correctes et la courbe rouge représente les pistes incorrectes. Les observations associées après un nombre entier (même ascendance) ou demi-entier (ascendance opposée) correspondent aux pics de la courbe verte. Rappelons que l’ascendance est le fait d’aller du Sud au Nord ou du Nord au Sud. 7.6 Conclusion du chapitre Dans ce chapitre et au Chapitre 6, nous proposons une nouvelle méthode permettant de définir des orbites associées aux objets détectés par le capteur en gardant la complexité combinatoire sous contrôle. Avec un taux de rappel d’au moins 86% et une complexité combinatoire raisonnable de l’ordre de 4, 87 × 189, 90 soit 924, 81 tripets d’observations par observation initiale, nous avons trouvé un compromis raisonnable en comparaison d’une approche par le test exhaustif des combinaisons d’observations possibles. Chacune des orbites est déterminée indépendamment des autres. L’initialisation de plusieurs pistes par objet est alors possible et il est nécessaire de mettre en œuvre une technique de pistage multicible pour ne retenir qu’une piste d’observation et une orbite par objet. De plus, les interférences possibles entre les pistes formées grâce à la méthode proposée peuvent jouer un rôle de discrimination supplémentaire pour filtrer ces pistes. Cette chaîne d’initialisation des pistes est alors mise en œuvre dans un algorithme de pistage multicible (en l’occurrence un TO-MHT) au chapitre suivant, afin d’évaluer les performances des méthodes proposées dans un cadre plus proche de conditions d’utilisation réelles. 112Chapitre 8 Intégration du traitement multicible Ce chapitre présente la mise en œuvre de la méthode d’initialisation de pistes à partir d’observations isolées dans un contexte multicible. Nous avons fait le choix d’un Track-Oriented Multiple Hypothesis Tracker (TOMHT) à partir d’une synthèse des algorithmes de pistage multicible existants au Chapitre 4. Les blocs fonctionnels, dépendant fortement du problème traité ainsi que de la dynamique associée aux cibles, sont identifiés et adaptés selon les particularités de la méthode d’initialisation proposée. Les performances de l’algorithme obtenu sont évaluées sur des scénarios de plusieurs centaines d’objets en orbite basse pour prouver l’efficacité de l’algorithme proposé. Sommaire 8.1 Principe du Track-Oriented Multiple Hypothesis Tracker (TO-MHT) . . . . . . . . . . . . . . . . . . . . . . . . 114 8.1.1 Hypothèse fondamentale . . . . . . . . . . . . . . . . . . . 114 8.1.2 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 8.1.3 Formation des pistes . . . . . . . . . . . . . . . . . . . . . 115 8.1.4 Évaluation de la qualité individuelle des pistes . . . . . . 116 8.1.5 Construction de solutions globales . . . . . . . . . . . . . 120 8.1.6 Suppression de pistes au niveau global . . . . . . . . . . . 121 8.1.7 Mise-à-jour des états . . . . . . . . . . . . . . . . . . . . . 124 8.1.8 Fusion de pistes . . . . . . . . . . . . . . . . . . . . . . . . 124 8.2 Évaluation des performances . . . . . . . . . . . . . . . . . 125 8.2.1 Choix des critères d’évaluation . . . . . . . . . . . . . . . 125 8.2.2 Choix des scénarios de test . . . . . . . . . . . . . . . . . 126 8.2.3 Dégradation des observations . . . . . . . . . . . . . . . . 126 8.2.4 Évolution temporelle des critères de performance principaux127 8.2.5 Évolution temporelle des critères de performance annexes 128 8.2.6 Sensibilité des paramètres de dimensionnement du radar . 129 8.2.7 Conclusion des tests de performance . . . . . . . . . . . . 132 8.3 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . 132 1138.1 Principe du Track-Oriented Multiple Hypothesis Tracker (TO-MHT) 8.1 Principe du Track-Oriented Multiple Hypothesis Tracker (TO-MHT) Un algorithme de pistage multicible, comme le TO-MHT, permet essentiellement de trier (confirmer ou supprimer) un ensemble de pistes issues d’un algorithme de pistage monocible tirant lui-même avantage d’un modèle dynamique. La fréquence des observations issues d’un même objet et la densité de détection vis-à-vis de la dynamique des objets nous ont amené à développer un traitement particulier pour l’initialisation de pistes. Les pistes résultantes sont en effet particulières : elles sont composées d’observations issues de scans non-contigus et le score évaluant la qualité d’une piste n’est pas disponible pour les pistes courtes (moins de quatre observations), ce qui nécessite une certaine adaptation du TO-MHT classique. 8.1.1 Hypothèse fondamentale Le TO-MHT adopte l’hypothèse selon laquelle une même observation ne peut pas être issue de deux cibles distinctes et une même cible ne peut générer deux observations distinctes sur un même scan. Cela se traduit algorithmiquement par la construction de clusters, c’est-à-dire d’ensembles de pistes dites “incompatibles” qui partagent une ou plusieurs observations, et dans la formulation d’une solution globale, c’est-à-dire de l’ensemble le plus vraisemblable de pistes dites “compatibles” qui ne partagent pas une même observation. Pour gérer les cas de cibles confondues, des adaptations spécifiques peuvent être apportées mais cela dépasse le cadre de notre étude. 8.1.2 Principe Le principe du TO-MHT est de garder en mémoire un grand nombre d’hypothèses d’association tant qu’aucune n’est suffisamment vraisemblable, c’est-à-dire de retarder les décisions de suppression de pistes jusqu’à ce que des observations informatives soient acquises. Pour cela, le TO-MHT prolonge des pistes existantes avec de nouvelles observations grâce à une fonction de fenêtrage. Dans un second temps, la qualité de chaque piste (séquence d’observations) est individuellement évaluée par une fonction de score décrite dans la Section 8.1.4. Les pistes survivantes sont alors combinées en clusters, puis en solutions globales dont on évalue la qualité pour éliminer les pistes dites de faible occurrence. Enfin, les états des pistes survivantes sont mis à jour grâce aux observations nouvellement associées et les pistes similaires sont fusionnées. Ce processus itératif est décrit par la Figure 8.1. Parmi les blocs fonctionnels présentés dans la Figure 8.1, on peut distinguer les blocs relatifs à un traitement individuel des pistes, c’est-à-dire les fonctions utilisées provenant d’algorithmes de pistage monocible. Le choix de ces fonctions est donc libre et doit être fait selon les particularités du problème. Rappelons que nous avons justifié au Chapitre 4 le choix d’une méthode de Gauss-Newton pour la mise-à-jour 114Chapitre 8 : Intégration du traitement multicible Structure du TO-MHT Formation des pistes La corrélation de chaque nouvelle observation avec chaque piste existante est évaluée. Chaque nouvelle observation fait l’objet d’une nouvelle piste. Évaluation de la qualité individuelle des pistes La qualité de chaque piste prolongée est évaluée. Les pistes de mauvaise qualité sont supprimées et les pistes de bonne qualité sont confirmées. Construction de solutions globales Les clusters sont calculés. Les pistes confirmées compatibles et leurs orbites sont extraites des clusters et constituent la sortie de l’algorithme. Suppression de pistes au niveau global Pour chaque paire de pistes incompatibles, la piste de moins bonne qualité est supprimée ou non selon l’état de confirmation de la piste de meilleure qualité. Fusion de pistes La similarité des orbites de chaque paire de pistes incompatible est évaluée. La piste de moins bonne qualité est supprimée selon le cas. Mise-à-jour des états Calcul ou mise-à-jour des orbites des pistes survivantes. Nouvelles observations Meilleur scénario Figure 8.1 – Schéma bloc représentant les principales étapes du TO-MHT. Les blocs bleus traitent les pistes individuellement tandis que les blocs roses traitent des ensembles de pistes. La souplesse de cette algorithme permet d’insérer et d’implémenter facilement des blocs fonctionnels comme par exemple une fonction de fusion de pistes. des états des pistes initialisées et une transformation non-parfumée pour le fenêtrage. 8.1.3 Formation des pistes L’étape de formation des piste comprend deux fonctions : la création de nouvelles pistes et la prolongation de pistes existantes. Créer une nouvelle piste consiste dans notre cas à une simple mise en mémoire de la nouvelle observation sous la forme d’une nouvelle piste contenant une unique observation. En revanche, associer les détections issues d’une même traversée permet 1158.1 Principe du Track-Oriented Multiple Hypothesis Tracker (TO-MHT) d’avoir à initialiser moins de nouvelles pistes. Dans cette étude, cette association est faite de proche en proche comme le décrit l’Annexe D. Les pistes sont prolongées en levant la condition selon laquelle une observation ne peut être issue de deux cibles distinctes. Par conséquent, on autorise les nouvelles observations à prolonger plusieurs pistes existantes, quitte à respecter à nouveau cette condition lors de la combinaison de pistes en solutions globales. Nous intégrons ici la méthode d’initialisation présentée au Chapitre 6. Pour cela, nous distinguons les pistes selon le nombre d’observations. En effet, si une piste contient une unique observation, alors la méthode de fenêtrage présentée au Chapitre 6 est appliquée, c’est-à-dire que l’on teste l’assertion “x(i, j) ∈ Fˆ 1rév”. Si en revanche la piste contient au moins deux observations, alors elle dispose d’un état X4 ou X7 et d’une matrice de covariance PXX que l’on peut propager grâce à une transformation non-parfumée et dont on peut déduire une fenêtre de validation. Dans ce cas, c’est une distance statistique entre l’observation prédite ¯zi et la nouvelle observation zi que l’on compare à un seuil sF (cf. Chapitre 4). Formation des pistes Chaîne classique Piste Unique observation zj ? One-Class SVM Nouvelle observation zi Transformation non-parfumée Nouvelle observation zi x(i, j) ∈ Fˆ 1rév ? d(¯zi , zi) ≤ sF ? Prolongation de la piste oui non oui oui Figure 8.2 – Détails du bloc de formation des pistes (cf. Figure 8.1). La chaîne classique représente la partie de l’algorithme traitée dans la littérature. 8.1.4 Évaluation de la qualité individuelle des pistes Chaque piste Z est constituée d’une séquence d’observations associées grâce à une fonction de fenêtrage donnant lieu au calcul de la probabilité p(Z|H1) lorsqu’elle dispose d’une orbite estimée X7. Calculer le rapport de vraisemblance (score) entre l’hypothèse H1 et l’hypothèse H0 permet alors d’évaluer la qualité d’une piste Z. Dans cette étude, nous utilisons le logarithme d’un rapport de vraisemblance défini par l’équation (8.1) (rappel de l’équation (4.26)), où p(Z|H1) est la probabilité des observations de la piste Z sachant qu’elles sont issues de la même cible (hypothèse 116Chapitre 8 : Intégration du traitement multicible H1) et p(Z|H0) est la probabilité des observations de la piste Z sachant qu’elles sont toutes des fausses alarmes (hypothèse H0 = H1). L = ln p(Z|H1) p(Z|H0) (8.1) La méthode classique du Sequential Probability Ratio Test (SPRT) [46] (cf. Section 4.3.2) est implémentée pour tirer avantage de ce score. Cette méthode consiste à comparer régulièrement le score associé à une piste Z à des seuils sSPRT,1 et sSPRT,2 afin de décider de sa suppression ou de sa confirmation. La mise-à-jour du score se fait de manière récursive lorsqu’une nouvelle observation z est associée à une piste existante Z, les bruits d’observation étant supposés indépendants [63] : Lk+1 = ln p(z|H1) × p(Z|H1) p(z|H0) × p(Z|H0) ! = ∆L + Lk (8.2) avec l’incrément ∆L tel que : ∆L = ln p(z|H1) p(z|H0) (8.3) La probabilité p(z|H1) est obtenue grâce à la distribution (supposée gaussienne) de l’observation prédite ¯z : p(z|H1) = e −d 2/2 (2π)M/2 q |S| (8.4) où d la distance de Mahalanobis entre l’observation z et l’observation ¯z prédite à partir de la piste, |S| est le déterminant de la matrice de covariance associée et M est la dimension du vecteur d’observation (c’est-à-dire 3 en l’occurrence). La probabilité p(z|H0) est la densité d’observations dans la cellule de résolution du capteur dont le volume est VC : p(z|H0) = 1 VC (8.5) En définitive : Lk+1 = Lk +    ln VC − 1 2 ln |S| − M ln(2π)+d 2 2 si la piste est prolongée par une nouvelle observation, ln(1 − PD) sinon. (8.6) où PD est la probabilité de détection du capteur. 1178.1 Principe du Track-Oriented Multiple Hypothesis Tracker (TO-MHT) Score d’association lié à l’orbite circulaire Le rapport de vraisemblance est un critère de qualité lorsque l’on dispose d’un état X7 précis. Lorsque l’on dispose d’un état {Xˆ 4, PXˆ Xˆ ,4 } (orbite circulaire nécessairement biaisée) déduit d’une paire d’observations par la méthode présentée au Chapitre 7, ce critère ne permet pas d’évaluer la qualité de l’association d’une troisième observation candidate car un biais apparaît dans la densité de probabilité de l’observation prédite {z¯, Pz¯z¯}. Dans cette section, nous justifions le choix de ne pas évaluer la qualité d’une association tant qu’on ne dispose pas d’une orbite précise, c’est-à-dire tant qu’un algorithme de Gauss-Newton ne converge pas. Pour cela, nous appliquons la méthode d’estimation d’orbite circulaire à un jeu d’observations issu de la simulation des objets du catalogue Space-Track et utilisons la transformation non-parfumée pour corréler davantage d’observations à chaque piste initiale. À chaque nouvelle association, nous évaluons le score d’association L défini de manière classique par l’équation (8.7) : Lk+1 = Lk + ln VC − 1 2 ln |S| − 3 ln(2π) + d 2 2 (8.7) où Lk est le score de la piste avant l’association (nul pour l’association initiale), VC le volume surveillé, |S| le déterminant de la matrice de covariance de l’innovation S = Pz¯z¯ + Pzz et d la distance statistique telle que définie en équation (7.9). Lorsqu’une nouvelle observation est associée à une piste existante, nous tentons d’estimer une orbite définitive X7 et, en cas de convergence de l’algorithme de GaussNewton, nous l’utilisons pour associer les observations suivantes et évaluer le score d’association. 1 2 3 4 5 6 7 8 9 10 11 12 0 20 40 60 80 Nombre de détections Rapport de vraisemblance cumulé Moyenne Moyenne±écart-type Faible observabilité de l’état Figure 8.3 – Dans cette simulation, c’est en général la quatrième observation qui permet la convergence de l’algorithme de Gauss-Newton. Les pistes de deux ou trois observations utilisent un état X4 tandis que les pistes de quatre observations ou plus utilisent un état X7 pour l’association de nouvelles observations. La Figure 8.3 représente le score cumulé en fonction de la longueur de la piste pour les pistes correctes. Nous observons que le score cumulatif stagne autour de zéro (voire diminue légèrement en moyenne) pour les pistes contenant moins de quatre 118Chapitre 8 : Intégration du traitement multicible observations. Cela exprime le biais de l’estimation de l’orbite circulaire : le score ne fournit pas un indicateur fiable de la qualité de la piste dans ce cas. Lorsque l’on dispose d’au moins quatre observations, l’algorithme de Gauss-Newton converge dans la plupart des cas et les incréments de score associés aux observations suivantes sont élevés. On déduit de cette analyse que le rapport de vraisemblance n’est pas pertinent si l’on ne dispose que d’une orbite circulaire (biaisée). Nous faisons donc le choix d’ignorer ce score dans la discrimination des pistes tant que le critère de convergence n’est pas respecté, en testant la convergence d’un algorithme de Gauss-Newton et en comparant l’erreur quadratique εQ à un seuil sε. Pour éviter de supprimer ou de confirmer des pistes à tort, le rapport de vraisemblance L n’est pas incrémenté tant qu’un état complet, c’est-à-dire un vecteur d’état X7, n’est pas disponible (L reste alors nul). Évaluation et suppression de pistes Chaîne classique Piste X4 disponible ? X7 disponible ? L0 ≤ sSPRT,1 ? L = 0 L + ∆L ≤ sSPRT,1 ? Suppression de la piste oui oui non non oui oui Figure 8.4 – Détails du bloc d’évaluation et suppression de pistes (cf. Figure 8.1). 100 150 200 250 10 20 30 t0 elevation φ (˚) 100 150 200 250 10 20 30 t0+10 s azimuth θ (˚) elevation φ (˚) Figure 8.5 – Exemple de fenêtre (rouge) validant des observations (bleu) sur des scans successifs. Le processus de suppression représenté en Figure 8.4 ne doit pas être effectué après la première association, mais après un temps de latence tlatence sous peine de supprimer à tort la piste qui pourrait être prolongée par une observation du second scan. Le processus représenté sur la Figure 8.4 ne doit pas être effectué à chaque scan 1198.1 Principe du Track-Oriented Multiple Hypothesis Tracker (TO-MHT) pour chaque piste. En effet, les objets sont hors du champ de veille la plupart du temps et les pistes sont par conséquent rarement mises à jour. De plus, les fenêtres de validation peuvent comprendre une zone de l’espace surveillée et une zone hors champ de veille. Ce processus d’évaluation de qualité de piste doit alors être effectué avec une certaine latence tlatence pour éviter la suppression d’une piste causée à tort par une mauvaise association alors qu’une association correcte est possible aux scans contigus. Nous avons déterminé empiriquement que la valeur tlatence = 10 mins convenait. Par ailleurs, les observations prédites et leurs fenêtres de validation sont la plupart du temps hors du champ de veille. Dans ces cas, la probabilité PD est nulle et l’incré- ment de score ∆L est par conséquent nul également. Une piste peut alors survivre très longtemps car la “certitude” d’une non-détection se présente rarement. Nous choisissons alors d’imposer un délai d’expiration : si une piste ne dispose pas d’un vecteur d’état X7 après une certaine durée texp., alors cette piste est supprimée. Nous avons déterminé qu’un objet passe en moyenne 3 fois dans le champ de veille en l’espace de 24 heures. Le choix texp. = 24 h permet alors une suppression effi- cace des pistes non-prolongées. Intuitivement, une piste d’observations issues d’un même objet serait supprimée à tort en phase d’initialisation avec une probabilité de (1 − PD) 2 qui correspond à la non-détection de deux passages suivant une première détection. 8.1.5 Construction de solutions globales Une solution globale S à un instant k à un problème de pistage multicible est un ensemble de pistes Z respectant la contrainte qu’aucune observation ne soit comprise simultanément dans plusieurs pistes. En pratique, les pistes existantes sont réparties en clusters [32] afin de traiter sé- parément plusieurs problèmes indépendants plus petits : un cluster est en effet un ensemble de pistes liées directement ou indirectement par une ou plusieurs observations communes. Par exemple, si une piste Z1 partage une ou plusieurs observations avec une piste Z2 et que Z2 partage une ou plusieurs observations avec une piste Z3, alors les pistes Z1, Z2 et Z3 sont dans le même cluster, que Z1 et Z3 partagent une observation commune ou non. La solution globale S permettant d’identifier le scénario réel est obtenue par agré- gation de solutions faisables (pistes ne partageant pas d’observations entre elles) propres à chaque cluster. De nombreuses solutions étant possibles, un critère permettant d’ordonner les solutions faisables est défini : un score peut être associé à chaque solution globale obtenue S afin de fournir en sortie de l’algorithme la meilleure solution. Le score LS est défini par la somme des scores des pistes contenues dans la solution S : LS = X Z∈S LZ (8.8) La log-vraisemblance n’étant pas un bon critère de qualité pour les pistes en cours 120Chapitre 8 : Intégration du traitement multicible d’initialisation, nous ne considérons que les pistes confirmées (c’est-à-dire avec un score supérieur au seuil sSPRT,2 et donc a fortiori permettant la convergence d’un algorithme de Gauss-Newton) pour construire les solutions globales et choisir la meilleure. 8.1.6 Suppression de pistes au niveau global Il s’agit ici d’évaluer la pertinence d’une piste vis-à-vis des autres pistes existantes. Pour cela, plusieurs méthodes sont possibles. La méthode du N-scan pruning consiste à supprimer les ramifications d’une piste antérieures à une date fixée en fonction de la date de la dernière observation associée à la piste de meilleur score. Une autre approche consiste à supprimer des pistes selon leur probabilité au niveau “global”, c’est-à-dire en prenant en compte l’interférence avec les autres pistes incompatibles ou pouvant coexister. Ces deux méthodes fournissent de bons résultats dans de nombreux problèmes de pistage multicible, mais nous déterminons dans cette section que la seule l’approche N-scan pruning est adaptée à notre cas en raison du comportement particulier de la log-vraisemblance individuelle des pistes (cf. Section 8.1.4). La définition d’une structure de données pour les pistes est nécessaire à la compré- hension de la méthode N-scan pruning. Structure de données des pistes Une piste Z est une suite d’observations associées z sur plusieurs scans (les scans sont en général non-contigus car les observations sont isolées). Une structure d’arbre (graphe acyclique orienté) permet d’organiser les pistes de manière efficace. En effet, les observations pouvant être référencées dans plusieurs pistes, elles sont organisées en arborescences dont chaque chemin du sommet à une feuille constitue une piste. Cette structure de données permet de garder en mémoire plusieurs hypothèses d’association le temps d’accumuler suffisamment d’information pour discriminer la piste la plus vraisemblable. Notons z j k la j-ème observation du k-ème scan et Zi représente la i-ème piste d’un ensemble. La Figure 8.6 fournit un exemple d’arborescence dont le sommet est la 3ème observation du scan 1. Cet ensemble de pistes ne peut correspondre qu’à un seul objet au plus (celui dont est issue l’observation z 3 1 ). Pour l’objet représenté par cette piste, huit pistes sont possibles et exclusives les unes des autres : Z1 : z 3 1 -z 6 540-z 4 4320, Z2 : z 3 1 -z 6 540-z 1 4320, Z3 : z 3 1 -z 1 540-z 2 4860, Z4 : z 3 1 -z 1 540-z 5 4860, Z5 : z 3 1 -z 1 540-z 6 4860, Z6 : z 3 1 -z 1 540-z 4 4320-z 5 4860, Z7 : z 3 1 -z 1 540-z 4 4320-z 1 4860, Z8 : z 3 1 -z 1 540-z 4 4320-z 3 4860. Ces pistes peuvent également ne représenter aucun objet notamment si l’observation 1218.1 Principe du Track-Oriented Multiple Hypothesis Tracker (TO-MHT) z 3 1 z 6 540 z 4 4320 ∅ z 1 4320 ∅ z 1 540 ∅ z 2 4860 z 5 4860 z 6 4860 z 1 4320 ∅ 4 z 5 4860 z 1 4860 z 3 4860 Scan 1 Scan 540 Scan 4320 Scan 4860 Figure 8.6 – Exemple d’arborescence. Les pistes ne sont pas nécessairement prolongées avec des observations à chaque scan. z 3 1 est une fausse alarme. N-scan pruning Le N-scan pruning est une méthode empirique qui consiste à supprimer les ramifi- cations antérieures aux N associations donnant lieu à la piste de meilleur score : il est en effet possible qu’une piste confirmée soit associée avec une fausse alarme, ce qui peut alors provoquer une divergence de l’algorithme de Gauss-Newton lors de la mise-à-jour de l’état et entraîner ainsi la suppression de la piste et la perte d’un objet déjà catalogué. Pour éviter cela, il convient de permettre la prolongation d’une piste à partir de son dernier élément mais également à partir des éléments situés en amont (jusqu’à un certain rang N). Dans notre cas, choisir N = 2, c’est-à-dire autoriser les ramifications d’une piste confirmée pour les deux derniers éléments de la piste, suffit. Notons également que dans le cas classique, les éléments constituant une piste appartiennent à des scans successifs, ce qui n’est en général pas le cas dans un contexte d’observations isolées. L’algorithme de N-scan pruning proposé dans [17] initialise de nouvelles pistes à partir des nœuds supprimés dans notre exemple de la Figure 8.7. Cela n’est pas jugé utile dans notre étude étant donné la grande vraisemblance des pistes confirmées. Suppression des pistes selon leur probabilité au niveau global Confronter les pistes issues de solutions faisables {Si} peut se faire en général par le calcul d’une probabilité d’occurrence dans les solutions obtenues grâce à l’équation (8.9), où J désigne le nombre de solutions extraites du cluster et LSi le score de la solution Si . 122Chapitre 8 : Intégration du traitement multicible z 3 1 z 6 540 z 4 4320 ∅ z 1 4320 ∅ z 1 540 ∅ z 2 4860 z 5 4860 z 6 4860 z 1 4320 ∅ 4 z 5 4860 z 1 4860 z 3 4860 Scan 1 Scan 540 Scan 4320 Scan 4860 Figure 8.7 – Exemple d’application du N-scan pruning sur une piste. Les nœuds verts forment les pistes confirmées, les nœuds entourés de bleu sont les extrémités des pistes que l’on s’autorise à prolonger (grâce aux états associés) et les nœuds barrés d’une croix rouge sont supprimés. P(Z) = X Si∋Z e LSi 1 + P J j=1 e LSj (8.9) Les pistes dont la probabilité d’occurrence est en dessous d’un certain seuil sH peuvent alors être supprimées. Nous voyons en Section 8.1.4 que la log-vraisemblance d’une piste en cours d’initialisation (disposant d’un vecteur d’état X4) n’est pas représentative de la qualité d’association. Cela impacte fortement les performances de cette méthode de filtrage par calcul de probabilité “globale” : par exemple, il est possible voire fréquent de traiter un cluster contenant des pistes confirmées de scores égaux à 5, par exemple, et des pistes en cours d’initialisation, de scores nul (cf. Chapitre 7). Exemple A : le cluster contient deux pistes incompatibles Z1 et Z2 (liées par une observation commune) de scores LZ1 = 0 et LZ2 = 5. Trois solutions sont faisables : S1 = {Z1}, S2 = {Z2}, S3 = {∅} et leurs scores sont LS1 = 0, LS2 = 5, LS3 = 0. Les probabilités globales de Z1 et de Z2 sont alors P(Z1) = 0, 007 et P(Z2) = 0, 97. Exemple B : le cluster contient deux pistes compatibles Z1 et Z2 (se trouvant dans le même cluster car une piste Z3 est incompatible avec Z1 et Z2) de scores LZ1 = 0 et LZ2 = 5. Quatre solutions sont faisables à partir de Z1 et Z2 : S1 = {Z1}, S2 = {Z2}, S3 = {Z1, Z2}, S4 = {∅} et leurs scores sont LS1 = 0, LS2 = 5, LS3 = 5, LS4 = 0. Les probabilités globales de Z1 et de Z2 sont alors P(Z1) = 0, 5 et P(Z2) = 0, 99. Dans ces deux exemples, nous constatons que le calcul de probabilité globale peut mener à une conclusion catégorique (Exemple A), c’est-à-dire que la piste de plus faible vraisemblance pourrait être supprimée car elle est incompatible avec une piste de forte vraisemblance, ou à une conclusion neutre (Exemple B) nullement informa- 1238.1 Principe du Track-Oriented Multiple Hypothesis Tracker (TO-MHT) tive. Une conclusion si catégorique est également peu informative compte tenu des scores individuels des pistes. Les vraisemblances des pistes confirmées prenant de fortes valeurs, cette méthode reviendrait à supprimer toutes les pistes en cours d’initialisation (score faible) et incompatibles avec la piste de plus fort score, ce qui revient à réduire la piste entière à la première piste permettant la convergence d’un algorithme de Gauss-Newton suivie d’une association valide (l’incrément ∆L est grand). Le même résultat serait obtenu avec une méthode de N-scan pruning pour N = 1. Par conséquent, nous déduisons de ces exemples simples que le processus de suppression de pistes par calcul de probabilités globales n’est pas adapté dans un contexte de forte disparité de scores entre les pistes non-confirmées. Nous choisissons cependant de ne pas initialiser une piste à partir d’une observation si celle-ci est associée à une piste confirmée car le score d’une piste confirmée permet d’avoir une très grande certitude quant à la conformité des associations. En revanche, la méthode du N-scan pruning, plus appropriée, est implémentée dans le cadre de cette étude. 8.1.7 Mise-à-jour des états À chaque itération, les états des pistes prolongées et survivantes sont mis à jour : – Quand la piste ne contient qu’une unique observation, l’état n’est pas calculable et aucune mise-à-jour n’est effectuée. – Quand la piste contient deux observations, alors la méthode d’IOD présentée au Chapitre 6 est utilisée et la piste est dotée d’un vecteur d’état X4 et d’une matrice de covariance associée. – Quand la piste contient trois observations, alors un algorithme de Gauss-Newton est effectué avec pour valeur initiale X4. Dans le cas d’une convergence, la piste est dotée d’un vecteur d’état X7. Dans le cas d’une divergence selon les critères définis au Section 7.4, la troisième observation de la piste est dissociée. 8.1.8 Fusion de pistes Un algorithme de pistage multicible peut générer des pistes redondantes, c’est-à-dire des pistes différentes produisant des états similaires ou proches associés à une même cible. Pour réduire au mieux le nombre de pistes redondantes, nous définissons une mesure de similarité (distance de Mahalanobis) [30] entre les états de deux pistes en utilisant les estimées des vecteurs d’état et des covariances associées : si cette similarité est supérieure à un certain seuil, alors la piste de plus faible score est supprimée. D’autres algorithmes sont disponibles dans la littérature, comme par exemple des méthodes de réduction de mélange gaussien [64] qui consistent à trouver le mélange d’un minimum de gaussiennes qui représente le mieux le mélange gaussien obtenu à partir des états d’un ensemble de pistes, mais le besoin (modeste) de fusion de 124Chapitre 8 : Intégration du traitement multicible pistes pour l’implémentation du TO-MHT ne justifie pas l’utilisation de méthodes aussi sophistiquées. Dans le cadre de cette étude, nous renonçons à fusionner les pistes en cours d’initialisation car les états calculés sont biaisés. Cela implique d’une part un biais dans la distance de Mahalanobis si celle-ci est utilisée comme mesure de similarité et d’autre part que l’on ne dispose pas d’un outil d’évaluation de qualité performant. En revanche, la distance de Mahalanobis et la log-vraisemblance fournissent une approche efficace pour la fusion éventuelle de deux pistes confirmées, car ces pistes sont dotées d’états bien définis et peu biaisés sur des fenêtres de temps relativement larges (quelques jours). Cette dernière approche est implémentée dans le cadre de cette étude et permet une fusion de pistes efficace. 8.2 Évaluation des performances L’implémentation proposée est mise en œuvre pour cataloguer un échantillon d’objets issus du catalogue Space-Track. Les détections de ces objets sont simulés dans l’hypothèse du capteur défini au Chapitre 2 : nous simulons les observations issues d’un radar sol fournissant des mesures de position (ρ, θ, φ) avec des précisions de σρ =30 m et σθ = σφ =0,2˚, situé à 45˚N et dont la ligne de visée est orientée vers le Sud avec une élévation de 20˚, utilisant un FOR de 160˚×2˚avec une période de revisite de 10 s et un taux de fausse alarme de 1 FA/s. 8.2.1 Choix des critères d’évaluation Quatre critères principaux d’évaluation de performances pour un algorithme de catalogage : la couverture, le coût de calcul, la précision et la réactivité (cf. Problé- matique). Dans cette étude, nous nous concentrons sur les objets non-manœuvrants car les objets manœuvrants peuvent être suivis par des systèmes existants. La réactivité n’est donc pas a priori le premier critère à satisfaire car la dynamique des débris spatiaux est relativement déterministe. En revanche, cela est à nuancer car détecter l’apparition de nouveaux débris le plus tôt possible peut être utile tant dans un contexte civil que militaire. La précision des orbites en sortie d’un algorithme de catalogage pourrait quant à elle être améliorée grâce à des méthodes d’estimation plus efficaces ou à un modèle dynamique plus précis, ce qui n’est pas le centre de nos préoccupations dans cette étude. Les critères de couverture et de coût de calcul sont alors nos principaux critères de performance. Dans cette thèse, la couverture est évaluée en mesurant la proportion d’objets catalogués (i.e. dont les pistes sont initialisées et mises à jour) en fin de simulation vis-à-vis du nombre d’objets simulés observés au moins une fois par le capteur. Sachant que les objets du catalogue Space-Track sont issus d’un système de capteurs réel (le SSN américain, cf. Chapitre 1), cataloguer 100% de ces objets en simulation reviendrait à atteindre les performances effectives du SSN américain en termes de 1258.2 Évaluation des performances couverture. L’évolution temporelle de ce rapport permet également d’évaluer la ré- activité dans une certaine mesure en mesurant le temps nécessaire pour atteindre une certaine proportion d’objets catalogués. Quant au coût de calcul, il est reflété dans une certaine mesure par la mémoire occupée par les pistes confirmées ou en cours d’initialisation, c’est-à-dire le nombre instantané d’hypothèses d’association à traiter. Évaluer le coût de calcul n’étant pas trivial, nous consacrons le Chapitre 9 à son étude. D’autres critères moins essentiels, tels que le taux de redondance ou la pureté des pistes (taux de fausses alarmes dans une piste confirmée), permettent de garantir le bon fonctionnement de l’algorithme dans son ensemble. 8.2.2 Choix des scénarios de test Avec en moyenne quatre passages dans le champ de veille par objet en 32 heures, simuler des objets du catalogue Space-Track sur une période de 6 jours est suffisant. Afin de pouvoir effectuer les tests en un temps raisonnable, nous simulons des échantillons de plusieurs centaines (400, 500, 600, 700 et 800) d’objets issus du catalogue Space-Track. Ces objets sont choisis tels qu’ils sont tous observés sur des scans contigus lors de la simulation de la totalité des objets du catalogue Space-Track. Cela permet d’éviter les objets qui seraient sur des orbites en opposition de phase et qui ne constitueraient pas une difficulté de pistage. Dans cette logique, nous avons sé- lectionné tous les objets passant dans le champ de veille du capteur simulé sur une durée d’environ 9 minutes. 8.2.3 Dégradation des observations Le capteur fournit des observations de position (ρ, θ, φ) associées à des erreurs de mesure à σρ=30 m et σθ = σφ=0,2˚. Les observations simulées sont individuellement bruitées (bruit gaussien) de manière indépendante sur chaque dimension. Une étude de robustesse au bruit de mesure en distance σρ est conduite en Section 8.2.6 car la précision de la mesure en distance est conditionnée par la largeur de bande disponible pour l’émission du signal radar, ce qui peut avoir un impact important sur la faisabilité du système compte tenu de contraintes environnementales. Nous fixons également un taux de Fausse Alarme (FA) de 1 FA/s équivalent à 10 FA/Scan en moyenne. 10 FA sont donc ajoutées sur chaque scan contenant au moins une détection issue d’un objet. Cela permet d’éviter de traiter des scans ne contenant que des FA tout en gardant une densité de détection élevée sur les scans informatifs : quand l’ensemble des objets du catalogue est simulé (environ 11 000 objets en orbite basse), on obtient en moyenne 18,95 détections par scan (8,95 détections sont alors issues d’un objet) et nous obtenons 11,26 détections par scan dans le cas d’un échantillon de 500 objets, ce qui est du même ordre de grandeur. Enfin, la probabilité de détection est fixée à PD = 1 dans un premier temps, et une étude de robustesse aux valeurs non-unitaires de PD est menée par la suite en 126Chapitre 8 : Intégration du traitement multicible Section 8.2.6. 8.2.4 Évolution temporelle des critères de performance principaux Couverture À chaque instant simulé, nous évaluons le nombre d’objets catalogués et suivis rapporté au nombre total d’objets simulés sans redondance. L’évolution temporelle de la proportion obtenue est représentée en Figure 8.8. 0 1 2 3 4 5 6 0 20 40 60 80 100 Temps (jours) Proportion d’objets suivis (%) 400 objets 500 objets 600 objets 700 objets 800 objets phase d’initalisation phase de mise-à-jour Figure 8.8 – Évolution temporelle du taux d’objets catalogués sans redondance. Nous observons trois phases dans l’évolution du taux d’objets suivis au cours du catalogage : – une phase d’amorçage entre 0 et 0,5 jours, pendant laquelle les pistes sont formées et accumulées sans qu’aucune piste ne dispose d’assez d’observations pour que sa qualité soit jugée suffisante pour la confirmer, – une phase de transition entre 0,5 et 3 jours (formant une phase d’initialisation avec la phase d’amorçage), pendant laquelle la majorité des objets sont catalogués, – une phase de mise-à-jour à partir de 3 jours, pendant laquelle les objets catalogués sont suivis et maintenus, tandis que de nouveaux objets donnant lieu à des observations moins fréquentes sont acquis progressivement. En 6 jours de temps simulé, nous atteignons dans tous les scénarios un taux d’objets catalogués de l’ordre de 85%. Cela est pertinent avec le taux de rappel obtenu dans l’évaluation de la méthode d’initialisation (86,29%) présentée au Section 7.5. Ce résultat ne permet pas d’estimer une valeur de couverture maximale ; il faudrait pour cela effectuer des simulations sur des intervalles de temps plus longs. Mémoire utilisée Le nombre de nœuds contenus dans l’ensemble des pistes existantes (cf. Figure 8.6) est évalué à chaque instant. Nous constatons que dans tous les scénarios le nombre de nœuds mémorisés stagne après environ 1 jour de temps simulé. Cela correspond au temps d’expiration texp. fixé à 24 h qui permet la suppression de pistes en cours d’initialisation n’étant corrélée à 1278.2 Évaluation des performances 0 1 2 3 4 5 6 0 2 4 ·104 Temps (jours) Nombre de nœuds en mémoire 400 objets 500 objets 600 objets 700 objets 800 objets Figure 8.9 – Évolution temporelle du nombre de nœuds gardés en mémoire au cours du catalogage. aucune nouvelle observation dans un intervalle de temps texp.. Ces courbes prouvent que la suppression de pistes permet de garder sous contrôle la mémoire nécessaire à l’algorithme. 8.2.5 Évolution temporelle des critères de performance annexes Quelques critères annexes permettent de vérifier le bon fonctionnement de l’algorithme implémenté tels que la redondance et les pertes de pistes confirmées. Redondance Nous évaluons la redondance des pistes confirmées, c’est-à-dire la proportion de pistes se rapportant à un même objet dans le scénario le plus vraisemblable. 0 1 2 3 4 5 6 0 1 2 Temps (jours) Proportion de pistes redondantes (%) 400 objets 500 objets 600 objets 700 objets 800 objets Figure 8.10 – Proportion de pistes se rapportant à un même objet dans le scénario le plus vraisemblable. 128Chapitre 8 : Intégration du traitement multicible La redondance reste inférieure à 1% sur la plupart du temps et tend à diminuer en fin de simulation. Ce paramètre prouve le bon fonctionnement des fonctions de fusion de pistes, notamment. Pertes Le taux de pertes (c’est-à-dire le taux d’objets suivis puis perdus) permet d’évaluer la robustesse de la méthode de suivi des objets. 0 1 2 3 4 5 6 0 1 2 Temps (jours) Taux d’objets perdus (%) 400 objets 500 objets 600 objets 700 objets 800 objets Figure 8.11 – Taux d’objets perdus cumulé. Nous observons un taux de pertes très faible : en effet, le taux de perte moyen sur 6 jours pour le scénario le plus défavorable (800 objets) est inférieur à 1% du cumul des pistes confirmées appartenant au scénario le plus vraisemblable au cours de la simulation. Ce paramètre est de plus pessimiste car il ne tient pas compte des objets re-catalogués par la suite. 8.2.6 Sensibilité des paramètres de dimensionnement du radar Influence de la probabilité de détection moyenne PD Il s’agit ici d’évaluer l’impact d’une dégradation du Rapport Signal à Bruit (RSB), ou d’une diminution de la puissance émise, qui se traduit par une diminution de la probabilité de détection moyenne PD (associée à un RSB et une distance de référence). Notons que la probabilité de détection dépend de nombreux facteurs liés au radar, aux conditions d’observation ainsi qu’à l’objet lui-même et notamment à sa Surface Équivalente Radar (SER). Dégrader le RSB peut donc conduire à rendre inaccessibles certains objets de SER faible. Cependant, supposer que la probabilité de détection associée à chaque situation est égale à une probabilité de détection moyenne PD nous permet de ne pas dimensionner d’autres paramètres du radar. Nous évitons ainsi de faire d’autres choix de dimensionnement qui constitueraient autant d’hypothèses fortes. Les performances de l’algorithme en fonction de la probabilité de détection moyenne PD sont alors évaluées dans un but de conception pour déterminer une valeur de 1298.2 Évaluation des performances PD permettant un catalogage conforme à des spécifications éventuelles et en déduire (si le même travail est effectué pour déterminer une valeur de probabilité de fausse alarme PF A) une valeur de RSB conditionnant la conception du capteur physique. 0 1 2 3 4 5 6 0 20 40 60 80 100 Temps simulé (jours) Proportion d’objets suivis (%) PD = 0, 6 PD = 0, 7 PD = 0, 8 PD = 0, 9 PD = 1 Figure 8.12 – Évolution du nombre d’objets catalogués en fonction du temps pour différentes probabilités de détection pour un scénario de 500 objets. Nous observons sur les courbes de la Figure 8.12 qu’une probabilité de détection moyenne PD plus faible dégrade principalement la réactivité du système de catalogage simulé. En effet, une diminution de la probabilité de détection fait diminuer le taux de couverture final (à la fin des 3 jours simulés) de quelques points de pourcentage dans nos hypothèses de travail. 0 1 2 3 4 5 6 0 1 2 3 ·104 Temps simulé (jours) Nombre de nœuds en mémoire PD = 0, 6 PD = 0, 7 PD = 0, 8 PD = 0, 9 PD = 1 Figure 8.13 – Évolution temporelle du nombre de nœuds gardés en mémoire au cours du catalogage pour différentes probabilités de détection pour un scénario de 500 objets. La Figure 8.13 met en évidence deux phénomènes : pour PD compris entre 1 et 0,8, on observe une diminution du nombre de nœuds gardés en mémoire que l’on peut attribuer à la diminution du nombre d’observations disponibles ; pour PD compris entre 0,8 et 0,7, on observe une progression plus lente vers un palier plus élevé. On en déduit par conséquent qu’il existe une valeur critique de PD comprise entre 0,7 et 130Chapitre 8 : Intégration du traitement multicible 0,8 qui dégrade non seulement la réactivité mais augmente également la complexité combinatoire. Influence de la précision de mesure de distance σρ La précision de la mesure en distance dépend de la bande de fréquence disponible pour le signal émis. Celleci est en général allouée en fonction de paramètres extérieurs comme par exemple des contraintes environnementales. L’étude de la robustesse de l’algorithme à la dégradation de la précision de mesure en distance permet alors de déterminer la précision en distance minimale (et donc la plus petite bande en fréquence) nécessaire au bon fonctionnement de l’algorithme de catalogage. 0 1 2 3 4 5 6 0 20 40 60 80 100 Temps simulé (jours) Proportion d’objets suivis (%) σρ = 30 m σρ = 100 m σρ = 1 Km σρ = 10 Km σρ = 50 Km Figure 8.14 – Évolution du nombre d’objets catalogués en fonction du temps pour différentes précisions en mesure de distance pour un scénario de 500 objets. 0 1 2 3 4 5 6 0 2 4 ·104 Temps simulé (jours) Nombre de nœuds en mémoire σρ = 30 m σρ = 100 m σρ = 1 Km σρ = 10 Km σρ = 50 Km Figure 8.15 – Évolution temporelle du nombre de nœuds gardés en mémoire au cours du catalogage pour différentes précisions en mesure de distance pour un scénario de 500 objets. Les performances de l’algorithme sont maintenues pour les valeurs de σρ inférieures à 1 Km et sont légèrement dégradées pour σρ = 10 Km. Les performances chutent pour σρ = 50 Km. Pour σρ = 50 Km, nous constatons par ailleurs que le taux 1318.3 Conclusion du chapitre d’objets suivis cumulé (c’est-à-dire tous les objets catalogués à un instant, qu’ils soient suivis ou perdus par la suite) avoisine les 72% en 6 jours. Environ 15% des objets sont alors suivis puis perdus en 6 jours. Pour σρ = 10 Km, seulement 3% des objets simulés sont suivis puis perdus en 6 jours. Nous en déduisons que la forte dégradation des performances dans le cas où σρ = 50 Km serait à attribuer à un manque de robustesse des fonctions de suivi et non à un manque de robustesse des fonctions d’initialisation. En revanche, la combinatoire semble fortement impactée par une dégradation de la précision de mesure en distance au-delà de σρ = 10 Km. 8.2.7 Conclusion des tests de performance L’évaluation de la robustesse de l’algorithme de catalogage proposé permet de constater les points suivants : – Les performances en couverture finale de l’algorithme d’initialisation ne semblent pas être impactées de manière significative par une dégradation de PD ou de σρ (nous attribuons la dégradation de performances à un manque de robustesse de la fonction de suivi dans le cas σρ = 50 Km). – La réactivité, en revanche, est relativement sensible à la dégradation de PD, – Les performances en complexité combinatoire semblent modérément impactées par une dégradation de PD et fortement impactées par une dégradation de σρ au-delà d’un certain seuil. Dans cette thèse, nous considérons un radar monostatique à émission pulsée (fournit une mesure de distance). Cette analyse montre que l’algorithme proposé pourrait également être utilisé avec un système radar bistatique à émission continue sans mesure de distance (cf. Chapitre 2) : en effet, le bistatisme d’un tel radar permet de calculer une intersection entre le champ de veille et la ligne de visée du récepteur. Dans le cas d’un champ de veille étroit, cette intersection définit un segment de taille relativement étroite en fonction de la géométrie du triangle bistatique et du champ de veille. Une valeur de σρ de 10 Km (les performances sont faiblement dégradées pour cette valeur en termes d’initialisation et de suivi), définit une loi gaussienne dont le support (centré) à 0,997 est un segment de 60 Km, qui pourrait être de l’ordre de l’intersection mentionnée. Cela appuie la pertinence de l’algorithme de catalogage proposé pour une utilisation avec un radar bistatique à émission continue et à champ de veille réduit. 8.3 Conclusion du chapitre La méthode d’initialisation de pistes proposée aux Chapitre 6 et Chapitre 7 est mise en œuvre dans un contexte multicible grâce à un Track-Oriented Multiple Hypothesis Tracker (TO-MHT) que nous adaptons aux particularité du problème de catalogage par observations isolées (par des ajustements de l’algorithme classique justifiés par l’analyse de résultats intermédiaires ou par d’autres constats). 132Chapitre 8 : Intégration du traitement multicible Les performances obtenues pour des scénarios de plusieurs centaines d’objets permettent de valider l’efficacité de l’algorithme d’initialisation proposé et appuient la faisabilité du système de catalogage proposé en évaluant notamment : – un taux de couverture de l’ordre de 80-85% au moins pour les scénarios simulés, – une complexité combinatoire gardée sous contrôle, – une réactivité de l’ordre de quelques jours pour cataloguer plus de 80% des objets présents, – une robustesse aux dégradations des performances de détection (PD) et de précision de mesure de distance (σρ). Nous montrons entre autres que la complexité combinatoire est gardée sous contrôle, mais nous ne sommes pas capables à ce stade de l’appréhender pour des densités de détections plus réalistes. Au chapitre suivant, un modèle de complexité combinatoire permettant d’extrapoler les résultats obtenus est proposé. 133Chapitre 9 Modélisation de la complexité combinatoire Nous présentons dans cette section une méthode permettant d’évaluer la complexité combinatoire en fonction de la densité de détections et de paramètres caractérisant la méthode de catalogage utilisée. La méthode de catalogage est évaluée sur des jeux de données simulés contenant peu d’objets (quelques centaines) par comparaison à une situation réelle où plusieurs dizaines de milliers, voire plusieurs centaines de milliers d’objets seraient présents. Aux densités d’observations testées, le catalogage montre de bonnes performances en termes de couverture mais la complexité combinatoire est difficile à évaluer. Nous mesurons en effet le nombre de nœuds gardés en mémoire au cours du catalogage et l’allure de la courbe présentée en Figure 8.9 est une bonne indicatrice sans pour autant pouvoir garantir un coût de calcul suffisamment faible à des densités de détection plus élevées. Sommaire 9.1 Analyse combinatoire . . . . . . . . . . . . . . . . . . . . . 136 9.1.1 Modélisation paramétrique de la complexité combinatoire 136 9.1.2 Modélisation paramétrique du nombre instantané de nouvelles pistes m(k) . . . . . . . . . . . . . . . . . . . . . . 138 9.2 Calibration du modèle . . . . . . . . . . . . . . . . . . . . 139 9.2.1 Détermination des paramètres liés à la performance du catalogage α, λ et κ . . . . . . . . . . . . . . . . . . . . . 139 9.2.2 Détermination des paramètres liés au temps I1,min, I1,max, I2,min, I2,max, b1 et b2 . . . . . . . . . . . . . . . . . . . . 140 9.2.3 Détermination du coefficient de précision a1,2 . . . . . . . 141 9.3 Extrapolations . . . . . . . . . . . . . . . . . . . . . . . . . 142 9.3.1 Discussion sur la validité des prédictions . . . . . . . . . . 143 9.4 Systèmes à plusieurs capteurs . . . . . . . . . . . . . . . . 144 9.4.1 Système de deux capteurs opposés en longitude . . . . . . 145 9.4.2 Système de deux capteurs de même longitude . . . . . . . 145 9.4.3 Analyse et comparaison de performances . . . . . . . . . . 146 9.5 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . 147 1359.1 Analyse combinatoire 9.1 Analyse combinatoire Le modèle de complexité combinatoire proposé cherche à évaluer le nombre d’algorithmes de Gauss-Newton effectués, c’est-à-dire le nombre de triplets d’observations NC GN formés instantanément au cours du catalogage. L’exécution d’un algorithme de Gauss-Newton lors d’une initialisation de piste est en effet l’élément déterminant la complexité combinatoire car l’estimation d’orbite circulaire et l’estimation d’orbite définitive (par l’algorithme de Gauss-Newton) ont un coût de calcul important lors de l’initialisation. Cependant, l’estimation d’orbite circulaire est effectuée sur chaque paire d’observations disponible (complexité en O(n 2 )) tandis que l’estimation d’orbite définitive se fait à partir de triplets issus des combinaisons possibles de paires et de troisièmes observations (complexité en O(n 3 )). Pour les densités d’observations élevées, l’algorithme de Gauss-Newton est donc exécuté un plus grand nombre de fois. De plus, cet algorithme implique une boucle itérative nécessitant le calcul de matrices jacobiennes, d’inversions de matrices et de produits matriciels. Le calcul le plus coûteux est la propagation d’orbite SGP (fonction fSGP), qui intervient dans le calcul des jacobiennes et dans le calcul des résidus. Dans l’algorithme de GaussNewton implémenté dans le cadre de cette thèse, nous pouvons compter jusqu’à 500 évaluations de la fonction fSGP dans le cas le plus défavorable, contre 15 évaluations pour une transformation non-parfumée. L’algorithme de Gauss-Newton est également utilisé dans la mise à jour de pistes constituées de plus de trois observations, mais le nombre d’utilisations sur de telles pistes est linéaire vis-à-vis nombre d’objets présents. Il est donc inutile d’en tenir compte dans notre modèle, qui permet alors d’évaluer la complexité combinatoire lorsqu’elle est la plus critique, c’est-à-dire lors de l’initialisation. 9.1.1 Modélisation paramétrique de la complexité combinatoire Dans cette étude, les différentes méthodes d’association utilisées pour le catalogage sont équivalentes à un fenêtrage : à partir d’une piste, une fenêtre de validation est calculée pour permettre la corrélation de nouvelles observations. Les fenêtres ont une dimension temporelle, c’est-à-dire qu’elles n’existent que sur un intervalle de temps limité comme l’indique la Figure 9.1. Nous pouvons alors calculer la distribution b1 des intervalles de temps entre la première et la seconde observation d’une piste et la distribution b2 des intervalles de temps entre la seconde observation d’une paire et une troisième observation valide. Ces distributions ont pour supports les intervalles [I1,min, I1,max] et [I2,min, I2,max], respectivement. 136Chapitre 9 : Modélisation de la complexité combinatoire 100 150 200 250 10 20 30 k0 Azimut θ (˚) Élévation φ (˚) k0 + I1,max 100 150 200 250 10 20 30 k0 + I1,min Azimut θ (˚) Élévation φ (˚) k0 + I2,max 100 150 200 250 10 20 30 k1 + I2,min Azimut θ (˚) Élévation φ (˚) Fenêtrage grâce à la OneClass SVM Fenêtrage grâce à la transformation nonparfumée Figure 9.1 – Des observations entre les scans k0 + I1,min et k0 + I1,max sont associées à une observation initiale issue du scan k0. Des observations entre les scans k1 + I1,min et k1 + I1,max sont associées à partir d’une paire d’observations dont la seconde observation est issue du scan k1 ∈ [k0 + I1,min, k0 + I1,max]. Les fenêtres de validation sont caractérisées par leur volume spatio-temporel et ne dépendent donc pas de la densité de détection. Nous notons respectivement a1 et a2 les moyennes du rapport du volume d’une fenêtre VF sur le volume surveillé V pour la première et la deuxième association : a = E  VF V  (9.1) où a désigne a1 ou a2 et VF se rapporte à la méthode de première association ou à la méthode de deuxième association. Ces coefficients évaluent la précision du fenêtrage. En effet, si l’on note m(k) le 1379.1 Analyse combinatoire nombre d’observations présentes au scan k, alors le nombre moyen de corrélations au scan k (si la fenêtre de validation y existe) est égal à a × m(k). Afin d’évaluer le nombre N d’observations corrélées à une piste existante (en cours d’initialisation) grâce à une fenêtre, nous intégrons la quantité a × m(k) selon la distribution des temps de corrélation b : N = a × I Xmax k=Imin b(k)m(k) (9.2) où b correspond à la pondération rendant compte de la distribution temporelle moyenne des corrélations et Imin et Imax désignent respectivement I1,min ou I2,min et I1,max ou I2,max. Le nombre de triplets d’observations futurs NF GN(k0) engendrés par les m(k0) observations du scan k0 peut alors s’écrire sous la forme suivante : N F GN(k0) = m(k0) × a1 I1X,max k1=I1,min b1(k1)m(k0 + k1) × a2 I2X,max k2=I2,min b2(k2)m(k0 + k1 + k2) ! (9.3) Nous cherchons à évaluer le nombre de triplets d’observations NC GN(kn) à l’instant kn, qui s’obtient en remplaçant k0 par kn − k1 − k2 après avoir distribué les termes dépendant de k0 dans la somme la plus imbriquée : N C GN(kn) = a1,2 m(kn) × I2X,max k2=I2,min b2(k2)m(kn − k2) × I1X,max k1=I1,min b1(k1)m(kn − k1 − k2) ! (9.4) avec a1,2 = a1a2. 9.1.2 Modélisation paramétrique du nombre instantané de nouvelles pistes m(k) Lors de l’implémentation de l’algorithme de pistage multicible TO-MHT, nous faisons le choix de ne pas initialiser de nouvelle piste à partir d’une nouvelle observation prolongeant une piste confirmée. Par conséquent, la densité de nouvelles observations disponibles m(k) varie en fonction du nombre d’objets catalogués à un instant k. Dans cette étude, nous modélisons le nombre moyen de nouvelles observations disponibles m(k) en fonction des performances obtenues en simulation et des nombres moyens d’observations associées aux objets réels (mobj.) et aux fausses alarmes (mFA) : 138Chapitre 9 : Modélisation de la complexité combinatoire m(k) = mFA + g(k) mobj. (9.5) où g(k) est la proportion d’observations correspondant à un objet réel non-suivi. Si l’on suppose que l’on initialise les pistes d’une proportion constante des objets non-catalogués NNC(k) à chaque instant, c’est-à-dire que NNC(k + 1) − NNC(k) = λNNC(k) avec NNC(k) le nombre instantané d’objets non-catalogués au scan k et λ une constante de décroissance, la fonction g(k) peut se modéliser de manière simple par une décroissance exponentielle. Les résultats obtenus en Figure 8.8 permettent d’identifier la fonction g(k) telle que : g(k) = α h 1 − e −λ(k−κ)H(k − κ) i (9.6) où α est le taux d’objets catalogués à la fin de la simulation, λ est la constante de décroissance, κ est le délai avant que les premiers objets soient catalogués et H est la fonction d’échelon unitaire. 9.2 Calibration du modèle Les paramètres du modèles sont déterminés grâce à des données issues de la simulation d’échantillons de 500 à 800 objets. 9.2.1 Détermination des paramètres liés à la performance du catalogage α, λ et κ L’algorithme décrit au Chapitre 8 est utilisé sur les données simulées à partir du catalogue. Cela nous permet de déterminer les valeurs de α, λ et κ en ajustant g(k) aux courbes de la Figure 8.8. 0 1 2 3 4 5 6 0 20 40 60 80 100 Temps simulé (jours) Proportion d’objets suivis (%) Courbe observée Courbe g(k) ajustée Figure 9.2 – Exemple d’ajustement de g(k) pour les points de la courbe observée correspondant au catalogage de 500 objets. 1399.2 Calibration du modèle Nous obtenons les valeurs suivantes : α (%) λ (j−1 ) κ (j) 500 objets 81,85 1,39 0,83 600 objets 80,50 1,21 0,83 700 objets 82,11 1,28 0,87 800 objets 82,50 1,30 0,88 Tableau 9.1 – Valeurs de α, λ et κ obtenues pour des scénarios de 500, 600, 700 et 800 objets. Les valeurs de paramètres obtenues pour les courbes associées aux scénarios de 500, 600, 700 et 800 objets sont très proches. Pour ces scénarios, les paramètres du modèle sont donc indépendants du nombre d’objets présents (et donc de la densité de détection associée à la présence d’objets). Nous supposons dans cette section que cela est vrai également pour un nombre quelconque d’objets, bien qu’il faudrait le confirmer pour une plus large plage de densités de détection. 9.2.2 Détermination des paramètres liés au temps I1,min, I1,max, I2,min, I2,max, b1 et b2 Les paramètres sont déterminés à partir de l’application de la méthode d’initialisation de piste sur les observations simulées des objets du catalogue Space-Track sur une durée de 3 jours). Nous pouvons alors observer des valeurs de I1,min, I1,max, I2,min, I2,max, b1 et b2 grâce aux courbes suivantes : 5800 6000 6200 6400 6600 6800 7000 7200 0 0,02 0,04 0,06 0,08 0,1 Intervalle de temps entre la première et la deuxième observation (s) Densité de première corrélation b1 Figure 9.3 – Densité de première corrélation b1 en fonction de l’intervalle de temps entre la première observation et la deuxième observation d’une piste. Nous relevons les valeurs suivantes : I1,min (borne inférieure de b1) = 5 620 s I1,max (borne supérieure de b1) = 7 330 s 140Chapitre 9 : Modélisation de la complexité combinatoire 25000 50000 75000 100000 0 0,02 0,04 0,06 0,08 0,1 Intervalle de temps entre la première et la troisième observation (s) Densité de deuxième corrélation b2 Figure 9.4 – Densité de deuxième corrélation b2 en fonction de l’intervalle de temps entre la première observation et la troisième observation d’une piste. Nous relevons les valeurs suivantes : I2,min (borne inférieure de b2) = 1 380 s I2,max (borne supérieure de b2) = 108 370 s 9.2.3 Détermination du coefficient de précision a1,2 Le coefficient de précision a1,2 peut être estimé en recalant une courbe théorique sur une courbe expérimentale de NC GN(k) (le nombre moyen instantané de triplets d’observations formés), pour un jeu d’observations issues de la simulation de 500 objets et en utilisant les paramètres α, λ, κ, I1,min, I1,max, I2,min, I2,max, b1 et b2 définis en amont. 0 1 2 3 0 1 2 3 4 Temps simulé (jours) Triplets formés N C GN (triplets/s) Courbe observée Courbe théorique Figure 9.5 – Courbe théorique et courbe observée associées à NC GN(k) sur 3 jours (phase d’initialisation). Le coefficient a1,2 est ajusté. La courbe prédite (équation (9.4)) et la courbe observée ont le même gabarit : le 1419.3 Extrapolations palier est d’amplitude égale (cela est le résultat direct de l’ajustement de a1,2) et elle atteignent la même valeur maximale à des instants proches. Nous obtenons les valeurs suivantes : a1,2 500 objets 3, 47.10−2 600 objets 3, 41.10−2 700 objets 3, 46.10−2 800 objets 3, 54.10−2 Tableau 9.2 – Valeurs de a1,2 obtenues pour des scénarios de 500, 600, 700 et 800 objets. Ces valeurs sont très proches et permettent de supposer que a1,2 ne dépend pas de m aux ordres de grandeurs considérés. Le modèle ainsi défini dans cette section permet d’estimer le nombre de triplets d’observations générés à chaque instant à partir d’observations passées et présentes, pour des densités de détection associées à la présence de 500 à 800 objets en orbite et de fausses alarmes. 9.3 Extrapolations Nous posons l’hypothèse que ce modèle et ce paramétrage restent valides pour des densités de détection plus importantes. Nous utilisons le modèle pour prédire la complexité générée par le catalogage des objets en orbite basse du catalogue Space-Track complet (plus de 11 000 objets), puis des 100 000 ou 500 000 objets de plus de 1 cm de diamètre attendus, avec un taux de fausses alarmes de 1 FA/s, soit mFA = 10 FA/scan. mFA (FA/Scan) mobj. (obs./Scan) N C GN max. (GN/s) N C GN palier (GN/s) 11 799 objets 10 8,06 173 56 100 000 objets 10 69,31 11 967 523 500 000 objets 10 341,55 1 041 097 20 243 Tableau 9.3 – Valeurs caractérisant les complexités combinatoires instantanées NC GN(k) pour les prédictions de 11 799, 100 000 et 500 000 objets. Nous distinguons plus nettement sur les courbes des Figure 9.6, Figure 9.7 et Figure 9.8 les deux sources de complexité combinatoire : – La densité d’observations issues d’objets présents ou simulés mobj. entraîne un pic de coût de calcul entre 24 et 30 heures après le début du catalogage. Ce pic est le résultat de l’augmentation du nombre de triplets (hypothèses d’association) avant qu’ils soient éliminés au fur et à mesure que les objets sont catalogués. En effet, 142Chapitre 9 : Modélisation de la complexité combinatoire 0 1 2 3 0 50 100 150 200 Temps (jours) Triplets formés N C GN (triplets/s) Figure 9.6 – Prédiction de la complexité combinatoire instantanée NC GN(k) résultant du catalogage de 11 799 objets en orbite basse (mFA = 10 FA/Scan, mobj. = 8, 06 observations/Scan). 0 1 2 3 0 0.5 1 1.5 ·104 Temps (jours) Triplets formés N C GN (triplets/s) Figure 9.7 – Prédiction de la complexité combinatoire instantanée NC GN(k) résultant du catalogage de 100 000 objets en orbite basse (mFA = 10 FA/Scan, mobj. = 68, 31 observations/Scan). les pistes confirmées associées aux objets catalogués permettent alors d’associer de nouvelles observations sans qu’une nouvelle piste soit initialisée. – La densité d’observations issues de fausses alarmes mFA entraîne un palier vers lequel le nombre de triplets formés instantané semble converger au-delà de 3 jours. En effet, les objets non-catalogués sont en minorité et de nouvelles pistes sont initialisées à partir de fausses alarmes. 9.3.1 Discussion sur la validité des prédictions La précision des complexités combinatoires prédites dans cette section ne sont pas évaluées. Nous devons par conséquent garder à l’esprit les considérations suivantes : – Nous faisons l’hypothèse que les performances de catalogage (α, λ, κ, a1,2) sont constantes pour toute densité de détection m(k). Or en pratique, il est vraisemblable qu’une densité de détection maximale au-delà de laquelle ces performances 1439.4 Systèmes à plusieurs capteurs 0 1 2 3 0 0.5 1 1.5 ·106 Temps (jours) Triplets formés N C GN (triplets/s) Figure 9.8 – Prédiction de la complexité combinatoire instantanée résultant du catalogage de 500 000 objets en orbite basse (mFA = 10 FA/Scan, mobj. = 341, 55 observations/Scan). se dégradent fortement existe, bien que nous ne sachions pas déterminer théoriquement sa valeur. – D’autres phénomènes impactant la complexité combinatoire peuvent exister mais ne pas être observables aux densités de détections utilisées pour le paramétrage du modèle, – Les hypothèses limitatives (excentricités des orbites faibles, altitudes bornées) que nous adoptons peuvent également avoir un impact sur la complexité combinatoire. Par conséquent, les prédictions effectuées peuvent se révéler imprécises et le risque qu’elles le soient augmente quand la valeur de mobj. utilisée pour la prédiction s’éloigne des valeurs utilisées pour la calibration (valeurs de mobj. associées aux scénarios simulés de 500, 600, 700 et 800 objets). Ces prédictions sont cependant informatives quant à l’intérêt de la méthode de pistage proposée en fournissant un ordre de grandeur de la complexité combinatoire de l’étape la plus coûteuse en temps de calcul. 9.4 Systèmes à plusieurs capteurs Les hypothèses faites dans cette étude permettent de supposer que le coût de réalisation du capteur physique est limité. De ce fait, un système à plusieurs capteurs pourrait être une option envisageable dans le but d’améliorer le critère de couverture, de complexité combinatoire ou encore de réactivité. Par exemple, le Space Surveillance Network (SSN) américain intègre plusieurs capteurs et le nouveau capteur de surveillance américain à l’étude prévoit deux ou trois sites répartis à la surface du globe. Nous disposons à ce stade des outils permettant une évaluation préliminaire de l’apport d’un second capteur identique au premier. Pour cela, nous évaluons les deux critères de performance que nous considérons essentiels pour le catalogage, à savoir la couverture et la complexité combinatoire, avec des observations simulées 144Chapitre 9 : Modélisation de la complexité combinatoire issues de deux systèmes de deux capteurs identiques en entrée de l’algorithme. L’optimisation du positionnement des deux capteurs est une question difficile qui peut faire l’objet de nombreux travaux. Dans le cadre de ces travaux, nous étudions uniquement les performances de catalogage de deux systèmes dont les deux capteurs sont positionnés sur des longitudes opposées ou sur une même longitude. 9.4.1 Système de deux capteurs opposés en longitude L’étude concernant les intervalles de temps entre paires d’observations initiales et troisièmes observations montre qu’un grand nombre de troisièmes observations candidates correspondent à une ascendance opposée à celle de la paire d’observations initiale (cf. Figure 7.7). Nous pouvons alors en déduire que situer un second capteur sur une longitude opposée au premier (cf. Figure 9.9) permettrait de réduire le temps nécessaire à l’observation d’une troisième observation correcte et ainsi accélérer la suppression des fausses pistes. Pour le second capteur, nous choisissons une latitude identique à celle du premier capteur. Cela permet de générer des paires d’observations grâce aux mêmes données que celles extraites grâce à la SVM (cf. Chapitre 6). Figure 9.9 – Schéma représentant les champs de veille de deux capteurs identiques positionnés à des longitudes opposées. 9.4.2 Système de deux capteurs de même longitude L’observabilité de l’orbite associée à un objet dépend en particulier des positions relatives (dans le temps et dans l’espace) des observations disponibles dans un réfé- rentiel ECI. Situer un second capteur sur une même longitude à une latitude proche permettrait d’associer rapidement une troisième observation associée à une portion d’orbite différente pour améliorer l’observabilité de l’orbite, tout en ayant les trois observations plus espacées spatialement dans un référentiel ECI. Nous choisissons de ne pas générer de paires d’observations à partir du second capteur afin de mieux évaluer son apport. La Figure 9.10 schématise cette configuration. L’initialisation de pistes est effectuée de manière indépendante avec chaque capteur comme l’indique la Figure 9.11, la corrélation d’une observation initiale avec une observation issue d’un autre capteur constituant un sujet d’étude en soi. 1459.4 Systèmes à plusieurs capteurs Figure 9.10 – Schéma représentant les champs de veille de deux capteurs identiques positionnés à une même longitude. Capteur 1 Capteur 2 Association initiale Association initiale Recherche d’orbite initiale X4 puis d’une orbite définitive X7 Figure 9.11 – L’initialisation est faite de manière indépendante sur les observations de chaque capteur. Les pistes interfèrent lorsqu’elles disposent d’une orbite circulaire X4. 9.4.3 Analyse et comparaison de performances Nous évaluons et comparons les critères de performance essentiels, à savoir la proportion d’objets suivis et le nombre instantané de triplets formés au cours du temps, pour un scénario de 500 objets simulés avec l’ajout de fausses alarmes. 0 1 2 3 0 20 40 60 80 100 Temps (jours) Proportion d’objets suivis (%) 1 capteur 2 capteurs opposés en longitude 2 capteurs de même longitude Figure 9.12 – Évolution temporelle de la proportion d’objets suivis pour un système à un capteur et pour deux systèmes à deux capteurs. La Figure 9.12 montre que la réactivité est améliorée de manière significative grâce à la présence d’un second capteur : la phase d’initialisation pour les systèmes à deux capteurs est réduite de moitié (le seuil de 80% est atteinte en 2 jours contre 4 pour le système à un capteur). 146Chapitre 9 : Modélisation de la complexité combinatoire 0 1 2 3 0 5 10 Temps (jours) Triplets formés (triplets/s) 1 capteur 2 capteurs opposés en longitude 2 capteurs de même longitude Figure 9.13 – Évolution temporelle du nombre instantané de triplets formés pour un système à un capteur et pour deux systèmes à deux capteurs. La Figure 9.13 montre en revanche que la complexité combinatoire est plus forte pour les systèmes à deux capteurs. Un second capteur implique en effet un plus grand nombre d’observations à combiner par unité de temps, ce qui implique une complexité supplémentaire qui n’est pas compensée par l’accélération espérée de la suppression de pistes incorrectes. Nous remarquons également que la complexité combinatoire associée au système de deux capteurs opposés en longitude est signi- ficativement plus élevée que celle associée au système dont les deux capteurs sont situés sur une même longitude. Cela pourrait être dû à une durée de vie des fausses pistes beaucoup plus courte dans le second cas, car la troisième association se ferait plus tôt pour les pistes correctes. Nous pouvons déduire de cette courte analyse que la réactivité peut être augmentée de manière significative grâce à un second capteur au détriment de la complexité combinatoire. 9.5 Conclusion du chapitre Nous avons étendu la méthode d’initialisation de pistes proposée au Chapitre 6 dans un contexte multicapteurs. La complexité combinatoire intrinsèque au système (capteur(s) physique(s) et méthode de catalogage) a été extrapolée à des densités de détection plus élevées que celles disponibles en simulation grâce à un modèle simple permettant de prédire le nombre instantané de triplets d’observations formés (et donc d’exécutions de l’algorithme de Gauss-Newton liées à l’initialisation de piste et à la découverte d’objets). Grâce à ces prédictions, nous pouvons anticiper dans une certaine mesure que la méthode proposée constitue une solution efficace au problème de combinatoire rencontré dans le catalogage par moyens d’observations isolées. La réflexion menée dans ce chapitre permet également de mettre en évidence le compromis entre complexité combinatoire et réactivité : en effet, réduire le nombre total d’observations disponibles par la réduction du champ de veille d’un capteur seul ou d’un ensemble de capteurs permet de réduire de manière importante le 1479.5 Conclusion du chapitre nombre de pistes possibles formées par la méthode proposée, au détriment de la réactivité. Par exemple, l’utilisation de deux capteurs implique une augmentation de la complexité mais un gain significatif en réactivité en réduisant le temps nécessaire à l’accumulation d’observations permettant de rendre une orbite observable. 148Conclusions et perspectives Les travaux menés dans cette thèse portent sur le catalogage de petits débris spatiaux en orbite basse par moyens d’observations isolées. L’étude d’une telle problématique nécessite la compréhension de certains éléments de contexte, comme par exemple les missions affectées à certains capteurs existants (Chapitre 1) ou leurs types et leurs complexités (Chapitre 2), afin d’identifier d’une part une configuration de capteur offrant un bon compromis entre puissance émise et taille des objets détectés (un capteur de complexité accessible), et d’autre part des critères de performances pour évaluer les algorithmes mis en œuvre (couverture, puissance de calcul requise, réactivité, etc.). Des méthodes de traitement de l’information classiques telles que les méthodes de pistage et de détermination d’orbite sont confrontées aux données simulées issues du capteur dont certains paramètres dimensionnants sont choisis au Chapitre 2. Cela permet de dégager une problématique précise, qui met en évidence le manque de techniques d’association initiale d’observations isolées. Au Chapitre 6, nous proposons une méthode d’association d’observations à une révolution d’intervalle exploitant le fait que les objets ne sont observés que sur certaines portions des ellipses définies par leurs orbites. Cela est un levier central permettant de jouer sur le point de compromis entre complexité et réactivité : en identifiant un “motif” particulier de paire d’observations pour initialiser les pistes, nous ignorons un grand nombre de combinaisons d’observations possibles (perte de réactivité) au profit d’une ambiguïté beaucoup plus favorable (diminution de la complexité combinatoire) avec un taux de rappel plus qu’acceptable. Cette méthode est complétée par un calcul d’orbite circulaire approximative permettant de traiter au mieux les paires d’observations résultantes et d’initialiser des pistes de manière efficace. La méthode d’initialisation proposée et évaluée au Chapitre 6 est intégrée dans un algorithme de pistage multicible (le TO-MHT) que nous adaptons aux particularités du problème. Les performances de l’algorithme obtenu sont évaluées notamment en termes de couverture et de réactivité, et l’évaluation de la complexité combinatoire résultante est conduite grâce à un modèle que nous proposons et paramétrons. Ces travaux, présentés au Chapitre 8, prouvent le bon fonctionnement et l’efficacité de l’algorithme de catalogage proposé pour traiter les observations radars issues d’un capteur à champ de veille restreint et ouvrent la voie à plusieurs axes de recherches brièvement discutés dans la suite de ce document. 149Conclusions et perspectives Contributions Une problématique peu connue Cette thèse aborde une problématique scientifique peu connue : le pistage d’objets spatiaux non-coopératifs sous de fortes contraintes d’observation (observations isolées). En effet, de nombreuses études concernant l’estimation de position ou de trajectoire ont été menées en considérant des capteurs inertiels embarqués couvrant les besoins des opérateurs de satellites, ce qui n’implique aucun problème d’association. Dans les cas où l’objet est non-coopératif, les capteurs au sol surveillent une large zone de l’espace, ce qui facilite l’association d’observations sur le long terme. En définitive, le pistage d’objets spatiaux se réduit souvent à des techniques d’orbitographie à partir d’un jeu d’observations nécessairement issues de l’objet d’intérêt ou préalablement associées sur un court terme. Cette thèse fournit alors des éléments pour explorer la problématique de l’association d’observations isolées, les problématiques connexes (contraintes de capteur, dynamique orbitale) ainsi que des méthodes applicables. Une solution originale aux aspects variés La démarche adoptée compartimente les différents aspects du catalogage en abordant les aspects “association” et “estimation” de l’initialisation sous un angle monocible, puis sous un angle multicible par l’implémentation d’un TO-MHT. La méthode de catalogage proposée emprunte et adapte des techniques existantes dans des domaines variés comme par exemple la classification (One-Class SVM), l’optimisation (Gauss-Newton), le pistage monocible (Transformation Non-Parfumée) et le pistage multicible (TO-MHT). Cela démontre que les techniques de traitement de l’information peuvent avoir un rôle central dans un domaine traditionnellement partagé entre les spécialistes de la mécanique orbitale et les radaristes. De plus, l’algorithme est évalué à partir d’objets spatiaux réels (le catalogue SpaceTrack) dont les détections sont simulées dans des hypothèses de capteur physique envisageable et grâce à un modèle dynamique de précision adaptée. Les performances obtenues appuient la faisabilité d’un tel système pour le catalogage de petits objets en orbite basse. L’observabilité, un concept étudié en filigrane Au coeur de ces travaux, nous abordons le concept de l’observabilité d’un état (ou observabilité de l’orbite). L’observabilité de l’orbite d’un objet est en effet au centre de nos préoccupations : nous cherchons tout au long de ces travaux à identifier la quantité d’information disponible minimale permettant la connaissance précise d’une orbite associée à un objet et à gérer la complexité combinatoire due à la non-observabilité d’une orbite lors d’une phase d’initialisation. Lors de la phase d’initialisation du pistage d’un objet, les méthodes proposées permettent d’exploiter au mieux l’information disponible à chaque instant pour en déduire un état partiel : 150– la méthode de première association permet d’exploiter une certaine observabilité issue de l’information portée individuellement par les deux observations isolées afin de réduire l’ambiguïté d’association, – la seconde association exploite une orbite (circulaire) approximative mais dont l’observabilité est forte et permet l’association d’une troisième observation, – enfin, l’algorithme de Gauss-Newton et le SPRT permettent d’atteindre une observabilité forte de l’orbite définitive. Une étude complète Un modèle de complexité combinatoire pour les méthodes de type “fenêtrage” a été proposé afin de vérifier l’efficacité de la méthode de catalogage en termes de temps de calcul. Cela permet d’évaluer ce critère complémentaire au taux de couverture et à la réactivité. De plus, des tests de robustesse à la dégradation de la probabilité de détection PD et de la précision de mesure en distance σρ ont été menés afin d’apporter des éléments préliminaires à d’éventuels travaux futurs. Nous en déduisons par exemple l’existence d’une valeur de σρ au-delà de laquelle la complexité combinatoire augmente fortement et les techniques de suivi doivent être robustifiées. Limites Une implémentation à optimiser La principale difficulté rencontrée dans la problématique de l’association d’observations isolées est d’ordre combinatoire (puissance de calcul limitée). Par conséquent, une implémentation efficace permettrait d’évaluer les performances de l’algorithme de catalogage proposé pour des scénarios comprenant davantage d’objets simulés (nous simulons le catalogage de 800 objets sur 6 jours alors que la simulation du catalogage de plusieurs milliers d’objets serait souhaitable) afin de mieux le valider ou d’observer des phénomènes non-linéaires peu visibles à ces densités de détection. Un modèle dynamique plus précis ainsi qu’un modèle de capteur plus réaliste peuvent être envisagés pour la simulation de détections. Validation du modèle de complexité combinatoire Le modèle de complexité combinatoire est validé grâce à seulement 4 points correspondant aux scénarios de 500, 600, 700 et 800 objets. Une estimation plus fiable des paramètres du modèle pourrait être obtenue avec davantage de données. Par ailleurs, l’exploitation de ce modèle pour prédire une complexité combinatoire instantanée suppose que les performances de l’algorithme ne se dégradent pas pour les densités de détection testées, ce que nous n’avons pu vérifier. 151Conclusions et perspectives Une méthode liée à une hypothèse de capteur La méthode de catalogage proposée est issue d’une réflexion menée à partir de l’hypothèse d’un capteur radar monostatique à émission pulsée dont les paramètres sont fixés au Chapitre 2. La validité de la méthode pour d’autres types de systèmes reste alors à explorer. Par ailleurs, le paramétrage nécessaire au bon fonctionnement de la méthode est relativement difficile, en particulier le paramétrage de la première mé- thode d’association malgré l’utilisation d’une One-Class SVM qui réduit le nombre de paramètres. Perspectives Les travaux menés dans cette thèse ouvrent la voie à plusieurs axes de recherche : – Faire varier sur le nombre de capteurs, leurs positions, la géométrie et l’orientation de leurs champs de veille permet de faire varier un point de compromis entre réactivité et complexité combinatoire sous une contrainte de couverture. – La corrélation entre une observation initiale et une observation issue d’un autre capteur est un sujet d’étude en soi et permettrait d’exploiter pleinement un système à deux capteurs pour réduire la complexité combinatoire. – La méthode proposée est associée à un certain type de capteur (émission pulsée pour mesurer la distance). D’autres types de capteurs pourraient permettre l’utilisation de cette méthode avec des contraintes moins fortes (et donc un coût de conception ou de réalisation plus faible). – Une modélisation plus poussée du coût de calcul nécessaire à la résolution d’un problème de catalogage difficile serait intéressante à des fins de conception. – Enfin, l’étude des performances de la méthode et son adaptation pour cataloguer les objets dont les orbites sont moins représentées dans le catalogue Space-Track (par exemple les objets d’excentricité plus forte) et pour les objets manœuvrants permettrait d’envisager une extension du domaine d’application de la méthode. Extension à un système de capteurs Nous illustrons en Section 9.4 le compromis entre réactivité et complexité combinatoire : davantage d’observations disponibles permettent de cataloguer de nouveaux objets plus rapidement au prix d’une complexité combinatoire plus élevée. Un système de plusieurs capteurs identiques (des capteurs différents impliqueraient autant de travaux de conception différents) peut par conséquent être avantageux mais implique une quantité beaucoup plus importante de paramétrages possibles notamment en termes de nombre de capteurs, de position, de géométrie et d’orientation des champs de veille. Le paramétrage d’un tel système peut être très complexe et né- cessiter le recours à des méthodes d’optimisation permettant d’accéder à un certain nombre de points de compromis selon les performances recherchées. De plus, la corrélation d’observations issues de capteurs différents lors de l’initialisation pourrait permettre de réduire de manière significative la complexité combina- 152toire. Dans notre étude, nous ne traitons en effet que le cas des observations issues du même objet à une révolution d’intervalle, cette caractéristique conditionnant la méthode de corrélation ainsi que le traitement des paires résultantes en aval. Extension à un capteur de différente nature Les tests de robustesse à la dégradation de la précision de mesure en distance σρ présentés en Section 8.2.6 montrent des performances peu dégradées pour des incertitudes de 60 Km à 3σ. Cela permet d’envisager le portage de la méthode de catalogage à d’autres types de capteurs disposant d’une mesure en distance mauvaise, voire inexistante. Par exemple, un radar bistatique à émission continue ne fournit aucune mesure de distance mais l’intersection entre la ligne de visée du ré- cepteur et la zone de l’espace éclairée par l’émetteur pourrait permettre d’encadrer une distance associée à une observation (cf. Figure 9.14). u ECF X u ECF Z T R Up North O Figure 9.14 – Exemple d’intersection entre le champs de veille et une ligne de visée associée à une observation dans le cas d’un radar bistatique. T désigne le transmetteur (ou émetteur) et R désigne le récepteur. La ligne rouge représente une ligne de visée sur laquelle les positions possibles de l’objet détecté sont indiquées par le segment en gras. De plus, ce type de type de système peut fournir une mesure de vitesse radiale qui pourrait être utilisée dans la discrimination d’hypothèses d’association. Modélisation du temps de calcul Nous proposons un modèle de complexité combinatoire pour la méthode de catalogage proposée et pour les méthodes d’association par fenêtrage de manière générale. Ce modèle permet d’estimer le nombre instantané de triplets d’observations formés. En associant à chaque triplet une quantité de calcul, nous pouvons évaluer la puissance calculatoire nécessaire au traitement en “temps réel” des triplets formés. Cette puissance calculatoire ne permet pas pour autant de définir le temps de traitement d’une nouvelle observation par l’algorithme de catalogage proposé. En effet, nous ne prenons pas en compte le temps nécessaire à la formation des pistes, c’est-à-dire à leur mise en mémoire et leur indexation dans une structure de données, car cela dépend essentiellement de l’architecture matérielle utilisée. Par ailleurs, le coût en calcul du traitement des paires d’observations peut ne pas être négligeable en fonction de la densité d’observations : le nombre de paires d’observations varie en O(n 2 ) 153Conclusions et perspectives alors que le nombre de triplets d’observations varie en O(n 3 ). Dans l’hypothèse où le coût de traitement d’une paire est plus élevé que le coût de traitement d’un triplet avec une densité d’observations peu élevée, le temps associé au traitement des paires d’observations pourrait avoir un impact significatif. Une modélisation plus poussée, c’est-à-dire tenant compte des paires d’observations ou faisant l’hypothèse d’une architecture matérielle, pourrait permettre une estimation précise du temps de calcul nécessaire au catalogage d’un scénario difficile à des fins de conception. 154Communications scientifiques Revues avec comité de lecture Castaings, T., Pannetier, B., Muller, F., Rombaut, M., "Track Initiation of Low-Earth-Orbit Objects using Statistical Modeling of Sparse Radar Observations," Soumis le 23 Juillet 2013 à IEEE Transactions on Aerospace and Electronic Systems Conférences avec comité de lecture Castaings, T., Pannetier, B., Muller, F., Rombaut, M., "Sparse data association for Low Earth Orbit tracking," 2012 IEEE Aerospace Conference, Big Sky, Montana, États-Unis Conférences sans comité de lecture Castaings, T., Pannetier, B., Muller, F., Rombaut, M., "Modeling the Combinatorial Complexity of a New Data Association Technique used with Narrow Fence-Type Radar Systems for Small LEO Debris Cataloging," IAF, 64th International Astronautical Congress, Pékin, Chine (2012) Castaings, T., Muller, F., Pannetier, B., Rombaut, M., "Track Initiation using Sparse Radar Data for Low-Earth-Orbit Objects," IAF, 63rd International Astronautical Congress, Naples, Italie (2012) 155Annexes 157Annexe A Filtre optimal par corrélation Pour maximiser le rapport signal à bruit RSB en sortie d’un bloc de mise en forme, on peut construire un filtre optimal (au sens de la maximisation du RSB) par corrélation en considérant le signal a(t) reçu en présence d’une cible et le signal b(t) reçu en l’absence de cible. On suppose que b(t) est un bruit blanc de transformée de Fourier B. Par ailleurs, on appelle h(t) la réponse impulsionnelle du filtre optimal recherché, A(f) et H(f) les transformées de Fourier de a(t) et h(t), respectivement. Après filtrage, la puissance PS du signal reçu en présence de cible s’exprime par (A.1), tandis que la puissance du bruit PB s’exprime par (A.2). PS = Z +∞ −∞ H(f)A(f)df 2 (A.1) PB = B 2 Z +∞ −∞ |H(f)| 2 df (A.2) En appliquant l’inégalité de Cauchy-Schwarz, on obtient une borne supérieure du rapport signal à bruit RSB défini par le rapport des puissances PS et PB et l’on remarque que l’égalité est atteinte si H(f) = A∗ (f), ce qui permet d’exprimer la valeur maximale de RSB selon (A.3). Le filtre optimal est alors le filtre de fonction de transfert H(f) = A∗ (f). RSBmax = PS PB max = R +∞ −∞ |A(f)| 2df B2 (A.3) Soit s(t) le signal temporel obtenu par le filtrage d’un signal reçu quelconque e(t) (contenant un écho et du bruit, ou du bruit seulement) par le filtre de fonction de transfert A∗ (f). Le théorème de Wiener-Khintchine permet d’écrire le signal temporel s(t) tel que (A.4), où T F −1 désigne la transformée de Fourier inverse et cea(t) la fonction de corrélation du signal e(t) avec le signal a(t) attendu en cas de présence d’une cible. s(t) = T F −1 (EA∗ ) = cea(t) (A.4) 159En présence d’une cible, on s’attend à recevoir un signal de forme similaire au signal émis, c’est-à-dire que l’on choisit a(t) égal au signal émis. La corrélation du signal reçu avec le signal émis constitue donc un moyen de filtrage optimal pour la détection. 160Annexe B Passage d’un référentiel terrestre fixe à un référentiel géodésique (et vice-versa) u ECF X u ECF Y u ECF Z S hgéo rfixe φgéo φfixe θfixe = θgéo Figure B.1 – Le système de coordonnées géodésiques utilise un axe orthogonal à un plan tangent passant par un point de la surface du globe pour définir l’altitude hgéo ainsi que la latitude φgéo. Le passage du référentiel géocentrique fixe au référentiel géodésique se fait grâce au formulaire (B.1)-(B.3), où θgéo, φgéo et hgéo sont la longitude, la latitude et l’altitude dans un repère géodésique, θfixe, φfixe et rfixe sont les coordonnées sphériques dans un référentiel géocentrique fixe et f est le facteur d’aplatissement de la Terre. θgéo = θfixe (B.1) φgéo = φfixe + sin(2φfixe) rfixe f + 1 r 2 fixe − 1 4rfixe ! sin(4φfixe)f 2 (B.2) hgéo = rfixe + req 1 − cos(2φfixe) 2 f +  1 4rfixe − 1 16 (1 − cos(4φfixe))f 2 − 1 ! (B.3) 161Le passage du référentuel géodésique au référentiel géocentrique fixe se fait grâce à l’équation (B.4), où N = √ req 1−(2−f 2) sin2 φgéo . rfixe =   (N + hgéo) cos(φgéo) cos(θgéo) (N + hgéo) cos(φgéo) sin(θgéo) (N(1 + f 2 − 2f) + hgéo) sin(φgéo)   (B.4) Les valeurs des paramètres géodésiques utilisées dans ces travaux sont celles du modèle WGS-84 (World Geodetic System) : req = 6 378 137 m f = 1/298,257 223 563 162Annexe C Équivalence entre les paramètres orbitaux képlériens et un couple position-vitesse Il existe une relation bijective entre les paramètres {a, e, i, Ω, ω, ν} et le couple position-vitesse {r, v}. Comme nous le verrons dans le Chapitre 5, certaines techniques d’estimation d’orbite visent alors à calculer la position et la vitesse à un instant t0, à partir des observations disponibles. Les formules de passages présentées ci-après permettent alors de remonter aux paramètres orbitaux képlériens classiques. Réciproquement, les formules de passage des paramètres orbitaux képlériens permettent de prédire des positions et vitesses à partir de paramètres orbitaux. Les formules de passage présentées dans cette section ne sont valables que pour le modèle képlérien classique. En effet, seules les équations de passage des paramètres orbitaux SGP vers un couple position-vitesse sont publiées. Pour le passage inverse, on utilise couramment des méthodes numériques comme le propose Vallado [29] et comme nous le verrons dans le Chapitre 5. Ces formules permettent néanmoins d’appréhender au premier ordre la relation entre les paramètres orbitaux et le couple position-vitesse associés à un objet. C.1 Passage d’un couple position-vitesse vers les paramètres orbitaux képlériens Si l’on dispose d’un couple position-vitesse {r, v}, le formulaire (C.1)-(C.6) permet de calculer les paramètres {a, e, i, Ω, ω, ν}, où les vecteurs ux, uy et uz constituent une base orthogonale dans un référentiel GI et h = r ∧ v et k = uz ∧ h sont des intermédiaires de calcul. 163C.2 Passage des paramètres orbitaux képlériens vers un couple position-vitesse a = µ 2 µ krk − kvk 2 (C.1) e = v ∧ h µ − r krk = kek (C.2) i = arccos h.uz khk ! (C.3) Ω =    arccos  k.uy khk  si k.ux ≥ 0 2π − arccos  k.ux khk  si k.ux < 0 (C.4) ω =    arccos  k.e kkkkek  si e.uz ≥ 0 2π − arccos  k.e kkkkek  si e.uz < 0 (C.5) ν = ω +    arccos  k.r kkkkrk  si r.uz ≥ 0 2π − arccos  k.r kkkkrk  si r.uz < 0 (C.6) C.2 Passage des paramètres orbitaux képlériens vers un couple position-vitesse Dans un référentiel GI, on peut exprimer le couple {r, v} grâce aux équations (C.7) et (C.8), où r, n et E sont des intermédiaires de calcul tels que r = a(1−e 2 ) (1+e cos ν) , n = q µ a 3 et {cos E = cos ν+e 1+e cos ν ,sin E = √ 1−e 2 sin ν 1+e cos ν }. r = r     sin Ω cos ν + cos Ω cosisin ν cos Ω cos ν + sin Ω cosisin ν sin isin ν     (C.7) v =     −na2 sin E r sin Ω + na2 √ 1−e 2 cos E r cos Ω cosi −na2 sin E r cos Ω + na2 √ 1−e 2 cos E r sin Ω cosi na2 √ 1−e 2 cos E r sin i     (C.8) 164Annexe D Association des détections issues du passage d’un objet dans le champ de veille Les observations (i.e. arcs courts) peuvent comprendre plusieurs détections fortement redondantes (rapprochées dans le temps et dans l’espace dans un référentiel ECI et fortement bruitées). En effet, la simulation permet d’estimer qu’environ 50% des arcs courts comprennent une unique détection, 45% comprennent deux détections, et 5% comprennent trois détections ou plus. Les méthodes proposées dans cette étude permettent de traiter les arcs courts comprenant une unique détection. Naturellement, les arcs courts comprenant plusieurs observations peuvent être traités comme plusieurs arcs comprenant une unique observation, mais cela augmente le nombre de pistes à initialiser et donc la complexité combinatoire. Ce problème peut être résolu en associant de proche en proche les détections issues d’une même traversée. Pour cela, nous utilisons deux composantes du vecteur de description x(i, j) associé à une paire d’observations défini au Chapitre 6 : xarc(i, j) =   dr(zi , zj ) drλ(zi , zj )   (D.1) où {zi , zj} est une paire de détections. Grâce à la simulation, nous générons un grand nombre de paires de détections successives {zi , zj} issues d’une même traversée et choisissons des seuils pour les valeurs de dr(zi , zj ) et de drλ(zi , zj ) tels que 95% des cas soient en dessous de ces seuils. Ainsi, nous sommes capables d’associer les détections issues d’une unique traversée sans ambiguïté aux densités de détection testées. Les arcs obtenus, ou observations, peuvent alors comprendre plusieurs détections, ce qui réduit le nombre de nouvelles pistes à initialiser. Dans cette étude, nous choisissons d’utiliser les mesures de la première détection quand une observation en comprend plusieurs. 165Bibliographie [1] O. of Science en Technological Policy, “Interagency report on orbital debris,” in The National Science and Technology Council, Commitee on Transportation Research and Development, 1995. [2] E. Pate-Cornell and M. Sachon, “Risks of particle hits during space walks in low earth orbit,” Aerospace and Electronic Systems, IEEE Transactions on, 2001. [3] E. Fletcher, “Space situational awareness : An analysis of threats, consequences and future solutions for europe’s security, safety and prosperity.,” tech. rep., European Space Agency, 2010. [4] ENVISAT AND ERS MISSIONS, Data Access Guide. [5] Operational Review : RADARSAT–1 & –2, 2010. [6] R. Walker, C. Martin, H. Stokes, J. Wilkinson, H. Sdunnus, S. Hauptmann, P. Beltrami, and H. Klinkrad, “Update of the ESA space debris mitigation handbook,” tech. rep., ESA, 2002. [7] D. Kessler, “Sources of orbital debris and the projected environment for future spacecraft,” Advances in Space Research, 1981. [8] E. G. Stansbery, “Growth in the number of ssn tracked orbital objects,” 55th International Astronautical Congress, Vancouver, Canada, 2004. [9] D. Kessler, “Collisional cascading : The limits of population growth in low earth orbit,” Advances in Space Research, 1991. [10] D. Gregory, J. Mergen, and A. Ridley, “Space debris elimination (spade) phase i final report,” tech. rep., Raytheon, BBN Technologies, University of Michigan, 2012. [11] P. W. J. Schumacher, “US naval space surveillance upgrade program 1999- 2003,” in 7th US/Russian Space Surveillance Workshop Proceedings, Naval Postgraduate School, CA, 2007. [12] J. E. Reed, “The AN/FPS-85 radar system,” Proceedings of the IEEE, 1969. [13] P. Chorman, “Cobra dane space surveillance capabilities,” in Proceedings of the 2000 Space Control Conference. [14] F. R. Hoots and R. L. Roehrich, “Models for propagation of norad element sets, spacetrack report no. 3,” tech. rep., US Air Force, 1980. [15] T. Michal, J. P. Eglizeaud, and J. Bouchard, “Graves : the new french system for space surveillance,” in Proceedings of the 4th European Conference on Space Debris (ESA SP-587), 2005. 167BIBLIOGRAPHIE [16] J. Darricau, Physique et théorie du radar. 1993. [17] S. S. Blackman and R. Popoli, Design and Analysis of Modern Tracking Systems. Artech House Radar Library, 1999. [18] R. B. Barrar and R. Deutsch, “Determination of satellite trajectories from trackwhile-scan radar measurements,” Military Electronics, IRE Transactions on, 1961. [19] E. F. Knott, J. F. Shaeffer, and M. T. Tuley, Radar Cross Section. Artech House Radar Library, 1985. [20] D. Deirmendjian, “Electromagnetic scattering on spherical polydispersions,” tech. rep., RAND Corporation, 1969. [21] C. L. Stokely, F. J. L. Jr., E. G. Stansbery, J. R. Benbrook, and Q. Juarez, “Haystack and hax radar measurements of the orbital debris environment ; 2003,” tech. rep., NASA Lyndon B. Johnson Space Center, 2006. [22] D. A. Vallado, Fundamentals of Astrodynamics and Applications, ch. 3.3. Microcosm Press, 4940 West 147th Street, Hawthorne, CA 90250-6708 USA and Springer, 233 Spring Street, New York, NY 10013 USA, 2007. [23] Cours de Mécanique céleste classique. Laboratoire d’Astronomie de l’Université de Lille 1 et IMCCE de l’Observatoire de Paris, 2002. [24] D. A. Vallado, Fundamentals of Astrodynamics and Applications. Microcosm Press, 4940 West 147th Street, Hawthorne, CA 90250-6708 USA and Springer, 233 Spring Street, New York, NY 10013 USA, 2007. [25] J. R. Raol and N. K. Sinha, “On the orbit determination problem,” Aerospace and Electronic Systems, IEEE Transactions on, 1985. [26] D. Brouwer, “Solution of the problem of artificial satellite theory without drag,” Astronomical Journal, 1959. [27] M. H. Lane, P. M. Fitzpatrick, and J. J. Murphy, “On the representation of air density in satellite deceleration equations by power functions with integral exponents,” tech. rep., Air Force Systems Command, 1962. [28] M. H. Lane and K. H. Cranford, “An improved analytical drag theory for the artificial satellite problem,” American Institute of Aeronautics and Astronautics, 1969. [29] D. A. Vallado, P. Crawford, R. Hujsak, and T. S. Kelso, “Revisiting spacetrack report no. 3,” tech. rep., American Institute of Aeronautics and Astronautics, 2006. [30] S. S. Blackman, Multiple Target Tracking with Radar Applications. Artech House, 1986. [31] Y. Bar-Shalom, Multitarget-Multisensor Tracking : Principle and Techniques. Burlington, MA : Academic Press, 1995. [32] S. Baase, Computer Algorithms : Introduction to Design and Analysis. Reading, MA : Addison-Wesley, 1978. [33] Probabilités analyse des données et statistique, ch. 14.4.5.2. Editions Technip, 2006. 168BIBLIOGRAPHIE [34] S. S. Blackman and R. Popoli, Design and Analysis of Modern Tracking Systems, ch. 3.3. Artech House Radar Library, 1999. [35] S. S. Blackman and R. Popoli, Design and Analysis of Modern Tracking Systems, ch. 6.3. Artech House Radar Library, 1999. [36] S. J. Julier, J. K. Uhlmann, and H. F. Durrant-Whyte, “A new approach for filtering nonlinear systems,” in Proceedings of the American Control Conference, Seattle, Washington, pages 1628-1632, 1995. [37] S. J. Julier, J. K. Uhlmann, and H. F. Durrant-Whyte, “A new method for the nonlinear transformation of means and covariances in nonlinear filters,” in Transactions on Automatic Control, IEEE, 2000. [38] S. S. Blackman and R. Popoli, Design and Analysis of Modern Tracking Systems, ch. 6.6. Artech House Radar Library, 1999. [39] J. Dezert, “Introduction au pistage multi-cibles multi-senseurs,” Septembre 2003. [40] Multitarget-Multisensor Tracking : Principle and Techniques, ch. 3.3. Burlington, MA : Academic Press, 1995. [41] B.-N. Vo and W.-K. Ma, “The gaussian mixture probability hypothesis density filter,” Signal Processing, IEEE Transactions on, 2006. [42] S. S. Blackman and R. Popoli, Design and Analysis of Modern Tracking Systems, ch. 6.4. Artech House Radar Library, 1999. [43] P. Gill, W. Murray, and M. Wright, Practical Optimization. Academic Press, New York, 1981. [44] T. Kurien, Issues in the Design of Practical Multitarget Tracking Algorithms. Ed. Y. Bar-Shalom, Artech House, 1990. [45] S. S. Blackman, “Multiple hypothesis tracking for multiple target tracking,” Aerospace and Electronic Systems Magazine, IEEE, 2004. [46] A. Wald, “Sequential tests of statistical hypotheses,” Annals of Mathematical Statistics, 1945. [47] J. Wright, “Optimal orbit determination,” in AAS/AIAA Spaceflight Mechanics Meeting, San Antonio, TX, USA, 2002. [48] J. R. Vetter, “Fifty years of orbit determination : Development of modern astrodynamics methods,” Johns Hopkins APL Technical Digest, 2007. [49] D. A. Vallado, Fundamentals of Astrodynamics and Applications, ch. 7.5. Microcosm Press, 4940 West 147th Street, Hawthorne, CA 90250-6708 USA and Springer, 233 Spring Street, New York, NY 10013 USA, 2007. [50] D. A. Vallado, Fundamentals of Astrodynamics and Applications, ch. 7.6.2. Microcosm Press, 4940 West 147th Street, Hawthorne, CA 90250-6708 USA and Springer, 233 Spring Street, New York, NY 10013 USA, 2007. [51] J. Thorne, “A complete series solution,” in AAS/AIAA Space Flight Mechanics Conference, Maui, HI, 2004. [52] D. A. Vallado, Fundamentals of Astrodynamics and Applications, ch. 7.6.4. Microcosm Press, 4940 West 147th Street, Hawthorne, CA 90250-6708 USA and Springer, 233 Spring Street, New York, NY 10013 USA, 2007. 169BIBLIOGRAPHIE [53] H. Shen and P. Tsiotras, “Using battin’s method to obtain multiple-revolution lambert’s solutions,” in Paper AAS-03-568 presented at the AAS/AIAA Astrodynamics Specialist Conference. Big Sky, MT., 2003. [54] G. Tommei, A. Milani, and A. Rossi, “Orbit determination of space debris : admissible regions,” Celestial Mechanics and Dynamical Astronomy, 2007. [55] G. Tommei, A. Milani, D. Farnocchia, and A. Rossi, “Correlation of space debris observations by the virtual debris algorithm,” in Proc. of the Fifth European Conference on Space Debris, 2009. [56] L. Dimare, D. Farnocchia, G. Gronchi, A. Milani, F. Bernardi, and A. Rossi, “Innovative system of very wide field optical sensors for space surveillance in the leo region,” in Proceedings of the Advanced Maui Optical and Space Surveillance Technologies Conference, 2011. [57] A. Milani, G. Tommei, D. Farnocchia, A. Rossi, T. Schildknecht, and R. Jehn, “Orbit determination of space objects based on sparse optical data,” Monthly Notices of Royal Astronomical Society, 2011. [58] D. Farnocchia, G. Tommei, A. Milani, and A. Rossi, “Innovative methods of correlation and orbit determination for space debris,” Celestial Mechanics and Dynamical Astronomy, 2010. [59] T. Furukawa, , F. Muraoka, and Y. Kosuge, “Multi-target and multi-sensor data fusion by rule-based tracking methodology,” in SICE ’98. Proceedings of the 37th SICE Annual Conference, 1998. [60] B. Schölkopf, J. C. Platt, J. Shawe-Taylor, A. J. Smola, and R. C. Williamson, “Estimating the support of a high-dimensional distribution,” Neural Computation, vol. 13, no. 7, pp. 1443–1471, 2001. [61] E. Parzen, “On estimation of a probability density function and mode,” Annals of Mathematical Statistics, 1962. [62] Y. Bar-Shalom, S. S. Blackman, and R. J. Fitzgerald, “Dimensionless score function for multiple hypothesis tracking,” Aerospace and Electronic Systems, IEEE Transactions on, 2007. [63] S. S. Blackman and R. Popoli, Design and Analysis of Modern Tracking Systems, ch. 6.2. Artech House Radar Library, 1999. [64] L. Y. Pao, “Multisensor multitarget mixture reduction algorithms for tracking,” Journal of Guidance, Control and Dynamics, 1994. 170Catalogage de petits débris spatiaux en orbite basse par observations radars isolées Les débris spatiaux sont devenus une menace considérable pour la viabilité des satellites opérationnels en orbite basse. Afin de pouvoir éviter des collisions accidentelles, des systèmes de surveillance de l’espace existent mais sont limités en performances de détection pour les objets de petite taille (diamètre inférieur à 10cm), ce qui pousse à l’étude de nouvelles solutions. Cette thèse a pour objectif d’appuyer la faisabilité d’un système radar au sol utilisant un champ de veille étroit pour le catalogage de petits débris en orbite basse. Un tel système fournirait en effet des observations dites « isolées », c’est-à-dire qu’une orbite n’est pas immédiatement déductible de chacune d’entre elles. Le grand nombre combinaisons nécessaires est alors prohibitif en termes de temps de calcul pour la résolution de ce problème de pistage. Nous proposons dans ces travaux une nouvelle méthode pour initialiser les pistes, c’est-à-dire associer des observations isolées avec une faible ambiguïté et en déduire des orbites précises. Les pistes ainsi obtenues sont combinées et filtrées grâce à un algorithme de pistage multicible que nous avons adapté aux particularités du problème. Avec un taux de couverture de plus de 80% obtenu en temps réel sur 3 jours pour des scé- narios de 500 à 800 objets en plus d’un fort taux de fausses alarmes, les performances de la méthode proposée tendent à prouver la faisabilité du système envisagé. Afin d’extrapoler les résultats obtenus à de plus fortes densités d’observations, nous proposons un modèle de complexité combinatoire calibré sur les performances de l’algorithme aux faibles densités. L’apport d’un second capteur identique est également étudié et met en évidence un point de compromis entre réactivité et complexité combinatoire, ce qui offre un degré de liberté supplémentaire dans la conception d’un tel système. Cataloging small debris in low-Earth-orbit using sparse radar data Space debris have become a significant threat to the viability of operational satellites in Low-Earth-Orbit. In order to avoid accidental collisions, space surveillance systems exist but their detection performance is limited for the small debris (less than 10cm). New solutions are then at study. This thesis aims at supporting the feasibility of a ground-based radar sensor with a narrow-fence type field of regard for the cataloging of the small space debris. Such a system would produce isolated observations, that is to say that an orbit is not directly available from each one of them. The large number of potential combinations is then computationally prohibitive for solving this tracking problem. In this work, we propose a new method for track initiation, i.e. associating isolated observations with little ambiguity and deduce accurate orbits. The obtained set of tracks are combined and filtered using an multitarget tracking algorithm that we have adapted to the peculiarities of the problem. With a coverage rate of more than 80% in real-time on 3 days for 500 to 800-objects scenarios in addition of a high false alarm rate, the performance of the proposed method supports the feasibility of the considered system. Aiming at extrapolating the obtained results to higher observation densities, we propose a combinatorial complexity model calibrated with the algorithm performance for low detection densities. The contribution of a second identical sensor is also assessed and reveals a possible trade-off between reactivity and combinatorial complexity, which offers an additional degree of freedom in the design of such a system. Evaluation analytique de la pr´ecision des syst`emes en virgule fixe pour des applications de communication num´erique Aymen Chakhari To cite this version: Aymen Chakhari. Evaluation analytique de la pr´ecision des syst`emes en virgule fixe pour des applications de communication num´erique. Signal and Image Processing. Universit´e de Rennes 1, 2014. French. HAL Id: tel-01097176 https://hal.inria.fr/tel-01097176 Submitted on 19 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.ANNÉE 2014 THÈSE / UNIVERSITÉ DE RENNES 1 sous le sceau de l’Université Européenne de Bretagne pour le grade de DOCTEUR DE L’UNIVERSITÉ DE RENNES 1 Mention : TRAITEMENT DU SIGNAL ET TÉLÉCOMMUNICATION Ecole doctorale MATISSE présentée par Aymen CHAKHARI préparée à l’unité de recherche CAIRN, IRISA, INRIA INSTITUT NATIONALE DE RECHERCHE EN INFORMATIQUE ET AUTOMATIQUE ENSSAT LANNION Evaluation analytique de la précision des systèmes en virgule fixe pour des applications de communication numérique Thèse à soutenir à Lannion le 7 Octobre 2014 devant le jury composé de : Kosai RAOOF Professeur, ENSIM Le Mans / rapporteur Christophe JEGO Professeur, ENSEIRB Bordeaux / rapporteur Meriem JAIDANE Professeur, U2S, ENIT Tunis / examinateur Daniel MENARD Professeur, IETR INSA Rennes / examinateur Pascal SCALART Professeur, ENSSAT Lannion / directeur de thèse Romuald ROCHER Maître de conférences, IRISA / co-directeur de thèse2Résumé Lors de la conception d’applications de traitement de signal, la démarche classique conduit le concepteur d’applications à utiliser dans un premier temps une arithmétique en virgule flottante pour éviter les problèmes liés à la précision des calculs. Cependant, l’implémentation de ces applications nécessite l’utilisation de l’arithmétique virgule fixe puisqu’elle est plus avantageuse en termes de contraintes de coût et de consommation. Par conséquent l’application conçue en arithmétique virgule flottante doit être convertie en arithmétique virgule fixe. Cette opération de conversion se révèle être fastidieuse, aussi des outils de conversion automatique de l’arithmétique virgule flottante vers celle en virgule fixe ont été mis en place afin de répondre aux exigences de temps de mise sur le marché de ces applications. Au sein de ce processus de conversion, l’une des étapes primordiales concerne l’évaluation de la précision de la spécification en virgule fixe. En effet, le changement du format des données de l’application s’effectue en éliminant des bits. Cette conversion conduit à la génération de bruits de quantification qui se propagent au sein du système et dégradent la précision des calculs en sortie de l’application. Par conséquent, cet abaissement dans la précision de calcul doit être maitrisé et évalué pour garantir l’intégrité de l’algorithme et répondre aux spécifications initiales de l’application. Traditionnellement, l’évaluation de la précision s’effectue par le biais de deux approches différentes. La première approche consiste à réaliser des simulations en virgule fixe de l’application afin d’en estimer ses performances. Ces approches basées sur la simulation nécessitent de grandes capacités de calculs et conduisent à des temps d’évaluation prohibitifs. Pour éviter ce problème, le travail mené dans le cadre de cette thèse se concentre sur des approches basées sur l’évaluation de la précision à travers des modèles analytiques. Ces modèles décrivent le comportement du système à travers des expressions analytiques qui permettent d’évaluer une métrique de précision bien définie. Plusieurs modèles analytiques ont été proposés pour évaluer la précision en virgule fixe des systèmes linéaires invariants dans le temps LTI (Linear Time Invariant) et des systèmes linéaires non-LTI non récursifs et récursifs. L’objectif de cette thèse est de proposer des modèles analytiques permettant l’évaluation de la précision des systèmes de communications numériques et des algorithmes de traitement numérique de signal formés d’opérateurs non lisses et non linéaires en terme du bruit. Dans un premier temps, des modèles analytiques pour l’évaluation de la précision des opérateurs de décision et leurs cascades et itérations sont proposés. Dans une seconde étape, une optimisation des largeurs de données est proposée pour l’implémentation matérielle en virgule fixe de l’égaliseur à retour de décision DFE (Decision Feedback Equalizer) en se basant sur les modèles analytiques proposés ainsi que pour les algorithmes de décodage itératif du type turbo-décodage et décodage-LDPC (Low-Density Parity-Check) selon une loi se quantification particulière. Le premier aspect de ce travail concerne la proposition de modèles analytiques pour l’évaluation de la précision des opérateurs non lisses de décision et de la cascade des opérateurs de décision. Par conséquent, la caractérisation de la propagation des erreurs de quantification dans la cascade d’opérateurs de décision est le fondement des modèles analytiques proposés. Ces modèles sont appliqués dans une seconde étape pour l’évaluation de la précision de l’algorithme de décodage sphérique SSFE (Selective Spanning with Fast Enumeration) utilisé pour les systèmes de transmission de type MIMO (Multiple-Input Multiple-Output). Dans une seconde étape, l’évaluation de la précision des structures itératives d’opérateurs de décision a fait l’objet d’intérêt. Une caractérisation des erreurs de quantification engendrées par l’utilisation de l’arithmétique en virgule fixe est introduite pour aboutir à des modèles analytiques permettant l’évaluation de la précision des applications de traitement numérique de signal incluant des structures itératives de décision. Une deuxième approche, basée sur l’estimation d’une borne supérieure de la probabilité d’erreur de décision dans le mode de convergence, est proposée pour l’évaluation de la précision de ces applications et ceci dans un but de réduire les temps d’évaluation. Ces modèles sont appliqués à la problématique de l’évaluation de la spécification virgule fixe de l’égaliseur à retour de décision DFE. Une extension de ces modèles est introduite pour l’évaluation du DFE dans sa version adaptative. Le second aspect de notre travail s’articule autour de l’optimisation des largeurs de données en virgule fixe. Ce processus d’optimisation est basé sur la minimisation de la probabilité d’erreur de décision dans le cadre d’une implémentation sur un FPGA (Field-Programmable Gate Array) de l’algorithme DFE complexe sous contrainte d’une précision donnée. Par conséquent, pour chaque spécification en virgule fixe, la précision est évaluée à travers les modèles analytiques proposés. L’estimation de la consommation des ressources et de la puissance sur le FPGA est ensuite obtenue à l’aide des outils de Xilinx pour faire un choix adéquat des largeurs des données en visant à un compromis précision/coût.La dernière étape de notre travail concerne la modélisation en virgule fixe des algorithmes de décodage itératif. Une modélisation de l’algorithme de turbo-décodage et du décodage LDPC est ensuite proposée. Cette approche intègre la structure particulière de ces algorithmes ce qui implique que les quantités calculées au sein du décodeur ainsi que les opérations, sont quantifiées suivant une approche itérative. De plus, la représentation en virgule fixe utilisée est différente de la représentation classique utilisant le nombre de bits accordé à la partie entière et la partie fractionnaire. L’approche proposée repose sur le couple dynamique et le nombre de bits total. De plus le choix de la dynamique engendre davantage de flexibilité pour les modèles en virgule fixe puisqu’elle n’est plus limitée uniquement à une puissance de deux. Dans une seconde étape, la réduction de la taille des mémoires par des techniques de saturation et de troncature est proposée afin d’être en mesure de cibler des architectures à faible-complexité. Finalement, l’analyse des performances en virgule fixe est faite à travers l’évaluation du taux d’erreur par paquet FER (Frame Error Ratio) en fonction du SNR (Signal to Noise Ratio).5Abstract In designing applications of signal processing, the traditional approach leads the designer of applications to use initially floating point arithmetic in order to avoid problems related to the accuracy of calculations. However, the implementation of these applications requires the use of fixed-point arithmetic because it is more advantageous in terms of constraints of cost and consumption. Therefore, the designed application in floating point arithmetic must be converted to fixed-point arithmetic. This conversion is tedious, so tools for automatic conversion of floating-point arithmetic to the fixed point were established to meet the requirements of time-to-market of these applications. In this conversion process, one of the basic steps concerns the evaluation of the accuracy of the fixed-point specification. Indeed, the change of the data format of the application is performed by removing bits. This conversion results in the generation of quantization noise propagating within the system and degrading the accuracy of calculations of the application output. Therefore, this reduction in the calculation accuracy must be mastered and evaluated in order to ensure the integrity of the algorithm and meet the initial requirements of the application. Traditionally, evaluation of accuracy is performed through two different approaches. The first approach is to perform simulations fixed-point implementation in order to assess its performance. These approaches based on simulation require large computing capacities and lead to prohibitive time evaluation. To avoid this problem, the work done in this thesis focuses on approaches based on the accuracy evaluation through analytical models. These models describe the behavior of the system through analytical expressions that evaluate a defined metric of precision. Several analytical models have been proposed to evaluate the fixedpoint accuracy of Linear Time Invariant systems (LTI) and of non-LTI non-recursive and recursive linear systems. The objective of this thesis is to propose analytical models to evaluate the accuracy of digital communications systems and algorithms of digital signal processing made up of non-smooth and non-linear operators in terms of noise. In a first step, analytical models for evaluation of the accuracy of decision operators and their iterations and cascades are provided. In a second step, an optimization of the data length is given for fixed-point hardware implementation of the Decision Feedback Equalizer DFE based on analytical models proposed and for iterative decoding algorithms such as turbo decoding and LDPC decoding-(Low-Density Parity-Check) in a particular quantization law. The first aspect of this work concerns the proposition analytical models for evaluating the accuracy of the non-smooth decision operators and the cascading of decision operators. So, the characterization of the quantization errors propagation in the cascade of decision operators is the basis of the proposed analytical models. These models are applied in a second step to evaluate the accuracy of the spherical decoding algorithm SSFE (Selective Spanning with Fast Enumeration) used for transmission MIMO systems (MultipleInput Multiple - Output). In a second step, the accuracy evaluation of the iterative structures of decision operators has been the interesting subject. Characterization of quantization errors caused by the use of fixed-point arithmetic is introduced to result in analytical models to evaluate the accuracy of application of digital signal processing including iterative structures of decision. A second approach, based on the estimation of an upper bound of the decision error probability in the convergence mode, is proposed for evaluating the accuracy of these applications in order to reduce the evaluation time. These models are applied to the problem of evaluating the fixed-point specification of the Decision Feedback Equalizer DFE. An extension of these models is introduced for the evaluation of DFE in its adaptive version. The second aspect of our work focuses on the optimization of fixed-point data widths. This optimization process is based on minimizing the decision error probability through the implementation on an FPGA (Field-Programmable Gate Array) of the complex DFE algorithm under the constraint of a given accuracy. Therefore, for each fixed-point specification, accuracy is evaluated through the proposed analytical models. The estimation of resources and power consumption on the FPGA is then obtained using the Xilinx tools to make a proper choice of the data widths aiming to a compromise accuracy/cost. The last step of our work concerns the fixed-point modeling of iterative decoding algorithms. A model of the turbo decoding algorithm and the LDPC decoding is then given. This approach integrates the particular structure of these algorithms which implies that the calculated quantities in the decoder and the operations are quantified following an iterative approach. Furthermore, the used fixed-point representation is different from the conventional representation using the number of bits accorded to the integer part and the fractional part. The proposed approach is based on the dynamic and the total number of bits. Besides, the dynamic choice causes more flexibility for fixed-point models since it is not limited to only a power oftwo. In a second step, the memory size reduction using saturation and truncation techniques is given in order to be able to target low - complexity architectures. Finally, the fixed-point performance analysis is done through the evaluation of Frame Error Ratio FER versus SNR (Signal to Noise Ratio) package.8Table des matières Introduction 1 Contexte de l’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Problématique de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Organisation de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1 Arithmétique virgule fixe 9 1.1 Les différents types de formats de données . . . . . . . . . . . . . . . . . . . . . . . 10 1.1.1 Représentation des nombres entiers . . . . . . . . . . . . . . . . . . . . . . . 11 1.1.2 Le format virgule fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.1.3 Le format virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.1.4 Comparaison arithmétiques virgule flottante et virgule fixe . . . . . . . . . 14 1.2 Modélisation du bruit de quantification . . . . . . . . . . . . . . . . . . . . . . . . 20 1.2.1 Processus de quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.2.2 Signal à amplitude continue . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.2.3 Signal à amplitude discrète . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.3 Évaluation de la précision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.3.1 Les métriques de précision . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.3.2 Les méthodes d’évaluation de la précision par simulation . . . . . . . . . . . 29 1.3.3 Les approches analytiques de l’évaluation de la précision . . . . . . . . . . . 32 1.3.4 Autres effets de la quantification . . . . . . . . . . . . . . . . . . . . . . . . 38 1.3.5 Bilan des deux approches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 1.3.6 Les approches hybrides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2 Évaluation analytique de la précision des algorithmes de décodage sphérique 41 2.1 Les opérateurs lisses et non lisses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.1.2 Les opérateurs lisses et non-lisses . . . . . . . . . . . . . . . . . . . . . . . . 43 2.1.3 La quantification d’un opérateur non lisse . . . . . . . . . . . . . . . . . . . 44 2.1.4 Identification d’un opérateur non lisse . . . . . . . . . . . . . . . . . . . . . 44 2.2 Modèle analytique pour l’opérateur de décision . . . . . . . . . . . . . . . . . . . . 47 2.2.1 Modélisation de l’opérateur de décision . . . . . . . . . . . . . . . . . . . . 47 2.2.2 La réponse à la perturbation . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.2.3 La probabilité d’erreur de décision . . . . . . . . . . . . . . . . . . . . . . . 50 2.3 Cascade d’opérateurs de décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.3.1 Propagation de l’erreur de quantification . . . . . . . . . . . . . . . . . . . . 55 2.3.2 Détermination analytique de la probabilité d’erreur en sortie de la cascade . 56 2.3.3 Analyse de la complexité du modèle analytique . . . . . . . . . . . . . . . . 59 2.4 Application du modèle à l’algorithme SSFE . . . . . . . . . . . . . . . . . . . . . . 60 2.4.1 Modèle du système MIMO . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 12.4.2 Présentation de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.4.3 Application du modèle analytique proposé . . . . . . . . . . . . . . . . . . . 64 2.4.4 Première approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3 Évaluation de la précision de l’itération d’opérateur de décision 79 3.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.1.1 Caractéristiques de la propagation du bruit . . . . . . . . . . . . . . . . . . 80 3.2 Modèle analytique proposé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.2.1 Approche basée sur la résolution d’un système non linéaire à l’aide de l’algorithme de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.2.2 Borne supérieure de la probabilité d’erreur . . . . . . . . . . . . . . . . . . 85 3.3 Évaluation de la précision de l’égaliseur à retour de décision . . . . . . . . . . . . . 88 3.3.1 Présentation de l’algorithme DFE . . . . . . . . . . . . . . . . . . . . . . . 88 3.3.2 Résultat pour le cas non adaptatif . . . . . . . . . . . . . . . . . . . . . . . 89 3.3.3 Solution proposée pour le cas adaptatif . . . . . . . . . . . . . . . . . . . . 90 3.4 Optimisation du format virgule fixe pour l’implémentation matérielle . . . . . . . . 94 3.4.1 Présentation de l’architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.4.2 Implémentation sur FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.4.3 Les contraintes du choix du format de représentation . . . . . . . . . . . . . 97 3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4 Évaluation de la précision du turbo décodage 103 4.1 L’optimisation de la largeur des données en virgule fixe . . . . . . . . . . . . . . . 104 4.1.1 Variantes du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 4.1.2 Variable d’optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.1.3 Solution au problème d’optimisation de la longueur du mot de code . . . . 106 4.2 Optimisation du turbo décodage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.2.1 Présentation de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.2.2 Modélisation et design en virgule fixe . . . . . . . . . . . . . . . . . . . . . 111 4.2.3 Réduction de la taille de mémoire . . . . . . . . . . . . . . . . . . . . . . . 114 4.2.4 Performance du turbo décodeur . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.3 Optimisation du décodage LDPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.3.1 Modélisation et design en virgule fixe d’un décodeur LDPC . . . . . . . . . 122 4.3.2 Réduction de la taille de mémoire . . . . . . . . . . . . . . . . . . . . . . . 124 4.3.3 Performance en virgule fixe du décodeur LDPC . . . . . . . . . . . . . . . . 124 4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Conclusion et Perspectives 127 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 A Quantification uniforme et quantification double 129 A.1 Quantification uniforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 A.1.1 Quantification dans le domaine de la fonction caractéristique . . . . . . . . 129 A.2 La quantification double . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 B La méthode de Newton-Raphson pour la résolution des systèmes non linéaires133 B.1 Les systèmes non linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 2Table des figures 1 Cycle de conception d’une application de traitement numérique de signal . . . . . . 2 2 Les étapes d’implémentation en virgule fixe . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Représentation des données en virgule fixe . . . . . . . . . . . . . . . . . . . . . . . 12 1.2 Représentation des données en virgule flottante . . . . . . . . . . . . . . . . . . . . 13 1.3 Comparaison de l’évolution du niveau de la dynamique pour les représentations virgule fixe et virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4 Effet du débordement utilisant la technique de l’enveloppe autour de la valeur . . . 16 1.5 Effet du débordement utilisant la technique de saturation . . . . . . . . . . . . . . 16 1.6 Processus de quantification par arrondi . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.7 Processus de quantification par troncature . . . . . . . . . . . . . . . . . . . . . . . 22 1.8 Modélisation de bruit de quantification additif . . . . . . . . . . . . . . . . . . . . 23 1.9 Densité de probabilité de la loi de troncature continue . . . . . . . . . . . . . . . . 23 1.10 Densité de probabilité de la loi d’arrondi continu . . . . . . . . . . . . . . . . . . . 24 1.11 Densité de probabilité de la loi de troncature discrète . . . . . . . . . . . . . . . . . 26 1.12 Densité de probabilité de la loi d’arrondi discrète . . . . . . . . . . . . . . . . . . . 26 1.13 Densité de probabilité de la loi d’arrondi convergente discrète . . . . . . . . . . . . 27 1.14 Mesure de la puissance de bruit de quantification causé par la virgule fixe . . . . . 31 1.15 Estimation analytique de l’erreur causée par les opérations en virgule fixe . . . . . 33 1.16 Modèle analytique du bruit de quantification . . . . . . . . . . . . . . . . . . . . . 33 1.17 Propagation du bruit de quantification vers la sortie du système . . . . . . . . . . . 36 1.18 Les temps d’optimisation des deux approches en fonction de nombre d’évaluation . 39 2.1 Graphe du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2 Schéma d’un opérateur dans la précision infinie et la précision finie avec b bits . . . 45 2.3 Représentation d’un signal en virgule fixe avec une dynamique [−1, 1) ....... 46 2.4 Représentation d’un signal en virgule fixe avec une dynamique [−1, 1) ....... 46 2.5 Diagramme de la constellation 16-QAM . . . . . . . . . . . . . . . . . . . . . . . . 47 2.6 Fonctionnement de l’opérateur de décision . . . . . . . . . . . . . . . . . . . . . . . 48 2.7 Modèle de quantification d’un opérateur de décision . . . . . . . . . . . . . . . . . 49 2.8 Réponse à la perturbation à la frontière non lisse ; Cas A : x = xa, Cas B :x = xb . 49 2.9 Un système constitué d’un opérateur non lisse .................... 50 2.10 Probabilité d’erreur de décision totale : cas BPSK . . . . . . . . . . . . . . . . . . 53 2.11 Cascade de deux opérateurs de décision . . . . . . . . . . . . . . . . . . . . . . . . 54 2.12 Non validité du modèle analytique d’estimation de la probabilité d’erreur de décision dans le cas d’une cascade d’opérateurs de décision . . . . . . . . . . . . . . . . 55 2.13 Propagation de l’erreur de quantification dans un système composé de plusieurs opérateurs non lisses en cascade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.14 Propagation des erreurs non lisses (corrélées ou non corrélées) . . . . . . . . . . . . 59 2.15 Propagation des erreurs non lisses (corrélées et non corrélées) . . . . . . . . . . . . 61 2.16 Exemple d’un arbre de spanning SSFE avec m = [1, 1, 2, 4] .............. 62 2.17 Exemple d’une énumération rapide (ER) d’une constellation à 8 points . . . . . . . 63 2.18 Cascade d’opérateurs de décisions : cas de l’algorithme SSFE . . . . . . . . . . . . 64 32.19 Probabilité d’erreur de décision totale en fonction du rapport signal à bruit . . . . 67 2.20 Probabilité d’erreur de décision totale en fonction du rapport signal à bruit . . . . 71 2.21 Probabilité d’erreur de décision P3 ij dans le cas d’une puissance du bruit de quantification de 0.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 2.22 Probabilité d’erreur au niveau de l’antenne n˚3 de décision totale dans le cas d’une constellation 4-QAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 2.23 Probabilité d’erreur de décision totale dans le cas d’une constellation 4-QAM . . . 75 2.24 Probabilité d’erreur de décision P2 ij dans le cas d’une constellation 4-QAM . . . . . 76 2.25 Probabilité d’erreur de décision totale dans le cas d’une constellation 4-QAM . . . 77 2.26 Probabilité d’erreur de décision P1 ij dans le cas d’une constellation 4-QAM . . . . . 77 3.1 Système contenant une itération d’opérateur de décision . . . . . . . . . . . . . . . 80 3.2 Système composé d’itération d’opérateurs de décision . . . . . . . . . . . . . . . . . 83 3.3 Probabilité d’erreur de décision pour une constellation QPSK . . . . . . . . . . . . 85 3.4 Bloc-diagramme d’un égaliseur à retour de décision . . . . . . . . . . . . . . . . . . 89 3.5 Borne supérieure analytique et probabilité d’erreur de décision par simulation . . . 89 3.6 Structure de l’égaliseur : mode initial . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.7 Structure de l’égaliseur : mode final . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.8 Variation des coefficients des filtres de l’égaliseur . . . . . . . . . . . . . . . . . . . 93 3.9 Probabilité d’erreur de décision en fonction du nombre de bits . . . . . . . . . . . . 93 3.10 Architecture d’un égaliseur DFE à coefficients complexes . . . . . . . . . . . . . . . 94 3.11 Diagramme bloc de l’égaliseur DFE implémenté . . . . . . . . . . . . . . . . . . . . 95 3.12 Bloc diagramme de la procédure du test sur FPGA . . . . . . . . . . . . . . . . . . 96 3.13 Architecture du filtre forward .............................. 96 3.14 Entrée et sortie de l’égaliseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.15 Probabilité d’erreur de décision en fonction des deux précisions . . . . . . . . . . . 98 3.16 Probabilité d’erreur de décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 3.17 Nombre de slice registres nécessaires pour obtenir une probabilité d’erreur de dé- cision de P0 = 10−3 avec une précision relative de 0.2. ................ 99 3.18 Nombre de slice lut nécessaires pour obtenir une probabilité d’erreur de décision de P0 = 10−3 avec une précision relative de 0.2..................... 100 3.19 Consommation de puissance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.20 Dispositif pour la mesure de la puissance . . . . . . . . . . . . . . . . . . . . . . . . 101 4.1 Turbo codeur de la norme 3GPP-LTE . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.2 Exemple d’un treillis à 8 états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.3 Les notations de BCJR dans le treillis . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.4 Le principe du turbo décodage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.5 Fonction en escalier de conversion de la virgule flottante à la virgule fixe . . . . . . 111 4.6 Modèle virgule fixe du bloc SISO dans le turbo décodeur . . . . . . . . . . . . . . . 115 4.7 Analyse de la dynamique pour Nλch = 5 bits . . . . . . . . . . . . . . . . . . . . . 115 4.8 Effet de la quantification des entrées LLRs . . . . . . . . . . . . . . . . . . . . . . . 116 4.9 Analyse de la performance de l’algorithme de turbo-décodage en virgule fixe . . . . 117 4.10 Performance virgule fixe de bout en bout pour différentes valeurs de Aλch ..... 118 4.11 Exemple du graphe tanneur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.12 Matrice prototype du LDPC WIMAX 2/3a . . . . . . . . . . . . . . . . . . . . . . 120 4.13 Représentation du treillis à deux états d’une contrainte de vérification de parité avec dc = 5 ........................................ 121 4.14 Modèle virgule fixe du décodeur BCJR à 2-états . . . . . . . . . . . . . . . . . . . 122 4.15 Modèle virgule fixe du décodage à couche des codes LDPC . . . . . . . . . . . . . . 123 4.16 Effet de la quantification des entrées LLRs . . . . . . . . . . . . . . . . . . . . . . . 125 4.17 Effet de la quantification des métriques cumulées de chemin dans le processeur CN 125 4A.1 Domaine de la fonction caractéristique . . . . . . . . . . . . . . . . . . . . . . . . . 130 A.2 Quantification double . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 B.1 diagramme des cas particuliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 B.2 méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 56Liste des tableaux 1.1 Comparaison de la dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2 Comparaison du RSBQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.3 Paramètres statistiques du bruit généré . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1 État des séquences d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.1 Les paramètres du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.2 Les paramètres virgule fixe optimaux du turbo-décodeur . . . . . . . . . . . . . . . 118 78Glossaire A Arrondi AC Arrondi Convergent APA Algorithmes de Projection Affine ASIC Application Specific Integrated Circuit ASIP Application Specific Instruction-set Processor CA2 Complément à 2 DSP Digital Signal Processor FIR Finite Impulse Response IIR Infinite Impulse Response LMS Least Mean Square LSB Last Significant Bit MCR Moindres Carrés Récursifs MSB Most Significant Bit NLMS Normalize Least Mean Square RLS Recursive Least-Square RSBQ Rapport Signal sur Bruit de Quantification T Troncature TNS Transmission Numérique du Signal 910Notations E Terme d’espérance q Pas de quantification x(n) Donnée scalaire à un instant n X(n) Donnée vectorielle à un instant n X(n) Donnée matricielle à un instant n mX Moyenne de la donnée X(n) scalaire ou matricielle µx Moyenne du scalaire x(n) σ2 x Variance du scalaire x(n) RXX(θ) = E[X(n)Xt (n − θ)] Matrice d’autocorrélation des données X(n) CXX(θ) = E ! (X(n) − mX) " Xt (n − θ) − mt X #$ Matrice de covariance des données X(n) 1112Introduction De nos jours, le Traitement Numérique de Signal ne cesse d’évoluer pour répondre aux exigences actuelles de plusieurs domaines tels que les télécommunications qui ont marqué une avancée impressionnante. De plus, les algorithmes de Traitement Numérique de Signal figurent dans diffé- rentes applications telles que le domaine médical, l’aéronautique, le multimédia et l’électronique grand public. L’évolution rapide de la technologie des semi-conducteurs a conduit à d’énormes innovations dans le domaine de conception des produits électroniques pour implanter des applications de plus en plus complexes. Les équipements électroniques disponibles sur les marchés d’aujourd’hui sont caractérisés par une concurrence entre les grandes entreprises d’électronique pour les rendre plus efficaces et multifonctionnels. Cela s’est manifesté par l’évolution rapide des réseaux radio mobile particulièrement avec la quatrième génération (ou 4G). Par conséquent, les équipements de ces normes intègrent différentes technologies de communication numérique (WIFI, Bluetooth, GPS,...) qui cohabitent ensemble au sein du même équipement avec plusieurs applications fondées sur des algorithmes de traitement numérique de signal. En conséquence, ces grandes firmes d’électronique se trouvent face à un cycle continu de conception et de livraison des produits. A chaque itération de ce cycle, les concepteurs ont besoin de travailler avec une très haute complexité technologique en visant en même temps à fournir davantage de valeur ajoutée au consommateur dans les meilleurs délais. Les smart-phones actuels avec la 4G sont un bon exemple d’un équipement électronique de télécommunication, de traitement de signal et de semi-conducteurs et qui nécessite de très hautes capacités de calcul pour accomplir les diverses applications qui sont embarquées dans ces équipement et assurer les performances demandées pour la voix et le trafic des données. De plus, ils sont équipés de plusieurs outils de multimédia tels que les caméras par exemple pour enregistrer des vidéos et jouer de la musique en temps réel. Tout cela est conçu sous les contraintes d’énergie et de temps. L’exemple des smart-phones peut être généralisé pour la conception des équipements électroniques modernes afin de à minimiser le coût du système en termes de surface de silicium, le profit de la consommation de puissance et le temps d’exécution sous contrainte de performances améliorées en termes de précision de calcul et du temps de réponse. Par conséquent, ces objectifs représentent "pour les concepteurs" un compromis entre les performances et le coût. En conséquence, il est très important de faire les choix adéquats à chaque étape de conception afin d’assurer les meilleurs performances possibles du système global. De plus, le temps de mise sur le marché (Time-to-market) de ces produits doit être réduit. Pour cette raison, la conception et le développement de ces applications nécessitent l’utilisation des outils de haut-niveau qui interviennent dans toutes les étapes du cycle de développement des applications de traitement numérique de signal et de communication numérique. Le rôle de ces outils est de fournir aux concepteurs des facilités d’implantation pour choisir la meilleure architecture à implémenter en permettant de passer d’un haut niveau d’abstraction à une caractérisation bas niveau. Également, le choix des opérateurs utilisés pour implémenter ces algorithmes influence très largement le compromis coût/performance. Les opérateurs en arithmétique virgule flottante et en arithmétique virgule fixe sont les deux choix les plus courants pour l’implémentation de toutes les opérations arithmétiques. Il convient de préciser que l’implémentation en arithmétique virgule fixe possède l’avantage d’une consommation de puissance inférieure à celle en arithmétique virgule flottante, mais aussi elle est marquée par une latence plus courte et des surfaces significativement plus petites. Par conséquent l’arithmétique en virgule fixe est un choix populaire pour l’implémenta- 12 Contexte de l’étude tion des algorithmes de traitement numérique de signal (TNS) qui possèdent des paramètres de performances rigoureux à achever et qui demandent des puissances de calcul élevées. Contexte de l’étude Le processus de conception des algorithmes de traitement numérique de signal s’effectue selon plusieurs étapes. Le concepteur est ainsi amené à faire le choix approprié en considérant plusieurs options disponibles à chaque étape du cycle de conception de l’application. Un choix particulier qui conduit à l’amélioration des performances du système est invariablement associé à l’augmentation indésirable du coût du système. Par conséquent, la prise de décision d’un bon choix est réalisé par l’intermédiaire d’un nombre d’itérations de vérification avant d’arriver au choix optimal. Les différentes étapes de conception d’une application de traitement numérique de signal sont décrites par la figure 1. Figure 1 – Cycle de conception d’une application de traitement numérique de signal La première étape de ce cycle est la définition du cahier de charge en spécifiant les différentes fonctions à accomplir par le système conçu ainsi que les différentes contraintes architecturales du système par rapport à la consommation d’énergie et au niveau temporel. L’étape suivante correspond à la conception de l’algorithme et la spécification d’une description complète de l’algorithme qui est une tâche donnée dans le contexte de cette thèse. A cette étape, des simulations sont effectuées pour vérifier les différents critères conçus à travers des outils tels que Matlab (Mathworks), Scilab (Inria). Ces simulations sont effectuées en utilisant l’arithmétique virgule flottante pour s’affranchir des problèmes de précision des calculs. Une fois l’algorithme est conçu, celui ci est décrit à l’aide d’un langage de programmation (C,C embarqué) et implanté dans le système embarqué. L’implantation peut être logicielle ou matérielle à travers les solutions architecturales tels que ASIC, FPGA ou DSP. L’étape suivante concerne la détermination d’une représentation convenable en virgule fixe. Cette tache est le centre d’intérêt de cette thèse. Les contraintes de coût et de consommation des systèmes embarqués conduisent à l’utilisation de l’arithmétique en virgule fixe puisqu’elles sont moindres par rapport à l’arithmétique virgule flottante car les largeurs des données de cette dernière sont plus larges qu’en format virgule fixe.Problématique de la thèse 3 Généralement, les données en virgule flottante sont codées sur 32 bits alors qu’en virgule fixe, elle sont codées sur 16 bits. Également, les opérateurs en virgule fixe sont moins complexes qu’en virgule flottante. Par contre, le temps de développement en virgule fixe est plus important car les formats des différentes données en virgule fixe doivent être optimisés et bien définis pour éviter le débordement au sein de l’application. Par conséquent une conversion de la logique virgule flottante vers l’arithmétique virgule fixe est effectuée. Cette tâche, longue, peut constituer 30% du temps d’implantation du système. De plus, elle conduit à de nombreuses erreurs et ainsi la représentation en virgule fixe doit garantir l’intégrité de l’application et satisfaire les contraintes de performance. Afin de répondre aux exigences du temps de mise sur le marché, cette conversion est automatisée à travers des outils de conversion automatique qui visent à répondre aux exigences de la précision pour maintenir les performances de l’algorithme tout en optimisant les coûts. Une fois qu’un format convenable de virgule fixe est sélectionné, le système est implémenté et une vérification des performances du système selon les critères de l’utilisateur est effectuée. Si les résultats sont satisfaisants, la conception est clôturée, sinon, toutes les étapes à partir de l’optimisation en arithmétique virgule fixe doivent être répétées pour compenser les lacunes du format virgule fixe précédent. Le bloc d’implémentation n’est pas détaillé dans la figure 1 afin de mettre l’accent sur l’élé- ment central de cette thèse. Dans la pratique, ce bloc est complexe et peut être séparé en plusieurs sous-blocs. Dans le cas d’une implémentation logicielle, il existe des compilateurs, tels que le compilateur GCC (GNU Compiler Collection), qui sont spécifiquement optimisés pour des architectures de processeurs spécifiques. Problématique de la thèse Il existe quatre tâches pour l’implémentation en arithmétique virgule fixe d’un système donné tel que montré par la figure 2. Figure 2 – Les étapes d’implémentation en virgule fixe La première tâche concerne l’estimation de la dynamique des signaux. En effet, une détermination de la dynamique est requise pour connaître l’intervalle des valeurs prises par les données.4 Problématique de la thèse Ensuite le nombre de bits accordé à la partie entière du format virgule fixe est déduit. En d’autres termes, cette première étape conduit à déterminer la position de la virgule qui doit permettre d’éviter la présence de débordements. En addition, un alignement de la virgule des opérandes est effectué par le biais des opérations de recadrage afin d’adapter les données à leurs dynamiques. Dans une seconde étape, l’optimisation en arithmétique virgule fixe nécessite de déterminer le nombre de bits à affecter à la partie fractionnaire. Ce nombre de bits résulte d’un compromis entre le coût d’implantation et la précision des calculs. La deuxième tâche concerne la mesure des pertes en précision causées par l’utilisation des opérateurs et des données en arithmétique virgule fixe. En effet, l’utilisation de l’arithmétique virgule fixe engendre des erreurs de calculs par rapport aux opérations réalisées en précision infinie. Par conséquent, l’évaluation de la précision des calculs est une étape primordiale dans le processus de conception des applications en format virgule fixe. Cette tâche constitue l’objet principal de ce travail de thèse, en particulier l’évaluation de la précision des systèmes de traitement numérique de signal et de communication numérique constitués d’opérateurs non lisses (un-smooth) et non linéaires en terme du bruit. L’évaluation de la précision se fait par le biais d’une métrique caractérisant les performances de la précision qui est généralement le Rapport Signal à Bruit de Quantification (RSBQ). Dans [82], une méthode est présentée pour déterminer la valeur minimale du RSBQ et par conséquent l’optimisation en arithmétique virgule fixe se fait sous une contrainte de précision obtenue par le biais de la valeur minimale du RSBQ. De plus, l’estimation des avantages du coût correspondant à l’utilisation du format virgule fixe constitue un défi à résoudre. En effet, l’objectif visé est de faire un compromis entre les pertes en précision et les gains en coût d’implémentation en respectant les contraintes de la conception et en faisant un choix optimisé du format virgule fixe. Dans le cas d’une implémentation logicielle sur un DSP ou bien un micro-contrôleur, l’architecture est fixée et les opérateurs sont prédéfinis sur une largeur bien précise. Néanmoins, les processeurs peuvent manipuler plusieurs types d’instructions telles que les instructions de type SWP (Sub-Word Parallelism) qui permettent d’accélérer les temps d’exécution en favorisant le parallélisme des opérations. D’autres part, les processeurs fournissent des instructions multipré- cisions permettant de traiter les données enregistrées en mémoire avec une précision plus élevée. Le temps d’exécution Texe de ce type d’instruction est alors plus important et le problème posé consiste à trouver le point optimum de fonctionnement correspondant au temps minimal d’exé- cution Texe satisfaisant également la contrainte de précision RSBQmin. En d’autres termes, le temps d’exécution Texe est minimisé tant que la contrainte de précision RSBQmin est satisfaite. Cette approche conduit au problème d’optimisation suivant : min B∈EB (Texe(B)) tel que RSBQ(B) ≥ RSBQmin (1) où B représente le vecteur contenant les largeurs des données présentes dans l’algorithme et EB désigne l’ensemble des largeurs supportées par le processeur. Le temps d’exécution du code dépend du type d’instruction choisi. L’implémentation matérielle sur un FPGA ou un ASIC est fondée sur une définition de l’architecture qui détermine le nombre d’opérateurs impliqués dans l’application. Particulièrement, la largeur des différents opérateurs arithmétiques est à fixer. Dans ce cas d’implémentation, l’objectif de la méthodologie est de minimiser le coût de l’architecture en termes de consommations de ressources et d’énergie sous contrainte d’une précision donnée des calculs. Les coûts locaux des éléments présents dans l’architecture conduisent à la minimisation du coût global Carch de l’architecture sous la contrainte de précision minimale exprimée par RSBQmin (équation 2). Une telle approche fera l’objet du troisième chapitre de cette thèse dédié à l’implémentation efficace sur FPGA de l’algorithme d’égalisation à retour de décision sous contrainte d’une probabilité d’erreur de décision minimale. min B∈EB (Carch(B)) tel que RSBQ(B) ≥ RSBQmin (2)Contributions 5 Les 2 méthodologies définies par les relations 1 et 2 font appel à une contrainte d’optimisation liée à l’évaluation de la précision des calculs en arithmétique virgule fixe. L’évaluation de cette précision constitue la pierre angulaire de ce travail de thèse. Deux approches différentes sont classiquement envisagées pour effectuer cette tâche : l’approche basée sur des simulations en arithmétique virgule fixe et l’approche basée sur des modèles analytiques permettant de caractériser la métrique de précision. Étant donné que la précision des calcul est évaluée à chaque itération du processus d’optimisation, l’approche par simulation engendre des temps d’optimisation prohibitifs. Par conséquent, pour limiter cet effet, des modèles analytiques ont été proposés pour évaluer la précision en virgule fixe des systèmes de communication numérique et de traitement numérique de signal. Dans ce dernier cas, la métrique de précision (RSBQ(B)) est calculée à chaque itération du processus ce qui nécessite la connaissance de son expression analytique en chaque point du graphe décrivant l’algorithme. Par conséquent, le temps d’évaluation est significativement réduit. Dans la littérature, des approches analytiques ([32], [69]) ont été proposées pour évaluer la précision des systèmes linéaires et invariants dans le temps (LTI), les systèmes non-LTI nonrécursifs dans [70] et également les systèmes LTI et non-LTI récursifs. L’objectif de ce travail de recherche est de proposer des modèles analytiques des systèmes de communication numérique et de traitement numérique de signal formés par des opérateurs non lisses et non linéaires en terme de bruit tels que les algorithmes de décodage sphérique, l’égalisation à retour de décision ou encore le turbo-décodage. De plus, des optimisations des largeurs des données en format virgule fixe pour ces applications ont été abordées en se basant sur les modèles analytiques proposés. Contributions Les travaux effectués durant cette thèse s’articulent autour trois grands piliers. Dans un premier temps, des modèles analytiques pour l’évaluation de la précision des systèmes constitués d’une cascade d’opérateurs non lisses de décision ont été proposées en collaboration avec les travaux de recherche effectués dans le cadre de la thèse de Karthick PARSHAR au sein de la même équipe CAIRN. Cette étude repose sur l’identification d’opérateurs non lisses et sur la caractérisation des bruit de quantification engendrés par ce type d’opérateurs. Dans une seconde étape, ce travail a été étendu à l’analyse du phénomène de propagation des erreurs de décision lorsque plusieurs opérateurs de décision sont utilisés en cascade. Ce travail nous a permis de définir un modèle analytique général permettant d’évaluer la précision de systèmes constitués d’une cascade d’opérateurs de décision comme, par exemple, les systèmes de communications numériques. Ainsi, les modèles analytiques proposés seront appliqués à l’évaluation des algorithmes de décodage sphérique tel que l’algorithme SSFE (Selective Spanning with Fast Enumeration). La seconde contribution de cette thèse concerne l’évaluation de la précision des systèmes de communication numérique basés sur l’itération d’opérateurs non lisses de décision. Cette étude a fait l’objet d’une approche analytique permettant l’évaluation de la précision en arithmétique virgule fixe lorsque l’itération d’opérateurs non lisses de décision converge en se basant sur la résolution d’un système d’équations non linéaires par la méthode de Newton-Raphson. Cependant, le temps d’évaluation de cette approche demeurant assez élevé pour des constellations à forte efficacité spectrale, nous proposons une approche alternative dans une seconde étape afin de remédier à ce problème. Cette dernière fournit une borne supérieure de la probabilité d’erreur de décision lorsque les systèmes convergent. Elle sera appliquée à l’évaluation de la précision de l’égaliseur à retour de décision. Enfin, la dernière contribution de cette partie concerne l’optimisation de l’implémentation en virgule fixe sur FPGA d’un égaliseur numérique à retour de décision ou DFE (Deision Feedback). Cette optimisation est effectuée sous une contrainte de précision exprimée à travers la probabilité d’erreur de décision. Ainsi, une architecture de DFE a été proposée permettant de fixer les largeurs des données de cet algorithme à partir d’un compromis entre la consommation en ressources matérielles et en énergie obtenue pour différentes contraintes de précision. Nous avons proposé une architecture en format virgule fixe du turbo décodeur qui utilise une6 Organisation de la thèse loi de quantification basée sur le couple (A, Nx) où A représente la dynamique de signal et Nx le nombre total de bits utilisés dans la représentation en virgule fixe du signal x à quantifier. Nous montrerons que ce schéma de quantification est plus flexible que la quantification classique représentée par le couple du nombre de bits pour la partie entière et le nombre de bits pour la partie fractionnaire (NI , NF ), sans tenir compte de la dynamique. En effet, dans les approches classiques, la dynamique est généralement limitée à une puissance de deux tandis que cette approche s’affranchit de cette restriction. Dans une seconde étape, nous avons visé à réduire la taille des mémoires utilisées dans l’implémentation du turbo décodeur afin de satisfaire la contrainte de faible complexité. Cette réduction est faite à travers des techniques de saturation et de troncature. Finalement, une évaluation des performances en arithmétique virgule fixe est réalisée par l’analyse des taux d’erreur par paquet FER (Frame Error Rate) en fonction du SNR (Signal to Noise Ratio). Des choix sur la largeur des données sont discutés afin de réaliser un compromis entre les solutions à hautes performances et celles à faibles complexités. L’ensemble de cette méthodologie a également été appliqué à la modélisation d’un décodeur LDPC en se basant sur le principe de fonctionnement du décodage-LDPC. Organisation de la thèse Cette thèse est constituée de quatre parties. Le premier chapitre est un chapitre introductif présentant les différents aspects des arithmétiques en virgule flottante et en virgule fixe avec une comparaison entre les deux arithmétiques en termes de plusieurs critères. Cette comparaison justifie l’intérêt de l’utilisation de la représentation en virgule fixe pour les systèmes embarqués et les algorithmes de traitement numérique de signal. Ensuite, les différentes approches pour l’évaluation de la précision en virgule fixe sont explicitées, en particulier les approches par simulation et les approches basées sur des modèles analytiques. Une comparaison entre ces deux approches est ensuite présentée ce qui conduira à justifier l’avantage de l’utilisation des modèles analytiques en termes d’optimisation du temps d’évaluation et des capacités de calcul. Le deuxième chapitre de cette thèse définit tout d’abord la notion d’opérateurs non lisses en proposant une technique pour les identifier. Nous présentons ensuite un modèle analytique pour l’évaluation de la précision d’un opérateur de décision non lisse. Dans une seconde étape le problème de la propagation des erreurs de décisions dans une cascade d’opérateurs de décision est abordé en proposant des modèles analytiques permettant l’évaluation de ce genre de configuration dans les systèmes de communication numérique. Ces modèles analytiques ont été appliqués à l’algorithme SSFE. La troisième partie de cette thèse est consacrée à la présentation des modèles analytiques permettant l’évaluation de la précision des itérations d’opérateurs de décision. En premier lieu, une étude est menée sur la caractérisation du phénomène de propagation des erreurs causées par l’opérateur de quantification utilisé dans une structure itérée. Deux modèles analytiques sont ensuite présentés pour évaluer la probabilité d’erreur de décision dans le mode de convergence. Ces modèles sont appliqués, dans une seconde étape, pour évaluer la précision de l’algorithme d’égalisation à retour de décision DFE tout en présentant une solution pour l’algorithme DFE adaptatif. La dernière partie de ce chapitre présente une optimisation en arithmétique virgule fixe des largeurs de données du DFE pour une implémentation sur un FPGA. Cette optimisation vise à minimiser le coût de l’architecture en termes de consommation des ressources et de puissance sous une contrainte de précision exprimée sous forme de probabilité d’erreur de décision. Le dernier chapitre de cette thèse présente des modélisations en arithmétique virgule fixe de deux algorithmes de décodage itératif. Nous présentons tout d’abord le principe du turbo décodage. Nous proposons ensuite un modèle en arithmétique virgule fixe pour ce décodeur en se basant sur des techniques de saturation et de troncature pour viser à des solutions à faible complexité. La dernière partie du chapitre est consacrée à l’évaluation expérimentale du modèle proposé à travers la mesure des performances en FER. De même, nous présentons dans la dernière partie le principe de décodage LDPC en proposant une architecture en format virgule fixe deOrganisation de la thèse 7 ce dernier. L’évaluation des performances en arithmétique virgule fixe du modèle proposé est effectuée à travers les résultats obtenus.8Chapitre 1 Arithmétique virgule fixe Sommaire 1.1 Les différents types de formats de données . . . . . . . . . . . . . . . . 10 1.1.1 Représentation des nombres entiers . . . . . . . . . . . . . . . . . . . . . 11 1.1.2 Le format virgule fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.1.3 Le format virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.1.4 Comparaison arithmétiques virgule flottante et virgule fixe . . . . . . . 14 1.2 Modélisation du bruit de quantification . . . . . . . . . . . . . . . . . . 20 1.2.1 Processus de quantification . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.2.2 Signal à amplitude continue . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.2.3 Signal à amplitude discrète . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.3 Évaluation de la précision . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.3.1 Les métriques de précision . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.3.2 Les méthodes d’évaluation de la précision par simulation . . . . . . . . . 29 1.3.3 Les approches analytiques de l’évaluation de la précision . . . . . . . . . 32 1.3.4 Autres effets de la quantification . . . . . . . . . . . . . . . . . . . . . . 38 1.3.5 Bilan des deux approches . . . . . . . . . . . . . . . . . . . . . . . . . . 38 1.3.6 Les approches hybrides . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Cette partie est consacrée à la présentation des spécifications de l’arithmétique virgule fixe ainsi que des différentes techniques existantes pour évaluer la précision des systèmes virgule fixe. En effet, les arithmétiques virgule fixe et virgule flottante sont les arithmétiques binaires de données les plus utilisées sur les plates-formes informatiques modernes. La première partie de ce chapitre est consacrée à la description des différents types de codage. Les circuits en arithmétique virgule fixe ont existé depuis les premiers ordinateurs électroniques et les calculateurs. Choisir le format approprié en arithmétique virgule fixe a toujours été un sujet de préoccupation. Auparavant, ce choix était influencé principalement par des considérations liées à la puissance de calcul des processeurs mais également par des considérations sur la mémoire nécessaire en raison de la latence et du coût de celle-ci. La plupart des algorithmes numériques complexes devaient compter sur des tables précalculées durant les calculs. Aujourd’hui, la définition du format en virgule fixe d’un nombre est impactée par des considérations telles que la surface de silicium, le temps d’exécution et la consommation totale d’énergie du dispositif électronique. L’arithmétique virgule fixe répond bien à ces exigences par rapport à l’arithmétique flottante. Par contre, l’utilisation de l’arithmétique virgule fixe engendre la génération de bruits de quantification causés par les débordements lors du changement de format. Ces bruits, présentés dans la deuxième partie de ce chapitre, se propagent ensuite au sein du système global et conduisent à la modification de la qualité de l’application. Par conséquent, l’évaluation de la précision est une étape primordiale lors de la conversion de format flottant au format fixe afin de garantir l’intégrité de l’application. Il 910 Arithmétique virgule fixe est donc important de disposer de méthodologies d’évaluation de cette précision en arithmétique virgule fixe. Ce point fera l’objet de la troisième partie de ce chapitre. Il existe deux familles d’approches : l’approche d’évaluation par simulation qui est basée sur des simulations virgule fixe de l’application et l’approche d’évaluation analytique qui consiste à trouver des modèles analytiques basés sur des métriques. Nous menons ci-après une analyse des points forts de chacune de ces deux approches ce qui nous permettra de sélectionner l’approche retenue dans le cadre de ce travail. 1.1 Les différents types de formats de données Le choix d’une représentation binaire relève d’une problématique qui concerne toute plateforme numérique actuelle. Faire un choix d’une représentation ou d’une arithmétique représente une étape primordiale dans le développement d’une application numérique. Les arithmétiques virgule fixe et virgule flottante sont généralement utilisées dans un but de stockage ou de calcul. En général, les algorithmes de traitement numérique de signal demandent des capacités de calcul intensif. Par conséquent, le choix du bon format de représentation des nombres joue un rôle crucial pour une implémentation efficace de n’importe quel algorithme de traitement numérique de signal. Dans le calcul numérique, le système de numération spécifie la méthode selon laquelle les nombres sont représentés comme étant une séquence de chiffres binaires et il spécifie également les règles pour effectuer les opérations arithmétiques (ex. addition, multiplication etc.) entre ces nombres. Dans la plupart du temps, les calculs scientifiques donnent seulement une approximation de la valeur exacte qui serait obtenue avec une précision infinie. Ceci est une conséquence du nombre limité de bits utilisés dans le système de numération. Quel que soit l’arithmétique virgule fixe ou l’arithmétique virgule flottante utilisée, seulement un nombre fini de bits est utilisé pour la représentation des nombres réels. La précision limitée des standards de codage peut être évaluée selon deux perspectives diffé- rentes. La première concerne la précision des calculs déterminée par l’étape de quantification du système de numération (la distance entre deux nombres). Le second aspect est relatif à la variation de la dynamique maximale permise par la représentation. Cette variation de la dynamique d’un système de numération est donnée par l’ensemble des valeurs possibles qui peuvent être représentées. Elle est évaluée à travers le logarithme du quotient entre les amplitudes maximale et minimale du signal comme indiqué à l’équation (1.1). Par conséquent, la comparaison entre le codage en virgule flottante et en virgule fixe est fondée en particulier sur l’analyse de la précision numérique et la variation de la dynamique selon la relation : DdB = 20log10 %XMAX XMIN & . (1.1) Généralement, les algorithmes pour les systèmes embarqués sont développés en utilisant l’arithmétique virgule flottante afin d’éviter les problèmes liés à la longueur finie d’un mot de code. Ce processus valide l’intégrité de l’algorithme et vérifie si l’algorithme proposé répond bien au cahier des charges. Même si l’erreur inhérente à l’exactitude de calcul existe toujours, elle demeure faible par rapport à celle obtenue par l’arithmétique en virgule fixe. Par conséquent, le calcul en virgule flottante garantit une précision et une variation de dynamique suffisantes dans la plupart des cas. Néanmoins, la plupart des implémentations VLSI utilisent l’arithmétique en virgule fixe pour réduire la surface et la consommation d’énergie et obtenir un matériel rentable. En contrepartie, une dégradation de la précision des calculs est produite en raison du nombre limité de bits utilisés dans la représentation des données. En effet, l’utilisation du codage en virgule fixe introduit des bruits de quantification lors de l’élimination de bits à travers les opérations de saturation (arrondi) et troncature. En outre, cela conduit à l’apparition de débordements à chaque fois que la longueur du mot de code de la partie entière est insuffisante pour représenter l’ensemble de la variation de la dynamique.1.1 Les différents types de formats de données 11 Dans cette section, les différents types d’arithmétiques pour les systèmes numériques sont abordés. En premier lieu, l’arithmétique virgule flottante est introduite, ensuite, l’arithmétique virgule fixe est présentée en la comparant avec celle virgule flottante afin de montrer les avantages et les inconvénients de chacune de ces deux représentations. 1.1.1 Représentation des nombres entiers Numération simple de position Un entier p (compris entre 0 et BN − 1) est décomposé dans la base B d’une façon unique selon la formule suivante : p = N '−1 i=0 aiBi . (1.2) Les ai sont des chiffres compris entre 0 et B − 1. L’entier p est noté dans la base B de la façon suivante : (aN−1...a2a1a0)B ou tout simplement (aN−1...a2a1a0) si la base B a été prédéfinie auparavant. Ainsi la chaîne aN−1...a2a1a0 est nommée l’entier simple associé à p en base B (ESAB) selon : ESAB(aN−1...a2a1a0) = N '−1 i=0 aiBi . (1.3) Notation Signe - Valeur Absolue (SVA) La notation en numération simple d’un nombre signé correspond à la représentation de la valeur absolue de ce nombre en numération simple de position en ajoutant un symbole spécifiant le signe du nombre à représenter. L’inconvénient de cette représentation se manifeste par les opérations mathématiques effectuées sur des nombres respectant cette notation. En effet, à titre d’exemple, l’addition de deux nombres nécessite l’utilisation de deux algorithmes : un algorithme d’addition si les deux nombres possèdent le même signe et un algorithme de soustraction dans le cas contraire. Présentation en complément à la base Afin d’éviter le problème de prise en compte du signe des opérandes présent pour la notation SVA, le système de numération des entiers, en complément à la base B a été créé. Par conséquent dans le cas où B est une base paire, l’entier p = (aN−1...a2a1a0)B¯ est représenté de la façon suivante : – Si 0 ≤ p ≤ BN /2 − 1, la représentation est celle de l’équation (1.2) : ESAB(aN−1...a2a1a0) = p. – Si −BN /2 ≤ p ≤ −1, le codage est réalisé selon l’expression suivante : ESAB(aN−1...a2a1a0) = BN + p. Par conséquent, grâce à cette notation, on utilise un seul algorithme d’addition modulo BN pour réaliser l’addition de tous les entiers compris entre −BN /2 et BN /2. Si le signe du résultat de l’addition est différent de celui des opérandes, il en résulte un dépassement de capacité. Dans le cas où B = 2, cette notation est connue sous le nom de notation à complément à deux (CA2). 1.1.2 Le format virgule fixe Soit x un réel écrit sous la forme x = pK avec p un entier codé selon l’une des représentations décrites précédemment où K est appelé le facteur d’échelle. Ce facteur d’échelle est une puissance de la base B préalablement fixée : K = Bn . La position de la virgule peut alors être référencée par un entier n relativement au bit de poids faible (Least Significant Bit ou LSB) ou par un entier m relativement au bit de poids fort (Most Significant Bit ou MSB). Dans ce cas, le réel x peut se représenter selon la figure 1.1 où les deux entiers n et m représentent les distances entre la virgule et le LSB et le MSB (Most Signifiant Bit) respectivement.12 Arithmétique virgule fixe Figure 1.1 – Représentation des données en virgule fixe La figure 1.1 représente un codage en virgule fixe d’un nombre avec un bit de signe S, m bits pour la partie entière et n bits pour la partie fractionnaire. Le nombre de bits utilisés dans cette représentation est b = m + n + 1. Le format d’une donnée en virgule fixe est entièrement défini par la représentation choisie et la largeur de sa partie entière et de sa partie fractionnaire. Généralement, les nombres en arithmétique virgule fixe utilisent une représentation en complément à deux. La valeur d’un nombre est donnée par la relation suivante : x = −2mS + m '−1 i=−n bi2i . (1.4) Cette représentation possède des propriétés arithmétiques intéressantes pour les opérations d’addition et soustraction. En effet, même si les résultats intermédiaires d’une série d’additions sont en dehors du domaine de définition du codage, le résultat final sera correct si celui-ci appartient au domaine de définition du codage. De plus, l’implantation dans les processeurs numériques des opérateurs traditionnels utilisant ce code est simplifiée lorsque l’on utilise cette représentation. x = −2mS + m '−1 i=−n bi2i . (1.5) Par ailleurs, elle possède l’avantage de n’autoriser qu’une seule représentation possible pour 0. Par conséquent, le domaine des valeurs possibles n’est pas symétrique par rapport à l’origine, et il possède 2m+n valeurs négatives et 2m+n − 1 valeurs positives, soit : D = [−2m; 2m − 2−n]. (1.6) La notation en format virgule fixe est simple et permet d’effectuer les calculs rapidement. En contrepartie, comme le facteur d’échelle K est fixé, la notation en virgule fixe ne permet pas de représenter des nombres d’ordre de grandeur très différents. De plus, il n’est pas toujours facile de fixer a priori le facteur d’échelle si l’ordre de grandeur des valeurs prises par la donnée n’est pas connu par avance. La notation en virgule flottante permet de résoudre ces problèmes. 1.1.3 Le format virgule flottante Le système des nombres en virgule flottante est le standard de codage le plus utilisé lorsqu’une grande précision est requise. Il représente un nombre réel selon une notation scientifique avec une partie fractionnaire appelée mantisse et un facteur d’échelle appelé exposant, comme représenté dans la figure 1.2. L’exposant est défini comme une puissance de la base (typiquement 2 et 10) et il est utilisé comme un facteur d’échelle explicite qui change durant les calculs permettant ainsi1.1 Les différents types de formats de données 13 une dynamique large pour les valeurs représentées. La mantisse détermine la précision de nombre représenté. Figure 1.2 – Représentation des données en virgule flottante Soit x un réel signé écrit en format flottant dans la base B avec un signe S, une mantisse M et un exposant E. La valeur associée à ce réel est donnée par l’équation suivante : x = (−1)SMBE. (1.7) Comme le nombre de bits accordés à la mantisse et à l’exposant peut prendre un grand nombre de valeurs possibles, un format virgule flottante normalisé a été introduit. La norme IEEE pour l’arithmétique virgule fixe binaire (IEEE 745-2008) est utilisée dans la plupart des CPUs d’aujourd’hui. Elle spécifie le format virgule flottante et également les modes d’arrondis. Elle décrit non seulement comment les opérations arithmétiques doivent être effectuées, mais aussi le traitement des exceptions (division par zéro, les débordements,...). La valeur d’un nombre représenté selon le format virgule flottante de la norme IEEE 745 est calculée : x = (−1)S1M2E−biais. (1.8) La mantisse est normalisée pour représenter une valeur dans l’intervalle [1, 2]. Par conséquent, la valeur de son premier bit est fixée à 1 et devient implicite. La valeur de l’exposant est codée comme un nombre non signé. Alors, afin de représenter les nombres inférieurs à 1, un biais est introduit. Ce biais dépend du nombre de bits alloués à l’exposant : biais = 2Ne−1 − 1. Dans le cas d’un format de précision simple, le biais est 127 et la gamme de l’exposant est [−126, 127]. Pour la double précision, le biais est 1023 et l’exposant prend ses valeurs dans [−1022, 1023]. Il est à noter que la représentation d’un nombre n’est pas unique et les zéros à gauche de la mantisse dégradent la précision. Par exemple, considérons la base 10 avec 4 chiffres de mantisse, π peut être représenté par 0.031102 ou 3.142100. Ces deux représentations ne possèdent pas la même précision. Par conséquent, pour éviter cette ambiguïté, une représentation sans zéro à gauche est proposée et correspond à la représentation normalisée en virgule flottante. Dans ce cas, le premier bit de la mantisse représente le coefficient 1 2 et est fixé à 1. La valeur de ce bit est inchangée au cours du traitement et ne figure pas dans dans la représentation. Dans le cas où l’exposant est une puissance de deux (cas binaire), la mantisse et l’exposant sont codés avec une représentation en signe valeur absolue, la valeur de la donnée x est la suivante : x = 2u(−1)SM (1 2 + M '−1 i=1 Ci2−i−1 ) avec u = (−1)SE E '−1 i=1 di2i . (1.9) La valeur 0 n’est pas représentable selon l’équation (1.9). Par conséquent, le domaine de définition des valeurs représentables avec ce codage est l’union de deux sous-domaines donnés par l’expression suivante : DR = * − 2K; −2−K−1 +,* 2−K−1; 2K+ avec K = 2E−1 − 1. (1.10)14 Arithmétique virgule fixe L’écart minimal entre deux valeurs représentables par le code considéré détermine le pas de quantification dont la valeur varie en fonction de la valeur représentée. Pour les valeurs de x comprises dans l’intervalle [−2u, −2u−1] -[2u, 2u−1], le pas de quantification est égal à : q = 2u2−(M+1). (1.11) L’étape de quantification de la norme de codage en virgule flottante dépend de la valeur à représenter. En effet, lorsque la valeur de l’exposant augmente (respectivement diminue), la distance entre deux nombres successifs représentables devient plus importante (respectivement plus faible), i.e. le pas de quantification augmente (respectivement diminue) conformément à la relation d’ordre : 2−(M+1) < q | x | < 2−M. (1.12) Ainsi, la présence d’un facteur d’échelle explicite permet d’adapter le pas de quantification à la valeur de la donnée à coder. 1.1.4 Comparaison arithmétiques virgule flottante et virgule fixe Nous présentons dans cette section une comparaison entre le format virgule flottante et le format virgule fixe afin de mettre en évidence leurs avantages et inconvénients. Cette comparaison est fondée sur l’analyse de deux aspects. Le premier est l’aspect arithmétique et le deuxième est le coté implantation matérielle puisque l’objectif de cette thèse concerne l’évaluation de la précision et la recherche du format optimal de représentation conduisant à une implémentation matérielle efficace en termes de consommation d’énergie et de ressources. Comparaison d’un point de vue arithmétique La qualité du codage est analysée, d’un point de vue arithmétique, en évoquant la dynamique de chacun des deux codages et également le rapport signal à Bruit de quantification. Comparaison de la dynamique Une représentation efficace des nombres doit à la fois supporter une dynamique large mais également disposer d’une grande précision. En d’autres termes, la représentation d’un nombre devient plus polyvalente avec un rapport plus élevé de la dynamique et la précision. Typiquement, les deux formats virgule fixe et virgule flottante sont symétriques par rapport à leur espace des valeurs représentables. Donc, la dynamique dont l’expression est donnée par l’équation (1.1) est utilisée pour mesurer la fidélité du format. Plus la dynamique est importante, plus le débordement est faible. Dans le cas de la représentation en virgule flottante la dynamique s’exprime par l’équation (1.13) : DdB $ 20 log 10(22K+1) avec K = 2Ne−1 − 1. (1.13) Ne représente le nombre de bits accordés à l’exposant. Pour un format en simple précision où l’exposant est représenté par 8 bits, la dynamique devient : DdB = 20 log 10(2(28−1)) = 20log10(2255) $ 1535 dB. (1.14) Pour le format virgule fixe, la dynamique varie linéairement en fonction du nombre de bits, b, utilisé pour la représentation : DdB = 20log10 %XMAX XMIN & = 20log10 ( 2b−1 ) dB. (1.15) En appliquant les propriétés logarithmiques et des simplifications, la relation précédente devient : DdB = 20 (b − 1)log10(2) $ 6.02 (b − 1). (1.16)1.1 Les différents types de formats de données 15 La variation de la dynamique en fonction de la longueur du mot de code est plus importante pour les nombres en virgule flottante que pour les nombres en arithmétique virgule fixe. A titre d’exemple, dans le tableau 1.1 le format en précision simple est comparé avec différents types de représentation des données en format virgule fixe. Une différence importante entre les différents formats peut être observée. En effet, le format virgule fixe sur 128 bits possède significativement une petite dynamique par rapport à la représentation virgule flottante sur 32 bits. Format Dynamique (dB) Précision simple 1535 virgule fixe 16 bits 90 virgule fixe 32 bits 186 virgule fixe 64 bits 379 virgule fixe 128 bits 764 Table 1.1 – Comparaison de la dynamique Figure 1.3 – Comparaison de l’évolution du niveau de la dynamique pour les représentations virgule fixe et virgule flottante En comparant les équations (1.14) et (1.15), il est clair que la dynamique augmente exponentiellement pour le format virgule flottante et linéairement pour le format virgule fixe en fonction du nombre de bits accordés pour la représentation. Dans la figure 1.3, l’évolution de la dynamique en fonction du nombre de bits utilisés est présentée pour les deux formats virgule fixe et virgule flottante. Dans cet exemple, la taille de l’exposant représente le quart de la longueur totale du mot de code de la représentation. Nous pouvons observer que, lorsque la longueur d’un mot de code dépasse 16 bits, la dynamique du format virgule flottante devient plus large par rapport au format virgule fixe. Par conséquent, la représentation virgule flottante sur 32 bits peut être utilisée dans la plupart des applications sans aucun risque de débordement.16 Arithmétique virgule fixe Figure 1.4 – Effet du débordement utilisant la technique de l’enveloppe autour de la valeur Figure 1.5 – Effet du débordement utilisant la technique de saturation Le processus de codage d’un nombre en arithmétique virgule fixe correspond à une représentation d’une valeur réelle x par une autre valeur xˆ appartenant au domaine de codage. A chaque fois que le nombre réel à coder dépasse l’intervalle des valeurs permises par la norme de codage (ce qui veut dire que x /∈ * Xˆmin, Xˆmax+ ), un débordement se produit et une erreur est introduite. Il est alors nécessaire de définir une procédure de gestion de débordement afin d’être en mesure d’attribuer un mot de code dans cette situation. Deux techniques sont alors classiquement utilisées pour effectuer cette gestion du débordement. La première technique, décrite à la figure 1.4,1.1 Les différents types de formats de données 17 consiste à établir une enveloppe autour de la valeur du nombre réel à coder. Cette technique est équivalente à une arithmétique modulaire puisque toute valeur dépassant les bornes est remplacée par sa valeur modulo 2b. La deuxième méthode qui peut être appliquée est l’arithmétique de saturation. Dans ce cas, n’importe quelle valeur dépassant le domaine de codage est remplacée par le nombre représentable le plus proche (la borne maximale ou minimale). Cette technique est présentée par la figure 1.5. L’erreur introduite est plus petite que dans le cas de l’arithmétique modulaire. Cependant, à l’inverse de la technique de l’enveloppe autour de la valeur, l’implémentation de l’arithmétique de saturation nécessite une complexité matérielle plus importante et, par conséquent, son utilisation est limitée dans la pratique. Comparaison du rapport Signal à Bruit de Quantification Pour les applications de traitement numérique de signal (DSP), la précision des calculs est mesurée le plus souvent à travers le critère de Rapport Signal à Bruit de Quantification (RSBQ). Le RSBQ est défini par le rapport entre la puissance du signal (Px) et la puissance de l’erreur (Pe) due au bruit de quantification et il est généralement exprimé selon une échelle logarithmique : RSBQdB = 10log %Px Pe & = 10logE ! x2$ E [e2] . (1.17) Pour un signal x, sa puissance Px peut s’exprimer en fonction de sa dynamique linéaire Dx et du rapport Kx entre la racine carrée de la puissance Px et la dynamique Dx : Px = (KxDx) 2 . (1.18) Par conséquent, dans le cas de l’arithmétique virgule fixe, le RSBQ suit une relation linéaire en fonction de la dynamique, selon : RSBQdB = 20log(Dx) + 20log(Kx) − 10log(Pe) = DdB + 20log(Kx) − 10log(Pe) (1.19) Comme le format virgule fixe possède une quantification uniforme, le RSBQ dépend linéairement de l’amplitude du signal. Lorsque l’amplitude du signal augmente, le rapport bruit de quantification devient plus large et le RSBQ s’améliore. Considérons le cas d’un signal sinusoïdal à grande échelle avec une amplitude A = 2n. La variance du signal est : σ2 x = A2 2 . Le RSBQ devient : RSBQ = 20 log(2n .3 2 ) ≈ 1.76 + 6.02n dB. (1.20) Pour conclure, dans le cas de la représentation virgule fixe avec un signal utilisant la totalité de la dynamique disponible, chaque bit additionnel conduit à l’augmentation du RSBQ de 6 dB approximativement. Contrairement au cas de l’arithmétique virgule fixe, l’arithmétique virgule flottante possède l’avantage d’une étape de quantification proportionnelle à l’amplitude du signal. La valeur du RSBQ utilisant une échelle logarithmique est donnée par l’expression (1.21) et dépend du nombre de bits m utilisé pour la mantisse. En contre partie, le RSBQ de la représentation virgule flottante ne varie pas en fonction de l’amplitude du signal, il peut être considéré constant pour toutes les valeurs de x. RSBQ = 10 log(E ! x2$ evf ) = 10log(5.55 × 22m) ≈ 7.44 + 6.02m (1.21) Dans le tableau (1.2), une comparaison entre le RSBQ des deux formats virgule flottante et virgule fixe est présentée. Nous pouvons remarquer que, pour un même nombre de bits, l’arithmétique18 Arithmétique virgule fixe virgule fixe garantit un RSBQ plus large que celui de l’arithmétique virgule flottante si le nombre est correctement mis à l’échelle. Format RSBQ (dB) Précision simple 151 Précision double 326 virgule fixe 32 bits 194 virgule fixe 64 bits 387 Table 1.2 – Comparaison du RSBQ Comparaison pour les opérations de calcul D’après ce qui précède, il est clair que le format virgule flottante est plus performant que la représentation virgule fixe car il permet d’obtenir une dynamique suffisante et également une meilleure précision. Cependant, ce résultat est obtenu au prix d’une complexité des opérateurs arithmétiques. L’addition et la multiplication étant les deux opérations les plus génériques, nous étudions ci-après les coûts de réalisation de ces opérations. L’addition Le nombre en format virgule fixe est nativement dans le format binaire. Sous cette hypothèse, il est possible d’additionner deux nombres représentés en virgule fixe en utilisant un circuit d’entraînement de report d’addition simple après l’alignement des points binaires de deux nombres. L’effort total pour l’addition en arithmétique virgule fixe $a f ix est égal à l’effort (le coût de réalisation) de l’addition binaire $a : $ a f ix = $a. (1.22) Cependant, le format virgule flottante est avant tout un format compressé. Il est donc nécessaire tout d’abord de décompresser le nombre en virgule flottante afin d’avoir accès au signe, à l’exposant et à la mantisse. Ensuite, l’exposant doit être normalisé en comparant les bits dans la partie exposant des deux nombres et en décalant les bits de la mantisse d’une manière telle que les exposants soient égaux. Si le bit de signe est réglé, les bits de la mantisse sont convertis à leurs formes en complément à deux avant l’addition. Après l’addition, le résultat doit être converti au format complément à deux s’il est négatif. Comparativement, l’addition de deux nombres en arithmétique virgule fixe est relativement plus simple que l’addition en format virgule flottante. Soit $cmp l’effort nécessaire pour la comparaison des exposants et soit $cal l’effort demandé pour le calcul des compléments à deux des deux nombres, l’effort total pour réaliser une addition en virgule flottante $a f lt : $ a f lt = $a + $cmp + 2$cal. (1.23) Les efforts $a, $cmp et $cal sont tous de l’ordre de O (N) lorsque N est le nombre de bits accordés à la sortie de l’additionneur. Le temps pour la décompression du format virgule flottante est négligeable puisque cette opération est triviale du point de vue matériel. La multiplication La multiplication de deux nombres binaires signés au format virgule fixe nécessite l’utilisation d’un multiplicateur matériel. Le résultat de la multiplication possède davantage de bits dans son niveau de dynamique et sa précision. La position du point binaire du nombre résultant en arithmétique virgule fixe est déterminée en prenant en compte les positions du point binaire des deux nombres impliqués dans la multiplication. Habituellement, les bits les moins significatifs du résultat sont rejetés par divers modes d’arrondis ou de troncature pour obtenir le résultat final. Par la suite, l’effort total de la multiplication en format virgule fixe $m f ix est $m c’est à dire le coût correspondant à une multiplication binaire, soit : $ m f ix = $m. (1.24)1.1 Les différents types de formats de données 19 Dans le cas d’une multiplication entre des nombres représentés en virgule flottante, leurs exposants sont simplement additionnés, leurs mantisses et leurs bits de signe sont multipliés entre eux. L’effort total de la multiplication en virgule flottante $m f lt est : $ m f lt = $m + $a. (1.25) La complexité algorithmique d’une multiplication (cas virgule flottante) peut être supérieure à O(N2) et le temps pour l’addition est O(N) avec N est le nombre de bits accordés à la longueur du mot de code à la sortie du multiplicateur. Comparaison de point de vue implémentation matérielle et logicielle Chaque implémentation logicielle ou matérielle possède ses propres contraintes qui déterminent le choix de l’arithmétique la plus adaptée. Dans le cas d’une implémentation logicielle, les longueurs du mot de code sont fixées ou bien alors elles possèdent un nombre limité de représentations dans le format virgule flottante ou virgule fixe. Cependant, le format de la représentation en virgule fixe est flexible dans la mesure où le point binaire n’est pas fixe. Dans les plateformes logicielles typiques, les tailles d’un mot de code en arithmétique virgule fixe sont généralement d’un octet (8bits), moitié d’un mot (16 bits), un mot (32 bits) et aussi longue que mot double (64 bits). Les nombres en virgule flottante sont habituellement selon deux formats : soit la précision simple ou la précision double. De plus, il convient de préciser que les plateformes processeurs supportent les opérations des vecteurs de données SIMD (Single Instruction Multiple Data) [35]. De telles instructions fonctionnent sur un ensemble de données de même taille et de même type rassemblées en un bloc de données, d’une taille fixe, appelé vecteur. Il est alors possible de configurer le chemin de données selon une taille normalisée (le nombre de bits est généralement multiple de quatre ou huit) afin de contrôler plus précisément les longueurs des mots de code en arithmétique virgule fixe. L’implémentation matérielle ouvre également des horizons pour des unités en virgule flottante personnalisées [25] [27]. Dans [40], les spécifications des opérateurs en virgule flottante sont décrites en utilisant une bibliothèque C++ paramétrée d’opérateurs en virgule flottante. Il en résulte une génération automatique des implémentations optimales des opérateurs en virgule flottante dans le matériel de telle sorte que le temps de calcul est suffisamment petit pour atteindre la fréquence désirée de l’opération. L’impact du nombre de bits accordés à l’opérateur en virgule flottante sur le niveau de la dynamique et la précision de l’opération n’est pas aussi simple que dans le cas de système des nombres en virgule fixe. En définitive, il s’avère difficile de faire un choix entre le format virgule fixe et le format virgule flottante sans explorer explicitement toutes les opérations. Certaines stratégies [15] fournissent une bibliothèque paramétrable permettant de faire un choix entre les deux formats à partir de l’étude de différents compromis obtenus à partir de simulations. Dans [11] et [13], le niveau de la dynamique est considéré pour optimiser le format d’un nombre, i.e. minimiser la dynamique des calculs tout en contrôlant la précision à un niveau permettant de ne pas dépasser les coûts de la virgule flottante. Nous pouvons également remarquer que de nombreuses applications de traitement du signal sont linéaires et ces systèmes peuvent faire usage du facteur d’échelle et donc travailler avec une gamme dynamique normalisée. En outre, les applications de traitement du signal et en particulier les algorithmes de communications numériques sont conçus pour fonctionner en présence de bruit de canal dont la valeur est beaucoup plus grande par rapport au bruit de quantification introduit, même lorsqu’une quantification 16 bits est utilisée. Par conséquent, la précision requise pour la mise en œuvre de ces algorithmes n’est pas très stricte. Dans de telles circonstances, il est possible de profiter pleinement de la représentation à virgule fixe. Par conséquent, les applications de traitement numérique de signal et de communications numériques sont le domaine d’intérêt de cette thèse. Au lieu d’utiliser un arbre d’addition à virgule fixe, d’autres travaux [26] utilisent un système de représentation hybride où les nombres à additionner sont normalisés relativement au plus20 Arithmétique virgule fixe grand exposant et où l’addition à virgule fixe est utilisée pour ajouter la mantisse. Cela réduit l’effort de calcul de l’exposant à chaque fois. Une autre possibilité consiste à utiliser le format virgule fixe double. Dans ce cas, un seul bit est utilisé pour représenter l’exposant et la mantisse qui correspond à un nombre signé en virgule fixe. Une telle technique permet de réaliser un compromis entre dynamique et précision en étendant le concept de l’arithmétique virgule flottante. Une troisième alternative utilise un système de nombres en virgule flottante en bloc [24]. Dans ce cas, lorsqu’un groupe de nombres partagent un même exposant, la mantisse de ces nombres peut être différente. Cette technique a été implémentée pour des nombres en virgule flottante dans plusieurs algorithmes de traitement de signal [57] [73] dont notamment la bibliothèque DirectX pour les applications graphiques à haut niveau de dynamique. L’idée commune à toutes ces approches hybrides vise à tirer avantage de la grande plage de dynamique et la haute précision de la représentation en virgule flottante tout en conservant la flexibilité de la représentation en virgule fixe. Conclusion L’arithmétique virgule flottante présente l’avantage d’une dynamique et d’une précision supé- rieures à l’arithmétique virgule fixe. A l’opposé, l’arithmétique virgule fixe, plus flexible, possède des opérateurs moins complexes et conduit à des implémentations moins coûteuses en termes de consommation d’énergie et de ressources matérielles. Cependant, l’implantation en virgule fixe nécessite la maîtrise de la précision des calculs qui est évaluée par des méthodes de simulation ou par des méthodes analytiques que nous présenterons dans la section 1.3. Les méthodes analytiques nécessitent la modélisation des bruits de quantification, c’est pourquoi nous abordons ces notions dans la section suivante. 1.2 Modélisation du bruit de quantification La conversion de la représentation virgule flottante au format virgule fixe conduit à l’élimination de certains bits lors des calculs, ce qui engendre l’apparition de bruits de quantification. Dans cette section, la modélisation du bruit de quantification est évoquée. 1.2.1 Processus de quantification Le mécanisme d’assigner une séquence de chiffres binaires pour une représentation d’une valeur réelle (analogique) x est réalisé par le processus de quantification. L’opération de quantification est présentée dans (1.26), où la valeur du signal x est transformée en une représentation à virgule fixe notée par xˆ : x → xˆ = Q(x). (1.26) Il s’agit d’une procédure non linéaire qui génère une perte de précision puisque seulement un nombre fini de valeurs possibles peuvent être représentées. Plus précisément, lorsque b bits sont utilisés pour représenter un nombre en virgule fixe, 2b valeurs distinctes peuvent être représentées. L’erreur résultante de la différence entre la valeur réelle x et sa représentation en virgule fixe xˆ est appelée bruit de quantification : e(x) = x − x. ˆ (1.27) La résolution de la représentation, notée q, est donnée par la différence minimale entre deux valeurs consécutives représentables. Sa valeur est déterminée par la position du bit de poids le plus faible (LSB) (2−n). Deux modes de quantification sont particulièrement utilisés : la quantification par arrondi et celle par troncature.1.2 Modélisation du bruit de quantification 21 La quantification par arrondi Lorsque la quantification par arrondi est appliquée (figure 1.6), l’amplitude du signal est arrondie au niveau de quantification le plus proche. L’erreur maximale introduite est ±1 2LSB. Par conséquent, l’erreur de quantification introduite (e(x)) dans ce cas est bornée dans l’intervalle ! −q 2 , q 2 $ , soit : xˆ = Q(x) = ∆i + q 2 , ∀x ∈ ]∆i, ∆i+1] . (1.28) Figure 1.6 – Processus de quantification par arrondi La quantification par troncature La méthode de quantification par troncature (figure 1.7) consiste à choisir le niveau de quantification inférieur pour une représentation du signal. Par conséquent, l’erreur de quantification est toujours positive (e(x) ∈ ]0, q]) et un décalage est introduit. On a donc : xˆ = ∆i, ∀x ∈ ]∆i, ∆i+1] . (1.29)22 Arithmétique virgule fixe Figure 1.7 – Processus de quantification par troncature Supposons que le signal x à quantifier soit un signal aléatoire de densité de probabilité (FDP) continue px(x). La quantification de x engendre la génération d’un nouveau signal xˆ de densité de probabilité pxˆ(ˆx) discrète qui est constituée de M valeurs notées pi. Chaque pi est la probabilité que le signal x appartient à un intervalle Ii. Par conséquent, les bornes de l’intervalle Ii sont liées au mode de quantification utilisé (par arrondi ou par troncature). Les valeurs pi sont déterminées par : pi = / Ii px(x)dx. (1.30) Les valeurs discrètes pi sont séparées par le pas de quantification q. Par conséquent la fonction densité de probabilité (FDP) du signal xˆ est : pxˆ(ˆx) = ' M i=1 piδ(ˆx − iq). (1.31) Dans [93], Widrow a montré que lorsque la fonction caractéristique du signal d’entrée x, i.e. la transformée de Fourier de px(x), est nulle alors le signal xˆ peut être modélisé par les deux variables aléatoires (x, e) de densités de probabilité px(x) et pe(e). Par conséquent, le processus de quantification peut être modélisé par l’introduction d’un bruit additif. La sortie du quantificateur est alors égale à la somme du signal d’entrée x et de l’erreur de quantification comme représenté sur la figure 1.8.1.2 Modélisation du bruit de quantification 23 Figure 1.8 – Modélisation de bruit de quantification additif Nous étudierons, dans ce qui suit, plus en détail le bruit de quantification e en différenciant le cas d’un signal d’entrée à amplitude discrète ou à amplitude continue. 1.2.2 Signal à amplitude continue Soit x un signal à amplitude continue avec une FDP continue. Les différents intervalles Ii sont déterminés selon le mode de quantification choisi (arrondi ou troncature). Cas du mode quantification par troncature Dans ce cas, l’intervalle Ii est l’intervalle entre deux valeurs représentables par le codage : Ii = [xi, xi+1[. (1.32) Comme vu précédemment, e(x) ∈ [0, q[. Sa FDP est rectangulaire (figure 1.9), elle est donnée par l’équation : pe(e) = 1 q rect( e − q 2 q ). (1.33) Figure 1.9 – Densité de probabilité de la loi de troncature continue Dans ce cas, la moyenne, la variance et la puissance du bruit de quantification e sont données par les équations suivantes : µe = / ∞ −∞ e pE(e) de = / q 0 1 q e de = q 2 . (1.34)24 Arithmétique virgule fixe σ2 e = / ∞ −∞ (e − µe) 2 pE(e)de = / q 0 1 q ( e − q 2 )2 de = q2 12. (1.35) E(e2) = µ2 e + σ2 e = q2 3 . (1.36) Cas du mode quantification par arrondi Dans ce mode de quantification, l’intervalle Ii et la FDP du bruit de quantification e (figure 1.10) sont définis par : Ii =]pi − q 2 , pi + q 2 [ (1.37) pe(e) = 1 q rect( e q ) (1.38) Figure 1.10 – Densité de probabilité de la loi d’arrondi continu La variance et la moyenne de e s’expriment selon : µe = / ∞ −∞ e p(e)de = / q/2 −q/2 1 q e de = 0 (1.39) σ2 e = / ∞ −∞ (e − µe) 2 p(e)de = / q/2 −q/2 e2 q de = q2 12. (1.40) Sa puissance est alors seulement égale à sa variance de valeur q2 12 . Statistiques du bruit de quantification Auto-corrélation du bruit de quantification e Dans cette section, une étude de la corrélation entre deux bruits est présentée. Nous considérons deux variables aléatoires e1 et e2. La FDP conjointe des deux bruits est définie dans [96] par : pe1,e2 (e1, e2) = rect( e1 q )rect( e2 q )[px1,x2 (x1, x2) ∗ (f(e1).f(e2))] (1.41) où * désigne le produit de convolution. Dans [96], il a été montré que la FDP conjointe s’écrit : pe1,e2 (e1, e2) = 1 q rect( e1 q ) 1 q rect( e2 q ) = pe1 (e1)pe2 (e2). (1.42)1.2 Modélisation du bruit de quantification 25 Par conséquent, la FDP conjointe est décomposée en un produit des FDP des deux bruits indépendants. De plus, en supposant les processus aléatoires stationnaires, la fonction d’auto-corrélation Ree(θ) à un instant θ est définie par l’expression suivante : Ree(θ) = σ2 e δ(θ) + µ2 e. (1.43) avec δ distribution de Dirac. L’erreur de quantification est donc un bruit blanc. Pour une valeur nulle de θ, la puissance est retrouvée. Corrélation avec le signal Le moment d’ordre 2 du signal quantifié xˆ est étudié. Puisque xˆ = x + e, le moment d’ordre 2 est : E(ˆx2) = E(x2) + E(e2)+2E(xe). (1.44) D’autre part, le moment d’ordre 2 est la dérivée seconde de la fonction caractéristique à l’origine. Par conséquent la dérivée seconde de la fonction caractéristique de xˆ donne une nouvelle expression de la corrélation entre x et e, suivant : E(xe) = '∞ i=−∞ qΦ(−i 2π q ) (−1)i πi . (1.45) Donc si Φ(−i 2π q )=0 quelle que soit la valeur de i, l’erreur de quantification n’est pas corrélée au signal. Cette condition est vérifiée dès que le pas de quantification q est inférieur à l’écart-type du signal [96]. Dans le cas contraire, le bruit généré a une puissance supérieure à celle du signal et le bon fonctionnement du système n’est plus assuré. Conclusion Pour conclure, nous pouvons retenir que le bruit généré par la quantification d’un signal à amplitude continue est un bruit blanc, additif, non corrélé avec le signal et indépendant des autres signaux. De plus, sa distribution est uniforme sur son espace de représentation. 1.2.3 Signal à amplitude discrète Nous nous intéressons dans cette section à l’étude d’un signal à amplitude discrète dont la quantification est effectuée par élimination de plusieurs bits d’une donnée. Cette conversion conduit à la génération d’un bruit à amplitude discrète. Les caractéristiques de ce bruit diffèrent selon le mode de quantification considéré. Loi de quantification par troncature L’implantation de cette loi est très simple puisque seulement les bits les plus significatifs sont conservés. La figure 1.11 représente la distribution du bruit où k représente le nombre de bits éliminés.Un modèle fondé sur une équiprobabilité entre les valeurs 0 et 1 est présenté dans [31]. La moyenne et la variance de e sont données par les équations suivantes : µe = q 2 (1 − 2−k) (1.46) σ2 e = q2 12(1 − 2−2k). (1.47)26 Arithmétique virgule fixe Figure 1.11 – Densité de probabilité de la loi de troncature discrète Loi de quantification par arrondi Dans le cas où l’amplitude de signal est discrète, le domaine de représentation n’est pas centré sur 0. Par conséquent, le problème consiste à déterminer la valeur à affecter à une donnée sur la médiane d’un intervalle de représentation pi + q 2 . Cette valeur est fixée à la valeur supérieure représentable pi+1. Par conséquent, ce choix conduit à une moyenne non nulle de l’erreur et un biais plus faible que dans le mode de quantification par troncature. Le signal quantifié xˆ est donné par l’expression suivante : y = Q(x) =    pl si pl ≤ x 0 = [axmax, axmin] si a < 0. (1.62) Cette technique comporte une limitation importante liée à l’estimation pessimiste faite de l’intervalle de définition des données qui devient parfois très large car le résultat fourni est celui du pire cas puisque cette arithmétique ne prend pas en compte les corrélations entre les données. De plus, cette méthode ne s’applique que lorsque la sortie ne dépend que des valeurs d’entrée. Arithmétiques Affines (AA) L’arithmétique affine a été proposée dans [36] afin de s’affranchir des inconvénients de l’arithmétique d’intervalles, et particulièrement de la non prise en considération de la corrélation entre les données. Soit x une donnée décomposée de la façon suivante : x = x0 + 'n i=1 $ixi avec $i ∈ [−1, 1]. (1.63) Les symboles $i sont indépendants et représentent les coordonnées de x sur les composantes xi qui sont les bornes de x. Par conséquent, x0 est la moyenne des valeurs possibles prises par x. Le qualificatif affine vient du fait du développement d’une forme affine en fonction des symboles $i, lors de la propagation des intervalles de définition dans les opérations. L’intérêt de cette méthode est la prise en compte de la corrélation entre les différentes données. Soient x et y deux données décomposées de la façon suivante : x = x0 + 'n i=1 $ixi, (1.64)1.3 Évaluation de la précision 35 y = y0 + 'n i=1 $iyi. (1.65) Pour la somme de ces deux données, c’est une fonction affine des symboles $i : x + y = x0 + y0 + 'n i=1 $i(xi + yi). (1.66) En ce qui concerne l’opération de la multiplication, l’opération xy n’est plus une fonction affine car elle s’écrit selon : xy = x0y0 + 'n i=1 (x0yi + y0xi)$i + 'n i=1 xi$i 'n j=1 yj $j . (1.67) Afin de rendre l’opération sous une forme affine, une majoration du dernier terme de l’équation précédente est introduite par l’introduction de zn+1 tel que : zn+1 > 'n i=1 |xi| 'n j=1 |yj |. (1.68) Par conséquent la multiplication de x par y introduit le symbole $n+1 qui est le facteur associé à zn+1 et s’écrit sous cette forme : x + y = x0y0 + 'n i=1 (x0yi + y0xi)$i + zn+1$n+1. (1.69) Cette arithmétique fournit un intervalle plus fin que celui donné par l’arithmétique d’intervalles puisqu’elle utilise les corrélations spatiales entre les données. Cependant, cette technique produit parfois un intervalle trop lâche car elle ne tient pas compte des corrélations temporelles. Elle peut donc être limitée pour des applications de traitement du signal où les données sont temporellement corrélées (par exemple, les filtres FIR). Méthode basée sur la théorie de la perturbation Wadekar propose dans [91] une approche analytique pour évaluer les bornes de l’erreur de quantification basée sur un développement de Taylor d’ordre 2 de l’erreur en sortie. Soit un opérateur à deux entrées u et v et δu et δv les erreurs au pire cas sur ces données. La fonction de sortie de cet opérateur est f(u, v). L’erreur en sortie s’écrit comme suit : δf = ∂f ∂u(δu) + ∂f ∂v (δv) + 1 2! : ∂2f ∂u2 (δu) 2 + 2 ∂2f ∂u∂v (δuδv) + ∂2f ∂v2 (δv) 2 ; . (1.70) Cette approche, basée sur la propagation des bruits au sein du système, s’applique aussi bien sur des systèmes LTI que non-LTI. Cependant, elle ne peut être appliquée dans le cas de systèmes récursifs ainsi que celui des systèmes itératifs composés d’opérateurs non lisses et non linéaires en termes de bruit. Approches analytique de la puissance de bruit Le bruit engendré par la quantification d’un signal est donné par le modèle PQN. Les contributions du bruit causé par une quantification grossière des signaux déjà quantifiés suivent aussi les dynamiques du théorème de quantification. La puissance de quantification est calculée comme une fonction des moments de premier ordre et du second ordre du signal d’erreur de quantification. L’amplitude du bruit de quantification injecté dans le système par différentes opérations en arithmétique virgule fixe est déterminée selon le format virgule fixe choisi ainsi que le mode de quantification. Si le format virgule fixe est suffisamment large, aucun bruit de quantification est injecté.36 Arithmétique virgule fixe Propagation du bruit et théorie de la perturbation Le changement infinitésimal, créé en sortie du système en raison des calculs en arithmétique virgule fixe, n’affecte pas le comportement macroscopique total du système. L’application de la théorie de perturbation est essentiellement une alternative pour estimer approximativement l’impact de la quantification sous certaines circonstances. Les erreurs causées par le calcul avec des opérateurs en arithmétique virgule fixe sont des petites perturbations dont l’effet sur la sortie peut être maîtrisé avec un bon degré de précision à l’aide de techniques d’approximation linéaire. En effet, cette approximation introduit une tolérance envers les erreurs de quantification pour une application et pose la question de la petite taille du pas de quantification qui devrait être choisi pour être classifiée comme lisse (smooth). Mention contraire, on peut supposer que les quantificateurs sont lisses. En outre, l’opérateur luimême peut être considéré comme lisse ou non lisse en fonction de son comportement fonctionnel. Une opération est considérée comme lisse si la sortie est une fonction continue et différentiable de ses entrées. La technique de propagation du bruit basée sur la théorie des perturbations, tel que présenté dans la présente section, est applicable seulement aux systèmes comprenant des opérateurs lisses et quantificateurs lisses. Figure 1.17 – Propagation du bruit de quantification vers la sortie du système Considérons un opérateur binaire dont les entrées sont x et y et la sortie est z. Si les signaux d’entrée sont perturbés par les bruits bx et by pour obtenir respectivement xˆ et yˆ, la sortie est perturbée par bz pour obtenir zˆ. En d’autres termes, tant que l’opérateur en virgule fixe est lisse, l’impact de petites perturbations à l’entrée se traduit par une perturbation en sortie de l’opérateur sans aucune modification de son comportement macroscopique. Selon la théorie des perturbations, le bruit en sortie bz est une combinaison linéaire des bruits en entrée bx et by : bz = v1bx + v2by. (1.71) Dans ce cas, l’hypothèse sous-jacente est que les termes de bruit bx et by ne soient pas corrélés entre eux, ni avec les signaux d’entrée. Cette hypothèse découle de l’hypothèse suivante relative au modèle PQN de génération du bruit de quantification : le bruit de quantification est indépendant du signal. Les termes v1 et v2 sont obtenus à partir de l’approximation de Taylor du premier ordre de la fonction continue et différentiable f : z = f(x, y) $ f(x, y) + ∂f ∂x(x, y).(x − x) + ∂f ∂y (x, y).(y − y). (1.72) Par conséquent, les termes v1 et v2 sont donnés par : v1 = ∂f ∂x(x, y) v2 = ∂f ∂y (x, y). (1.73) Les termes v1 et v2 peuvent varier dans le temps. De plus, cette méthode n’est pas limitée uniquement aux opérations mais elle peut être appliquée au niveau fonctionnel sur tous les opé-1.3 Évaluation de la précision 37 rateurs appartenant à un même chemin de données et ainsi propager le bruit de quantification de la source jusqu’à la sortie. Soit y, le signal en sortie du système, le bruit correspondant by causé par la quantification est obtenu par la somme de la contribution individuelle des sources de bruit dans le système comme montré dans la figure 1.17. Si hi(n) représente la réponse impulsionnelle du chemin entre la i ème source de bruit et la sortie du système, la contribution de la source de bruit by est calculée par la somme de produits de convolution de la source de bruit et de la réponse impulsionnelle. Considérons un système comportant, à son entrée, N sources de bruit bi, i = 1, ..., N. Il existe alors N chemins indépendants entre chaque source de bruit présente en entrée et la sortie du système. La contribution de la source de bruit bi peut alors être calculée en prenant en compte la réponse impulsionnelle hi(k), k = 0, 1, ... du chemin entre la i ème source de bruit et la sortie du système. Le bruit global en sortie by s’exprime alors comme la somme des N produits de convolution individuels. Dans le cas où les réponses impulsionnelles varient dans le temps, il est donné par : by = ' N i=1 '∞ k=−∞ hi(k, n)bi(n − k) (1.74) où hi(k, n) représente le kième coefficient de la réponse impulsionnelle mesurée à l’instant n. La puissance du bruit en sortie est obtenue comme le moment du second ordre du bruit à la sortie du système et elle est donnée par : E[b2 y] = E([' Ne i=1 '∞ k=−∞ hi(k, n)bi(n − k))2] = ' Ne i=1 '∞ k=−∞ E[h2 i(k, n)]E[bi(n − k) 2] + ' Ne i=1 ' Ne j=1,j&=i '∞ k=−∞ '∞ l=−∞,l&=k E[hi(k, n)hj (l, n)]E[bi(n − k)bj (n − l)]. (1.75) L’expression précédente peut se mettre sous la forme d’une somme des paramètres statistiques de la source du bruit comme suit : E[b2 y] = ' Ne i=1 Kiσ2 bi + ' Ne i=1 ' Ne j=1,j&=i Lijµbiµbj (1.76) où µbi et σbi désignent respectivement la valeur moyenne et la variance du bruit présent à l’entrée numéro i. Les termes Ki et Lij sont constants et dépendent de la réponse impulsionnelle hi associée au chemin n˚i. Cette approche supporte les systèmes récursifs et non récursifs dans le cas des systèmes LTI (Linear-Time Invariant) et non-LTI. L’expression de ces coefficients est : Ki = '∞ k=−∞ E[h2 i(k)], (1.77) Lij = '∞ k=−∞ '∞ l=−∞ E[hi(k)hj (l)]. (1.78) Afin de déterminer les différentes réponses impulsionnelles caractérisant les relations entrées/sortie, le graphe flot de données est partitionné en plusieurs sous-graphes acycliques à des fins d’analyse. En utilisant le modèle de propagation, les fonctions des chemins de ces sous graphes sont déterminées dans le domaine de la transformée en Z. La fonction individuelle de chemin de chaque source de bruit jusqu’à la sortie est obtenue à l’aide de la combinaison des fonctions de ces sous-graphes par substitution de variable. Une autre technique basée sur l’arithmétique affine est proposée dans [54][44] respectivement pour les systèmes LTI et non-LTI. Cette technique consiste à définir une forme affine pour chaque38 Arithmétique virgule fixe source de bruit dans le système en prenant en compte sa valeur moyenne et sa variance. Profitant de l’avantage du modèle de propagation linéaire, les formes affines de bruit sont propagées à travers le système par simulations. Les valeurs de Ki et Lij sont obtenues par l’estimation des formes affines à partir de l’expression du bruit en sortie. Dans le cas d’un systèmes récursif, cette opération est répétée plusieurs fois jusqu’à obtenir convergence de la forme affine caractérisant le bruit en sortie. Dans [85], les coefficients de l’expression de la puissance de bruit en sortie dans l’équation (1.76) sont obtenus à partir du développement au second ordre de la différence entre les expressions du bruit en arithmétique virgule fixe et en arithmétique virgule flottante. Dans ce cas, les coefficients de Taylor sont directement liés aux coefficients Li et Kij présentés précédemment. Ils sont obtenus en résolvant un système d’équations linéaires en effectuant le minimum de simulations en virgule fixe ainsi qu’une seule simulation en virgule flottante. 1.3.4 Autres effets de la quantification Nous avons jusqu’à présent concentré notre analyse sur l’erreur de quantification engendrée par la représentation en arithmétique virgule fixe des données présentes en entrée d’un opérateur. Cependant, l’opération de quantification en arithmétique virgule fixe peut également modifier le comportement global d’un système notamment lorsque l’opération de quantification porte sur les paramètres décrivant ce système. Certains changements peuvent ainsi être particulièrement importants puisqu’ils peuvent affecter la stabilité du système dans certains cas. Ces effets sont étudiés essentiellement selon deux catégories. La première catégorie est l’impact de la quantification des paramètres du système. Dans [55], l’effet de la quantification des coefficients sur les bornes de l’intervalle du signal en sortie est déterminé. A partir des outils d’analyse de l’arithmétique d’intervalles et de l’arithmétique affine, il est ainsi démontré que, dans certains cas, la quantification des coefficients d’un système peut engendrer, en sortie du système, un bruit dont la puissance est plus importante que celle obtenue lors de la quantification des données présentes à l’entrée du système. L’effet de la quantification d’un coefficient sur la sensibilité d’un système global est également étudié dans le domaine de la transformée en z et celui de la transformée de Fourier par les auteurs de [45] et [87]. Enfin, signalons également l’approche proposée dans [51] permettant d’évaluer cette sensibilité à partir d’une technique relativement simple basée sur la simulation. L’effet non linéaire engendré par le processus de quantification peut également jouer un rôle fondamental dans le cas où le système comporte des boucles récursives. Cette situation constitue le cadre principal de ce travail de thèse, et plus particulièrement celui obtenu lorsque ces boucles sont constituées d’opérateurs non lisses tels que les opérateurs de décision. Ainsi, sous certaines conditions, des oscillations peuvent apparaître en sortie du système [71], [86]. Il est alors important de pouvoir détecter l’apparition de cycles limites engendrés par l’opération de quantification. D’autres travaux , e.g. [20], [21], et [90], précisent les conditions garantissant la stabilité asymptotique d’un système. Ces études sont essentiellement basées sur des approches par simulations en raison de la difficulté mathématique rencontrée pour obtenir des expressions analytiques. Aussi, afin de limiter le temps requis pour réaliser ces simulations de façon exhaustive [56], d’autres travaux [53] ont permis d’accélérer l’étape de simulation en utilisant conjointement des techniques d’analyse basées sur l’arithmétique affine. 1.3.5 Bilan des deux approches En premier lieu, les techniques statistiques par simulations en virgule fixe sont particulièrement intéressantes en raison de leur simplicité de réalisation mais également puisqu’elles s’appliquent directement à n’importe quel type de système (linéaire, non linéaire, bouclé, ...). Malheureusement, afin d’obtenir des résultats statistiquement significatifs, il est nécessaire de réaliser ces simulations sur un nombre important de données en entrée (Monte Carlo) ce qui conduit rapi-1.3 Évaluation de la précision 39 dement à des temps de simulation prohibitifs, et plus particulièrement lorsqu’il est nécessaire de balayer l’espace complet des formats en virgule fixe. L’autre approche est l’approche d’évaluation basée sur les modèles analytiques pour évaluer mathématiquement une métrique de précision. Cette approche est basée sur l’évaluation du comportement de bruit par le biais d’une expression mathématique dont le calcul n’est effectué qu’une seule fois. Une fois cette expression analytique disponible, les paramètres statistiques décrivant le bruit s’obtiennent directement et en une seule fois. Par conséquent le temps nécessaire pour l’évaluation de la précision est relativement limité puisqu’il correspond au coût de l’évaluation de cette expression analytique. Ce temps est donc nettement plus faible que celui requis par les approches basées sur la simulation en virgule fixe (cf. figure 1.18). Cependant, l’obtention d’une expression analytique décrivant les propriétés statistiques du bruit de quantification peut se révéler difficile pour certains types de systèmes notamment ceux possédant des opérateurs non lisses. Figure 1.18 – Les temps d’optimisation des deux approches en fonction de nombre d’évaluation 1.3.6 Les approches hybrides Afin d’accélérer les temps d’optimisation, des approches hybrides basées conjointement sur des modèles analytiques et sur des simulations ont été proposées [75]. Ces approches consistent à utiliser des modèles analytiques afin de décrire les éléments du système comportant des opérateurs élémentaires tels que additions, multiplications,..., mais également à utiliser la simulation pour évaluer le comportement d’opérateurs complexes tels que les opérateurs non lisses (un-smooth). Une étape d’évaluation sélective partitionne tout d’abord l’ensemble du système en plusieurs grappes d’opérateurs lisses séparées par des opérateurs non lisses. Pour chaque grappe d’opérateurs lisses, un modèle de sources de bruits est dérivé afin d’analyser l’effet des opérations de quantification, puis ces valeurs sont propagées à travers le système jusqu’à ce qu’un opérateur non lisse soit rencontré. Dans cette approche hybride, les grappes d’opérateurs lisses sont évaluées par le biais d’une approche analytique et les opérateurs non lisses sont évalués par le biais de simulations. Une telle approche permet d’utiliser pleinement les modèles analytiques pour estimer le comportement des blocs lisses, soit donc de bénéficier au maximum de leurs avantages.40 Arithmétique virgule fixe 1.4 Conclusion Nous avons vu dans ce chapitre les différentes types de codage de données et en particulier celui relatif à l’arithmétique en virgule fixe. Cette arithmétique possède d’immenses avantages pratiques essentiellement pour les applications de traitement numérique de signal. Cependant, elle conduit à la génération de bruit de quantification qui se propage au sein de l’application et modifient la précision des calculs. Ainsi, l’évaluation de la précision en virgule fixe est une étape primordiale dans la conception des systèmes en virgule fixe. Afin d’évaluer cette précision, deux approches fondamentales ont été présentées : l’approche par simulation et l’approche analytique. Cette dernière est basée sur l’évaluation d’une métrique de précision par le biais d’une expression mathématique ce qui permet de réduire le temps d’optimisation par rapport à celui requis par l’approche par simulation qui devient prohibitif lorsqu’il s’agit de balayer l’espace des formats en virgule fixe. Les techniques d’évaluation de la précision par les modèles analytiques restent cependant limitées à des systèmes comportant des opérateurs lisses. Par conséquent, il est in- évitable d’utiliser les techniques basées sur la simulation pour certaines applications (ou parties d’application) comportant des opérateurs non lisses (un-smooth operators). Une approche hybride basée sur la combinaison des deux approches pour les applications comportant des opérateurs non lisses a été proposée dans [75]. Toujours dans l’optique de l’amélioration des temps d’optimisation, nous proposons dans le prochain chapitre, une approche purement analytique d’évaluation de la précision pour les opérateurs non lisses qui sera appliquée à l’évaluation de la précision en virgule fixe des algorithmes de décodage sphérique tel que le SSFE (Selective Spanning with Fast Enumeration) composé d’opérateurs lisses et d’opérateurs non lisses (opérateurs de décision).Chapitre 2 Évaluation analytique de la précision des algorithmes de décodage sphérique Sommaire 2.1 Les opérateurs lisses et non lisses . . . . . . . . . . . . . . . . . . . . . . 42 2.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.1.2 Les opérateurs lisses et non-lisses . . . . . . . . . . . . . . . . . . . . . . 43 2.1.3 La quantification d’un opérateur non lisse . . . . . . . . . . . . . . . . . 44 2.1.4 Identification d’un opérateur non lisse . . . . . . . . . . . . . . . . . . . 44 2.2 Modèle analytique pour l’opérateur de décision . . . . . . . . . . . . . 47 2.2.1 Modélisation de l’opérateur de décision . . . . . . . . . . . . . . . . . . 47 2.2.2 La réponse à la perturbation . . . . . . . . . . . . . . . . . . . . . . . . 49 2.2.3 La probabilité d’erreur de décision . . . . . . . . . . . . . . . . . . . . . 50 2.3 Cascade d’opérateurs de décision . . . . . . . . . . . . . . . . . . . . . . 54 2.3.1 Propagation de l’erreur de quantification . . . . . . . . . . . . . . . . . . 55 2.3.2 Détermination analytique de la probabilité d’erreur en sortie de la cascade 56 2.3.3 Analyse de la complexité du modèle analytique . . . . . . . . . . . . . . 59 2.4 Application du modèle à l’algorithme SSFE . . . . . . . . . . . . . . . 60 2.4.1 Modèle du système MIMO . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.4.2 Présentation de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.4.3 Application du modèle analytique proposé . . . . . . . . . . . . . . . . . 64 2.4.4 Première approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Par rapport à la précision infinie, l’utilisation d’opérations en virgule fixe introduit un bruit de quantification qui modifie la valeur des nombres. Les erreurs de quantification dont les caracté- ristiques ne peuvent pas être déterminées par le modèle PQN sont classées comme des erreurs non lisses (un-smooth). En effet, ce modèle fonctionne correctement tant que le pas de quantification reste faible devant la dynamique du signal comme dans le cas des opérations en arithmétique virgule fixe. Dans le cas des opérateurs non lisses, les erreurs de quantification sont très grandes et souvent comparables à la dynamique du signal quantifié. Dans ce cas, les hypothèses de validité du modèle PQN ne sont plus vérifiées et donc le signal quantifié sera éloigné de la valeur vraie. Un modèle analytique visant à prédire les statistiques de l’erreur à la sortie d’un opérateur non lisse nécessite la connaissance du signal en entrée et les caractéristiques du bruit de quantification associé. De plus, en présence de plusieurs opérateurs non lisses, les caractéristiques de l’erreur de quantification ne sont pas uniquement corrélées avec le signal, mais aussi avec les autres erreurs issues des opérateurs non lisses précédents. Il convient de préciser que dans le cas des 4142 Évaluation analytique de la précision des algorithmes de décodage sphérique opérateurs non lisses, il n’existe pas de modèle analytique permettant d’évaluer leurs précisions en arithmétique virgule fixe. L’objectif de ce chapitre est de proposer un modèle analytique pour évaluer la précision de l’algorithme de décodage sphérique SSFE. Nous commençons par proposer, dans la première section, une étude des différents types d’opérateurs. Nous présentons dans la seconde partie un modèle analytique pour évaluer la précision d’un opérateur non lisse correspondant à l’opérateur de décision en se basant sur la probabilité d’erreur de décision causée par la quantification. La troisième partie du chapitre est consacrée à l’extension de cette méthode au cas d’une cascade d’opérateurs de décision. Enfin, le modèle analytique proposé sera appliqué, dans la dernière partie du chapitre, à l’algorithme de décodage sphérique SSFE. 2.1 Les opérateurs lisses et non lisses Dans cette section, nous présentons les différents types d’opérateurs présents dans les systèmes numériques en faisant la distinction entre opérateurs lisses et non lisses. 2.1.1 Introduction Généralement, les signaux présents en entrées d’un système numérique peuvent être considérés comme des processus aléatoires à temps discret [76], [84]. En revanche, les opérateurs présents dans un système peuvent souvent être traités comme des opérations déterministes qui produisent des processus aléatoires sur leurs sorties sous un environnement de signaux stochastiques [83]. A un instant donné t, chaque signal en entrée, en interne, ou en sortie, est considéré comme une variable aléatoire prenant ses valeurs dans un ensemble de réalisations qui lui est propre (possiblement différent de celui des autres entrées). Chacune de ces variables aléatoires possède une densité de probabilité pouvant varier au cours du temps. Dans ce cas, les signaux sont qualifiés de processus aléatoires non-stationnaires. Dans la réalité, un opérateur O possède un nombre fini K d’entrées représentées par un vecteur (x1, x2, ..., xK)t à l’instant t. Ce vecteur est traité comme un vecteur dont les composantes sont des variables aléatoires, possiblement non stationnaires. Par opérateur, nous entendons par exemple un simple additionneur ou bien, à l’extrême, un système complexe tel qu’un système de communication. Les entrées peuvent être des entrées classiques en chemin de données comme les entrées d’un additionneur, ou bien des entrées constantes comme les coefficients constants d’un filtre LTI ou des paramètres de mise à jour adaptatifs. A l’instant t, une réalisation d’ensemble du vecteur aléatoire (x1, x2, ..., xK)t devient un vecteur régulier appartenant à un domaine Ωt qui consiste en l’ensemble global de réalisations possibles à l’instant t. Dans le cas où des signaux booléens Vrai et Faux sont traités comme des nombres réels tel que 0 et 1 respectivement, Ωt est un sous ensemble de l’espace Euclidien RK de dimension K. Le vecteur aléatoire (x1, x2, ..., xK)t est considéré dans le domaine Ωt : (x1, x2, ..., xK)t ∈ Ωt. (2.1) Soit t>t1 > t2 > ... > 0 et supposons que le système commence à fonctionner à partir de l’instant t=0. A un instant t quelconque, la sortie d’un opérateur causal O dépend de toutes les entrées actuelles et précédentes {(x1, x2, ..., xK)t,(x1, x2, ..., xK)t1 , ...,(x1, x2, ..., xK)tN , ...,(x1, x2, ..., xK)0} et possiblement d’un état interne d’initialisation. Dans un système à échantillonnage régulier, l’instant ti correspond simplement à t − i. Les variables internes décrivant l’état initial sont traitées comme des entrées additionnelles apportées au système par des additionneurs à l’instant 0. Par soucis de concision, nous ne tiendrons pas compte de cet état interne d’initialisation. La sortie de O est donnée par fO(x1, x2, ..., xK, t) où fO est la fonction de transfert de O pouvant s’exprimer par : fO(x1, x2, ..., xK, t) = ΦO,t ((x1, x2, ..., xK)t,(x1, x2, ..., xK)t1 , ...,(x1, x2, ..., xK)0). (2.2)2.1 Les opérateurs lisses et non lisses 43 La fonctionnalité de O à l’instant t est uniquement exprimée par la fonction ΦO,t considérée comme la fonction de transfert instantanée de O à l’instant t. Dans ce cas le vecteur aléatoire des entrées de dimension K×(N+2) {(x1, x2, ..., xK)t,(x1, x2, ..., xK)t1 , ...,(x1, x2, ..., xK)tN ,(x1, x2, ..., xK)0} est désigné par le vecteur {ξ1, ξ2, ..., ξM} comme suit : ξ1 = x1(t), ξ2 = x2(t), ..., ξK = xK(t), ξK+1 = x1(t1), ξK+2 = x2(t1), ..., ξ2K = xK(t1), ... ξM−K+1 = x1(0), ξM−K+2 = x2(0), ..., ξM = xK(0). (2.3) avec M = K × (N + 2). Les quantités (ξ1, ξ2, ..., ξM) sont appelées les variables étendues de (x1, x2, ..., xK) à l’instant t par rapport à l’opérateur O. Par conséquent la sortie de l’opérateur O à l’instant t est réduite à : fO(x1, x2, ..., xK, t) = ΦO,t(ξ1, ξ2, ..., ξM). (2.4) En utilisant la relation (2.4), une valeur numérique de la sortie est disponible seulement avec une réalisation d’ensemble de vecteur aléatoire (ξ1, ξ2, ..., ξM). Les variables étendues correspondent également à un domaine étendu : (ξ1, ξ2, ..., ξM) ∈ Ωt × Ωt1 × ... × Ω0. (2.5) Il est important de noter que fO est une fonction déterministe. Lorsqu’un système est désigné physiquement, une fonction déterministe est souvent exécutée pour traiter certaines entrées aléatoires. Ceci est généralement accepté dans la modélisation des systèmes de traitement numérique de signal. Des exemples d’opérateurs (additionneur, multiplexeur, ...) sont manipulés selon cette modélisation dans [83]. En résumé, tous les facteurs aléatoires caractérisant la sortie d’un opérateur sont introduits par ses entrées aléatoires, alors que la fonction de transfert ΦO,t est une fonction déterministe connue (comme une fonction du temps t). 2.1.2 Les opérateurs lisses et non-lisses Le concept du caractère lisse d’un opérateur est à la base de la théorie des perturbations. Comme défini dans [83], une fonction déterministe ΦO,t est considérée comme lisse sur les signaux quantifiés si elle est continue et dérivable de n’importe quel degré sur un ensemble ouvert dans lequel les signaux arithmétiques font partie, quelles que soient les réalisations des signaux logiques.L’opération O est appelée lisse sur ses entrées arithmétiques, ou brièvement lisse. Dans [83], il a été montré que la dérivabilité de degré 3 est toujours suffisante afin de modéliser les effets de quantifications. Nous pouvons remarquer que le caractère lisse ou non lisse d’un opérateur n’a pas de sens lorsque ses entrées correspondent à des signaux logiques. En revanche, des opérateurs de base tels que additionneurs ou multiplieurs sont lisses. Considérons, par exemple, l’opérateur I inverseur dont la fonction de transfert est donnée par : fI (x, t) = ΦI,t(ξ1, ..., ξM)=1/ξ1. (2.6) Où ξ1 est un signal arithmétique. Il est clair que ΦI,t est lisse si ses entrées appartiennent à ] − ∞, 0[∩]0, +∞[. Par conséquent, cette fonction est lisse sur ce domaine et elle est considérée comme non lisse dans R puisqu’elle n’est plus de classe C1. De même, l’opérateur valeur absolue est lisse sur le même domaine mais pas sur R puisqu’elle n’est pas de classe C1. En fait, la plupart des opérations mathématiques sont lisses sur leurs domaines de définition. D’après ces définitions, les opérateurs de décision avec des entrées arithmétiques et des sorties logiques sont des opérateurs non lisses, mais, ils peuvent être traités comme lisses sur un domaine44 Évaluation analytique de la précision des algorithmes de décodage sphérique de définition bien particulier où les entrées appartiennent à la même région de décision. Les régions non lisses contiennent les entrées arithmétiques qui produisent différentes décisions en ajoutant une perturbation infiniment petite. De plus, d’après [83], un opérateur est non lisse sur un domaine donné si sa fonction caractéristique n’est pas de classe C1 sur ce domaine. 2.1.3 La quantification d’un opérateur non lisse En terme de quantification, nous pouvons considérer un opérateur comme non lisse si la dé- viation des statistiques actuelles de l’erreur issue de sa quantification est suffisamment importante devant les statistiques de l’erreur déterminée par le modèle PQN. Il convient de noter que si la fonction caractéristique de la FDP du signal en entrée est à bande limitée, l’erreur d’estimation est toujours présente. L’amplitude de cette erreur augmente en fonction du pas de quantification. L’acceptabilité de l’erreur est donc un paramètre défini par l’utilisateur. Un compromis doit être trouvé entre (i) l’introduction d’une erreur de quantification importante ce qui permet de considérer certains opérateurs quantifiés dans le système comme étant lisses, et (ii) la maîtrise d’une erreur de quantification limitée qui rend la plupart des opérateurs comme non lisses. Par ailleurs, sachant que l’un des opérateurs en arithmétique virgule fixe est lisse, nous pouvons en déduire le caractère lisse d’autres opérateurs de la connaissance de la largeur de bande du signal dans le domaine de sa fonction caractéristique. 2.1.4 Identification d’un opérateur non lisse Dans un scénario pratique, un système en arithmétique virgule fixe consiste en un certain nombre d’opérations de quantification. Les estimations analytiques obtenues en utilisant le modèle PQN peuvent être erronées lorsqu’elles sont appliquées sur la quantification d’un opérateur non lisse. Par conséquent, il est important de classifier les opérateurs comme lisses ou non lisses en se basant sur les caractéristiques du signal à quantifier et le pas de quantification. Nous proposons dans cette section une technique basée sur le calcul de la fonction caractéristique pour vérifier l’applicabilité du modèle PQN dans le cas de n’importe quel opérateur de quantification uniforme. Cette technique identifie les bornes du pas de quantification afin que le modèle PQM puisse être appliqué pour modéliser le comportement de l’erreur. Cette stratégie considère tout d’abord la totalité des opérations de quantification impliquées dans le graphe du système G constitué par Nop opérateurs reliés par Nc connexions (figure 2.1). Figure 2.1 – Graphe du système Un opérateur est représenté par l’un de ces nœuds et comporte des connexions multiples en entrée et une seule connexion en sortie. En cas d’implémentation utilisant une précision finie, une telle opération peut essentiellement être représentée par le schéma de l’opérateur suivi de l’opération de quantification. Les schémas de l’opération pour les deux précisions finie et infinie sont montrés par la figure 2.2.2.1 Les opérateurs lisses et non lisses 45 Figure 2.2 – Schéma d’un opérateur dans la précision infinie et la précision finie avec b bits Dans le cas d’une implémentation en arithmétique virgule fixe, les entrées des opérateurs sont aussi quantifiées. L’effet de la quantification de l’entrée est couvert par les quantificateurs présents à la sortie du nœud opérateur à partir duquel le signal provient. Par conséquent, un quantificateur peut être associé avec chaque signal. L’effet des entrées quantifiées a un impact sur le comportement de l’erreur à la sortie de l’opérateur considéré. Dans un tel scénario, il est possible d’avoir les effets de la double quantification (annexe A). Cependant, une quantification répétée ne change pas fondamentalement la dynamique. Ainsi, pour évaluer le caractère lisse de chaque opérateur quantifié, il suffit de travailler avec les statistiques des données en double précision à tous les points d’intérêt. La technique développée est présentée dans cette section. Cette technique commence par considérer que tous les opérateurs quantifiés avec un quanti- ficateur Qi sont lisses. Ensuite, des simulations en arithmétique virgule flottante, d’un ensemble exhaustif des vecteurs tests, sont utilisées afin de déterminer les caractéristiques de la FDP fxi (xi) du signal à l’entrée du i eme quantificateur Qi. D’autres techniques alternatives peuvent être utilisées pour estimer la FDP du signal comme par exemple les techniques analytiques présentées dans [75]. La seconde étape consiste en un test de déviation de l’erreur. Pour cela, il est tout d’abord nécessaire d’évaluer, soit analytiquement ou soit par simulation [92], le nombre minimal de bits b du quantificateur (Qb i = b) tels que la déviation $b i du i ème signal d’entrée soit quasi nulle, soit donc que l’opérateur quantifié avec Qi puisse être considéré comme lisse. Une fois ceci réalisé, l’utilisateur fixe un seuil τi correspondant à la tolérance autorisée sur l’erreur d’estimation. Ce seuil peut être spécifique à un quantificateur donné ou bien alors il peut être fixé de manière uniforme à une valeur donnée qui sera appliquée à l’ensemble des quantificateurs du système. Tant que la déviation par rapport au modèle PQN est plus petite que la tolérance à l’erreur (|$b i| < τi), le nombre de bits affectés continue à être décrémenté par 1 et la déviation par rapport au modèle PQN $b i est évaluée de nouveau pour la nouvelle longueur du mot de code affectée. $ b i = Evaluer(fxi , 2−b ). (2.7) Cette opération se répète sous forme d’une boucle. A chaque itération de la boucle, l’opérateur quantifié peut être considéré comme non lisse. Afin de réduire le nombre d’exécutions de la boule, il est également possible d’utiliser une variante de la méthode précédente qui consiste à remplacer l’opération de décrémentation binaire par une procédure de recherche binaire. Lorsque la déviation de l’erreur est supérieure à la tolérance (|$i| b ≥ τi), cela signifie que l’opérateur quantifié qui était lisse jusqu’à l’étape de quantification précédente devient maintenant non lisse. En d’autres termes, cette transition marque la frontière entre le pas de quantification lisse et non lisse pour le signal associé au i eme opérateur. Par conséquent, la valeur de b + 1 est affectée à Qi b afin de marquer la plus petite longueur du mot de code en vertu de laquelle l’opérateur peut être considéré comme lisse.46 Évaluation analytique de la précision des algorithmes de décodage sphérique Figure 2.3 – Représentation d’un signal en virgule fixe avec une dynamique [−1, 1) Afin de bien analyser le comportement de la déviation par rapport au modèle PQN, nous considérons un signal normalisé dans l’intervalle [−1, 1]. Son format virgule fixe est illustré par la figure 2.3. La figure 2.4 montre l’amplitude de l’erreur relative entre le modèle analytique PQN et les estimations de l’erreur obtenues par simulation. Nous considérons dans cette illustration trois FDP : la distribution uniforme, Laplacienne et Gaussienne. L’erreur relative entre le modèle PQN et la simulation est importante dans le cas Laplacien, et, dans une moindre mesure, pour une densité de probabilité gaussienne. Enfin, l’erreur relative devient faible, voire négligeable, dans le cas d’une loi uniforme. En effet, puisque la loi uniforme possède des valeurs réparties sur l’intervalle [−1, 1], par conséquent, sa quantification (avec le plus grand nombre de bits) préserve des formes uniformes et les valeurs de −1 ou 1 contribuent à la puissance totale de bruit. Tandis que, dans le cas de la distribution gaussienne, les valeurs sont plus denses près de la valeur de 0 et donc remises à zéro lorsque des pas de quantification larges sont utilisés. Ceci engendre une déviation large entre l’erreur estimée par le modèle PQN et l’erreur observée par simulation. Ce phénomène est plus visible dans le cas de la distribution Laplacienne où il y a plus de valeurs proches de 0 que dans le cas Gaussien. Comme le pas de quantification est réduit (davantage de bits sont affectés pour la précision), les valeurs ne sont pas remises à 0 et donc convergent à un comportement similaire. Figure 2.4 – Représentation d’un signal en virgule fixe avec une dynamique [−1, 1) Dans l’algorithme décrit précédemment, il est nécessaire d’enregistrer les statistiques de la valeur prise par chaque signal associé à un opérateur de quantification dans le système. En effet, la mémorisation des valeurs de tous les signaux à travers la totalité de la longueur de simulation peut consommer une grande quantité de mémoire et de temps, ce qui peut parfois conduire à une infaisabilité en pratique. Pour remédier à ce problème, il est possible de ne mémoriser qu’uniquement les statistiques des signaux associés à des opérateurs quantifiés soupçonnés d’être non-lisses.2.2 Modèle analytique pour l’opérateur de décision 47 2.2 Modèle analytique pour l’opérateur de décision Figure 2.5 – Diagramme de la constellation 16-QAM Il est fréquent de trouver un certain nombre d’opérateurs lisses et non lisses qui coexistent au sein des systèmes de traitement numérique de signal. Dans les systèmes de communication numérique, les opérateurs correspondent le plus souvent à des opérateurs de décisions QAM présents au sein des algorithmes de réception et ils coexistent avec d’autres opérateurs lisses en arithmétique virgule fixe. Citons à titre d’exemple les algorithmes de décodage sphérique tels le SSFE qui fera l’objet de la dernière partie de ce chapitre et et qui peut être considéré comme une application typique de la propagation du bruit de quantification lors d’une cascade d’opérateurs de décision. Il y a également les algorithmes d’égalisation tels que l’égaliseur à retour de décision qui sera présenté dans le prochain chapitre de cette thèse et qui est constitué d’une itération d’opérateurs de décision. Nous pouvons citer également les algorithmes de turbo décodage abordés dans le dernier chapitre. Bien que les erreurs lisses puissent être estimées en utilisant le modèle additif PQN, la réponse d’un opérateur de décision QAM à une perturbation par le bruit de quantification peut être non linéaire ce qui peut provoquer un large écart par rapport aux estimations obtenues par l’application du modèle de PQN. Par conséquent, il est nécessaire d’analyser l’erreur causée par une quantification d’un opérateur non lisse et estimer son effet sur la performance d’un système. En particulier, étant donné que les opérateurs lisses coexistent avec les opérateurs non lisses, il est nécessaire d’estimer les statistiques de l’erreur à la sortie d’un opérateur non lisse en raison de la perturbation du signal à son entrée. Dans cette partie, nous commençons par modéliser l’opérateur de décision ainsi que sa réponse à une perturbation et proposer un modèle analytique permettant de déterminer la probabilité d’erreur de décision causée par la quantification d’un signal en virgule fixe. Il convient de préciser également que ce travail a été fait en collaboration avec les travaux de recherche menés par K. Parashar [75] dans la même équipe CAIRN. 2.2.1 Modélisation de l’opérateur de décision Considérons le cas général d’un opérateur de décision au sein d’un système de communication numérique. Il s’agit d’un exemple typique d’un opérateur non lisse. La figure 2.5 montre la48 Évaluation analytique de la précision des algorithmes de décodage sphérique constellation 16-QAM avec les différentes régions correspondant à chaque symbole de la constellation. Le principe de fonctionnement d’un opérateur de décision QAM se base sur la différenciation des valeurs d’un signal QAM donné x à l’entrée de cet opérateur. Selon la valeur du signal à l’entrée, cet opérateur affecte à la sortie un symbole Si représentant la région Ri dans laquelle se situe la valeur du signal à l’entrée. Chaque région Ri possède une limite ri. Le symbole Si appartient à l’ensemble des symboles de la constellation S = {S1, S2, ..., SL}, avec Si ∈ RN . N est la dimension du signal transmis (N = 2 pour les signaux QAM). Le fonctionnement de l’opérateur de décision est défini par la figure 2.6. Par conséquent la sortie x˜ de l’opérateur de décision est définie comme suit : x˜ = Si si x ∈ Ri (2.8) Figure 2.6 – Fonctionnement de l’opérateur de décision Ri est la région définie comme le voisinage du point de la constellation Si. La région Ri est un sous-espace de RN et elle consiste essentiellement à l’ensemble des valeurs prises par x qui peuvent être décidées par le symbole Si en sortie. Dans la figure 2.5, la région R1,−1 est l’aire couverte par le rectangle centré sur le point de constellation (1, −1). Ri = {x ∈ R2/i = argmin k |x − Sk| 2} (2.9) Les frontières des symboles de la constellation QAM (−1, 1) et (−3, 3) sont définies par les lignes discontinues. Les aires formées par ces frontières forment les régions R−1,1 et R−3,3. En outre, l’opérateur de décision QAM porte beaucoup de similitudes avec la quantification rencontrée lors de l’étude de l’arithmétique de précision finie. Son fonctionnement est identique sur la voie en phase (axe réel ou horizontal) et sur la voie en quadrature (axe imaginaire ou vertical). Le comportement de l’opérateur QAM, restreint à un seul de ces axes (phase ou quadrature), peut être considéré comme un quantificateur Q de pas de quantification q en cascade avec un opérateur de saturation S de dynamique a comme indiqué sur la figure 2.7.2.2 Modèle analytique pour l’opérateur de décision 49 Figure 2.7 – Modèle de quantification d’un opérateur de décision Le quantificateur Q suit le mode par arrondi et il est centré sur les points de la constellation. La dynamique α correspond à la différence maximale entre deux points de la constellation. Lorsque la dynamique du signal en entrée est comparable à la dynamique α de l’opérateur de saturation S (c-à-d max(x) − min(x) $ α), l’opérateur de saturation peut être ignoré (c-à-d xˆ $ x˜) et l’opérateur de décision peut être approximé à un quantificateur. Lorsque le comportement de l’opérateur de décision QAM est similaire au cas d’un quantifi- cateur qui est utilisé pour modéliser l’arithmétique en précision finie, les statistiques de l’erreur sont non lisses. La différence entre l’opérateur de décision QAM et le quantificateur lisse qui est habituellement rencontré dans l’implémentation en précision finie consiste en un large pas de quantification par rapport au signal. Lorsque le pas de quantification lié à la précision finie est plus faible que la dynamique, le pas de quantification de l’opérateur de décision est souvent comparable au signal lui-même. Par conséquent, l’opérateur de décision est non lisse. 2.2.2 La réponse à la perturbation Dans le cas d’un opérateur non lisse, les statistiques de l’erreur en sortie ne sont plus compatibles avec le modèle PQN. Par conséquent, l’impact du bruit de quantification à la sortie d’un opérateur non lisse peut être analysé en comparant uniquement la réponse de l’opérateur non lisse aux valeurs en entrée dans le cas d’une précision finie et leurs équivalents dans le cas de la précision infinie. L’effet de la perturbation causée par l’accumulation du bruit de quantification à l’entrée d’un opérateur non lisse est illustré par la figure 2.8. Figure 2.8 – Réponse à la perturbation à la frontière non lisse ; Cas A : x = xa, Cas B :x = xb Soit un signal x à l’entrée d’un opérateur non lisse dont les sorties sont les valeurs V1 ou V2 dépendent de la valeur de x. Considérons deux scénarios dans lesquels un signal x prend50 Évaluation analytique de la précision des algorithmes de décodage sphérique des valeurs xa et xb en précision infinie. En virgule fixe, le signal x est perturbé par le bruit de quantification accumulé. Soient qg et qd les distorsions négatives et positives probables maximales. Dans le cas où le signal prend une valeur suffisamment loin de la frontière tel que décrit dans le cas A : (soit x = xa), l’amplitude de la perturbation qg ou qd n’est pas assez grande pour que le signal résultant puisse franchir la frontière de décision. Par conséquent, la valeur attribuée par l’opérateur non lisse, à la fois en précision finie et infinie, est V2 et aucune erreur ne se propage. D’autre part, si une valeur en double précision x est assez proche de la frontière tel que décrit dans le cas B : (soit x = xb), une perturbation positive peut conduire la valeur en virgule fixe à franchir la frontière de décision, soit donc à changer la valeur de la sortie en V2 (à la place de V1) provoquant ainsi un comportement de l’implémentation en précision finie différent de celui en précision infinie. 2.2.3 La probabilité d’erreur de décision Pour analyser l’impact de la quantification, nous utilisons une métrique de précision qui compare les valeurs de divers signaux dans le système lorsque des opérateurs en virgule fixe sont utilisés. En cas de quantificateurs lisses, les erreurs sont faibles et donc facilement captées par le bruit de quantification. Dans le cas des opérateurs non lisses, la puissance des erreurs n’est pas conforme avec le modèle d’erreur analytique PQN. Par conséquent, il devient important d’avoir accès à la fonction de densité de probabilité de l’erreur en sortie de l’opérateur non lisse, ce qui permet également de déduire la puissance de l’erreur. En outre, il est plus fondamental de calculer la probabilité de l’erreur à la sortie de l’opérateur que de déduire directement la puissance du bruit du signal d’erreur de quantification. Probabilité d’erreur de décision Afin d’étudier l’impact du bruit de quantification non lisse accumulé à la sortie d’une première décision, nous considérons un système de traitement de signal (figure 2.9) formé d’un opérateur de décision à la sortie xˆ d’un système lisse. Cette configuration est très fréquente dans les récepteurs des systèmes de communication numérique et dans les algorithmes de décodage et d’égalisation. Figure 2.9 – Un système constitué d’un opérateur non lisse La valeur d’un signal en virgule fixe xˆvf ix(n) à l’entrée de l’opérateur de décision est obtenue par la perturbation de xˆvf lo(n) à cause du bruit de quantification bx(n). Par conséquent le signal en entrée à l’opérateur non lisse de décision s’écrit sous la forme suivante : xˆvf ix(n)=ˆxvf lo(n) + bx(n) (2.10) La probabilité d’erreur de décision causée par le bruit additif de quantification peut être déduite en comparant la sortie en virgule fixe x˜vf ix(n) de l’opérateur de décision à la sortie en virgule flottante x˜vf lo(n). Comme mentionné dans la section précédente, la déviation dans la valeur du signal dans un système en virgule fixe est fonction de la puissance du bruit de quantification associé au signal. Lorsque la valeur du signal est proche de la limite (frontière) de décision et que la puissance du bruit de quantification est suffisamment large, la déviation causée par la perturbation provoque le franchissement de la frontière de décision ce qui génère une sortie2.2 Modèle analytique pour l’opérateur de décision 51 différente de celle produite par un système avec une précision en virgule flottante. Par ailleurs, si la puissance du bruit est suffisamment grande, la déviation de la valeur du signal peut traverser plusieurs frontières ce qui engendre inévitablement une erreur de décision à la sortie. Soit Pi,j la probabilité d’erreur de décision (i .= j) telle que x˜vf lo = Si et x˜vf ix = Sj . Cette erreur correspond au cas où la valeur entrée (située dans la région Ri, est perturbée par le bruit bx de telle sorte que le signal résultant appartienne à la région Rj . Par conséquent, la probabilité d’erreur de décision Pi,j est la probabilité que le signal en entrée en virgule flottante xˆvf lo appartienne à la région Ri et que le signal correspondant en virgule fixe xˆvf ix appartienne à la région Rj . Pi,j = Prob {(ˆxvf lo ∈ Ri) ∩ (ˆxvf lo + bx ∈ Rj )} . (2.11) Soient fb(b) et fx(x) les fonctions densité de probabilité respectivement du bruit bx et du signal d’entrée en arithmétique virgule flottante xˆvf lo. La probabilité Pi que la valeur du signal en entrée xˆvf lo donne une décision x˜vf lo = Si est obtenue en intégrant la FDP fx(x) sur toute la région du symbole correspondant Ri et elle est donnée par : Pi = / Ri fX(x)dx (2.12) Considérons une instance du signal x qui prend la valeur xi ∈ Ri telle que la sortie est x˜ = Si. En connaissant la FDP du bruit de quantification bx, il est possible de calculer la probabilité d’erreur Pxi,j causée par la perturbation du signal avec une valeur xi qui conduit à une décision du symbole Sj (j différent de i) en précision finie en raison du bruit de quantification bx, alors que cette décision correspond au symbole Si en arithmétique virgule flottante. Par conséquent, Pxi,j est définie par : Pxi,j = Prob {xˆvf lo + bx ∈ Rj |xˆvf lo ∈ Ri} (2.13) En supposant que le bruit de quantification est non corrélé avec le signal [92], la relation précé- dente peut encore s’exprimer selon : Pxi,j = lim%→0 / xi+ " 2 xi− " 2 fx(xi)dxi. / Rj fb(b − xi)db. (2.14) La probabilité d’erreur de décision totale Pi,j est obtenue en considérant tous les points de la région Ri et en intégrant la probabilité Pxi,j sur la région Ri : Pi,j = / Ri Pxi,jdxi (2.15) En remplaçant Pxi,j par son expression de l’équation (2.14), la probabilité d’erreur de décision s’écrit : Pi,j = / Ri : fx(xi) / Rj fb(b − xi)db; dxi. (2.16) En arrangeant les termes de l’équation précédente, la probabilité d’erreur de décision peut s’écrire sous la forme suivante : Pi,j = / Ri / Rj fx(xi)fb(b − xi)dbdxi. (2.17) A partir de cette équation, l’influence du bruit de quantification et du signal à l’entrée de l’opérateur de décision peuvent être analysées sur chaque région de décision. Pour ce faire, considérons la fonction de densité de probabilité fTi (b) du signal présent à l’entrée de l’opérateur de décision et tel que xi appartient à Ri lorsque l’on utilise une arithmétique en virgule flottante. Pour chaque région Ri, la FDP de la contribution totale du bruit de quantification est donnée par : fTi (b) = / Rj fx(xi)fb(b − xi)dxi. (2.18)52 Évaluation analytique de la précision des algorithmes de décodage sphérique La probabilité d’erreur de décision Pi,j peut s’écrire en fonction de fTi (b) comme suit : Pi,j = / Rj fTi (b)db. (2.19) En calculant toutes les probabilités Pi,j , nous obtenons la matrice des probabilités P dont les coefficients sont les Pi,j : (Pi,j ) = Px˜vf lo,x˜vf ix(˜xvf lo = Si, x˜vf ix = Sj ). (2.20) La distribution de probabilité du signal réel dans le cas d’un bruit en virgule fixe peut être obtenue sous la forme d’une distribution marginale de la distribution conjointe obtenue jusqu’à présent. Fonction de probabilité jointe Étant donné que la sortie de l’opérateur de décision est discrète, la fonction de densité de l’erreur s’exprime directement en fonction des valeurs de l’ensemble S des symboles de décision. Nous pouvons alors introduire la distance di,j séparant deux symboles de l’alphabet S : di,j = Si − Sj . (2.21) Les erreurs individuelles de décision sont représentées par une fonction discrète qui s’exprime selon qui la fonction δ(˜x) qui la fonction delta de Kronecker. Par conséquent la fonction de probabilité jointe est obtenue par : fx˜(˜x) = ' L i=1 ' L j=1 Pi,j .δ(˜x − di,j ) (2.22) La fonction δ(˜x−di,j ) est une version décalée de la fonction δ dans l’espace bidimensionnel. Cette densité de probabilité est caractérisée par L × L valeurs discrètes correspondant aux différentes permutations de l’ensemble des symboles décision S. Chaque di,j (i .= j) correspond à une erreur de décision générée pour chaque couple (i, j) et la probabilité d’erreur de décision correspondante est Pi,j obtenue par l’équation (2.17). Afin de valider ce modèle de fonction de probabilité, nous pouvons utiliser deux vérifications. La première analyse consiste à vérifier théoriquement que la somme de toutes les probabilités individuelles Pi,j est égale à 1. Comme le signal x est indépendant du bruit de quantification b, la somme peut s’écrire sous cette forme. ' L i=1 ' L j=1 Pi,j = ' L i=1 / Ri fx(xi). ' L j=1 / Rj fb(b − xi).db.dxi (2.23) Par définition, l’aire sous une FDP est toujours égale à 1. Par conséquent, la somme interne ( 4 L j=1 < Rj fB(b − xi).db.dxi) est égale à l’unité car elle correspond à l’intégration de la FDP du bruit de quantification sur l’ensemble ∪Rj . En suivant le même raisonnement, la somme extérieure (4 L i=1 < Ri fX(xi)) est également égale à l’unité. En conséquence, la double somme (2.23) est elle aussi égale à l’unité tout comme la fonction de densité de probabilité (2.22). Par conséquent, nous pouvons conclure que la fonction de probabilité donnée par 2.22 est une fonction densité de probabilité valide. D’autre part, nous pouvons également déterminer la probabilité d’erreur de décision totale Perreur qui est la somme de toutes les probabilités d’erreur de décision individuelle Pi,j|i&=j . Perreur = ' L i=1 ' L j&=i,j=1 Pi,j ∀(i, j) ∈ [1, L] (2.24)2.2 Modèle analytique pour l’opérateur de décision 53 Cette probabilité d’erreur totale peut être déterminée à partir des probabilités individuelles Pi,i qui sont les probabilités de ne pas avoir une erreur de décision. En d’autres termes, la probabilité Pi,i est la probabilité que la sortie de l’opérateur de décision dans le cas de virgule fixe et dans le cas de virgule flottante soit égale au symbole Si. Par conséquent, la probabilité d’erreur de décision totale s’exprime comme suit : Perreur = 1 − ' L i=1 Pi,i (2.25) Figure 2.10 – Probabilité d’erreur de décision totale : cas BPSK La deuxième vérification se base sur la comparaison des probabilités Pi,j obtenues analytiquement par ce modèle avec celles obtenues par simulations. Par conséquent, nous considérons un système tel que décrit dans la figure 2.9 qui est constitué d’un bloc lisse suivi d’un opérateur de décision non lisse. Nous supposons que le signal présent à l’entrée de l’opérateur de décision est un signal gaussien BSPK centré sur les symboles avec une équiprobabilité entre les différents symboles de la constellation (-1, 1) et de variance σ2 ch. Dans ce cas nous avons deux probabilités d’erreur de décision causée par le bruit de quantification b. Ces probabilités sont P−1,1 qui est la probabilité d’avoir en sortie le symbole −1 en virgule flottante alors qu’en virgule fixe nous obtenons le symbole 1 et P1,−1 est la probabilité du cas contraire. Afin de tester la fiabilité de ce modèle, nous supposons que le bruit en entrée de l’opérateur suit une loi gaussienne de moyenne nulle et de variance σ2 b . Les FDP du signal à l’entrée de l’opérateur de décision et du bruit de quantification sont données par : fX(x) = 1 2 √2πσch 8 exp(−(x − 1)2 2σ2 ch ) + exp(−(x + 1)2 2σ2 ch ) 9 . (2.26)54 Évaluation analytique de la précision des algorithmes de décodage sphérique fB(b − x) = 1 √2πσb exp(−(b − x)2 2σ2 b ). (2.27) En appliquant le modèle analytique de l’équation (2.17), nous obtenons les probabilités d’erreur de décision P−1,1 et P1,−1. En raison de l’hypothèse d’équiprobabilité entre les deux symboles de la constellation, les deux probabilités d’erreur de décision P−1,1 et P1,−1 sont égales. Par consé- quent, la probabilité d’erreur totale Perreur est le double de P1,−1. Afin de tester le modèle, nous varions la variance σ2 b de 0.1 jusqu’à 0.8 et nous calculons à chaque fois la probabilité d’erreur de décision totale analytiquement par le modèle obtenu et par simulation. Le calcul par simulation se base sur une simulation en virgule fixe et une simulation en virgule flottante et la comparaison des sorties de l’opérateur de décision dans les deux cas. Si ces deux sorties sont différentes, il s’agit d’une erreur due à la conversion en virgule fixe où en d’autres termes à la perturbation causée par le bruit de quantification additif b. La figure 2.10 présente la probabilité d’erreur de décision obtenue analytiquement et par simulation en fonction de la variance du bruit de quantification. Il convient de préciser que, dans cette expérience, nous modélisons la conversion en virgule fixe par l’ajout du bruit de quantification au signal à l’entrée de l’opérateur. Par contre dans les prochaines expériences nous effectuerons une "vraie" conversion en format virgule fixe et par conséquent chaque RSB correspondra à un format virgule fixe bien déterminé. Nous remarquons d’après la figure 2.10, que les résultats obtenus par le modèle analytique de l’équation (2.17) correspondent fidèlement aux résultats obtenus par simulations. L’erreur maximale entre la probabilité obtenue par simulation et celle obtenue analytiquement est de l’ordre de 1%. 2.3 Cascade d’opérateurs de décision Dans le paragraphe précédent, nous avons proposé un modèle analytique permettant d’estimer la probabilité d’erreur de décision d’un opérateur de décision dans le cas particulier d’un système composé d’un bloc lisse et d’un unique opérateur de décision. Cependant, ce modèle peut-il être appliqué à un système composé de plusieurs opérateurs de décision ? Si l’on considère un tel système, l’erreur causée par la quantification au niveau du premier opérateur de décision se propage tout au long du système en passant par différents blocs pour arriver au deuxième opérateur de décision. Le modèle analytique d’estimation de la probabilité d’erreur de décision n’est plus applicable pour estimer l’erreur de décision au niveau du deuxième opérateur de décision car ce modèle ne tient pas compte de la propagation de l’erreur due à la quantification et au format virgule fixe. Afin de bien illustrer cette problématique, nous considérons un système composé de deux opérateurs de décision tels que montré par la figure 2.11. Figure 2.11 – Cascade de deux opérateurs de décision Le système considéré est un cas simplifié d’un système de décodage sphérique composé de deux antennes. Ce système sera étudié d’une façon approfondie dans la prochaine section. D’après le diagramme bloc du système, nous remarquons que l’entrée xˆ2 du deuxième opérateur de décision OP2 ne dépend pas seulement du signal reçu y2 mais aussi de la sortie x˜1 du premier opérateur de décision. Lorsqu’une erreur de quantification est produite au niveau du premier opérateur,2.3 Cascade d’opérateurs de décision 55 elle se propage jusqu’au deuxième opérateur de décision. Si nous essayons d’appliquer le modèle analytique de l’équation (2.17), nous obtenons des estimations de l’erreur de décision très éloignées des estimations obtenues par simulation. La figure 2.12 représente la probabilité d’erreur de décision estimée au niveau du deuxième opérateur de décision par le modèle analytique à un seul opérateur de décision et également par simulation. Figure 2.12 – Non validité du modèle analytique d’estimation de la probabilité d’erreur de décision dans le cas d’une cascade d’opérateurs de décision Nous pouvons remarquer que la probabilité d’erreur de décision obtenue par le modèle analytique est sous-estimée par rapport à celle obtenue à partir de la simulation. Comme le modèle analytique proposé ne tient pas compte de la propagation des erreurs de quantification, les résultats de la figure 2.12 étaient prévisibles. Par conséquent, il est fondamental d’étudier la propagation de l’erreur de quantification dans un système composé de plusieurs opérateurs non lisses et de tenir compte de cette propagation. Ceci sera présenté dans la prochaine section. 2.3.1 Propagation de l’erreur de quantification Pour valider ce modèle dans le cas d’une cascade d’opérateurs de décision, il est absolument nécessaire de prendre en compte le phénomène de propagation des erreurs de quantification. Considérons le système présenté à la figure 2.13 composé à la fois de plusieurs opérateurs lisses et de N + 1 opérateurs non lisses.56 Évaluation analytique de la précision des algorithmes de décodage sphérique Figure 2.13 – Propagation de l’erreur de quantification dans un système composé de plusieurs opérateurs non lisses en cascade Dans le cas d’une implémentation en virgule fixe, le vecteur des entrées Y = [y1, y2, ..., yN ] est perturbé par le vecteur des bruits de quantification B = [b1, b2, ..., bN ], chaque bruit bi perturbant le signal yi. présent sur la ième entrée. Soient Yvf lo et Yvf ix les vecteurs des entrées respectivement en virgule flottante et en virgule fixe. L’opérateur L représente une fonction lisse comportant 2N entrées correspondant au vecteur Y et au vecteur X˜ = [˜x1, x˜1, ..., x˜N ] constitué des N sorties des opérateurs de décision situés en amont. De même, soient X˜vf lo et X˜vf ix les vecteurs des sorties des N opérateurs de décision qui précèdent le bloc lisse respectivement en arithmétique virgule flottante et en virgule fixe. Soient xˆvf lo N+1 et xˆvf ix N+1 l’entrée au dernier opérateur de décision respectivement en représentation virgule flottante et virgule fixe. Par conséquent, la sortie du bloc lisse en virgule fixe xˆvf ix N+1 est donnée par : xˆvf ix N+1 = L(yvf ix 1 , ..., yvf ix N , x˜vf ix 1 , ..., x˜vf ix N ) = L(yvf lo 1 , ..., yvf lo N , x˜vf lo 1 , ..., x˜vf lo N ) + l(b1, ..., bN , x˜vf lo 1 , ..., x˜vf lo N , x˜vf ix 1 , ..., x˜vf ix N ) + bL = ˜xvf lo N+1 + Lb(B, X˜vf lo, X˜vf ix) + bL (2.28) bL est le bruit ajouté par les quantificateurs lisses lors de l’utilisation d’une implémentation en virgule fixe de la fonction L et Lb est la fonction de la propagation du bruit. Étant donné que la fonction L est lisse, la fonction de propagation du bruit Lb est linéaire par rapport au vecteur des bruits de perturbation b. La propagation des erreurs à la sortie des N opérateurs de décision non lisses à travers la fonction L peut ne pas avoir des caractéristiques linéaires. Par conséquent, la fonction de propagation du bruit Lb doit être évaluée pour chaque erreur et pour toutes les configurations d’erreurs présentes sur les sorties des N opérateurs de décision situés en amont. 2.3.2 Détermination analytique de la probabilité d’erreur en sortie de la cascade Soit vvf lo et vvf ix deux instances des valeurs prises par x˜vf lo et x˜vf ix respectivement. Le signal xˆvf ix N+1 est donné par : xˆvf ix N+1 = ˆxvf lo N+1 + Lv b (B) + bL = ˆxvf lo N+1 + bf (2.29)2.3 Cascade d’opérateurs de décision 57 La fonction de propagation du bruit Lv b est déduite de la fonction Lb de l’équation (2.28) en utilisant les valeurs particulières vvf lo et vvf ix à la place de X˜vf lo et X˜vf ix, respectivement. Par conséquent, la fonction Lb ne varie qu’en fonction du seul paramètre B correspondant au vecteur des perturbations. Ainsi, la propagation des perturbations associées aux signaux en entrées Y à travers la fonction L est caractérisée par une combinaison spécifique donnée des vecteurs de données en entrée de décision en format virgule flottante et virgule fixe. De manière équivalente, nous pouvons considérer que les vecteurs de données en entrée de décisions en arithmétique virgule fixe et virgule flottante représentent conjointement un scénario S des conditions en entrée. En sortie de la fonction L, le bruit généré par les opérations en virgule fixe dans l’implémentation de la fonction L et la propagation des perturbations en entrée peut être résumé et collecté à travers le bruit bf . Soit Mk le nombre des symboles de décision disponibles à la sortie du keme opérateur de décision. Le vecteur X˜ peut prendre C = = N k=1 Mk combinaisons possibles. Si l’on considère le vecteur des valeurs particulières Sk N défini par Sk N = [vvf lo, vvf ix], il existe C × C combinaisons possibles pour ce vecteur La probabilité d’erreur de décision P Sk N i,j à la sortie du (N + 1)eme opérateur de décision pour une combinaison donnée du vecteur des entrées Sk N peut être calculée en utilisant le modèle analytique de l’équation (2.17). P Sk N i,j définit la probabilité que la valeur en sortie du (N + 1)ème opérateur de décision x˜N+1 corresponde à Si en format virgule flottante et à Sj en arithmétique virgule fixe sous la contrainte du scénario défini par les entrées de décision Sk N , elle est donnée par : P Sk N i,j = / Ri / Rj f Sk Nx (x)fb(b − x)dbdx. (2.30) Où la fonction f Sk Nx correspond à la FDP du signal xˆvf lo N+1 pour le scénario Sk N , et fb est la FDP du bruit total de quantification bf obtenu dans l’équation (2.29). La probabilité d’erreur de décision totale est déterminée en considérant l’impact de tous les scénarios possibles sur la sortie de l’opérateur de décision. Par conséquent, la probabilité d’erreur de décision totale, que la sortie du dernier opérateur de décision x˜N+1 corresponde au symbole Si en arithmétique virgule flottante et Sj en virgule fixe, est une somme de toutes les probabilités d’erreur de décision P Sk N i,j sous le scénario Sk N pondérée par la probabilité PSk N de réalisation de tous les scénarios possibles Sk N . Elle est donnée par : Pi,j i&=j = ' C2 k=1 PSk N P Sk N i,j = ' C2 k=1 / Ri / Rj PSk N f Sk Nx (x)fb(b − x)dbdx. (2.31) Afin de déterminer la probabilité d’erreur de décision Pi,j au niveau du dernier opérateur de décision du système considéré, il est nécessaire d’évaluer la probabilité PSk N de l’occurrence du scénario Sk N et la FDP f Sk Nx du signal x˜N+1 à l’entrée du N + 1eme opérateur de décision sous contrainte du scénario Sk N . En ce qui concerne la probabilité PSk N , nous pouvons distinguer le cas où les erreurs de décision sont dépendantes et le cas où elles sont indépendantes. La probabilité PSk N est obtenue comme la probabilité conjointe qu’une combinaison des sorties d’un opérateur de décision se produise selon la description du scénario. Par conséquent, la probabilité de l’occurrence du scénario PSk N est donnée par : PSk N = P((˜xvf lo 1 = S1 i , x˜vf ix 1 = S1 j ) et ... et (˜xvf lo N = SN i , x˜vf ix N = SN j )) (2.32)58 Évaluation analytique de la précision des algorithmes de décodage sphérique où Sr i et Sr j représentent les valeurs prises par la sortie du rème opérateur de décision respectivement en virgule flottante et en virgule fixe. En d’autres termes, PSk N est la probabilité de l’occurrence du kème scénario. Dans le cas où les éléments du vecteur X˜ ne sont pas corrélés, la probabilité conjointe est déterminée par : PSk N = > N r=1 P(˜xvf lo r = Sr i , x˜vf ix r = Sr j ) (2.33) Par conséquent, dans ce cas, nous avons tous les éléments nécessaires pour déterminer analytiquement la probabilité d’erreur de décision à la sortie de chaque opérateur de décision du système y compris le dernier opérateur de décision de la cascade. Par contre, en pratique, nous pouvons rencontrer le cas où les sorties des opérateurs de décision sont corrélées entre elles. La corrélation est déterminée par la topologie du flot du signal et la corrélation entre les vecteurs en entrée utilisés en simulation virgule flottante pour déterminer la FDP du signal. Sous ces conditions, l’impact de chaque sortie de décision sur les autres sorties de décision doit être considéré afin de calculer la probabilité conjointe de l’occurrence des sorties de décision dans le cas du scénario Sk N . Soit Sk P un sous scénario correspondant à un sous ensemble du scénario Sk N . Par conséquent, les éléments des vecteurs X˜vf lo et X˜vf ix ont une longueur P (P ≤ N) et ils sont égaux aux premiers P éléments définis dans le vecteur Sk N . Ainsi, la probabilité conjointe PSk N peut être évaluée à partir des probabilités conditionnelles : PSk N = P((˜xvf lo N = Si, x˜vf ix N = Sj )|Sk N−1).PSk N−1 = P((˜xvf lo N = Si, x˜vf ix N = Sj )|Sk N−1).P((˜xvf lo N−1 = Si, x˜vf ix N−1 = Sj )|Sk N−2). ... P((˜xvf lo 2 = Si, x˜vf ix 2 = Sj )|Sk 1 ). P(˜xvf lo 1 = Si, x˜vf ix 1 = Sj ) ? @A B PSk 1 = N >−1 r=0 P((˜xvf lo N−r = Si, x˜vf ix N−r = Sj )|Sk N−r−1). (2.34) D’après les équations (2.33) et (2.34), il est clair que le calcul de la probabilité de l’occurrence du scénario Sk N nécessite la connaissance des probabilités d’erreurs ainsi que les probabilités conjointes des N entrées de décision. Par conséquent, la probabilité de l’erreur P(˜xvf lo = Si, x˜vf ix = Sj ) des sorties de décision doit être calculée a priori. Cela veut dire que la probabilité de l’erreur en sortie de chaque opérateur de décision du système doit être calculée dans l’ordre de priorité à partir de l’entrée jusqu’à la sortie du système considéré. Après avoir identifié les opérateurs non lisses, il est donc nécessaire d’analyser ces dépendances à partir de l’analyse du graphe flot du système. Lorsque les entrées de décision ne sont pas corrélées, la probabilité conjointe est obtenue par un simple produit entre les différentes probabilités individuelles des scénarios de décision en arithmétique virgule flottante et virgule fixe. D’autres part, dans le cas où les sorties de décision sont corrélées avec d’autres sorties de décision, le calcul de la fonction de probabilité d’erreur de décision du premier opérateur de décision du système se fait par le modèle de l’équation (2.17). La probabilité d’erreur de décision des opérateurs intermédiaires dans le système est déterminée en calculant successivement les probabilités conjointes des erreurs intervenant au sein de l’équation (2.34). Ensuite, les résultats intermédiaires obtenus durant le calcul des différentes probabilités d’erreur de décision sont réutilisés pour le calcul des probabilités des scénarios pour les opérateurs de décision situés en aval.2.3 Cascade d’opérateurs de décision 59 Figure 2.14 – Propagation des erreurs non lisses (corrélées ou non corrélées) Afin de bien illustrer les résultats analytiques établis précédemment, nous considérons le cas générique représenté par le système de la figure 2.14 constitué d’un bloc lisse possédant en entrée H (H ≥ 2) groupes non lisses. Par ailleurs, nous supposons que le signal de l’un des groupes est indépendant des signaux appartenant aux autres groupes mais qu’il est corrélé avec les signaux du même groupe. Soit x˜D le signal en sortie de l’opérateur de décision situé en sortie du bloc lisse. Dans ce cas, les N entrées de décision sont différenciées en H groupes indépendants de N1, N2, ..., NH opérateurs de décision. N’importe quel i eme opérateur de décision est dépendant du i − 1eme opérateur de décision du même groupe. Afin d’être en mesure de déterminer analytiquement la probabilité de l’occurrence de tous les scénarios possibles résultant des N1 + N2 + ... + NH entrées, les différents scénarios sont définis par toutes les entrées possibles des opérateurs non lisses de décision. Comme les H groupes des signaux ne sont pas corrélés, la probabilité de l’occurrence de ces scénarios peut être obtenue par le produit de la probabilité de l’occurrence des scénarios de chaque groupe. Par conséquent, la probabilité totale des scénarios en entrée qui considère les entrées des opérateurs non lisses de décision peut être calculée par : PSk N1+N2+...+NH = > H r=1 PSk Nr (2.35) où PSk Nr , donnée par l’équation (2.34) désigne la probabilité de l’occurrence des scénarios du reme groupe. 2.3.3 Analyse de la complexité du modèle analytique Le calcul d’une probabilité conditionnelle est similaire à celui de la probabilité Pi,j du premier opérateur de décision. Le coût calculatoire nécessaire pour évaluer la probabilité conjointe peut60 Évaluation analytique de la précision des algorithmes de décodage sphérique être mesuré en termes de nombre d’unités d’évaluation numérique de l’intégrale exprimant les Pi,j pour un scénario donné. Ce nombre d’unités d’évaluation dépend bien entendu du nombre de scénarios considérés. Le nombre de fois de l’évaluation dépend du nombre des scénarios. Ce dernier augmente exponentiellement avec le nombre des entrées de décision non lisses qui doivent être prises en considération. Dans tous les cas (corrélation ou non corrélation), il est inévitable d’évaluer ces nombreuses intégrales pour un nombre donné de combinaisons possibles d’erreurs. Supposons qu’il y ait Mk symboles de décision à la sortie du kème opérateur de décision, ils contribuent à Mk combinaisons de scénario. En considérant toutes les combinaisons possibles des sorties des opérateurs de décision, il y a au total C = = N k=1 Mk combinaisons possibles. Par conséquent, la complexité du calcul des probabilités d’erreur à la sortie du (N + 1)ème opérateur de décision (dépendant des N précédents opérateurs de décision) est de l’ordre de de O(C2), où C possède une complexité exponentielle. Afin d’illustrer l’étude mathématique analytique de la section précédente, nous considérons le cas d’une application issue du domaine des communications numériques : le décodage sphérique. Plus particulièrement, nous avons choisi de travailler sur l’algorithme SSFE (Selective Spanning with Fast Enumeration) car il représente un très bon cas d’application d’un système de communication numérique constitué d’une cascade d’opérateurs de décision. Cette étude est présentée dans la prochaine section. 2.4 Application du modèle à l’algorithme SSFE Les systèmes de communications numériques sans fils avec plusieurs entrées et plusieurs sorties MIMO (Multiple-Input Multiple-Output) utilisent plusieurs antennes dans les deux extrémités du canal sans fil. En appliquant le multiplexage spatial (transmission de multiples flux de données concurrentes dans une même bande de fréquence à l’aide de plusieurs antennes), les systèmes sans fil MIMO offrent une augmentation de l’efficacité spectrale par rapport aux systèmes monoantenne. Par conséquent, les systèmes sans fil MIMO sont en mesure de répondre à la demande des débits plus élevés sans augmenter la bande passante. Ils sont donc devenus la technologie de base pour toutes les prochaines normes de communication sans fils, telles que IEEE 802.11n, WiMAX, 3GPP LTE et 3GPP2 UMB. Pour couvrir la vaste gamme d’applications, les ordinateurs futurs devront supporter simultanément une grande variété de normes de communication sans fil. Avec le nombre croissant d’interfaces "air" qui doit être pris en charge, les implémentations traditionnelles, basées sur l’intégration de plusieurs radios spécifiques, deviennent peu rentables. Cela souligne la nécessité de solutions multi-standards flexibles. Dans cet esprit, le détecteur MIMO sépare spatialement les flux de données multiplexées au niveau du côté du récepteur. Pour la mise en œuvre du détecteur, une large gamme d’algorithmes de détection sont disponibles dans la littérature. Le choix d’un algorithme spécifique influence significativement le rendement ainsi que la complexité de la solution matérielle résultante. Parmi les algorithmes les plus utilisés, les récepteurs linéaires à sortie ferme (hard en anglais) possèdent une faible complexité mais souffrent d’une performance limitée en termes de BER (Bit Error Rate). En revanche, le choix d’un récepteur à sortie souple (soft en anglais) basé sur une détection à maximum de vraisemblance (MV) offre une performance maximale mais au prix d’une grande complexité entraînant une consommation d’énergie importante. Afin de satisfaire aux exigences énergétiques des appareils portables du futur, la conception de récepteurs MIMO et leurs implémentations optimisées sont donc devenues un défi majeur. Plusieurs techniques de détection MIMO ont été proposées telles que la détection linéaire, la détection SIC (Successive Interference Cancelation) ou bien encore les algorithmes de type K-Best. Toutefois, ces détecteurs MIMO sont généralement liés à un schéma de modulation et ne sont pas évolutifs lorsque l’on souhaite changer le nombre d’antennes [66]. En outre, leur consommation d’énergie est encore assez élevée. Par conséquent, ils ne sont généralement pas2.4 Application du modèle à l’algorithme SSFE 61 adaptés pour les systèmes multi-standards économes en énergie. C’est pourquoi, nous nous intéressons dans ce chapitre à l’optimisation de l’algorithme SSFE basé sur un spanning sélectif avec énumération rapide ce qui permet de résoudre les problèmes de la détection MV à l’aide d’une décomposition orthogonale triangulaire de la matrice H de canal. Comme nous l’avons précisé dans le premier chapitre, l’arithmétique en virgule fixe répond aux besoins d’implémentation en termes d’une faible complexité et d’une consommation d’énergie réduite par rapport à la représentation équivalente en virgule flottante. En contre partie, la précision en arithmétique virgule fixe doit être maitrisée et évaluée afin de garantir l’intégrité de l’application conçue. Dans cette section, nous présentons tout d’abord le fonctionnement de l’algorithme SSFE puis nous proposerons un modèle analytique afin d’évaluer la précision en sortie de chaque antenne de détection à la réception en se basant sur le modèle analytique présenté précédemment dans le cadre d’une cascade d’opérateurs non lisses de décision. 2.4.1 Modèle du système MIMO Figure 2.15 – Propagation des erreurs non lisses (corrélées et non corrélées) Le modèle du système utilisé est illustré par la figure 2.15. Pour une raison d’exhaustivité, les blocs de correction d’erreur avant FEC (Forward Error Correction) sont montrés dans la figure. Le nombre d’antennes est égal à Nt et Nr respectivement à l’émission et à la réception. Pour une modulation de type W-QAM, un symbole représente l’un de W = 2g points de constellation. L’émetteur transmet un vecteur binaire x de taille gNt × 1 au sein de chaque vecteur symbole s de taille Nt × 1. La transmission de chaque vecteur s à travers le canal MIMO à évanouissement non sélectif en fréquence peut être modélisée par y = H.s+n, où y représente le vecteur symbole reçu de taille Nr × 1, H caractérise la matrice canal de taille Nt × Nr et n est le vecteur bruit. La tâche du détecteur MIMO consiste à retrouver le vecteur symbole s transmis par le transmetteur. Les détecteurs MIMO à sortie souple fournissent non seulement le vecteur de symboles le plus probable s (comme le font les détecteurs à sortie hard), mais aussi le rapport de vraisemblance logarithmique LLR (Log-Likelihood Ratio) qui correspond au rapport entre les vraisemblances de la valeur mesurée à l’entrée du récepteur sous les deux conditions possibles d’émission d’un bit s égal à 0 ou 1. Les décodeurs modernes, tels que les turbo-décodeurs et les décodeurs LDPC, qui feront l’objet du dernier chapitre de cette thèse, constituent un élément critique essentiel des futurs systèmes de transmission et nécessitent l’utilisation d’entrées souples (ou soft) afin d’obtenir des performances optimales en termes de BER. De tels décodeurs comportent deux éléments principaux : un générateur de liste et un générateur LLR. Le générateur de liste détermine une liste L des vecteurs s les plus probables. Parmi les techniques classiquement utilisées pour effectuer cette opération, le détecteur à maximum de vraisemblance offre de meilleures performances en termes de BER mais il possède une complexité62 Évaluation analytique de la précision des algorithmes de décodage sphérique la plus importante. Dans cette section, nous exploitons la technique de réception de type SSFE pour effectuer la génération de liste dans le contexte des transmissions de type MIMO. 2.4.2 Présentation de l’algorithme Contrairement à l’algorithme K-best traditionnellement utilisé, l’algorithme SSFE possède une structure de type flux de données et ne consomme pas beaucoup de mémoire pour les opérations. De plus, le SSFE est basé sur des opérateurs simples et lisses telles que l’addition, le décalage, la soustraction et également la cascade d’opérateurs de décision, ce qui réduit la complexité de l’implémentation. Par ailleurs, il possède l’avantage d’être paramétrable ce qui permet de régler ses paramètres en fonction du compromis complexité/performance ciblé. Pour la détection MV, le détecteur prend ses décisions suivant la règle : sˆ = arg min s∈ΩNt 0y − Hs02 (2.36) avec ΩNt désignant l’ensemble contenant toutes les réalisation possibles du vecteur signal s de taille Nt × 1. Pour la détection MV-proche (near-ML), seulement un nombre limité de vecteur s sont considérés. Une instance de l’algorithme SSFE est caractérisée uniquement par un vecteur scalaire m = [m1, ..., mNt ], mi ≥ W. Les entrées dans ce vecteur spécifient le nombre des symboles scalaires si qui sont pris en compte au niveau de l’antenne Ni. Il est important de noter qu’avec le paramètre m, un compromis complexité/performance est sélectionné. Le calcul de s peut être visualisé avec l’arbre de spanning. Commençant au niveau i = Nt, le SSFE traverse chaque nœud au niveau i + 1 jusqu’à mi nœuds. Un exemple d’un arbre avec m = [1, 1, 2, 4] est illustré dans la figure 2.16. Figure 2.16 – Exemple d’un arbre de spanning SSFE avec m = [1, 1, 2, 4] Le premier nœud racine est noté par TNt+1 = 0. En commençant du niveau i = Nt, la distance euclidienne partielle DEP d’un vecteur symbole si = [si, si+1, ..., sNt ] est donnée par : Ti(si ) = Ti+1(si+1) + C C Cei(si ) C C C 2 (2.37) avec C Cei(si ) C C 2 décrit l’incrémentation de la DEP. L’algorithme SSFE doit sélectionner un ensemble de si = [si, si+1, ..., sNt ] tel que le pas d’incrémentation de la DEP C Cei(si ) C C 2 soit minimisé. En considérant une décomposition a priori QR triangulaire orthogonale de la matrice canal H (H = QR), le pas pour incrémenter la DEP peut être calculé comme suit :2.4 Application du modèle à l’algorithme SSFE 63 C C Cei(si ) C C C 2 = C C C C C C C C C C C C yˆi − ' Nt j=i+1 Rijsj ? @A B bi+1(si+1) −Riisi C C C C C C C C C C C C 2 . (2.38) Les termes Rij sont les coefficients de la matrice R. Comme la minimisation de C Cei(si ) C C 2 est équivalente à la minimisation de C Cei(si )/Rii C C 2 , l’équation précédente peut être transformée (si Rii n’est pas nul) selon : C C Cei(si )/Rii C C C 2 = C C C C C C C bi+1(si+1)/Rii ? @A B %i −si C C C C C C C 2 = 0$i − si02 . (2.39) Nous pouvons également définir le vecteur y " défini par : 0y − H.s02 = c + C C Cy " − R.s C C C 2 , y" = Qt .y (2.40) avec c est une constante. La tâche du SSFE est de sélectionner un ensemble des points de constellation les plus proches autour de $i. Ceci est fait essentiellement en minimisant C Cei(si )/Rii C C 2 dans l’équation (2.39). Lorsque mi = 1, le point de constellation le plus proche de $i est p1 = D($i), où D désigne l’opérateur de décision. Lorsque mi > 1, plusieurs constellations peuvent être énumérées en se basant sur le vecteur d = $i − D($i). Le principe fondamental de cet algorithme consiste donc à augmenter itérativement l’ensemble autour de $i en appliquant des approximations heuristiques. Un exemple d’une énumération de 8-point est montrée dans la figure 2.17. Le premier point et le dernier point sont notés respectivement par les chiffres 1 et 8. Nous pouvons énumérer plusieurs points de la même manière. L’énumération rapide (EN) possède des avantages clairs avec la modulation PSK tel que l’énumération implémentée dans [66]. Les performances de cet algorithme en termes de BER sont présentées dans [66] ainsi que des comparaisons avec d’autres algorithmes concurrents . Figure 2.17 – Exemple d’une énumération rapide (ER) d’une constellation à 8 points A la réception, l’algorithme SSFE traite le vecteur y " pour effectuer des opérations arithmé- tiques lisses et des opérations de décisions en cascade. A titre d’exemple, la figure 2.18 représente,64 Évaluation analytique de la précision des algorithmes de décodage sphérique dans le cas de 4 antennes, le traitement effectué à la réception par l’algorithme SSFE sur le vecteur y " . Figure 2.18 – Cascade d’opérateurs de décisions : cas de l’algorithme SSFE 2.4.3 Application du modèle analytique proposé Dans cette section, nous proposons d’appliquer le modèle analytique présenté précédemment au cas particulier de l’algorithme SSFE à 4 antennes, ceci afin d’évaluer la précision d’une cascade d’opérateurs de décisions non lisses en tenant compte de la propagation de l’erreur causée par le bruit de quantification du format virgule fixe à travers la cascade existante dans le système de l’antenne 4 jusqu’à l’antenne 1. Afin de pouvoir utiliser le modèle de l’équation (3.4), nous devons modéliser cette propagation du bruit de quantification à l’entrée de chaque opérateur de la cascade. Nous présenterons deux approches de modélisation et de prise en compte de la propagation de l’erreur causée par le bruit de quantification. La première approche consiste à tenir compte de la propagation de l’erreur causée par le bruit de quantification dans la FDP du bruit de quantification à l’entrée de l’opérateur de décision courant. La deuxième approche consiste à modéliser cette propagation de l’erreur dans la FDP du signal présent à l’entrée de chaque opérateur de décision de la cascade. 2.4.4 Première approche Afin d’illustrer cette approche simplement, nous présentons tout d’abord l’étude en considé- rant le cas d’une modulation BPSK où la FDP du signal reçu sur chaque antenne est composée par deux gaussiennes centrées sur -1 et 1 avec une variance σ2 ch. Soit f 4 x(x) la FDP du signal à l’entrée de l’opérateur de décision de l’antenne 4 qui est le premier opérateur de la cascade de l’algorithme SSFE. Dans le cas où les signaux de la constellation BPSK sont équiprobables, cette FDP est donnée par : f 4 X(x) = 1 2. √2π.σch 8 exp(−(x − 1)2 2σ2 ch ) + exp(−(x + 1)2 2σ2 ch ) 9 . (2.41)2.4 Application du modèle à l’algorithme SSFE 65 Nous considérons également que le bruit de quantification b à l’entrée de chaque opérateur de décision est un bruit blanc gaussien de moyenne nulle dont la FDP est : f 4 B(x) = 1 √2π.σb . exp(−(x)2 2σ2 b ). (2.42) Dans ce cas, il y a deux symboles -1 et 1 dont les régions de décision correspondent respectivement aux intervalles ]−∞, 0] et [0, +∞[. Pour l’antenne 4, il existe deux probabilités d’erreur de décision P4 −1,1 et P4 1,−1 qui sont déterminées analytiquement par application directe de l’équation (2.17) : P4 −1,1 = / 0 −∞ + /∞ 0 f 4 X(x)f 4 B(b − x)dbdx P4 1,−1 = + /∞ 0 / 0 −∞ f 4 X(x)f 4 B(b − x)dbdx. (2.43) Et la probabilité d’erreur totale est donnée par : P4 erreur = P4 −1,1 + P4 1,−1. (2.44) Antenne 3 Dans le cas de l’opérateur de décision de l’antenne 3, l’entrée xˆ3 dépend non seulement du signal reçu y " 3 mais aussi de la sortie x˜4 de l’opérateur de décision qui lui précède dans l’antenne 4 : xˆ3 = y " 3 R33 − R34 R33 .x˜4. (2.45) Dépendamment de la valeur décidé x˜4 qui est soit -1 ou 1 dans le cas BPSK, xˆ3 peut prendre les valeurs suivantes : xˆ3|x˜4=1 = y " 3 R33 − R34 R33 xˆ3|x˜4=−1 = y " 3 R33 + R34 R33 . (2.46) Par conséquent lorsqu’une erreur se produit au niveau du bloc de décision de l’antenne 4, elle se propage probablement jusqu’aux prochaines antennes 3, 2 et 1. La FDP du signal à l’entrée de l’opérateur de décision de l’antenne 3 s’écrit dans ce cas comme suit : f 3 x(x) = p(˜x4 = 1).f 3 xˆ3|x˜4=1 (x) + p(˜x4 = −1).f 3 xˆ3|x˜4=−1 (x). (2.47) Les fonctions de densité de probabilité f 3 xˆ3|x˜4=1 (x) et f 3 xˆ3|x˜4=−1 (x) respectivement des signaux xˆ3|x˜4=1 et xˆ3|x˜4=−1 sont égales à la FDP du signal reçu au niveau de l’antenne 3 (y " 3/R33) dont la moyenne est décalée respectivement de −R34 R33 et R34 R33 . Dans le cas où (y " 3/R33) est un signal BPSK possédant une FDP composée de deux gaussiennes équiprobables centrées sur -1 et 1, la FDP du signal xˆ3 à l’entrée de l’opérateur de décision s’écrit comme suit : f 3 x(x) = p(˜x4 = 1) 1 2. √2π.σch 8 exp(−(x − 1 + R34 R33 )2 2σ2 ch ) + exp(−(x +1+ R34 R33 )2 2σ2 ch ) 9 + p(˜x4 = −1) 1 2. √2π.σch 8 exp(−(x − 1 − R34 R33 )2 2σ2 ch ) + exp(−(x + 1 − R34 R33 )2 2σ2 ch ) 9 .(2.48)66 Évaluation analytique de la précision des algorithmes de décodage sphérique Afin de déterminer analytiquement la probabilité d’erreur de décision au niveau de l’antenne n˚3, il est nécessaire de déterminer la FDP du bruit à l’entrée de l’opérateur de décision. Ce bruit n’est pas seulement composé par le bruit de quantification dû à l’arithmétique en virgule fixe, mais aussi par le bruit causé par une erreur de décision produite au niveau de l’antenne précédente n˚4 et propagée à l’antenne actuelle n˚3. En effet, lorsqu’une erreur est produite au niveau de l’antenne précédente n˚4 tel que le scénario correspondant Sk n est une décision du symbole Sj en arithmétique virgule fixe mais elle est le symbole Si en arithmétique virgule flottante, le bruit de quantification au niveau de l’antenne n˚3 sera décalé par dij R34 R33 où dij = Si − Sj définie par l’équation (2.21), représente la différence entre les symboles de la constellation impliqués dans le scénario de l’erreur produite au niveau du bloc de décision précédent. Lorsque i .= j , il s’agit bien d’une erreur de décision, tandis que lorsque i = j (dij = 0), il s’agit du cas où il n y avait pas d’erreur de décision. Ce raisonnement englobe les deux cas (i .= j et i = j). Par conséquent, il convient de préciser, que selon cette approche, le bruit à l’entrée de l’opé- rateur de décision en cours est une somme pondérée de plusieurs bruits. Chaque bruit de la somme caractérise un scénario produit au niveau du précédent opérateur de décision multiplié par la probabilité d’occurrence de ce scénario. Dans le cas d’une constellation BPSK, le bruit à l’entrée de l’opérateur de décision de l’antenne n˚3 est une somme pondérée de trois composantes. La première composante est le bruit de quantification de la conversion en virgule fixe au niveau de l’antenne n˚3, que nous supposons blanc gaussien et centré, pondéré par probabilité de bonne décision au niveau du bloc de décision de l’antenne précédente (1 − P4 erreur). La deuxième composante caractérise le cas où il y avait une erreur de décision de type P4 −1,1 au niveau de l’antenne n˚4. Cette composante n’est que le bruit de quantification au niveau de l’antenne n˚3 décalée par d−1,1. R34 R33 = −2. R34 R33 pondéré par la probabilité de l’occurrence de ce scénario qui est P4 −1,1. La troisième composante est l’autre cas de l’erreur de décision au niveau de l’opérateur de décision de l’antenne n˚4 dont la probabilité est P4 1,−1. De même, cette composante est le bruit de quantification de l’antenne n˚3 décalé de 2. R34 R33 . Par conséquent la FDP du bruit présent au niveau de l’opérateur de décision de l’antenne n˚3 est : f 3 B(b − x) = P4 −1,1.f 3 B,−2. R34 R33 (b − x) + P4 1,−1.f 3 B,2. R34 R33 (b − x) + (1 − P4 erreur).f 3 B,0(b − x). (2.49) Dans le cas d’un bruit blanc gaussien, cette FDP s’écrit par : f 3 B(b − x) = P4 −1,1. 1 √2π.σb . exp(−(b − x − 2. R34 R33 )2 2σ2 b ) + P4 1,−1. 1 √2π.σb . exp(−(b − x + 2. R34 R33 )2 2σ2 b ) + (1 − P4 erreur). 1 √2π.σb . exp(−(b − x)2 2σ2 b ). (2.50) Après avoir déterminé les fonctions densité de probabilité du signal xˆ3 et du bruit b3 à l’entrée de l’opérateur de décision de l’antenne n˚3, nous pouvons déterminer les probabilités d’erreurs de décision P3 i,j par application directe de l’équation (2.17) : P3 i,j = / Ri / Rj f 3 X(x)f 3 B(b − x)dbdx. (2.51) Dans le cas BPSK, les probabilités d’erreurs de décision sont : P3 −1,1 = / 0 −∞ + /∞ 0 f 3 X(x)f 3 B(b − x)dbdx P3 1,−1 = + /∞ 0 / 0 −∞ f 3 X(x)f 3 B(b − x)dbdx. (2.52)2.4 Application du modèle à l’algorithme SSFE 67 Nous avons calculé la probabilité d’erreur de décision pour l’opérateur de décision de l’antenne n˚3 qui constitue une cascade avec le précédent opérateur de décision de l’antenne n˚4. Cette technique prend en compte la propagation du bruit de l’erreur produite au niveau de l’antenne n˚4 jusqu’à l’antenne actuelle n˚3. Cette propagation de l’erreur est modélisée dans la FDP du bruit présent à l’entrée de l’opérateur de décision de l’antenne n˚3 en considérant tous les scénarios possibles produits au niveau du bloc de décision de l’antenne n˚4. La figure 2.19 montre la probabilité d’erreur de décision au niveau de l’opérateur de décision de l’antenne 3 obtenue à partir de cette approche analytique ainsi que celle obtenue par simulation pour différentes valeurs du rapport entre la puissance de signal par élément binaire et celle du bruit. Figure 2.19 – Probabilité d’erreur de décision totale en fonction du rapport signal à bruit Nous remarquons que la probabilité d’erreur de décision calculée analytiquement pour l’opé- rateur de décision de l’antenne n˚3 est conforme à la probabilité d’erreur de décision calculée par la technique de simulation virgule fixe et virgule flottante de l’algorithme SSFE dans le cas d’une constellation BPSK. L’erreur maximale entre la probabilité d’erreur estimée analytiquement et la probabilité estimée par simulation est de l’ordre de 2%. Il convient de préciser par ailleurs que le temps d’exécution pris par la simulation pour estimer cette probabilité d’erreur de décision est largement supérieur aux temps pris pour évaluer numériquement la probabilité analytique. Nous présenterons ultérieurement une étude comparative entre les temps d’exécution obtenus par la méthode de simulation et par le modèle analytique afin de montrer l’intérêt de notre contribution pour l’évaluation des applications contenant des bloc lisses et des cascades d’opérateurs non lisses de décision. Cas générique Dans le cas où les signaux reçus sont de type M-QAM avec une équiprobabilité entre les différents points de constellation, nous suivons également la même stratégie que celle68 Évaluation analytique de la précision des algorithmes de décodage sphérique utilisée dans le cas BPSK afin de déterminer la fonction de densité de probabilité du signal présent à l’entrée de l’opérateur de décision de l’antenne n˚3 ainsi que celle du bruit présent en entrée de l’opérateur. Nous appliquerons ensuite l’intégrale de l’équation (2.17) pour obtenir les différentes probabilités d’erreur de décision P3 i,j . Afin d’évaluer de façon analytique les performances de décision de l’antenne n˚3, il est nécessaire de calculer en premier lieu les FDP f 3 x(x) et fB(b−x). Supposons que la sortie de l’opérateur de décision de l’antenne n˚4 soit x˜4 = Si , alors l’entrée de l’opérateur courant de décision est donnée d’après (2.45) par : xˆ3|x˜4=Si = y " 3 R33 − R34 R33 .Si. (2.53) Par conséquent, la FDP de xˆ3 est définie par : f 3 x = ' M t=1 P(˜x4 = St)fxˆ3|x˜4=Si (2.54) où fxˆ3|x˜4=Si désigne la FDP du signal xˆ3|x˜4=Si qui correspond encore, d’après (2.53), à la FDP du signal y " 3 R33 décalée par R34 R33 .Si. Après cette étape, nous devons déterminer la FDP du bruit b3 à l’entrée de l’opérateur de décision de l’antenne n˚3 en tenant compte de la propagation jusqu’à l’antenne n˚3 d’une erreur de décision due à l’arithmétique virgule fixe et en considérant tous les scénarios possibles d’erreurs produites dans le bloc de décision précédent de l’antenne n˚4. Par conséquent la FDP f 3 B(x) s’écrit par : f 3 b (x) = ' M i=1 ' M j=1 P4 i,j .f 3 B|dij (x) (2.55) où fB|dij désigne la FDP de la composante du bruit présent en entrée de l’opérateur de décision et correspondant à un scénario d’erreur P4 i,j au niveau de l’opérateur de décision de l’antenne n˚4. Cette FDP est la FDP f 3 B|0(b − x) du bruit de quantification causé par la conversion du signal xˆ3 en entrée de l’opérateur de décision en virgule fixe décalée par R34 R33 .dij = R34 R33 .(Si − Sj ). Arrivant à ce stade, nous avons tous les éléments nécessaires pour évaluer la probabilité d’erreur de décision causée par la conversion en format virgule fixe et la propagation des erreurs de quantification pour l’antenne n˚3 dans le cas d’une constellation de type M-QAM. Antenne 2 : Considérons maintenant l’étape suivante de l’architecture du récepteur SSFE, c’est à dire celle qui consiste à évaluer la précision de l’opérateur de décision situé au niveau de l’antenne n˚2. Comme dans le cas de l’antenne n˚3, nous commencerons par une étude dans le cas d’une constellation de type BPSK pour mettre en évidence les mécanismes intervenant dans la propagation du bruit d’un opérateur à l’autre de la cascade et nous présenterons le cas générique pour une constellation de type QAM. Dans le cas de l’antenne n˚2, l’opérateur de décision constitue une cascade avec les deux opérateurs de décision correspondant aux antennes n˚2 et n˚3 situées en amont. Par conséquent l’entrée xˆ2 de l’opérateur de décision de l’antenne n˚2 ne dépend pas seulement du signal reçu y " 2 mais aussi des sorties x˜3 et x˜4 des opérateurs de décision respectivement des antennes n˚3 et n˚4 : xˆ2 = y " 2 R22 − R24 R22 x˜4 − R23 R22 x˜3. (2.56)