Nouvelles approches en filtrage particulaire. Application au recalage de la navigation inertielle - Thèse Informatique

Nouvelles approches en filtrage particulaire. Application au recalage de la navigation inertielle - 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 
Nouvelles approches en filtrage particulaire. Application au recalage de la navigation inertielle A. Murangira To cite this version: A. Murangira. Nouvelles approches en filtrage particulaire. Application au recalage de la navigation inertielle. Other. Universit´e de Technologie de Troyes - UTT, 2014. French. HAL Id: tel-01018717 https://tel.archives-ouvertes.fr/tel-01018717 Submitted on 4 Jul 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 Science des systèmes technologiques et organisationnels Thèse présentée pour obtenir le grade de docteur de l’Université de Technologie de Troyes Spécialité : Optimisation et Sûreté des Systèmes Achille Murangira Nouvelles approches en filtrage particulaire. Application au recalage de la navigation inertielle soutenue le 25 mars 2014 devant le jury composé de François Le Gland Rapporteur (INRIA Rennes) Christophe Macabiau Rapporteur (ENAC) Igor Nikiforov Directeur de thèse (UTT) Jean-Michel Allard Examinateur (Onera) Karim Dahia Examinateur (Onera) Christian Musso Examinateur (Onera) Hichem Snoussi Examinateur (UTT) Jean-Yves Tourneret Examinateur (ENSEEIHT) Gilles Clerc-Renaud Invité (DGA)3 Remerciements Tout d’abord, je tiens à remercier Igor Nikiforov d’avoir dirigé cette thèse. Merci à François Le Gland et Christophe Macabiau d’avoir accepter d’en être les rapporteurs, et à Jean-Yves Tourneret qui a assuré la présidence du jury. Je suis également reconnaissant envers Hichem Snoussi pour sa participation au jury. Merci à la DGA et à l’Onera pour avoir co-financé la thèse et à Gilles Clerc-Renaud pour avoir manifesté beaucoup d’intérêt pour mes recherches. Grand merci également à Jean-Michel Allard, Karim Dahia de m’avoir accompagné dans la réalisation de ces travaux. Leur expertise et leur disponibilité ont été essentielles au bon déroulement de ce doctorat. Je remercie également Christian Musso pour ses idées, son ouverture scientifique et sa sympathie qui n’ont jamais fait défaut tout au long de ces trois années de recherches. Merci aux collègues du DCPS et du DTIM avec qui j’ai travaillé et échangé dans une atmosphère conviviale et détendue. Enfin merci à mon père, ma mère et mes frères pour leur soutien et leurs encouragements répétés.45 Résumé Les travaux présentés dans ce mémoire de thèse concernent le développement et la mise en oeuvre d’un algorithme de filtrage particulaire pour le recalage de la navigation inertielle par mesures altimétriques. Le filtre développé, le MRPF (Mixture Regularized Particle Filter), s’appuie à la fois sur la modélisation de la densité a posteriori sous forme de mélange fini, sur le filtre particulaire régularisé ainsi que sur l’algorithme mean-shift clustering. Nous proposons également une extension du MRPF au filtre particulaire Rao-Blackwellisé appelée MRBPF (Mixture Rao-Blackwellized Particle Filter). L’objectif est de proposer un filtre adapté à la gestion des multimodalités dues aux ambiguïtés de terrain. L’utilisation des modèles de mélange fini permet d’introduire un algorithme d’échantillonnage d’importance afin de générer les particules dans les zones d’intérêt. Un second axe de recherche concerne la mise au point d’outils de contrôle d’intégrité de la solution particulaire. En nous appuyant sur la théorie de la détection de changement, nous proposons un algorithme de détection séquentielle de la divergence du filtre. Les performances du MRPF, MRBPF, et du test d’intégrité sont évaluées sur plusieurs scénarios de recalage altimétrique. Mots clés : filtrage particulaire, recalage altimétrique, modèles de mélange, mean-shift clustering, échantillonnage d’importance, maximum a posteriori, test d’intégrité, détection de changement, algorithme CUSUM. Abstract This thesis deals with the development of a mixture particle filtering algorithm for inertial navigation update via radar-altimeter measurements. This particle filter, the so-called MRPF (Mixture Regularized Particle Filter), combines mixture modelling of the posterior density, the regularized particle filter and the mean-shift clustering algorithm. A version adapted to the Rao-Blackwellized particle filter, the MRBPF (Mixture Rao-Blackwellized Particle Filter), is also presented. The main goal is to design a filter well suited to multimodal densities caused by terrain amibiguity. The use of mixture models enables us to introduce an alternative importance sampling procedure aimed at proposing samples in the high likelihood regions of the state space. A second research axis is concerned with the development of particle filtering integrity monitoring tools. A novel particle filter divergence sequential detector, based on change detection theory, is presented. The performances of the MRPF, MRBPF and the divergence detector are reported on several terrain navigation scenarios. Keywords : particle filtering, terrain navigation, mixture models, mean-shift clustering, importance sampling, maximum a posteriori, integrity monitoring, change detection, CUSUM algorithm.67 Table des matières Notations 11 Introduction générale 15 1 Filtrage statistique : méthodes analytiques et numériques 19 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.2 Estimation bayésienne et filtrage en temps discret . . . . . . . . . . . . . . . . 19 1.2.1 Estimation bayésienne . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.2.2 Le filtre optimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.3 Méthodes de résolution du problème de filtrage . . . . . . . . . . . . . . . . . . 22 1.3.1 Méthodes analytiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.3.1.1 Le filtre de Kalman (KF) . . . . . . . . . . . . . . . . . . . . 22 1.3.1.2 Le filtre de Kalman étendu (EKF) . . . . . . . . . . . . . . . . 24 1.3.1.3 Le filtre de Kalman sans parfum (UKF) . . . . . . . . . . . . . 25 1.3.2 Méthodes numériques . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2 Méthodes particulaires pour le filtrage non linéaire 29 2.1 Méthodes de Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.1.1 Echantillonnage Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . 29 2.1.2 Echantillonnage pondéré . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.1.3 Échantillonnage par acceptation-rejet . . . . . . . . . . . . . . . . . . . 31 2.2 Filtrage particulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2.1 L’échantillonnage séquentiel pondéré . . . . . . . . . . . . . . . . . . . 32 2.2.2 Dégénérescence des poids . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.2.3 Ré-échantillonnage des particules . . . . . . . . . . . . . . . . . . . . . 35 2.2.4 L’algorithme Sequential Importance Resampling (SIR) . . . . . . . . . . 37 2.2.5 Convergence des filtres particulaires . . . . . . . . . . . . . . . . . . . . 39 2.3 Le filtre particulaire régularisé (RPF) . . . . . . . . . . . . . . . . . . . . . . . 39 2.3.1 Régularisation d’une loi de probabilité discrète . . . . . . . . . . . . . . 40 2.3.2 Algorithme du filtre particulaire régularisé . . . . . . . . . . . . . . . . . 41 2.4 Les filtres particulaires hybrides (RBPF, KPKF) . . . . . . . . . . . . . . . . . . 42 2.4.1 Le filtre particulaire Rao-Blackwellisé (RBPF) . . . . . . . . . . . . . . . 428 TABLE DES MATIÈRES 2.4.2 Un exemple de filtre particulaire à noyau : le Kalman Particle Kernel Filter (KPKF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.5 Comportement du filtre particulaire en présence de multimodalités . . . . . . . . 47 2.5.1 Cas où le nombre de modes est supérieur ou égal à 3 . . . . . . . . . . . 51 2.5.2 Cas où l’état est continu . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.6 Modèles de mélange pour le filtrage particulaire . . . . . . . . . . . . . . . . . . 52 2.6.1 Filtrage pour les modèles de mélange . . . . . . . . . . . . . . . . . . . 52 2.6.2 Approximation particulaire pour les modèles de mélange et algorithme MPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3 Systèmes de navigation inertielle et recalage radio-altimétrique 59 3.1 Introduction à la navigation inertielle . . . . . . . . . . . . . . . . . . . . . . . 59 3.1.1 Repères de navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.1.2 Capteurs inertiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.2 Les équations de la navigation inertielle . . . . . . . . . . . . . . . . . . . . . . 61 3.2.1 Equation d’attitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.2.2 Equation de vitesse du mobile . . . . . . . . . . . . . . . . . . . . . . . 63 3.2.3 Equation de position . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.3 Modélisation de l’erreur de navigation . . . . . . . . . . . . . . . . . . . . . . . 64 3.3.1 Variables d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.3.2 Équation d’évolution de l’erreur d’attitude . . . . . . . . . . . . . . . . 66 3.3.3 Équation d’évolution de l’erreur de vitesse . . . . . . . . . . . . . . . . 66 3.3.4 Équation d’évolution de l’erreur de position . . . . . . . . . . . . . . . . 66 3.3.5 Modélisation angle-psi pour les équation d’erreurs de navigation . . . . . 67 3.3.5.1 Modélisation des erreurs des capteurs inertiels . . . . . . . . . 67 3.4 Radio-altimétrie et architecture de la navigation hybridée . . . . . . . . . . . . . 68 3.4.1 Généralités sur les radio-altimètres . . . . . . . . . . . . . . . . . . . . 68 3.4.2 Principe de la navigation hybridée . . . . . . . . . . . . . . . . . . . . . 69 3.5 Approches algorithmiques pour le recalage altimétrique . . . . . . . . . . . . . . 70 3.5.1 Recalage altimétrique par bloc . . . . . . . . . . . . . . . . . . . . . . . 70 3.5.2 Recalage par banc de filtres de Kalman . . . . . . . . . . . . . . . . . . 71 3.5.3 Du Point-Mass Filter aux filtres particulaires . . . . . . . . . . . . . . . 71 3.5.4 Recalage altimétrique continu . . . . . . . . . . . . . . . . . . . . . . . 72 4 Développement de filtres particulaires adaptés aux multimodalités 75 4.1 Détermination des modes de la loi a posteriori par clustering . . . . . . . . . . . 76 4.1.1 L’algorithme mean-shift clustering . . . . . . . . . . . . . . . . . . . . . 77 4.1.1.1 Estimation de densité par noyau . . . . . . . . . . . . . . . . 77 4.1.1.2 Estimation du gradient de la densité . . . . . . . . . . . . . . 78 4.1.1.3 Détermination de clusters par procédures mean-shift . . . . . 81 4.1.2 Sélection automatique du facteur de lissage du mean-shift clustering . . . 82 4.1.2.1 Sélection d’un facteur de lissage global fondée sur un critère statistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829 4.1.2.2 Sélection d’un facteur de lissage global basée sur un indice de validité des clusters . . . . . . . . . . . . . . . . . . . . . . . 83 4.1.2.3 Sélection d’un facteur de lissage local basée sur la stabilité de la partition . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.1.2.4 Sélection d’un facteur de lissage global adapté à l’échelle du nuage de particules . . . . . . . . . . . . . . . . . . . . . . . 86 4.1.3 Stratégies de réduction du temps de calcul de l’algorithme de mean-shift clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.2 Ré-échantillonnage et régularisation locale . . . . . . . . . . . . . . . . . . . . 88 4.3 Gestion dynamique des clusters du filtre . . . . . . . . . . . . . . . . . . . . . . 92 4.4 Résumé de l’algorithme MRPF . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.5 Échantillonnage d’une loi d’importance basée sur les maxima locaux de la densité a posteriori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.5.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.5.2 Evaluation du maximum a posteriori pour un modèle d’observation partiellement linéaire avec a priori gaussien . . . . . . . . . . . . . . . . . . 97 4.5.3 Loi de proposition centrée sur le MAP pour l’échantillonnage d’importance 99 4.5.3.1 Cadre statique . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.5.3.2 Cadre dynamique : illustration . . . . . . . . . . . . . . . . . . 109 4.5.3.3 Application au filtrage particulaire pour les modèles d’observation partiellement linéaires . . . . . . . . . . . . . . . . . . . . 111 4.5.4 Extension au filtre particulaire Rao-Blackwellisé : algorithme MRBPF-MAP 117 4.6 Evaluation des performances du MRPF, du MRPF-MAP et du MRBPF-MAP . . 119 4.6.1 Profils de terrain pour le recalage radio-altimétrique . . . . . . . . . . . 119 4.6.2 Modèle d’état et d’observation . . . . . . . . . . . . . . . . . . . . . . 120 4.6.3 Critères de performances . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.6.4 Simulations A : évaluation des performances du MRPF . . . . . . . . . . 126 4.6.4.1 Conditions de simulations . . . . . . . . . . . . . . . . . . . . 126 4.6.4.2 Résultats numériques . . . . . . . . . . . . . . . . . . . . . . 128 4.6.5 Simulations B : évaluation des performances du MRPF-MAP . . . . . . 135 4.6.5.1 Conditions de simulations . . . . . . . . . . . . . . . . . . . . 136 4.6.5.2 Résultats numériques . . . . . . . . . . . . . . . . . . . . . . 137 4.6.6 Simulations C : évaluation des performances du MRBPF-MAP . . . . . . 146 4.6.6.1 Résultats numériques . . . . . . . . . . . . . . . . . . . . . . 148 5 Test d’intégrité pour le filtrage particulaire : application au recalage radioaltimétrique 157 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.2 Outils statistiques pour la détection de changement . . . . . . . . . . . . . . . 157 5.2.1 Test d’hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.2.2 Test séquentiel entre hypothèses simples . . . . . . . . . . . . . . . . . 158 5.2.3 Algorithme CUSUM pour la détection de changement en ligne . . . . . . 159 5.3 Un aperçu sur les tests d’intégrité pour les filtres de Kalman . . . . . . . . . . . 16110 TABLE DES MATIÈRES 5.3.1 Définition et causes de divergences pour le filtre de Kalman et ses variantes161 5.3.2 Tests de détection de divergence en filtrage de Kalman . . . . . . . . . . 162 5.4 Détection de divergence en filtrage particulaire . . . . . . . . . . . . . . . . . . 163 5.5 Formulation d’un test d’hypothèse pour la détection de divergence d’un filtre particulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 5.5.1 Approximation de la moyenne de l’innovation particulaire sous l’hypothèse de fonctionnement normal du filtre . . . . . . . . . . . . . . . . . . . . 165 5.5.2 Approximation de la variance de l’innovation particulaire sous l’hypothèse de fonctionnement normal du filtre . . . . . . . . . . . . . . . . . . . . 166 5.5.3 Cas d’un vecteur de mesure multidimensionnel . . . . . . . . . . . . . . 169 5.5.4 Définition du test d’hypothèse . . . . . . . . . . . . . . . . . . . . . . . 169 5.6 Mise en oeuvre d’un test séquentiel pour la détection de divergence . . . . . . . 170 5.6.1 Détection en ligne du changement de moyenne du processus d’innovation normalisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 5.6.2 Choix des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 5.6.3 Evaluation des performances du détecteur de divergence dans le cadre du recalage radio-altimétrique . . . . . . . . . . . . . . . . . . . . . . . . . 173 5.7 Ré-initialisation du filtre particulaire après divergence . . . . . . . . . . . . . . . 180 5.7.1 Choix de la loi a priori pour la ré-initialisation du filtre . . . . . . . . . . 180 5.7.2 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Conclusion générale 193 A Compléments au chapitre 1 197 A.1 Lemme 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 A.2 Lemme 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 B Complément au chapitre 2 199 C Complément au chapitre 4 203 D Compléments au chapitre 5 205 D.1 Détection de divergence dans le cas d’un vecteur de mesure multidimensionnel . 205 D.2 Initialisation à partir d’une série de mesures . . . . . . . . . . . . . . . . . . . . 209 Bibliographie 21811 Notations et acronymes Notations P mesure de probabilité k temps discret xk vecteur d’état yk vecteur d’observation x0:k ensemble {x0, x1, · · · xk} y0:k ensemble {y0, y1, · · · yk} d dimension de l’espace d’état E(.) espérance Ep(.) espérance par rapport à la densité p pk, pk|k densité de xk sachant y0:k pk|k−1 densité de xk sachant y0:k−1 Cov covariance Var variance xˆMAP maximum a posteriori Qk matrice de covariance du bruit de dynamique Rk matrice de covariance du bruit d’observation N nombre de particules/échantillons x ∼ p échantillon issu de p x i particule/échantillon ω i poids de la particule x i Nef f taille effective de l’échantillon Nth seuil de ré-échantillonnage pour le critère Nef f K noyau de régularisation hopt facteur de dilatation optimal Xk ensemble des particules à l’instant k : {x i k , i = 1, · · · , N} 4 = égal par définition à ∝ proportionnel à DKL (f k g) divergence de Kullback-Leibler de g à f U([a, b]) loi uniforme sur [a, b] hF, Gi Z F(x)G(x)dx12 Notations Jm, nK segment des entiers compris entre m et n bxc partie entière de x ∈ R ✶A fonction indicatrice pour un événement A det(A) déterminant de la matrice A diag(u1, . . . , un) matrice de diagonale d’éléments u1, . . . , un ϕ(.|µ, Σ) densité de probabilité de la distribution gaussienne de moyenne µ et de covariance Σ dilog fonction di-logarithme plim limite en probabilité αj,k coefficient de mélange de la composante d’indice j à l’instant k Cj,k ensemble des particules appartenant au cluster d’indice j à l’instant k Ij,k indices des particules appartenant au cluster d’indice j mh,G vecteur mean-shift évalué avec la fenêtre de lissage h et le noyau G Rm rayon de fusion dans l’algorithme mean-shift N j ef f taille effective de l’échantillon du cluster d’indice j αmin seuil de suppression d’un cluster xˆ ∗ j estimation du j-ème mode de la densité conditionnelle Nth,MAP seuil d’utilisation de lois d’importance locales dans le MRPF λ latitude géographique φ longitude géographique z altitude géographique Rn2b matrice de rotation du repère de navigation (n) au repère engin (b) ψ lacet θ tangage ϕ roulis γm force spécifique g pesanteur terrestre ωie vitesse de rotation de la terre dans le repère TGL hMNT fonction d’observation correspondant au MNT H0 hypothèse nulle H1 hypothèse alternative Dk fonction de décision ta temps d’arrêt du test t0 vrai instant de changement T¯ temps moyen entre deux fausses alarmes τ ∗ pire retard moyen de détection ess sup essentiel supremum k innovation du filtre optimal  N k innovation du filtre particulaire rk processus d’innovation normalisé τ délai moyen de détection13 Abbréviations i.i.d. indépendant(e)s et identiquement distribué(e)s p.s. presque sûrement v.a. variable aléatoire Acronymes AMISE Asymptotic Mean Integrated Squared Error ARL Fonction ARL (Average Run Length) BCR Borne de Cramer-Rao classique ou a posteriori CUSUM Algorithme des sommes cumulées pour la détection de changement de moyenne EKF filtre de Kalman étendu KF filtre de Kalman KPKF Kalman Particle Kernel Filter MAP Maximum a posteriori MNT Modèle numérique de terrain MRPF Mixture Regularized Particle Filter MRBPF Mixture Rao-Blackwellized Particle Filter MSE Mean Squared Error MISE Mean Integrated Squared Error RBPF Rao-Blackwellized Particle Filter RPF Regularized Particle Filter SIR Sequential Importance Resampling SIS Sequential Importance Sampling TFA Taux de fausses alarmes TGL Trièdre géographique local TND Taux de non détection UKF filtre de Kalman sans parfum14 Notations15 Introduction générale Contexte de la thèse De manière générale, la navigation est la science et l’ensemble des techniques permettant de connaître la position d’un véhicule en mouvement. Les systèmes de navigation inertielle fournissent une estimation des coordonnées de position, vitesse et attitude par double intégration des mesures d’accélération et de vitesse angulaire délivrées par les accéléromètres et gyromètres de la centrale inertielle. Ces systèmes permettent une navigation autonome contrairement aux systèmes de radio-navigation qui reposent sur la transmission de signaux par un émetteur externe. Les capteurs de la centrale inertielle étant entachés d’erreurs de mesure, la solution de navigation subit une dérive. Il est nécessaire de recaler la navigation à l’aide de mesures auxiliaires indépendantes de la centrale inertielle. Dans cette thèse, nous nous intéressons au recalage d’un aéronef via des mesures de hauteursol fournies par un radio-altimètre, et un modèle numérique de terrain (MNT). L’estimation de la position de l’aéronef se fait alors en comparant le profil de terrain obtenu à partir des mesures altimétriques avec le profil de terrain issu de la carte embarquée. Les algorithmes de recalage fonctionnent soit par batch, c’est-à-dire par corrélation de blocs de mesures consécutives avec le MNT, soit récursivement en mettant à jour l’estimation de la position à chaque mesure reçue. Les systèmes batch comme le TERCOM (Terrain Contour Matching) supposent généralement une bonne connaissance de la vitesse et de l’altitude ce qui restreint leur domaine d’utilisation. Les méthodes récursives telles que le SITAN (Sandia Inertial Terrain Navigation) reposent sur l’utilisation d’un ou plusieurs filtres de Kalman étendus (EKF). Cependant lorsque l’incertitude sur la position initiale est grande ou lorsque le terrain est très accidenté, leur efficacité est limitée. Dans les deux dernières décennies, les filtres particulaires ont connu un intérêt croissant car ils permettent d’estimer récursivement l’état d’un système dynamique, sans imposer de contraintes sur la linéarité du modèle. Ils reposent sur l’approximation de la loi de l’état du système, conditionnellement aux mesures passées et sont particulièrement adaptés lorsque cette loi est multimodale. Les caractéristiques de non-linéarité et de multimodalités sont justement typiques de la problé- matique du recalage par mesures altimétriques : – en début de recalage, du fait de l’ambiguïté de terrain, il existe plusieurs positions compatibles avec les mesures. Cela se traduit par une loi conditionnelle multimodale. – l’équation d’observation du radio-altimètre reliant la position de l’aéronef à la hauteur-sol est non-linéaire.16 Introduction générale Le filtre particulaire est une méthode de Monte Carlo séquentielle dont les fondements datent probablement des années 70 [53, 52], mais la plupart des travaux ont eu lieu à partir des années 90 avec les contributions de Gordon et. al [50], Kong et al. [69], Del Moral [30], Del Moral et. al [33], ou encore Pitt et Shepard [105]. Les algorithmes particulaires standards reposent sur la succession d’étapes de prédiction, de correction et de ré-échantillonnage qui maintiennent un système de particules pondérées approchant la loi a posteriori. Lors de l’étape de prédiction, les particules sont propagées selon l’équation de dynamique, puis leur poids sont ajustés selon leur adéquation avec l’observation courante via l’évaluation de la fonction de vraisemblance. Le ré- échantillonnage consiste à favoriser les particules dont les poids sont significatifs afin de conserver une approximation de la loi a posteriori non-dégénérée. Bergman [6] est à l’origine des premiers travaux sur le filtrage particulaire pour le recalage altimétrique. Dans son étude, il suppose que l’altitude et les composantes de vitesse sont connues et cherche à estimer la position horizontale du véhicule. Les filtres implémentés se montrent robustes aux divergences et sont capables d’atteindre la borne d’erreur minimale (Borne de Cramer-Rao a posteriori), pour une incertitude initiale en position modeste. Des travaux ultérieurs ont permis d’étudier l’apport de nouveaux filtres à la problématique du recalage altimétrique. Le filtre particulaire régularisé de Oudjane et Musso [96], initialement développé pour le pistage de cible, a permis de rendre l’étape de ré-échantillonnage plus robuste. Dans ses travaux sur la navigation par corrélation de terrain, Nordlund [94] utilise Le Rao-Blackwellized Particle Filter. Ce filtre exploite la nature linéaire de l’équation de mesure altimétrique, conditionnellement à la position horizontale, ce qui permet de restreindre l’échantillonnage des particules aux coordonnées de position horizontale, les composantes d’altitude et de vitesse étant estimées grâce à une batterie de filtres de Kalman. Ceci permet en principe de réduire le nombre de particules utilisées pour des performances identiques. On peut également citer le développement du KPKF de Dahia [28] qui permet d’avoir des taux de convergence plus importants lorsque l’incertitude initiale est importante tout en réduisant le nombre de particules utilisées. Néanmoins, il y a deux situations spécifiques pouvant provoquer la divergence du filtre : 1. Lorsque l’approximation particulaire est multimodale, on observe [67, 118] que les étapes de ré-échantillonnage successives peuvent provoquer la perte prématurée d’un ou plusieurs modes. Lorsque le mode perdu correspond à la vraie position de l’aéronef, le filtre diverge automatiquement. Ce risque est d’autant plus important que le terrain est ambigu car, dans ce cas le filtre est multimodal. 2. Lorsque le terrain connait une variation brusque sous forme d’un fort gradient de terrain (par exemple un canyon), les méthodes d’échantillonnage standards intervenant dans l’implémentation du filtre, sont mises en difficulté. Cette situation survient également lorsque la fonction de vraisemblance, qui intervient lors de l’étape de correction, est très localisée : c’est le cas si la variance du bruit de mesure est très petite. Lorsque cette situation survient, le risque est de n’avoir que quelques particules avec un poids significatif, ce qui peut faire diverger le filtre. Une autre problématique soulevée par le filtrage particulaire est la détection automatique et sé- quentielle de la divergence : cela permet de contrôler l’intégrité de la solution de recalage fournie17 par le filtre et, éventuellement, de le ré-initialiser. Dans ces travaux nous considérons que la divergence correspond à une situation où l’erreur d’estimation est incompatible avec le domaine de confiance fourni par le filtre particulaire. Nous proposons dans cette thèse, une approche permettant de conserver le plus longtemps possible, les modes de la loi conditionelle, jusqu’à ce que l’ambigüité soit levée : les filtres particulaires développés à cet effet sont le MRPF (Mixture Regularized Particle Filter) et son extension au filtre Rao-Blackwellisé, noté MRBPF (Mixture Rao-Blackwellized Particle Filter). Ces filtres s’appuient sur le MPF (Mixture Particle Filter) [118] où la densité cible est exprimée sous forme d’un mélange de densités fini. Idéalement, chaque composante du mélange est monomodale et approximée par un sous-ensemble de particules pondérées. Nous utilisons dans le MRPF et le MRBPF l’algorithme de clustering mean-shift permettant de grouper automatiquement les particules associées au même mode. Par ailleurs, nous introduisons une procédure de régularisation locale adaptée aux multimodalités. Le MRPF et le MRBPF sont ensuite combinés avec une méthode d’échantillonnage d’importance basée sur les maxima locaux de la loi conditionnelle, l’objectif étant de propager efficacement les particules dans les zones d’intérêt. Les algorithmes résultants sont le MRPF-MAP et le MRBPFMAP. Enfin, nous introduisons un algorithme de détection séquentielle de divergence que nous testons sur plusieurs scénarios de recalage : la première difficulté est de définir un test d’hypothèse permettant de décider entre la divergence et la non-divergence du filtre. Classiquement, la divergence en filtrage particulaire est souvent confondue avec le phénomène de dégénérescence, qui est évalué empiriquement grâce à des indicateurs comme la taille effective de l’échantillon ou l’entropie des poids. Pourtant en pratique, la divergence du filtre particulaire - au sens d’une "grande" erreur d’estimation - n’implique pas systématiquement la dégénérescence, d’où la nécessité d’introduire un autre critère. Organisation du mémoire Ce document est organisée en 5 chapitres : – Le chapitre 1 est un aperçu général sur la problématique du filtrage linéaire et non-linéaire. Les algorithmes classiques (filtre de Kalman et ses variantes, méthodes de maillages) et leur cadre d’applicabilité y sont présentés. – Le chapitre 2 présente les méthodes standards de filtrage particulaire avec un accent sur leur utilisation dans le cadre du recalage altimétrique. Les difficultés soulevées par le maintien des modes de la densité conditionnelle dans un filtre particulaire y sont détaillées. – Le chapitre 3 présente brièvement les systèmes de navigation inertielles et la problématique du recalage radio-altimétrique. – Le chapitre 4 introduit plusieurs algorithmes de filtrage particulaire (MRPF, MRBPF et leurs variantes), développés afin d’approcher plus efficacement la loi a posteriori en début de recalage lorsque celle-ci est fortement multimodale. Une méthode d’échantillonnage d’importance permettant de propager les particules dans les zones de forte probabilité est18 Introduction générale également proposée. Nous présentons également les simulations expérimentales permettant de quantifier l’apport de chaque algorithme sur plusieurs scénarios de recalage altimétrique. – Le chapitre 5 est consacré aux tests d’intégrité pour le filtrage particulaire. Nous formulons le problème de la détection de divergence sous forme d’un test d’hypothèses portant sur l’innovation du filtre. L’algorithme CUSUM (CUmulative SUM) est utilisé pour contrôler la statistique de test. Les performances du test développé sont étudiées dans le cadre du recalage altimétrique en terme de fausses alarmes, de délai de détection et de non détection. Liste de publications Le travail de recherche a donné lieu à trois publications dans des congrès internationaux : B Murangira, A., Musso, C., Proposal Distribution for Particle Filtering Applied to Terrain Navigation, Proceedings of the 21st European Signal Processing Conference (EUSIPCO), Marrakech, September 9–13, 2013 B Murangira, A., Musso, C., Nikiforov, I., Particle filter divergence monitoring with application to terrain navigation, Proceedings of the 15th International Conference on Information Fusion (FUSION), Singapore, July 9–12, 2012 B Murangira, A., Musso, C., Dahia, K., Allard, J., Robust regularized particle filter for terrain navigation, Proceedings of the 14th International Conference on Information Fusion (FUSION), Chicago, July 5–8, 201119 Chapitre 1 Filtrage statistique : méthodes analytiques et numériques 1.1 Introduction Ce chapitre introduit la notion de filtrage d’un point de vue général. Après avoir exposé le filtre optimal comme solution au problème de filtrage, nous nous décrivons les méthodes permettant de calculer de manière exacte ou approchée le filtre optimal. Nous présentons d’abord les méthodes analytiques (le filtre de Kalman et ses dérivées) avant de passer au méthodes de résolution numériques. 1.2 Estimation bayésienne et filtrage en temps discret Le filtrage consiste à estimer les variable d’états d’un système dynamique que l’on observe partiellement à travers une série de mesures. Les états (xk)k≥0 du système sont soumis à une évolution dans le temps décrite par une équation de dynamique du type : xk = fk(xk−1, wk) (1.1) où le vecteur des états xk prend ses valeurs dans R d , d ≥ 1 étant un entier désignant le nombre d’états. La suite de variables aléatoires (v.a.) (wk)k≥0 à valeurs dans R s , s ≥ 1, modélise les perturbations aléatoires de la dynamique et l’imperfection du modèle. fk est une fonction à valeurs dans R d . Ce système est partiellement observé à travers une série de mesures yk fournies par un instrument. Ce processus d’observation est modélisé par l’équation suivante : yk = h(xk) + vk (1.2) h est une fonction d’observation connue à valeurs dans R m, m ≥ 1 et (vk)k≥0 une suite de v.a. décrivant les erreurs de mesures dont l’intensité est fonction des imperfections des capteurs et du rapport signal à bruit. Étant donné la série d’observations bruitées {y0, y1, y2, · · · yk}, on souhaite estimer l’état du système xk.20 1. Filtrage statistique : méthodes analytiques et numériques 1.2.1 Estimation bayésienne Le problème consistant à déterminer l’état du système grâce aux mesures (yk)k≥0 s’appelle estimation. L’estimation de xk se fait souvent selon un critère de minimisation d’un risque. Par exemple, l’estimateur xˆk minimisant l’erreur quadratique moyenne (ou estimateur MMSE pour minimum mean squared error) E  kxk − xˆkk 2 2  = trace  E (xk − xˆk) (xk − xˆk) T  est l’espérance conditionnelle [73] xˆ MMSE k = E (xk | y0, . . . , yk) 4 = Z xkp(xk | y0, . . . , yk) dxk (1.3) Un deuxième estimateur, utilisé notamment lorsque la loi de densité conditionnelle p(xk | y0, . . . , yk) est multimodale, est le maximum a posteriori [29], que nous notons ici xˆ MAP k et qui est défini par xˆ MAP k = arg max xk p(xk | y0, . . . , yk) (1.4) Dans tous les cas, la formulation de ces estimateurs nécessite de déterminer la loi de probabilité conditionnelle de xk sachant les mesures passées {y0, y1, y2, · · · yk} : c’est la problématique du filtrage. De façon plus générale, l’estimation de la loi de xk sachant y0:p = {y0, y1, y2, · · · yp} s’appelle : – prédiction si p < k – filtrage si p = k – lissage si p > k Pour résoudre le problème du filtrage non-linéaire en temps discret, on se place dans le cadre des modèles à espace d’état : – (wk)k≥0 est une suite de v.a. mutuellement indépendantes et indépendante de x0. xk est donc markovien, sa loi est entièrement définie par sa loi initiale µ0(dx) = P(x0 ∈ dx) et le noyau de transition Qk tel que P(xk ∈ A|xk−1 = x 0 ) = Z A Qk(x 0 , dx) (1.5) – Le bruit vk est une suite de v.a. mutuellement indépendantes et indépendante du processus xk. – L’état initial x0 est indépendant de vk et du bruit de dynamique wk Dans toute la suite, on supposera que la loi conditionnelle de xk sachant y0:k admet une densité par rapport à la mesure de Lebesgue. Par abus de langage, on confondra parfois la loi conditionnelle de xk avec sa densité. 1.2.2 Le filtre optimal On note pk = p(xk | y0:k) la densité conditionnelle de xk sachant les observations passées y0:k = {y0, y1, · · · yk}. La suite de densités de probabilité (pk) k≥0 est appelée filtre optimal. Une21 remarque importante pour la résolution du problème du filtrage est la suivante : le calcul de pk peut se faire de manière récursive. En effet, pk est entièrement déterminé par la donnée de pk−1 et de la mesure yk sous réserve que l’on puisse évaluer la densité de probabilité P (yk | xk) = gk(xk) appelée fonction de vraisemblance. Le calcul récursif de pk peut alors se décomposer en une étape dite de prédiction et une étape de correction. Prédiction L’étape de prédiction calcule la loi prédite définie par pk|k−1(dx) = P(xk ∈ dx | y0:k−1) à partir de pk−1 et de la dynamique du système, caractérisée par le noyau de transition Qk. pk|k−1(dx) = Z Rd pk−1(dx0 )Qk(x 0 , dx) (1.6) En effet, pk|k−1(dx) = p(xk ∈ dx|y0:k−1) = Z p(xk ∈ dx, xk−1|y0:k−1)dxk−1 = Z p(xk ∈ dx|xk−1, y0:k−1)p(xk−1|y0:k−1)dxk−1 et étant donné le caractère markovien de xk, p(xk ∈ dx|xk−1, y0:k−1) = p(xk ∈ dx|xk−1), d’où pk|k−1(dx) = Z p(xk ∈ dx|xk−1)p(xk−1|y0:k−1)dxk−1 = Z Qk(xk−1, dx)pk−1(dxk−1) Correction Cette étape permet d’obtenir le filtre pk en utilisant la mesure yk pour corriger la loi prédite pk|k−1 grâce à la formule de Bayes. pk = gk(xk)pk|k−1 Z Rd gk(x 0 )pk|k−1(dx0 ) (1.7) En effet, pk = p(xk|y0:k) = p(yk|xk)p(xk|y0:k−1)p(y0:k−1) p(yk) = gk(xk)p(xk|y0:k−1) p(yk|y0:k−1) = gk(xk)pk|k−1 Z Rd gk(x 0 )pk|k−1(dx0 )22 1. Filtrage statistique : méthodes analytiques et numériques La réalisation des étapes de prédiction et de correction nécessite le calcul d’intégrales multidimensionnelles dont le calcul analytique n’est possible que sous certaines conditions. Par exemple dans le cas d’un modèle linéaire gaussien, on dispose d’expressions exactes grâce à l’algorithme du filtre de Kalman présenté ci-après. De manière générale, il est nécessaire de recourir à des approximations soit par des méthodes analytiques faisant intervenir une simplification du modèle (linéarisation pour le filtre de Kalman étendu par exemple, cf. section 1.3.1.2), soit par des méthodes numériques fondées sur une discrétisation de l’espace d’état (méthodes de maillage), soit par des méthodes de Monte Carlo (cf. chapitre 2). 1.3 Méthodes de résolution du problème de filtrage 1.3.1 Méthodes analytiques 1.3.1.1 Le filtre de Kalman (KF) Le filtre de Kalman a été développé par Rudolf Emil Kalman en 1960 pour les modèles discrétisés [65]. Une version en temps continu a été élaborée une année après par Kalman et Bucy. C’est le filtre optimal pour les modèles linéaires gaussiens de la forme suivante : ( xk = Fkxk−1 + Bk + wk yk = Hkxk + Dk + vk avec les hypothèses : – Fk ∈ Md,d(R), Bk ∈ Md,1(R), Hk ∈ Mm,d(R) et Dk ∈ Mm,1(R) sont des matrices déterministes et connues – les bruits wk et vk à valeurs dans Rd et Rm sont des bruits blancs gaussiens de matrices de covariance respectives Qk et Rk. wk et vk sont mutuellement indépendants et indépendants de la condition initiale x0. – La condition initiale x0 suit une loi gaussienne de moyenne m0 et de matrice de covariance P0. Sous ces hypothèses, on montre que la loi jointe de (xk, yk) est gaussienne ce qui implique que la loi a posteriori pk l’est également. Le filtre pk est donc entièrement déterminé par la donnée de sa moyenne xˆk et de sa matrice de covariance Pk. Le filtre de Kalman est un algorithme qui permet de calculer analytiquement et récursivement ces 2 moments via des étapes de prédiction (1.6) et de correction (1.7). 1. Prédiction ( xˆk|k−1 = Fkxˆk−1 + Bk Pk|k−1 = FkPk−1F T k + Qk (1.8) 2. Correction    xˆk = ˆxk|k−1 + Kk[yk − (Hkxˆk|k−1 + Dk)] Kk = Pk|k−1HT k [HkPk|k−1HT k + Rk] −1 Pk = [I − KkHk]Pk|k−1 (1.9)23 Le terme Kk désigne la matrice de gain de Kalman. Il permet d’obtenir la moyenne a posteriori xˆk = E(xk|y0:k) et la covariance a posteriori Pk = Cov(xk|y0:k) en faisant intervenir la mesure yk via le terme dit d’innovation k = yk − (Hkxˆk|k−1 + Dk). Les équations de Kalman peuvent être obtenues en appliquant directement les équations (1.6) et (1.7) afin de calculer successivement la moyenne et la covariance prédites  xˆk|k−1, Pk|k−1  , puis la moyenne et la covariance corrigées (ˆxk, Pk). Notons que les matrices (Kk) k≥0 , (Pk) k≥0 et  Pk|k−1  k≥0 ne dépendent pas des mesures (yk) k≥0 et peuvent être calculées hors ligne. Lorsque le bruit de dynamique ou de mesure n’est plus gaussien, le filtre de Kalman est le filtre linéaire à variance minimale. Filtre de Kalman informationnel Le filtre de Kalman informationnel est une implémentation qui propage l’inverse Jk de la matrice de de covariance Pk, appelée matrice d’information. Introduisons Jk|k−1 = P −1 k|k−1 et Jk = P −1 k . Le calcul récursif de Jk|k−1 et Jk s’obtient en utilisant le lemme d’inversion matricielle (cf. annexe A.1) : 1. Jk|k−1 = P −1 k|k−1 = h FkPk−1F T k + Qk i−1 (1.10) = h FkJ −1 k−1F T k + Qk i−1 (1.11) = Q −1 k − Q −1 k Fk[F T k QkFk + Jk−1] −1F T k Q −1 k (1.12) 2. Jk = P −1 k = [Pk|k−1 − Pk|k−1H T k (HkPk|k−1H T k + Rk) −1HkPk|k−1] −1 (1.13) = (P −1 k|k−1 + H T k R −1 k Hk) (1.14) = (Jk|k−1 + H T k R −1 k Hk) (1.15) La moyenne prédite se calcule de la même façon : xˆk|k−1 = Fkxˆk−1 + Bk La moyenne corrigée est obtenue en exprimant le gain de Kalman Kk en fonction de Jk|k−1 : Kk = Pk|k−1H T k [HkPk|k−1H T k + Rk] −1 = [HkR −1 k H T k + P −1 k|k−1 ] −1H T k R −1 k d’après le lemme d’inversion matricielle A.2. D’où Kk = [HkR −1 k H T k + P −1 k|k−1 ] −1H T k R −1 k = J −1 k H T k R −1 k Finalement, xˆk = ˆxk|k−1 + J −1 k H T k R −1 k [yk − (Hkxˆk|k−1 + Dk)]24 1. Filtrage statistique : méthodes analytiques et numériques D’après (1.12) et (1.15), on observe que dans le filtre de Kalman informationnel, on inverse essentiellement des matrices d × d (exception faite de la matrice de covariance de mesure Rk) contrairement au filtre de Kalman standard qui nécessite l’inversion de matrices m×m, où m est la dimension de la mesure et d celle de l’état. Dans le cas où m >> d, la version informationnelle peut se révéler avantageuse. D’autre part, le filtre de Kalman informationnel permet de traiter le cas d’une incertitude initiale P0 infinie, qui correspond à une information initiale nulle i.e. J0 = 0, là où l’écriture P0 = ∞ n’aurait pas de sens numériquement dans le filtre de Kalman standard. 1.3.1.2 Le filtre de Kalman étendu (EKF) On considère un système dynamique dont les fonctions d’évolution et d’observation sont non-linéaires. ( xk = fk(xk−1) + wk yk = hk(xk) + vk (1.16) wk et vk sont des bruits blancs gaussiens mutuellement indépendants et indépendant de x0. On ne suppose plus que la condition initiale x0 est gaussienne. Dans le cas où les fonctions d’observations sont dérivables, on peut linéariser les équations de prédictions et de corrections respectivement autour de l’état corrigé xˆk−1 et autour de l’état prédit xˆk|k−1 : xk ≈ fk(ˆxk−1) + ∇fk (ˆxk−1) (xk−1 − xˆk−1) + wk yk ≈ h(ˆxk|k−1) + ∇hk  xˆk|k−1  xk − xˆk|k−1  + vk où ∇fk et ∇hk représentent les matrices jacobiennes de fk et hk. Soit Fk−1 = ∇fk(ˆxk−1) et Hk = ∇hk(ˆxk|k−1). Le modèle linéarisé est donc : ( xk = Fkxk−1 + fk(ˆxk−1) − ∇fk (ˆxk−1) ˆxk−1 + wk yk = Hkxk + hk(ˆxk|k−1) − ∇hk  xˆk|k−1  xˆk|k−1 + vk (1.17) L’algorithme du filtre de Kalman étendu est alors le suivant : 1. Prédiction    Fk−1 = ∇fk(ˆxk−1) xˆk|k−1 = fk(ˆxk−1) Pk|k−1 = Fk−1Pk−1Fk T + Qk (1.18) 2. Correction    Hk = ∇hk(ˆxk|k−1) Kk = Pk|k−1Hk T  HkPk|k−1Hk T + Rk −1 xˆk = ˆxk|k−1 + Kk h yk − h(ˆxk|k−1) i Pk = (I − KkHk) Pk|k−1 (1.19) Le filtre de Kalman étendu est extrêmement populaire en estimation de systèmes dynamiques. Il est notamment utilisé en pistage de cible [100], en navigation par mesures GPS [64] ou en robotique [74]. Il est avantageux par la simplicité de sa mise en oeuvre et sa faible complexité algorithmique. Cependant, lorsque les fonctions d’évolution et d’observation sont fortement nonlinéaires ou lorsque l’initialisation est mauvaise, l’EKF est susceptible de diverger.25 1.3.1.3 Le filtre de Kalman sans parfum (UKF) Le filtre de Kalman sans parfum - Unscented Kalman Filter (UKF) en anglais - a été introduit par Julier et Uhlmann [63] afin d’éviter l’étape de linéarisation de l’EKF qui peut poser des problèmes numériques lorsque l’on souhaite calculer les jacobiennes du modèles. L’UKF fonctionne en calculant successivement la moyenne et la covariance a posteriori de l’état à l’aide d’un nombre fini d’échantillons, appelés sigma-points caractéristiques de la loi conditionnelle. L’algorithme suppose implicitement que cette loi est monomodale. Le calcul des sigma points se fait grâce à une transformation sans parfum (Unscented Transformation) qui permet de calculer les moments d’une variable aléatoire Y ayant subi une transformation non linéaire sous la forme Y = g(X). Transformation sans parfum (UT) Etant donné une variable aléatoire X de dimension d de moyenne X¯ et matrice de covariance PX. Soit Y = g(X) une v.a. dont on veut calculer la moyenne et la covariance et g une fonction non linéaire. Le principe de la transformation UT est de choisir 2d+ 1 points pondérés, caractéristiques de la distribution de X, de telle sorte que leurs moyenne et covariance valent respectivement X¯ et PX. Les sigma-points {χi} 2d+1 i et leur poids correspondants {ωi} 2d+1 i sont choisis de manière déterministe selon le schéma suivant :    χ0 = X¯ χi = X¯ + (q (d + κ)PX)i , i = 1, ..., d χi = X¯ − ( q (d + κ)PX)i , i = d + 1, ..., 2d ω0 = κ/(d + κ) ωi = ωi = 1/2(d + κ), i = 1, ..., 2d (1.20) q (d + κ)PX  i est la i-ème colonne de la racine carrée de la matrice (d + κ)PX. Pour une distribution gaussienne κ = 3 − d, cette valeur est en général utilisée lorsqu’on ne connait pas la forme de la distribution de X. Le calcul de la moyenne Y¯ et de la covariance PY de Y se fait alors de la manière suivante :    Yi = g(χi), i = 0, ..., 2d Y¯ ≈ X 2d i=0 ωiYi PY ≈ X 2d i=0 ωi(Yi − Y¯ )(Yi − Y¯ ) T Julier et Uhlmann montrent que ces approximations de la moyenne et de la covariance sont correctes au troisième ordre [62]. L’algorithme UKF L’algorithme de filtrage récursif de l’UKF a été obtenu par Julier et Uhlmann en définissant l’état augmenté du système x a k , comme la concaténation de l’état xk et des bruits wk et vk à l’instant k soit : x a k = (xk, wk, vk) T . x a k est donc un vecteur de dimension da = 2d + m, m étant la dimension du vecteur de mesure. L’UKF calcule donc à chaque instant26 1. Filtrage statistique : méthodes analytiques et numériques la moyenne conditionnelle x¯k et la variance a posteriori Pk. On pose P a k = Cov(x a k | y0:k) =   Pk 0 0 0 Q 0 0 0 R   • Initialisation 1. x¯0 = E (x0) 2. P0 = E h (x0 − xˆ0) (x0 − xˆ0) T i 3. P a 0 =   P0 0 0 0 Q 0 0 0 R   Pour k = 1 . . . n • Calcul des sigma-points 1. χ a,i k−1 =  x¯ a k−1 x¯ a k−1 ± q (da + κ) P a,i k−1  i = 1 . . . 2da où q (da + κ) P a,i k−1 représente la i ème colonne de la décomposition de Cholesky de (da + κ) P a,i k−1 . • Prédiction 1. χ x,i k|k−1 = fk  χ x,i k−1 , χ w,i k−1  2. x¯k|k−1 = X 2da i=0 ωiχ x,i k|k−1 3. Pk|k−1 = X 2da i=0 ωi(χ x,i k|k−1 − x¯k|k−1)(χ x,i k|k−1 − x¯k|k−1) T 4. y i k|k−1 = hk  χ x,i k−1 , χ v,i k−1  5. y¯k|k−1 = X 2da i=0 ωiy i k|k−1 • Correction 1. P Y k|k−1 = X 2da i=0 ωi(y i k|k−1 − y¯k|k−1)(y i k|k−1 − y¯k|k−1) T 2. P XY k|k−1 = X 2da i=0 ωi(χ x,i k|k−1 − x¯k|k−1)(y i k|k−1 − y¯k|k−1) T 3. Kk = P XY k|k−1P Y,−1 k|k−1 4. x¯k = ¯xk|k−1 + Kk  Yk − y¯k|k−1  5. Pk = Pk|k−1 + KkP Y k|k−1KT k27 Dans la plupart des applications, il a été observé que l’UKF permet d’estimer l’état du système avec plus de précision que l’EKF [63] avec un gain en robustesse appréciable. De plus, il ne nécessite pas de linéarisation du modèle, ce qui rend son implémentation plus simple que celle de l’EKF. Cependant son application se limite aux applications où la loi conditionnelle p(xk | y0:k) est monomodale. 1.3.2 Méthodes numériques La plupart des systèmes physiques sont décrits par des modèles en temps continu. Par exemple, la dérive d’une centrale inertielle obéit à un système d’équations différentielles stochastiques (cf.3.3). Les systèmes dynamiques en temps continu consistent en un processus d’état caché (xt)t≥0 et un processus d’observation (yt)t≥0 à valeur respectivement dans R d et R m, dont l’évolution est régie par le système d’équations suivant : ( dxt = b(xt)dt + σ(xt)dWt dyt = h(xt)dt + dVt (1.21) où (Wt)t≥0 et (Vt)t≥0 sont des processus de Wiener standards mutuellement indépendants avec (Vt)t≥0 indépendant de (xt)t≥0. b et h sont des fonctions à valeurs dans R d et σ une application de R d 7→ R d × R d . Soit Yt = σ(ys, 0 ≤ s ≤ t) la sigma-algèbre engendrée par les observations. Le problème du filtrage en temps continu consiste à déterminer la densité conditionnelle de xt sachant Yt notée pt , telle que pour toute fonction φ mesurable bornée E(φ(xt)|Yt) = Z Rd φ(x)pt(x)dx (1.22) Sous certaines hypothèses sur les fonctions b et σ, Zakai [125] a montré que le filtre optimal pt est l’unique solution d’une équation différentielle stochastique, l’équation de Zakai. dpt = L T ptdt + pth TR −1 dyt (1.23) où L est l’opérateur infinitésimal associé au processus xt , défini par L = 1 2 Xm i,j=1 ai,j (.) ∂ 2 ∂xi∂xj + Xm i,j=1 bi(.) ∂ ∂xi où a = (ai,j ) = σσT . En pratique, les observations sont disponibles à des instants discrets tk, k = 0, 1, . . . de sorte qu’il est nécessaire de discrétiser l’équation de Zakai en utilisant un schéma d’Euler par exemple [104]. Reste à discrétiser l’espace d’état par maillage de manière à résoudre numériquement (1.23) par différences finies. Le maillage peut se faire à pas constant [71] ou avec un pas variable ce qui permet de mailler finement les zones de grande probabilité [14] et mailler grossièrement les zones de faible probabilité : l’avantage du maillage adaptatif est qu’il permet généralement des gains en temps de calcul et en mémoire. Les méthodes de maillage sont efficaces en dimension d ≤ 3 mais au delà, le temps de calcul est souvent prohibitif.28 1. Filtrage statistique : méthodes analytiques et numériques Conclusion du Chapitre 1 Nous avons introduit et défini le problème du filtrage et son application à l’estimation de l’état d’un système. Le cadre théorique nous a conduit à étudier les méthodes analytiques et numérique en filtrage. Les principales méthodes analytiques sont essentiellement le filtre de Kalman et ses variantes. Lorsque le système à espace d’état est faiblement non-linéaire, le filtre de Kalman étendu (EKF) donne généralement des résultats satisfaisants. Le filtre de Kalman sans parfum (UKF) améliore la précision de l’estimation de l’état par rapport à l’EKF tout en se montrant plus robuste. En revanche lorsque les non-linéarités sont fortes, ces méthodes analytiques sont peu fiables. Une possibilité est de recourir aux méthodes numériques, basées sur une résolution d’une équation aux dérivées partielles, par des schémas de discrétisation. Cependant, au delà de la dimension 3, le temps de calcul augmente exponentiellement avec la dimension de l’espace d’état, ce qui rend leur utilisation limitée. Les méthodes de Monte Carlo sont a priori plus appropriées car moins sensibles à la dimension de l’espace d’état et indifférents aux non-linéarités et au caractère gaussien des bruits de dynamique et de mesure. En outre, elles sont adaptées aux lois conditionnelles multimodales.29 Chapitre 2 Méthodes particulaires pour le filtrage non linéaire Introduction L’objectif de ce chapitre est d’introduire les briques de base du filtrage particulaire et d’exposer quelques algorithmes utilisés notamment pour le recalage de la navigation inertielle. Nous introduisons brièvement les méthodes de Monte Carlo usuelles avant d’illustrer comment leur utilisation dans un cadre séquentiel permet d’aboutir au filtre particulaire. Nous mettons en évidence les limites du filtre particulaire classique en présence de multimodalités. Dans ce contexte, nous présentons une méthodologie générale adaptée à l’estimation des lois a posteriori p(xk|y0:k) multimodales. 2.1 Méthodes de Monte Carlo 2.1.1 Echantillonnage Monte Carlo Soit X une variable aléatoire à valeurs dans R d de densité de probabilité p(x). Soit φ une fonction bornée de R d dans R. On souhaite approcher numériquement l’espérance de φ(X) définie par : E (φ(X)) = Z φ(x)p(x)dx = φ¯ (2.1) Soit Xi , i = 1, 2, . . . , N une suite de variable aléatoires i.i.d de même loi que X. Alors, d’après la loi des grands nombres, la moyenne empirique converge presque surement (p.s.) vers E(φ(X)), i.e. φ¯N 4 = 1 N X N i=1 φ(X i ) −−−−−→ N→+∞ E(φ(X)) (2.2) De plus, la variance de l’estimateur φ¯N (X) vaut : Var  φ¯N  = σ 2 φ N30 2. Méthodes particulaires pour le filtrage non linéaire avec σ 2 φ = Z (φ(x) − φ¯) 2 p(x)dx Par ailleurs, le théorème central limite caractérise l’erreur asymptotique de l’estimateur φ¯N . En effet, la variable aléatoire √ N σφ  φ¯N − φ¯  converge en loi vers une loi normale centrée réduite. 2.1.2 Echantillonnage pondéré L’échantillonnage Monte Carlo pondéré (importance sampling en anglais) consiste à calculer l’espérance définie par l’équation (2.1) en simulant un échantillon issu d’une loi de densité q, dite loi d’importance ou loi instrumentale, et en pondérant cet échantillon de manière adéquate. Cette méthode est utile lorsque l’on souhaite réduire la variance de l’estimateur Monte Carlo classique ou quand échantillonner p est difficile (voir l’exemple ci-après). La densité de probabilité q doit vérifier les hypothèses suivantes pour toute fonction mesurable bornée φ : 1. Le support de x 7→ φ(x)p(x) est inclus dans le support de q 2. Z φ 2 (x) p(x) q(x) dx < ∞ L’estimateur obtenu par échantillonnage pondéré est obtenu en remarquant que : Ep (φ(X)) = Z φ(x)p(x)dx = Z φ(x) p(x) q(x) q(x)dx = Eq φ(X) p(X) q(X) ! (2.3) Soit x i , i = 1, 2, . . . , N un échantillon issu de q. Alors E (φ(X)) ≈ φ¯N IS = 1 N X N i=1 φ(x i ) p(x i ) q(x i ) (2.4) Lorsque la densité p n’est connue qu’à une constante de normalisation c près, i.e. p(x) = cp˜(x) avec c = R p(x)dx, il est possible de définir l’estimateur φ¯N IS pondéré de la manière suivante : φ¯N IS ≈ X N i=1 ω˜ iφ(x i ) X N i=1 ω˜ i (2.5) avec ω˜ i = p˜(x i ) q(xi) . Dans ce cas, la constante de normalisation c est approchée par 1 N PN i=1 ω˜ i .31 Exemple (Inférence Bayésienne) : Afin d’illustrer l’intérêt de l’échantillonnage pondéré, supposons que le paramètre inconnu X ∼ q où q est la densité d’une loi que l’on sait échantillonner. On observe X à travers une mesure y = h(X) + v où v est un bruit de densité gv et h une fonction non-linéaire. On souhaite estimer une quantité E(φ(X)|Y ) = R φ(x)p(x|y)dx où φ est une fonction bornée. Dans la plupart des cas, échantillonner p = p(x|y) n’est pas aisé donc on ne peut recourir à l’estimateur Monte Carlo standard. En revanche, en prenant comme densité d’importance la densité a priori q et en constatant que p(x) q(x) ∝ p(y|x) = gv(y − h(x)) en vertu de la loi de Bayes, on a accès à l’estimateur par échantillonnage pondéré φ¯N IS = PN i=1 φ(x i )gv(y−h(x i )) PN i=1 gv(y−h(xi)) où x i , i = 1, . . . , N est un N-échantillon issu de q. Les estimateurs (2.4) et (2.5) sont asymptotiquement non biaisés et convergent presque surement vers E (φ(X)) (voir, par exemple [48]). De plus, Var  φ¯N IS = 1 N Z φ 2 (x) p 2 (x) q(x) dx − 1 N Z φ(x)p(x) dx2 De même que pour l’estimateur Monte Carlo standard, il existe un théorème central limite qui permet de caractériser la loi limite de l’erreur d’estimation. En effet, lorsque N tend vers l’infini la v.a. √ N  φ¯N IS − φ¯  converge en loi vers une loi normale centrée de variance σ 2 IS = Z  φ(x) − φ¯ 2 p 2 (x) q(x) dx 2.1.3 Échantillonnage par acceptation-rejet Supposons que la densité p s’exprime comme le produit d’une densité q et d’une fonction g que l’on sait évaluer en tout x de R d . p(x) = g(x)q(x) R Rd g(x)q(x)dx La méthode d’acceptation permet [34] d’obtenir un échantillon suivant la loi de densité p lorsqu’on sait simuler la loi de densité q. Pour cela, on suppose seulement que M = supx∈Rd g(x) < ∞. Afin d’obtenir un échantillon x i ∼ p, i = 1, . . . , N, on applique l’algorithme suivant. 1. i = 1 2. Générer ξ ∼ q et u ∼ U([0, 1]) où U([a, b]) désigne la loi uniforme sur l’intervalle [a, b], a et b étant des réels. 3. Si Mu ≤ g(ξ), poser x i = ξ et i = i + 1. 4. Aller en (2) tant que i ≤ N. L’efficacité de la méthode d’acceptation-rejet dépend essentiellement du recouvrement de g et q. En effet, la probabilité d’acceptation vaut pa = R Rd g(x)q(x)dx M et est d’autant plus grande que le recouvrement entre q et g est important. Cette méthode est donc potentiellement couteuse en temps de calcul puisqu’on risque de rejeter beaucoup de variables aléatoires lors de l’étape 3.32 2. Méthodes particulaires pour le filtrage non linéaire 2.2 Filtrage particulaire Soit un système dynamique non-linéaire défini par l’ensemble d’équations suivant : ( xk = fk (xk−1, wk) yk = hk(xk, vk) (2.6) – xk est le vecteur d’état de dimension d – yk est le vecteur d’observations de dimension m – wk et vk sont des bruits blancs mutuellement indépendants non nécessairement gaussiens qui admettent des densités de probabilités. (wk) k≥0 et (vk) k≥0 sont indépendantes de la condition initiale x0. x0 suit une loi de densité µ0. Le filtre particulaire - également appelé bootstrap filter [50], Monte Carlo filter [68] ou encore condensation filter [79] - approche la densité conditionnelle p(xk | y0:k) par un ensemble d’échantillons pondérés appelés particules. Ces particules évoluent selon la dynamique de l’état et sont pondérés en fonction de leur adéquation avec l’observation courante grâce à la fonction de vraisemblance (cf. section 1.2.2). Dans toute la suite on supposera que : – on sait générer des échantillons selon la densité de transition p(xk|xk−1), – il est possible d’évaluer la fonction de vraisemblance gk(xk) = p(yk|xk) en tout point xk de l’espace d’état. 2.2.1 L’échantillonnage séquentiel pondéré L’algorithme d’échantillonnage séquentiel pondéré [52] (Sequential Importance Sampling (SIS) en anglais) est fondé sur une approximation de la densité conditionnelle p0:k = p(x0:k|y0:k) par la méthode d’échantillonnage pondéré abordée dans la section 2.1.2. On notera x0:k = (x0, . . . , xk) T la trajectoire de l’état de l’instant initial à l’instant k. Dans le cas général, échantillonner directement p0:k est difficile et/ou couteux. En effet, la factorisation p0:k(x0:k|y0:k) = p(y0:k|x0:k)p(x0:k) p(y0:k) suggère que si échantillonner selon la densité jointe p(x0:k) est généralement possible, cela né- cessiterait une méthode de type acceptation-rejet pour obtenir un échantillon suivant la loi p0:k. Soit q(x0:k|y0:k) une densité instrumentale pour laquelle la simulation directe est aisée. Soit x i 0:k , i = 1, . . . , N un échantillon issu de q. On définit les poids non normalisés par ω˜ i k = p(x i 0:k |y0:k) q(x i 0:k |y0:k) et les poids normalisés ω i k = ω˜ i k PN i=1 ω˜ i k . Alors, p(x0:k|y0:k) ≈ X N i=1 ω i k δx i 0:k (2.7) où δx désigne la masse de Dirac centrée au point x. Une approximation du filtre à l’instant k est33 alors obtenue par marginalisation de p(x0:k|y0:k) : p(xk|y0:k) ≈ X N i=1 ω i k δx i k (2.8) De manière générale échantillonner q(x0:k|y0:k) a une complexité qui augmente au moins linéairement au cours du temps car la dimension du vecteur x0:k est linéaire en k. Il est donc intéressant d’avoir une méthode d’échantillonnage séquentielle. Pour obtenir une formulation récursive de (2.7), on exprime p(x0:k|y0:k) en fonction de p(x0:k−1|y0:k−1). p(x0:k|y0:k) = p(x0:k−1|y0:k−1)p(xk|x0:k−1, y0:k−1)p(yk|xk) p(yk|y0:k−1) Etant donné que xk est Markovien, p(xk|x0:k−1, y0:k−1) = p(xk|xk−1). D’où p(x0:k|y0:k) = p(x0:k−1|y0:k−1)p(xk|xk−1)p(yk|xk) p(yk|y0:k−1) (2.9) Afin d’obtenir un algorithme séquentiel du filtre, considérons une densité d’importance q sous la forme : q(x0:k|y0:k) = q(x0:k−1|y0:k−1)q(xk|x0:k−1, y0:k) (2.10) On observe que si l’on dispose d’un échantillon pondéré n ω i k−1 , xi 0:k−1 oN i=1 de taille N, il est possible d’obtenir un échantillon {ω i k , xi 0:k} N i=1 en simulant x i k selon q(xk|x i 0:k−1 , y0:k) et en concaté- nant cet échantillon au vecteur x i 0:k−1 . Le calcul des poids ω i k se fait selon ω i k ∝ p(x i k |x i k−1 )p(yk|x i k )p(x i 0:k−1 |y0:k−1) q(x i k |x i 0:k−1 , y0:k)q(x i 0:k−1 |y0:k−1) (2.11) = ω i k−1 p(x i k |x i k−1 )p(yk|x i k ) q(x i k |x i 0:k−1 , y0:k) (2.12) Notons qu’en filtrage, le but est d’estimer la loi a posteriori p(x i k |y0:k). On a donc uniquement besoin de l’ensemble des particules à l’instant précédent n x i k−1 oN i=1 . L’algorithme d’échantillonnage pondéré séquentiel peut alors être simplifié en choisissant une densité d’importance q telle que q(xk|x0:k−1, y0:k) = q(xk|xk−1, yk). Dans ce cas, ω i k ∝ ω i k−1 p(x i k |x i k−1 )p(yk|x i k ) q(x i k |x i k−1 , yk) (2.13) L’algorithme SIS se résume ainsi : Algorithme 1 : SIS pour i = 1, . . . , N faire34 2. Méthodes particulaires pour le filtrage non linéaire – tirer x i ∼ q(x0|y0) – calculer ω i 0 ∝ µ0(x i 0 )p(y0|x i 0 ) q(x i 0 |y0) – normaliser les poids ω i 0 fin pour pour k = 1, . . . , n faire pour i = 1, . . . , N faire – [Prédiction] tirer x i k ∼ q(x i k |x i k−1 , yk) – [Correction] calculer les poids ω i k ∝ ω i k−1 p(x i k |x i k−1 )p(yk|x i k ) q(x i k |x i k−1 ,yk) – normaliser les poids ω i k fin pour fin pour Les estimées de la moyenne et de la covariance de l’état xk sont alors respectivement : E(xk|y0:k) ≈ xˆk = X N i=1 ω i kx i k (2.14) E h (xk − xˆk) (xk − xˆk) T |y0:k i ≈ Pˆ k = X N i=1 ω i k  x i k − xˆk  x i k − xˆk T (2.15) 2.2.2 Dégénérescence des poids L’algorithme d’échantillonnage séquentiel pondéré est la brique de base du filtrage particulaire. Cependant, il souffre d’une limitation importante : après quelques itérations, toutes les particules sauf une ont un poids proche de zéro. L’estimation de la loi a postériori est donc réduite à un dirac, ce qui entraine la divergence du filtre. Ce phénomène est caractérisé par une augmentation dans le temps de la variance des poids normalisés {ω i k} N i=1. Kong et al. ont notamment montré que lorsque la loi d’importance de densité q0:k = q(x0:k|y0:k) est différente de la loi cible de densité p(x0:k|y0:k), la variance des poids ne peut qu’augmenter [69]. Une illustration de la dégénérescence du système de particules est donnée par la figure 2.1. On considère ici l’évolution des particules d’un filtre SIS à 100 particules estimant le modèle linéaire gaussien suivant : ( xk+1 = xk + wk yk = xk + vk (2.16) avec wk ∼ N (0, 0.0022 ), vk ∼ N (0, 0.1 2 ) et x0 ∼ N (0, 1). La position des particules de poids significatifs 1 y est affichée en fonction du temps. On observe que le système perd rapidement en diversité et vers la fin de la trajectoire, très peu de particules contribuent à l’estimation. Pour retarder ce phénomène il est nécessaire de choisir une densité instrumentale q0:k aussi proche de la loi conditionnelle p0:k que possible. Malgré cela, il est indispensable de recourir à une étape dite de ré-échantillonnage afin de conserver un système de particules non dégénéré. 1. càd dont les poids sont supérieurs à 10−635 Figure 2.1 – Illustration du phénomène de dégénérescence des poids. Abscisse : temps discret, ordonnée : position des particules 2.2.3 Ré-échantillonnage des particules Le ré-échantillonnage a pour objectif de dupliquer les particules dont le poids est suffisamment fort et d’éliminer les particules dont le poids est trop faible afin de ne conserver que les particules les plus significatives. Kong et al. [69] préconisent de contrôler l’évolution de la taille effective de l’échantillon (effective sample size en anglais) notée Nef f qui est un indicateur de la dégénerescence du filtre. Ils montrent que Nef f est relié à la variance des poids normalisés à l’instants k, {ω i k} N i=1 via l’égalité : Nef f = N 1 + Varp0:k (ωk(x0:k)) (2.17) Ainsi, plus la variance des poids est élevée, plus la taille effective de l’échantillon est faible. Par ailleurs, Nef f est relié à la divergence du χ 2 entre p0:k et q0:k via l’égalité : N Nef f − 1 = χ 2 (p0:k, q0:k) = Z (p0:k(x0:k) − q0:k(x0:k))2 q0:k(x0:k) dx0:k (2.18) On peut remarquer que 1 ≤ Nef f ≤ N. Autrement dit, Nef f est un indicateur du nombre d’échantillons qui contribuent significativement à l’estimation de la loi p(xk|y0:k). Dans la pratique, lorsque Nef f est inférieur à un seuil prédéfini Nth, on applique le ré-échantillonnage. Pour cela, l’approximation suivante de Nef f est souvent utilisée : Nef f ≈ 1 PN i=1(ω i k ) 2 (2.19)36 2. Méthodes particulaires pour le filtrage non linéaire Il existe un second critère relatif à l’entropie des poids normalisés, introduit par Pham [102] dans le cadre d’assimilation de données, qui s’exprime sous la forme suivante : Sω = log(N) + X N i=1 ω i k log  ω i k  (2.20) Une observation intéressante est que : Sω ≈ log(N) + DKL (p0:k k q0:k) où DKL (p0:k k q0:k) désigne la divergence de Kullback-Leibler de q0:k par rapport à p0:k : c’est une mesure de l’information perdue lorsque q0:k est utilisée pour approcher p0:k [13]. De façon générale, la divergence de Kullback-Leibler d’une loi de densité g par rapport à une loi de densité f est définie par : DKL (f k g) = Z f(x) log f(x) g(x) dx (2.21) Sω est nul lorsque tous les poids sont égaux à 1 N et Sω = log(N) si l’un des poids vaut 1 . Une heuristique est de ré-échantillonner le système de particules lorsque l’entropie Sw dépasse un certain seuil Sth. Ré-échantillonner consiste à remplacer le système de particules {ω i k , xi k} N i=1 par {ω 0i k , x0i k } N i=1 de sorte que la variance des poids après ré-échantillonnage soit réduite et que p 0 N k = PN i=1 ω 0i k δx 0i k soit une "bonne approximation" de pˆk = PN i=1 ω i k δx i k . Les schémas qui correspondent à une bonne approximation supposent que p 0 N k soit un estimateur non-biaisé de p N k . De manière générale, le ré-échantillonnage vérifie les conditions suivantes : 1. ω 0i k = 1 N 2. E hPN i=1 ✶ n x 0i k = x j k o |x0:k, y0:k i = Nωj k Les deux conditions assurent le caractère non-biaisé de l’approximation après ré-échantillonnage [76]. La seconde signifie qu’en moyenne une particule sera dupliquée d’autant plus qu’elle possède un poids fort. La méthode de redistribution la plus courante est le ré-échantillonnage multinomial. Elle consiste à tirer N particules x˜ i k avec probabilités ω i k , i = 1, . . . , N et à leur affecter un nouveau poids égal à ω 0i k = 1 N . A titre d’exemple considérons un échantillon pondéré x 1 , x2 , . . . , x10 de taille 10 dont les poids normalisés respectifs sont ω 1 = 0.02, ω 2 = 0.3, ω 3 = 0.15, ω 4 = 0.07, ω 5 = 0.09, ω 6 = 0.07, ω 7 = 0.1, ω 8 = 0.12, ω 9 = 0.05 et ω 10 = 0.03. Le tirage multinomial peut se faire de la façon suivante : 1. Tirer N va indépendantes ui ∼ U([0, 1]), i = 1, . . . , N 2. Pour i = 1, . . . , N, si u i ∈ hPj−1 i=1 ω i k , Pj i=1 ω i k i , sélectionner la particule d’indice j, i.e. poser x 0i k = x j k . Dans l’exemple précédent, un tirage multinomial nous donne l’ensemble de particules ré-échantillonnées {x 2 , x2 , x3 , x3 , x9 , x2 , x3 , x10, x10, x2} où les particules x 2 et x 3 sont dupliquées tandis que x 1 et37 x 6 sont éliminées. Il est important de noter que le ré-échantillonnage augmente la variance de l’estimation. Il existe tout de même des schémas de redistribution qui induisent une variance plus faible que celle du ré-échantillonnage multinomial : Ré-échantillonnage résiduel D’après [76], cette méthode permet de réduire efficacement la variance du ré-échantillonnage multinomial. L’un des problèmes du ré-échantillonnage multinomial est que le nombre de copies de la particule x i k peut varier fortement pour deux réalisations de l’algorithme de ré-échantillonnage. Pour limiter cet effet, le ré-échantillonnage résiduel attribue d’office Ni = bNωi k c copies de l’échantillon x i k pour i = 1, . . . , N. Il reste à allouer le nombre de particules restant N¯ = N − PN i=1 Ni afin de conserver un nombre constant de particules. Ces N¯ particules sont alors échantillonnées selon un tirage multinomial de probabilités données par les poids résiduels {ω¯ i k} N i=1 définis par : ω¯ i k = Nωi k − Ni N¯ (2.22) Afin d’illustrer notre propos, revenons à l’exemple précédent du ré-échantillonnage de {x i , ωi} 1 i=10. Dans la première passe, chaque particule x i est dupliquée bNωi c fois, ce qui donne l’ensemble {x 2 , x2 , x2 , x3 , x7 , x8}. Il reste maintenant à tirer 4 échantillons selon un tirage multinomial de probabilités ω¯ 1 = 0.05, ω¯ 2 = 0, ω¯ 3 = 0.125, ω¯ 4 = 0.175, ω¯ 5 = 0.225, ω¯ 6 = 0.175, ω¯ 7 = 0, ω¯ 8 = 0.05, ω¯ 9 = 0.125, ω¯ 10 = 0.075. Un tirage donne les particules additionnelles {x 6 , x4 , x5 , x3}. Un réalisation du ré-échantillonnage stratifié fournit donc le système de particules {x 2 , x2 , x2 , x3 , x7 , x8 , x6 , x4 , x5 , x3}. Ré-échantillonnage stratifié L’intervalle [0, 1] est partitionné en N sous-intervalles disjoints sous la forme [0, 1] = ∪ N i=1  i − 1 N , i N  . Ensuite, N variables Ui , i = 1, . . . , N sont tirées selon une loi uniforme U  i−1 N , i N  . A chaque variable Ui est associé l’inverse de la fonction de répartition de la loi discrète PN i=1 ω i k δx i k . Plus précisément, si Ui ∈ hPj−1 i=1 ω i k , Pj i=1 ω i k i , on sélectionne la particule d’indice j, i.e. x 0i k = x j k . La variance induite par le ré-échantillonnage stratifié est également inférieure à celle du ré-échantillonnage multinomial [35]. Ré-échantillonnage systématique Cette méthode est similaire au ré-échantillonnage stratifié excepté que le choix des Ui se fait selon : Ui = i−1 N + U où U ∼ U  0, 1 N  . En revanche, les particules sélectionnées x˜ i k ne sont plus indépendantes conditionnellement aux poids {ω i k} N i=1. 2.2.4 L’algorithme Sequential Importance Resampling (SIR) L’ajout de l’étape de ré-échantillonnage dans l’algorithme SIS permet d’obtenir l’algorithme SIR [107] qui évite le phénomène de dégénérescence des poids et permet d’obtenir un filtre stable. Lorsque le ré-échantillonnage intervient à chaque pas de temps, le SIR correspond au bootstrap filter de Gordon, Salmond et Smith [50].38 2. Méthodes particulaires pour le filtrage non linéaire Algorithme 2 : SIR pour i = 1, . . . , N faire – tirer x i ∼ q(x0|y0) – calculer ω i 0 ∝ µ0(x i 0 )p(y0|x i 0 ) q(x i 0 |y0) – normaliser les poids ω i 0 fin pour pour k = 1, . . . , n faire – [Prédiction] tirer x i k ∼ q(x i k |x i k−1 , yk), i = 1, . . . , N – [Correction] calculer les poids ω i k ∝ ω i k−1 p(x i k |x i k−1 )p(yk|x i k ) q(x i k |x i k−1 ,yk) , i = 1, . . . , N – normaliser les poids ω i k , i = 1, . . . , N – Calculer Nef f d’après (2.19) – [Ré-échantillonnage] Si Nef f < Nth, ré-échantillonner les particules et poser ω i k = 1 N , i = 1, . . . , N fin pour Bien que le ré-échantillonnage permette de garantir la survie du système de particules, il introduit plusieurs effets indésirables. La duplication des particules de poids fort a tendance à appauvrir le système de particules, ce qui peut être problématique lorsque le bruit de dynamique est faible. Dans ce cas, lorsque la loi d’importance utilisée dans l’étape de prédiction est le noyau de transition p(xk|xk−1), les particules ont tendance à se concentrer autour de quelques zones resserrées provoquant une perte de diversité dans le système de particules (phénomène connu sous le nom de sample impoverishment dans la littérature). Cela augmente le risque qu’aucune des particules ne soit cohérente avec l’observation yk courante, ce qui à terme peut provoquer la divergence du filtre. Pour limiter ce phénomène, une méthode peut-être de choisir une loi d’importance différente du noyau de transition ou de recourir aux méthodes de régularisation (cf. section 2.3 ). Choix de la densité d’importance Le choix d’une densité d’importance appropriée permet de concevoir des filtres plus robustes. Dans la classe des algorithmes d’échantillonnage pondéré séquentiel, la densité d’importance qopt = p(xk|xk−1, yk) = p(yk|xk)p(xk|xk−1) p(yk|xk−1) est optimale. On peut montrer que la variance des poids normalisés correspondant ω i k est nulle, conditionnellement à xk−1 [37]. De manière équivalente, ce choix maximise la taille effective de l’échantillon Nef f introduite précédemment via l’équation (2.17) [37]. Malheureusement, échantillonner suivant cette loi n’est aisé que pour certaines classes de modèles. Le choix le plus simple est d’utiliser la densité a priori q = p(xk|xk−1). Échantillonner selon p(xk|xk−1) est immédiat pour les modèles que nous considérons mais cette loi ne prend pas en compte l’observation courante et peut déplacer les particules dans des zones de faible vraisemblance. Afin d’exploiter l’information apportée par la mesure yk, il peut être souhaitable de recourir à des approximations de qopt. Parmi les méthodes d’approximations de la loi d’importance optimale, on peut citer le filtre particulaire auxiliaire [105] ainsi que les filtres basés sur une approximation gaussienne de qopt39 via l’utilisation d’un filtre de Kalman étendu [37] ou un filtre de Kalman sans parfum [117]. Ce dernier filtre est connu sous le nom d’Unscented Particle Filter. Une autre solution consiste à rechercher une approximation π de qopt dans une classe de lois paramétrées. Le choix de π se fait alors en minimisant la divergence du chi-deux entre la densité cible q opt et π ou bien la divergence de Kullback-Leibler (2.21) de π à q opt [23]. 2.2.5 Convergence des filtres particulaires La littérature sur les méthodes Monte Carlo séquentielle est riche en résultats sur la convergence des filtres particulaires lorsque N → +∞. On peut citer notamment [25],[24], [26] ou [32]. On rappelle ci-dessous un résultat établi pour l’algorithme SIR. Théorème 1 (Convergence faible [26]). Soit φ une fonction continue bornée de R d . On suppose que la fonction de vraisemblance xk 7→ gk(xk) = p(yk|xk) est bornée. Alors, lim N→+∞ X N i=1 ω i kφ(x i k ) = Z φ(xk)p(xk|y0:k)dxk (2.23) presque-surement. Un autre résultat concernant la convergence en norme L p s’énonce comme suit : Théorème 2 (Convergence L p [32]). Sous les hypothèses précédentes, pour tout p ≥ 1, il existe un réel Ck,p > 0, indépendant de N, tel que pour toute fonction φ continue bornée de R d , E [|hφ, pki − hφ, pˆki|p ] 1 p ≤ Ck,p supxk∈Rd |φ(xk)| √ N avec hφ, pki = Z φ(xk)p(xk|y0:k)dxk et pˆk = X N i=1 ω i k δx i k . Ce dernier résultat montre que l’erreur L p converge à la vitesse √ 1 N . Mais comme la constante Ck,p dépend du temps, sans hypothèse supplémentaire, Ck,p augmente généralement de manière exponentielle avec le temps. Ceci suggère que pour maintenir une erreur bornée, on a en général besoin d’un nombre croissant de particules. 2.3 Le filtre particulaire régularisé (RPF) On a vu que le ré-échantillonnage classique appauvrissait dans certains cas le système de particules dans la mesure où les schémas de redistribution sont fondées sur la duplication de particules. En particulier lorsque le bruit de dynamique est faible, les particules explorent peu l’espace d’état et le filtre peut diverger. Afin d’éviter ceci, le filtre particulaire régularisé (RPF) [37, p. 247-271] [89, 72], effectue le rééchantillonnage en simulant un échantillon selon une distribution continue, ce qui évite d’avoir plusieurs copies d’une même particule. La distribution continue utilisée est obtenue en régularisant la densité discrète pˆk = PN i=1 ω i k δx i k , obtenue après l’étape de correction.40 2. Méthodes particulaires pour le filtrage non linéaire 2.3.1 Régularisation d’une loi de probabilité discrète Soit K une fonction sur R d symétrique, telle que : Z K(x) dx = 1 Z xK(x) dx = 0 Z kxk 2 K(x) dx < +∞ (2.24) Pour tout h > 0 et tout x ∈ R d , on définit le noyau de régularisation Kh = 1 h K  x h d  Le paramètre h s’appelle facteur de dilatation. Si ν est une densité de probabilité, on définit la densité régularisée de ν par : νh(x) = (Kh ∗ ν) (x) = Z Kh(x − u)ν(u)du (2.25) Considérons le cas où ν représente une densité de probabilité discrète de la forme ν = X N i=1 ω i δxi obtenue par échantillonnage d’importance i.e. en simulant N points i.i.d. x i , i = 1, . . . , N selon une loi a priori q et en les pondérant selon une fonction de vraisemblance g avec ω i = g(x i ). Autrement dit, ν est une approximation de la loi a posteriori p ∝ gq.La densité de probabilité de la distribution régularisée de ν est νh(x) = X N i=1 ω iKh(x − x i ) (2.26) Le paramètre h contrôle le degré de lissage de la densité ν. Une valeur de h petite rapproche νh de ν tandis qu’une valeur plus élevée a tendance à fusionner les modes de la densité ν. En estimation de densité par noyaux, le noyau et le facteur de dilatation sont choisis de manière à minimiser l’erreur quadratique intégrée moyenne E kνh − pk 2 entre νh et la loi a posteriori p avec kνh − pk 2 = Z (νh(x) − p(x))2 dx. En particulier, lorsque w i = 1 N pour i = 1, . . . , N, le noyau optimal Kopt est le noyau d’Epanechnikov défini par [112] : Kopt(x) =    d+2 2cd  1 − kxk 2  si kxk < 1 0 sinon (2.27) De manière générale, le facteur de dilatation optimal hopt dépend de la quantité ( R |∇2p(x)| dx) 1/2 qui n’est facilement calculable que pour certaines densités de probabilités. Par exemple, si p est une densité gaussienne standard, en utilisant le noyau d’Epanechnikov (2.27), hopt = A(K)N − 1 d+4 A(K) = [8c −1 d (d + 4)(2√ π) d ] 1 d+4 (2.28)41 où cd est le volume de la sphère unité. Pour les applications usuelles, il est suffisant d’utiliser un noyau gaussien, dont le coût de simulation est moindre. Dans ce cas, hopt est obtenu selon hopt = A(K)N − 1 d+4 A(K) = (4/(d + 2)) 1 d+4 (2.29) Pour une densité quelconque, le choix de h peut se faire selon des méthodes classiques d’estimation de densité par noyaux (validation croisée [108], règle du plug-in [122]) mais elles impliquent un coût de calcul non négligeable. Pour s’en affranchir, on peut par exemple approcher la densité sous-jacente p par une gaussienne de moyenne la moyenne empirique et de covariance la covariance empirique S donnée par l’échantillon x 1 , . . . , xN [37]. Pour tenir compte du rapport d’échelle entre les composantes du vecteur d’état, on blanchit le système de particule afin de se ramener à un système de particules de covariance unitaire. En supposant que S = AAT , les particules blanchies sont les A−1x i . La valeur de h donnée par (2.29) peut alors être utilisée pour le système de particules blanchies. Cette procédure de régularisation est équivalente à utiliser le noyau de régularisation : Kh(x) = 1 det(A)h d K A−1x h ! (2.30) Lorsque la densité a posteriori est multimodale, la méthode de blanchiment (« data sphering ») a tendance à surlisser la densité d’origine. Silverman [112] conseille de poser h = chopt, avec c < 1 afin de limiter cet effet. Nous verrons dans le chapitre 4 qu’il est possible de régulariser les densités multimodales en s’affranchissant de ce réglage empirique. 2.3.2 Algorithme du filtre particulaire régularisé Il existe deux versions du RPF qui diffèrent par le choix de l’instant de régularisation [37, p. 253-254]. Le filtre particulaire pré-régularisé : l’étape de prédiction est identique à celle de SIR. En revanche, l’étape de correction est obtenue en considérant la distribution régularisée de la loi prédite empirique pˆk|k−1 = PN i=1 ω i k−1 δx i k|k−1 où n ω i k−1 , xi k|k−1 oN i=1 est le système de particules obtenues après l’étape de prédiction. pˆ h k|k−1 (x) =  Kh ∗ pˆk|k−1  (x) = X N i=1 ω i k−1Kh(x − x i k|k−1 ) L’approximation de la densité corrigée est alors pˆ h k (x) ∝ X N i=1 ω i k−1 gk(x i k|k−1 )Kh(x − x i k|k−1 ) Simuler un échantillon {x i k} N i=1 issue de cette loi requiert généralement de recourir à une méthode d’acceptation/rejet en prenant comme loi instrumentale la densité prédite régularisée pˆ h k|k−1 (x). Cette méthode est donc généralement coûteuse et n’est pas recommandée.42 2. Méthodes particulaires pour le filtrage non linéaire Le filtre particulaire post-régularisé : La régularisation intervient après l’étape de correction du SIR. L’étape de ré-échantillonnage consiste cette fois à échantillonner la distribution régularisée de la loi a posteriori empirique pˆk|k = PN i=1 ω i k δx i k . Le surcout du à la régularisation par rapport au ré-échantillonnage classique provient uniquement de la génération de N variables aléatoires selon le noyau K. Pour cette raison on préfèrera l’algorithme du filtre particulaire post-régularisé à sa version pré-régularisée. Algorithme 3 : RPF (filtre particulaire régularisé) pour i = 1, . . . , N faire – tirer x i ∼ q(x0|y0) – calculer ω i 0 ∝ µ0(x i 0 )p(y0|x i 0 ) q(x i 0 |y0) – normaliser les poids ω i 0 fin pour pour k = 1, . . . , n faire – [Prédiction] tirer x i k ∼ q(x i k |x i k−1 , yk), i = 1, . . . , N – [Correction] calculer les poids ω i k ∝ ω i k−1 p(x i k |x i k−1 )p(yk|x i k ) q(x i k |x i k−1 ,yk) , i = 1, . . . , N – normaliser les poids ω i k , i = 1, . . . , N – Calculer Nef f d’après (2.17) – [Ré-échantillonnage/Régularisation] Si Nef f < Nth – générer I1, . . . , IN avec P(Ij = i) = ω i k – générer ε i suivant le noyau d’Epanechnikov ou un noyau gaussien – calculer Ak tel que Sk = AkAT k où Sk est la covariance empirique de {ω i k , xi k} N i=1 – calculer hopt d’après (2.28) ou (2.29) et poser x j k = x Ij k + hoptAkε j , j = 1, . . . , N fin pour Les applications du RPF dans le domaine du pistage de cible [96] ou du recalage d’aéronefs par mesures radio-altimétriques [28] ont montré que la régularisation améliore sensiblement les performances du filtre particulaire classique (SIR) notamment en terme de taux de non-divergence, lorsque la dynamique est faiblement bruitée. 2.4 Les filtres particulaires hybrides (RBPF, KPKF) 2.4.1 Le filtre particulaire Rao-Blackwellisé (RBPF) Il existe une classe de modèles, appelée modèles conditionnellement linéaires gaussiens, pour laquelle l’estimation peut se faire grâce à un filtre particulaire pour une partie du vecteur d’état et un filtre de Kalman pour le reste du vecteur. Un tel filtre est appelé Rao-Blackwellized Particle Filter [15, 36], Mixture Kalman Filter [17] ou Marginalized Particle Filter [110, 94]. On suppose que l’on peut partitionner le vecteur d’état xk telle que x T k = h (x n k ) T ,(x l k ) T i . Le43 vecteur x n k désigne la partie non-linéaire de xk tandis que x l k représente la partie linéaire, conditionnellement à x n k et y0:k. En outre, on fait l’hypothèse que le modèle s’écrit sous la forme suivante :    x n k = f n k−1 (x n k−1 ) + F n k−1 (x n k−1 )x l k−1 + Gn k−1 (x n k−1 )w n k−1 x l k = f l k−1 (x n k−1 ) + F l k−1 (x n k−1 )x l k−1 + Gl k−1 (x n k−1 )w l k−1 yk = hk(x n k ) + Hk(x n k )x l k + vk (2.31) où – wk est un bruit blanc gaussien de matrice de covariance Qk et w T k = h (w n k ) T ,(w l k ) T i Qk = Qn k Qln k (Qln k ) T Ql k ! – vk est un bruit blanc gaussien de matrice de covariance Rk – La partie non linéaire suit une loi p0(x n 0 ) connue – La partie linéaire x l 0 est une gaussienne N (¯x0, P¯ 0) La densité jointe p(x l k , xn 0:k |y0:k) se factorise comme p(x l k , xn 0:k |y0:k) = p(x l k |x n 0:k , y0:k)p(x n 0:k |y0:k). On montre que sous les hypothèses du modèle p(x l k |x n 0:k , y0:k) est une densité gaussienne : il suffit donc de calculer à chaque pas de temps sa moyenne et sa covariance grâce au filtre de Kalman. Par ailleurs, La loi conditionnelle de la partie non-linéaire de l’état p(x n 0:k |y0:k) peut être estimée grâce un filtre particulaire selon le schéma suivant : – Prédiction p(x n 0:k |y0:k−1) = p(x n k |x n 0:k−1 , y0:k−1)p(x n 0:k−1 |y0:k−1) (2.32) – Correction p(x n 0:k |y0:k) = p(yk|x n 0:k , y0:k−1) p(yk|y0:k−1) p(x n 0:k |y0:k−1) (2.33) Définissons les variables z 1 k et z 2 k par : ( z 1 k = x n k+1 − f n k (x n k ) z 2 k = yk − hk(x n k ) Détaillons à présent la récursion de Kalman dans le cadre du RBPF. On suppose que la densité p(x l k−1 |x n 0:k−1 , y0:k−1) est une loi gaussienne N  xˆ l k−1 , Pk−1  connue dont la moyenne et la covariance dépendent de x n 0:k−1 et y0:k−1. Alors la moyenne et la covariance prédite s’obtiennent comme suit [94] :    xˆ l k|k−1 = F¯l k−1xˆ l k−1 + Gl k−1 (Qln k−1 ) T (Gn k−1Qn k−1 ) −1 z 1 k−1 + f l k−1 (x n k−1 ) + Lk−1(z 1 k−1 − An k−1xˆ l k−1 ) Pk|k−1 = F¯l k−1Pk−1(F¯l k−1 ) T + Gl k−1Q¯l k−1 (Gl k−1 ) T − Lk−1Nk−1L T k−1 Nk = F n k Pk(F n k ) T + Gn kQn k (Gn k ) T Lk = F¯l kPk(F n k ) TN −1 k (2.34) avec ( F¯l k = F l k − Gl k (Qln k ) T (Gn kQn k ) −1F n k Q¯l k = Ql k − (Qln k ) T (Qn k ) −1Qln k44 2. Méthodes particulaires pour le filtrage non linéaire De même, la loi corrigée p(x l k |x n 0:k , y0:k) est une densité gaussienne N  xˆ l k , Pk  de moyenne xˆ l k = ˆx l k|k−1 + Kk(yk − hk(x n k ) − H T k (x n k )ˆx l k|k−1 ) (2.35) et de covariance Pk = Pk|k−1 − KkMkKT k (2.36) où Mk = Hk(x n k )Pk|k−1HT k (x n k ) + Rk Kk = Pk|k−1HT k (x n k )M−1 k (2.37) Si l’on suppose que p(x n 0:k |y0:k) ≈ PN i=1 ω i k δx n,i 0:k , la loi conditionnelle p(x l k |y0:k) s’obtient selon p(x l k |y0:k) = Z p(x l k |x n 0:k , y0:k)p(x n 0:k |y0:k) dxn 0:k ≈ X N i=1 ω i k p(x l k |x n,i 0:k , y0:k) (2.38) où les densités p(x l k |x n,i 0:k , y0:k) sont gaussiennes et dont les paramètres sont donnés par les équations (2.35) et (2.36). Revenons à l’approximation particulaire de p(x n 0:k |y0:k). L’étape de prédiction (2.32) nécessite de déterminer la loi de p(x n k |x n 0:k−1 , y0:k−1). p(x n k |x n 0:k−1 , y0:k−1) = Z p(x n k |x l k−1 , xn k−1 )p(x l k−1 |x n 0:k−1 , y0:k−1)dxl k−1 Comme p(x n k |x l k−1 , xn k−1 ) est une gaussienne N  f n k (x n k−1 ) + F n k (x n k−1 )x l k−1 , Gn kQn k (Gn k ) T  et p(x l k−1 |x n 0:k−1 , y0:k−1) est également une densité gaussienne N  xˆ k l , Pk  , il s’en suit que p(x n k |x n 0:k−1 , y0:k−1) suit une distribution gaussienne N  f n k (x n k−1 ) + F n k (x n k−1 )ˆx l k−1 , F n k Pk(F n k ) T + G n kQ n k (G n k ) T  (2.39) Il reste à déterminer le terme p(yk|x n 0:k , y0:k−1) qui intervient dans l’étape de correction (2.33). On remarque que yk est la somme des termes hk(x n k ), Hk(x n k )x l k et du bruit de mesure vk. De plus : – conditionnellement à x n 0:k et y0:k−1, Hk(x n k )x l k est gaussien de moyenne Hk(x n k )ˆx l k|k−1 et de covariance Hk(x n k )Pk|k−1HT k (x n k ) – vk ∼ N (0, Rk) est indépendant de Hk(x n k )x l k et hk(x n k ) Donc la loi de p(yk|x n 0:k , y0:k−1) est une gaussienne N  hk(x n k ) + H T k (x n k )ˆx l k|k−1 , Hk(x n k )Pk|k−1H T k (x n k ) + Rk  (2.40) Nous donnons ci-dessous une version de l’algorithme du RBPF où la loi d’importance utilisée pour la partie non linéaire est la loi p(xk|x0:k−1, y0:k−1). Algorithme 4 : RBPF pour i = 1, . . . , N faire45 – tirer x n,i k ∼ p(x n 0 ) – poser x l,i 0|−1 = ¯x l 0 et P i 0|−1 = P¯ 0 fin pour pour k = 1, . . . , n faire – [Correction particulaire] calculer les poids ω i k ∝ ω i k−1 p(yk|x n,i k , y0:k−1), i = 1, . . . , N où la vraisemblance p(yk|x n,i k , y0:k−1) est donnée d’après (2.40) – normaliser les poids ω i k , i = 1, . . . , N – Calculer Nef f d’après (2.19) – [Ré-échantillonnage] Si Nef f < Nth rééchantilloner le système de particules – [Correction de Kalman] Pour i = 1, . . . , N, calculer xˆ l,i k et P l,i k d’après (2.35) et (2.36) – [Prédiction particulaire] Générer un échantillon x n,i k+1 ∼ p(x n k+1|x n 0:k , y0:k) (cf. (2.39)) – [Prédiction de Kalman] Pour i = 1, . . . , N, calculer xˆ l,i k+1|k et P l,i k+1|k d’après (2.34) fin pour Le filtre Rao-Blackwellisé produit des estimées en général meilleures que le SIR en terme d’erreur Monte Carlo. Cependant, à nombre de particules constant, il est plus coûteux puisqu’en toute généralité, il recquiert un filtre de Kalman par particule. Néanmoins, il est possible d’obtenir un compromis coût de calcul/performances en faveur du RBPF pour bien des applications. Par exemple, en recalage par mesures radio-altimétriques ou en pistage par mesure angulaire, la matrice de covariance du filtre de Kalman est indépendante de la partie non-linéaire ce qui réduit la complexité du RBPF étant donné qu’il il n’y a qu’une matrice de covariance à mettre à jour. 2.4.2 Un exemple de filtre particulaire à noyau : le Kalman Particle Kernel Filter (KPKF) Le KPKF [28, 103] s’appuie sur la théorie d’estimation de densité par noyau en exprimant les densités prédites et corrigées comme une somme pondérée de noyaux gaussiens. Dans la théorie du KPKF, le bruit de dynamique wk et le bruit d’observation vk sont supposés additifs gaussiens de moyennes nulles et de matrices de covariance respectives Qk et Rk. Étant donné une densité de probabilité f et {x i , i = 1 . . . N} un N-échantillon issu de f, un estimateur de densité par noyau est donné par : ˆf = 1 N X N i=1 ϕ(x − x i |P) où l’application x 7→ ϕ(x|P) désigne un noyau gaussien de moyenne nulle et de covariance P = h 2 Cov(x i ) = h 2 N−1 PN i=1(x i − x¯)(x i − x¯) T . h est le paramètre de dilatation du noyau et joue le même rôle que dans le filtre particulaire régularisé. Conformément à l’approche ci-dessus, le KPKF formule la loi prédite p(xk|y0:k−1) comme un mélange de N noyaux gaussiens : p(xk|y0:k−1) ≈ X N i=1 ω i k|k−1ϕ(xk − x i k|k−1 |P i k|k−1 ) (2.41)46 2. Méthodes particulaires pour le filtrage non linéaire où pour tout i = 1, . . . , N, P i k|k−1 est une matrice de covariance égale à h 2 fois la covariance empirique des particules prédites, i.e. : P i k|k−1 = h 2 X N i=1 ω i k|k−1 (x i k|k−1 − x¯k|k−1)(x i k|k−1 − x¯k|k−1) T (2.42) x¯k|k−1 = PN i=1 ω i k|k−1x i k|k−1 étant la moyenne prédite donnée par le système de particules. La particularité du KPKF est que, à l’étape de correction, les covariance P i k|k−1 sont suffisamment petites pour justifier une linéarisation de la fonction d’observation hk autour des particules prédites x i k|k−1 , i = 1, . . . , N. Étant donné que le bruit est additif gaussien, on vérifie que la densité a posteriori p(xk|y0:k) s’exprime comme un mélange de noyaux gaussiens dont les moyennes et les matrices de covariance s’obtiennent en appliquant les équations de Kalman [28]. Autrement dit, p(xk|y0:k) ≈ X N i=1 ω i kϕ(xk − x i k |P i k ) (2.43) avec H i k = ∇hk(x i k|k−1 ) (2.44) x i k = x i k|k−1 + Ki k (yk − hk(x i k|k−1 )) (2.45) Σ i k = H i kP i k|k−1 (H i k ) T + Rk (2.46) Ki k = P i k|k−1 (H i k ) T (Σi k ) −1 (2.47) P i k = P i k|k−1 − P i k|k−1 (H i k ) T (Σi k ) −1H i kP i k|k−1 (2.48) ω i k = ω i k|k−1ϕ(yk − y i k|k−1 |Σ i k ) PN j=1 ω i k|k−1ϕ(yk − y i k|k−1 |Σi k ) (2.49) L’étape de prédiction nécessite le calcul de p(xk+1|y0:k) = X N i=1 ω i k Z Rd ϕ(xk+1 − fk+1(x)|Qk+1)ϕ(x − x i k |P i k )du En remarquant que kP i kk ≤ P i k|k−1 , on peut de nouveau effectuer une linéarisation de la fonction d’observation fk+1 autour des particules corrigées x i k . fk+1(x) ≈ fk+1(x i k ) + F i k+1(x − x i k ) où F i k+1 = ∇fk+1(x i k ). Dans de nombreuses applications, la dynamique considérée est linéaire et il n’est donc pas nécessaire de procéder à une linéarisation. Dans tous les cas, la densité prédite est égale à une somme pondérée de noyaux gaussiens : p(xk+1|y0:k) = X N i=1 ω i kϕ(xk − fk+1(x i k )|P i k+1|k )47 avec P i k+1|k = F i k+1P i k (F i k+1) T + Qk+1. L’étape de prédiction soulève une difficulté : la matrice de covariance P i k+1|k n’est plus de l’ordre de h 2 . Il est donc nécessaire de rajouter une étape supplémentaire afin de conserver la structure donnée par (2.41) et (2.42). Cette étape, nommée ré-échantillonnage partiel [28] par leurs auteurs, consiste à rajouter à chaque particule fk+1(x i k+1|k ) un bruit gaussien centré de covariance P i k+1|k− h ∗2Πk+1|k où Πk+1|k = X N i=1 ω i kP i k+1|k + X N i=1 ω i k (fk+1(x i k ) − fk+1(xk))(fk+1(x i k ) − fk+1(xk))T est la covariance de la densité prédite. Le paramètre h ∗ est défini par h ∗2 = min i λ i min λ i min, i = 1, . . . , N est la plus petite valeur propre de (C T k+1) −1P i k+1|kC −1 k+1 et Ck+1 est la racine carrée de Πk+1|k (C T k+1Ck+1 = Πk+1|k). Lorsque la variance des poids {ω i k} N i=1 est élevée, il est préférable d’effectuer un ré-échantillonnage dit total ce qui revient à échantillonner N particules n x i k+1|k oN i=1 suivant la densité pˆ(xk+1|y0:k) = X N i=1 ω i kϕ(xk+1 − x i k+1|k |h ∗2Πk+1|k) (2.50) Rappelons que la variance des poids normalisés {ω i k} N i=1 peut s’estimer en contrôlant en ligne un critère sur la taille effective de l’échantillon Nef f ou bien en évaluant le critère entropique présentée dans la section 2.2.3. 2.5 Comportement du filtre particulaire en présence de multimodalités La section 2.2.3 a mis en évidence la nécessité de ré-échantillonner le système de particules afin de garantir la stabilité du filtre (mais pas nécessairement la convergence). Si l’on considère une distribution multimodale approchée par un ensemble fini de N particules pondérées {ω i k , xi k} N i=1, il n’y a pas de garantie qu’après ré-échantillonnage, ce système de particules représente tous les modes de la distribution conditionnelle. En effet, ré-échantillonner consiste essentiellement à tirer avec remise dans l’ensemble {x i k} N i=1, la probabilité de tirage de chaque particule étant égale à son poids. Ce phénomène a été rapporté dans la littérature du filtrage particulaire dans le cadre du pistage multi-cibles [58, 95], du pistage vidéo [59, 118, 95] ou en localisation de robot [85]. Une justifi- cation a été fournie par King et Forsyth [67] lorsque l’état xk prend ses valeurs dans un ensemble48 2. Méthodes particulaires pour le filtrage non linéaire fini discret. Les auteurs considèrent entre autres un modèle à espace d’état où xk ∈ {−1, 1}. Dans cette expérience, l’objet stationnaire est situé en x = 1 et on suppose que l’observation est parfaite et se fait dans un plan image par réflection sur deux miroirs (figure 2.2). Il apparaît donc à la fois en x = 1 et x = −1 sur le plan image. Cela crée une ambiguité sur la position réelle de l’objet, qui peut être modélisée par la fonction de vraisemblance p(y|x) = 0.5δx(y) + 0.5δ−x(y). Cette modélisation est purement illustrative mais permet de comprendre le phénomène de perte mirroir mirroir objet −1 0 1 plan image Figure 2.2 – "Pistage" d’un objet stationnaire de mode en filtrage particulaire. Pour cela, King et Forsyth supposent une densité a priori initiale p0(x) = 0.5δ1(x) + 0.5δ−1(x). Comme l’objet est stationnaire, p(xk|xk−1) = δxk−1 (xk), de sorte que p(xk|y0:k) = p0(xk). La loi a posteriori a donc 2 modes quelque soit k : −1 et 1. En utilisant un filtre particulaire pour estimer p(xk|y0:k), les échantillons x i k , i = 1, . . . , N prennent les valeurs −1 ou 1 et ont pour poids ω i k = 1 N . La distribution empirique est donc entièrement caractérisée par le nombre Ak d’échantillons qui sont situé sur le mode 1. Ak = Card n i ∈ J0, NK | x i k = 1o (2.51) de sorte que à l’instant k, l’approximation particulaire de p(xk|y0:k) est pˆk(x) = Ak N δ1(x) + N − Ak N δ−1(x) (2.52) Une bonne approximation pˆk correspond donc à Ak = N 2 , ∀k. Supposons que le ré-échantillonnage multinomial est appliquée à chaque instant (bootstrap filter). Cela correspond à un tirage uniforme avec remise dans la population n x 1 k , x2 k , . . . , xN k o . La v.a. Ak est donc une chaine de Markov homogène à valeur dans {0, 1, . . . , N}. La probabilité de transition est une loi binomiale B(N, Ak/N) : P(Ak = j|Ak−1 = m) = N j ! m N j  1 − m N N−j = pmj (2.53) La perte de l’un des modes correspond à Ak ∈ {0, N}, c’est-à-dire que la chaîne Ak a atteint un état absorbant. Les états 0 et N sont dits absorbants car une fois que la chaine Ak atteint ces49 valeurs, elle y reste. Cette modélisation est analogue aux chaînes de Wright-Fisher en génétique des populations [39]. Les deux modes sont comparables à deux allèles d’une population de taille fixe, asexuée et dont les générations ne se chevauchent pas. On définit le temps d’absorption T comme étant le temps d’atteinte de l’ensemble {0, N}. T 4 = inf {n ≥ 0 | An ∈ {0, N}} (2.54) En génétique des populations, cela correspond à la perte définitive d’un allèle. L’espace des états étant fini, le temps d’atteinte T est presque sûrement fini. Si on désigne par u la proportion initiale d’échantillons correspondant au premier mode, le temps moyen d’absorption est asymptotiquement linéaire en N [39]. E[T | A0 = Nu] ∼ N→∞ −2N (u ln u + (1 − u) ln(1 − u)) (2.55) Cette approximation est relativement bonne même pour des "petites" valeurs de N. Si l’on considère le problème précédent du pistage d’un objet stationnaire avec N = 100 (modes équiprobables), on peut constater que le temps moyen d’absorption empirique, calculé sur 500 réalisations indépendantes, est proche de son équivalent asymptotique (cf. figure 2.3). En particulier pour u = 1/2 (modes équiprobables), le temps moyen théorique est de 138 itérations. Par ailleurs, nous avons calculé la variance du temps moyen d’absorption vaut asymptotiquement : Var(T | A0 = Nu) = −2N [u ln u + (1 − u) ln(1 − u)] + 8N 2u dilog u + 8N 2u ln u − 8N 2 dilog u − 8N 2u dilog(1 − u) + 8N 2 ln(1 − u) − 8N 2u ln(1 − u) − 4N 2 [u ln u + (1 − u) ln(1 − u)]2 + 4 3 π 2N 2 (2.56) où dilog est la fonction dilogarithme définie par dilog(u) = Z u 1 ln t 1 − t dt (2.57) Des éléments de preuve sont fournis en annexe (B).50 2. Méthodes particulaires pour le filtrage non linéaire 0 0.2 0.4 0.6 0.8 1 0 50 100 150 u E(τ) Figure 2.3 – Temps moyen d’absorption de mode. Rouge : approximation asymptotique, Bleu : moyenne empirique 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 20 40 60 80 100 120 140 u σ τ Figure 2.4 – Ecart-type du temps d’absorption de mode. Rouge : approximation asymptotique, Bleu : écart-type empirique Lorsque la répartition des particules entre les deux modes est identique, la variance asymptotique se réduit à : Var(T | A0 = N/2) ∼ N→∞ ( 2 2 π 2 − 8 log 2)N 2 + 2N log 2 Lorsque N est grand, l’écart-type du temps de perte de mode est proportionnel à N. Ainsi, le temps moyen d’absorption augmente avec N à la même vitesse que l’écart-type associé. On observe en pratique que même pour des N grands la probabilité de perdre rapidement un mode n’est pas nulle.51 2.5.1 Cas où le nombre de modes est supérieur ou égal à 3 Lorsqu’on considère un modèle discret comportant plus de 2 modes dans la loi a posteriori p(x|y), on observe également que le ré-échantillonnage répété provoque une perte progressive des modes jusqu’à n’en avoir plus qu’un seul [67]. S’il y a initialement b modes, contenant initialement X1, X2, . . . , Xb échantillons, le temps moyen de réduction à un mode est asymptotiquement égal à : −2N X b i=1 N − Xi N ln N − Xi N  2.5.2 Cas où l’état est continu L’expérience décrite par King et Forsyth met en jeu un système à espace d’état sans bruit de dynamique ni bruit de mesure ce qui permet d’obtenir une approximation asymptotique sur les temps moyen de perte de mode. Dans un cadre plus général avec un bruit de dynamique et/ou d’observation, on observe le même phénomène de perte de modes [67, 118]. Considérons le modèle suivant : ( xk = xk−1 + wk yk = x 2 k + vk (2.58) où xk , k = 1, . . . , 200 est une variable scalaire. La loi a priori est supposée symétrique bimodale 1 2 U(−6.01, −5.99) + 1 2 U(5.99, 6.01) et les bruits d’état et de mesure sont des bruits blancs gaussiens de variances respectives σ 2 w = 0.01 et σ 2 v = 0.01. La nature de l’équation de mesure assure que la distribution p(xk|y0:k) est bimodale avec des modes de signes opposés. Un moyen simple d’associer une particule à un mode est de lui associer le mode de même signe. L’écart-type du bruit de dynamique assure qu’une particule x j qui sera initialement associé au i-ème mode le restera étant donné la faible probabilité pour que la somme cumulée des bruits de dynamique provoque un changement du signe de x j . Nous avons étudié dans [88] le temps moyen de perte de mode d’un filtre particulaire standard sur le modèle (2.58). Dans cet article, nous avons considéré un filtre particulaire avec ré-échantillonnage à chaque itération (bootstrap filter) et utilisant N = 100 particules. Le filtre est initialisé avec N/2 particules dans chaque mode. Le temps moyen de perte de mode calculé empiriquement sur la base de 1000 trajectoires indépendantes est de 11 itérations. En comparant (à nombre de particules égal) avec le modèle statique illustré par la figure 2.2 où le temps moyen est de l’ordre de 138 itérations, on observe que la présence de bruits de dynamique et d’observation est de nature à accélérer la perte de l’un des modes. Cela est du au fait que le ré-échantillonnage se fait en tirant les particules proportionnellement à leurs poids normalisés ω i k qui sont différents de 1 N , contrairement au cas stationnaire. Nous verrons ci-après une implémentation, proposée par Vermaak et al. [118], qui permet de traiter le problème du ré-échantillonnage au niveau de chaque mode de la densité empirique dans le soucis de préserver autant que possible son caractère multimodal.52 2. Méthodes particulaires pour le filtrage non linéaire 2.6 Modèles de mélange pour le filtrage particulaire Les modèles de mélange finis consistent à représenter une densité de probabilité f comme une somme pondérée de M densités de probabilités fj . f(x) = X M j=1 αjfj (x) avec X M j=1 αj = 1 (2.59) Les réels αj sont les coefficients ou poids de mélange. Les modèles de mélange sont utilisés en classification de données [83], en segmentation d’image [16] ou extraction d’image [101]. Ils sont également utiles pour représenter une loi de probabilité multimodale. Ils se prêtent bien à la problématique du filtrage dans un cadre ou la fonction de mesure est ambiguë. Ils ont notamment été utilisés dans un cadre particulaire en localisation de robot [85, 77], en pistage vidéo [118], en pistage multi-objet[113] ou encore en pistage multi-cibles [47]. Nous présentons ci-après le cadre théorique du filtrage pour le modèle de mélange et l’algorithme particulaire correspondant. 2.6.1 Filtrage pour les modèles de mélange Nous rappelons le modèle à espace d’état (2.6). ( xk = fk (xk−1, wk) yk = hk(xk, vk) Formulons la loi conditionnelle pk|k = p(xk|y0:k) soit comme un mélange de lois conditionnelles : pk|k = X M j=1 αj,kpj (xk|y0:k) (2.60) où PM j=1 αj,k = 1. Les composantes pj sont des lois conditionnelles non-paramétriques. Cette décomposition n’étant pas unique, nous allons supposer que chaque pj est monomodale, de manière à capter la multimodalité de la loi a posteriori p(xk|y0:k). La mise à jour du filtre suppose la mise à jour des composantes {pj , j = 1 · · · M} et des poids de mélange αj,k. Supposons que pk−1|k−1 = p(xk−1|y0:k−1) soit connu. Le calcul de pk|k se fait selon les équations de Chapman-Kolmogorov : – Prédiction pk|k−1 = p(xk|y0:k−1) = Z p(xk|xk−1)p(xk−1|y0:k−1) dxk−1 (2.61) – Correction pk|k = p(xk|y0:k) = p(yk|xk)p(xk|y0:k−1) R p(yk|xk)p(xk|y0:k−1) dxk (2.62) En prenant en compte la formulation sous forme de mélange de loi conditionnelle donnée par (2.60), on a53 – Prédiction pk|k−1 = X M j=1 αj,k−1pj (xk|y0:k−1) avec pj (xk|y0:k−1) = Z p(xk|xk−1)pj (xk−1|y0:k−1)dxk−1 (2.63) – Correction pk|k = PM j=1 αj,k−1p(yk|xk)pj (xk|y0:k−1) PM l=1 αl,k−1 R p(yk|xk)pl(xk|y0:k−1) dxk = X M j=1 αj,k−1 R p(yk|xk)pj (xk|y0:k−1) dxk PM l=1 αl,k−1 R p(yk|xk)pl(xk|y0:k−1) dxk p(yk|xk)pj (xk|y0:k−1) R p(yk|xk)pj (xk|y0:k−1) dxk ! | {z } pj (xk|y0:k) (2.64) Etant donné que Z p(yk|xk)pj (xk|y0:k−1) dxk = pj (yk|y0:k−1), on en déduit donc l’équation de mise à jour des poids de mélange : αj,k = αj,k−1pj (yk|y0:k−1) X M l=1 αl,k−1pl(yk|y0:k−1) (2.65) 2.6.2 Approximation particulaire pour les modèles de mélange et algorithme MPF La précédente section a mis en évidence la procédure de filtrage pour les modèles de mélange. Voyons maintenant comment obtenir l’ équivalent particulaire des filtres de mélange. Dans la littérature du filtrage particulaire, l’algorithme a été introduit par Vermaak, Doucet et Perez sous le nom de mixture particle filter (MPF) [118]. Ce même algorithme est également connu comme le clustered particle filter [126]. L’idée sous-jacente est d’affecter un filtre particulaire à chaque composante pj du mélange. A l’étape de prédiction, les filtres évoluent indépendamment et à l’étape de correction, ils interagissent lors de la mise à jour des poids de mélange {αj,k} M j=1via l’équation (2.65). Conformément aux notations précédentes, on notera {x i k} N i=1 l’ensemble des particules, {ω i k} N i=1 les poids associés et Ij ⊆ {1, . . . , N} l’ensemble des indices des particules appartenant à la composante d’indice j. La loi a posteriori est donc approchée selon p(xk|y0:k) ≈ X M j=1 αj,k X i∈Ij ω i k δx i k (2.66) avec X i∈Ij ω i k = 154 2. Méthodes particulaires pour le filtrage non linéaire et X M j=1 αj,k = 1 L’étape de prédiction se fait en échantillonnant N particules x i k ∼ q(x|x i k−1 , yk) où q est une densité d’importance. D’après (2.64), l’équation de mise à jour des poids d’importance {ω i k} N i=1 se fait selon : ω˜ i k = ω i k−1 p(yk|x i k )p(x i k |x i k−1 ) q(x i k |x i k−1 , yk) (2.67) ∀i ∈ Ij , ωi k = ω˜ i X k l∈Ij ω˜ l k (2.68) Afin d’obtenir les poids de mélange à l’instant k, il faut estimer la vraisemblance prédite pj (yk|y0:k−1) = Z p(yk|xk)pj (xk|y0:k−1) dxk. Appelons pˆj (xk|y0:k−1) une approximation particulaire de la loi prédite de la composante d’indice j. Alors, pj (yk|y0:k−1) = Z p(yk|xk)pj (xk|y0:k−1) dxk (2.69) = ZZ p(yk|xk)p(xk|xk−1)pj (xk−1|y0:k−1) dxk dxk−1 (2.70) ≈ X i∈Ij ω i k−1 p(yk|x i k )p(x i k |x i k−1 ) q(x i k |x i k−1 , yk) (2.71) ≈ X i∈Ij ω˜ i k (2.72) On en déduit l’estimateur des coefficients de mélange suivant : αj,k ≈ αj,k−1w + j,k X M p=1 αp,k−1w + p,k (2.73) où w + j,k est défini par : w + j,k = X i∈Ij ω˜ i k (2.74) Jusqu’ici, on a supposé que le nombre de composantes de la loi a posteriori restait fixe. Dans l’hypothèse où une composante est affectée à un mode de la loi conditionnelle pk|k, cela signifie que le nombre de modes est constant. Cependant pour des applications telles que le suivi d’objets dans les séquences vidéo, une composante pj correspond idéalement à la probabilité d’un objet particulier. Le nombre d’objets pouvant évoluer au cours du temps, il parait naturel d’introduire une dépendance du nombre de composantes M par rapport au temps. En recalage de navigation inertielle par mesures radio-altimétriques, la modélisation de la loi conditionnelle sous-forme de55 mélange fini correspond à une ambiguïté sur la position réelle de l’aéronef qui se matérialise par plusieurs positions possibles dans le plan horizontal. En fonction des similarités de terrain et de l’incertitude de mesure du radio-altimètre, le nombre de positions candidates peut évoluer. Afin de prendre en compte ces remarques, Vermaak et al. [118] formulent la loi a posteriori à l’instant k comme un mélange de Mk composantes : pk|k = X Mk j=1 αj,kpj (xk|y0:k) (2.75) Soit pˆk|k l’approximation particulaire de pk|k. Alors, pˆk|k = X Mk j=1 αj,k X i∈Ij,k ω i k δx i k (2.76) où Ij,k ⊆ {1, . . . , N} est l’ensemble des indices des particules approximant la composante pj à l’instant k. A l’instant k + 1 on a donc : pk+1|k+1 ≈ pˆk+1|k+1 = X Mk j=1 αj,k+1 X i∈Ij,k ω i k+1δx i k+1 (2.77) = X N i=1 αc1(i),k+1ω i k+1δx i k+1 (2.78) où c1(i) = j si i appartient à Ij,k. Dans la formulation (2.77), les lois Πj = P i∈Ij,k ω i k+1δx i k+1 peuvent contenir plusieurs modes, auquel cas il est judicieux de séparer les particules en autant de modes que nécessaire. Inversement, deux lois Πˆ l et Πm peuvent avoir des modes très rapprochés ce qui incite à regrouper les particules correspondantes. Cela se traduit par la formulation de pˆk+1|k+1 comme somme de Mk+1 composantes Πˆ 0 l , l = 1, . . . , Mk+1 obtenues après re-clustering des composantes Πˆ l , l = 1, . . . , Mk. pˆk+1|k+1 = M Xk+1 l=1 βl,k+1Πˆ 0 l pˆk+1|k+1 = M Xk+1 l=1 βl,k+1 X i∈Il,k+1 ν i k+1δx i k+1 (2.79) avec PMk+1 l=1 βl,k+1 = 1 , P i∈Ij,k+1 ν i k+1 = 1 et Πˆ 0 l = P i∈Il,k+1 ν i k+1δx i k+1 . Il,k+1 ⊆ {1, . . . , N} est l’ensemble des indices des particules représentant la loi Πˆ 0 l . On peut réécrire l’égalité (2.79) sous la forme : pˆk+1|k+1 = X N i=1 βc2(j),k+1ν j k+1δx j k+1 (2.80)56 2. Méthodes particulaires pour le filtrage non linéaire où c2(i) = l si i ∈ Il,k+1. On peut également transformer l’équation (2.78) sous la forme : pˆk+1|k+1 = X N i=1 αc1(i),k+1ω i k+1δx i k+1 (2.81) = M Xk+1 l=1 X i∈Il,k+1 αc1(i),k+1ω i k+1δx i k+1 (2.82) = M Xk+1 l=1 X i 0∈Ij,k+1 αc1(i 0),k+1ω i 0 k+1 X i∈Il,k+1 αc1(i),k+1ω i k+1 P i 0∈Il,k+1 αc1(i 0),k+1ω i 0 k+1 δx i k+1 (2.83) En identifiant l’égalité (2.83) avec l’équation (2.79), il vient : βl,k = X i∈Il,k+1 αc1(i),kω i k (2.84) et ν i k = αc1(i),kω i k βc2(i),k (2.85)57 Conclusion du Chapitre 2 Nous avons présenté les briques de base du filtre particulaire dans le cadre des modèles à espace d’état. L’algorithme SIS assure théoriquement une convergence vers la loi de filtrage lorsque le nombre de particule est infiniment grand. Cependant, l’utilisation d’un nombre fini de particules peut occasionner la divergence des algorithmes particulaires. En particulier, lorsque le bruit d’observation est faible ou lorsque la dynamique est faiblement bruitée, l’échantillonnage successif des particules selon la loi a priori ne garantit pas la convergence du filtre. Des variantes telles que le filtre particulaire régularisé (RPF) ou le KPKF permettent de rendre le filtre plus robuste lorsque ces situations surviennent mais n’éliminent pas totalement le risque de divergence. Le filtre Rao-Blackwellisé (RBPF) exploite la structure des modèles conditionnellement linéaires gaussiens afin d’effectuer une approximation particulaire sur une partie réduite de l’espace de l’état et réduire ainsi le nombre d’échantillons nécessaire, le reste de l’état étant estimée par un banc de filtres de Kalman. Nous avons également exposé une autre limitation des algorithmes particulaires, qui est le risque de perte de mode lorsque la loi conditionnelle de l’état est multimodale. Nous avons illustré l’impact du ré-échantillonnage sur la disparition des modes grâce à une modélisation issue de la génétique des populations. Ceci a des implications pratiques car la loi de filtrage est multimodale dans les scénarios de recalage de la navigation par mesures altimétriques. Enfin, nous avons exposé les modèles de mélange dans le cadre du filtrage particulaire comme une solution adaptée au distributions multimodales. Le chapitre 4 proposera une mise en oeuvre de ces modèles en proposant une approche basée sur les techniques de clustering pour identifier automatiquement les modes de la loi conditionnelle. Nous proposerons également une méthode de régularisation adaptée aux densités multimodales, appelée régularisation locale.58 2. Méthodes particulaires pour le filtrage non linéaire59 Chapitre 3 Systèmes de navigation inertielle et recalage radio-altimétrique 3.1 Introduction à la navigation inertielle La navigation consiste d’une manière générale à connaitre la position, la vitesse et l’attitude d’un mobile dans un référentiel donné. Dans cette thèse nous nous intéressons plus particuliè- rement à la navigation terrestre, c’est-à-dire la détermination des caractéristiques cinématiques d’un objet par rapport au globe terrestre. Nous chercherons donc à déterminer la position, la vitesse et éventuellement les angles d’attitude de l’objet en déplacement. Les angles d’attitude donnent accès à l’orientation angulaire du solide considéré. L’objet d’intérêt est un aéronef muni d’une centrale inertielle qui comporte des accéléromètres et des gyromètres et d’un calculateur permettant de déduire la solution de navigation par intégration successive des mesures accélérométriques et gyrométriques. Nous présentons ci-après les principaux repères utilisés en navigation terrestre ainsi que les types de centrales inertielles. 3.1.1 Repères de navigation Repère inertiel (inertial frame) Le repère terrestre (O, xi , yi , zi) a pour origine le centre de la Terre O et ses axes ont une direction fixe par rapport aux étoiles. Repère terrestre Le repère terrestre (O, xT , yT , zT ), également appelé ECEF (Earth-Centered, Earth-Fixed) , est lié à la Terre et est en rotation avec celle-ci. Il est centré sur la Terre et les 3 vecteurs du trièdre xT , yT et zT sont tels que : − xT est contenu dans le plan équatorial et passe par le méridien de Greenwich, − zT est dirigé vers le pôle nord, − yT complète le trièdre direct. Trièdre géographique local (navigation frame) Le trièdre géographique local (TGL) est le repère de navigation. Il a pour origine la projection P du centre de masse du mobile sur la surface de la terre et ses axes sont dirigés respectivement vers le Nord, l’Est et selon la verticale descendante. Dans toute la suite on notera (n, e, d) ce repère.60 3. Systèmes de navigation inertielle et recalage radio-altimétrique Figure 3.1 – Repères de référence (ϕ et λ désignent ici respectivement la latitude et la longitude géographique) Trièdre lié au mobile (body frame) Il s’agit du repère (M, xb, yb, zb) lié à l’engin. Son origine M est un point quelconque du véhicule et n’est pas nécessairement confondu avec son centre de gravité G. L’orientation des axes est conventionnelle : − l’axe xb est dirigé selon l’axe de symétrie longitudinal de l’engin et est orienté vers l’avant, − l’axe zb est perpendiculaire au plan de la voilure et dirigé vers l’intrados du corps, − l’axe yb complète le trièdre direct. Les angles d’attitudes, notés ϕ, θ et ψ, définissent l’orientation du mobile par rapport au TGL. ϕ désigne le roulis (roll), θ le tangage (pitch) et ψ le lacet (yaw). 3.1.2 Capteurs inertiels Il existe deux types de centrales inertielles qui se distinguent par la façon dont la plate-forme de capteurs est orienté par rapport au boitier : les centrales à plate-forme stabilisée et les centrales à composants liés. Les 2 types de centrales comportent 3 accéléromètres et 3 gyromètres. Les accéléromètres fournissent l’accélération non-gravitationnelle du véhicule par rapport au repère inertiel, c’est-à-dire l’accélération absolue moins la pesanteur. Le vecteur résultant est appelé force spécifique fa . Les gyromètres mesurent la vitesse angulaire de l’engin par rapport au repère inertiel. Centrales à plate-forme stabilisé (gyrostabilized platforms) Sur ce type de centrales, les accéléromètres sont installés sur une plate-forme mécanique isolée des mouvements angu-61 laires du boitier. Les gyromètres permettent d’asservir la plate-forme en position horizontale de telle sorte que les accéléromètres ont leurs axes parallèles au TGL [106]. Les centrales à plate-forme stabilisée sont relativement précises mais la présence d’un système mécanique d’asservissement les rend plutôt encombrantes. Centrales à composants liées Dans ce type de centrale, également appelée centrale inertielle strap-down, les capteurs inertiels sont directement fixés à la structure rigide du boitier de la centrale. Les 3 gyromètres et les 3 accéléromètres fournissent donc des mesures dans le repère engin (G, xb, yb, zb) lié au mobile. Les accélérations sont projetées dans le TGL par intégration des vitesses angulaires issues des gyromètres. Les centrales à composants liés sont plus simples mécaniquement que les centrales à plate-forme stabilisée, ce qui les rend peu encombrantes et exige moins de maintenance mais nécessite un calculateur plus puissant. Aujourd’hui, la puissance des calculateurs embarqués fait qu’elles sont plus répandues que les centrales à plate-forme stabilisée. Dans la suite de l’exposé, nous considérons un véhicule muni d’une centrale à composants liés. Le rôle du calculateur est de projeter les mesures des capteurs inertiels dans le trièdre géographique local afin d’obtenir par intégration les paramètres cinématiques du véhicule. 3.2 Les équations de la navigation inertielle Les paramètres cinématiques de l’aéronef sont : − la position géographique (λ, φ, z) où λ est la latitude géographique, φ la longitude et z l’altitude. Ces 3 composantes sont exprimées dans le trièdre de navigation. − la vitesse de déplacement de son centre de masse, exprimée dans le TGL et notée v = (vn, ve, vd) − l’attitude, représentée par les angles d’Euler ϕ, θ et ψ. Dans une centrale inertielle à composants liés, les mesures de forces spécifiques et de vitesses de rotation se font dans le trièdre engin (M, xb, yb, zb), M étant l’origine de la centrale inertielle. La vitesse du centre de masse vG est reliée à la vitesse du point M par la relation : vG = vM − (ωm − ωie) ∧ GM (3.1) où ωie est le vecteur de la rotation de la terre et ωm est le vecteur de vitesse angulaire mesuré par les gyromètres (vitesse de rotation absolue). Afin de déterminer l’ensemble des paramètres cinématiques de l’aéronef, on représente le globe terrestre comme un ellipsoïde de révolution dont l’axe de symétrie est confondu avec l’axe de révolution autour des pôles. Cet ellipsoïde est défini par son demi grand axe a et son demi petit axe b. Son excentricité e et son aplatissement fap sont définis par : e = s 1 − b 2 a 2 et fap = 1 − b a62 3. Systèmes de navigation inertielle et recalage radio-altimétrique Les paramètres de l’ellipsoïde sont fournies par le modèle WGS84 ( World Geodetic System 1984). Les valeurs numériques sont : a = 6378137 m (3.2) fap = 1/298.257223563 (3.3) b = 6356752.3 m (3.4) 3.2.1 Equation d’attitude L’orientation du mobile par rapport au TGL est définie par les angles d’attitudes ϕ, θ et ψ (respectivement roulis, tangage et lacet). Ces angles permettent d’obtenir la matrice des cosinus directeurs Rn2b qui correspond à la matrice de rotation qui fait passer du TGL (n, e, d) au repère engin (xb, yb, zb). Rn2b =   cos θ cos ψ cos θ sin ψ − sin θ − cos ϕ sin ψ + sin ϕ sin θ cos ψ cos ϕ cos ψ + sin ϕ sin θ sin ψ sin ϕ cos θ sin ϕ sin ψ + cos ϕ sin θ cos ψ − sin ϕ cos ψ + cos ϕ sin θ sin ψ cos ϕ cos θ   (3.5) On définit également la matrice de rotation Rb2n qui fait passer du repère engin au repère de navigation. On a donc : Rb2n = R T n2b = R −1 n2b Soit ω la vitesse angulaire de rotation du mobile par rapport au repère TGL et soit p, q, r ses composantes exprimées dans le repère lié à l’avion. Les angles d’attitude sont reliés aux vitesses angulaires p, q, r selon l’équation différentielle suivante :   ψ˙ ˙θ ϕ˙   =   0 sin ϕ cosθ cos ϕ cosθ 0 cos ϕ − sin ϕ 1 tan θ sin ϕ tan θ cos ϕ     p q r   (3.6) La vitesse angulaire de l’aéronef par rapport au TGL, est égale à ω = ωm − ρ − ωie ωm est la vitesse angulaire mesurée par les gyromètres dans le repère engin tandis que ρ représente la vitesse angulaire de rotation du TGL par rapport à la Terre. Les composantes de ρ et ωie sont définies dans le repère TGL selon :    ρn = ve Rφ+z ρe = − vn Rλ+z ρd = − ve Rφ+z tan(λ) (3.7) et    ω n ie = ω0 cos(λ) ω e ie = 0 ω d ie = −ω0 sin(λ) (3.8)63 avec ω0 = 7.29 × 105 rd.s−1 est la vitesse de rotation propre du globe terrestre. Rλ est le rayon de courbure de la Terre dans le plan méridien (rayon nord). Rλ = a 1 − e 2 (1 − e 2 sin2 (λ))3/2 (3.9) Rφ est la grande normale de l’ellipsoïde (rayon est). Rφ = a (1 − e 2 sin2 (λ))1/2 (3.10) L’équation du mouvement angulaire d’un corps rigide en rotation permet d’obtenir l’équation différentielle de la matrice des cosinus directeurs : R˙ n2b = −[ωm×]Rn2b + Rn2b[(ρ + ωie)×] (3.11) où ωm =  ωx ωy ωz T est le vecteur des vitesses angulaires mesurées par les gyromètres et [ωm×] est la matrice anti-symétrique définie par : [ωm×] =   0 −ωz ωy ωz 0 −ωx −ωy −ωx 0   (3.12) 3.2.2 Equation de vitesse du mobile L’équation différentielle régissant la vitesse du mobile et projetée dans le trièdre de navigation est v˙ = Rb2nγm + g − (2ωie + ρ) ∧ v (3.13) γm est le vecteur d’accélération spécifique mesurée par les accéléromètres exprimé dans le repère engin. g est la pesanteur terrestre. Il est égal à la gravité ΦT de la Terre diminué de l’accélération d’entraînement due à la rotation de celle-ci. g = ΦT − ωie ∧ (ωie ∧ OM) (3.14) Dans le modèle WGS84, la norme de g à la surface de la Terre ne dépend que de la latitude λ et de l’altitude z via la formule suivante : g ≈ 9.7803 + 0.0519 sin2 (λ) − 3.08 × 10−6 z (3.15) où z est exprimé en mètres. En projetant l’équation (3.13) sur le TGL, et compte tenu des égalités (3.7) et (3.8), il vient :   v˙n v˙e v˙d   = Rb2n   γx γy γz   +   0 0 g   +   − v 2 e Rφ+z tan λ − 2ω0ve sin λ + vnvd Rλ+z 1 Rφ+z (vevn tan λ + vevd) + 2ω0(vn sin λ + vd cos λ) − v 2 n Rφ+z − v 2 e Rλ+z − 2ω0ve cos λ   (3.16) où  γx γy γz T est le vecteur des accélérations mesurées par les accéléromètres.64 3. Systèmes de navigation inertielle et recalage radio-altimétrique 3.2.3 Equation de position L’équation d’évolution de la position du mobile s’obtient par intégration de l’équation de vitesse (3.16) :   λ˙ φ˙ z˙   =   1 Rλ+z 0 0 0 1 (Rφ+z) cos(λ) 0 0 0 −1     vn ve vd   (3.17) 3.3 Modélisation de l’erreur de navigation La centrale inertielle calcule la solution de navigation par intégration successives des données accélérométriques et gyrométriques. Des erreurs peuvent apparaître lorsque l’initialisation (alignement) de la centrale est erronée ou inévitablement parce que les capteurs ont une précision limitée. Les erreurs de navigation sont dues à la juxtaposition d’erreurs de projection et d’erreurs d’inté- gration. En effet, une mesure erronée des gyromètres donnera une matrice d’attitude Rn2b fausse. La projection des mesures des accéléromètres se faisant grâce à cette matrice d’attitude, il en ré- sultera une accumulation de l’erreur due à une mauvaise projection et de celle due à l’imperfection des accéléromètres. L’intégration de cette projection entraînera une dérive des composantes de vitesse et donc des coordonnées de position. Par ailleurs, le modèle de pesanteur que nous avons considéré dépend, en ce qui concerne la direction, de la position horizontale du véhicule, et en ce qui concerne l’intensité, de son altitude. Toute erreur sur la position du véhicule entraîne donc une mauvaise estimation de la pesanteur et se répercute sur les futures estimations de vitesses et de position. Ce couplage, appelé phénomène de Schüler, se traduit par une oscillation des erreurs de position horizontale et une divergence de la position verticale. Nous rappelons ci-après les équations d’évolution des erreurs de position, vitesse et attitude. 3.3.1 Variables d’erreurs Dans la suite, les variables entachées d’erreurs seront notées par un tilde. Ces variables représentent par exemple la position inertielle ou les mesures des accéléromètres. On notera δu le vecteur d’erreur correspondant à la différence entre la valeur vraie ou idéale de u et la valeur erronée u˜. δu = u − u˜ Erreur de position On définit l’erreur de position δx comme l’écart métrique entre la position inertielle et la position vraie dans le repère TGL. Ses coordonnées sont :    δxn = (Rλ + z)δλ δxe = (Rφ + z) cos(λ)δφ δxd = −δz (3.18) où δλ, δφ et δz sont les erreurs de position géographiques dans le trièdre géographique local.65 Erreur de vitesse On définit δv = v − v˜ comme l’erreur de vitesse dans le repère TGL. Erreur d’attitude Soit δφ, δθ et δψ les erreurs commises sur les angles d’attitude. Si on note R˜ n2b la matrice des cosinus directeurs dont dispose la centrale inertielle (Rn2b étant la matrice exacte), on a la relation suivante [5], valable dans l’approximation des petits angles : Rn2b = R˜ n2b   1 −δψ δθ δψ 1 −δϕ −δθ δϕ 1   (3.19) On définit la matrice antisymétrique [Φ×] comme [Φ×] =   0 −δψ δθ δψ 0 −δϕ −δθ δϕ 0   L’équation (3.19) est donc équivalente à : Rn2b = R˜ n2b(I3 + [Φ×]) (3.20) Erreurs de mesure des capteurs inertiels On définit l’erreur de mesure des accéléromètres comme δγ = γ − γ˜ (3.21) où γ˜ est la mesure accélérométrique fournie par la centrale inertielle. De la même façon l’erreur de mesure des gyromètres est : δω = ω − ω˜ (3.22) Erreur d’orientation du TGL Soit B la matrice de rotation qui fait passer du repère terrestre au repère de navigation. B dépend de la latitude et longitude du véhicule de la façon suivante : B =   − cos φ sin λ − sin φ sin λ cos λ − sin φ cos φ 0 − cos φ cos λ − sin φ cos λ − sin λ   (3.23) Ainsi, une erreur sur les coordonnées géographiques a une répercussion sur la matrice B de sorte que la matrice B˜ dont dispose la centrale s’exprime sous la forme. B = (I − [δΘ×])B˜ (3.24) avec [δΘ×] =   0 −δΘn δΘe δΘd 0 −δΘn −δΘe δΘn 0   (3.25)66 3. Systèmes de navigation inertielle et recalage radio-altimétrique δΘn, δΘe et δΘd sont trois petits angles décrivant l’erreur d’orientation du TGL en fonction de l’erreur de position :    δΘn = δxe Rφ+z δΘe = − δxn Rλ+z δΘd = − tan(λ)δxe Rφ+z Nous donnons ci-après les équations de propagation des erreurs de navigation. Elles sont obtenues par différentiation au premier ordre des équations de la navigation. Dans un premier temps, ces équations correspondent à un modèle dit angle-phi, pour lequel les variables d’erreurs δx, δv sont projetées dans le repère lié à la Terre [5]. Ensuite, nous présentons la modélisation dite angle-psi [5], qui permet d’éliminer certaines variables intermédiaires du problème. 3.3.2 Équation d’évolution de l’erreur d’attitude Rappelons que Φ =  δφ δθ δψT est le vecteur des erreurs d’attitude en repère TGL. Notons g = Rb2nδωm la projection des erreurs des gyromètres dans le repère TGL. On introduit également δρ et δωie les erreurs d’estimation de vitesse angulaire de ρ et ωie. L’équation d’évolution du vecteur des erreurs d’attitude est alors Φ˙ = −(ρ + ωie) ∧ Φ − g + δρ + δωie (3.26) 3.3.3 Équation d’évolution de l’erreur de vitesse Soit f = Rb2nγm et a = Rb2nδγm les projections respectives de la mesure accélérométrique et de l’erreur correspondante dans le TGL. L’équation d’évolution du vecteur des erreurs de vitesse projetée dans le TGL est δv˙ = −Φ ∧ f + a + δg − (ρ + 2ωie) ∧ δv − (δρ + 2δωie) ∧ v (3.27) où δg ≈  0 0 − 2g a δzT est le vecteur d’erreur de la pesanteur qui a une contribution nulle dans le plan horizontal. De plus, la composante sur l’axe vertical du TGL, gD, a une erreur δgD qui s’exprime comme δgD = ∂g ∂z δz + ∂g Rφ∂λRφδλ Une analyse numérique montre que le terme ∂g Rφ∂λRφδλ peut être négligé, ce qui réduit δgD à ∂g ∂z δz. 3.3.4 Équation d’évolution de l’erreur de position L’équation d’évolution de l’erreur de position fait intervenir un terme du à l’erreur d’estimation de la vitesse et un terme du à une mauvaise estimation du TGL. δx˙ = δv − ρ ∧ δx + δΘ ∧ v (3.28)67 3.3.5 Modélisation angle-psi pour les équation d’erreurs de navigation Une analyse des équations (3.26), (3.27) et (3.28) montre que les variables δρ, δωie et δΘ doivent être exprimées en fonctions des paramètres cinématiques δx, δv et δΦ afin d’être intégrées, ce qui est possible, mais résulte en un système d’équations différentielles couplées peu commode à manipuler. La modélisation dite angle-psi permet d’obtenir un ensemble d’équations plus simple d’utilisation en introduisant les variables suivantes : δv 0 = δv + δΘ ∧ v Ψ = Φ − δΘ (3.29) On aboutit alors au système d’équations suivant [28] :    Ψ˙ = −(ρ + ωie) ∧ Ψ − g δ ˙v 0 = −Ψ ∧ f + a + δg 0 − (ρ + 2ωie) ∧ δv 0 δx˙ = δv 0 − ρ ∧ δx (3.30) 3.3.5.1 Modélisation des erreurs des capteurs inertiels L’erreur accélérométrique δγm est modélisée de la manière suivante : δγm = ba + Kaγm + ξa (3.31) où − ba est un terme de biais accélérométrique, − Ka est un facteur d’échelle, − ξa est un processus de Wiener [38]. L’erreur gyrométrique est modélisée de la même façon : δωm = bg + Kgωm + ξg (3.32) − bg est un terme de biais gyrométrique, − Kg est un facteur d’échelle propre au gyromètre, − ξg est un processus de Wiener. Les biais ba et bg sont communément modélisés par un processus de Markov du premier ordre noté b : ˙b = −1 τ b + ν (3.33) où − τ est la période de corrélation du processus b, − ν est un processus de Wiener.68 3. Systèmes de navigation inertielle et recalage radio-altimétrique Figure 3.2 – Mesure altimétrique sur une surface plane : évolution de la puissance P reçue par le radar 3.4 Radio-altimétrie et architecture de la navigation hybridée 3.4.1 Généralités sur les radio-altimètres Un radio-altimètre permet de mesurer la distance entre un mobile donné et le sol, appelée hauteur-sol. L’altimètre émet une onde électromagnétique et reçoit le signal renvoyé par les cibles situées sur le trajet de l’onde (surfaces terrestres) avec un décalage temporel. La distance h entre l’objet en vol (porteur de l’instrument) et le sol est déduite du temps de propagation aller-retour (t0) d’une onde électromagnétique (de célérité c) entre l’objet et la surface du sol par la relation : h = ct0 2 (3.34) Il existe deux classes de fonctionnement pour les radio-altimètres, qui se distinguent par la largeur de la zone éclairée au sol par son faisceau d’antenne : − les altimètres pour lesquels la surface éclairée au sol est limitée par l’ouverture θ0 du faisceau de l’antenne (beam-limiter altimeters), − les altimètres dont la durée d’impulsion courte limite la surface de la zone de sol reçue dans une cellule de résolution (pulse-limited altimeter). La figure 3.2 représente l’évolution d’une impulsion électro-magnétique et la courbe d’évolution de la puissance reçue par le radar, pour une mesure altimétrique effectuée sur une surface69 900 1000 1100 1200 1300 1400 1500 1600 1700 m hauteur−sol réelle mesure issue d’un modèle RA Figure 3.3 – Comparaison de la hauteur-sol réelle et d’une mesure simulée à partir d’un modèle d’antenne RA réaliste. Le profil considéré est une portion de terrain de 20 km. plane (un océan,. . .) dans le cas d’un radio-altimètre à durée d’impulsion courte. La surface éclairée par l’onde est l’intersection de la coquille sphérique, qui représente l’impulsion radar, par la surface observée. L’impulsion émise ayant une durée finie, cette surface passe d’un point à un disque, puis à un anneau de surface constante. La puissance renvoyée par la surface est plus faible à des angles d’incidences plus grands, d’où la décroissance observée de la puissance reçue. Le radio-altimètre a tendance à indiquer une distance qui diffère de la hauteur-sol d’autant plus que le lobe de l’antenne radar est large, même s’il est orienté verticalement vers le sol. Une illustration de cette observation est donnée par la figure 3.3 où est représentée la hauteur-sol théorique le long d’une trajectoire donnée et la mesure issue d’un modèle radio-altimétrique réaliste. La distance indiquée est plutôt la distance la plus courte entre le mobile et le relief ce qui introduit un biais. Idéalement ceci doit être pris en compte dans le développement de filtres de recalage réalistes en modifiant le modèle d’observation décrivant la mesure altimétrique. Cependant dans cette thèse, la modélisation retenue ne tient pas compte de cette erreur systématique. 3.4.2 Principe de la navigation hybridée La navigation hybridée consiste à coupler un capteur indépendant des senseurs inertiels avec la centrale inertielle afin d’augmenter la précision et la fiabilité de la solution de navigation. Une architecture d’hybridation permet donc d’effectuer un recalage de la navigation inertielle. Parmi les capteurs couramment utilisées pour le recalage d’aéronef, on peut citer : − le GPS (Global Positioning System), système de positionnement par satellites fondé sur la triangulation. Le système GPS est géré par les autorités américaines et assure une précision dans le pire des cas de 7,8 mètres à 95% de certitude (GPS civil) [1]. − le radar à synthèse d’ouverture (SAR, Synthetic Aperture Radar) qui permet d’obtenir une cartographie de la zone de relief survolé et d’effectuer le recalage par comparaison avec une carte de référence embarquée [81]. − le radio-altimètre, présenté précédemment, offre la possibilité de se recaler en comparant les mesures successives de hauteur-sol avec un Modèle Numérique de Terrain (MNT)70 3. Systèmes de navigation inertielle et recalage radio-altimétrique embarqué. Les avantages principaux du radio-altimètre par rapport au GPS sont essentiellement son fonctionnement autonome et la difficulté de brouillage des signaux issue de son antenne-radar. Capteurs inertiels Navigation inertielle Filtre Radio-altimètre Σ Navigation recalée état inertiel + erreurs inertielles − Figure 3.4 – Architecture de navigation hybride 3.5 Approches algorithmiques pour le recalage altimétrique 3.5.1 Recalage altimétrique par bloc Le recalage altimétrique par bloc consiste à acquérir une suite de mesures altimétriques afin d’inférer la position courante par comparaison de profils d’altitude. Parmi les approches de recalage par bloc, on peut citer le procédé TERCOM (Terrain Contour Matching) fondé sur une mesure de corrélation entre un vecteur de mesures de hauteurs-sol et un profil de terrain de même longueur. Si h = (h1, . . . , hp) est une suite de p mesures RA consécutives et H désigne la matrice représentant le modèle numérique de terrain, une mesure de corrélation possible est [6] : ck,m = 1 p X p n=1 |hn − Hm,n+k| (3.35)71 La position estimée est celle maximisant la corrélation ck,m : ( ˆk, mˆ ) = arg max (k,m) ck,m (3.36) Le système TERCOM est applicable aux véhicules dont les manoeuvres sont rares et limitées ce qui contraint son utilisation. De plus, il suppose une connaissance précise des vitesses de l’aéronef. 3.5.2 Recalage par banc de filtres de Kalman Le système SITAN (Sandia Inertial Terrain Aided Navigation), développé à la fin des années 70 par Sandia Laboratories, est le premier à adopter une approche récursive au problème de navigation par corrélation de terrain, contrairement à TERCOM qui procède par "batch". La version d’origine utilise un filtre de Kalman étendu modifié, dans lequel est introduit une linéarisation stochastique adaptative censée atténuer les effets des fortes non-linéarités du relief [57]. Par la suite, des modifications ont été apportées à l’algorithme afin d’éviter les divergences du filtre : dans la version de Hollowel et al. [56], un banc de filtre de Kalman remplace l’unique EKF. L’idée est que les filtres initialisés au voisinage de la position vraie ont moins de chance de diverger. 3.5.3 Du Point-Mass Filter aux filtres particulaires Le Point-Mass Filter (PMF) [11, 3], est un filtre bayésien capable de traiter les ambiguïtés de terrain inévitable en début de recalage lorsque l’incertitude est grande. A notre connaissance, la première application du PMF au recalage altimétrique date des travaux de Bergman sur l’estimation bayésienne pour la navigation et le pistage [7]. Le PMF suppose que l’espace d’état soit discrétisé selon une grille déterministe x (1), . . . , x(N) . Les équations du filtrage linéaire sont alors exprimées sur cette grille en introduisant des poids ω (1) k , . . . , ω (N) k qui représente les probabilités p(xk = x (i) |y0:k), i = 1, . . . , N . En pratique, le PMF peut s’implémenter aisément pour des vecteurs de petite dimension, c’est-à-dire inférieure ou égale à 3 : au delà, le maillage régulier de l’espace devient inefficace. Ainsi, dans [7], les auteurs s’intéressent au recalage de la position horizontale, ayant supposé que l’altitude est fournie par un baro-altimètre. En outre, le calcul récursif des poids devient extrêmement couteux puisqu’il revient à une convolution discrète en dimension d [51]. Concrètement cela signifie que le PMF est envisageable pour le recalage de véhicules dont les trois composantes de vitesse sont connues avec une précision suffisante. Une autre problématique du PMF est celle de l’adaptation de la résolution du maillage par rapport au support de la densité a posteriori p(xk|y0:k) : en début de recalage, l’incertitude sur x est grande donc une maille de faible résolution suffit tandis que dès que p(xk|y0:k) se résume à quelques modes, il vaut mieux augmenter la résolution de la maille. Bergman a proposé dans ses travaux de thèse [6] la première étude du filtre particulaire standard (SIR) pour le recalage radio-altimétrique. Plus récemment, on peut citer les travaux de : − K.Dahia [28] qui a développé et appliqué le KPKF (Kernel Particle Kalman Filter) pré- senté au chapitre 2 au recalage d’aéronefs. Le KPKF combine la philosophie des mé- thodes particulaires classiques avec le filtre de Kalman, mais contrairement au RBPF72 3. Systèmes de navigation inertielle et recalage radio-altimétrique (Rao-Blackwellized Particle Filter), il ne suppose pas de structure partiellement linéaire de l’équation de mesure. L’avantage algorithmique du KPKF est sa robustesse aux grandes incertitudes initales. − M. Flament [41] a proposé une étude comparative des filtres particulaires gaussiens avec le filtre de Kalman étendu et le Point Mass Filter. − La thèse de Nordlund [93] propose une étude des performances du RBPF pour le recalage altimétrique. 3.5.4 Recalage altimétrique continu Le recalage altimétrique continu (RAC) est une technique de recalage utilisée lorsque l’erreur de position initiale a été réduite par un algorithme de type TERCOM, SITAN ou particulaire. Le RAC s’appuie sur un filtre de Kalman étendu pour estimer les variables d’état du véhicule : les paramètres cinématiques (3 erreurs de position , 3 erreurs de vitesse et 3 erreurs d’angles d’attitude) et éventuellement les défauts des capteurs (bias gyrométriques et accélérométriques).73 Conclusion du Chapitre 3 Dans ce chapitre, la problématique de navigation inertielle est introduite. Après avoir rappelé les principales équations régissant l’évolution des paramètres cinématiques, nous avons exposé les équations d’évolution des erreurs de la navigation inertielle. La navigation hybridée permet de fusionner les informations fournies par la centrale inertielle avec le filtre de recalage afin de fournir un estimation recalée des variables d’états du véhicule. Le chapitre suivant est consacré au développement d’un nouveau filtre particulaire de recalage permettant de lutter contre les difficultés soulevées par les ambiguïtés de terrain.74 3. Systèmes de navigation inertielle et recalage radio-altimétrique75 Chapitre 4 Développement de filtres particulaires adaptés aux multimodalités Introduction Nous avons vu dans le chapitre 2 que l’une des limitations du filtre particulaire concernait la gestion des lois conditionnelles multimodales. En effet, la phase de ré-échantillonnage peut provoquer la perte de l’un des modes de la loi conditionnelle (voir 2.5). Dans l’application du recalage par mesures altimétriques, la présence de plusieurs modes dans la loi a posteriori pk|k = p(xk|y0:k) est due à l’ambiguïté du terrain survolé. La perte du mode correspondant à la vraie position provoquant quasi-systématiquement la divergence du filtre particulaire, il est souhaitable de mettre en oeuvre un algorithme permettant de limiter cette occurrence. Dans cette thèse, nous proposons d’adopter la représentation sous-forme d’un modèle de mélange de lois conditionnelles, c’est-à-dire que le filtre pk|k est formulé sous la forme suivante : pk|k = X Mk j=1 αj,kpj (xk|y0:k) (4.1) Cette approche a été introduite par Vermaak et. al dans leurs travaux sur le suivi de joueurs de football dans une séquence vidéo [118]. S’inspirant de [118], Okuma a utilisé cette modélisation dans le cadre du pistage vidéo de joueurs de hockey [95]. La particularité de [95] est de détecter les joueurs par un classifieur à partir de données d’apprentissage composées de joueurs de hockey. Après la phase de détection, une composante pj (xk|y0:k) est affectée à chaque joueur détecté. Cela permet de gérer l’apparition ou la disparition de joueurs d’une image à l’autre. Dans l’approche de Vermaak[118], un mode peut correspondre à plusieurs joueurs proches. Pour regrouper les particules correspondant au même mode, Vermaak et ses co-auteurs utilisent l’algorithme de clustering k-means [80], qui nécessite une connaissance a priori du nombre de modes. Nous reprenons dans cette thèse la formulation (4.1) afin de conserver au mieux les modes de la loi a posteriori. Les contributions du chapitre sont les suivantes : − l’utilisation de l’algorithme mean-shift [19] pour la détermination automatique des modes et des clusters de particules,76 4. Développement de filtres particulaires adaptés aux multimodalités − la gestion automatique du nuage de particules par suppression des clusters peu vraisemblable et ré-allocation des particules supprimées aux clusters restants, − l’introduction d’une méthode de régularisation locale, − l’échantillonnage de particules selon une série de densités d’importances centrées sur les modes de la densité a posteriori 4.1 Détermination des modes de la loi a posteriori par clustering Afin d’utiliser la modélisation (4.1), il nous faut identifier à chaque instant l’ensemble des particules associé à la même composante pj de manière à écrire l’approximation suivante : pk|k ≈ pˆk|k = X Mk j=1 αj,k X i∈Ij,k ω i k δx i k (4.2) C’est-à-dire que pj ≈ P i∈Ij,k ω i k δx i k où, idéalement, chaque pj est unimodale. Le regroupement des particules rattachées au même mode se fait par une méthode de clustering. De manière générale, le clustering consiste à partitionner un ensemble de points X = {x i , i = 1, . . . , N} en M sous-ensembles C1, C2, . . . , CM, ou clusters, selon un critère de similarité de sorte que les éléments appartenant au même cluster soient plus semblables (en un certain sens) que les éléments d’autres clusters. Il existe une grande variété de types d’algorithmes de clustering (mesure de distance, décomposition hiérarchique, réseau de neurones,. . .) sur lesquels nous ne nous attarderons pas : le lecteur intéressé pourra par exemple consulter un état de l’art détaillé dans [60] et [124]. A titre d’exemple, considérons l’algorithme k-means [80]. La mesure de similarité entre deux points x i et x j (i 6= j) de R 2 est la distance euclidienne kx i −x jk2. Les clusters sont alors déterminées en minimisant la somme des écarts quadratiques intra-classes : arg min C1,...,CM X M i=1 X xj∈Ci x j − µ(Ci) 2 où µ(Ci) est la moyenne empirique des points appartenant à Ci et les Ci forment une partition de X . L’utilisation de l’algorithme k-means n’est pas recommandée dans l’application de recalage car nous ignorons le nombre Mk de modes de pˆk|k. Par ailleurs, cet algorithme définit des clusters convexes, bien qu’a priori les clusters recherchés aient une forme quelconque. En revanche, l’algorithme mean-shift, basé sur l’estimation de densité par noyau, permet de déterminer les clusters de points correspondant au même mode, sans connaître Mk. C’est cette méthode que nous retenons afin d’identifier les ensembles Ij,k, j = 1, . . . , M ci-dessus. A chaque ensemble Ij,k sera associé le cluster Cj,k constitué de l’ensemble des particules d’indices appartenant à Ij,k, i.e. : Cj,k = n x i k , i ∈ Ij,ko (4.3)77 Dans toute la suite, on notera ck la fonction qui associe l’indice i d’une particule à l’indice j du cluster auquel il appartient, k désignant la variable de temps courant. Ainsi, ∀ i ∈ J0, NK, ck(i) = j ⇔ x i k ∈ Cj,k (4.4) Enfin on désignera par Xk l’ensemble des particules à l’instant k. Xk = n x i k , i = 1, · · · , No (4.5) 4.1.1 L’algorithme mean-shift clustering L’algorithme mean-shift est une méthode populaire de clustering utilisée notamment en segmentation d’image, pistage vidéo ou débruitage d’image. Les fondements de cette méthode se trouvent dans les travaux de Fukunaga et Hostetler [45] dans le cadre de l’estimation du gradient d’une fonction. Ils ont été ensuite repris dans [19] puis par Cominiciu et Meer [21] pour la segmentation d’image. La popularité du mean-shift est due au fait qu’il ne nécessite pas de connaître le nombre de clusters a priori. De plus, il permet de trouver des clusters de forme quelconque. Le mean-shift s’appuie sur l’identification des modes de la densité lissée d’un nuage de point. La localisation de ces modes est effectuée par une recherche itérative des zéros du gradient de la densité lissée. 4.1.1.1 Estimation de densité par noyau Etant donné un ensemble de N points x i , i = 1, . . . , N, dans R d , on rappelle que l’estimateur de densité par noyaux est défini par : ˆf(x) = 1 N X N i=1 KH(x − x i ) (4.6) où KH(x) = det(H) 1/2K(H −1/2x) et H est une matrice d×d symétrique définie positive, K une fonction (noyau) à support compact telle que : Z K(x) dx = 1 Z xK(x) dx = 0 Z kxk 2 K(x) dx = cKId lim kxk→+∞ kxk dK(x) = 0 (4.7) Une classe importante de noyaux est celle des noyaux radialement symétriques [21] i.e. tels que : K(x) = ck,dk(kxk 2 ) (4.8) où k est une fonction définie sur R+ et ck,d > 0 est telle que l’intégrale de K sur R d vaut 1. Dans toute la suite, on considère que K est radialement symétrique. En pratique, la matrice H est choisie sous la forme H = h 2 Id, où h > 0 est le facteur de lissage78 4. Développement de filtres particulaires adaptés aux multimodalités global, paramètre que nous avons introduit dans la section 2.3 dans le cadre du filtre particulaire régularisé. L’estimateur de densité à noyaux devient donc : ˆf(x) = 1 Nhd X N i=1 K x − x i h ! (4.9) Notons qu’il est également possible d’avoir un estimateur à noyau où le facteur de lissage dépend des données x i [9] : on parle alors de facteur de lissage local. C’est une stratégie préférable lorsque le nuage de points comporte plusieurs clusters de tailles différentes. Dans ce cas, l’expression de l’estimateur de densité est : ˆf(x) = X N i=1 1 Nhd i K x − x i hi ! (4.10) avec hi = h(x i ). L’un des intérêts d’une fenêtre dépendant des données est que le biais de l’estimateur est inférieur à celui de l’estimateur à fenêtre constante [22] pour un certain choix des hi = h ∗ i . Cependant, la détermination des h ∗ i dans le cas multi-dimensionnel est un problème non encore résolu [12]. Rappelons que la qualité de l’estimateur ˆf est classiquement mesurée par l’erreur quadratique intégrée moyenne, ou MISE (Mean Integrated Squared Error) définie par : MISE = E Z  f(x) − ˆf(x) 2 dx  (4.11) Souvent, seule une approximation asymptotique, dénomée AMISE (Asymptotic Mean Integrated Squared Error), est disponible. Lorsque N tend vers +∞ et h tend vers 0 moins vite que 1 N , l’AMISE est minimisée par le noyau d’Epanechnikov (cf. eq. (2.27)) [120, p.104]. La première étape de l’algorithme mean-shift consiste à déterminer les modes de la densité sous-jacente f. Pour cela, on recherche les zéros du gradient ∇f à l’aide de l’estimateur ˆf(x) défini par (4.9). 4.1.1.2 Estimation du gradient de la densité L’estimateur donnée par l’equation (4.9) peut être réécrit comme suit : ˆf = ck,d Nhd X N i=1 k   x − x i h 2   (4.12) Un estimateur du gradient de la densité f est obtenu en calculant le gradient de ˆf : ∇ˆ f(x) = ∇ ˆf(x) = 2ck,d Nhd+2 X N i=1  x − x i  k 0   x − x i h 2   (4.13) En posant g(x) = −k 0 (x), on peut réécrire (4.13) sous la forme :79 ∇ˆ f(x) = ∇ ˆf(x) = 2ck,d Nhd+2 X N i=1  x i − x  g   x − x i h 2   (4.14) = 2ck,d Nhd+2    X N i=1 g   x − x i h 2         PN i=1 x i g  x−x i h 2  PN i=1 g  x−xi h 2  − x    (4.15) En pratique pour les noyaux usuels (Epanechnikov, gaussien), PN i=1 g  x−x i h 2  > 0. Le terme 2ck,d Nhd+2 PN i=1 g  x−x i h 2  est proportionnel à l’estimateur de densité en x calculée avec un noyau G - appelé kernel shadow - tel que G(x) = cg,dg(kxk 2 ) où cg,d est une constante de normalisation : ˆfg = cg,d Nhd X N i=1 g   x − x i h 2   (4.16) Le deuxième terme est appelé vecteur mean-shift : mh,G(x) = PN i=1 x i g  x−x i h 2  PN i=1 g  x−xi h 2  − x (4.17) En combinant les expressions (4.15) et (4.16), le vecteur mean-shift s’exprime comme mh,G(x) = 1 2 h 2 cg,d ck,d ∇ ˆfh,K(x) ˆfh,G(x) (4.18) Lorsque l’estimateur à noyau est défini grâce à une matrice de lissage H et que le noyau K est gaussien, le vecteur mean-shift s’écrit sous la forme mH,G(x) = H ∇ ˆfh,K(x) ˆfh,G(x) (4.19) L’équation (4.19) suggère que le vecteur mean-shift pointe vers la direction de plus fort gradient de densité et peut donc être utilisé dans un schéma de recherche des modes de la densité f. En particulier, le gradient ∇ˆ f(x) va s’annuler lorsque ce vecteur sera nul. Sous certaines conditions sur le noyau K, la suite {y i j , j ≥ 1} définie par : ( y i 1 = x i y i j+1 = y i j + mh,G(y i j ) si j ≥ 1 (4.20) converge vers une limite y i ∞ correspondant à un maximum local de la densité ˆf [21]. Cette suite est définie pour chaque donnée x i , i = 1, . . . , N et initialisée par x i . Dans la suite on80 4. Développement de filtres particulaires adaptés aux multimodalités appellera procédure mean-shift le calcul de cette suite pour 1 ≤ i ≤ N. En pratique, lorsque le facteur de lissage h est adéquatement choisi, la procédure mean-shift peut converger en quelques itérations (typiquement entre 5 et 20) [43]. La recherche de la limite peut alors se faire en calculant les termes successifs de la suite {y i j , j ≥ 1} jusqu’à ce que ky i j+1 − y i jk < εMS où ε MS est un seuil de convergence défini par l’utilisateur. Lorsque K est le noyau d’Epanechnikov, G correspond au noyau uniforme et le nombre d’itérations nécessaires pour la convergence de la suite est fini [21]. On remarque que le coeur d’une procédure mean-shift est le calcul du vecteur mh,G(x) pour un x donné. Ceci nécessite d’évaluer les valeurs g( x−x i h 2 ) pour tout i = 1, . . . , N. Or, on peut considérer que pour les noyaux K vérifiant les hypothèses de l’équation (4.7), g(x) ≈ 0 lorsque kxk ≥ h (pour les noyaux uniformes ou triangulaires, l’approximation devient une vraie égalité). Ceci entraîne que g( x−x i h 2 ) ≈ 0 lorsque kx − x ik ≥ h. L’expression du vecteur mean-shift (4.17) peut donc être approchée par : mh,G(x) ≈ X xi∈Bh(x) x i g   x − x i h 2   X xi∈Bh(x) g   x − x i h 2   − x (4.21) où Bh(x) désigne la boule de rayon h centrée en x. En particulier, si K est le noyau d’Epanechnikov, g(x) = 1kxk≤h et mh,G(x) ≈ 1 nx X xi∈Bh(x) x i − x (4.22) où nx désigne le nombre d’éléments x i de X qui sont à une distance inférieure ou égale à h. La figure 4.1 illustre le calcul du vecteur mean-shift dans le plan, avec un noyau gaussien pour une valeur de h = 1.8. Les données en rouge représentent les points qui sont dans le cercle de rayon h centré en yj , le point où s’effectue le calcul de vecteur mean-shift. Le vecteur mean-shift peut être également généralisé à un échantillon {x i , ωi} N i=1 pondéré avec PN i=1 ω i = 1. Dans ce cas, ˆf(x) = 1 h d X N i=1 ω iK x − x i h ! (4.23) et mh,G(x) = PN i=1 ω ix i g  x−x i h 2  PN i=1 ωig  x−xi h 2  − x (4.24) C’est cette forme qui sera utilisée pour l’identification des clusters.81 Figure 4.1 – Calcul du vecteur mean shift 4.1.1.3 Détermination de clusters par procédures mean-shift La section précédente a montré que l’on pouvait déterminer les modes de la densité lissée d’un nuage de points en identifiant les points où le vecteur mean-shift s’annule. Trouver les clusters correspondants consiste essentiellement à regrouper les points dont les procédures mean-shift ont convergé vers le même mode ou vers deux modes très proches. En principe, cela suppose de calculer les limites y i ∞ de (4.20) pour chaque x i , i = 1, . . . , N. Cependant, il est possible de réduire le nombre de procédures mean-shift en définissant un pavage de l’ensemble des données X = {x i , i = 1, . . . , N}. Un pavage des données est un sous-ensemble X˜ = {x ij , j = 1, . . . , N˜} de X tel que : 1. N < N ˜ 2. Deux points distincts x ij et x ik (j 6= k) sont à une distance supérieure à la taille du facteur de lissage h. 3. La réunion des boules de rayon h centrées en les points de X˜ contient X . En utilisant ce schéma, la détermination des modes de la densité lissée du nuage de points se fait en effectuant N˜ procédures mean-shift au lieu de N ce qui réduit la complexité algorithmique. Une fois ces modes trouvés, il s’agit d’associer chaque échantillon x i à un cluster correspondant à l’un des modes. Pour cela, on introduit un paramètre Rm, appelé rayon de fusion, qui a une influence sur le degré de séparation des clusters et le nombre de clusters identifiés. Si deux procédures mean-shift initialisées à partir des points x ij et x ik de X˜ convergent vers deux modes y ij∞ et y ik∞ tels que ky ij∞ − y ik∞k ≤ Rm, les deux modes sont fusionnées en un seul (par exemple en prenant leur moyenne) et les deux points x ij et x ik sont associés au même cluster. Dans le cas contraire, ils définissent deux clusters distincts. Dans la figure 4.2, les procédures mean-shift initialisées à partir de deux points distincts notés P1 convergent vers le même mode Pn ; ils sont donc associés au même cluster.82 4. Développement de filtres particulaires adaptés aux multimodalités y1 1 y1 2 y2 1 y∞ 1 Figure 4.2 – Procédures mean-shift : les cercles matérialisent les positions successives du noyau. y 1 1 et y 2 1 désignent les points initiaux de chaque procédure mean-shift. y 1 ∞ est le mode vers lequel converge les 2 procédures. Enfin, si un échantillon x i n’appartient pas à l’ensemble X˜, on lui associe le cluster majoritaire de ses k-plus proches voisins issus de X˜. 4.1.2 Sélection automatique du facteur de lissage du mean-shift clustering Contrairement à la méthode du k-means [80], l’algorithme mean-shift ne requiert pas la connaissance a priori du nombre de clusters recherchés. Cependant, il nécessite de spécifier h la taille du facteur de lissage, ce qui a une influence directe sur le nombres de clusters trouvés. Par ailleurs, il faut également spécifier le paramètre de rayon de fusion Rm, qui permet de fusionner deux clusters dont les modes correspondants serait à une distance inférieure à Rm. Il existent plusieurs règles, heuristiques ou non, qui permettent d’obtenir une valeur de h appropriée. Nous rappelons ci-après quelques techniques génériques. 4.1.2.1 Sélection d’un facteur de lissage global fondée sur un critère statistique Les critères de sélection fondés sur l’analyse statistique des propriétés de l’estimateur à noyau (4.6) visent à minimiser une mesure de l’erreur entre f(x) et ˆf(x) telle que l’erreur quadratique moyenne (MSE), l’erreur quadratique moyenne intégrée (MISE) ou l’erreur quadratique moyenne intégrée asymptotique (AMISE), pour un x ∈ R d donné. Par exemple, l’erreur quadratique83 moyenne de l’estimateur ˆf(x) s’exprime comme la somme des biais de la variance de ˆf(x). MSE(x) = E( ˆf(x) − f(x))2 = (b(x))2 + v(x) (4.25) où b(x) = E( ˆf(x)) − f(x) et v(x) sont respectivement le biais et la variance de l’estimateur ˆf(x). Les expressions approchées de b(x) et v(x) sont [120] b(x) ≈ 1 2 h 2µ2(K)∆f(x) (4.26) v(x) ≈ N −1h −dR(K)f(x) (4.27) avec µ2(K) = R z 2 1K(z)dz et R(K) = R K(z)dz, z1 étant la première composante du vecteur z. Au vu de (4.26) et (4.27), le biais augmente lorsque h augmente tandis que la variance diminue avec l’accroissement de h. Dans le cadre d’un estimateur à noyau à fenêtre constante, le choix d’une valeur de h optimale implique un compromis entre le biais b(x) et la variance v(x) pour tout x de R d . Cela revient à la minimisation de l’erreur quadratique moyenne intégrée MISE = E Z (f(x) − ˆf(x))2 dx. Malheureusement, la valeur optimale hMISE est peu exploitable car elle dépend du Laplacien de la densité inconnue f [112]. Néanmoins, il existe des techniques qui permettent d’approcher hMISE décrites dans la section 2.3. 4.1.2.2 Sélection d’un facteur de lissage global basée sur un indice de validité des clusters Cette approche consiste à trouver le paramètre h qui maximise une fonction objectif repré- sentant la qualité du clustering. De manière générale, cette fonction évalue le caractère compact des clusters délimités et le degré de séparation de chaque cluster. Une possibilité est d’évaluer l’isolement et la connectivité des clusters pour plusieurs valeurs de h et de choisir la valeur de h qui optimise les deux critères [99]. L’isolement se réfère au fait que pour un point x i donné appartenant au cluster d’indice c(i), ses plus proches voisins appartiennent au même cluster. Cela correspond au fait qu’idéalement, un algorithme de clustering satisfaisant isole chaque cluster du reste des données. Une mesure d’isolement d’un cluster est la moyenne de la norme des k plus proches voisins des points du cluster. La norme νk(x) des k plus proches voisins d’un point x est définie comme la fraction des k plus proches voisins appartenant au même cluster que x. Autrement dit, N étant le nombre total de points, l’isolement Isok se mesure comme : Isok = 1 N X N i=1 νk(x i ) Cette mesure seule ne suffit cependant pas à caractériser la qualité de clustering car elle ne peut détecter des clusters fusionnés à tort. En effet, dans le cas extrême où l’on associerait indûment tous les points au même cluster, la mesure d’isolement est optimale. L’utilisation d’une mesure de connectivité permet d’éviter ceci en pénalisant les partitions qui regroupent des points appartenant en réalité à des clusters distincts. La connectivité d’un cluster signifie que pour n’importe quelle paire de point (x i , xj ), i 6= j, il existe un chemin entre x i et x j sur lequel la densité de points84 4. Développement de filtres particulaires adaptés aux multimodalités reste élevée. Pour une estimation d’un indice de connectivité Conk du cluster, on pourra se référer à l’article de Pauwels et al. [99]. A partir des indices Isok et Conk il est possible de déduire, pour une partition donnée, un indice composite Z prenant en compte les deux indicateurs. La meilleure partition est alors celle qui maximise ce critère. Afin de déterminer une valeur optimale de h, on peut donc procéder de la manière suivante : 1. Définir b facteurs de lissage h (1) , h (2) ,..., h (b) 2. Pour j = 1, . . . , b, déterminer la partition C (j) correspondant au facteur h (j) 3. Pour chaque partition C (j) , évaluer l’indice composite d’isolement et de connectivité Z (j) (cf. [99]) 4. La valeur optimale h (j) est celle qui maximise Z (j) , j = 1, . . . , b 4.1.2.3 Sélection d’un facteur de lissage local basée sur la stabilité de la partition Une méthode de recherche systématique d’une fenêtre de lissage consiste à démarrer d’une petite valeur h = hmin et à effectuer plusieurs instances de clustering en augmentant peu à peu la valeur de h [44]. Typiquement, pour h = hmin le nombre de clusters est élevé puis baisse progressivement pour ensuite se stabiliser sur un intervalle [ha, hb], avant de baisser à nouveau jusqu’à atteindre la valeur 1. On choisit alors la valeur moyenne h = ha+hb 2 . Cette méthode est malheureusement gourmande car elle nécessite d’appliquer l’algorithme de clustering plusieurs fois. Intuitivement, la valeur de h est reliée à l’échelle des clusters du nuage de points. Comaniciu propose d’utiliser une approche semi-paramétrique pour sélectionner un facteur de lissage local hi . Il se base sur le résultat suivant, plus général puisqu’il suppose l’utilisation d’une matrice de lissage H. Ce résultat est valide lorsque N est grand. Théorème 3 (Comaniciu [20]). Supposons que la vraie densité f soit une gaussienne de moyenne m et de matrice de covariance Σ = σ 2 I. Soit mh,G(x) le vecteur mean-shift calculé selon (4.19) où G est un noyau gaussien. Alors le vecteur kh −1/2 plim mh,G(x)k atteint son maximum lorsque h = σ, la notation plim signifiant la limite en probabilité. Lorsque la distribution f comporte M modes, Comaniciu émet l’hypothèse qu’au voisinage de chaque mode, la distribution est approximativement gaussienne. Cela permet de déduire une série de matrices de covariance locales Σ (1) , Σ (2) , . . . , Σ (M) . Afin d’en déduire M facteurs de lissage optimaux hi , Comaniciu observe que si les M clusters peuvent effectivement être paramétrés par un ensemble de M paires moyenne-covariance (µ (i) , Σ (i) ), i = 1, · · · , M, alors la meilleure partition est celle pour laquelle l’estimation des (µ (i) , Σ (i) ) est la plus stable, c’est-à-dire celle pour laquelle une petite variation des facteurs de lissage a le moins d’effet sur l’estimation des paramètres des lois normales [20]. L’algorithme de sélection d’un facteur de lissage locale de Comaniciu se déroule en deux étapes. On suppose que l’on dispose d’une série de b facteurs de lissage h (1) , h (2) ,..., h (b) définis à l’avance, sur une échelle logarithmique par exemple. 1. Pour chaque facteur h (j) , j = 1, . . . , b85 (a) Déterminer une partition de taille Mj représentée par un ensemble de Mj clusters. Noter cj (i) = u si x i appartenant au cluster d’indice u, obtenu avec le facteur de lissage h (j) . (b) Pour le u-ème mode de la partition (1 ≤ u ≤ Mj ), estimer la moyenne µ (u,j) et la covariance Σ (u,j) de l’approximation gaussienne correspondant à l’ensemble des particules appartenant au cluster d’indice u. (c) Associer à chaque donnée x i appartenant au cluster d’indice u, la moyenne µ (u,j) et la covariance Σ (u,j) . 2. Pour chaque donnée x i , identifier l’indice u du cluster qui la contient, ceci pour chaque facteur h (j) , i.e trouver u tel que cj (i) = u, j = 1, . . . , b (a) Soit G1, G2,. . .,Gb les lois des gaussiennes de paramètres (µ (u,j) , Σ (u,j) ), j = 1, . . . , b. (b) Déterminer la valeur h (j0) , j0 = 1, . . . , b pour laquelle l’estimation de (µ (u,j) , Σ (u,j) ) est la plus stable. Pour cela, minimiser la divergence de Jensen-Shannon entre Gj−1, Gj et Gj+1 pour r = 2, · · · , b − 1 (voir ci-après). (c) Associer à x i le facteur local hi = h (j0) La divergence de Jensen-Shannon JS(ϕ1, · · · , ϕr) entre r distributions de densités ϕ1, · · · , ϕr est une mesure de dissimilarité entre ces lois. Elle permet notamment de traiter des problèmes de classification multi-classes. Etant donné r coefficients positifs π1, · · · , πr, de somme 1, JS(ϕ1, · · · , ϕr) est définie par [75] : JS(ϕ1, · · · , ϕr) = H( Xr i=1 πiϕi) − Xr i=1 πiH(ϕi) où H désigne la fonction d’entropie de Shannon définie pour toute densité de probabilité q par H(q) = Z q(x) log q(x)dx (4.28) Lorsque les densités ϕ1, ϕ2, · · · , ϕr sont gaussiennes, de moyennes et covariances respectives µj et Σj , j = 1, · · · , r, la divergence de Jensen-Shannon se calcule selon : JS(ϕ1, · · · , ϕr) = 1 2 log | Pr j=1 Σj | ( Qr j=1 |Σj |) 1/r + 1 2 Xr j=1 (µj − µ) T   Xr j=1 Σj   −1 (µj − µ) où µ = 1 r Pr j=1 µj . La méthode décrite de sélection ci-dessus permet d’obtenir une série de facteurs de lissage locaux hi = h(x i ) permettant d’effectuer un clustering adapté à l’échelle locale du nuage de particule. Cependant, par souci de simplicité, nous avons cherché une méthode qui effectue le clustering des particules grâce à un unique facteur d’échelle global. Une autre limitation des techniques de sélection de facteur de lissage h basées sur la stabilité de la partition est qu’elles requièrent d’appliquer plusieurs fois l’algorithme de clustering sur le même nuage de points afin d’identifier la valeur optimale de h. Dans le cadre de notre thèse, nous souhaitons une méthode de clustering dont le coût de calcul reste raisonnable et donc nous laisserons de côté les approches fondées sur la stabilité de la partition.86 4. Développement de filtres particulaires adaptés aux multimodalités 4.1.2.4 Sélection d’un facteur de lissage global adapté à l’échelle du nuage de particules Le problème posé est le suivant : étant donné l’algorithme de mélange de filtre particulaire exposé dans la sous-section 2.6.2, il s’agit à chaque instant k de déterminer un ensemble de Mk clusters Cj,k, j = 1, . . . , Mk de particules grâce à l’algorithme mean-shift. Pour cela, il faut régler un facteur de lissage h qui dépend essentiellement de l’échelle locale du nuage de particules à l’instant considéré. Comme le nuage de particule change de taille au cours du temps, h doit être modifié en conséquence. Nous proposons un algorithme qui met à jour, à chaque instant, la valeur du facteur de lissage global. On notera h = h (k) pour rappeler la dépendance en temps. Pour cela, on suppose que l’on dispose d’une partition à l’instant k de l’ensemble des particules Xk sous forme de clusters Cj,k (j = 1, . . . , Mk). En s’inspirant de l’approche de Comaniciu, on effectue une approximation gaussienne de chaque cluster afin de déterminer son échelle locale. On note Σˆ(j) k , j = 1, . . . , Mk les matrices de covariance empiriques correspondantes et m (j) k , j = 1, . . . , Mk les modes associés aux clusters. L’échelle locale d’un cluster est alors donnée par le demi-grand axe et le demi-petit axe de l’ellipsoïde de confiance de la covariance du cluster pour un niveau de confiance donnée (par exemple 95%). Cela permet d’avoir une matrice de lissage bidimensionnelle ; cependant, comme nous souhaitons un unique paramètre, nous résumons l’échelle du cluster au demi petit-axe. Afin d’obtenir un facteur de lissage global, nous proposons de prendre la moyenne ¯b des échelles locales (i.e. les demis-petit axes). Le facteur de lissage global obtenu à l’instant k sert d’entrée à l’algorithme de clustering à l’itération suivante, ce qui est motivé par le fait que le nuage de particules évolue lentement d’un instant à l’autre. 1. Pour j = 1, . . . , Mk, déterminer l’ellipsoïde de confiance à 95% associé Σˆ(j) k . Calculer son demi-petit axe bj . 2. Poser ¯b = 1 Mk X Mk i=1 bj 3. Poser h (k+1) = ¯b 4.1.3 Stratégies de réduction du temps de calcul de l’algorithme de mean-shift clustering La complexité algorithmique de l’algorithme mean-shift standard est en O (JdN2 )[46] où J désigne le nombre d’itérations de la procédure mean-shift, d la dimension et N le nombre de particules à classifier. En adoptant la stratégie consistant à trouver un pavage de l’ensemble des particules Xk (cf. section 4.1.1.3), c’est-à-dire un sous-ensemble de taille N < N ˜ , la complexité est de l’ordre de O  JdN˜ 2  . Les algorithmes particulaires standards ont une complexité de l’ordre de O (N) ce qui indique qu’il faut envisager des stratégies permettant de réduire la complexité de l’algorithme de clustering. L’étape la plus couteuse est le calcul de la suite {yj , j ≥ 1} qui converge vers les modes du nuage87 mean-shift avec arbres k-d mean-shift standard N = 5000 0.1516 0.2279 N = 2000 0.1050 0.1404 N = 1000 0.0509 0.0513 Table 4.1 – Temps de calcul (en secondes) de l’algorithme mean-shift sur un N-échantillon issu du mélange gaussien F ; moyenne sur 50 réalisations de points, dont on rappelle l’expression ci-dessous : yj+1 = X xi∈Bh(yj ) x i g   yj − x i h 2   X xi∈Bh(yj ) g   yj − x i h 2   (4.29) où Bh(yj ) = {x i , i = 1, . . . , N : kyj − x ik ≤ h} (4.30) Plus précisément, les goulots d’étranglement sont : (i) La détermination de la boule Bh(yj ) : c’est un problème de recherche des plus proches voisins dont la distance à yj est inférieure à h. Des structures telles que les arbres k-dimensionnels (k-d trees) [123] permettent de déterminer le voisinage Bh(yj ) efficacement. (ii) L’évaluation du quotient (4.30) qui consiste en 2N d multiplications (N d au numérateur et au dénominateur), sans compter le coût de l’évaluation de g(x) pour x qui dépend du noyau utilisé. Dans le cadre de la thèse, nous avons retenu l’utilisation d’un noyau G uniforme pour le calcul de la suite {yj} car le nombre d’itérations nécessaire pour la convergence de la suite est fini [21]. De plus, l’évaluation de yj pour un noyau uniforme est moins coûteuse que celle utilisant un noyau gaussien. En ce qui concerne la recherche des points qui tombent dans le support du noyau [point (ii)], nous avons constaté que l’utilisation d’une structure d’arbre k-d permettait de réduire le temps de calcul de manière appréciable lorsque N ≥ 2000 (voir 4.1). Nous avons toutefois noté que pour des valeurs moindres de N, l’utilisation de telles structures de données n’était pas justifié. La comparaison a été menée sur des données simulées selon le mélange gaussien F défini par : F = 1 5 X 5 i=1 N (µi , Σi) (4.31) avec µ1 = [3, 3]T , µ2 = [−6, −6]T , µ3 = [−5, 2]T , µ4 = [5, −3]T , µ5 = [0, 0]T et Σ1 = 1/2 1/4 1/2 1/4 ! , Σ2 = 1 2 I2, Σ3 = 2 1 1 2! , Σ4 = 3 −1 −1 3 ! , Σ5 = 0.6 0.15 0.15 0.375! Nous exposons ci-après quelques méthodes permettant de réduire le coût algorithmique du clustering.88 4. Développement de filtres particulaires adaptés aux multimodalités Représentation compacte de densité (RCD) Cette méthode introduite par Freedman [43] vise à accélérer l’étape de clustering en réduisant le nombre N de points x1, . . . , xN sur lequel la procédure mean-shift est appliquée. Pour cela, on s’appuie sur une représentation compacte de la densité ˆf. Soit ˆˆf(x) = 1 L X L j=1 KH(x − xˆj ), avec L << N. Pour un choix approprié des xˆj et de H, l’erreur E "Z  ˆf(x) − ˆˆf(x) 2 dx# tend vers 0 lorsque L → ∞. L’algorithme de clustering se résume alors à la succession des étapes suivantes : 1. Tirer L échantillons xˆ1, . . . , xˆL ∼ ˆf afin de construire ˆˆf. 2. Effectuer une procédure mean-shift sur chacun des échantillons xˆj , j = 1, · · · , L, i.e. évaluer le mode limite y j ∞. 3. Pour chaque x i , trouver l’échantillon xˆj∗ le plus proche et associer le mode ˆmˆ j∗ à xi . La seconde étape permet un gain considérable puisque on utilise L points pour le calcul de la suite des vecteurs mean shift au lieu de N. Selon [43], une implémentation de cet algorithme permet de diviser le temps de calcul par un facteur N L . Nous proposons une simplification qui permet de se passer de la génération des L échantillons selon ˆf. Pour cela, les échantillons {xˆj} peuvent être tirés au hasard et sans remise parmi les échantillons de départ x 1 , . . . , xN . Cette méthode ne garantit plus que l’approximation ˆˆf soit proche de ˆf mais elle s’est avérée efficace expérimentalement. Clustering périodique Nous faisons également l’observation que la forme du nuage de particules n’évolue que légèrement d’un instant à l’autre lorsqu’il n’y a pas d’étape de ré-échantillonnage. On peut raisonnablement s’attendre à ce que deux particules appartenant au même cluster le restent à l’itération suivante. Ainsi, on peut attendre quelques cycles de prédiction/correction (typiquement 3 à 10) avant d’appliquer l’algorithme de clustering. 4.2 Ré-échantillonnage et régularisation locale Le filtre particulaire régularisé (RPF) [37, p. 247-271], introduit au chapitre 2, permet d’augmenter la robustesse du filtre dans le cas où le bruit de dynamique et/ou d’observation est faible. Il s’appuie sur une régularisation de la loi discrète obtenue après la phase de correction (cf. 2.3) : concrètement, la régularisation consiste à ajouter un bruit contrôlé aux particules ré- échantillonnées de façon à améliorer l’exploration de l’espace d’état. Soit pˆk|k = PN i=1 ω i k δx i k , l’approximation de la loi conditionnelle à l’instant k. Dans sa version originale, la phase de ré-échantillonnage du RPF se fait en échantillonnant un estimateur à noyau de pˆk|k. Cet estimateur est noté Kh ∗ pˆk|k et est défini par Kh ∗ pˆk|k = 1 h d X N i=1 ω i kK x − x i k h !89 où K est le noyau de régularisation considéré. Une implémentation du RPF nécessite de préciser le coefficient de dilatation h, à ne pas confondre avec le facteur de lissage utilisé dans l’algorithme de clustering mean-shift. Le choix optimal de h se fait en minimisant l’erreur quadratique moyenne intégrée entre Kh ∗ pˆk|k et la loi a posteriori inconnue pk|k = p(xk|y0:k) (cf. 2.3). Dans sa formulation générique, le RPF approxime la loi de filtrage pk|k par une gaussienne dont les moments sont la moyenne empirique mk et la covariance empirique Sk du système de particules pondérés {ω i k , xi k} N i=1. mk = X N i=1 ω i kx i k et Sk = X N i=1 ω i k (x i k − mk)(x i k − mk) T Afin de sa ramener au cas connu d’une gaussienne standard, les particules sont blanchies, c’est- à-dire que l’on considère les particules obtenue par la transformation S − 1 2 k (x i k − mk). En notant {x˜ i k} N i=1 les particules obtenues après ré-échantillonnage multinomial, le système de particules régularisé est obtenu en posant : x i k = ˜x i k + hoptS 1 2 k ε i où les ε i , i = 1, . . . , N sont des tirages i.i.d. du noyau K. Lorsque pk|k est multimodale, Silverman [112] conseille d’utiliser le facteur h = chopt où 0 < c ≤ 0.5 est un paramètre de réglage, hopt étant calculé d’après 2.28 ou 2.29 selon le noyau K utilisé. Nous avons néanmoins constaté que cette méthode n’est pas satisfaisante, notamment lorsque les modes de la loi conditionnelle sont éloignés. A titre d’exemple, considérons un échantillon x1, x2, . . . , xN de taille N = 100 issu de la distribution bi-modale ν = 1 2 N (m1, Σ1) + 1 2 N (m2, Σ2) (4.32) avec m1 =  5 5T m2 =  −50 −60T Σ1 =   7 2 2 1   Σ2 = √ 2 2   2 1 1 2   Considérons à présent la régularisation de l’échantillon x1, x2, . . . , xN avec la méthode classique décrite précédemment (µ = 0.4). On suppose ici l’utilisation d’un noyau de régularisation K gaussien, ce qui a peu d’influence sur le résultat (cf. 2.3). L’échantillon après régularisation est représenté sur la figure 4.3 : on constate que la distribution initiale est déformée après régularisation. En particulier, les ellipsoïdes des covariances des deux composantes ne sont plus orientées de la même façon. Cela est due à l’étape de blanchiment où le bruit de régularisation issu du noyau K est mis à l’échelle par la matrice de covariance empirique de x1, x2, . . . , xN . Nous proposons d’utiliser la représentation de la loi conditionnelle pk|k = p(xk|y0:k) sous forme de mélange de lois afin de proposer un algorithme de régularisation adapté aux distributions90 4. Développement de filtres particulaires adaptés aux multimodalités −70 −60 −50 −40 −30 −20 −10 0 10 20 −100 −80 −60 −40 −20 0 20 40 Figure 4.3 – Echantillon avant (bleu) et après régularisation globale (vert) multimodales. Rappelons l’approximation particulaire pour les modèles de mélange, obtenue après l’étape de correction à l’instant k. pk|k ≈ pˆk|k = X Mk j=1 αj,kpˆj avec pˆj = X i∈Ij,k ω i k δx i k et X i∈Ij,k ω i k = 1 Dans l’algorithme du MPF, les étapes de prédiction/correction sont essentiellement celles du SIR à la différence près qu’une étape supplémentaire est ajoutée pour mettre à jour les coefficients de mélange αj,k. Outre l’introduction de ces coefficients, la différence avec le SIR est la possibilité de ré-échantillonner le système de particules localement. Concrètement, pour chaque composante pˆj , on peut définir une mesure de dégénérescence du système de particule comme la taille effective (locale) du cluster de particules correspondant à pˆj , N j ef f , où l’entropie. Ces deux indicateurs sont définis au chapitre 2, section 2.2.3. Par exemple, N j ef f ≈ 1 P i∈Ij,k (ω i k ) 2 (4.33) Lorsque N j ef f /Nj < Nth/N, les particules du cluster d’indice j subissent un ré-échantillonnage multinomial selon les poids d’importance de la composante pˆj , {ω i k}i∈Ij,k . Nth désigne le seuil de ré-échantillonnage. Tout comme il est possible de ré-échantillonner localement grâce à la formulation (4.1), nous91 proposons un algorithme de régularisation locale fondé sur le blanchiment local et de l’utilisation d’un paramètre de lissage propre à chaque cluster. Soit Sj,k = X i∈Ij,k ω i k (x i k −mk,j )(x i k −mk,j ) T la matrice de covariance empirique du cluster d’indice j et mk,j = P i∈Ij,k ω i kx i k sa moyenne empirique. Par souci de simplicité, nous supposerons que le noyau de régularisation K est gaussien. Soit le paramètre de lissage local au cluster Cj,k, h j opt défini par : h j opt = D(K)N −1 d+4 j (4.34) Soit x˜ i k , i ∈ Ij,k, les particules après ré-échantillonnage multinomial local dans le cluster Cj,k. Alors les particules après régularisation locale sont obtenues selon l’équation : ∀i ∈ Ij,k, xi k = ˜x i k + h j optS 1 2 j,kε i (4.35) où ε i ∼ i.i.d. K. Dans la suite de l’exposé, nous appellerons MRPF (Mixture Regularized Particle Filter) la combinaison du MPF et de la routine de ré-échantillonnage/régularisation locale. Afin d’illustrer l’impact de la régularisation locale, revenons à la distribution bi-modale ν définie par (4.32). La figure 4.4 représente le nuage de point avant et après régularisation locale. On peut constater sur cet exemple que la méthode développée permet de conserver la forme initiale de la distribution multimodale, contrairement à la régularisation globale. −60 −50 −40 −30 −20 −10 0 10 20 −70 −60 −50 −40 −30 −20 −10 0 10 Figure 4.4 – Echantillon avant (bleu) et après régularisation locale (rouge) Remarquons qu’il est possible d’effectuer une étape de régularisation locale dans un algorithme particulaire standard avec ré-échantillonnage global tel que le RPF. Dans ce cas, la succession des étapes de ré-échantillonnage et de régularisation se fait selon le schéma suivant.92 4. Développement de filtres particulaires adaptés aux multimodalités Algorithme 5 : Ré-échantillonnage global et régularisation locale − Calculer Nef f selon (2.19) − Si Nef f < Nth (Nth : seuil fixé par l’utilisateur) 1. Identifier une partition des particules sous-forme de Mk clusters Cj,k, j = 1, . . . , Mk (avec l’algorithme de clustering mean-shift par exemple ) 2. Effectuer un ré-échantillonnage multinomial global selon les poids {ω i k}. Noter I les indices des particules ré-échantillonnées. 3. Pour j = 1, . . . , Mk (a) Calculer la covariance Sj,k et la moyenne mj,k des particules avant ré-échantillonnage (b) Calculer h j opt selon (4.34) (c) Identifier l’ensemble des indices JI des particules ré-échantillonnées qui appartiennent au cluster Cj,k i.e. JI = {i ∈ I | x i k ∈ Cj,k} (d) Poser pour tout i ∈ JI , x i k = x Ii k + h j optS 1 2 j,kε i avec ε i ∼ i.i.d. K 4.3 Gestion dynamique des clusters du filtre Dans la formulation originale du MPF [118], il peut arriver qu’une partie des ressources soit utilisée en pure perte pour mettre à jour les poids de mélange {αj,k} et les poids intra-cluster ω i k associés à des clusters devenus très peu vraisemblables pendant plusieurs itérations. Il faut donc un schéma permettant de supprimer les clusters correspondant, et ré-allouer un nombre équivalent de particules aux clusters restant. Cependant, la littérature sur le sujet [118, 95, 126] ne détaille pas comment un tel mécanisme peut être mis en oeuvre. Concrètement, nous suggérons de vérifier à chaque pas de temps k, la contribution de chaque cluster à l’approximation de la loi a posteriori p(xk|y0:k). Sachant que p(xk|y0:k) ≈ X Mk j=1 αj,k X i∈Ij,k ω i k δx i k si pour j0 ∈ J1, MkK, αj,k < αmin, on supprime les Nj0 particules du cluster Cj0,k. Le paramètre αmin est un seuil fixé au préalable, typiquement pris inférieur à 10−5 . Il reste à échantillonner Nj0 nouvelles particules afin de conserver un système de particules de taille constante N. Cela peut être fait selon le schéma suivant : 1. Soit X Mk j=1 j6=j0 πj,kpˆj la distribution empirique sans la composante pˆj0 , renormalisée avec ∀j =93 1, . . . , N, j 6= j0 πj,k = X αj,k l=1 l6=j0 αl,k (4.36) et pˆj = X i∈Ij,k ω i k δx i k 2. Faire un tirage multinomial de Nj0 indices e1, e2, . . . , eNj0 selon les poids πj,k, j ∈ {1, . . . , Mk}\ {j0} 3. Pour j = 1, . . . , Mk, j 6= j0, (a) Soit Dj = Card{l = 1, . . . , Nj0 | el = j} le nombre d’indices égaux à j (b) − Tirer Dj particules ξ 1 , ξ2 , . . . , ξDj selon pˆj = P i∈Ij,k ω i k δx i k , en posant ξ i = x q k avec probabilité ω q k , q ∈ Ij,k. − Associer le poids γ i = ω q k à ξ i . − Rajouter les ξ i au cluster Cj,k et poser pˆj = 1 P i∈Ij,k ω i k + PDj i=1 γ i   X i∈Ij,k ω i k δx i k + X Dj i=1 γ i ξ i   4.4 Résumé de l’algorithme MRPF Nous donnons ici une version de l’algorithme MRPF (Mixture Regularized Particle Filter) qui est une extension du MPF. La nouveauté est l’introduction d’une étape de régularisation locale et l’utilisation de l’algorithme mean-shift pour le clustering du nuage de particule. Par souci de simplicité, on suppose ici que la loi d’importance utilisée dans l’étape de prédiction est la transition p(xk|xk−1). Algorithme 6 : MRPF 1. [Initialisation] − Tirer N particules selon la loi initiale x i 0 ∼ µ0 − poser ω i 0 ∝ p(y0|x i 0 ) − Normaliser les ω i 0 2. Pour k ≥ 1 (a) [Prédiction] Tirer N particules x i k ∼ p(xk|x i k−1 ) (b) [Correction] i. Pour j = 1, . . . , Mk−1 − ∀i ∈ Ij,k−1, calculer ω˜ i k = ω i k−1 p(yk|x i k ) (4.37)94 4. Développement de filtres particulaires adaptés aux multimodalités − Calculer les poids normalisés de la j-ème composante : ∀i ∈ Ij,k−1, ω i k = ω˜ i k P l∈Ij,k−1 ω˜ l k (4.38) ii. Pour j = 1, . . . , Mk−1, calculer αj,k en fonction des {αj,k−1}1≤j≤Mk−1 selon (2.73) et (2.74) (c) [Clustering] Décomposer le nuage de particules en Mk clusters Cj,k. [C 0 j,k, I0 j,k] = meanshiftClustering({x i k } N i=1, {ω i k } N i=1, K, hMS, Rm, nitermax, εMS) (d) Mettre à jour les coefficients de mélange αj,k et les poids des particules intra-cluster ω i k pour la nouvelle partition C 0 j,k en utilisant les équations (2.84) et (2.85). 3. Poser j = 1. Tant que j ≤ Mk − Si αj,k < αmin supprimer le cluster Cj,k et échantillonner Nj nouvelles particules selon la procédure décrite dans la section 4.3 − Sinon – Calculer N j ef f selon (4.33) – Si N j eff Nj est inférieur au seuil de ré-échantillonnage, ré-échantillonner et régulariser les particules du cluster Cj,k selon l’algorithme décrit dans la section 4.2 – j = j + 1 4. Mettre à jour la fenêtre de lissage h MS de l’algorithme de clustering mean-shift On rappelle que les paramètres Rm, nitermax et ε MS utilisés dans l’algorithme de clustering mean-shift représentent respectivement : − le rayon de fusion, qui contrôle le degré de séparation des clusters − le nombre d’itérations maximum autorisés par procédure mean-shift − le seuil de convergence d’une procédure mean-shift La routine de clustering peut être effectuée avant l’étape de correction. Par ailleurs, puisque les modèles de mélange du filtrage particulaire ne sont pas spécifiques à un filtre particulier, nous utiliserons également dans la suite de la thèse une extension naturelle du MRPF, le MRBPF, obtenu par Rao-Blackwellisation (cf. 2.4.1), en conservant l’étape de régularisation locale. Le MRPF et le MRBPF seront tous les deux combinés avec une procédure d’échantillonnage d’importance fondée sur les maxima locaux de la densité cible, ce qui est l’objet de la section suivante. 4.5 Échantillonnage d’une loi d’importance basée sur les maxima locaux de la densité a posteriori 4.5.1 Motivation Dans le chapitre précédent (sous-section 2.2.4), nous avons évoqué la nécessité de sélectionner une loi d’importance prenant en compte la mesure courante. En effet, lorsque la loi d’importance95 dans l’étape de prédiction est le noyau de transition p(xk|xk−1), le risque est que les particules échantillonnées tombent dans la queue de distribution de la fonction de vraisemblance. Ceci arrive d’autant plus souvent que la fonction de vraisemblance décroit rapidement autour de son maximum, par exemple dans le cas d’un bruit additif v gaussien de variance petite, ou quand la fonction d’observation du modèle présente un fort gradient (cf. Figure 4.5 (a)). De même, lorsque le bruit de dynamique est additif gaussien de petite matrice de covariance Q, il est possible que, malgré l’étalement de la vraisemblance, p(xk|x i k−1 ) et p(yk|xk) aient un faible recouvrement (cf. Figure 4.5 (b)). (a) Cas d’une vraisemblance « pointue » (b) Cas d’un a priori « pointu » Figure 4.5 – Incohérence entre la fonction de vraisemblance et le noyau de transition Parmi les approches algorithmiques permettant d’échantillonner les particules dans des régions de forte vraisemblance, on peut citer : − L’échantillonnage de la fonction de vraisemblance [18] : si la fonction de vraisemblance p(yk|xk) est intégrable en xk [42], elle peut servir de loi d’importance lors de l’étape de prédiction et dans ce cas l’équation de mise à jour des poids est ω i k ∝ ω i k−1 p(x i k |x i k−1 ). Cette technique est difficile à implémenter lorsque la dimension de l’espace d’observation est inférieure ou égale à celle de l’espace d’état (m ≤ d) : en effet, dans ce cas on ne peut pas inverser la fonction de vraisemblance xk 7→ p(yk|xk) . En particulier, en recalage par96 4. Développement de filtres particulaires adaptés aux multimodalités mesure radio-altimétriques, les mesures sont scalaires et l’état est de dimension supérieure ou égal à 3 donc la méthode n’est pas envisageable. − La correction progressive [97] : cet algorithme permet de simuler un échantillon approximativement issu de p(xk|y0:k) en introduisant, à l’étape de correction, une série de fonctions de vraisemblance intermédiaires gλm(xk) = p(yk|xk) 1/λm, m = 1, . . . , n de moins en moins diffuses, où λ1, . . . , λn est une suite de coefficients supérieurs ou égaux à 1 avec λn = 1, de sorte que gλn (xk) = p(yk|xk). L’étape de correction est divisée en étapes intermé- diaires. L’algorithme est initialisé avec les N particules {ξ i 1 , i = 1, . . . , N} obtenues lors de la phase de prédiction. Ensuite, pour m = 2, . . . , n, les particules obtenues à l’étape m − 1 sont pondérées avec la fonction de vraisemblance intermédiaire gλm, ce qui donne des poids intermédiaires ω i λm,k. Le nouveau nuage de particule est alors obtenu en tirant N échantillons {ξ i m, i = 1, . . . , N} selon la distribution régularisée PN i=1 ω i λm,kK( x−ξ i m−1 h ), où K est un noyau de régularisation. Dans le cas d’un bruit gaussien additif, cette méthode revient à considérer une suite de densités gaussiennes de covariances décroissantes et supérieures à la vraie covariance. L’utilisation de vraisemblances intermédiaires de moins en moins étalées permet de ramener progressivement les particules dans les zones où la (vraie) fonction vraisemblance prend des valeurs significatives. Cette méthode a été testée sans succès. − Le filtre particulaire auxiliaire [105] : cet algorithme permet de propager prioritairement les particules à l’instant k −1 qui seront compatibles avec la mesure yk. L’étape de prédiction à l’instant k consiste à tirer N indices i1, . . . , iN selon une loi multinomiale dont les poids sont égaux à ω i k−1 pˆ(yk|x i k−1 ), où pˆ(yk|x i k−1 ) est une approximation de la vraisemblance prédite p(yk|x i k−1 ). Les particules prédites à l’instant k sont alors obtenues en échantillonnant x j k ∼ p(xk|x ij k−1 ), j = 1, . . . , N. Cela nécessite néanmoins d’avoir une approximation pˆ(yk|xk−1) qui soit plus diffuse que p(yk|xk−1) = R p(yk|xk)p(xk|xk−1)dxk. Selon Whiteley et. al [121], les performances du filtre particulaire auxiliaire dépendent fortement du choix de l’approximation de la vraisemblance prédite, ce qui, selon le modèle, peut s’avérer une tâche compliquée en soit. Nous proposons ci-après, une loi d’importance adaptée au MRPF, qui consiste à définir au niveau de chaque composante unimodale du filtre, une loi d’importance basée sur une approximation du maximum a posteriori (MAP) de la loi conditionnelle locale. Pour cela, nous présentons d’abord plusieurs estimateurs d’importance utilisant une loi d’importance centrée sur le MAP dans un cadre non-dynamique. En particulier, nous présentons une méthode d’évaluation du MAP lorsque l’observation est linéaire par rapport à une partie de l’espace d’état et lorsque la loi a priori est gaussienne. Ensuite, nous discutons du choix de la matrice de covariance de la loi de proposition lorsque cette dernière est gaussienne. Enfin nous illustrons comment cette loi peut être mise en pratique dans un cadre particulaire (dynamique) pour les distributions multimodales.97 4.5.2 Evaluation du maximum a posteriori pour un modèle d’observation partiellement linéaire avec a priori gaussien Soit x ∈ R d une v.a. gaussienne de moyenne µ et de covariance P, observée via une mesure y ∈ R m corrompue par un bruit additif v. y = H(x) + v (4.39) On suppose que v est un bruit gaussien de moyenne nulle et de covariance R. On souhaite calculer le maximum a posteriori xˆMAP défini par xˆMAP = arg max x∈Rd p(x|y) (4.40) où p(x|y) est la densité conditionnelle de x sachant y. Le calcul du MAP est difficile lorsque la dimension de l’état est grande, ce qui est le cas dans notre application. C’est pourquoi nous proposons une méthode approchée du calcul du MAP en exploitant le fait que seule une petite partie du vecteur d’état participe à la non-linéarité de l’équation d’observation. Nous considérons une équation de mesure générale avec une partie linéaire : y = Ax2 − h(x1) + v (4.41) où x1 et x2 sont des sous-vecteurs de x, i.e. x = (x T 1 , xT 2 ) T , h une fonction non-linéaire de x1 et A est une matrice indépendante de x. La structure de la fonction de mesure (4.41) est caractéristique du recalage altimétrique : x1 représente le vecteur des composantes horizontales, x2 regroupe l’altitude et les composantes de vitesse et h correspond au modèle numérique de terrain. En posant A = h 1 0 0 0i on vérifie que Ax2 − h(x1) correspond à la hauteur relative d’un mobile situé en x. Notons que le signe (−) dans (4.41) est introduit par pure commodité puisque aucune hypothèse n’est faite sur la fonction h. Dans la suite, on note q la densité de x et on notera q(x) = q(x1, x2) pour faire apparaître la décomposition du vecteur x = (x T 1 , xT 2 ) T . De même, on note µ = (µ T 1 , µT 2 ) T , la moyenne de x avec µ1 = E(x1) et µ2 = E(x2). La covariance de x se décompose comme P =   P11 P12 P21 P22   Remarquons d’abord que p(x|y) = p(x1, x2|y) (4.42) ∝ p(y|x1, x2)q(x1, x2) (4.43) ∝ p(y|x1, x2)q(x2|x1)q(x1) (4.44) de sorte que max x1,x2 p(x1, x2|y) ∝ maxx1 q(x1) maxx2 {p(y|x1, x2)q(x2|x1)} (4.45) = maxx1 q(x1) maxx2 F1 (x1, x2) (4.46)98 4. Développement de filtres particulaires adaptés aux multimodalités La maximisation de la loi conditionnelle p(x1, x2|y) se fait donc en maximisant d’abord la fonction (x1, x2) 7→ F1 (x1, x2) = p(y|x1, x2)q(x2|x1) par rapport à x2. La maximisation de F1 par rapport à x2 est équivalente à la minimisation de x2 7→ Q(x1, x2) = − 1 2 log F1(x1, x2) (4.47) Etant donné que, − p(y|x1, x2) est une densité gaussienne de moyenne y − (Ax2 − h(x1)) et de covariance R − q(x2|x1) est une densité gaussienne de moyenne E(x2|x1) = E(x2) + P21P −1 11 (x1 − E(x1)) = µ2 + P21P −1 11 (x1 − µ1) et de matrice de covariance Σ2|1 = P22 − P21P −1 11 P12 on a Q(x1, x2) = (y + h(x1) − Ax2) R −1 (y + h(x1) − Ax2) T (4.48) + (x2 − E1(x2)) Σ−1 2|1 (x2 − E1(x2))T où E1(x2) = E(x2|x1). En regroupant les termes en x2, on peut réécrire Q sous la forme Q(x1, x2) = Γ(x1) + (x2 − γ(x1)) Ω−1 (x2 − γ(x1))T (4.49) avec Γ(x1) = [y + h(x1) − Aγ(x1)] R −1 [y + h(x1) − Aγ(x1)]T + [γ(x1) − E1(x2)] Σ−1 2|1 [γ(x1) − E1(x2)]T γ(x1) = Ω h A TR −1 (y + h(x1)) + Σ−1 2|1E1(x2) i Ω =  A TR −1A + Σ−1 2|1 −1 L’espérance conditionnelle E1(x2) = E(x2|x1) est bien une fonction de x1 uniquement puisque E1(x2) = µ2 + P21P −1 11 (x1 − µ1). Les fonctions γ et Γ ne dépendent donc que de x1. A x1 fixé, Q atteint donc son minimum Γ(x1) en xˆ2 = γ(x1). On a donc max x2 F1(x1, x2) = exp  − 1 2 minx2 Q(x1, x2)  (4.50) = exp  − 1 2 Γ(x1)  (4.51) En reportant maxx2 F1(x1, x2) dans (4.46), il reste donc à maximiser q(x1) exp(− 1 2 Γ(x1)) par rapport à x1. Etant donné que q(x1) = (2π) −1/2 q det(P) exp(− 1 2 (x1 −µ1) TP −1 11 (x1 −µ1)) , cela revient à minimiser G(x1) = (x1 − µ1) TP −1 11 (x1 − µ1) + Γ(x1) (4.52)99 par rapport à x1. La minimisation de G relève de l’optimisation non-linéaire. Heureusement, dans l’application du recalage par mesures radio-altimétriques, le vecteur x1 est un vecteur bi-dimensionnel regroupant les composantes de position horizontales. La recherche du minimum de G peut donc se faire facilement en utilisant les algorithmes issus de la méthode de Newton comme l’algorithme BFGS (Broyden-Fletcher-Goldfarb-Shanno) [10]. Une autre possibilité est d’utiliser un algorithme du gradient conjugé [54], qui évite le calcul et l’inversion de la hessienne de la fonction objectif. En notant xˆ1 = arg min G(x1), il est maintenant possible de calculer explicitement xˆ2 = γ(ˆx1). Finalement, le MAP est donc estimé par xˆMAP = (ˆx1, xˆ2). 4.5.3 Loi de proposition centrée sur le MAP pour l’échantillonnage d’importance 4.5.3.1 Cadre statique En échantillonnage d’importance, il est souhaitable de choisir une densité de proposition "proche" en un certain sens de la densité a posteriori p(x|y). Si l’on suppose que p(x|y) est unimodale, le choix d’une densité d’importance gaussienne centrée sur le MAP xˆMAP semble judicieux. Ensuite, on peut par exemple prendre comme covariance de la loi de proposition, une approximation de la covariance a posteriori Cov(x|y). La méthode de Laplace [66, 115] fournit une approximation au premier ordre de la covariance a posteriori en fonction du MAP et de la matrice d’information de Fisher observée J selon Cov(x|y) ≈ J −1 (ˆxMAP ) (4.53) avec J(x) = − ∂ 2 log g ∂x2 (x) − ∂ 2 log q ∂x2 (x) (4.54) On rappelle que g(x) = p(y|x) et q est la densité a priori. Revenons au modèle défini par (4.39). Dans ce cas, q étant gaussien, J se réduit à J(x) = 2   ∂ 2H ∂x2 R −1 (y − H(x)) − R −1 ∂H ∂x ! ∂H ∂x !T   + P −1 (4.55) On voit que l’approximation (4.53) dépend essentiellement du gradient et de la hessienne de H. L’autre possibilité est de prendre une densité d’importance q˜ gaussienne de moyenne xˆMAP et de covariance la covariance a priori P. Nous proposons de comparer ces deux approches dans un cadre statique proche de la problématique de recalage par mesures altimétriques. Pour cela nous considérons le problème d’estimation suivant : x = (x1, x2) ∼ N (µ, P) est un vecteur statique dans le plan que nous cherchons à localiser. On suppose qu’une observation y est fournie via l’équation de mesure y = H(x) + v100 4. Développement de filtres particulaires adaptés aux multimodalités avec H(x) = 1 2π|C| 1/2 exp  − 1 2 (x − θ) T C −1 (x − θ)  . H est la densité d’une distribution gaussienne de moyenne θ et de matrice de covariance C avec θ = (1, 1)T et C =   0.0075 0.0025 0.0025 0.0075   La fonction d’observation H joue ici le rôle d’un relief artificiel dont le sommet correspond à la moyenne m et dont l’inclinaison autour du sommet est contrôlé par la matrice C. La matrice C permet de modéliser les situations où le terrain est subitement très informatif (présence d’un canyon,. . . ). Le bruit d’observation suit une distribution gaussienne centrée d’écart-type σv = 0.01. Figure 4.6 – densité a posteriori non normalisée L’objectif est de calculer la moyenne a posteriori xˆ = E(x|y) par échantillonnage pondéré en utilisant trois lois de propositions différentes dont les densités sont notées q˜0, q˜1 et q˜2. Dans la suite de cette section, ϕ(.|m, κ) désignera la densité gaussienne de moyenne m et de covariance κ. − q˜0 = q est la densité a priori pour laquelle on obtient l’estimateur Monte Carlo standard − q˜1(x) = ϕ(x|xˆMAP , P) − q˜2(x) = ϕ(x|xˆMAP , J −1 (ˆxMAP )) L’estimateur par échantillonnage pondéré de xˆ en utilisant une densité d’importance q˜ est obtenu en tirant N échantillons indépendants x i ∼ q˜ et en calculant xˆ N = X N i=1 ω ix i (4.56)101 avec ω˜ i = g(x i )q(x i ) q˜(x i ) ω i = ω˜ i PN j=1 ω˜ j (4.57) Afin de comparer les différentes densités instrumentales q˜0, q˜1 et q˜2, nous calculons xˆ N en fonction du nombre d’échantillons N et pour q˜ ∈ {q˜0, q˜1, q˜2}. Nous évaluons ensuite l’erreur quadratique moyenne (RMSE) E  xˆ N − xˆ 2 1/2 en fonction de N, en utilisant 100 réalisations indépendantes. La valeur de référence xˆ = E(x|y) est calculée par intégration numérique. (a) RMSE x1 (b) RMSE x2 Figure 4.7 – Comparaison de lois de proposition pour l’estimation de xˆ par échantillonnage d’importance102 4. Développement de filtres particulaires adaptés aux multimodalités (a) q˜1 (b) q˜2 Figure 4.8 – Réalisations de xˆ N en fonction de N La figure 4.7 montre que l’utilisation d’une loi d’importance q˜1 obtenu par translation de la loi a priori q sur le MAP réduit l’erreur d’estimation de l’estimateur Monte Carlo standard. Par exemple, il faut tirer au moins 104 échantillons selon q pour avoir la même erreur quadratique moyenne qu’un estimateur utilisant 3.103 échantillons selon q˜1. En revanche, le choix de la densité q˜2 ne semble pas améliorer l’erreur d’estimation. Pire, l’estimateur correspondant semble ne pas converger. En effet, si l’on observe les réalisations de xˆ N à N fixé, on observe que sur les 100 tirages indépendants, il existe des valeurs aberrantes (figure 4.8). La raison de cette instabilité est que tous les choix de fonctions d’importance ne garantissent pas une variance de l’estimateur finie. La qualité d’un estimateur d’importance est103 liée à la variance asymptotique Vq˜ des poids normalisés, dont l’expression est [31] : Vq˜ = 1 N   Z Rd g 2 (x)q 2 (x) q˜(x) dx Z Rd g(x)q(x)dx2 − 1   (4.58) La fonction d’importance optimale est égale à la densité a posteriori. En effet, en posant q˜ ∝ gq, on a Vq˜ = 0. Vq˜ est finie si et seulement si R g 2 (x)q 2 (x) q˜(x) dx < +∞ . Une condition suffisante est que le rapport q q˜ soit borné. En effet, le produit gq est intégrable, la vraisemblance g est bornée donc si sup q/q <˜ +∞, alors Z Rd g 2 (x)q 2 (x) q˜(x) dx ≤ sup x∈Rd g sup x∈Rd q q˜ Z Rd g(x)q(x)dx < +∞ Dans le cas de l’utilisation de la fonction d’importance q˜ = ˜q2, on voit que le rapport q q˜2 peut être très grand lorsque la covariance de q˜2, J −1 (ˆxMAP ), est petite devant la covariance a priori P, de sorte que le numérateur de Vq˜ n’est pas fini. Lors du calcul de xˆ N selon (4.56), quelques tirages peuvent avoir un poids ω i très important et avoir trop d’impact sur l’estimation finale. Afin de garantir la convergence de l’estimateur, on peut alors chercher une condition suffisante pour assurer que q q˜ soit majoré lorsque q˜ est une densité gaussienne de moyenne xˆMAP et de covariance à déterminer Σ. On maintient l’hypothèse gaussienne sur la densité a priori q, de moyenne µ et de covariance P. Le rapport q q˜ est borné ssi ln( q q˜ ) borné. Etant donné que q(x) ∝ e − 1 2 (x−µ) T P −1 (x−µ) et q˜(x) ∝ e − 1 2 (x−xˆMAP ) T Σ−1 (x−xˆMAP ) , on a ln q(x) q˜(x) = c1 + 1 2 (x − xˆMAP ) T Σ −1 (x − xˆMAP ) − 1 2 (x − µ) T P −1 (x − µ) = c1 + 1 2 (x − µ + µ − xˆMAP ) T Σ −1 (x − µ + µ − xˆMAP ) − 1 2 (x − µ) T P −1 (x − µ) = c1 + 1 2 (x − µ) T Σ −1 (x − µ) + 1 2 (µ − xˆMAP ) T Σ −1 (x − µ) + 1 2 (µ − xˆMAP ) T Σ −1 (µ − xˆMAP ) | {z } constante + 1 2 (x − µ) T Σ −1 (µ − xˆMAP ) − 1 2 (x − µ) T P −1 (x − µ) = c2 + 1 2 (x − µ) T  Σ −1 − P −1  (x − µ) + 1 2  u(x − µ) | {z } scalaire + (x − µ) T u T | {z } scalaire   = 1 2 (x − µ) T  Σ −1 − P −1  (x − µ) + u1(x − µ) + c2 (4.59) = 1 2 x T  Σ −1 − P −1  x + u2x + c3 (4.60) (4.61)104 4. Développement de filtres particulaires adaptés aux multimodalités où u1 = (µ − xˆMAP ) T Σ −1 , u2, c1, c2 et c3 des constantes. ln q q˜ est majoré ssi le terme K(x) = 1 2 x T (Σ−1 − P −1 ) x + u2x est majoré. Ce dernier terme est majoré ssi sa limite vaut −∞ lorsque kxk → +∞. Une condition suffisante est que P −1 − Σ −1 soit définie positive. En effet, dans ce cas on a K(x) = − 1 2 (x − a) T  P −1 − Σ −1  (x − a) + c4 avec a = µ +  Σ −1 − P −1 −1 c4 = 1 2 a T  Σ −1 − P −1  a + u2a En posant x 0 = (P −1 − Σ −1 ) 1/2 (x − a) (possible car on suppose P −1 − Σ −1 > 0), on a K(x) = − 1 2 kx 0k 2 + c4. Comme limkxk→+∞ kx 0k = +∞, on a limkxk→+∞ K(x) = −∞. Il s’en suit que si la matrice P −1 − Σ −1 est définie positive, alors la forme quadratique ln( q q˜ ) est majorée. Cherchons maintenant une caractérisation de la propriété P −1 − Σ −1 > 0. Σ −1 − P −1 < 0 ⇔ x T (Σ−1 − P −1 )x < 0 ∀x ∈ R d \ {0} ⇔ x TΣ −1x x TP −1x < 1 ∀x ∈ R d \ {0} ⇔ sup x∈Rd\{0} x TΣ −1x x TP −1x < 1 ∀x ∈ R d \ {0} (4.62) Soit P −1 = DDT la décomposition de Choleski de P −1 . On pose C = D−TΣ −1D−1 avec D−T = (D−1 ) T . Alors, x TΣ −1x x TP −1x = x T DT CDx x T DT Dx En posant y = Dx, x TΣ −1x x TP −1x = y T Cy y T y et sup x∈Rd\{0} x TΣ −1x x TP −1x < 1 ⇔ sup y∈Rd\{0} y T Cy y T y < 1 (4.63) (En effet, D étant inversible, y décrit R d \ {0} lorsque x décrit R d \ {0}). En remarquant que y 0T Cy0 y 0T y 0 = y T Cy y T y pour x 0 = cx avec c > 0, (4.63) est équivalent à sup kyk=1 y T Cy < 1 Il faut donc résoudre le problème suivant : Maximiser y T Cy sous la contrainte kyk = 1. On introduit le multiplicateur de Lagrange L(y, λ) = y T Cy + λ(y T y − 1)105    ∂L ∂y = 2y T C + 2λyT ∂L ∂λ = y T y − 1 ∂L ∂y = 0 ⇔ 2y T C + 2λyT = 0 ⇔ y T C = −λyT ⇔ Cy = −λy ⇔ Cy = λ 0 y avec λ 0 = −λ. Les extrema de y T Cy sont donc obtenus pour y vecteur propre de C. Comme par ailleurs y 7→ y T Cy est continue sur le compact {y ∈ R d |kyk = 1}, le maximum est bien atteint pour un vecteur propre unitaire e de C tel que Ce = λ 0 e. Comme e T Ce = λ 0 e T e = λ 0 , le maximum de y T Cy est la valeur propre maximale de C. Finalement, Proposition 1. Si la valeur propre maximale de D−TΣ −1D−1 est inférieure à 1 alors le rapport q q˜ est majoré. Choix de la covariance de la loi de proposition On a vu sur un exemple synthétique, que l’utilisation directe d’une loi de proposition gaussienne de covariance donnée par l’approximation de Laplace J −1 (ˆxMAP ) de la covariance a posteriori, peut donner un estimateur de mauvaise qualité. Néanmoins, afin d’exploiter l’information donnée par la matrice Jˆ−1 = J −1 (ˆxMAP ), nous suggérons d’utiliser une loi de proposition gaussienne q˜ dont la matrice de covariance Σ a pour valeurs propres les valeurs propres de P et pour vecteurs propres, les vecteurs propres de Jˆ−1 : schématiquement, cela revient à aligner l’ellipsoïde de confiance de la covariance Σ sur celle de Jˆ−1 . De cette façon nous nous attendons à générer les échantillons selon les axes principaux de Jˆ−1 ≈ Cov(x|y). Ainsi, ces échantillons sont orientés conformément à la matrice de covariance de la fonction d’importance optimale. Soit EJ la matrice des vecteurs propres de Jˆ−1 . Soit ΛP la matrice des valeurs propres de P. On construit la matrice Prot définie par : Prot 4 = EJΛPE T J (4.64) et on pose Σ = Prot. D’après la proposition précédente, ceci ne garantit cependant pas que la variance asymptotique Vq˜ des poids d’importance ω i soit finie, même si en pratique nous avons observé que l’estimateur correspondant était stable. On peut tout de même chercher une matrice de covariance sous la forme Σ = sProt avec s > 0 et trouver le plus petit réel s qui garantissent que q q˜ soit borné. D’après la proposition 1, cela revient à déterminer s ∗ = inf{s > 0 | λmax( 1 s D −TP −1 rot D −1 ) < 1}106 4. Développement de filtres particulaires adaptés aux multimodalités où λmax(B) désigne la plus grande valeur propre de la matrice B lorsqu’elle existe. On en déduit que s ∗ = λmax(D −TP −1 rot D −1 ) (4.65) Pour tout s > s∗ , la variance Vq˜ sera finie si q˜ est une densité gaussienne de moyenne xˆMAP et de covariance Σ = sProt. Une autre approche permettant d’exploiter l’approximation Jˆ−1 ≈ Cov(x|y) consiste à chercher la matrice de covariance Σ ∗ la plus proche de Jˆ−1 en norme, telle que q q˜ soit bornée. Autrement dit, Σ ∗ = arg min Σ kΣ − Jˆ−1 k 2 F } (4.66) sous la contrainte Σ −1 −P −1 < 0. La norme matricielle k.kF est définie pour toute matrice réelle A = (ai,j )i,j de taille d × d par kAkF =   X i,j a 2 i,j   1 2 (4.67) Remarquons que Σ −1 − P −1 < 0 est équivalent à Σ − P > 0 (cf. annexe C). Théorème 4 (N. Higham [55]). Soit A est une matrice réelle symétrique. Le problème suivant : minimiser kX − Ak 2 F sous la contrainte X ≥ 0 admet une unique solution X∗ de la forme X ∗ = 1 2 (A + H) (4.68) où H est une matrice symétrique positive telle que A = UH avec U TU = I. L’égalité A = UH est appelé décomposition polaire de A. On peut alors résoudre min Σ−P ≥0 kΣ − Jˆ−1 k 2 F en remarquant que kΣ − Jˆ−1k 2 F = k(Σ − P) − (Jˆ−1 − P)k 2 F . On a alors, min Σ−P ≥0 kΣ − Jˆ−1 k 2 F = min X≥0 kX − (Jˆ−1 − P)k 2 F En notant XF = arg minX≥0 kX − (Jˆ−1 − P)k, d’après le théorème précédent, on a XF = 1 2 (Jˆ−1 − P + H) avec Jˆ−1 − P = UH et U TU = I. On en déduit que ΣF = arg min Σ−P ≥0 kΣ − Jˆ−1k 2 F est donné par ΣF = 1 2 (Jˆ−1 + P + H) (4.69)107 Cette formule est relativement simple à mettre en oeuvre pour peu que l’on dispose d’une matrice H = HT ≥ 0 vérifiant Jˆ−1 − P = UH où U est une matrice unitaire. Heureusement, il existe une alternative à la décomposition polaire permettant de calculer ΣF . Si on diagonalise Jˆ−1 − P sous la forme Jˆ−1 − P = ZΛ˜Z T avec Λ = diag( ˜ λ1, . . . , λd) matrice diagonale et ZZT = I. En posant Λ˜ + = diag(max(0, λ˜ 1), . . . , max(0, λ˜ d)) on a [55], ΣF = ZΛ˜ +Z T + P (4.70) P J −1 s ∗Prot Prot ΣF Figure 4.9 – Ellipsoïdes de confiance à 99 % des matrices de covariance P, J −1 , Prot, s ∗Prot et ΣF Enfin, pour conserver une variance d’estimation finie, on peut également échantillonner selon une loi de Student multivariée, dont la queue de distribution est plus lourde et garantit automatiquement sup q q˜ < +∞. On rappelle qu’une v.a X de R d suit une distribution de Student multivariée Td(ν, µ, Σ) si elle admet pour fonction de densité td(x; ν, µ, Σ) = Γ( ν+d 2 )(πd) − d 2 |Σ| −1/2 Γ( ν 2 ) [1 + (x − µ) TΣ−1 (x − µ)/ν] ν+d 2 (4.71) ν ∈ N ∗ + désigne le degré de liberté, µ est un paramètre de localisation et Σ une matrice de produit scalaire (symétrique, définie positive) [70]. Ici, Γ désigne la fonction Gamma d’Euler. X a pour moyenne µ (resp. matrice de covariance) uniquement lorsque ν > 1 (resp. ν > 2) et, lorsqu’elle existe, sa covariance est donné par Cov(X) = ν ν−2Σ. Plus ν est petit, plus la queue de la distribution de Student est lourde.108 4. Développement de filtres particulaires adaptés aux multimodalités Comparaison des densités d’importances Dans un premier temps, nous avons évalué les 5 densités d’importances gaussiennes centrées sur une approximation du MAP précédemment : − q˜1(x) = ϕ(x|xˆMAP , P) − q˜2(x) = ϕ(x|xˆMAP , Jˆ−1 ) − q˜3(x) = ϕ(x|xˆMAP , Prot) − q˜4(x) = ϕ(x|xˆMAP , s∗Prot) (cf. (4.65)) − q˜5(x) = ϕ(x|xˆMAP , ΣF ) Nous nous proposons de les comparer dans le problème d’estimation statique présenté précé- demment. Plus précisément, pour chaque densité q˜ ∈ {q˜1, . . . , q˜5} on calcule l’estimateur xˆ N de E(x|y) en fonction du nombre d’échantillons N. On peut alors en déduire l’erreur quadratique moyenne de chaque estimateur en fonction de N. 102 103 104 105 10 6 10 7 0 1 2 3 4 5 6 7 8 x 10−4 N RMSE x q˜0 q˜1 q˜2 q˜3 q˜4 q˜5 (a) RMSE x1 102 103 104 105 10 6 10 7 0 1 2 3 4 5 6 7 8 x 10−4 N RMSE y q˜0 q˜1 q˜2 q˜3 q˜4 q˜5 (b) RMSE x2 Figure 4.10 – Comparaison de lois de proposition pour l’estimation de E(x|y) par échantillonnage d’importance : densité instrumentale gaussienne On constate sur la figure 4.10 que le paramétrage le plus avantageux est donné par q˜3, c’est- à-dire la densité gaussienne centrée sur le MAP et de covariance Prot. Les densités d’importance q˜5 et q˜1 centrées sur le MAP et de covariances respectives P et ΣF sont relativement proches en termes d’erreur quadratique moyenne (q˜5 étant légèrement meilleure). En revanche, l’utilisation de la covariance s ∗Prot dans la loi instrumentale n’améliore que marginalement le RMSE. q˜4 garantit une variance d’estimation finie mais s’éloigne de la densité a posteriori comme l’illustre la figure 4.9.109 Dans un second temps, nous avons examiné l’utilisation d’une densité d’importance suivant une loi de Student Td(ν, xˆMAP , Σ). La matrice Σ a été choisie de sorte que Cov(X) = J −1 (ˆxMAP ), i.e. Σ = ν−2 ν J −1 (ˆxMAP ), et le degré de liberté ν a été fixé expérimentalement à 4. Ce choix donne des résultats satisfaisants comme l’atteste la figure 4.11. 102 103 104 105 10 6 10 7 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x 10−3 N RMSE x q˜ = q q˜ = N(ˆxMAP , Prot) q˜ = N(ˆxMAP , J−1 ) q˜ = Td(ˆxMAP , J−1 ) (a) RMSE x1 102 103 104 105 10 6 10 7 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x 10−3 N RMSE y q˜ = q q˜ = N(ˆxMAP , Prot) q˜ = N(ˆxMAP , J−1 ) q˜ = Td(ˆxMAP , J−1 ) (b) RMSE x2 Figure 4.11 – Comparaison de lois de proposition pour l’estimation de E(x|y) par échantillonnage d’importance : densité instrumentale Student 4.5.3.2 Cadre dynamique : illustration On considère un problème de pistage de cible dans le plan cartésien par mesure de distance et d’azimuth. La cible suit une dynamique linéaire suivante : xk = F xk−1 où F =   I2 ∆I2 02 I2   ∆ désigne le pas de temps et xk = [xk,1, xk,2, x˙ k,1, x˙ k,2] T est le vecteur d’état comprenant la position et la vitesse horizontale de la cible.110 4. Développement de filtres particulaires adaptés aux multimodalités Le capteur radar est supposé fixe à la position (0, 0) et mesure à chaque instant k une distance r = q x 2 k,1 + x 2 k,2 et un azimuth θ = arctan( xk,2 xk,1 ) tous deux corrompus par un bruit de mesure additif. On note yk le vecteur de mesure correspondant dont l’expression est yk =   q x 2 k,1 + x 2 k,2 arctan( xk,2 xk,1 )   + vk où vk ∼ N (02×1, diag(σ 2 r , σ2 θ )) est le bruit de mesure gaussien. σr et σθ désignent respectivement l’écart-type du bruit sur la mesure de distance et sur la mesure d’angle. L’objectif est d’estimer la position et la vitesse de la cible sachant les mesures passées en calculant l’espérance conditionnelle E(xk|y0:k). Pour cela, nous allons comparer le comportement du filtre particulaire régularisé (cf. 2.3), avec un filtre particulaire régularisé dont la fonction d’importance est une gaussienne multivariée centrée sur une estimation du MAP, et de matrice de covariance Prot définie dans la section 4.5.3.1 : ce dernier algorithme est noté RPF-MAP. Les paramètres du capteur sont fixés à σr = 5 m et σθ = 1◦ . L’erreur en distance est faible, ce qui est un cas difficile pour le filtrage particulaire classique. La cible a pour vecteur position-vitesse initiale xcible,0 = h 10000 10000 40 −40iT . On suppose également que x0 suit une loi gaussienne de moyenne x¯0 et de covariance P0 = diag  (1000m) 2 (1000m) 2 (10m/s) 2 (10m/s) 2  . La moyenne x¯0 est tirée selon une gaussienne centrée sur la position initiale de la cible xcible,0 de covariance P0. Nous avons calculé l’erreur quadratique moyenne des trajectoires non-divergentes sur la base de 200 simulations ainsi que le taux de non-divergence des deux algorithmes : le RPF-MAP affiche un taux de non-divergence de 97% tandis que le RPF standard a un taux de non-divergence de 24%. Nous avons considéré qu’un filtre a divergé si l’état final vrai sort de l’ellipsoide de confiance associée à la Borne de Cramer-Rao a posteriori au seuil 99.99% et centrée sur l’état estimé, ceci pendant les 5 derniers instants de la trajectoire. Par ailleurs, on observe (figure 4.12) que la position horizontale est estimée avec plus de précision par le RPF-MAP pour ce capteur : l’erreur quadratique moyenne des trajectoires convergentes du RPF-MAP s’approche rapidement de la borne de Cramer-Rao à posteriori tandis que celle du RPF ne suit pas tout à fait cette borne.111 0 50 100 150 200 101 102 103 104 RMSE x1 RPF RPF−MAP BCR (a) RMSE x1 0 50 100 150 200 100 101 102 103 104 RMSE x 2 RPF RPF−MAP BCR (b) RMSE x2 Figure 4.12 – Erreur quadratique moyenne pour la position ; bleu : RPF, noir : RPF-MAP, traits pointillés rouges : Borne de Cramer-Rao a posteriori 0 50 100 150 200 0 2 4 6 8 10 12 RMSE ˙x1 RPF RPF−MAP BCR (a) RMSE x˙ 1 0 50 100 150 200 0 2 4 6 8 10 12 RMSE ˙x 2 RPF RPF−MAP BCR (b) RMSE x˙ 2 Figure 4.13 – Erreur quadratique moyenne pour la vitesse ; bleu : RPF, noir : RPF-MAP, traits pointillés rouges : Borne de Cramer-Rao a posteriori 4.5.3.3 Application au filtrage particulaire pour les modèles d’observation partiellement linéaires Dans cette section nous détaillons comment définir une fonction d’importance basée sur les maxima locaux estimés de la densité a posteriori p(xk|y0:k). Pour cela nous nous appuyons sur les résultats établis précédemment pour l’échantillonnage d’importance dans un cadre statique. Nous faisons l’hypothèse que l’équation d’observation est partiellement linéaire, ce qui est le cas en recalage altimétrique : yk = Ax(2) k − h n k (x (1) k ) + vk (4.72)112 4. Développement de filtres particulaires adaptés aux multimodalités où vk ∼ N (0, R) et A est une matrice indépendante de xk. Le vecteur d’état se décompose sous la forme d’une partie linéaire x (2) k et non-linéaire x (1) k , xk = h x (1),T k , x (2),T k iT . Enfin, h n k est une fonction non-linéaire de x (1) k . Nous nous plaçons dans le cadre du MRPF (Mixture Regularized Particle Filter) introduit précédemment. Rappelons dans le MRPF, la densité a posteriori p(xk|y0:k) s’écrit comme un mélange de densités : pk|k = p(xk|y0:k) = X M j=1 αj,kpj (xk|y0:k) (4.73) avec PM j=1 αj,k = 1. On a p(xk|y0:k) = p(yk|xk)p(xk|y0:k−1) Z p(yk|xk)p(xk|y0:k−1) dxk (4.74) Supposons les coefficients αj,k−1 connus. La densité prédite est : pk|k−1 = X M j=1 αj,k−1pj (xk|y0:k−1) (4.75) avec pj (xk|y0:k−1) = Z p(xk|xk−1)pj (xk−1|y0:k−1)dxk−1 Introduisons M densités d’importance q˜j (xk), j = 1, . . . , M respectivement centrées sur le MAP de pj (xk|y0:k) noté xˆ ∗ j . pk|k = X M j=1 αj,k−1p(yk|xk)pj (xk|y0:k−1) X M l=1 αl,k−1 Z p(yk|xk)pl(xk|y0:k−1) dxk = X M j=1 αj,k−1p(yk|xk) pj (xk|y0:k−1) q˜j (xk) q˜j (xk) X M l=1 αl,k−1 Z p(yk|xk) pl(xk|y0:k−1) q˜l(xk) q˜l(xk) dxk = X M j=1 αj,k−1 R p(yk|xk) pj (xk|y0:k−1) q˜j (xk) q˜j (xk) dxk PM l=1 αl,k−1 R p(yk|xk) pl(xk|y0:k−1) q˜l(xk) q˜l(xk) dxk ×   p(yk|xk) pj (xk|y0:k−1) q˜j (xk) q˜j (xk) R p(yk|xk) pj (xk|y0:k−1) q˜j (xk) q˜j (xk) dxk   | {z } pj (xk|y0:k) (4.76) Par identification des termes, αj,k = αj,k−1 Z p(yk|xk) pj (xk|y0:k−1) q˜j (xk) q˜j (xk) dxk PM l=1 αl,k−1 Z p(yk|xk) pl(xk|y0:k−1) q˜l(xk) q˜l(xk) dxk (4.77)113 Ceci suggère l’algorithme suivant, 1. On suppose que l’on dispose de l’approximation particulaire suivante à l’instant k − 1 : pk−1|k−1 = X M j=1 αj,k−1 X i∈Ij,k−1 ω i k−1 δx i k−1 (4.78) 2. Prédiction : tirer N échantillons x i k ∼ p(xk|x i k−1 ) 3. Pour j = 1, . . . , M, former une approximation gaussienne ϕ(xk|x¯j,k|k−1, Pˆ j,k|k−1) de la densité prédite pj (xk|y0:k−1) : calculer la moyenne prédite selon x¯j,k|k−1 = X i∈Ij,k−1 ω i k−1x i k (4.79) et la covariance prédite selon Pˆ j,k|k−1 = X i∈Ij,k−1 ω i k−1 (x i k − x¯j,k|k−1)(x i k − x¯j,k|k−1) T (4.80) 4. Pour j = 1, . . . , M, calculer le MAP xˆ ∗ j de pj (xk|y0:k) ∝ p(yk|xk)pj (xk|y0:k−1). Pour cela, utiliser l’approximation gaussienne qj = ϕ(xk|x¯j,k|k−1, Pˆ j,k|k−1) de pj (xk|y0:k−1). Utiliser ensuite la méthode exposée dans 4.5.2 : qj joue ici le rôle de la loi a priori. 5. Définir pour j = 1, . . . , M une densité d’importance gaussienne q˜j de moyenne xˆ ∗ j et de covariance Σ ∗ j égale à Prot. q˜j (x) = ϕ(x|xˆ ∗ j , Σ ∗ j ) (4.81) Un autre choix consiste à définir q˜j comme la densité de la loi de Student Td(ν, xˆ ∗ j , ν−2 ν J −1 j (ˆx ∗ j )) où Jj (x) = − ∂ 2 log gk ∂x2 (x) − ∂ 2 log qj ∂x2 (x) Le degré de liberté est alors choisi expérimentalement. Soit Nj = Card(Ij,k−1). Tirer Nj échantillons i.i.d. x i k ∼ q˜j avec i ∈ Ij,k−1. 6. Calculer les poids intra-composante ω i k . Pour j = 1, . . . , M : Pour i ∈ Ij,k−1 calculer ω˜ i k = p(yk|x i k )qj (x i k ) q˜j (x i k ) (4.82) et poser ω i k = ω˜ i k P i∈Ij,k−1 ω˜ i k (4.83) 7. Calculer les coefficients de mélange αj,k selon αj,k ≈ αj,k−1 Nj P i∈Ij,k−1 ω˜ i k PM l=1 αl,k−1 Nl P i∈Il,k−1 ω˜ i k (4.84)114 4. Développement de filtres particulaires adaptés aux multimodalités L’approximation (4.84) peut se déduire par substitution des échantillons i.i.d. x i k ∼ q˜j , i ∈ Ij,k−1 dans (4.77) : on a alors Z p(yk|xk) pj (xk|y0:k−1) q˜j (xk) q˜j (xk) dxk ≈ 1 Nj X i∈Ij,k−1 p(yk|x i k )pj (x i k |y0:k−1) q˜j (x i k ) (4.85) ≈ 1 Nj X i∈Ij,k−1 p(yk|x i k )qj (x i k ) q˜j (x i k ) (4.86) = 1 Nj X i∈Ij,k−1 ω˜ i k (4.87) Echantillonnage d’importance adaptatif pour le MRPF Pour diminuer le surcoût algorithmique induit par la recherche des maxima locaux, il est judicieux d’utiliser un critère permettant de quantifier l’incohérence entre la fonction de vraisemblance gk(xk) = p(yk|xk) et la densité prédite pk|k−1(xk) = p(xk|y0:k−1), de manière à recourir aux fonctions d’importances q˜j uniquement lorsque le critère indique que le recouvrement entre les deux densités est faible. Dans le cas contraire, le déroulement des étapes de prédiction et correction se fait comme exposé dans le chapitre 2, sous-section 2.6.2 et dans la section 4.4. Un indicateur de cohérence entre gk et pk|k−1 est donné par δk = supx∈Rd gk(x) Z gk(xk)pk|k−1(xk)dxk (4.88) δk ≥ 1 et δk est d’autant plus grand que gk et pk|k−1 ont un faible recouvrement [37, p. 256]. On peut évaluer δk pour un filtre particulaire donné en utilisant les particules et les poids associées. En effet, soit pˆk|k−1 = X N k=1 ω i k−1 δx i k (4.89) une approximation de la densité prédite pk|k−1, avec PN k=1 ω i k−1 = 1. Alors, δk ≈ N supx∈Rd gk(x) PN k=1 ω i k−1 gk(x i k ) (4.90) Dans le cas particulier où le bruit v est additif gaussien, (4.90) se réduit à δk ≈ N X N k=1 ω i k−1 exp(− 1 2 kyk − hk(xk)k 2 R−1 ) (4.91) où k.k 2 W est définie par kxk 2 W = x TW x lorsque W est une matrice d × d. On peut alors exploiter l’indicateur δk, pour contrôler les instants où l’échantillonnage d’importance basé sur les densités q˜1, . . . , q˜M est utilisé. Il suffit de définir un seuil δmax > 1 qui115 contrôle le degré d’incohérence tolérable. Souvenons-nous que dans le MPF et le MRPF, le passage de la densité prédite pj (xk|y0:k−1) de la j-ème composante à la densité corrigée pj (xk|y0:k) peut se faire indépendamment des autres composantes (cf. 2.6.2). Seul le calcul des coefficients de mélange {αl,k} M l=1 dépend de l’ensemble des poids des particules. On peut alors définir pour chaque composante d’indice j, un indicateur de cohérence entre gk et pj (xk|y0:k), que nous noterons δj,k. Si δj,k ≥ δmax, l’étape de correction pour la j-ème composante se fait selon les points 3, 4, 5 et 6. Dans le cas contraire, l’étape de correction se réduit au calcul des poids intra-composante ω i k comme décrit dans le point 2.(b)i. de l’algorithme MRPF. Dans les deux cas, pour obtenir la densité a posteriori globale p(xk|y0:k), il faut calculer les coefficients {αl,k} M l=1 en fonction de {αl,k−1} M l=1. L’expression correspondante est : αj,k = αj,k−1βj,k PM l=1 αl,k−1βl,k (4.92) avec βj,k =    X i∈Ij,k−1 ω i k−1 p(yk|x i k ) si δj,k < δmax 1 Nj X i∈Ij,k−1 p(yk|x i k )qj (x i k ) q˜j (x i k ) sinon (4.93) Alternativement, on peut utiliser la taille effective de l’échantillon (4.33) comme indicateur d’incohérence entre la fonction de vraisemblance et la densité prédite. Le choix d’utiliser la densité d’importance q˜j s’opère lorsque la taille effective de la loi empirique pˆj = P i∈Ij,k ω i k δx i k , notée N j ef f , descend en dessous d’un seuil Nth,MAP inférieur ou égal au seuil de ré-échantillonnage. Nous proposons de définir ce seuil comme une fraction ζ ∈ [0, 1] du seuil de ré-échantillonnage : Nth,MAP = ζNth (4.94) L’idée est que, le ré-échantillonnage et la régularisation peuvent suffire à ramener les particules dans la zone d’intéret lorsque N j ef f est juste légèrement en dessous du seuil de ré-échantillonnage. Le coefficient ζ < 1 permet alors d’ajuster le degré de dégénérescence toléré : des valeurs petites de ζ < 1 signifient que l’échantillonnage selon q˜j est effectué uniquement lorsque les particules appartenant à la composante d’indice j sont très dégénérées. En résumé, si N j ef f < Nth,MAP N Nj , l’échantillonnage se fait selon q˜j , et dans le cas contraire selon le noyau de transition. Nous résumons ci-après l’algorithme fusionnant le MRPF et l’utilisation des modes locaux pour la phase de d’échantillonnage d’importance, que nous appellerons MRPF-MAP. Dans la partie consacrée à l’évaluation des performances, nous distinguerons deux variantes du MRPF-MAP : − le MRPF-MAP 1 : la densité instrumentale a pour covariance la covariance prédite, − le MRPF-MAP 2 : la densité instrumentale a pour covariance la covariance Prot définie par l’équation (4.64).116 4. Développement de filtres particulaires adaptés aux multimodalités Algorithme 7 : MRPF-MAP 1. [Initialisation] − Tirer N particules selon la loi initiale x i 0 ∼ µ0 − poser ω i 0 ∝ p(y0|x i 0 ) − Normaliser les ω i 0 2. Pour k ≥ 1 (a) [Prédiction] Tirer N particules x i k ∼ p(xk|x i k−1 ) (b) [Correction] i. Pour j = 1, . . . , Mk−1 − calculer N j ef f selon (4.33) − Si N j ef f ≤ Nth,MAP /Nj – Calculer x¯j,k|k−1 et Pˆ j,k|k−1 selon (4.80) et (4.79). Poser qj = ϕ(.|x¯j,k|k−1, Pˆ j,k|k−1). – Calculer xˆ ∗ j = arg maxx p(yk|x)qj (x) selon la méthode de la section 4.5.2. – Poser q˜j (x) = ϕ(x|xˆ ∗ j , Σ ∗ j ) avec Σ ∗ j = Pˆ j,k|k−1 ou Σ ∗ j = Prot – Tirer Nj échantillons i.i.d. x i k ∼ q˜j avec i ∈ Ij,k−1 et Nj = Card(Ij,k−1) – Calculer ω˜ i k et ω i k selon (4.82) et (4.83) – Poser βj,k = 1 Nj P i∈Ij,k−1 ω˜ i k − Sinon – Calculer les poids non normalisés ω˜ i k et les poids normalisés ω i k de la j-ème composante selon (4.37) et (4.38) – Poser βj,k = P i∈Ij,k−1 ω˜ i k ii. Pour j = 1, . . . , Mk−1, calculer αj,k en fonction des {αj,k−1}1≤j≤Mk−1 et des {βj,k−1}1≤j≤Mk−1 en utilisant l’équation (4.92) (c) [Clustering] Décomposer le nuage de particules en Mk clusters Cj,k. [C 0 j,k, I0 j,k] = meanshiftClustering({x i k } N i=1, {ω i k } N i=1, K, hMS, Rm, nitermax, εMS) (d) Mettre à jour les coefficients de mélange αj,k et les poids des particules intra-cluster ω i k pour la nouvelle partition C 0 j,k en utilisant les équations (2.84) et (2.85). 3. Poser j = 1. Tant que j ≤ Mk − Si αj,k < αmin supprimer le cluster Cj,k et échantillonner Nj nouvelles particules selon la procédure décrite dans la section 4.3 − Sinon – Calculer N j ef f selon (4.33) – Si N j eff Nj est inférieur au seuil de ré-échantillonnage, ré-échantillonner et régulariser les particules du cluster Cj,k selon l’algorithme décrit dans la section 4.2 – j = j + 1 4. Mettre à jour la fenêtre de lissage h MS de l’algorithme de clustering mean-shift117 4.5.4 Extension au filtre particulaire Rao-Blackwellisé : algorithme MRBPFMAP L’algorithme précédent s’étend naturellement au RBPF (cf. section 2.4.1). L’avantage du RBPF par rapport au RPF est que l’échantillonnage des particules est restreint à la partie nonlinéaire du vecteur d’état (composantes de la position horizontale dans le cas du recalage altimétrique). De plus, nous avons observé dans les simulations que les ambiguïtés de terrain sont résolues plus rapidement par le RBPF que par le RPF : cela permet en principe d’appliquer la recherche des modes locaux du RBPF pour un coût de calcul moindre puisque le nombre de modes dans le RBPF est en pratique plus faible que celui du RPF. Rappellons que le MRBPF est l’extension du MRPF où le RPF est remplacé par le RBPF en conservant l’étape de régularisation lors du ré-échantillonnage. De même, le MRBPF-MAP est l’extension du MRPF-MAP. Deux adaptations sont nécessaires afin d’obtenir cet algorithme : − le calcul de la matrice de covariance de la densité prédite correspondant à chaque cluster se fait en considérant la décomposition du vecteur d’état en la partie linéaire et non-linéaire − la correction de Kalman au niveau d’un cluster donné est effectuée différemment selon que l’échantillonnage d’importance fondée sur les modes locaux est appliquée ou non. Algorithme 8 : MRBPF-MAP si k = 1 − tirer x n,i k ∼ p(x n 0 ), i = 1, . . . , N − poser x l,i 0|0 = ¯x l 0 et P l 0|0 = P¯ 0 fin si si k = 2, . . . , n, − [Prédiction particulaire] Générer un échantillon x n,i k|k−1 ∼ p(x n k |x n 0:k−1 , y0:k−1) (cf. (2.39)), i = 1, . . . , N. Poser ω i k|k−1 = ω i k−1 , i = 1, . . . , N. − [Prédiction de Kalman] Pour i = 1, . . . , N, calculer xˆ l,i k|k−1 et P l k|k−1 d’après (2.34). − [Clustering] Décomposer le nuage de particules en Mk clusters Cj,k. [C 0 j,k, I0 j,k] = meanshiftClustering({x i k } N i=1, {ω i k } N i=1, K, hMS, Rm, nitermax, εMS) − [Correction particulaire] Calculer les poids non-normalisés omega ˜ i k = ω i k−1 p(yk|x n,i k , y0:k−1), i = 1, . . . , N où la vraisemblance p(yk|x n,i k , y0:k−1) est donnée d’après (2.40). − [Echantillonnage d’importance selon critère de dégénérescence] Pour j = 1, . . . , Mk – βj = P i∈Ij,k ω˜ i k – ω i k = ω˜ i k βj , i ∈ Ij,k – Calculer N j ef f ≤ Nth,MAP /Nj selon (4.33) – indexMAPj = 0 – Si N j ef f ≥ Nth,MAP /Nj – Poser x¯ n k|k−1,j = P i∈Ij,k ω i k|k−1x n,i k|k−1 – Poser x¯ l k|k−1,j = P i∈Ij,k ω i k|k−1x l,i k|k−1 – Poser Pˆn j,k|k−1 = P i∈Ij,k ω i k|k−1 (x n,i k|k−1 − x¯ n k|k−1,j )(x n,i k|k−1 − x¯ n k|k−1,j ) T118 4. Développement de filtres particulaires adaptés aux multimodalités – Poser Pˆl j,k|k−1 = P l k|k−1 + P i∈Ij,k ω i k|k−1 (x l,i k|k−1 − x¯ l k|k−1,j )(x l,i k|k−1 − x¯ l k|k−1,j ) T – Poser Pˆnl j,k|k−1 = P i∈Ij,k ω i k|k−1 (x n,i k|k−1 − x¯ n k|k−1,j )(x l,i k|k−1 − x¯ l k|k−1,j ) T – Poser Pˆ j,k|k−1 =   Pˆn j,k|k−1 Pˆnl j,k|k−1  Pˆnl j,k|k−1 T Pˆl j,k|k−1   et x¯j,k|k−1 =  x¯ n k|k−1,jT  x¯ l k|k−1,jT T . – Poser qj = ϕ(.|x¯j,k|k−1, Pˆ j,k|k−1). – Calculer xˆ ∗ j = arg maxx p(yk|x)qj (x) selon la méthode de la section 4.5.2. – Poser q˜j (x) = ϕ(x|xˆ ∗ j , Σ ∗ j ) avec Σ ∗ j = Pˆ j,k|k−1 ou Σ ∗ j = Prot – Tirer Nj échantillons i.i.d. ξ i ∼ q˜j avec i ∈ Ij,k−1 et Nj = Card(Ij,k−1) – Poser x n,i k = ξ n,i et x l,i k = ξ l,i avec ξ i =   ξ n,i ξ l,i  . – Calculer ω˜ i k et ω i k selon (4.82) et (4.83) – Poser βj,k = 1 Nj P i∈Ij,k−1 ω˜ i k – indexMAPj = 1 − Pour j = 1, . . . , Mk, calculer αj,k en fonction des {αj,k−1}1≤j≤Mk−1 et des {βj,k−1}1≤j≤Mk−1 en utilisant l’équation (4.92) − Calculer la moyenne pondérée partie non-linéaire xˆ n k = PMk j=1 P i∈Ij,k ω i kx n,i k . − [Ré-échantillonnage] Poser j = 1. Tant que j ≤ Mk – Si αj,k < αmin supprimer le cluster Cj,k et échantillonner Nj nouvelles particules selon la procédure décrite dans la section 4.3 – Sinon – Calculer N j ef f selon (4.33) – Si N j eff Nj est inférieur au seuil de ré-échantillonnage, ré-échantillonner et régulariser les particules du cluster Cj,k selon l’algorithme décrit dans la section 4.2 – j = j + 1 − Mettre à jour la fenêtre de lissage h MS de l’algorithme de clustering mean-shift − [Correction de Kalman] − Calculer P l k selon (2.36). – Pour j = 1, . . . , Mk – si indexMAPj = 0, calculer xˆ l,i k , i ∈ Ij,k−1 d’après (2.35) − calculer la moyenne a posteriori de la partie linéaire xˆ l k = PMk j=1 P i∈Ij,k ω i kx l,i k fin pour Les performances de cet algorithme seront illustrées dans la section suivante et comparées avec le RBPF standard.119 4.6 Evaluation des performances du MRPF, du MRPFMAP et du MRBPF-MAP Nous présentons dans cette section les performances des filtres développés sur la base de trois simulations : − Simulations A : comparaison du MRPF avec le RPF et le RBPF dans un cas nominal d’intensité de bruit de mesure, − Simulations B : comparaison du MRPF avec le MRPF-MAP dans un cas où la variance du bruit de mesure est petite, − Simulations C : comparaison du MRBPF-MAP avec le MRBPF et le RBPF dans les mêmes conditions que les simulations B. Pour chaque simulation, les résultats numériques issus des tirages Monte Carlo sont rapportés, ceci pour trois types de terrain. Dans un premier temps, nous introduisons les scénarios de référence (terrain et trajectoire associée) qui serviront de base aux simulations. Ensuite, nous rappelons le modèle d’état et d’observation. Enfin, nous présentons les performances en termes d’erreur quadratique moyenne et de taux de convergence. 4.6.1 Profils de terrain pour le recalage radio-altimétrique Afin d’évaluer les performances des algorithmes de recalage, nous nous appuyerons sur trois scénarios de navigation qui diffèrent essentiellement par le niveau d’ambigüité et/ou de dureté du profil de terrain. La dureté d’un terrain est une caractéristique locale du relief utilisée pour évaluer son degré de rugosité. Plus celle ci est grande, plus l’information contenue dans le terrain est importante. Il existe diverses définitions du facteur f de dureté, selon les industriels, la suivante est couramment utilisée en navigation par corrélation de terrain : f = rσT σp 2π (4.95) où − σT désigne l’écart-type de l’altitude locale − σp désigne l’écart-type de la pente locale Une valeur de f faible suggère que le terrain est localement plat tandis qu’une valeur de f élevée indique que le terrain est localement accidenté. On peut montrer que f ∝ σT XT , où XT est la longueur de corrélation du terrain et le rapport σT XT caractérise la rugosité de terrain d’après [27]. En pratique, la dureté f en un point de la carte est évaluée en moyennant la dureté nord fn et la dureté est fe. Afin de calculer fn et fe, les termes σT et σp sont calculées sur une croix nord-est de 5 km centrée sur le point d’intérêt. Type de terrain plat vallonné accidenté très accidenté extrêmement accidenté f 0 à 0.35 0.35 à 0.75 0.75 à 2 2 à 3.6 > 3.6 L’ambiguïté de terrain désigne la présence de portions de terrain dont les profils en altitude sont semblables. En terme de filtrage, plus un terrain est ambigu, plus l’intervalle de temps pendant lequel le filtre est multimodal est grand.120 4. Développement de filtres particulaires adaptés aux multimodalités Lors de l’évaluation et la comparaison des différents filtres de navigations, nous considérons des trajectoires rectilignes. Le radio-altimètre fournit une mesure à la fréquence de 10 Hz Les scénarios de navigation que nous considérons ont les caractéristiques suivantes : − Scénario 1 : Terrain peu ambigu, présentant une dureté moyenne. − Scénario 2 : Terrain ambigu en début de recalage, avec une dureté élevée. − Scénario 3 : Terrain très ambigu sur la première moitié de la trajectoire, moyennement ambigu sur la deuxième moitié de la trajectoire. La dureté le long de la trajectoire considérée est faible (f < 0.35). 4.6.2 Modèle d’état et d’observation Nous souhaitons estimer à chaque instant k ≥ 0, le vecteur d’erreur inertielle xk = h xk,1 xk,2 xk,3 xk,4 xk,5 xk,6 iT défini par xk =   δx δv   k (4.96) où δxk =     δxn δxe δxd     k (4.97) désigne le vecteur d’erreur en position horizontale dans le repère TGL (n, e, d) défini au chapitre 3, section 3.1.1. De même, δvk =     δvn δve δvd     k (4.98) est le vecteur d’erreur en vitesse horizontale dans ce même repère. La dynamique que nous considérons est un modèle double intégrateur défini par xk+1 = F xk + Gkwk (4.99) avec F =   I3 ∆I3 03 I3   Gk =   ∆2 2 I3 ∆I3   (4.100) − I3 est la matrice identité de taille − 03 est la matrice nulle de taille 3 × 3 − ∆ est la période d’échantillonnage. − wk est un bruit blanc gaussien de covariance Q121 (a) Profil de terrain et trajectoire (trait rouge) 0 10 20 30 40 50 60 70 80 90 1200 1300 1400 1500 1600 1700 1800 1900 temps (s) m (b) Hauteur de terrain le long de la trajectoire 0 10 20 30 40 50 60 70 80 90 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.2 3.4 dureté temps (s) (c) Dureté du terrain le long de la trajectoire122 4. Développement de filtres particulaires adaptés aux multimodalités (a) Profil de terrain et trajectoire (trait rouge) 0 20 40 60 80 100 120 400 500 600 700 800 900 1000 1100 1200 temps (s) m (b) Hauteur de terrain le long de la trajectoire 0 20 40 60 80 100 120 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 dureté temps (s) (c) Dureté du terrain le long de la trajectoire123 (a) Profil de terrain et trajectoire (trait rouge) 0 20 40 60 80 100 600 650 700 750 800 850 900 950 temps (s) m (b) Hauteur de terrain le long de la trajectoire 0 10 20 30 40 50 60 70 80 90 100 0 0.2 0.4 0.6 0.8 1 1.2 1.4 dureté temps (s) (c) Dureté du terrain sous la trajectoire124 4. Développement de filtres particulaires adaptés aux multimodalités Notons que dans cette étude, nous n’estimons pas les angles d’attitude étant donné que les trajectoires considérées sont assez courtes et ne permettent pas aux erreurs d’estimation d’attitude de converger suffisamment. Le modèle d’observation que nous considérons est celui d’une mesure altimétrique correspondant à la hauteur-sol bruitée par un bruit blanc additif gaussien v de variance σ 2 v . Soit λ˜, φ˜ et z˜, la latitude, longitude et altitude inertielle de l’aéronef. On introduit également le modèle numérique de terrain hMNT qui à une latitude λ et une longitude φ, fait correspondre la hauteur du relief hMNT (λ, φ). La mesure altimétrique y correspond à la différence entre l’altitude z du mobile et la hauteur du MNT correspond à la position horizontale (λ, φ) du mobile, à laquelle vient s’ajouter un bruit d’observation v ∼ N (0, σ2 v ). y = z − hMNT (λ, φ) + v (4.101) Compte tenu de l’orientation de l’axe d du TGL, l’altitude réelle z du mobile est reliée à l’altitude inertielle z˜ selon z = ˜z − δxd De même, la latitude réelle λ et la longitude réelle φ de l’aéronef s’obtiennent en fonction de leurs équivalents inertiels d’après les expressions suivantes : λ =λ˜ + δxn Rλ˜ + ˜z φ =φ˜ + δxe  Rφ˜ + ˜z  cos φ˜ (4.102) Finalement, l’équation d’observation est yk = ˜zk − xk,3 − hMNT  λ˜ + xk,1 Rλ˜ + ˜zk , φ˜ k + xk,2  Rφ˜ + ˜zk  cos φ˜ k   + vk (4.103) où Rλ˜ et Rφ˜ sont respectivement les rayons nord et est défini par les équations (3.9) et (3.10). 4.6.3 Critères de performances Pour chaque scénario nous calculons l’erreur quadratique moyenne (MSE), le taux de non divergence ainsi que la vitesse de convergence des algorithmes. Etant donné un estimateur xˆk de xk issu d’un algorithme particulaire, nous définissons momentanément ici l’erreur quadratique moyenne comme MSE(ˆxk) = Ep(xk,y0:k) h (ˆxk − xk)(ˆxk − xk) T i (4.104) Cette définition diffère légèrement de celle donnée dans le chapitre 1 et nous permet d’estimer l’erreur quadratique moyenne commise sur chacun des axes nord, est et down en position et vitesse. Dans les trois algorithmes considérés l’estimateur xˆk est la moyenne pondérée xˆk = X N i=1 ω i kx i k125 Géoïde z Figure 4.14 – Mesure altimétrique La vraie densité jointe p(xk, y0:k) étant inconnue, nous approchons le MSE sur la base de NMC = 200 réalisations du filtre : MSE(ˆxk) ≈ 1 NMC N XMC j=1 (ˆx j k − x j k )(ˆx j k − x j k ) T (4.105) où les termes xˆ j k et x j k représentent respectivement l’estimée du filtre et l’état vrai pour la j-ème réalisation du filtre. L’état vrai correspond à la vraie erreur inertielle simulée sur la bases des paramètres données dans la section 4.6.4.1. Afin d’évaluer l’efficacité des algorithmes en terme d’erreur, le MSE est comparé à la borne de Cramer-Rao a posteriori (BCR) qui correspond à une borne inférieure sur l’erreur quadratique du filtre optimal. Pour les modèles à espace d’état de type (2.6), l’erreur quadratique moyenne d’un estimateur xˆ0:k de x0:k est minorée par l’inverse de la matrice d’information de Fisher du modèle i.e. MSE(ˆx0:k) = E h (ˆx0:k − x0:k)(ˆx0:k − x0:k) T i ≥ J −1 0:k (4.106) où la matrice d’information de Fisher J0:k est définie de la manière suivante : J0:k = −Ep(x0:k,y0:k) " ∂ 2 ∂x2 0:k log p(x0:k, y0:k) # (4.107) En ce qui concerne cette étude, nous souhaitons plutôt une borne sur MSE(ˆxk). En décomposant J0:k en blocs Ak, Bk et Ck de taille respectives kd × kd, kd × d et d × d J0:k =   Ak Bk BT k Ck   (4.108)126 4. Développement de filtres particulaires adaptés aux multimodalités on a [114] MSE(ˆxk) ≥ J −1 k (4.109) Jk = Ck − BT k AkBk est la matrice d’information de Fisher associée à l’estimation de xk. En pratique, l’algorithme de Tichavsky et al. [114] qui permet de calculer Jk récursivement hors ligne. Enfin, nous estimons pour chaque filtre le taux de non-divergence qui est calculé comme le rapport du nombre de réalisations non-divergentes sur le nombre total de réalisations du filtre. On considère qu’il y a divergence d’une réalisation d’un filtre lorsque l’erreur entre l’état xk et l’estimée xˆk est grande devant la covariance de l’estimation. Plus précisément, si n désigne l’instant final de la trajectoire, une divergence est déclarée lorsque xn se trouve en dehors de l’ellipsoïde de confiance au seuil α associée à la distribution gaussienne centrée en xˆn et de covariance Pˆ n où Pˆ n désigne la covariance empirique du filtre. Autrement dit, une réalisation sera considérée divergente si (ˆxn − xn) TPˆ−1 n (ˆxn − xn) > χ2 d,1−α (4.110) où χ 2 2,1−α est le quantile d’ordre 1 − α de la distribution du khi-deux à d degrés de libertés. Dans les simulations, nous avons pris la valeur α = 0.001 pour le niveau de confiance. Ce critère est motivé par l’utilisation d’une approximation gaussienne de la distribution empirique pˆn = PN i=1 ω i n δxi n : en cas de non-divergence, l’état vrai xk doit se trouver dans l’ellipsoïde de confiance associée à la distribution gaussienne dont les moments sont ceux de pˆn. Nous reviendrons sur la divergence du filtre particulaire au chapitre 5, dans le cadre de sa détection en ligne. 4.6.4 Simulations A : évaluation des performances du MRPF Le MRPF est ici comparé à deux algorithmes particulaires classiques : − le filtre particulaire régularisé (RPF) présenté au chapitre 2, section 2.3 − le filtre particulaire Rao-Blackwellisé (RBPF) exposé au chapitre 2, section 2.4.1 4.6.4.1 Conditions de simulations Simulation de trajectoires inertielles Les trajectoires inertielles sont simulées en prenant les paramètres accélérométriques et gyrométriques suivants : − écart-type du biais accélérométrique : σa = 3.10−5 m.s−2 − période de corrélation du biais accélérométrique : τa = 60 s − écart-type du biais gyrométrique : σa = 10−6 rad.s−1 − période de corrélation du biais gyrométrique : τg = 60 s L’erreur initiale en position, vitesse et attitude suit une distribution gaussienne centrée de matrice de covariance P INS 0 = diag(σ 2 0,xn , σ2 0,xe , σ2 0,xd , σ2 0,vn , σ2 0,ve , σ2 0,vd , σ2 0,ϕ, σ2 0,θ, σ2 0,ψ) avec :127 − σ0,xn = 1000 m (écart-type en position Nord) − σ0,xe = 1000 m (écart-type en position Est) − σ0,xd = 100 m (écart-type en position Verticale) − σ0,vn = 3 m.s−1 (écart-type en vitesse Nord) − σ0,ve = 3 m.s−1 (écart-type en vitesse Est) − σ0,vd = 1 m.s−1 (écart-type en vitesse Verticale) − σ0,ϕ = σ0,θ = σ0,ψ = 0.05 π 180 ◦ (écarts-type en roulis, tangage et lacet) Paramètres du modèle de dynamique et de mesure − covariance du bruit de dynamique Q = diag  1 2 1 2 0.012  − écart-type du bruit de mesure du radio-altimètre σv = 15 m − période d’échantillonnage ∆ = 0.1 s Paramètres propres aux filtres RPF B NRP F = 5000 particules B seuil de ré-échantilonnnage : Nth = NRP F 2 MRPF B NMRP F = 5000 particules B Paramètres de l’algorithme mean-shift clustering : • rayon de fusion Rm = 100 m • nombre d’itérations maximum par procédure mean-shift : nitermax = 50 • seuil de convergence ε MS = 1 m B seuil de suppression de cluster αmin = 10−8 L’algorithme de clustering est appliqué toutes les 5 itérations afin de limiter le surcoût algorithmique RBPF B NRBP F = 5000 particules B seuil de ré-échantillonnage : Nth = NRBP F 2128 4. Développement de filtres particulaires adaptés aux multimodalités 4.6.4.2 Résultats numériques Scénario 1 0 20 40 60 80 100 100 101 102 103 104 temps (s) RMSE position nord (m) MRPF RBPF RPF BCR 0 20 40 60 80 100 100 101 102 103 104 temps (s) RMSE position est (m) MRPF RBPF RPF BCR 0 20 40 60 80 100 100 101 102 103 temps (s) RMSE position down (m) MRPF RBPF RPF BCR Figure 4.15 – RMSE en position ; noir : MRPF, vert : RBPF, bleu : RPF129 0 20 40 60 80 100 1 1.5 2 2.5 3 3.5 4 4.5 temps (s) RMSE vitesse nord (m.s−1 ) MRPF RBPF RPF BCR 0 20 40 60 80 100 0.5 1 1.5 2 2.5 3 3.5 4 temps (s) RMSE vitesse est (m.s−1 ) MRPF RBPF RPF BCR 0 20 40 60 80 100 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 temps (s) RMSE vitesse down (m.s−1 ) MRPF RBPF RPF BCR Figure 4.16 – RMSE en vitesse ; noir : MRPF, vert : RBPF, bleu : RPF130 4. Développement de filtres particulaires adaptés aux multimodalités Scénario 2 0 20 40 60 80 100 120 100 101 102 103 104 temps (s) RMSE position nord (m) MRPF RBPF RPF BCR 0 20 40 60 80 100 120 100 101 102 103 104 temps (s) RMSE position est (m) MRPF RBPF RPF BCR 0 20 40 60 80 100 120 100 101 102 103 temps (s) RMSE position down (m) MRPF RBPF RPF BCR Figure 4.17 – RMSE en position ; noir : MRPF, vert : RBPF, bleu : RPF131 0 20 40 60 80 100 120 1 1.5 2 2.5 3 3.5 4 temps (s) RMSE vitesse nord (m.s−1 ) MRPF RBPF RPF BCR 0 20 40 60 80 100 120 1 1.5 2 2.5 3 3.5 4 4.5 temps (s) RMSE vitesse est (m.s−1 ) MRPF RBPF RPF BCR 0 20 40 60 80 100 120 0 0.5 1 1.5 2 2.5 temps (s) RMSE vitesse down (m.s−1 ) MRPF RBPF RPF BCR Figure 4.18 – RMSE en vitesse ; noir : MRPF, vert : RBPF, bleu : RPF132 4. Développement de filtres particulaires adaptés aux multimodalités Scénario 3 0 20 40 60 80 100 101 102 103 104 temps (s) RMSE position nord (m) MRPF RBPF RPF BCR 0 20 40 60 80 100 101 102 103 104 temps (s) RMSE position est (m) MRPF RBPF RPF BCR 0 20 40 60 80 100 100 101 102 103 temps (s) RMSE position down (m) MRPF RBPF RPF BCR Figure 4.19 – RMSE en position ; noir : MRPF, vert : RBPF, bleu : RPF133 0 20 40 60 80 100 1 1.5 2 2.5 3 3.5 4 4.5 5 temps (s) RMSE vitesse nord (m.s−1 ) MRPF RBPF RPF BCR 0 20 40 60 80 100 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 temps (s) RMSE vitesse est (m.s−1 ) MRPF RBPF RPF BCR 0 20 40 60 80 100 0 0.2 0.4 0.6 0.8 1 1.2 1.4 temps (s) RMSE vitesse down (m.s−1 ) MRPF RBPF RPF BCR Figure 4.20 – RMSE en vitesse ; noir : MRPF, vert : RBPF, bleu : RPF134 4. Développement de filtres particulaires adaptés aux multimodalités MRPF RBPF RPF scénario 1 94 93 73 scénario 2 93 97 60 scénario 3 90 94 50 Table 4.2 – Simulations A : Taux de non divergence (%) Figure 4.21 – Conservation des modes du MRPF dans le scénario 3 : chaque mode est représenté par un nuage de point de couleur différente Analyse des résultats B scénario 1 : L’analyse du RMSE fait apparaître une précision légèrement meilleure en position du MRPF par rapport au RPF sur la partie centrale de la trajectoire, les erreurs de vitesse étant comparables. De plus, on constate que le MRPF est plus robuste aux divergences que RPF (21% de cas non divergents en plus pour le MRPF). B scénario 2 : ce terrain cumule deux types de difficultés pour le filtre particulaire : la présence d’ambiguïtés en début de recalage et l’apparition d’un dénivelé abrupt (canyon) sur la première portion du terrain, qui en terme de filtrage, correspond à un pic d’information élevé dont on a vu qu’il pouvait provoquer la divergence du filtre lorsque peu de particules tombent dans la zone d’intérêt. Ici le gain en robustesse du MRPF par rapport au RPF est bien plus marqué (33% de divergences en moins). L’erreur quadratique moyenne de la position pour les réalisations convergentes est la plus faible dans le RBPF en début de trajectoire ; sur la deuxième moitié de la trajectoire, le MRPF a un avantage en terme de précision sur le RPF et son RMSE est comparable à celui du RBPF. B Ce scénario est le plus ambigu des trois : le MRPF converge à une fréquence plus élevée135 que le RPF. On peut néanmoins constater une moindre précision du MRPF sur l’estimation des composantes de précision sur la la première moitié de la trajectoire. Ceci correspond au fait que l’algorithme maintient les modes plus longtemps que le RPF et le RBPF et que l’ambiguité persiste jusqu’à 45 secondes environ après le début du vol (cf. figure 4.21). Il se trouve que sur la portion de terrain considérée, les modes maintenus peuvent être relativement éloignés ce qui explique que l’estimation du MRPF (la moyenne pondérée) est moins précise sur la première moitié de la trajectoire. Nous observons sur les figures 4.15, 4.17 et 4.19 que le RMSE est éloigné de la BCR dans les phases multimodales, la BCR étant un critère de performance locale. En outre, le RMSE n’est pas le critère de performance le plus pertinent dans les phases multimodales car il est calculé avec l’état vrai et non avec l’espérance conditionnelle exacte qui est inconnue. Enfin, le temps de calcul du MRPF est de 1.8 fois supérieur à celui du RPF et 1.4 fois supérieur à celui du RBPF. 4.6.5 Simulations B : évaluation des performances du MRPF-MAP Afin d’illustrer les performances du MRPF-MAP, nous avons considéré un cas où la dynamique de l’aéronef est faiblement bruitée avec un radio-altimètre délivrant des mesures précises. Comme nous l’avons évoqué dans la section 4.5.1, les méthodes particulaires où la prédiction se fait selon le noyau de transition sont souvent peu efficaces, puisque beaucoup de particules sont propagées dans des zones de faible vraisemblance. Nous comparons ici le MRPF-MAP au MRPF en terme d’erreur quadratique moyenne et de robustesse aux divergences. 2 versions du MRPF-MAP utilisant deux densités d’importance légèrement différentes sont présentées-ci après : − MRPF-MAP 1 : utilise une loi d’importance locale q˜ = N (ˆx ∗ j , Pj ) (cf. 4.5.3.1) en cas d’incohérence entre la densité prédite et la fonction de vraisemblance. xˆ ∗ j et Pj désigne le MAP local et la covariance prédite du cluster d’indice j − MRPF-MAP 2 : utilise une loi d’importance locale q˜ = N (ˆx ∗ j , Prot) en cas d’incohérence entre la densité prédite et la fonction de vraisemblance où Prot est défini par (4.64). Les performances du RPF standard étant peu satisfaisantes dans le cas qui nous intéressent, elles ne sont pas exposées dans les résultats numériques. Afin de caractériser les performances du MRPF-MAP, nous distinguons deux situations : Cas faiblement multimodal Nous établissons les performances du MRPF-MAP lorsque le nombre de modes de la densité a posteriori est petit (inférieur à 10). L’objectif est d’évaluer l’apport de l’échantillonnage d’importance, lorsque le coût lié à la recherche des maxima locaux est modeste. Cette situation est simulée en considérant les paramètres suivants : − écart-type du bruit de mesure du radio-altimètre σv = 1 m − L’état initial x0 suit une distribution gaussienne centrée de covariance P INS 0 = diag((100m) 2 , (100m) 2 , (100m) 2 , (3m/s) 2 , (3m/s) 2 , (1m/s) 2 )136 4. Développement de filtres particulaires adaptés aux multimodalités Cas fortement multimodal Cette situation est caractérisée par la présence d’un nombre important de modes en début de recalage de sorte que l’échantillonnage d’importance basé sur les maxima locaux occasionne un coût de calcul non-négligeable s’il est appliqué brutalement. Afin de limiter ce surcoût algorithmique, l’échantillonnage d’importance de densité q˜ n’est activé uniquement que lorsque le filtre présente moins de 30 modes. Ce cas est simulé en prenant les paramètres suivants : − écart-type du bruit de mesure du radio-altimètre σv = 5 m − L’état initial x0 suit une distribution gaussienne centrée de covariance P INS 0 = diag((1000m) 2 , (1000m) 2 , (100m) 2 , (3m/s) 2 , (3m/s) 2 , (1m/s) 2 ) 4.6.5.1 Conditions de simulations Paramètres propres aux filtres MRPF B NMRP F = 4000 particules B seuil de ré-échantilonnage : Nth = NMRP F 2 MRPF-MAP B NMRP F −MAP = 3000 particules B seuil de déclenchement de l’échantillonnage selon la loi d’importance centrée sur le MAP : Nth,MAP = 3 4Nth B Algorithme d’optimisation : BFGS [10] B Paramètres de l’algorithme mean-shift clustering : • rayon de fusion Rm = 25 m • nombre d’itérations maximum par procédure mean-shift : nitermax = 50 • seuil de convergence ε MS = 1 m B seuil de suppression de cluster αmin = 10−10137 4.6.5.2 Résultats numériques Cas faiblement multimodal (scénario 2) 0 10 20 30 40 50 10−1 100 101 102 103 temps(s) RMSE position nord (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 10 20 30 40 50 10−1 100 101 102 103 temps(s) RMSE position est (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 10 20 30 40 50 10−1 100 101 102 temps(s) RMSE position down (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR Figure 4.22 – RMSE en position138 4. Développement de filtres particulaires adaptés aux multimodalités 0 10 20 30 40 50 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 temps(s) RMSE vitesse nord (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 10 20 30 40 50 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 temps(s) RMSE vitesse est (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 10 20 30 40 50 0 0.5 1 1.5 2 2.5 temps(s) RMSE vitesse down (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR Figure 4.23 – RMSE en vitesse139 Analyse des résultats Les taux de non-divergence sont de 92% pour le MRPF-MAP 1 et le MRPF-MAP 2 et de 78% pour le MRPF standard. Les courbes d’erreur quadratique moyenne de la figure 4.22 montrent que la borne de Cramer-Rao a posteriori sur l’erreur de postition est atteinte plus rapidement dans le cas de l’utilisation du MRPF. En revanche, le RMSE est plus élevé en début de recalage, ce qui peut s’expliquer par le fait que le MRPF-MAP maintient plus longtemps des clusters dont le recouvrement avec la fonction de vraisemblance est initialement faible mais augmente petit à petit. Les choix différents de la covariance de la densité d’importance ne semblent pas avoir d’incidence sur la robustesse ou la précision du MRPF-MAP.140 4. Développement de filtres particulaires adaptés aux multimodalités Cas fortement multimodal Scénario 1 0 20 40 60 80 100 100 101 102 103 temps(s) RMSE position nord (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 20 40 60 80 100 100 101 102 103 temps(s) RMSE position est (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 20 40 60 80 100 10−1 100 101 102 temps(s) RMSE position down (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR Figure 4.24 – RMSE en position141 0 20 40 60 80 100 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 temps(s) RMSE vitesse nord (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 20 40 60 80 100 0.5 1 1.5 2 2.5 3 3.5 4 4.5 temps(s) RMSE vitesse est (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 20 40 60 80 100 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 temps(s) RMSE vitesse down (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR Figure 4.25 – RMSE en vitesse142 4. Développement de filtres particulaires adaptés aux multimodalités Scénario 2 0 20 40 60 80 100 120 100 101 102 103 104 temps(s) RMSE position nord (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 20 40 60 80 100 120 100 101 102 103 104 temps(s) RMSE position est (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 20 40 60 80 100 120 10−1 100 101 102 temps(s) RMSE position down (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR Figure 4.26 – RMSE en position143 0 20 40 60 80 100 120 0.5 1 1.5 2 2.5 3 3.5 4 4.5 temps(s) RMSE vitesse nord (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 20 40 60 80 100 120 0.5 1 1.5 2 2.5 3 3.5 4 4.5 temps(s) RMSE vitesse est (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 20 40 60 80 100 120 0 0.5 1 1.5 2 2.5 temps(s) RMSE vitesse down (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR Figure 4.27 – RMSE en vitesse144 4. Développement de filtres particulaires adaptés aux multimodalités Scénario 3 0 20 40 60 80 100 100 101 102 103 temps(s) RMSE position nord (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 20 40 60 80 100 100 101 102 103 temps(s) RMSE position est (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 20 40 60 80 100 10−1 100 101 102 103 temps(s) RMSE position down (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR Figure 4.28 – RMSE en position145 0 20 40 60 80 100 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 temps(s) RMSE vitesse nord (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 20 40 60 80 100 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 temps(s) RMSE vitesse est (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR 0 20 40 60 80 100 0 0.2 0.4 0.6 0.8 1 1.2 1.4 temps(s) RMSE vitesse down (m) MRPF−MAP 1 MRPF−MAP 2 MRPF BCR Figure 4.29 – RMSE en vitesse146 4. Développement de filtres particulaires adaptés aux multimodalités MRPF-MAP 1 MRPF-MAP 2 MRPF scénario 1 78 78 72 scénario 2 80 82 73 scénario 3 78 76 73 Table 4.3 – Simulations B : Taux de non divergence (%) Analyse des résultats B scénario 1 : les deux versions du MRPF-MAP sont plus précises en termes de RMSE comparativement au MRPF sur une bonne partie de la trajectoire. En revanche, il semble que l’utilisation de la densité d’importance q˜2 ne permet pas de gagner en précision sur l’estimation de la position et de la vitesse de l’aéronef par rapport à q˜1 (voir la figure 4.24). Les deux versions du MRPF-MAP sont également plus robustes aux divergences (6% de cas convergents supplémentaires) que le MRPF standard. B scénario 2 : même constat ici ; les deux versions du MRPF-MAP permettent de gagner jusqu’à 10 mètres de précision supplémentaire en position nord et est dans la phase monomodale, et 3 mètres en erreur verticale (cf. figure 4.26). Le MRPF-MAP 1 et le MRPF-MAP 2 présentent ici des gains en taux de non-divergence de 7% et 9% respectivement relativement au MRPF. L’utilisation de la densité d’importance q˜2 dans le MRPF-MAP permet d’obtenir une modeste augmentation des cas convergents par rapport à q˜1. B scénario 3 : Le MRPF apporte un gain modéré en terme de robustesse (5% de cas convergents en plus pour le MRPF-MAP 1, 3% pour le MRPF-MAP 2). 4.6.6 Simulations C : évaluation des performances du MRBPF-MAP Le MRBPF-MAP est l’extension du MRPF-MAP obtenu en considérant un filtre particulaire Rao-Blackwellisé à la place du RPF standard. Dans l’algorithme MRBPF-MAP que nous avons implémenté, la procédure de régularisation a été conservé afin d’assurer la robustesse au petit bruit d’état. L’extension au RBPF est justifié expérimentalement par le fait que le filtre RaoBlackwellisé élimine plus rapidement les modes non-pertinents de la densité a posteriori. Dans ce cas, on peut espérer utiliser l’échantillonnage d’importance fondé sur les modes locaux dès les premiers instants de filtrage, là où il faut attendre quelques itérations dans le cas du MRPFMAP. Dans les simulations suivantes, l’échantillonnage selon la densité d’importance q˜ = ˜q2 n’est enclenché que lorsque le filtre comporte moins de 20 modes afin de limiter le temps de calcul lié à la recherche des modes. Les paramètres du modèles sont les suivants : B écart-type du bruit de mesure du radio-altimètre : σv = 5 m B l’état initial x0 suit une distribution gaussienne centrée de covariance P INS 0 = diag((1000m) 2 , (1000m) 2 , (100m) 2 , (3m/s) 2 , (3m/s) 2 , (1m/s) 2 )147 Paramètres propres aux filtres RBPF B NRBP F = 4000 particules B seuil de ré-échantilonnage : Nth = NRBP F 3 MRBPF et MRBPF-MAP B NMRBP F = 4000 particules B NMRBP F −MAP = 3000 particules B seuil de déclenchement de l’échantillonnage selon la loi d’importance centrée sur le MAP : Nth,MAP = 3 4Nth B seuil de suppression de cluster αmin = 10−20148 4. Développement de filtres particulaires adaptés aux multimodalités 4.6.6.1 Résultats numériques Scénario 1 0 20 40 60 80 100 100 101 102 103 temps (s) RMSE position nord (m) MRBPF−MAP MRBPF RBPF BCR 0 20 40 60 80 100 100 101 102 103 temps (s) RMSE position est (m) MRBPF−MAP MRBPF RBPF BCR 0 20 40 60 80 100 10−1 100 101 102 103 temps (s) RMSE position down (m) MRBPF−MAP MRBPF RBPF BCR Figure 4.30 – RMSE en position149 0 20 40 60 80 100 0.5 1 1.5 2 2.5 3 3.5 4 4.5 temps (s) RMSE vitesse nord (m.s−1 ) MRBPF−MAP MRBPF RBPF BCR 0 20 40 60 80 100 0.5 1 1.5 2 2.5 3 3.5 4 4.5 temps (s) RMSE vitesse est (m.s−1 ) MRBPF−MAP MRBPF RBPF BCR 0 20 40 60 80 100 0 0.5 1 1.5 2 2.5 3 3.5 4 MRBPF−MAP MRBPF RBPF BCR Figure 4.31 – RMSE en vitesse150 4. Développement de filtres particulaires adaptés aux multimodalités Scénario 2 0 20 40 60 80 100 120 100 101 102 103 temps (s) RMSE position nord (m) MRBPF−MAP MRBPF RBPF BCR 0 20 40 60 80 100 120 100 101 102 103 104 temps (s) RMSE position est (m) MRBPF−MAP MRBPF RBPF BCR 0 20 40 60 80 100 120 10−1 100 101 102 temps (s) RMSE position down (m) MRBPF−MAP MRBPF RBPF BCR Figure 4.32 – RMSE en position151 0 20 40 60 80 100 120 0.5 1 1.5 2 2.5 3 3.5 4 temps (s) RMSE vitesse nord (m.s−1 ) MRBPF−MAP MRBPF RBPF BCR 0 20 40 60 80 100 120 0.5 1 1.5 2 2.5 3 3.5 4 4.5 temps (s) RMSE vitesse est (m.s−1 ) MRBPF−MAP MRBPF RBPF BCR 0 20 40 60 80 100 120 0 1 2 3 4 5 6 7 8 9 temps (s) RMSE vitesse down (m.s−1 ) MRBPF−MAP MRBPF RBPF BCR Figure 4.33 – RMSE en vitesse152 4. Développement de filtres particulaires adaptés aux multimodalités Scénario 3 0 20 40 60 80 100 100 101 102 103 temps (s) RMSE position nord (m) MRBPF−MAP MRBPF RBPF BCR 0 20 40 60 80 100 100 101 102 103 104 temps (s) RMSE position est (m) MRBPF−MAP MRBPF RBPF BCR 0 20 40 60 80 100 10−1 100 101 102 103 temps (s) RMSE position down (m) MRBPF−MAP MRBPF RBPF BCR Figure 4.34 – RMSE en position153 0 20 40 60 80 100 0.5 1 1.5 2 2.5 3 3.5 4 4.5 temps (s) RMSE vitesse nord (m.s−1 ) MRBPF−MAP MRBPF RBPF BCR 0 20 40 60 80 100 0.5 1 1.5 2 2.5 3 3.5 4 4.5 temps (s) RMSE vitesse est (m.s−1 ) MRBPF−MAP MRBPF RBPF BCR 0 20 40 60 80 100 0 0.2 0.4 0.6 0.8 1 1.2 1.4 temps (s) RMSE vitesse down (m.s−1 ) MRBPF−MAP MRBPF RBPF BCR Figure 4.35 – RMSE en vitesse154 4. Développement de filtres particulaires adaptés aux multimodalités RBPF MRBPF MRBPF-MAP scénario 1 71 74 86 scénario 2 83 79 93 scénario 3 71 73 84 Table 4.4 – Simulations C : Taux de non divergence (%) Analyse des résultats B scénario 1 : de la 30ème à la 60ème seconde de la trajectoire, le RMSE des composantes de position du MRBPF-MAP est significativement inférieur à celui du RBPF et du MRBPF comme le montre la figure 4.30. Le gain en précision sur les composantes de vitesse est peu significatif excepté pour la composante de vitesse verticale. Enfin, le gain du MRBPF-MAP en terme de taux non-divergence est de 12% comparé au MRBPF et de 15% par rapport au RBPF standard. B scénario 2 : Ici, on remarque également que le RMSE en position du MRBPF-MAP est inférieur à celui du RBPF et du MRBPF à partir de la 20ème seconde (fig. 4.32). L’analyse de la figure 4.33 révèle que les composantes de vitesses ne sont pas estimées avec plus de précision par le MRBPF-MAP. Le taux de non-divergence du MRBPF-MAP est supérieur de 14% par rapport au MRBPF et 10% par rapport au RBPF. B scénario 3 : La figure 4.34 ne montre pas d’amélioration appréciable en précision pour le MRBPF-MAP pour les composantes de position. Le RMSE du MRBPF-MAP est légèrement plus élevé pour les composantes de vitesse horizontale (cf. fig. 4.35). En revanche le MRBPF-MAP converge à 84% contre 73% pour le MRBPF et 71% pour le RBPF. Pour le choix de paramètres précédent, le temps de calcul du MRBPF-MAP est environ 2.3 fois celui du RBPF.155 Conclusion du Chapitre 4 Nous avons développé dans ce chapitre un nouvel algorithme, le MRPF, permettant de gérer le caractère fortement multimodal de la loi a posteriori en début de recalage. Cet algorithme est étendu au filtre Rao-Blackwellisé et donne lieu au MRBPF. L’un des apports du MRPF est l’identification des modes de la loi empirique du filtre particulaire grâce à l’algorithme mean-shift. La formulation du MRPF sous forme de mélange de densités permet la régularisation locale du nuage de particules qui est plus robuste que l’implémentation classique de la régularisation qui suppose implicitement une loi a posteriori monomodale. Enfin, nous avons introduit une procédure d’échantillonnage d’importance fondée sur les modes locaux de la densité a posteriori. Chaque mode local est calculé en approximant la densité prédite de chaque composante du mé- lange par une densité gaussienne dont les moments sont calculés empiriquement. La matrice de covariance de la densité d’importance est orientée suivant les axes principaux de la loi a posteriori, ce qui permet de générer le nuage de particules dans les zones d’intérêt. Le déclenchement de cette procédure d’échantillonnage d’importance est fait adaptativement en contrôlant la taille effective de l’échantillon au niveau de chaque cluster. L’algorithme résultant, le MRPF-MAP, a été comparé au MRPF dans un cas où les techniques d’échantillonnage classiques sont mises en difficulté, par exemple lorsque la variance du bruit de mesure est petite. Des gains en robustesse et en précision des filtres proposés ont été observés sur ces scénarios. L’extension du MRPF-MAP au filtre Rao-Blackwellisé, notée MRBPF-MAP, a également été implémentée. Les simulations ont montré que l’utilisation de la procédure d’échantillonnage d’importance précédente permet d’obtenir des gains en terme de taux non-divergence encore plus significatifs que ceux obtenus avec le MRPF-MAP.156 4. Développement de filtres particulaires adaptés aux multimodalités157 Chapitre 5 Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique 5.1 Introduction Les algorithmes de filtrage particulaire permettent d’obtenir une estimation sur l’état d’un système donné avec une confiance associée. Cette estimation peut servir d’entrée à une architecture dont la fonction est potentiellement critique : il est donc nécessaire de contrôler tout au long de la procédure d’estimation la fiabilité de l’estimée particulaire. L’objectif de ce chapitre est de proposer un cadre de détection séquentielle de divergence du filtre particulaire. En première approximation, nous définirons la divergence du filtre comme un état tel que l’erreur d’estimation est grande devant le domaine de confiance représenté par le système de particules et tel que la succession des étapes de prédiction, de correction et de ré-échantillonnage ne permet pas au filtre de converger vers l’état vrai. Nous ouvrons ce chapitre avec un aperçu rapide des méthodes statistiques pour la détection de changement. Après avoir rappelé quelques résultats sur les détecteurs de divergence en filtrage de Kalman, nous formulons un test d’hypothèse pour la détection de divergence adapté aux filtres particulaires, que nous mettons en oeuvre grâce à l’algorithme CUSUM [98]. Nous illustrons ensuite les performances du détecteur de divergence sur la problématique du recalage altimétrique par filtrage particulaire et nous évaluons l’apport de la ré-initialisation du filtre en cas de détection de divergence. 5.2 Outils statistiques pour la détection de changement 5.2.1 Test d’hypothèses Dans les applications de détection de pannes ou de contrôle d’intégrité, on s’intéresse à une suite de données suivant un modèle paramétrique dont les paramètres subissent des changements158 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique brusques à des instants inconnus [4] : ces changements indiquent typiquement un évènement anormal (panne, . . . ). L’objectif est alors de déterminer au plus tôt si un changement a eu lieu et éventuellement à quel instant il est survenu. Formellement, c’est un problème de test d’hypothèse qui peut être séquentiel ou non. Soit (uk)k≥1 une suite variables aléatoires de R r , caractéristiques du système que l’on souhaite contrô- ler. On suppose que les uk sont indépendants et distribués selon une loi paramétrique de densité pθ, θ ∈ Θ où Θ est un sous-ensemble de R. Soit Θ0 et Θ1 deux sous-ensembles disjoints de l’espace des paramètres Θ. On souhaite décider entre les hypothèses H0 et H1 définis par    H0 : θ ∈ Θ0 H1 : θ ∈ Θ1 (5.1) Deux cas peuvent se produire : 1. Θ0 = {θ0} et Θ1 = {θ1} avec θ0, θ1 ∈ R. C’est un cas de test d’hypothèses simple. 2. Au moins l’un des ensembles Θi , i = 1, 2 contient plus d’un élément : c’est un test d’hypothèses composites Définition 1. Etant donné un n-échantillon u1, . . . , un, un test statistique entre deux hypothèses H0 et H1 est une application D : R r×n 7→ {0, 1} qui à (u1, . . . , un) 4 = U n 1 associe D(U n 1 ) =    0 si on accepte H0 1 si on accepte H1 D(U n 1 ) est une variable aléatoire appelée règle (ou fonction) de décision. La qualité d’un test d’hypothèses est habituellement évaluée grâce aux erreurs de première et deuxièmes espèces. L’erreur de première espèce α0(θ) est la probabilité de rejeter H0 sachant que H0 est vrai tandis que l’erreur de deuxième espèce α1(θ) est la probabilité de rejeter H1 à tort, i.e. α0 = P(D(U n 1 ) 6= 0|H0) α1 = P(D(U n 1 ) 6= 1|H1) Enfin la puissance d’un test β est définie comme la probabilité d’accepter H1 lorsque θ ∈ Θ1, càd β = 1 − α1. Lorsque l’hypothèse est composite α0 dépend de la valeur inconnue du paramètre θ ∈ Θ0. On définit alors le niveau α du test comme α = supθ∈Θ0 α0(θ). 5.2.2 Test séquentiel entre hypothèses simples L’analyse séquentielle consiste à déterminer un test entre deux hypothèses H0 et H1, lorsque les données (uk)k≥1 sont observées les unes après les autres [119, 4].159 Définition 2. Un test séquentiel entre H0 et H1 est un couple (D, T) où T est un temps d’arrêt et D(U T 1 ) une règle de décision. En général, les test séquentiels exigent une taille de données moindre pour des risques α0 et α1 donnés par rapport aux tests non-séquentiels. Définition 3. Etant donné deux hypothèses simples H0 : θ = θ0 et H1 : θ = θ1, on définit le rapport de vraisemblance Sk = ln pθ1 (U k 1 ) pθ0 (U k 1 ) . (D, T) est un test séquentiel du rapport de probabilités (ou SPRT pour Sequential Probability Ratio Test) entre H0 et H1 lorsque les données (uk)k≥1 sont observées séquentiellement et qu’à l’instant k : − on accepte H0 lorsque Sk ≤ −a − on accepte H1 lorsque Sk ≥ h − on recueille les données et on teste tant que −a < Sk < h où a et h sont des seuils finis. La règle de décision correspondante est D(U T 1 ) =    0 si ST ≤ −a 1 si ST ≥ h (5.2) où T = min {n ≥ 1 | {Sn ≤ −a} ou {Sk ≥ h}} est le temps d’arrêt. 5.2.3 Algorithme CUSUM pour la détection de changement en ligne L’algorithme CUSUM (CUmulative SUM) de Page [98] est un cas particulier de SPRT pour le test de changement de moyenne d’une distribution gaussienne univarié très utilisé en détection de changement. Dans sa version originale, on suppose que la suite de v.a. (uk)k suit une distribution gaussienne de densité pθ où θ est la moyenne et σ 2 la variance. De plus, on suppose qu’à un instant t0 inconnu, le paramètre θ change de valeur,    θ = θ0 si t < t0 θ = θ1 si t ≥ t0 (5.3) L’objectif étant de détecter la présence d’un changement de paramètre, le principe du CUSUM est de tester de manière répétée entre H0 : θ = θ0 et H1 : θ = θ1 en utilisant le SPRT. L’idée de Page est alors de réinitialiser le CUSUM tant que la décision est 0. Dès que la décision vaut 1, la procédure s’arrête et l’instant ta correspondant est le temps d’alarme. Le SPRT nécessite de préciser deux seuils −a et h : Page a montré de manière intuitive que le seuil a optimal est a = 0, ce qui fut démontré de manière plus rigoureuse par Shiryaev [111]. En notant Dk = D(U k 1 ) la règle de décision, celle-ci peut s’exprimer de manière récursive pour une distribution de densité pθ quelconque, comme : Dk =    Dk−1 + ln pθ1 (uk) pθ0 (uk) si Dk−1 + ln pθ1 (uk) pθ0 (uk) > 0 0 sinon (5.4)160 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique Le temps d’arrêt ta est alors défini par ta = inf {k ≥ 1 | Dk ≥ h} (5.5) Dans le cas où pθ est une densité gaussienne de moyenne θ, la fonction de décision se ré-écrit de la manière suivante : Dk = " Dk−1 + θ1 − θ0 σ 2 uk − θ1 + θ0 2 !#+ (5.6) où pour x ∈ R, (x) + = max(0, x). Supposons que le temps de changement t0 soit inconnu mais déterministe. Définition 4 (Temps moyen entre deux fausses alarmes). Le temps moyen T¯ entre deux fausses alarmes est défini par la quantité suivante : T¯ = Eθ0 (ta) (5.7) Définition 5 (Essentiel supremum). Soit (Yi)i∈I , une famille de v.a réelles sur (Ω, F, P), bornée par une autre variable. On dit que Y est l’essentiel supremum et on écrit Y = ess supi∈I Yi si − ∀i ∈ I, P(Yi ≤ Y ) = 1 − pour toute v.a. réelle Z, P(Yi ≤ Y ) = 1 ⇔ P(Y ≤ Z) = 1 Définition 6 (Délai moyen de détection conditionnel). Le délai moyen de détection conditionnel est défini par Et0 (ta − t0 + 1|ta ≥ t0, U t0−1 1 ) (5.8) où Et0 est l’espérance mathématique découlant de P 1 t0 , la distribution des observations u1,. . . ,ut0−1, ut0 ,. . . , uta , lorsque t0 = 1, 2 . . . . Le délai moyen de détection conditionnel permet de donner un sens au pire retard moyen. Le pire retard moyen correspond à une combinaison d’un temps de changement t0 et d’une trajectoire d’observations qui maximisent le délai moyen de détection conditionnel. Définition 7 (Pire retard moyen [78]). Le pire retard moyen τ ∗ est défini par τ ∗ = sup t0≥1 ess sup Et0 h ta − t0 + 1|ta ≥ t0, U t0−1 1 i (5.9) En détection de changement en-ligne, l’analogue de la puissance du test est la fonction ARL (Average Run Length). Définition 8 (Fonction ARL). On définit la fonction ARL comme ARL(θ) = Eθ(ta) (5.10) La fonction ARL est directement liée à deux indicateurs de performances de l’algorithme de détection :161 − Lorsque θ = θ0, ARL(θ0) = Eθ0 (ta) et la fonction ARL indique le temps moyen entre deux fausses alarmes. Idéalement, cette quantité doit être la plus grande possible. − Lorsque θ = θ1, ARL(θ1) = Eθ1 (ta) et la fonction ARL indique le délai moyen de détection, que l’on souhaite le plus petit possible. L’algorithme CUSUM est asymptotiquement optimal au sens où il minimise le pire retard moyen τ ∗ lorsque le temps moyen entre deux fausses alarmes tend vers l’infini [78]. Un résultat non asymptotique de Moustakides [87] montre que le CUSUM minimise le pire retard moyen parmi les algorithmes dont le temps moyen T¯ entre deux fausses alarmes vérifie T >¯ T¯ 0 où T¯ 0 est petit dans la plupart des cas. 5.3 Un aperçu sur les tests d’intégrité pour les filtres de Kalman Rappelons que le filtre de Kalman est le filtre optimal pour le modèle linéaire gaussien défini par :    xk = Fkxk−1 + wk yk = Hkxk + vk (5.11) où wk et vk sont des v.a. décrivant les bruits de dynamique et de mesure, wk et vk sont des bruits blanc centrés de matrices de covariance respectives Qk et Rk, indépendante de la condition initiale x0. Enfin, Fk, Bk, Hk et Dk sont des matrices déterministes et connues. Le filtre de Kalman consiste à calculer récursivement le couple moyenne/covariance prédite (ˆxk|k−1, Pk|k−1) ainsi que la moyenne et covariance corrigée (ˆxk, Pk), pour k ≥ 1 (voir le chapitre 1, section 1.3.1.1). 5.3.1 Définition et causes de divergences pour le filtre de Kalman et ses variantes Dans la littérature sur le filtre de Kalman, la divergence du filtre correspond au fait que la matrice de covariance de l’erreur d’estimation calculée par le filtre devient trop petite par rapport à la vraie matrice de covariance [40, 8]. Pour un modèle effectivement linéaire gaussien, le filtre de Kalman est le filtre optimal. Pour autant, la divergence peut survenir à cause : − d’une méconnaissance des paramètres du modèle (statistiques des bruits de dynamique et de mesure erronées par exemple) − d’erreurs numériques (inversion de matrices mal conditionnées, arrondis, troncature,. . . ) Les deux types d’erreurs peuvent faire que la matrice de covariance calculée par le filtre devient exagérément petite de sorte que les mesures reçues par le filtre n’influencent que marginalement l’estimation du filtre lors de l’étape de correction de Kalman. Les études sur la divergence du filtre de Kalman distinguent la divergence apparente (apparent divergence) et la vraie divergence (true divergence) [40]. La divergence apparente correspond à un filtre dont la matrice de covariance estimée reste bornée mais dont l’erreur associée est très grande. La vraie divergence correspond à une matrice de covariance calculée par le filtre qui162 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique augmente infiniment en norme [40]. Le filtre de Kalman étendu (EKF) et le filtre de Kalman sans parfum (UKF) sont des filtres qui procèdent pour le premier, par une linéarisation des équations du modèle et pour le second, par une approximation des moments a posteriori fondée sur une quadrature de Gauss. Dans le cas où les non-linéarités du système sont importantes au voisinage des états prédits et corrigés, les termes d’ordre 2 et plus ne sont pas toujours négligeables et l’EKF est susceptible de diverger. L’approximation de la moyenne et de la covariance a posteriori fournie par l’UKF est correcte à l’ordre 3 [63], mais cela ne garantit aucunement la stabilité du filtre lorsque la fonction est fortement non-linéaire. 5.3.2 Tests de détection de divergence en filtrage de Kalman Les tests de détection de divergence utilisés pour les filtres de Kalman reposent essentiellement sur les propriétés statistiques du processus d’innovation (k)k≥1 défini comme la différence entre la mesure reçue à l’instant k et la mesure prédite par le filtre yˆk|k−1 : k = yk − yˆk|k−1 (5.12) ce qui peut être ré-écrit sous la forme k = yk − Hkxˆk|k−1 (5.13) L’innovation quantifie l’information apportée par l’observation yk sur l’estimation de xˆk. En théorie, k est un bruit blanc gaussien de matrice de covariance Σk = HkPk|k−1HT k +Rk. Ceci permet de définir des tests d’hypothèses basés sur la distribution de k. L’un des tests les plus couramment utilisés est basé sur le fait que la v.a. rk =  T k Σ −1 k k suit une distribution du khi-deux à m degrés de libertés [8] où m est taille du vecteur des observations : une divergence peut être déclarée lorsque rk dépasse un seuil qα correspondant au quantile d’ordre α = 0.95, 0.99, . . . de la loi du khi-deux à m degrés de libertés. Des tests d’hypothèse vérifiant le caractère "blanc" de l’innovation ont également été proposés [84] : en effet, k est théoriquement un bruit blanc gaussien. Ces tests de blancheur sont basés sur la fonction d’autocorrélation empirique de k. D’un point de vue pratique, les test de divergence précédents ont été largement appliqués, notamment en hybridation GPS/INS par filtrage de Kalman [82, 2, 86, 61]. Un critère similaire relatif à l’EKF a été proposé par [109]. Dans ce critère la mesure prédite yˆk|k−1 est essentiellement approchée par hk(ˆxk|k−1) où hk est la fonction d’observation non-linéaire. [109] définit alors le processus normalisé ηk comme ηk =  yk − hk(ˆxk|k−1 T S −1 k  yk − hk(ˆxk|k−1  , (5.14) où Sk est la matrice approchée de l’innovation obtenue par linéarisation autour de l’état prédit. Sk = ∇T hk(ˆxk|k−1)Pk|k−1∇hk(ˆxk|k−1) + Rk (5.15) La divergence peut alors être détectée de la même manière que pour un filtre de Kalman standard en comparant ηk à un seuil.163 5.4 Détection de divergence en filtrage particulaire Etat de l’art Contrairement au filtre de Kalman, la problématique de détection de divergence en filtrage particulaire n’a pas fait l’objet de beaucoup d’études publiées. Une recherche bibliographique fait apparaitre les travaux de Giremus [49] et Turgut [116]. Les premiers portent sur le filtrage particulaire dans le cadre d’hybridation serrée GPS/INS et les seconds sur la localisation indoor à partir de signaux radio. Dans [49], l’auteur propose en réalité un critère de dégénérescence du filtre basé sur la somme des poids non-normalisés qui permet d’enclencher une procédure de régularisation. Ce n’est donc pas à strictement parler un critère permettant de détecter la divergence du filtre au sens d’une incohérence irrémédiable entre le nuage de particules et l’état vrai. Il est avancé que la taille effective de l’échantillon Nef f est un indicateur peu fiable de la dégénérescence du nuage de particule lorsque toutes les particules ont un poids non normalisé proche d’une valeur commune très faible. Ceci arrive par exemple lorsque le bruit de dynamique est petit, de sorte que les particules occupent une région étroite de l’espace. Ainsi, les vraisemblances sont comparables et par ricochet les poids normalisés aussi. Nef f peut alors être proche du nombre total de particules N, indiquant (à tort) que l’ensemble des particules n’est pas dégénéré. Etant donné l’ensemble des poids non normalisés {ω˜ i k} N i=1, la statistique de test proposée dans [49] est la somme des poids non normalisés Lk : Lk = X N k=1 ω˜ i k (5.16) Lk représente en fait une approximation de la vraisemblance prédite p(yk|y0:k−1) (voir l’équation (2.72), section 2.6.2). Sur la base de simulations, Giremus montre que le processus Lk oscille autour d’une moyenne < Lk > en cas de fonctionnement normal et est soumis à une brusque décroissance lorsque le filtre devient dégénéré. Ce changement de moyenne est détecté au moyen de l’algorithme CUSUM présenté précédemment. La particularité de ce test est qu’il nécessite d’estimer la moyenne en fonctionnement normal (hypothèse H0) en ligne : ceci au fait en prenant la moyenne de Lk sur une fenêtre glissante. A ce stade, nous notons que cette méthode a été utilisée dans [49] comme critère de ré-échantillonnage et régularisation et non pas de divergence au sens où le nuage de particules s’est éloigné irrémédiablement de l’état vrai. Par ailleurs, la statistique proposée n’est pas normalisée ce qui peut rendre son application dans un autre contexte difficile, notamment pour ce qui est du réglage des seuils intervenant dans le test. Dans [116], la méthode de détection proposée repose sur une évaluation de la divergence de Kullback-Leibler (2.21) DKL(p, pˆ) entre la distribution empirique pˆ donnée par le système de particules pondérées et la loi conditionnelle inconnue de densité p. Le cadre d’application étant celui de la localisation indoor d’une cible, l’état à estimer est de dimension deux (position horizontale). Pour évaluer DKL(p, pˆ), les auteurs cherchent une approximation de p, indépendante du filtre. La loi conditionnelle inconnue est exprimée selon la loi de Bayes, comme le produit de la loi a priori et de la fonction de vraisemblance. La loi a priori est représentée par une loi uniforme sur la surface admissible (par exemple, les corridors du bâtiment), tandis que la fonction de164 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique vraisemblance est représentée par une somme pondérée de fonctions constantes sur un domaine rectangulaire. Finalement, la constante de normalisation peut être calculée étant donné que le produit de la loi a priori et de la vraisemblance est « constant par morceaux », les morceaux étant des rectangles du plan. La densité a posteriori p est donc représentée par un histogramme bi-dimensionnel, dans lequel les rectangles sont de taille variable. Afin d’obtenir la divergence de Kullback-Leibler DKL(p, pˆ), les auteurs utilisent une technique analogue à l’intégration de Riemann en deux dimensions. La divergence est détectée lorsque DKL(p, pˆ) dépasse un seuil. L’objectif final est de réinitialiser le filtre une fois que la divergence est détectée. Les auteurs reportent des gains en erreur lorsque le détecteur de divergence est couplée au filtre particulaire, mais affirment que le seuil sur DKL(p, pˆ) doit être réglé précautionneusement de manière à ne ré-initialiser le filtre que lorsque le filtre ne peut plus se recaler lui même. De plus cette méthode n’est applicable que pour un vecteur d’état de dimension inférieure ou égale à 2, étant donné la nature de l’approximation de la divergence de Kullback-Leibler, ce qui restreint son utilisation au recalage altimétrique au cas où l’altitude est supposée connue. 5.5 Formulation d’un test d’hypothèse pour la détection de divergence d’un filtre particulaire Dans cette section, nous définissons un nouveau test d’hypothèse pour la détection de la divergence d’un filtre particulaire quelconque. Comme d’habitude nous considérons le système non-linéaire suivant :    xk = f(xk−1) + wk yk = h(xk) + vk (5.17) avec les hypothèses habituelles présentées au chapitre 2, section 2.2, auxquelles nous rajoutons les hypothèses suivantes : − la densité p(xk|xk−1) du noyau de transition est continue par rapport à xk et xk−1 − la fonction d’observation h est continue et bornée sur R d . Ces hypothèses ne sont pas très restrictives et sont vérifiées dans l’application qui nous inté- resse, puisque la densité du noyau de transition est gaussienne et la fonction h correspond à la hauteur-sol qui est bien sûr bornée. Dans la suite de cette section, sauf mention contraire, nous supposerons par souci de simplicité que les observations (yk)k≥0 sont scalaires et que (vk)k est une suite de v.a. gaussiennes indépendantes de variance σ 2 v . Enfin, l’hypothèse nulle H0 sera celle du fonctionnement normal du filtre, tandis que l’hypothèse alternative de divergence du filtre sera notée H1. En s’inspirant des résultats énoncés précédemment sur le filtre de Kalman, nous allons définir un test statistique basé sur la suite des innovations. L’innovation du filtre particulaire est ici définie comme  N k = yk − yˆ N k|k−1 (5.18)165 où yˆ N k|k−1 = X N i=1 ω i k−1h(x i k ) est la mesure prédite par le filtre. Déterminer la loi de l’innovation pour une fonction d’observation h quelconque semble dif- ficile dans le cas général. Afin de définir le test, nous proposons de calculer la moyenne et la variance de l’innovation  N k sous l’hypothèse de fonctionnement nominal H0 du filtre particulaire et conditionnellement aux mesures passées y0, . . . , yk−1, en approchant ces deux quantités par leur limite lorsque le nombre de particules est infiniment grand. 5.5.1 Approximation de la moyenne de l’innovation particulaire sous l’hypothèse de fonctionnement normal du filtre L’objectif de cette section est de déterminer une valeur approchée de la moyenne conditionnelle de l’innovation particulaire sous l’hypothèse de non-divergence H0, que l’on notera EH0   N k |y0:k−1  . Décomposons l’innovation  N k comme :  N k = yk − yˆ N k|k−1 = yk − yˆk|k−1 + ˆyk|k−1 − yˆ N k|k−1 = k + ˆyk|k−1 − yˆ N k|k−1 (5.19) où yˆk|k−1 = E (yk|y0:k−1) = Z h(xk)p(xk|y0:k−1) dxk est l’observation prédite par le filtre optimal et k = yk − yˆk|k−1 est l’innovation correspondante. On a, E (k|y0:k−1) = 0 (5.20) Soit ζ N k la différence entre la mesure prédite par le filtre optimal et celle prédite par le filtre particulaire. ζ N k = ˆyk|k−1 − yˆ N k|k−1 (5.21) On a : yˆk|k−1 = Z h(xk)p(xk|y0:k−1) dxk = ZZ h(xk)p(xk|xk−1)p(xk−1|y0:k−1) dxkdxk−1 = Z ψk−1 (xk−1) p(xk−1|y0:k−1) dxk−1 (5.22) où la fonction ψk−1 est définie par ψk−1 (x) = Z h(xk)p(xk|xk−1 = x) dxk ζ N k se ré-écrit donc sous la forme ζ N k = Z h(xk) [p(xk|y0:k−1) − pˆ(xk|y0:k−1)] dxk (5.23) = Z ψk−1 (xk−1) [p(xk−1|y0:k−1) − pˆ(xk−1|y0:k−1)] dxk−1 (5.24) = hψk−1, pk−1 − pˆk−1i (5.25)166 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique où pˆk−1 = PN i=1 ωk−1δx i k−1 est l’approximation particulaire de pk−1 = p(xk−1|y0:k−1). ψk−1 est continue d’après le théorème de continuité sous le signe somme étant donné que par hypothèse, l’intégrande xk−1 7→ h(xk)p(xk|xk−1) est continue. ψk−1 est également bornée car ψk−1 (x) = Z h(xk)p(xk|xk−1 = x) dxk ≤ khk∞ Z p(xk|xk−1 = x) dxk = khk∞ D’après le théorème 1 de convergence faible, ζ N k = hψk−1, pk−1 − pˆk−1i −−−−−→ N→+∞ 0 p.s. (5.26) Finalement, comme  N k = k + ζ N k , il vient E   N k |y0:k  = E(k|y0:k−1) + E(ζ N k |y0:k−1) = 0 + ζ N k −−−−−→ N→+∞ 0 p.s. où l’égalité E(ζ N k |y0:k−1) = ζ N k vient du fait que ζ N k est la différence de deux espérances conditionnellement à y0:k−1. En résumé, comme nous sommes sous l’hypothèse de fonctionnement normal du filtre, nous proposons d’approcher la moyenne conditionnelle de l’innovation du filtre par sa limite lorsque le nombre de particules est infiniment grand, c’est-à-dire, EH0   N k |y0:k−1  ≈ 0 (5.27) 5.5.2 Approximation de la variance de l’innovation particulaire sous l’hypothèse de fonctionnement normal du filtre Le calcul de la variance de  N k , conditionnellement à y0:k−1, se fait en reprenant la décomposition de l’innovation sous la forme  N k = k + ζ N k . On a donc σ 2  (k) = Var   N k |y0:k−1  (5.28) = Var  k + ζ N k |y0:k−1  = Var (k|y0:k−1) + Var  ζ N k |y0:k−1  (5.29) Puisque k ne dépend que de yk et ζ N k ne dépend que des particules prédites, k et ζ N k sont indépendantes conditionnellement à y0:k−1. En effet, vk est supposée indépendante de xk et de y0:k−1. Cherchons à présent une approximation pour Var  ζ N k |y0:k−1  . D’après (5.25), on a ζ N k = Z ψk−1 (xk−1) p(xk−1|y0:k−1) dxk−1 − X N i=1 ω i k−1ψk−1  x i k−1  (5.30) Le théorème suivant [31] est utile pour calculer la variance de ζ N k .167 Théorème 5 (Théorème central limite (TCL) pour l’algorithme SIS)). Soit {x i k , ωi k i = 1, . . . , N}k la suite de particules et poids obtenus avec l’algorithme SIS. Alors pour toute fonction continue bornée φ, la variable √ N Z φ (xk) p(xk|y0:k) dxk − X N i=1 ω i kφ  x i k  ! converge en loi vers une loi gaussienne N (0, vk (φ)) lorsque N → ∞ La variance asymptotique Vk (φ) s’exprime comme Vk (φ) = Z  φ (xk) − φ¯ k 2 g 2 0:k (x0:k)p(x0:k) dx0:k Z g0:k(x0:k)p(x0:k) dxk 2 (5.31) où g0:k(x0:k) = Qk p=0 gp(xp), gk étant la fonction de vraisemblance à l’instant k, et φ¯ k = Z φ (xk) p(xk|y0:k) dxk. Sous l’hypothèse H0, pour N suffisamment grand, Var  ζ N k  peut être approchée en considérant φ = ψk−1 dans le TCL : VarH0  ζ N k |y0:k−1  ≈ Vk−1(ψk−1) N (5.32) Le calcul du terme Vk−1(ψk−1) peut s’effectuer au moyen du système de particules comme dans [90]. En raison du ré-échantillonnage, Vk−1(ψk−1) ne peut pas être obtenu directement par l’application du TCL. Cependant, le SIR peut être vu comme un SIS entre 2 instants successifs de ré-échantillonnage. Par conséquent, Vk−1(ψk−1) peut être calculé via l’équation (5.31) en accumulant les observations entre 2 instants de ré-échantillonnage. Ainsi avant la première étape de ré-échantillonnage, Vk−1(ψk−1) ≈ N X N i=1 (ψk−1(x i k−1 ) − ψ¯ k−1) 2 g 2 0:k−1 (x i 0:k−1 ) X N i=1 g0:k−1(x i 0:k−1 ) !2 avec ψk−1(x i k−1 ) = Z h(xk)p(xk|x i k−1 ) dxk et ψ¯ k−1 = Z ψk−1 (xk−1) p(xk−1|y0:k−1) dxk−1. On a ψ¯ k−1 ≈ X N i=1 ω i k−1ψk−1  x i k−1  . Posons hˆ k|k−1 = X N i=1 ω i k−1h(x i k ). D’après (5.22), PN i=1 ω i k−1ψk−1  x i k−1  = hˆ k|k−1. La variance168 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique asymptotique Vk−1(ψk−1) s’exprime donc comme suit : Vk−1(ψk−1) ≈ N X N i=1 (h(x i k ) − hˆ k|k−1) 2 g 2 0:k−1 (x i 0:k−1 ) X N i=1 g0:k−1(x i 0:k−1 ) !2 (5.33) Notons k0 le dernier instant de ré-échantillonnage avant l’instant k. Alors Vk−1(ψk−1) s’écrit : Vk−1(ψk−1) ≈ N X N i=1 (h(x i k ) − hˆ k|k−1) 2 g 2 k0:k−1 (x i k0:k−1 ) X N i=1 gk0:k−1(x i k0:k−1 ) !2 (5.34) On a donc σ 2  (k) ≈ Var (k|y0:k−1) + Vk−1(ψk−1) N (5.35) Dans la variance conditionnelle de l’innovation k intervient également le terme Var (h(xk)|y0:k−1). Etant donné la nature du modèle (5.17), Var (k|y0:k−1) = Var (vk + h(xk) − E (h(xk)|y0:k−1)|y0:k−1) = σ 2 v + Var (h(xk) − E (h(xk)|y0:k−1)|y0:k−1) = σ 2 v + Var (h(xk)|y0:k−1) Sous l’hypothèse H0 de fonctionnement nominal, le système poids-particules permet d’approcher la quantité Var (h(xk)|y0:k−1). Var (h(xk)|y0:k−1) ≈ X N i=1 w i k−1  h(x i k ) − hˆ k|k−1 2 En effet, Var (h(xk)|y0:k−1) − X N i=1 w i k−1  h(x i k ) − hˆ k|k−1 2 = hh 2 , pk|k−1i − hh, pk|k−1i 2 + hh 2 , pˆk|k−1i − hh, pˆk|k−1i 2 = hh 2 , pk|k−1 − pˆk|k−1i + h hh, pk|k−1i − hh, pˆk|k−1i i hhh, pk|k−1i + hh, pˆk|k−1i i = hh 2 , pk|k−1 − pˆk|k−1i + hh, pk|k−1 − pˆk|k−1ihh, pk|k−1 + ˆpk|k−1i h étant continue bornée, les quantités hh 2 , pk|k−1 − pˆk|k−1i et hh, pk|k−1 − pˆk|k−1i convergent presque sûrement vers 0 lorsque N tend vers +∞ en vertu de 1, et donc PN i=1 w i k−1  h(x i k ) − hˆ k|k−1 2169 tend p.s. vers Var (h(xk)|y0:k−1). Finalement, de même que pour la moyenne conditionnelle, nous proposons d’approcher la variance conditionnelle de l’innovation du filtre particulaire sous H0 par une approximation obtenue lorsque le nombre de particule tend vers +∞ : VarH0   N k |y0:k−1  4 = σ 2  (k) ≈ σ 2 v + X N i=1 w i k−1  h(x i k ) − hˆ k|k−1 2 + Vk−1(ψk−1) N (5.36) 5.5.3 Cas d’un vecteur de mesure multidimensionnel Les calculs précédents se généralisent au cas où y est de dimension m ≥ 2 EH0   N k |y0:k−1  = 0 (5.37) CovH0   N k |y0:k−1  4 = Σ,k ≈ Rk + X N i=1 w i k−1  h(x i k ) − hˆ k|k−1  h(x i k ) − hˆ k|k−1 T (5.38) + Vk−1(ψk−1) N (5.39) Une application de la détection de divergence dans le cas où la mesure est multidimensionnelle est donné en annexe D.1. 5.5.4 Définition du test d’hypothèse Sur la base des résultats précédents, on peut définir l’hypothèse nulle comme    EH0   N k |y0:k−1  = 0 VarH0   N k |y0:k−1  = σ 2  (k) (5.40) La première étape est de considérer le processus d’innovation normalisé défini par : rk =  N k σ(k) (5.41) qui, conditionnellement à y0:k−1, est de moyenne nulle et de variance unité sous l’hypothèse H0. Posons θ = E (rk|y0:k−1). Le test proposé consiste à tester H0 : θ = 0 contre H1 : θ 6= 0. Etant donné que nous n’avons pas accès à toute la distribution du résidu rk mais seulement à une approximation des deux premiers moments, le test du rapport de vraisemblance généralisé [4, p. 121] est exclu. Nous proposons plutôt de définir l’hypothèse alternative comme un changement minimum dans la moyenne du résidu rk, i.e.,    EH1  rk|Yk−1  ≥ ν VarH1  rk|Yk−1  = 1 (5.42)170 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique 0 10 20 30 40 50 −5 −4 −3 −2 −1 0 1 2 3 4 5 (a) Cas convergent 0 10 20 30 40 50 60 −5 −4 −3 −2 −1 0 1 2 3 4 5 (b) Cas divergent Figure 5.1 – Comportement de l’innovation normalisée d’un filtre particulaire En toute rigueur, la variance VarH1  rk|Yk−1  est inconnue et dépend du type de dysfonctionnement de l’algorithme particulaire, mais on supposera qu’elle reste unitaire après divergence. Cette formulation nous permet entre autre d’utiliser le test CUSUM introduit précédemment. 5.6 Mise en oeuvre d’un test séquentiel pour la détection de divergence 5.6.1 Détection en ligne du changement de moyenne du processus d’innovation normalisé Etant donné la formulation précédente du test d’hypothèse, nous devons détecter au plus tôt l’instant de changement t0 qui vérifie    E (rk|y0:k−1) = 0 si k < t0 |E (rk|y0:k−1)| ≥ ν si k ≥ t0 (5.43) où rk est le du processus d’innovation normalisé. Ce problème est analogue à la détection séquentielle d’une déviation de la moyenne dans une suite de variables aléatoires gaussiennes i.i.d u1, u2, . . . , uk vérifiant :    Var(uk) = σ 2 ∀k m 4 = E(uk) = 0 for k ≤ t0 |m| = ν for k ≥ t0 (5.44)171 Afin de détecter une éventuelle divergence du filtre, nous utilisons un test CUSUM bilatéral (two-sided CUSUM) [4] pour détecter à la fois les augmentations et les diminutions de la moyenne de rk d’amplitude supérieure ou égale à ν. Pour la séquence u1, u2, . . . , uk, le temps d’arrêt du CUSUM bilatéral est défini par : t T S a = inf n k ≥ 1 : (D + k ≥ h)ou (D − k ≥ h) o (5.45) où D + k est la fonction de décision correspondant au test d’une augmentation de la moyenne, D − k est la fonction de décision correspondant au test d’une diminution de la moyenne et h est un seuil de détection. D + k =  D + k−1 + ν σ 2  uk − ν 2 + (5.46) D − k =  D − k−1 + ν σ 2  −uk − ν 2 + (5.47) avec D + 0 = D − 0 = 0. D’après [78], le CUSUM est optimal pour le critère du pire délai moyen τ ∗ . Le choix des paramètres h et ν influence fortement τ ∗ et le temps moyen entre deux fausses alarmes T¯. Nous avons rappelé (5.2.3) que le pire délai moyen de détection τ ∗ et le temps moyen entre deux fausses alarmes T¯ pouvaient tous les deux s’exprimer au moyen de la fonction m 7→ ARL(m) = Em(ta) : T¯ = ARL(0) (5.48) τ ∗ = ARL(ν) (5.49) Pour un test CUSUM bilatéral symétrique, la fonction ARL, notée ARLT S, peut s’exprimer grâce aux fonctions ARL des tests CUSUM unilatéraux dont les fonctions de décisions sont D + k et D − k . 1 ARLT S(θ) = 1 ARL−(θ) + 1 ARL+(θ) , (5.50) où ARL+(θ) (resp. ARL−(θ)) est la fonction ARL du test CUSUM de fonction de décision D + k (resp. D − k ) défini par (5.46) (resp. (5.47)). La fonction ARL d’un test CUSUM unilatéral vérifie [4] : ARL(θ) = Nθ(0) 1 − Pθ(0), (5.51) où θ est le paramètre définissant la densité de probabilité du logarithme du rapport de vraisemblance zk correspondant à une observation. Les uk étant supposés gaussiens, zk = ν σ 2  uk − ν 2 172 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique Les fonctions z 7→ Nθ(z) et z 7→ Pθ(z) sont définies par les intégrales de Fredholm de deuxième espèce [4] : Pθ(z) = Z −z −∞ fθ(x)dx + Z h 0 Pθ(x)fθ(x − z)dx (5.52) Nθ(z) = 1 + Z h 0 Nθ(x)fθ(x − z)dx (5.53) avec 0 ≤ z ≤ h, et où la fonction fθ est appelée noyau de l’équation intégrale. Dans le cadre de la détection de changement fθ correspond à la densité de probabilité du logarithme du rapport de vraisemblance zk. Etant donné que zk est gaussien, fθ sera une densité gaussienne de paramètre θ = (E(zk), Var(zk))T E(zk) = ν σ 2 (m − ν 2 ) Var(zk) = ν 2 σ 2 . La méthode couramment utilisée pour résoudre numériquement (5.52) et (5.53) consiste à remplacer les équations intégrales par un système d’équations algébriques en approchant les intégrales par quadrature de Gauss. En guise d’illustration, nous avons étudié l’influence du seuil h sur τ ∗ et T¯ pour le test défini par (5.45). Les valeurs considérées ici sont σ 2 = 1 et ν = 3. Pour un seuil h fixé, nous notons m 7→ ARL(m; h) la fonction ARL correspondante. Les valeurs ARL(−3 + i 2 ; h) ont été calculées pour i = 0, 1, . . . , 6. Les résultats sont illustrés sur la figure 5.2. Comme on peut s’y attendre, le temps moyen entre deux fausses alarmes T¯ h = ARL(0; h) dépend fortement du seuil h ; il est d’autant plus important que h est grand. Le délai moyen de détection h 7→ ARL(m; h) for |m| ≥ ν croit également avec h mais à une vitesse plus lente. Nous confirmerons ce dernier point lors des simulations expérimentales. 5.6.2 Choix des paramètres Jusqu’ici, nous avons supposé que les paramètres ν (saut de moyenne de l’innovation normalisée rk) et σ 2 (variance de rk) étaient entièrement connus. Nous avons vu que σ 2 ≈ 1 sous l’hypothèse H0 de non-divergence. La véritable variance après divergence étant inconnue, nous l’avons supposée égale à 1 sous H1. De même, le saut ν n’est pas connu a priori mais dépend du problème de détection auquel on est confronté. On peut par exemple choisir ν = 3σ en partant du fait que si rk était gaussien et centré P(|rk| < 3σ) = 0.997 : l’objectif est alors de détecter un changement de moyenne situé en dehors de l’intervalle de confiance à 99.7% [−3σ, 3σ]. Une fois le paramètre ν, le seuil h peut être choisi grâce à la fonction ARL : on choisit le seuil h tel que le temps moyen entre deux fausses alarmes T¯min = ARL(0; h) vérifie ARL(0; h) ≥ T¯min où T¯min est défini par l’utilisateur. Sensibilité du CUSUM à une erreur sur les paramètres Un aspect important en détection de changement est la sensibilité de l’algorithme de détection173 -5 -4 -3 -2 -1 0 1 2 3 4 5 100 101 102 103 104 105 106 m Two-sided CUSUM ARL(m) h=3 h=7 h=12 Figure 5.2 – Famille de fonctions ARL m 7→ ARL(m; h) pour h = {3, 4, . . . , 12}. à une erreur sur l’un des paramètres. En l’occurence, le test de divergence s’appuie sur les valeurs nominales de la moyenne m = 0 et de la variance σ 2 = 1 du processus d’innovation normalisé rk en l’absence de divergence. Ces valeurs ont été obtenues en remplaçant toutes les quantités faisant intervenir le filtre optimal et incalculables directement, par leurs équivalents particulaires, dont on suppose qu’ils fournissent de bonnes approximations dans l’hypothèse de fonctionnement normal du filtre. Or, nous avons fait comme si les valeurs exactes étaient utilisées dans le test de détection. A titre d’exemple, étudions l’influence d’une erreur sur σ en examinant la fonction ARL. On défini le ratio R = σ 2 t σ2 entre la vraie valeur σ 2 t de la variance de r et sa valeur supposée. Les fonctions ARL m 7→ ARL(m; R) sont calculées pour R = 0.5, 0.6, . . . , 1.5 et h = 6 (cf. figure 5.3). On constate que le temps moyen avant une fausse alarme est très sensible à la valeur de R. En revanche, le retard moyen de détection est peu sensible à R. 5.6.3 Evaluation des performances du détecteur de divergence dans le cadre du recalage radio-altimétrique L’objectif de cette section est d’évaluer la capacité de l’algorithme de détection présenté précédemment à repérer au plus tôt la divergence d’un filtre de navigation. Notons que le surcoût algorithmique de la module de détection est très modeste étant donné que le calcul le plus174 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique -5 -4 -3 -2 -1 0 1 2 3 4 5 100 102 104 106 108 1010 1012 Two-sided CUSUM ARL( ) R=1.5 R=0.5 R=1 m m Figure 5.3 – Fonctions m 7→ ARL(m) pour différents ratios R = {0.5, 0.6, . . . , 1.5}.175 complexe est celui de Var(h(xk)|y0:k−1) qui se fait avec le système poids-particules n ω i k−1 , xi k oN i=1 dont dispose le filtre à l’instant k. Notre étude se base sur trois principaux indicateurs de performances : − Le taux de fausses alarmes TFA : il est défini comme la fréquence à laquelle le test CUSUM bilatéral déclenche une alarme à un instant t T S a < t0, où t0 est le vrai instant d’une éventuelle divergence, avec la convention t0 = ∞ lorsque le filtre n’a pas divergé sur toute la durée de la simulation. − le taux de non-détection TND : il s’agit de la fréquence avec laquelle l’algorithme de détection ne déclenche aucune alarme pendant toute la durée de la simulation alors que le filtre a réellement divergé. − le délai de détection moyen τ = Et0 (t T S a − t0 + 1 | t T S a ≥ t0) Les trois indicateurs seront évalués sur les trois scénarios de navigation définis au chapitre 4, section 4.6.1. La démarche consiste tout d’abord à simuler un nombre NMC de trajectoires réelles de durée finie n. Pour chaque trajectoire, on simule également la suite d’observations correspondante selon l’équation de mesure du radio-altimètre. Enfin, un algorithme particulaire doté du détecteur de divergence est enclenché pour chaque couple trajectoire/observation : ceci donne lieu aux instants d’alarmes t T S a,i , i = 1, . . . , NMC et aux vrais instants de divergences t0,i, i = 1, . . . , NMC. On note NF A le nombre total de fausses alarmes et NND le nombre de divergences non détectées. Les taux de fausses alarmes et de non-détection s’expriment alors simplement comme : TFA = NF A NMC (5.54) TND =NND NT D (5.55) où NT D désigne le nombre total de divergences réelles. Le délai de détection moyen est calculé selon : τ = PNMC i=1 (t T S a,i − t0,i + 1)✶{t T S a,i ≥t0,i} PNMC i=1 ✶{t T S a,i ≥t0,i} (5.56) Afin de calculer ces quantités efficacement, le vrai instant de divergence t0 doit être identi- fié automatiquement. Pour cela, nous avons utilisé le MRPF car il permet d’identifier aisément l’instant de décrochage du filtre pour les raisons qui sont exposée ci-après. On suppose qu’à l’instant k, la densité a posteriori empirique pˆk|k se décompose en Mk composantes unimodales pˆk|k = X Mk j=1 αj,kpˆj (xk|y0:k) (5.57) Rappelons que chaque composante pˆj (xk|y0:k) est représenté par un cluster de particules, pour lequel nous pouvons calculer la moyenne conditionnelle intra-cluster xˆ j k ≈ R xkpj (xk|y0:k)dxk et la matrice de covariance empirique Σˆj k ≈ R (xk − xˆ j k )(xk − xˆ j k ) T pj (xk|y0:k)dxk. Nous dirons alors que le filtre a divergé à l’instant t0 si : pour j = 1, . . . , Mk aucune des ellipsoïdes de confiance de176 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique niveau β, associée à la distribution gaussienne de moyenne xˆ j k et de covariance Σˆj k , ne contient l’état vrai xk, ceci pendant L instants consécutifs, i.e. pour tout k = t0, t0 + 1, . . . , t0 + L − 1. L’introduction d’une fenêtre temporelle de taille L permet d’avoir un critère représentatif d’une "vraie" divergence dans la mesure où il est possible qu’aucune ellipse ne contienne l’état vrai à un instant t donné sans pour autant que cela signifie qu’il y ait une dérive irrémédiable de l’estimée particulaire. Dans les simulations numériques, nous avons fixé L = 5 et un niveau de confiance β = 0.999. Enfin le nombre de réalisations Monte Carlo a été fixé à NMC = 250. Paramètres du modèle − covariance du bruit de dynamique Q = diag  1 1 0.012  − écart-type du bruit de mesure du radio-altimètre σv = 10 m − période d’échantillonnage ∆ = 0.1 s − Loi initiale : x0 ∼ N (06×1, P0), avec P0 = diag(10002 , 10002 , 1002 , 3 2 , 3 2 , 1 2 ) Le filtre utilisé est le MRPF avec NMRP F = 3000 particules. Afin d’obtenir un nombre comparable de trajectoires convergentes et divergentes, le seuil de suppression de cluster αmin (cf. 4.3) a été fixé à une valeur artificiellement élevée αmin = 10−2 , augmentant la probabilité de suppression du cluster correspondant au mode vrai. Figure 5.4 – Clusters et ellipsoïdes de confiance dans le MRPF Analyse des résultats On rappelle que les trajectoires des scénarios 1,2 et 3 sont de durées respectives 901, 1001 et 1001 unités de temps (1 unité de temps = 0.1 s). L’analyse des performances de l’algorithme de détection s’est faite en prenant en compte l’ambiguïté du terrain survolé. Afin de calculer les trois indicateurs TFA, τ et TND, nous avons fixé le177 saut de moyenne à ν = 3 et fait varier le seuil de détection h du CUSUM bilatéral entre 8 et 13. Les résultats sont présentés sur les tableaux 5.1, 5.2 et 5.3. Lorsque le terrain est peu ambigu (scénario 1), la différence entre la mesure actuelle yk et la mesure prédite yˆk|k−1 augmente rapidement en cas de divergence. On s’attend alors à ce que le détecteur CUSUM détecte rapidement le dysfonctionnement du filtre : ceci est illustré par la figure 5.5a. En revanche lorsque le terrain est ambigu (scénario 3), les similarités de profil sont telles que la mesure prédite yˆk|k−1 par le filtre peut être proche de yk pendant un certain temps bien que le filtre ait divergé : un cas extrême est présenté dans la figure 5.5b (scénario 3) où le résidu oscille autour de zéro pendant une longue période même après l’instant de divergence. La détection ne peut alors se faire qu’une fois l’ambiguïté levée. Ceci se vérifie par simulation : en effet, on observe dans le tableau 5.2 que plus l’ambiguïté est grande, plus le délai de détection est important. En particulier pour le scénario 3, le délai de détection est 5 à 10 fois plus important que celui observé pour les scénarios 1 et 2. Ceci peut être pénalisant dans l’optique d’une ré-initialisation du filtre. Nous avons également étudié l’influence du seuil de détection sur les indicateurs TFA, τ et TND. On observe qu’il est possible qu’il est possible d’atteindre des taux de fausses alarmes en dessous de 1% en prenant h ≥ 12. De plus, l’évolution du taux de fausses alarmes TFA et du délai de détection en fonction de h est cohérente avec l’analyse faite sur le modèle de changement de moyenne dans une suite de variables aléatoires gaussiennes (section 5.6.1). En effet, le taux de fausses alarmes est plus sensible aux variations de h que le taux de non détection. Enfin le taux de non-détection (tableau 5.3) est également moins sensible à h que le taux de fausses alarmes.178 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique 0 1 2 3 4 5 6 7 −12 −10 −8 −6 −4 −2 0 2 4 temps (s) t0 ta (a) Terrain peu ambigu 0 10 20 30 40 50 60 −12 −10 −8 −6 −4 −2 0 2 4 temps (s) t0 ta (b) Terrain très ambigu Figure 5.5 – Innovation normalisée d’un filtre de recalage : cas favorable (a)/défavorable (b) à la détection rapide de divergence179 seuil CUSUM scénario 1 scénario 2 scénario 3 h = 8 6 5.2 6.8 h = 9 3.6 2.4 1.6 h = 10 2 1.2 0.4 h = 11 1.2 0.8 0.4 h = 12 0.8 0.4 0 h = 13 0.4 0.4 0 Table 5.1 – Taux de fausses alarmes TFA (%) seuil CUSUM scénario 1 scénario 2 scénario 3 h = 8 1.9 4.1 14 h = 9 1.9 4.3 16.6 h = 10 2 4.3 18.9 h = 11 2.1 4.3 19.3 h = 12 2.2 4.3 20.5 h = 13 2.2 4.4 22.3 Table 5.2 – Délai moyen de détection τ (en secondes, mesures délivrées à 10 Hz) ; Durée des trajectoires : 100 s seuil CUSUM scénario 1 scénario 2 scénario 3 h = 8 2.4 3.2 3.2 h = 9 2.8 3.6 4.4 h = 10 3.6 5.2 4.4 h = 11 4 5.6 5.2 h = 12 4.4 6.8 5.6 h = 13 5.2 6.8 6.8 Table 5.3 – Taux de non-détection TND (%)180 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique 5.7 Ré-initialisation du filtre particulaire après divergence L’algorithme de détection de divergence présenté précédemment présente un intérêt évident : la possibilité de déclencher la ré-initialisation du filtre une fois la divergence détectée. Nous proposons d’ajouter une étape de ré-initialisation prenant en compte l’incertitude courante de la centrale inertielle ainsi que la ou les dernières observations altimétriques accumulées. Le modèle de dérive inertielle considéré est donné par (4.99). 5.7.1 Choix de la loi a priori pour la ré-initialisation du filtre L’option la plus directe consiste à ré-initialiser le filtre à partir de l’état courant donné par la centrale inertielle. Supposons qu’une divergence soit détectée à l’instant ta. L’erreur inertielle initiale x0 est modélisée comme une variable aléatoire gaussienne centrée et de covariance P0. Etant donné la nature linéaire du modèle d’état (4.99), l’erreur inertielle xk à un instant k quelconque est également une distribution gaussienne de moyenne nulle et de covariance donnée par : P x k 4 = Cov(xk) = F kP0(F k ) T + k X−1 j=0 F jGk−j+1QGT k−j+1(F j ) T (5.58) En effet, on montre par récurrence que xk = F kx0 + X k j=1 F j−1Gk−jwk−j d’où E(xk) = 0 puisque E(x0) = 0 et E(wp) = 0 pour tout p ≤ k. De plus, P x k = E  F kx0 + X k j=1 F j−1Gk−jwk−j   F kx0 + X k l=1 F l−1Gk−lwk−l !T = F kE(x0x T 0 )(F k ) T + E  F kx0 X k l=1 F l−1Gk−lwk−l !T   + E     X k j=1 F j−1Gk−jwk−j   (F kx0) T   + E   X k j=1 F j−1Gk−jwk−j   X k l=1 F l−1Gk−lwk−l !T = F kP0(F k ) T + 0 + 0 + X 1≤j≤l≤k F j−1Gk−jE(wk−jw T k−l )G T k−l (F l−1 ) T = F kP0(F k ) T + X 1≤j≤l≤k F j−1Gk−jδj,lQGT k−l (F l−1 ) T = F kP0(F k ) T + X k j=1 F j−1Gk−jQGT k−j (F j−1 ) T = F kP0(F k ) T + k X−1 j=0 F jGk−j+1QGT k−j+1(F j ) T181 Le terme E  F kx0 Pk l=1 F l−1Gk−lwk−l T  de la seconde ligne se décompose comme F kE(x0)E X k l=1 F l−1Gk−lwk−l !T = 0 étant donné l’indépendance de la condition initiale x0 et du processus de bruit (wk)k. Enfin, le caractère i.i.d. gaussien de w0, . . . , wk de bruit donne E(wk−jw T k−l ) = δj,lQ. La procédure de ré-initialisation peut se faire en tirant N particules x i ta en prenant comme loi a priori 1. la loi de densité p(xta ), gaussienne centrée et de covariance Pta 2. la loi conditionnelle de densité p(xta |yta−m+1:ta) qui prend en compte les m dernières mesures accumulées par le filtre La première méthode est une ré-initialisation complètement aveugle puisqu’elle ne prend pas en compte les mesures reçues par le radio-altimètre. Elle est donc potentiellement pénalisante lorsque le délai de détection est grand, puisque dans ce cas la matrice de covariance Pta de la loi a priori est très grande ce qui veut dire que le filtre peut mettre un certain temps avant de reconverger. La seconde méthode permet de diminuer l’incertitude d’autant plus que le terrain varie fortement au voisinage de la position inertielle à l’instant ta et que le nombre m de mesures est important. Pour la mettre en oeuvre il faut néanmoins échantillonner efficacement p(xta |yta−m+1:ta) ou une approximation de cette de cette densité. Soit Y 4 =  yta yta−1 · · · yta−m+1T . Dans le cas d’un véhicule dont le déplacement entre les instants ta − m + 1 et ta autorise la linéarisation du profil de terrain hMNT entre ces instants, on peut montrer que (cf. annexe D) Y = Z˜ + H1x (2) ta −        hMNT (λ(xta,1), φ(xta,2)) . . . hMNT (λ(xta,1), φ(xta,2))        + V (5.59) où Z˜ =  z˜ta z˜ta−1 · · · z˜ta−m+1T est le vecteur des m dernières altitudes inertielles. x (2) ta est la partie linéaire de xta et H1 est défini par H1 =           −1 (m − 1)∇h T MNT (λ(xta,1), φ(xta,2)) (m − 1) . . . . . . . . . −1 (m − 1)∇h T MNT (λ(xta,1), φ(xta,2)) 1 −1 0 0           Le terme hMNT (λ(xta,1), φ(xta,2)) désigne la hauteur du terrain à la position courante dont la latitude et longitude s’exprime en fonction de la latitude et longitude inertielle (λ, ˜ φ˜) et de l’écart182 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique métrique nord-est (xta,1, xta,2) selon (4.102). Enfin V est un bruit additif décrit par : V =           vta−m+1 + Pm l=2(l − 1)[Wta−m+l,3 − W (1) ta−m+l∇h T MNT (λ(xta,1), φ(xta,2))] . . . vta−1 + [Wta,3 − W (1) ta ∇h T MNT (λ(xta,1), φ(xta,2))] vta           avec Wk = Gkwk, wk étant le vecteur du bruit de dynamique du modèle (4.99) et W (1) l = [Wl,1 Wl,2] T , ∀l. L’objectif est de tirer un échantillon x i ta , i = 1, . . . , N issu de p(xta |yta−m+1:ta) = p(xta |Y ). Pour cela, on partitionne xta sous la forme xta =  x (1) ta x (2) ta T et la covariance Pta selon Pta =   P (11) ta P (12) ta P (21) ta P (22) ta   l’équation de mesure (5.59) se ré-écrit comme Y = H1x (2) ta − h1(x (1) ta ) + V (5.60) Soit x 7→ ϕ(x|µ, Σ) la densité gaussienne de moyenne µ et covariance Σ. D’après [28], l’échantillon x i ta , i = 1, . . . , N peut être généré en deux étapes (i) On tire x (1),i ta ∼ p(x (1) ta |Y ) ∝ ϕ(x (1) ta |P (11) ta )ϕ(Y −h1(x (1) ta )−H1P (21) ta (P (11) ta ) −1x (1) ta |R1+H1P (22|1) ta H T 1 ) selon une méthode d’acceptation-rejet ou une méthode approchée, avec P (22|1) ta = P (22) ta − P (21) ta (P (11) ta ) −1P (12) ta La matrice de covariance R1 a pour terme i, j R1,ij = δi,jσ 2 v+ Xm l=max(i,j)+1 (l − i)(l − j) h Q3,3 − ∇h T MNT (λ(xta,1), φ(xta,2))Q (11)∇hMNT (λ(xta,1), φ(xta,2))i (ii) On complète le tirage en échantillonnant les parties linéaires x (2),i ta ∼ N (ˆx (2) ta (Y, x(1),i ta ), C(22|1) ta ) où xˆ (2) ta (Y, x(1),i ta ) = C (22|1) ta H T 1 R1[Y1 − h1(x (1),i ta )] + (P (22|1) ta ) −1P (21) ta (P (11) ta ) −1x (1),i ta et C (22|1) ta =  H T 1 R −1 1 H1 + P (22|1)−1 ta −1183 Le principal inconvénient de cette méthode est son coût de calcul élevé, du notamment à la boucle d’acceptation-rejet dans la première étape. Pour cette raison, on préfèrera le choix de la loi a priori gaussienne centrée et de covariance Pta . 5.7.2 Simulations Nous allons à présent combiner l’algorithme de ré-initialisation du filtre avec celui de détection de divergence et le comparer à un filtre sans module de ré-initialisation. Le filtre considéré ici est le MRPF mais il est tout à fait possible d’utiliser un autre filtre. Comme dans le chapitre 4, nous évaluons le RMSE sur les trajectoires non-divergentes des deux algorithmes ainsi que leur taux de non divergence. Les résultats des simulations sont évalués sur les même scénarios décrits dans la section 4.6.1. Pour chacun d’entre eux, 150 réalisations Monte Carlo ont été effectuées avec un paramétrage artificiel favorisant les divergences de l’algorithme (cf. 5.6.3). Conditions de simulations Nous appellerons MRPF-R l’algorithme avec ré-initialisation. Nous reprenons les conditions de simulations de la section 4.6.4.1 avec les modifications suivantes : B écart-type du bruit de mesure du radio-altimètre σv = 10 m B nombre de particules MRPF : NMRP F = 3000 B nombre de particules MRPF-R : NMRP F −R = 3000 Dans l’algorithme MRPF-R, une seule ré-initialisation est effectuée au maximum étant donné que la trajectoire a une durée finie et que l’on souhaite accorder au filtre le temps nécessaire pour se recaler. Enfin, conformément au chapitre 4, un filtre sera dit non-divergent si l’état estimé final est dans l’ellipsoïde à 99.9% associée à la distribution gaussienne centrée sur l’état final vrai et de covariance la covariance empirique donnée par le filtre particulaire. Analyse des résultats Les figures 5.6 à 5.11 représentent le RMSE de chaque algorithme obtenu par tirage Monte Carlo. Le RMSE est calculé sur les réalisations convergentes. On observe nombre de ré-initialisations nombre de ré-initialisations convergentes scénario 1 59 36 scénario 2 83 63 scénario 3 67 35 Table 5.4 – Performance de la ré-initialisation dans le MRPF-R que l’utilisation du module de détection de divergence permet au filtre de gagner en robustesse (voir tableau 5.5) : sur chacun des scénarios, on note une augmentation significative du taux de non divergence. L’erreur quadratique moyenne est naturellement plus élevée pour le MRPF-R dans la phase multimodale puisqu’il inclut les ré-initialisations. Pour les scénarios 1 et 2, cette184 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique dégradation est peu pénalisante étant donné que la phase multimodale est relativement courte devant la durée de la trajectoire vu le caractère peu ambigu (scénario 1) et moyennement ambigu (scénario 2) des terrains survolés. En revanche, pour le scénario 3, l’ambiguïté pénalise le RMSE de l’algorithme avec ré-initialisation étant donné que le délai de détection est non négligeable et que la phase multimodale après ré-initialisation est plus longue. MRPF MRPF-R scénario 1 78 85 scénario 2 74 87 scénario 3 63 78 Table 5.5 – Taux de non divergence (%)185 Scénario 1 0 20 40 60 80 100 100 101 102 103 104 temps (s) RMSE position nord (m) MRPF MRPF−R BCR 0 20 40 60 80 100 100 101 102 103 temps (s) RMSE position est (m) MRPF MRPF−R BCR 0 20 40 60 80 100 100 101 102 temps (s) RMSE position down (m) MRPF MRPF−R BCR Figure 5.6 – RMSE en position ; noir : avec ré-initialisation, bleu : sans ré-initialisation, rouge : Borne de Cramer-Rao a posteriori186 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique 0 20 40 60 80 100 0.5 1 1.5 2 2.5 3 3.5 4 temps (s) RMSE vitesse nord (m.s−1 ) MRPF MRPF−R BCR 0 20 40 60 80 100 0.5 1 1.5 2 2.5 3 3.5 temps (s) RMSE vitesse est (m.s−1 ) MRPF MRPF−R BCR 0 20 40 60 80 100 0 0.2 0.4 0.6 0.8 1 1.2 1.4 temps (s) RMSE vitesse down (m.s−1 ) MRPF MRPF−R BCR Figure 5.7 – RMSE en vitesse ; noir : avec ré-initialisation, bleu : sans ré-initialisation, rouge : Borne de Cramer-Rao a posteriori187 Scénario 2 0 20 40 60 80 100 120 100 101 102 103 temps (s) RMSE position nord (m) MRPF MRPF−R BCR 0 20 40 60 80 100 120 100 101 102 103 104 temps (s) RMSE position est (m) MRPF MRPF−R BCR 0 20 40 60 80 100 120 100 101 102 103 temps (s) RMSE position down (m) MRPF MRPF−R BCR Figure 5.8 – RMSE en position ; noir : avec ré-initialisation, bleu : sans ré-initialisation, rouge : Borne de Cramer-Rao a posteriori188 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique 0 20 40 60 80 100 120 1 1.5 2 2.5 3 3.5 4 4.5 temps (s) RMSE vitesse nord (m.s−1 ) MRPF MRPF−R BCR 0 20 40 60 80 100 120 0.5 1 1.5 2 2.5 3 3.5 4 4.5 temps (s) RMSE vitesse est (m.s−1 ) MRPF MRPF−R BCR 0 20 40 60 80 100 120 0 0.5 1 1.5 temps (s) RMSE vitesse down (m.s−1 ) MRPF MRPF−R BCR Figure 5.9 – RMSE en vitesse ; noir : avec ré-initialisation, bleu : sans ré-initialisation, rouge : Borne de Cramer-Rao a posteriori189 Scénario 3 0 20 40 60 80 100 101 102 103 temps (s) RMSE position nord (m) MRPF MRPF−R BCR 0 20 40 60 80 100 101 102 103 temps (s) RMSE position est (m) MRPF MRPF−R BCR 0 20 40 60 80 100 100 101 102 temps (s) RMSE position down (m) MRPF MRPF−R BCR Figure 5.10 – RMSE en position ; noir : avec ré-initialisation, bleu : sans ré-initialisation, rouge : Borne de Cramer-Rao a posteriori190 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique 0 20 40 60 80 100 1 1.5 2 2.5 3 3.5 4 4.5 5 temps (s) RMSE vitesse nord (m.s−1 ) MRPF MRPF−R BCR 0 20 40 60 80 100 1 1.5 2 2.5 3 3.5 4 4.5 5 temps (s) RMSE vitesse est (m.s−1 ) MRPF MRPF−R BCR 0 20 40 60 80 100 0 0.2 0.4 0.6 0.8 1 1.2 1.4 temps (s) RMSE vitesse down (m.s−1 ) MRPF MRPF−R BCR Figure 5.11 – RMSE en vitesse ; noir : avec ré-initialisation, bleu : sans ré-initialisation, rouge : Borne de Cramer-Rao a posteriori191 Conclusion du Chapitre 5 Nous avons vu au cours des chapitres précédents que les algorithmes de filtrage particulaire d’hybridation pour le recalage peuvent diverger pour de multiples raisons liées à l’utilisation successives d’approximations Monte Carlo. Il est intéressant pour l’ingénieur de disposer d’un outil de diagnostic permettant d’estimer automatiquement et en ligne la fiabilité de la solution particulaire. Nous avons donc introduit et étudié une méthodologie pour la détection de divergence dans un filtre particulaire quelconque, avec l’hypothèse d’une observation scalaire. La méthode développée s’appuie sur la détection de changement de moyenne dans l’innovation du filtre particulaire grâce à l’algorithme CUSUM. Le détecteur ainsi construit s’intègre facilement dans n’importe quelle routine de filtrage particulaire avec un coût additionnel relativement faible. Les performances de l’algorithme de détection sont étudiées sur la problématique de la navigation inertielle par mesures altimétriques, en considérant trois terrains de caractéristiques différentes. Sur la base de simulations, on montre qu’il est possible d’atteindre des taux de fausses alarmes inférieurs à 1%, avec un délai de détection acceptable devant la durée de la trajectoire. Le délai de détection moyen reste alors petit devant la durée de la trajectoire lorsque le niveau d’ambiguïté du relief survolé est faible à modéré. Pour des scénarios ambigus, la définition du test d’hypothèse s’avère moins efficace, puisque la divergence ne se traduit pas forcément par un changement significatif de la moyenne de l’innovation du filtre particulaire. En pratique cela signifie que les délais de détection sont bien plus importants et dépendent de la vitesse à laquelle l’ambiguïté est levée. Enfin, nous avons illustré une application possible de l’algorithme de détection qui est celle de la ré-initialisation du filtre particulaire lorsqu’un dysfonctionnement a été détecté. Les résultats préliminaires suggèrent que l’on peut atteindre des taux de non-divergence plus élevés.192 5. Test d’intégrité pour le filtrage particulaire : application au recalage radio-altimétrique193 Conclusion générale Le développement du filtrage particulaire dans les années 90 a ouvert des nouvelles possibilités dans le domaine du filtrage non-linéaire avec des applications diverses (pistage, surveillance vidéo, finance de marché, économétrie,. . . ). En aéronautique, la mise au point de filtres particulaires pour le recalage de la navigation inertielle devrait permettre de s’affranchir de certaines hypothèses limitant l’utilisation d’algorithmes traditionnels (systèmes TERCOM, SITAN). Pour autant, ces méthodes soulèvent un certain nombre de difficultés. Dans cette thèse, nous nous sommes principalement intéressés à deux limitations rencontrées en recalage par mesures altimétriques : − les similarités de terrain font que la densité a posteriori est multimodale en début de recalage. Les étapes de ré-échantillonnage successives peuvent provoquer la perte du mode correspondant à la position vraie. − lorsque le terrain présente localement un gradient prononcé, ou bien lorsque la variance du bruit de mesure est faible, l’étape de prédiction des filtres standards (bootstrap filter, RPF) tend à échantillonner les particules dans des zones de faible vraisemblance ce qui augmente le risque de divergence du filtre. Afin de limiter les divergences dues à une perte de mode prématurée, nous avons proposé une approche algorithmique formulant la densité conditionnelle cible sous forme de mélange fini. Les filtres développés au cours de cette thèse (MRPF, MRBPF) sont des extensions du MPF de Vermaak et al. [118]. Dans le MPF, chaque composante du mélange est supposée unimodale et est approchée par un cluster de particules qui peut être vu comme un sous-filtre dont la contribution est quantifée par le poids de mélange associé. Cette formulation permet de ré-échantillonner localement chaque cluster dans l’optique de maintenir la multimodalité autant que nécessaire. La première nouveauté dans le MRPF et le MRBPF par rapport au MPF est l’utilisation d’un algorithme de mean-shift clustering optimisé, pour l’identification automatique des clusters du nuage de particules. Une attention particulière a été accordée à la sélection de la fenêtre de lissage qui conditionne la bonne identification des clusters. Nous avons également suggéré une méthode permettant de supprimer les clusters devenus peu vraisemblables et de ré-allouer un nombre équivalent de particules aux clusters restants. Enfin, nous avons proposé une étape de régularisation locale pour conserver la forme de la distribution conditionnelle. Le MRPF a été comparé au RPF et s’est montré plus robuste aux divergences que ce dernier, notamment en cas de forte ambiguïté de terrain. Dans un second temps, nous avons introduit un méthode d’échantillonnage d’importance permettant de générer les particules selon une densité différente de la densité de transition. Cette méthode est efficace lorsqu’il y a un faible recouvrement entre la densité prédite et la fonction194 Conclusion de vraisemblance. Cette situation survient par exemple lorsque la variance de bruit de mesure ou d’état est faible, ou lorsque la fonction d’observation varie brusquement. L’objectif de la méthode d’échantillonnage d’importance est de générer les particules dans les zones de forte probabilité. Dans cette thèse, l’échantillonnage des particules est effectuée selon une série de densités d’importances gaussiennes centrées sur les modes de la densité a posteriori. Ces modes ne sont pas connus explicitement mais sont calculés de manière approchée, en exploitant la structure partiellement linéaire de l’équation d’observation qui permet de se ramener à un problème d’optimisation en deux-dimensions. Nous avons également exploré différentes formulations de la matrice de covariance des densités d’importances gaussiennes afin d’approcher au mieux l’orientation et la dispersion locale de la densité a posteriori. L’utilisation de cette méthode d’échantillonnage d’importance a donné lieu aux algorithmes MRPF-MAP et MRBPF-MAP. Le MRPF-MAP a été comparé au MRPF dans des contextes où les étapes de prédiction/correction classiques sont moins efficaces. Le MRPF-MAP améliore le taux de convergence par rapport au MRPF. De plus, on observe que l’erreur quadratique moyenne est plus faible sur une bonne portion des trajectoires tests. Cette méthode d’échantillonnage d’importance permet d’obtenir des améliorations encore plus significatives dans le MRBPF-MAP, notamment en terme de taux de non-divergence, lorsque la variance du bruit de mesure est faible. Dans un troisième temps, nous avons abordé la problématique du contrôle d’intégrité du filtre particulaire. L’objectif est d’évaluer en ligne la cohérence de l’estimation particulaire afin de détecter une éventuelle divergence du filtre. En filtrage de Kalman standard, plusieurs tests fondés sur l’innovation ont été proposés afin de contrôler le bon fonctionnement de l’architecture de filtrage. Cependant, l’extension au filtrage particulaire est à notre connaissance très peu abordée. Nous avons formulé le problème de détection de la divergence du filtre particulaire sous forme d’un test d’hypothèse portant sur la moyenne de l’innovation normalisée du filtre, qui est définie de manière analogue à l’innovation du filtre de Kalman. Dans le cas d’une innovation scalaire, l’algorithme de détection adapté au problème de détection de changement de moyenne est le CUSUM bilatéral. Les paramètres influents de cet algorithme sont le saut de la moyenne de l’innovation normalisée sous l’hypothèse de divergence et le seuil sur la fonction de décision. Le détecteur de divergence a été intégré dans le MRPF et ses performances ont été établies sur trois scénarios de recalage de faible, moyenne et forte ambigüité de terrain. Sur chacun des scénarios les simulations ont fait apparaître un paramétrage du CUSUM permettant d’obtenir des taux de détection supérieur à 93% pour des taux de fausses alarmes inférieur à 1%. Lorsque le vecteur de mesure est multi-dimensionnel, nous avons proposé quelques formulations simples du problème de détection de divergence issues de la théorie de détection de changement et illustré la capacité des algorithmes de détection issus de la littérature à détecter la divergence du filtre particulaire. Enfin, nous avons réalisé une étude préliminaire sur l’apport de la ré-initialisation du filtre en cas de détection d’un faux recalage. L’algorithme de ré-initialisation est basée sur l’utilisation d’une loi a priori correspondant à la distribution de la dérivé inertielle à l’instant de détection. Les résultats expérimentaux montrent que cette méthode permet de diminuer le taux de faux recalage.195 Perspectives Au terme de ces travaux, nous avons envisagé plusieurs pistes d’études complémentaires. B La stratégie de clustering pourrait être adaptée au KPKF avec l’avantage que ce dernier nécessite généralement moins de particules que les filtres particulaires standards pour des performances identiques. B Dans le MRPF ou le MRBPF, lorsqu’il reste peu de modes, on peut étudier la possibilité de supprimer les clusters très peu vraisemblables sans ré-allouer un nombre équivalents de particules aux clusters restants. Cela permettrait de créer un algorithme dont le nombre de particules est adaptatif. B Les algorithmes proposés mettent en jeu de nombreux paramètres qui ont été réglés empiriquement. Un apprentissage statistique peut permettre d’adapter ces paramètres en fonction du type de terrain survolé et des conditions initiales. B Dans le test de divergence développé, l’hypothèse de non-divergence est caractérisée par une approximation de la moyenne de l’innovation normalisée (supposée nulle en fonctionnement normal). Il peut être intéressant de disposer d’un intervalle de confiance (ou d’une zone de confiance dans le cas non scalaire) sur cette approximation de manière à définir un test présentant moins de fausses alarmes. B L’algorithme de ré-initialisation du filtre proposé ne prend pas en compte l’historique du filtre. La construction d’une loi a priori prenant en compte non seulement l’incertitude de la centrale inertielle, mais également les zones du relief incompatibles avec les mesures radio-altimétriques passées, doit permettre au filtre ré-initialisé de converger plus vite avec un meilleur taux de bon recalage.196 Conclusion197 Annexe A Compléments au chapitre 1 A.1 Lemme 1 Soit A, B, C et D 4 matrices telles que les inverses (A + BCD) −1 , A−1 et C −1 existent. Alors, (A + BCD) −1 = A −1 − A −1B(C −1 + DA−1B) −1DA−1 (A.1) A.2 Lemme 2 Soit Q et R deux matrices symétriques définies positives, de dimensions respectives d × d et m × m. Soit H une matrice m × d. Alors, (H TR −1H + Q −1 ) −1 = Q − QHT (HQHT + R) −1HQ (A.2) et (H TR −1H + Q −1 ) −1H T = QHT (HQHT + R) −1R (A.3)198 A. Compléments au chapitre 1199 Annexe B Complément au chapitre 2 Variance du temps moyen d’absorption L’objectif de cette section est d’établir une expression asymptotique de la variance du temps moyen d’absorption dans le modèle de pistage stationnaire présenté au chapitre 2, section 2.5. Rappelons que dans ce contexte, le temps moyen d’absorption correspond à la perte de l’un des deux modes de la densité a posteriori p(xk|y0:k) = 0.5δ1(xk) + 0.5δ−1(xk). La démarche utilisée pour obtenir l’approximation asymptotique de la variance est largement inspirée de [39]. Rappelons d’abord quelques notations. On désigne par An le nombre de particules associées au premier mode (x = 1) où N la taille de l’échantillon. (An)n≥0 est une chaîne de Markov homogène à valeur dans {0, 1, . . . , N}, dont la matrice de transition P = (pmj )0≤m,j≤N est donnée par pmj = P(Ak = j|Ak−1 = m) = N j ! m N j  1 − m N N−j (B.1) Le temps d’absorption T est défini par T = inf {n ≥ 0 | An ∈ {0, N}} (B.2) De même, pour i = 1 . . . N, ti = E(T|A0 = i) est le temps moyen d’absorption, sachant que l’on dispose initialement de i particules sur le mode x = 1. En notant u = i N la proportion initiale de particules associée au mode x = 1, on a l’équivalent suivant lorsque N est grand [39] : t(u) 4 = E(T | A0 = bNuc) ∼ −2N(u ln u + (1 − u) ln(1 − u)) (B.3) Le calcul de la variance du temps moyen d’absorption peut se faire de manière similaire Ãă [39]. Notons V (u) cette variance pour une proportion initiale de u particules associées au mode 1. V (u) 4 = Var(T | A0 = bNuc) (B.4) On a : T = 1 + inf {n ≥ 0|An+1 = 0, N} = 1 + T1200 B. Complément au chapitre 2 avec T1 = inf {n ≥ 0|An+1 = 0, N}. D’où E(T 2 |A0 = i) = 1 + 2E(T1|A0 = i) + E(T 2 1 |A0 = i) (B.5) = 1 + 2E(T − 1|A0 = i) + E(T 2 1 |A0 = i) (B.6) = −1 + 2E(T|A0 = i) + E(T 2 1 |A0 = i) (B.7) On peut alors exprimer (B.7) en fonction des vi et ti : E(T 2 1 |A0 = i) = X∞ t=0 t 2P(T1 = t|A0 = i) (B.8) = X∞ t=0 t 2 X N j=0 P(T1 = t|A1 = j, A0 = i)pij (B.9) = X N j=0 X∞ t=0 t 2P(T1 = t|A1 = j)pij (B.10) = X N j=0 X∞ t=0 t 2P(T = t|A0 = j)pij (B.11) = X N j=0 E(T 2 |A0 = j)pij (B.12) d’où : E(T 2 |A0 = i) = −1 + 2E(T|A0 = i) + X N j=0 E(T 2 |A0 = j)pij Enfin, vi = E(T 2 |A0 = i) − E 2 (T|A0 = i) = −1 + 2E(T|A0 = i) + X N j=0 E(T 2 |A0 = j)pij − [E(T|A0 = i)]2 = −1 + 2ti + X N j=0 h E(T 2 |A0 = j) − E 2 (T|A0 = j) + E 2 (T|A0 = j) i pij − E 2 (T|A0 = i) = −1 + 2ti + X N j=0 h E(T 2 |A0 = j) − E 2 (T 2 |A0 = j) i pij + X N j=0 E 2 (T 2 |A0 = j)pij − [E(T|A0 = i)]2 = −1 + 2ti + X N j=0 vjpij + X N j=0 t 2 j pij − t 2 i (B.13) En supposant que t0, . . . , tN soient donnés, on peut déterminer les variances conditionnelles v1, . . . , vN en résolvant le système d’équations vi − X N j=0 vjpij = −1 + 2ti + X N j=0 t 2 j pij − t 2 i i = 0, . . . , N (B.14)201 Les ti sont eux-mêmes solutions d’une équation d’un système linéaire. En effet, un calcul similaire à (B.12) donne ti = E(T|A0 = i) = 1 + E(T1|A0 = i) (B.15) = 1 + X N j=0 E(T|A0 = j)pij (B.16) = 1 + X N j=0 pij tj (B.17) En posant t =  t0 . . . tN T , on a t = (IN+1 − P) −11 , où 1 =  1 1 . . . 1 T . Malheureusement les formules (B.14) ne permettent pas d’étudier aisément les moments asymptotiques du temps d’absorption T. On peut toutefois tenter d’utiliser une approximation en temps continu comme dans [39] pour trouver un équivalent de la variance asymptotique de T. Si on note Zn = An/N, le temps d’absorption de (An)n≥0 correspond au temps d’atteinte de Z dans {0, 1}. On a donc t(u) = E(T|Z0 = u) et v(u) = Var(T | Z0 = u). De plus, si Z0 = u alors Z1 = u + U où N(U − u) ∼ B(N, u). On peut réécrire (B.7) sous la forme suivante φ(u) = 1 + 2E(t(u + U)) + E(φ(u + U)) avec φ(u) = E(T 2 |A0 = bNuc) En supposant φ continument dérivable 2 fois, on a : φ(u + U) = φ(u) + Uφ0 (u) + U 2 2 φ 00(u) + O(|U| 3 ) De plus E(U) = 0 et E(U 2 ) = u(1−u) N car N(U − u) ∼ B(N, u). Comme √ NU converge en loi vers N (0, u(1 − u)) lorsque N → ∞, on a E(U 2p ) = O(N −2 ). φ(u) = 1 + 2(t(u) − 1) + φ(u) + u(1 − u) 2N φ 00(u) + O(N −3/2 ) φ est donc proche de la solution de l’équation différentielle φ 00(u) = 2N u(1 − u) + 8N 2 ln u 1 − u + ln(1 − u) u ! (B.18) avec les conditions limites φ(0) = φ(1) = 0. La solution de (B.18) est φ(u) = 8N 2u dilog(u) + 8N 2u ln(u) − 8N 2 dilog(u) − 8N 2u dilog(1 − u) + 8N 2 ln(1 − u) − 8N 2u ln(1 − u) − 8N 2 + (4 3 π 2 + 8)N 2202 B. Complément au chapitre 2 où u 7→ dilog(u) = Z u 1 ln t 1 − t dt est la fonction dilogarithme. Dans ce cas, la variance s’écrit : v(u) = Var(T | A0 = Nu) = E(T 2 |A0 = bNuc) − E 2 (T|A0 = bNuc) =φ(u) − t 2 (u) = − 2N [u ln u + (1 − u) ln(1 − u)] + 8N 2u dilog u + 8N 2u ln u − 8N 2 dilog u − 8N 2u dilog(1 − u) + 8N 2 ln(1 − u) − 8N 2u ln(1 − u) − 4N 2 [u ln u + (1 − u) ln(1 − u)]2 + 4 3 π 2N 2 (B.19)203 Annexe C Complément au chapitre 4 Proposition 2. Soit A et B deux matrices d × d symétriques avec B définie positive et A inversible. Alors A−1 − B−1 < 0 si et seulement si A − B > 0 (la notation M > 0 signifie que M est définie positive). Démonstration. Supposons A − B > 0. En utilisant le lemme d’inversion matricielle, on a (B −1 − A −1 ) −1 = B + B(A − B) −1B et donc pour tout vecteur X de R d non nul, X T (B −1 − A −1 ) −1X = X TBX + X TB(A − B) −1BX = X TBX + (BX) T (A − B) −1BX Le terme XTBX est strictement positif car B est définie positive. Comme A − B > 0, alors (A − B) −1 > 0 et XTB(A − B) −1BX > 0 car le vecteur BX est non nul. Finalement, XT (B−1 −A−1 ) −1X > 0, pour tout vecteur X non nul d’où (B−1 −A−1 ) −1 > 0 ce qui implique que B−1 − A−1 > 0. La réciproque se démontre en remplaçant A par A−1 et B par B−1 .204 C. Complément au chapitre 4205 Annexe D Compléments au chapitre 5 D.1 Détection de divergence dans le cas d’un vecteur de mesure multidimensionnel Dans ce complément, nous nous intéressons au problème de la détection de divergence lorsque la mesure est de dimension m ≥ 2. A titre d’illustration, nous considérons l’application du filtrage particulaire au problème du pistage d’une cible dans le plan par mesures de distance et d’azimuth, abordée dans le chapitre 4, section 4.5.3.2. Rappelons que le capteur est supposé fixe à la position (0, 0) et la cible suit une trajectoire rectiligne uniforme. Le vecteur d’état contient les coordonnées de position et vitesse xk = [xk,1, xk,2, x˙ k,1, x˙ k,2] T . L’état initial de la cible est xcible,0 =  10000 10000 40 −40T . Le vecteur de mesure yk comprend la distance de la cible et l’azimuth entâchés d’un bruit additif gaussien. yk =    q x 2 k,1 + x 2 k,2 arctan( xk,2 xk,1 )    + vk (D.1) avec vk ∼ N  02×1, diag(22 , ( π 180 ) 2 )  . Un filtre particulaire régularisé (RPF) avec N = 10000 particules, est utilisé pour le suivi de la cible. La précision du capteur fait que, si l’on utilise la densité de transition comme densité d’importance, le RPF diverge fréquemment : le taux de divergence est de 89% pour le choix de paramètres ci-dessus. Dans la méthode de détection de divergence que nous avons suggérée dans le chapitre 5, la moyenne et la covariance de l’innovation sous l’hypothèse de non-divergence du filtre sont approximées de la même façon quelque soit la dimension du vecteur de mesure 5.39. En revanche la définition d’un test de détection de changement de moyenne dans le cas multidimensionnel diffère du cas scalaire. En effet, dans ce cas, en supposant la suite d’innovation  N k , k ≥ 1 gaussienne de moyenne θ, le problème consiste à tester : H0 :  N k ∼ N (0, Σ,k) contre H1 :  N k ∼ N (θ1, Σ,k)206 D. Compléments au chapitre 5 où θ1 désigne la moyenne de l’innovation sous l’hypothèse de divergence. Les algorithmes de détection de changement de moyenne se formulent différemment selon le type d’information que l’on dispose sur la moyenne θ1 [4] : − θ1 est entièrement connu, − on connait la norme de θ1 mais pas sa direction, − on connait la direction de θ1 mais pas sa norme, − on connait une borne inférieure sur kθ1k mais pas la direction de θ1. Dans le cas qui nous intéresse, quelques simulations nous indiquent que lorsque le RPF diverge, l’innovation n’a pas de direction privilégiée dans le plan cartésien. En revanche, selon [4], on peut tenter définir θ1 à partir de la divergence de Kullback entre N (0, Σ,k) et N (θ1, Σ,k). Dans ce cas, θ1 est défini comme appartenant à l’ensemble Θ1 = n θ | θ TΣ −1 ,k θ = b 2 o où b > 0. La constante b peut être définie par exemple à partir de l’ellipsoïde de confiance correspondant à la distribution gaussienne sous l’hypothèse H0 : on cherche b tel que PH0 (( N k ) TΣ −1 ,k  N k ≤ b 2 ) = 0.99 Comme sous H0,  N k ∼ N (0, Σ,k), ( N k ) TΣ −1 ,k  N k suit une loi du khi-deux à deux degrés de libertés et b 2 = F −1 χ 2 2 (0.99) ≈ 9.2103, Fχ 2 2 étant la fonction de répartition du khi-deux à deux degrés de liberté. Le problème de détection devient alors : θ =    0 si k < t0 θ : θ TΣ −1 ,k θ = b 2 si k ≥ t0 (D.2) L’algorithme de détection adapté est celui du χ 2 -CUSUM [4, p.219]. Celui-ci ne s’écrit pas de manière récursive, ce qui rend son implémentation couteuse en temps de calcul. Cependant un algorithme proche, appelé χ 2 -CUSUM récursif [91, 92] bien que n’étant pas strictement équivalent au χ 2 -CUSUM, peut-être utilisé. Il est défini par son temps d’arrêt ta et une statistique de test Sk selon : ta = inf {k ≥ 1 | Sk ≥ h} (D.3) Sk = −nk a 2 2 + log G m 2 , b 2V T k Σ −1 ,kVk 4 ! (D.4) Vk = ✶{Sk−1>0}Vk−1 +  N k (D.5) nk = ✶{Sk−1>0}nk−1 + 1 (D.6) où G(d, x) = P∞ n=0 x n d(d+1)...(d+n−1)n! est la fonction hypergéométrique 0Fd et m désigne la dimension du vecteur de mesure (ici m = 2). Le test est initialisé avec S0 = 0, n0 = 0 et V0 = 0. Nous avons intégré cet algorithme dans l’algorithme du RPF afin de détecter une éventuelle divergence. L’innovation  N k et sa covariance Σ,k sont calculées selon (5.39). Les taux de fausses207 alarmes (T F A), de non-détection (T ND) ainsi que le délai moyen de détection (τ ) ont été établis sous la base de 1000 simulations Monte Carlo. Ces quantités sont définis plus précisément dans la section 5.6.3 et nécessitent d’estimer, s’il a lieu, l’instant réel de divergence t0. Dans l’application du pistage, la détermination de t0 s’est faite en considérant que le filtre a réellement divergé à l’instant t0 si l’état vrai sort de l’ellipsoide de confiance associée à la Borne de CramerRao a posteriori au seuil 99.99%, centrée sur l’état estimé, ceci pendant 5 instants successifs t0, . . . , t0 + 4. Un grand nombre de simulations a été nécessaire pour établir ce critère et vérifier qu’il décrit précisément l’occurrence de la divergence. Les résultats sont présentés dans la figure D.1. Par exemple si l’on privilégie un faible taux de fausses alarmes (< 1%), on peut constater que pour un seuil de détection h = 8.15, le taux de fausses alarmes est de 0.8% tandis que le taux de non-détection correspondant est de 8.4%.208 D. Compléments au chapitre 5 0 2 4 6 8 10 12 14 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 T F A h (a) Taux de fausses alarmes (%) 0 2 4 6 8 10 12 14 0 0.02 0.04 0.06 0.08 0.1 0.12 T ND h (b) Taux de non-détection (%) 0 2 4 6 8 10 12 14 2 4 6 8 10 12 14 16 h τ (c) Délai moyen de détection (nombre de mesures) Figure D.1 – Performances de l’algorithme χ 2 -CUSUM récursif pour la détection de divergence209 D.2 Initialisation à partir d’une série de mesures Le but de cette section est de rappeler une technique d’initialisation du filtre particulaire basée sur les m premières mesures. Cette technique est due à D.T. Pham (document technique non publié) et est partiellement rappelée dans [28]. Par souci de simplicité, on considère la dynamique suivante : xk = xk−1 + dk−1, dk = dk−1 + ak (D.7) zk = zk−1 + ek−1, ek = ek−1 + bk (D.8) où xk est la position horizontale et zk la position verticale du mobile, dk et ek les vecteurs vitesse associés multipliés par période d’échantillonnage ∆ et ak et bk les erreurs accélérométriques cumulées entre deux mesures (on suppose un mouvement uniforme). Ré-écrivons l’équation de mesure du radio-altimètre comme : yk = zk − h(xk) + vk On considère les m premières mesures concaténées dans le vecteur d’observation Y =  y1 · · · , ym T . On a xm = xk + mX−1 j=k dj dm = dk + Xm j=k+1 aj Puis, xk = xm − mX−1 j=k  dm − Xm l=j+1 al   = xm − (m − k)dm + Xm l=k+1 (l − k)al De même, zk = zm − (m − k)em + Xm l=k+1 (l − k)bl D’où yk = zm − (m − k)em − h  xm − (m − k)dm + Xm l=k+1 (l − k)al   + Xm l=k+1 (l − k)bl + vk On suppose que le déplacement du mobile pendant les m premières mesures est faible, c’est-à-dire que (m − k)dm − Pm l=k+1(l − k)al est petit. Cela permet de linéariser h autour de la m-ème position horizontale h  xm − (m − k)dm + Xm l=k+1 (l − k)al   ≈ h(xm) − ∇h T (xm)  m − k)dm − Xm l=k+1 (l − k)al   ∇h étant le gradient de h. Il vient yk = zm − h(xm) + (m − k) h ∇h T (xm)dm − em i + Xm l=k+1 [bm − ∇h T (xm)al ] + vk210 D. Compléments au chapitre 5 Ceci donne l’équation d’observation reliant le vecteur des m premières observations avec l’état xm : Y = H1        zm dm em        −        h(xm) . . . h(xm)        + V (D.9) où H1 est la matrice           −1 (m − 1)∇h T (xm) (m − 1) . . . . . . . . . −1 (m − 1)∇h T (xm) 1 −1 0 0           et V le vecteur V =           v1 + Pm l=2(l − 1)[bl − al∇h T (xl)] . . . vm−1 + [bm − am∇h T (xm)] vm          211 Bibliographie [1] Global Positioning System. Standard Positioning Service performance standard, September 2008. [2] A. Almagbile, J. Wang, and W. Ding, Evaluating the performance of adaptive Kalman filter methods in GPS/INS integration, CPGPS 9 (2010), 33Ű40. [3] D. Alspach and H. Sorenson, Nonlinear Bayesian estimation using Gaussian sum approximation, IEEE Transactions on Automatic Control 17 (1972), 439–448. [4] M. Basseville and I.V. Nikiforov, Detection of abrupt changes : Theory and application, Prentice Hall, 1993. [5] D.O. Benson, A comparison of two approaches to pure-inertial and doppler-inertial error analysis, IEEE Transactions on Aerospace and Electronic Systems AES-11 (1975), no. 4, 447–455. [6] N. Bergman, Recursive Bayesian Estimation : Navigation and Tracking Applications, Thèse de doctorat, Linköping University, 1999. [7] N. Bergman and L. Ljung, Point-mass filter and cramer-rao bound for terrain-aided navigation, Proceedings of the 36th IEEE Conference on Decision and Control, vol. 1, 1997, pp. 565–570. [8] F.M. Boland and H. Nicholson, Control of divergence in Kalman filters, Electronics Letters 12 (1976), no. 15, 367–369. [9] L. Breiman, W. Meisel, and E. Purcell, Variable Kernel Estimates of Multivariate Densities, Technometrics 19 (1977), no. 2, 135–144. [10] C. G. Broyden, The convergence of a class of double-rank minimization algorithms, Journal of the Institute of Mathematics and Its Applications 6 (1970), 76–90. [11] R.S. Bucy and K.D. Senne, Digital synthesis of non-linear filters, Automatica 7 (1971), no. 3, 287–298. [12] A. Bugeau and P. Pérez, Bandwidth selection for kernel estimation in mixed multidimensional spaces, Tech. report, IRISA, 2007. [13] K. P. Burnham and D. R. Anderson, Model selection and multimodel inference : a practical information-theoretic approach, 2 ed., Springer, 2002. [14] Z. Cai, F. Le Gland, and H. Zhang, An adaptive local grid refinement method for nonlinear filtering, Rapport de recherche RR-2679, INRIA, 1995.212 BIBLIOGRAPHIE [15] C. P. Casella, G.and Robert, Rao-Blackwellisation of Sampling Schemes, Biometrika 83 (1996), no. 1, 81–94. [16] G. Celeux, F. Forbes, and N. Peyrard, EM procedures using mean field-like approximations for Markov model-based image segmentation, Pattern Recognition 36 (2003), no. 1, 131– 144. [17] R. Chen and J.S. Liu, Mixture Kalman filters, J. R. Statist. Soc. B 62 (2000), 493–508. [18] Z. Chen, Bayesian Filtering : From Kalman Filters to Particle Filters, and Beyond, Tech. report, McMaster University, 2003. [19] Y. Cheng, Mean shift, mode seeking, and clustering, IEEE Transactions on Pattern Analysis and Machine Intelligence 17 (1995), no. 8, 790 –799. [20] D. Comaniciu, An algorithm for data-driven bandwidth selection, IEEE Transactions on Pattern Analysis and Machine Intelligence 25 (2003), no. 2, 281–288. [21] D. Comaniciu and P. Meer, Mean shift : a robust approach toward feature space analysis, IEEE Transactions on Pattern Analysis and Machine Intelligence 24 (2002), no. 5, 603–619. [22] D. Comaniciu, V. Ramesh, and P. Meer, The variable bandwidth mean shift and data-driven scale selection, in Proceedings of the 8th International Conference on Computer Vision, 2001, pp. 438–445. [23] J. Cornebise, E. Moulines, and J. Olsson, Adaptive methods for sequential importance sampling with application to state space models, Statistics and Computing 18 (2008), no. 4, 461 – 480 (English). [24] D. Crisan, Exact rates of convergence for a branching particle approximation to the solution of the zakai equation, Annals of Probability 32 (2003), 819 – 838. [25] D. Crisan, P. Del Moral, and T. J. Lyons, Interacting particle systems approximations of the Kushner Stratonovitch equation, Advances in Applied Probability (1999), 819 – 838. [26] D. Crisan and A. Doucet, A survey of convergence results on particle filtering methods for practitioners, IEEE Transactions on Signal Processing 50 (2002), no. 3, 736 – 746. [27] E.P. Cunningham, Single-parameter terrain classification for terrain following, Journal of Aircraft 17 (1980), 909 – 914. [28] K. Dahia, Nouvelles méthodes en filtrage particulaire. Application au recalage de navigation inertielle par mesures altimétriques, Thèse de doctorat, Université Joseph Fourier, 2005. [29] M. H. DeGroot, Optimal statistical decisions, Wiley, 2005. [30] P. Del Moral, Non-linear filtering using random particles, Theo. Prob. App. 40 (1995), 690–701. [31] , Feynman-Kac formulae : genealogical and interacting particle systems with applications, Springer, 2004. [32] P. Del Moral and L. Miclo, Branching and interacting particle systems approximations of Feynman-Kac formulae with applications to non-linear filtering, Séminaire de Probabilités XXXIV, Lecture Notes in Mathematics, vol. 1729, Springer, 2000, pp. 1–145.213 [33] P. Del Moral, G. Rigal, and Salut G., Estimation et commande optimale non-linéaire, Tech. report, LAAS/CNRS, 1992. [34] L. Devroye, Non-uniform random variate generation, Springer-Verlag, 1986. [35] R. Douc and O. Cappe, Comparison of resampling schemes for particle filtering, Proceedings of the 4th International Symposium on Image and Signal Processing and Analysis (ISPA 2005), 2005, pp. 64–69. [36] A. Doucet, S. Godsill, and C. Andrieu, On sequential Monte Carlo sampling methods for Bayesian filtering, Statistics and Computing 10 (2000), no. 3, 197–208. [37] A. Doucet, De Freitas N., and N. Gordon, Sequential Monte Carlo methods in practice, ch. Improving Regularized Particle Filters, pp. 247–271, Springer, 2001. [38] R. Durrett, Stochastic calculus : a practical introduction, vol. 6, CRC press, 1996. [39] W. J. Ewens, Mathematical population genetics, Springer-Verlag, 1979. [40] R. Fitzgerald, Divergence of the Kalman filter, IEEE Transactions on Automatic Control 16 (1971), no. 6, 736 – 747. [41] M. Flament, Apport du filtrage particulaire au recalage altimétrique dans un contexte de navigation hybridée, Thèse de doctorat, Université Paris-Sud 11, 2009. [42] D. Fox, S. Thrun, F. Dellaert, and W. Burgard, Particle filters for mobile robot localization, Sequential Monte Carlo Methods in Practice, Springer Verlag, 2001. [43] D. Freedman and P. Kisilev, KDE paring and a faster mean shift algorithm, SIAM J Imaging Sciences 3 (2010), no. 4, 878–903. [44] K. Fukunaga, Introduction to statistical pattern recognition (2nd ed.), Academic Press Professional, Inc., 1990. [45] K. Fukunaga and L. Hostetler, The estimation of the gradient of a density function, with applications in pattern recognition, IEEE Transactions on Information Theory 21 (1975), no. 1, 32 – 40. [46] B. Georgescu, I. Shimshoni, and P. Meer, Mean shift based clustering in high dimensions : a texture classification example, Proceedings of the 9th IEEE International Conference on Computer Vision 1 (2003), no. Iccv, 456–463. [47] J. Georgy, A. Noureldin, and G.R. Mellema, Clustered mixture particle filter for underwater multitarget tracking in multistatic active sonobuoy systems, IEEE Transactions on Systems, Man, and Cybernetics, Part C : Applications and Reviews 42 (2012), no. 4, 547–560. [48] J. Geweke, Bayesian inference in econometric models using Monte Carlo integration, Econometrica 57 (1989), no. 6, 1317–39. [49] Audrey Giremus, Apport des méthodes de filtrage particulaire pour la navigation GPS, Thèse de doctorat, Ecole Nationale Supérieure de l’Aéronautique et de l’Espace, Toulouse, France, décembre 2005. [50] N.J. Gordon, D.J. Salmond, and A.F.M. Smith, Novel approach to nonlinear/non-Gaussian Bayesian state estimation, IEE Proceedings F Radar and Signal Processing 140 (1993), no. 2, 107 –113.214 BIBLIOGRAPHIE [51] F. Gustafsson, Particle filter theory and practice with positioning applications, IEEE Aerospace and Electronic Systems Magazine 25 (2010), no. 7, 53–82. [52] J. E. Handschin and D. Q. Mayne, Monte Carlo techniques to estimate the conditional expectation in multi-stage non-linear filtering, International Journal of Control 9 (1969), no. 5, 547– 559. [53] J.E. Handschin, Monte Carlo techniques for prediction and filtering of non-linear stochastic processes, Automatica 6 (1970), no. 4, 555 – 563. [54] M.R. Hestenes and E. Stiefel, Methods of Conjugate Gradients for Solving Linear Systems, Journal of Research of the National Bureau of Standards 49 (1952), no. 6, 409–436. [55] N. J. Higham, Computing a nearest symmetric positive semidefinite matrix, Linear Algebra and Its Applications 103 (1988), 103–118. [56] J. Hollowell, Heli/SITAN : a terrain referenced navigation algorithm for helicopters, Position Location and Navigation Symposium, 1990, pp. 616–625. [57] L. D. Hostetler, Optimal terrain-aided navigation systems, AIAA Guidance and Control Conference, 1978. [58] C. Hue, J.-P. Le Cadre, and P. Pérez, Tracking multiple objects with particle filtering, 2000. [59] M. Isard and J. MacCormick, Bramble : a Bayesian multiple-blob tracker, Proceedings of the 8h IEEE International Conference on Computer Vision, vol. 2, 2001, pp. 34–41 vol.2. [60] A. K. Jain, M. N. Murty, and P. J. Flynn, Data clustering : a review, ACM Computing Surveys 31 (1999), no. 3, 264–323. [61] M. Joerger and B. Pervan, Kalman filter-based integrity monitoring against sensor faults, Journal of Guidance, Control and Dynamics 36 (2013), 349–361. [62] S. Julier, J. Uhlmann, and H.F. Durrant-Whyte, A new method for the nonlinear transformation of means and covariances in filters and estimators, IEEE Transactions on Automatic Control 45 (2000), no. 3, 477–482. [63] S.J. Julier and J.K. Uhlmann, A new extension of the Kalman filter to nonlinear systems, Proceedings of AeroSense : The 11th International Symposium on Aerospace/Defense Sensing, Simulations and Controls, 1997. [64] A. Kallapur, S. Anavatti, and M. Garratt, Extended and unscented Kalman filters for attitude estimation of an unmanned aerial vehicle, Proceedings of the 27th IASTED International Conference on Modelling, Identification and Control, MIC ’08, ACTA Press, 2008, pp. 498–502. [65] R. E. Kalman, A new approach to linear filtering and prediction problems, Transactions of the ASME–Journal of Basic Engineering 82 (1960), no. Series D, 35–45. [66] R. E. Kass, L. Tierney, and J. B. Kadane, Asymptotics in Bayesian Computation, Bayesian Statistics 3, Oxford University Press, 1988, pp. 261–278. [67] O. King and D.A. Forsyth, How does condensation behave with a finite number of samples ?, Computer Vision - ECCV 2000, Lecture Notes in Computer Science, vol. 1842, Springer Berlin Heidelberg, 2000, pp. 695–709 (English).215 [68] G. Kitagawa, Monte Carlo Filter and Smoother for Non-Gaussian Nonlinear State Space Models, Journal of Computational and Graphical Statistics 5 (1996), no. 1, 1–25. [69] A. Kong, J. S. Liu, and W.H. Wong, Sequential imputations and Bayesian missing data problems, Journal of the American Statistical Association 89 (1994), 278–288. [70] S. Kotz and S. Nadarajah, Multivariate t distributions and their applications, Cambridge University Press, 2004. [71] H.J. Kushner and P. Dupuis, Numerical methods for stochastic control problems in continuous time, Springer Verlag, 1992. [72] F. Le Gland, C. Musso, and N. Oudjane, An analysis of regularized interacting particle methods for nonlinear filtering, Proceedings of the 3rd IEEE European Workshop on ComputerIntensive Methods in Control and Signal Processing, 1998, pp. 167–174. [73] E. L. Lehmann and George Casella, Theory of Point Estimation (Springer Texts in Statistics), 2nd ed., Springer, August 1998. [74] J.J. Leonard and H.F. Durrant-Whyte, Mobile robot localization by tracking geometric beacons, IEEE Transactions on Robotics and Automation 7 (1991), no. 3, 376–382. [75] J. Lin, Divergence measures based on the shannon entropy, IEEE Transactions on Information Theory 37 (1991), no. 1, 145–151. [76] J.S. Liu and R. Chen, Sequential Monte Carlo methods for dynamic systems, Journal of the American Statistical Association 93 (1998), 1032–1044. [77] Z. Liu, Z.and Shi, M. Zhao, and W. Xu, Adaptive dynamic clustered particle filtering for mobile robots global localization, Journal of Intelligent and Robotic Systems 53 (2008), no. 1, 57–85 (English). [78] G Lorden, Procedures for reacting to a change in distribution, The Annals of Mathematical Statistics 42 (1971), no. 6, 1897–1908. [79] J. MacCormick and A. Blake, A probabilistic exclusion principle for tracking multiple objects, Proceedings of the Seventh IEEE International Conference on Computer Vision, vol. 1, 1999, pp. 572–578 vol.1. [80] J. MacQueen, Some methods for classification and analysis of multivariate observations, Proceedings of the 5th Berkeley Symposium on Mathematical Statistics and Probability - Vol. 1 (L. M. Le Cam and J. Neyman, eds.), University of California Press, Berkeley, CA, USA, 1967, pp. 281–297. [81] A. Maier and G. F. Trommer, Comparison of centralized and decentralized Kalman filter for sar/trn/gps/ins integration, Proceedings of the 2010 International Technical Meeting of The Institute of Navigation, 2010, pp. 74–80. [82] P.W. McBurney, A robust approach to reliable real-time Kalman filtering, IEEE Position Location and Navigation Symposium - A Decade of Excellence in the Navigation Sciences, 1990, pp. 549–556. [83] G. McLachlan and D. Peel, Finite mixture models, Wiley series in probability and statistics. Applied probability and statistics section, Wiley, 2004.216 BIBLIOGRAPHIE [84] R.K. Mehra and J. Peschon, An innovations approach to fault detection and diagnosis in dynamic systems, Automatica 7 (1971), no. 5, 637 – 640. [85] A. Milstein, J. N. Sánchez, and E. T. Williamson, Robust global localization using clustered particle filtering, 18th National Conference on Artificial Intelligence (Menlo Park, CA, USA), American Association for Artificial Intelligence, 2002, pp. 581–586. [86] A. H. Mohamed and K. P. Schwarz, Adaptive Kalman filtering for INS/GPS, Journal of Geodesy 73 (1999), 193–203. [87] G. V. Moustakides, Optimal stopping times for detecting changes in distributions, The Annals of Statistics 14 (1986), 1379–1387. [88] A. Murangira, C. Musso, K. Dahia, and J. Allard, Robust regularized particle filter for terrain navigation, Proceedings of the 14th International Conference on Information Fusion (FUSION), july 2011, pp. 1 –8. [89] C. Musso and N. Oudjane, Regularization schemes for branching particle systems as a numerical solving method of the nonlinear filtering problem, Proceedings of the Irish Signals Systems Conference, 1998. [90] C. Musso, P.B. Quang, and F. Le Gland, Introducing the laplace approximation in particle filtering, Proceedings of the 14th International Conference on Information Fusion, july 2011, pp. 1 –8. [91] I. V. Nikiforov, On the first-order optimality of an algorithm for detection of a fault in the vector case, Automation and Remote Control 55 (1994), 66–82. [92] , A suboptimal quadratic change detection scheme, IEEE Transactions on Information Theory 46 (2000), 2095–2107. [93] P. J. Nordlund, Efficient Estimation and Detection Methods for Airborne Applications, Thèse de doctorat, Linköping University, 2009. [94] P.-J. Nordlund and F. Gustafsson, Marginalized particle filter for accurate and reliable terrain-aided navigation, IEEE Transactions on Aerospace and Electronic Systems 45 (2009), no. 4, 1385 –1399. [95] K. Okuma, A. Taleghani, N. Freitas, J.J. Little, and D.G. Lowe, A boosted particle filter : Multitarget detection and tracking, European Conference on Computer Vision 3021 (2004), 28 – 39. [96] N. Oudjane, Stabilité et approximations particulaires en filtrage non linéaire. Application au pistage, Thèse de doctorat, Université de Rennes 1, 2000. [97] N. Oudjane and C. Musso, Progressive correction for regularized particle filters, Proceedings of the Third International Conference on Information Fusion, vol. 2, 2000, pp. THB2/10– THB2/17 vol.2. [98] E.S. Page, Continuous inspection schemes, Biometrika 41 (1954), no. 1/2, 100–115. [99] E.J. Pauwels and G. Frederix, Finding salient regions in images : Nonparametric clustering for image segmentation and grouping, Computer Vision and Image Understanding 75 (1999), 73 – 85.217 [100] N. Peach, Bearings-only tracking using a set of range-parameterised extended Kalman filters, IEE Proceedings on Control Theory and Applications 142 (1995), no. 1, 73–80. [101] H. Permuter, J. Francos, and I. Jermyn, A study of Gaussian mixture models of color and texture features for image classification and segmentation, Pattern Recognition 39 (2006), no. 4, 695 – 706. [102] D. T. Pham, Stochastic methods for sequential data assimilation in strongly nonlinear systems, Monthly Weather Review 129 (2001), no. 5, 1194–1207. [103] D.-T. Pham, K. Dahia, and C. Musso, A kalman-particle kernel filter and its application to terrain navigation, Proceedings of the Sixth International Conference on Information Fusion, vol. 2, 2003, pp. 1172–1179. [104] J. Picard, Approximation of nonlinear filtering problems and order of convergence, Filtering and Control of Random Processes, Lecture Notes in Control and Information Sciences, vol. 61, Springer, 1984, pp. 219–236. [105] M. K. Pitt and N. Shephard, Filtering via Simulation : Auxiliary Particle Filters, Journal of the American Statistical Association 94 (1999), no. 446, 590–599. [106] J.-C. Radix, La navigation par inertie, Presses Universitaires de France, 1967. [107] D. B. Rubin, Using the SIR algorithm to simulate posterior distributions, Bayesian Statistics 3, Oxford University Press, 1988. [108] M. Rudemo, Empirical choice of histograms and kernel density estmators, Scandinavian Journal of Statistics 9 (1982), 65 – 78. [109] N. Ruixin, P.K. Varshney, M. Alford, A. Bubalo, E. Jones, and M. Scalzo, Curvature nonlinearity measure and filter divergence detector for nonlinear tracking problems, 11th International Conference on Information Fusion, 2008. [110] T. Schon, F. Gustafsson, and P.-J. Nordlund, Marginalized particle filters for mixed linear/nonlinear state-space models, IEEE Transactions on Signal Processing 53 (2005), no. 7, 2279–2289. [111] A.N. Shiryaev, The problem of the most rapid detection of a disturbance in a stationary process, Soviet Math. Dokl. 2 (1961), 795–799. [112] B. W. Silverman, Density estimation for statistics and data analysis, Monographs on Statistics and Applied Probability, vol. 26, Chapman and Hall, 1986. [113] I. Smal, K. Draegestein, N. Galjart, W. Niessen, and E. Meijering, Particle filtering for multiple object tracking in dynamic fluorescence microscopy images : Application to microtubule growth analysis, IEEE Transactions on Medical Imaging 27 (2008), no. 6, 789–804. [114] P. Tichavsky, C.H. Muravchik, and A. Nehorai, Posterior cramer-rao bounds for discretetime nonlinear filtering, IEEE Transactions on Signal Processing 46 (1998), no. 5, 1386– 1396. [115] L. Tierney, R. E. Kass, and J. B. Kadane, Fully Exponential Laplace Approximations to Expectations and Variances of Nonpositive Functions, Journal of the American Statistical Association 84 (1989), no. 407, 710–716.218 BIBLIOGRAPHIE [116] B. Turgut and R.P. Martin, Restarting particle filters : An approach to improve the performance of dynamic indoor localization, IEEE Global Telecommunications Conference, 2009, pp. 5753–5759. [117] R. Van der Merwe, N. de Freitas, and E. Doucet, A.and Wan, The Unscented Particle Filter, Advances in Neural Information Processing Systems 13, November 2000. [118] J. Vermaak, A. Doucet, and P. Perez, Maintaining multimodality through mixture tracking, Proceedings of the Ninth IEEE International Conference on Computer Vision, oct. 2003, pp. 1110 –1116 vol.2. [119] A. Wald, Sequential Analysis, Wiley, 1947. [120] M. P. Wand and M. C. Jones, Kernel Smoothing, 1 ed., Monographs on Statistics & Applied Probability, Chapman and Hall/CRC, December 1994. [121] N. Whiteley and A. M. Johansen, Auxiliary particle filtering : recent developments, Bayesian time series models, Cambridge University Press, Cambridge, 2011. [122] M. Woodrofe, On choosing a delta-sequence, Ann. Math. Statist. 41 (1970), 1665 – 1671. [123] Chunxia Xiao and Meng Liu, Efficient mean-shift clustering using Gaussian kd-tree, Computer Graphics Forum 29 (2010), no. 7, 2065–2073. [124] R. Xu and D. Wunsch, Survey of clustering algorithms, IEEE Transactions on Neural Networks 16 (2005), no. 3, 645–678. [125] M. Zakai, On the optimal filtering of diffusion processes, Zeitschrift fur Wahrscheinlichkeitstheorie und Verwandte Gebiete 11 (1969), no. 3, 230–243. [126] L. Zhibin, S. Zongying, Z. Mingguo, and X. Wenli, Mobile robots global localization using adaptive dynamic clustered particle filters, IEEE/RSJ International Conference on Intelligent Robots and Systems, 2007, pp. 1059–1064.Nouvelles approches en filtrage particulaire. Application au recalage de la navigation inertielle Les travaux présentés dans ce mémoire de thèse concernent le développement et la mise en œuvre d’un algorithme de filtrage particulaire pour le recalage de la navigation inertielle par mesures altimétriques. Le filtre développé, le MRPF (Mixture Regularized Particle Filter), s’appuie à la fois sur la modélisation de la densité a posteriori sous forme de mélange fini, sur le filtre particulaire régularisé ainsi que sur l’algorithme mean-shiftclustering. Nous proposons également une extension du MRPF au filtre particulaire Rao-Blackwellisé appelée MRBPF (Mixture Rao-Blackwellized ParticleFilter). L’objectif est de proposer un filtre adapté à la gestion des multimodalités dues aux ambiguïtés de terrain. L’utilisation des modèles de mélange fini permet d’introduire un algorithme d’échantillonnage d’importance afin de générer les particules dans les zones d’intérêt. Un second axe de recherche concerne la mise au point d’outils de contrôle d’intégrité de la solution particulaire. En nous appuyant sur la théorie de la détection de changement, nous proposons un algorithme de détection séquentielle de la divergence du filtre. Les performances du MRPF, MRBPF, et du test d’intégrité sont évaluées sur plusieurs scénarios de recalage altimétrique. Mots-clés : FILTRAGE PARTICULAIRE ; RECALAGE ALTIMETRIQUE ; MODELE MELANGE ; MEAN-SHIFT CLUSTERING ; ECHANTILLONNAGE IMPORTANCE ; MAXIMUM POSTERIORI ; TEST INTEGRITE ; DETECTION CHANGEMENT ; ALGORITHME CUCUM New particle filtering methods. Application to terrain-aided inertial navigation This thesis deals with the development of a mixture particle filtering algorithm for inertial navigation update via radar-altimeter measurements. This particle filter, the so-called MRPF (Mixture Regularized Particle Filter), combines mixture modelling of the posterior density, the regularized particle filter and the mean-shift clustering algorithm. A version adapted to the Rao-Blackwellized particle filter, the MRBPF (Mixture Rao-Blackwellized Particle Filter), is also presented. The main goal is to design a filter well suited to multimodal densities caused by terrain amibiguity. The use of mixture models enables us to introduce an alternative importance sampling procedure aimed at proposing samples in the high likelihood regions of the state space. A second research axis is concerned with the development of particle filtering integrity monitoring tools. A novel particle filter divergence sequential detector, based on change detection theory, is presented. The performances of the MRPF, MRBPF and the divergence detector are reported on several terrain navigation scenarios. Keywords : PARTICLE FILTERING ; TERRAIN NAVIGATION ; MIXTURE MODELS ; MEAN-SHIFT CLUSTERING ; IMPORTANCE SAMPLING ; MAXIMUM A POSTERIORI ; INTEGRITY MONITORING ; CHANGE DETECTION ; CUSUM ALGORITHM Office National d'Études et de Recherches Aérospatiales BP 72 - 29 avenue de la Division Leclerc 92322 CHATILLON CEDEX Tél. : +33 1 46 73 40 40 - Fax : +33 1 46 73 41 41 http://www.onera.fr Méthode de game design pour la cr´eation d’un profil psychologique du joueur. Emmanuel Guardiola To cite this version: Emmanuel Guardiola. M´ethode de game design pour la cr´eation d’un profil psychologique du joueur.. Computers and Society. Conservatoire national des arts et metiers - CNAM, 2014. French. . HAL Id: tel-00978531 https://tel.archives-ouvertes.fr/tel-00978531 Submitted on 14 Apr 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.Ecole Doctorale Informatique, Télécommunication et Electronique Centre d’’étude et de recherche en informatique et communication (EA 4529) THÈSE DE DOCTORAT présentée par : Emmanuel GUARDIOLA soutenue le : 22 janvier 2014 pour obtenir le grade de : Docteur du Conservatoire National des Arts et Métiers Discipline/ Spécialité : Informatique Méthode de game design pour la création d’un profil psychologique du joueur THÈSE dirigée par : M. Stéphane NATKIN – Professeur – Directeur de l’ENJMIN et responsable de l’équipe MIM du CEDRIC – CNAM RAPPORTEURS : M. Pascal ESTRAILLER – Professeur – Laboratoire Informatique Image Interaction (L3i) – Université de La Rochelle M. Charles TIJUS – Professeur – Directeur du LUTIN - Université de Paris 8 JURY : M. Jean Marc LABAT – Professeur à l’université de Paris 6 – UPMC, Lip6 – Président du jury Mme Caroline JEANTEUR – Directrice du stratégic research Lab, Ubisoft – Examinatrice Mme Armelle PRIGENT – Maître de conférences à l'université de La Rochelle – Laboratoire Informatique Image Interaction – Examinatrice M. Nicolas SZILAS – Maître d'Enseignement et de Recherche – Université de Genève – Examinateur2 3 4 5 Remerciements A Stéphane Natkin, pour la flamme de la curiosité qu’il sait insuffler, pour son soutien continuel dans cette aventure, pour avoir imaginé JEU SERAI, A l’équipe du CNAM, et en particulier : aux doctorants Delphine Soriano et Guillaume Levieux pour les échanges, à Pierre Cubaud et Clement Pillias pour leurs retours, et à Stéphanie Mader pour son apport au game design de JEU SERAI, A Pierre Vrignaud pour tout le temps et l’expertise accordés, dont j’ai sans doute abusé lors de l’effervescence des analyses, A l’équipe de Wizarbox ayant donné vie à JEU SERAI, et particulièrement Perrine Corre et Sophie Michel pour leur professionnalisme et disponibilité tout au long de cette première étape, Aux l’équipes de l’ARCNAM Poitou-Charentes, Christine Leblanc-Sitaud, Françoise Le Vezu et Sylvie Rideau, et de l’UPOND, Lara Cuvillier, pour avoir mené à bien les passations dans des conditions parfois complexes, A l’équipe de l’INETOP, Thierry Boy, Odile Dosnon et Even Loarer, pour nous avoir accueillis et initiés aux enjeux de l’orientation professionnelle, pour leurs contributions à l’existence de JEU SERAI, A Caroline Jeanteur et Serge Hascoet pour le challenge intellectuel quotidien de nos collaborations, terreau fertile de ce travail de recherche, A l’équipe de Mimesis Republic, dont Cyrill Fontaine et Nicolas Gaume qui ont permis ce travail passionnant sur le profil gameplay du joueur, A mes enfants Emma et Bastien pour leur compréhension lorsque je n’étais pas disponible et à qui je souhaite dire que l’école peut, parfois, avoir du bon, A Véronique Vilmant-Guardiola : pour m’avoir permis de me plonger dans ce travail passionnant et accaparant, Enfin, à Bach, pour l’intégralité de son œuvre qui a constitué mon environnement sonore exclusif lors de la rédaction finale. 6 7 Résumé Générer du gameplay est un incontournable objectif de la réalisation d’un jeu. Nous le recherchons lorsque nous nous rentrons dans la bulle ludique. Pourtant, les éléments produits par les game designer sont des systèmes de jeu, des règles, une simulation, etc. Pour que ce système permette la naissance du gameplay, les game designers doivent nécessairement tenter de modéliser le joueur. Empiriquement ils manipulent des modèles psychologiques et sociologiques du joueur : Courbe d’apprentissage, gestion de la difficulté, degré d’efficience (etc.). Au cœur de la session de jeu industriel et chercheur ont besoin de moyens pour mieux cerner le joueur. La question que nous nous posons est celle de la détection des traits psychologiques, d’éléments caractérisant du joueur, au travers du gameplay ou, pour le moins, engagé dans une expérience ludique. Nous proposons une méthode de game design dédiée à la création d’un profil psychologique du joueur. Nous avons pu l’expérimenter lors d’un travail de collaboration avec INETOP et Paris Ouest sur la question des tests d’orientation professionnelle. Il s’agit du serious game JEU SERAI, développé en partenariat avec l’industriel Wizarbox. Cette première expérimentation nous permet d’envisager un développement de ce champ de recherche à la croisée des sciences de l’informatique, de la psychologie et des sciences cognitives. Mots clef : modèle du joueur, profil du joueur, game design, gameplay, test d’orientation professionnelle, modèle de Holland 8 9 Résumé en anglais Abstract: Can we track psychological player’s traits or profile through gameplay or, at least, when the player is engaged in a ludic experience? We propose a game design methodology dedicated to the generation of psychological profile of the player. The main experimentation, a vocational guidance game, was created with academic experts and industrial game developpers. The first results set the basis of the exploration of a field at the crossover of computer sciences, in particular game design, psychology and cognitive sciences.. Keywords: Game design – player profiling – player model - psychological profile – vocational guidance – Holland model 10 11 Table des matières Remerciements ........................................................................................................................... 5 Résumé....................................................................................................................................... 7 Résumé en anglais...................................................................................................................... 9 Table des matières.................................................................................................................... 11 Liste des tableaux ..................................................................................................................... 17 Liste des figures ....................................................................................................................... 19 Liste des annexes...................................................................................................................... 23 Introduction .............................................................................................................................. 29 Quelques concepts importants du jeu vidéo......................................................................... 29 Engagement et Gameplay..................................................................................................... 31 Définition du Gameplay................................................................................................... 31 La boucle de gameplay..................................................................................................... 32 Les règles en tant qu’objets : le système de jeu ............................................................... 33 Mise en scène de l’expérience de jeu ............................................................................... 34 Structure motivationnelle ................................................................................................. 35 Contexte narratif............................................................................................................... 35 Empirisme des méthodes de game design........................................................................ 35 Engagement et serious game ................................................................................................ 36 Definition du serious game .............................................................................................. 36 Problèmes soulevés par les professionnels....................................................................... 39 Le modèle du joueur............................................................................................................. 43 Nature de notre recherche .................................................................................................... 45 Plan de la thèse................................................................................................................ 4612 2. Etat de l’art du modèle du joueur dans le gameplay ........................................................ 51 Le joueur dans la boucle d’interaction ................................................................................. 51 Joueur comme acteur de l’ « Objectif-Défi-Récompense» .................................................. 53 Le joueur somme de compétences ....................................................................................... 55 Le joueur apprenant.............................................................................................................. 57 Modélisation de la performance........................................................................................... 59 Intelligence artificielle.......................................................................................................... 60 Le joueur et la difficulté ....................................................................................................... 61 Autres cas d’adaptation du contenu au profil du joueur....................................................... 62 Le degré de complétion ........................................................................................................ 64 Théorie de la décision et modèle du joueur modif ............................................................... 65 Théorie de la motivation ...................................................................................................... 67 La théorie des jeux ............................................................................................................... 69 Serious game et profil de joueur .......................................................................................... 70 Autres relations empiriques entre game design et profil psychologique ............................. 71 Mesure des intérêts professionnels....................................................................................... 73 Biais des questionnaires déclaratifs.................................................................................. 77 Conclusion de l’état de l’art ................................................................................................. 77 Utilité annexe de cet état de l’art...................................................................................... 78 3. Méthode proposée et contexte d’expérimentation ........................................................... 87 Pourquoi évaluer le profil du joueur ?.................................................................................. 87 Evaluer le profil psychologique d’un joueur........................................................................ 89 Méthode de conception proposée......................................................................................... 91 Mise en application sur JEU SERAI.................................................................................... 94 Conclusion sur la méthode ................................................................................................... 96 4. Méthode appliquée au prototype JEU SERAI................................................................ 10113 Choix du modèle ................................................................................................................ 101 Le modèle de Holland .................................................................................................... 101 Questionnaires d’intérêts et modèle de Holland ............................................................ 103 Passations traditionnelles et informatiques .................................................................... 104 Conclusion sur le choix du modèle ................................................................................ 106 Identification du faisceau de contraintes lié à la cible ....................................................... 106 Organisation du travail entre game designers et experts.................................................... 107 Choix du type de jeu........................................................................................................... 108 Mesurer une préférence dans le gameplay ..................................................................... 109 Experience de jeu, thème et genre.................................................................................. 111 Boucle de gameplay et items.............................................................................................. 113 Développement de la boucle de gameplay..................................................................... 113 Bilan des items choisis ................................................................................................... 119 Méthode d’évaluation rationnelle des contenus en conception.......................................... 120 Système de jeu.................................................................................................................... 122 Conception des Mini-jeux, ............................................................................................. 122 Formalisation dans le document de game design........................................................... 124 Choix des mini-jeux et problématiques.......................................................................... 126 Challenge et type de Holland ......................................................................................... 128 Mode de calcul des scores et problématiques ................................................................ 128 Elements de gameplay des mini-jeux et RIASEC.......................................................... 135 L’Item rejouer inégal selon les mini-jeux ...................................................................... 138 Les activités récurrentes ................................................................................................. 138 Design des systèmes de notation par le joueur............................................................... 140 Quizz ........................................................................................................................ 140 Création d’avatar ............................................................................................................ 14214 Mise en scène de l’interaction............................................................................................ 143 Navigation dans le village.............................................................................................. 144 Mini-jeux146 Structure motivationnelle ................................................................................................... 151 Structure du jeu .............................................................................................................. 152 Système de récompense ................................................................................................. 152 Un village stimulant ....................................................................................................... 154 Progression de la difficulté et de la variété .................................................................... 156 Comparaison au type de régulations de Deci et Ryan................................................... 156 Contexte narratif................................................................................................................. 156 Contexte général............................................................................................................. 157 Maisons et personnages non joueurs.............................................................................. 158 Scénarisation du déclenchement de mini-jeux ............................................................... 159 Outils de collecte de données ............................................................................................. 160 Entrées ........................................................................................................................ 161 Restitutions brutes.......................................................................................................... 162 Présentation des résultats pour le joueur ........................................................................ 169 Conclusion sur la mise en pratique de la méthode en conception...................................... 170 5. Tests d’évaluation .......................................................................................................... 177 Protocole d’expérimentation .............................................................................................. 178 Profil des participants..................................................................................................... 178 Modalités des passations ................................................................................................ 179 Etat du prototype au moment des tests........................................................................... 179 Commentaires des participants........................................................................................... 180 Analyse des résultats .......................................................................................................... 180 Tableau de correlation activités récurrentes : « Nombre de clics »/IRMR .................... 18115 Tableaux de corrélation Quizz/IRMR............................................................................ 184 Tableau de corrélation mini-jeux : « joué »/IRMR ........................................................ 187 Tableau de corrélation mini-jeu: « 1er score »/IRMR..................................................... 191 Tableau de correlation mini-jeux : « Meilleur Score »/IRMR ....................................... 193 Tableau de corrélation mini-jeux : « Classement » / IRMR .......................................... 196 Tableau de corrélation mini-jeux : « Note »/IRMR ....................................................... 198 Tableau de corrélation « tenue initiale »/IRMR............................................................. 199 Conclusion sur la méthode d’évaluation ............................................................................ 200 6. Conclusion générale ....................................................................................................... 209 Glossaire................................................................................................................................. 219 Bibliographie.......................................................................................................................... 223 Annexes.................................................................................................................................. 232 Résumé................................................................................................................................... 245 Résumé en anglais.................................................................................................................. 24516 17 Liste des tableaux Tableau des typologies comportementales extrait de le thèse de Chen Yan, CNAM 2007....... 1 Tableau extrait de "Motivations of Play in online games ". Yee, N. ......................................... 1 Tableau énumérant les 6 mini-jeux par jour/theme................................................................ 113 Tableau listant les « quizz » proposés au joueur dans le village............................................ 115 Tableau des données des activités récurrentes tel qu’il est présenté dans le fichier final.......... 1 Tableau des données des mini-jeux tel qu’il est présenté dans le fichier final .......................... 1 Tableau des données quizz tel qu’il est présenté dans le fichier final........................................ 1 Tableaux des données : ordre des mini-jeux, type de tenue, temps de jeu ainsi que les cellules réservées aux métiers et commentaires liés au profil global.............................................. 1 Tableau des données des scores RIASEC cumulés.................................................................... 1 Tableau récapitulatif de la pertinence RIASEC des mini-jeux .................................................. 118 19 Liste des figures Serious game Pulse [BreakAway 2006] simulant un patient virtuel ......................................... 1 Typologie de Bartle.................................................................................................................... 1 The Game Feel model of interactivity extrait de Game Feel, Steve Swink............................... 1 Extrait de [Conroy 2011], modélisation des actions du joueur préalable à la réalisation d’une IA d’adversaire................................................................................................................... 1 Les sept phases de l’action d’après [Norman 2002] .................................................................. 1 Heuristic circle of gameplay, extrait de Video game reader 2 ................................................... 1 Captures d’écran d’une video montrant un joueur expert de Tetris jouant au mode normal (à gauche) puis au mode invisible (à droite) .......................................................................... 1 Différents comportements de joueur face à des patterns (segments de circuit) mesurés dans Forza Motorsport ............................................................................................................... 1 Ecran de score du jeu Defender et écran de fin de mission de IL2 ............................................ 1 Synthèse des changements de contenu destinés à chaque type du DGD ................................... 1 Traduction du continuum de motivation de Deci et Ryan par Guillaume Denis ....................... 1 Exemple de matrice permettant de tracer les décisions du joueur ............................................. 1 Extrait de l’exposé : Les 3 figures de l’orientation par Thierry Boy de l’INETOP basé sur [Boy 2005],......................................................................................................................... 1 Environnement et personnages de Mamba Nation..................................................................... 1 Matérialisation de la sphère d’influence de l’avatar pendant qu’il joue une animation ............ 1 Schéma synthétisant la méthode de conception proposée.......................................................... 1 Hexagone du modèle RIASEC de Holland................................................................................ 1 Extrait de rapport du test IRMR3............................................................................................... 120 Processus idéal de validation du contenu................................................................................... 1 Boucle de gameplay 1 –boucle principale contextualisée, avec localisation des items servant à la mesure du profil.............................................................................................................. 1 Boucle de gameplay 2 –boucle complétée des quizz et activités récurrentes, et leurs items complémentaires................................................................................................................. 1 Boucle de gameplay 3 – intégrant le journal et les activités liées à la maison........................... 1 Boucle de gameplay 4 – boucle finale ....................................................................................... 1 Synthèse des items dans la boucle de gameplay et leurs propriétés........................................... 1 Exemple du système de légende utilisé pour la lecture des tableaux de vérification d’appartenance des éléments conçus à un type RIASEC. Ici pour le type Réaliste.......... 1 Exemple de tableau d’évaluation d’appartenance des éléments à un type RIASEC. ................ 1 Fiche type de formalisation d’un mini-jeu dans le document de game design ......................... 1 Extrait des documents supports au test d’évaluation : Page présentant la thématique d’un jour ; page présentant une des activités de la journée et tableau de classification dans le questionnaire ...................................................................................................................... 1 Ecran de jeu et écran de score du mini-jeu La Tuile.................................................................. 1 Ecran de jeu et écran de score du mini-jeu Les courses de madame Petitpas............................ 1 Ecran de jeu et écran de score du mini-jeu Création d’automne................................................ 1 A gauche l’écran de notation des mini-jeux après y avoir joué, à droite l’écran de classification des mini-jeux à la fin de chaque journée...................................................... 1 A gauche la signalétique d’un personnage proposant un Quizz, à droite, l’écran de parcours des solutions et de validation ............................................................................................. 1 Bandeau d’illustration du site de l’éditeur de tests d’orientation professionnelle PAR............. 1 Ecran de customisation de l’avatar en début de partie ............................................................... 1 Interface principale de navigation dans le village...................................................................... 1 Superposition du trajet estimé du joueur suivant la boussole et les positions d’une des activités récurrentes .......................................................................................................................... 1 Schématisation de la structure du jeu......................................................................................... 121 Boite de dialogue valorisant la récompense et l’écran de customisation de la maison mettant en avant les récompenses ................................................................................................... 1 Ecran du journal de quête........................................................................................................... 1 Exemple d’un point de vue particulièrement chargé en stimulations gameplay. Mini-jeu, Quizz et cinq activités récurrentes peuvent y être déclenchées ......................................... 1 Les 3 jours de l’aventure avec leurs ambiances contrastées ...................................................... 1 Affiliation RIASEC des PNJ...................................................................................................... 1 Ecran de restitution du profil pour le joueur .............................................................................. 122 23 Liste des annexes Annexe 1 - Contexte général du projet Jeu Serai Annexe 2 - Fiche de conception de mini-jeu Annexe 3 - Découpage des éléments constitutifs d’un gameplay Annexe 4 - Profils des participants aux tests d’évaluation 24 25 26 27 CHAPITRE 1 - INTRODUCTION28 29 1 - Introduction Quelques concepts importants du jeu vidéo Qu’est-ce qu’un jeu vidéo ? C’est une question assez complexe, car le terme recouvre par exemple : des jeux d’adresse et d’aventures solitaires comme les les First Person Shooter1 ou FPS ; des jeux en ligne ou plusieurs milliers de joueur cohabitent en temps réel comme les Massively Multiplayer Online Role Playing Games ou MMORPG ; des jeux sociaux asynchrones permettant de partager son expérience via les réseaux sociaux, ou des jeux colocalisés permettant de simuler un concert de rock ou de s’affronter dans un karaoké électronique. Les points communs entre toutes ces activités, dénommées jeux vidéo, d’abord ce sont toutes des jeux : Elles nécessitent un engagement fort des joueurs dans une activité basée sur un défi. Ces activités sont soumises à des règles strictes, leurs issues sont imprévisibles et les conséquences du résultat ne dépendent que de l’importance que le joueur lui donne. Pourquoi ces jeux sont-ils qualifiés de vidéo ? Les jeux vidéo n’ont pratiquement plus d’autres rapports avec la vidéo que la nature du signal qui relie la console de jeu au téléviseur. Il serait plus opportun de parler de jeux informatiques, traduction du terme anglais computer game. Car c’est l’ordinateur ou la console qui gère l’univers et les règles du jeu et qui, parfois, est l’adversaire du joueur. Cette définition nous permet de mettre en évidence un certain nombre de concepts qui sont au cœur de notre thèse. La notion d’engagement du joueur qui caractérise le jeu montre en quoi un jeu vidéo se distingue d’un autre media. Concevoir un jeu c’est créer cette sensation d’engagement et 1 De nombreuses expressions du domaine du jeu, parfois acronymes, souvent anglophones, sont explicités dans le glossaire en fin de thèse.30 donc se préoccuper à chaque instant de ce que peut ressentir et comment va réagir le joueur. Au cœur de tout jeu il y a un modèle implicite ou explicite du joueur. Cet engagement repose en grande partie sur une boucle de rétroaction (feedback) entre l’évolution du jeu, la perception qu’en a le joueur et la façon dont il réagit, modifiant ainsi l’état du jeu. Créer cette boucle c’est ce que l’on appelle créer un gameplay. La formalisation des mécanismes de gameplay et le développement du jeu se traduisent dans les règles. Les règles du jeu sont apprises dynamiquement par le joueur en expérimentant le jeu. Le système de règles qui régit la simulation et la relation des joueurs au jeu est appelé système de jeu et décrit sous forme d’objets du jeu. La sensation d’engagement est également liée à un contexte narratif. Il peut être explicitement essentiel au jeu dans un jeu d’aventure ou nécessaire pour permettre au joueur de s’exprimer : se prendre pour Van Halen en appuyant sur les boutons de couleurs d’une guitare en plastique ou pour un super capitaliste en lançant les dés du Monopoly. Ces principes sont mis en œuvres par les concepteurs de jeu, les Game Designers, selon un processus qui s’est établi dans les quarante dernières années et qui se fonde sur le modèle du joueur. Le modèle du joueur peut avoir un usage qui va au-delà du gameplay. Dans les jeux sérieux (serious game) ayant une utilité d’évaluation ou de thérapie d’un joueur en particulier, l’utilisation d’un modèle explicite du joueur est indispensable. Dans la suite de ce chapitre nous détaillons ces différents concepts pour préciser l’objet de notre thèse 31 Engagement et Gameplay Définition du Gameplay Lorsque des joueurs et critiques parlent du gameplay, ils évoquent un jeu en train d’être joué. Nous pouvons en voir des illustrations sur les sites dédiés aux revues de jeu. Ils comportent de nombreuses « vidéo de gameplay »2 . Dans la littérature le gameplay est fréquemment défini comme la relation du joueur au monde du jeu. How the player is able to interact with the game-world and how that game-world reacts to the choices the player makes [Rouse 2004]3 D’un côté nous avons un système de jeu, ou système de règles, élaboré par des game designers et embarqué dans l’application. Ce système de jeu existe grâce à une simulation développée par une équipe. De l’autre nous avons des joueurs se représentant mentalement les situations transmises par la simulation et décidant des actions nécessaires à les transformer. Créant le lien, un espace d’interaction composé de contrôleurs, capteurs et modes de perception réciproques. Les situations que le joueur se représente sont des situations de jeu, parfois définies comme des patterns [Koster 2005]. Elles comportent un objectif (parfois à l’appréciation du joueur) une forme d’épreuve pour l’atteindre et une résolution incertaine influencée par les actions du joueur [Guardiola 2000]. L’expression Objective/challenge/reward4 sert empiriquement à définir ce cadre. L’objet qui nous intéresse semble donc être: un système de jeu devenant une représentation mentale d’une situation jeu et sur laquelle le joueur agit. Rollings et Morris [Rollings 2004] axent d’ailleurs leur définition du gameplay sur les actes du joueur et ses conséquences. 2 Vous pouvez consulter certaines de ces vidéos sur www.jeuxvideo.fr et www.gametrailers.com/gameplay.php 3 Trad : La manière dont le joueur est capable d’interagir avec le monde du jeu et comment ce monde réagit aux choix que le joueur fait 4 Trad : Objectif/Défi/Récompense32 A decision has gameplay value when it has an upside and a downside and when the overall payoff depends on other factors. 5 Les décisions du joueur deviennent des entrées ou inputs ; et une manifestation métaphorique dans le jeu. Jesse Schell [Schell 2008] parle des mécaniques de gameplay de Space Invader [Taito 1978] en usant de verbes d’action, décrivant l’ensemble des options offertes au joueur : se cacher derrière les blocs de protection, tirer sur les aliens avançant ou sur la soucoupe volante bonus. A la lumière de ces approches, nous avons établi la définition du gameplay qui nous sert de cadre pour lui rapprocher des modèles psychosociologiques: L’ensemble des actions (cognitives ou physiques, performances et stratégies) que le joueur déploie et qui influencent positivement ou négativement la résolution de la situation de jeu incertaine dans laquelle il est engagé. La boucle de gameplay Ce terme définit la manière dont le game designer formalise la place du joueur dans le système de jeu. Représentée sous forme de schéma ou de séquence illustrée, elle met en avant l’activité projetée du joueur. Chaque jeu comporte un nombre limité de gameplay, parfois un seul. Ce gameplay doit être clairement cerné au travers d’une boucle d’interaction qui se rapporte au cycle Objectif/Défi/Récompense que le joueur traverse. Un gameplay, une fois défini, se décline en une multitude de variations, des briques de gameplay, qui vont constituer un parcours potentiel, et comporte un aspect itératif du point de vue du joueur. Cette boucle a une propriété quasi fractale. Nous pouvons représenter l’activité du joueur à différentes échelles : micro, par exemple je tente de positionner le curseur de tir sur un ennemi se déplaçant ; ou plus macro, par exemple je dois parcourir ce niveau rempli d’ennemis à la recherche de la sortie. La boucle de gameplay matérialise aussi la nature des conditions d’échec ou de victoire. Nous pourrions par exemple pour un jeu d’infiltration, matérialiser par une cellule du schéma « l’avancée précautionneuse » vers un ennemi, qui en cas d’échec, déplacerait le joueur vers une boucle secondaire « échapper au regard de l’ennemi ». Nous voyons ici que le cœur de la conception d’un jeu passe par une schématisation de l’activité et des décisions du joueur. 5 Trad : Les décisions ont une valeur gameplay quant elles ont un inconvénient et un avantage et 33 Caillois suggère que : Le jeu repose sans doute sur le plaisir de vaincre l’obstacle ; mais un obstacle fictif, fait à la mesure du joueur et accepté par lui [Caillois 67]. Nous pouvons y voir la référence à l’engagement du joueur mais aussi au défi (Challenge). L’une des tâches liée à la définition d’un gameplay consiste à expliciter la manière dont les compétences du joueur vont être confrontées à des situations de jeu, dont les paramètres de difficultés seront contrôlés par les game designers. Les règles en tant qu’objets : le système de jeu On appelle système de jeu l’ensemble des règles qui régissent la statique et la dynamique du jeu. Il existe plusieurs niveaux de règles [Salen 2004]. En général le Game Design s’intéresse aux règles opérationnelles : celles qui décrivent le fonctionnement du jeu dans son contexte d’usage. Dans un jeu de cartes ou de plateau ces règles sont explicitées dans un « mode d’emploi ». Mais un jeu vidéo est un système à auto apprentissage. Dans la grande majorité les règles ne sont donc pas écrites pour le joueur, qui va les comprendre en jouant. Les règles sont formalisées pour les programmeurs, graphistes, concepteurs sonores qui vont développer le jeu et donc matérialiser le système de jeu. Elles définissent le fonctionnement de tous les éléments constitutifs de la simulation dans laquelle le joueur sera plongé. Une des approches les plus répandues consiste à analyser la boucle de gameplay et d’établir la liste des objets à réaliser pour qu’elle fonctionne. La notion d’objet dans les jeux vidéo est directement inspirée de la notion d’objet que l’on rencontre dans le génie logiciel. Natkin distingue trois types d’objets : les objets existant explicitement dans le jeu (un dragon, l’avatar du joueur..), les objets de mise en scène (une caméra, etc.) et les objets d’ambiance (éclairage et ambiance sonore lié à la temporalité et ou à la météorologie par exemple). Un objet est une entité qui a une représentation, qui peut produire des actions, méthodes en termes de programmation, qui agissent sur d’autres objets et qui évolue en fonction des actions produites par les autres objets. La description comportementale d’un objet se présente comme un automate à état fini communiquant avec les automates des autres objets. Notons cependant que la transcription des systèmes de jeu dans un document de game design prend parfois la forme d’un simple descriptif fonctionnel. quand le bénéfice dépend d’autres facteurs34 Mise en scène de l’expérience de jeu La description de ces objets intègre la manière dont leur état et l’évolution de cet état est communiqué au joueur. Cet aspect est essentiel puisque c’est la seule façon de lui faire comprendre les règles. Mais c’est aussi au cœur de tout bon gameplay : la sensation d’engagement d’un joueur nait de la compréhension des relations de cause à effet entre ses actions et l’état du jeu. Si le projectile de mon arme permet de détruire un ennemi, il faudra que cet ennemi comporte un état « touché » particulièrement explicite ou que l’interaction entre les objets « projectile » et « ennemi » soit souligné, par exemple par un effet spécial clairement perceptible. L’un des enjeux de la formalisation du système de jeu est donc la compréhension de la situation de jeu par le joueur. C’est la notion de règle discernable soulignée par Salen et Zimmerman [Salen 2004]. La notion de communication entre le système de jeu et le joueur est critique dans les tâches qui reviennent au game designer. Des stimuli sont envoyés par le système de jeu, provoquant une représentation de la situation de jeu par le joueur, qui agit, cela modifie l’état du système de jeu, qui lui renvoie des feedbacks. L’objet de conception le plus marquant de cet échange entre représentation de la situation de jeu et état du système est la relation étroite entre les contrôles, la caméra et les réactions de l’objet contrôlé. Il ne s’agit pas tant de définir quel bouton fait quoi, quel type de caméra est utilisé et ce que contrôle le joueur que de designer ce que va sentir le joueur, le Game Feel de Swink [Swink 2009]. Dans un genre donné, le jeu de plateforme en deux dimensions, les sensations que nous éprouvons en contrôlant Sonic ou Mario sont radicalement différentes. Pourtant nous contrôlons un petit avatar, avec un type de caméra et des boutons aux fonctions relativement similaires. La définition et l’équilibrage entre eux de ces trois éléments, parfois ramenés à l’expression les 3C, camera, control, character, vient parfois se compléter d’autres objets, comme par exemple la nature des collisions. Nous touchons ici au cœur de l’expérience de jeu pour de nombreux genres et la conception de cet élément clef est fondamentalement lié la présence d’une modélisation du joueur vu comme presse bouton et réceptacle de stimuli par le concepteur. Cette mise en scène couvre aussi des aspects d’ordre psychologique. Le game designer joue avec les émotions du joueur et ses attentes. Lors d’une conférence [Meier 2010], Sid Meier citait des exemples typiques de cette prise en compte de la psychologie du joueur. Dans Civilization V [Firaxis 2010] lorsqu’un joueur souhaite attaquer des unités adverses avec ses propres unités, une aide contextuelle lui annonce ses chances de l’emporter, admettons une 35 chance sur trois. Le joueur pourrait constamment perdre en tentant des batailles identiques. Alors qu’en réalité, il considère qu’il peut gagner une fois sur trois. Les designers ont donc modifié le système pour qu’il colle avec les attentes du joueur. Ce n’est pas une simulation stricte, mais un jeu qui veut faire vivre une expérience. Structure motivationnelle Pour garder le joueur engagé, les game designers déploient un panel d’éléments permettant de le motiver. Cette structure motivationnelle incontournable peut varier grandement dans sa nature d’un game design à l’autre. Score à atteindre, récompenses disposées à un bon rythme, entretient de l’expérience optimale ou flow de Milahy Csikszentmihalyi [Csikszentmihalyi 1991] par le réglage de la variété et de la difficulté des situations, par l’évolution des potentiels d’interaction, le développement ou la customisation progressive d’un objet… Les outils sont nombreux et dépendent parfois du genre du jeu réalisé. L’élaboration du level design et sa fabrication concrète avec les outils de production a, entre autre, pour but d’entretenir cette motivation d’ordre ludique. Nous parlons encore de tout un pan du game design orienté vers la manipulation du joueur qui passe par sa modélisation, parfois complètement intuitive, mais soutenue par des procédés rationnels tel que les sessions de tests de la difficulté en fin de production. Contexte narratif En terme de pratique, de nombreux jeux ne comportent pas de narration au sens d’autres medium (structurés linéairement, avec des personnages non pas à incarner mais dont nous suivons les péripéties…). A minima, les game designers doivent établir le contexte narratif de leur jeu. Où cela se passe ? Le cas échéant, quels sont les personnages clef de cet environnement ? Quel sont les éventuels grands événements qui vont s’y produire ? Il s’agit de voir ces éléments avec le point de vue du joueur. Nous nous demandons quel rôle il va jouer, comment il va influer sur ce monde et en quoi cela l’intéressera. Empirisme des méthodes de game design La littérature sur le game design s’est particulièrement développée depuis 2000, période qui correspond aussi à la création des formations universitaires dédiées à cette discipline. Damien Djaouti, Julian Alvarez et Jean-Pierre Jessel ont répertoriés les modèles de processus de conception proposés au travers d’une grande partie de ces ouvrages [Djaouti 2010], 36 au 36 total. La plupart d’entre eux ont été écris par des game designers en activités et sont fondés sur des pratiques empiriques. A la lecture des différents ouvrages de game design, un lecteur pourrait parfois se sentir perdu tant la variété des méthodes de travail semble importante. Cependant, un certain nombre de principes reviennent fréquemment dans leurs propositions : l’itération, le prototypage, le test et l’affinage. L’itération est centrale et place le joueur au cœur du processus. Il s’agit d’évaluer un contenu. Soit cela se passe tôt dans le processus de production, et les game designers projettent leurs idées en se représentant un joueur y jouant et modifient l’objet de cette évaluation; Soit la production est relativement avancée et les prototypes sont testés, en premier lieu par l’équipe elle-même qui évalue les modifications à faire pour atteindre l’expérience qu’elle souhaite; Soit, enfin, ce sont des tests organisés avec des panels de joueurs et dont les retours permettrons l’aménagement du contenu pour une expérience optimale. A chacune des étapes, la conception du contenu itère jusqu’à obtenir un résultat satisfaisant, ou que les contraintes économiques fassent cesser le processus. Il est intéressant de souligner qu’au cœur des méthodologies de game design, les points communs soient éminemment liés à une projection du joueur type. Engagement et serious game Branche particulière du jeu, le Serious Game6 pose des problématiques relatives à la place du joueur dans le processus de création ainsi que sur les méthodologies de game design. Definition du serious game La définition exposée ici a été développée dans l’article Du jeu utile au jeu sérieux : un exemple le projet JEU SERAI publié par la revue Hermès d’avril 2012 [Natkin 2012] et exposant notre travail de recherche. Si nous cherchons à définir le serious game en couvrant tous les objets et applications qui s’en réclament, nous tombons sur une profusion de produits ou projets aux natures extrêmement variées. Cela irait du simulateur d’entrainement hyper réaliste pour médecin au petit jeu 37 d’arcade en ligne faisant la promotion d’une marque de gâteau apéritif. En prenant en compte l’ensemble des objets s’en réclamant nous serions contraint à une définition relativement vague: « Tout objet relevant du numérique qui n’est pas destiné aux loisirs et qui utilise soit une technologie soit des principes de conception développés à l’origine pour le jeu vidéo ». Tomberait dans cette définition, l’utilisation d’un processeur graphique (initialement développé pour permettre de jouer) pour un usage médical, utiliser un moteur de jeu pour faire de l’animation, un moteur de MMORPG pour créer une université virtuelle ou un système de points pour fidéliser la clientèle d’un site commercial. Cette définition trop vaste ne permet de cibler ni un marché, ni un domaine, ni une industrie productrice, il n’est plus possible d’en dire grand-chose, mis à part sur les avantages d’échelle de marché apportés par le jeu : les processeurs graphiques précités couteraient cinq à dix fois leur prix si ils n’avaient été développés que pour leurs « usages sérieux ». Mais si l’on désire aller plus loin dans ce domaine et comprendre, par exemple, ce qui distingue le ludo éducatif d’il y a vingt ans des meilleurs jeux de formation actuels, il faut restreindre la définition du terme « Serious Game ». Le terme est utilisé pour la première fois en 1970 dans le cadre de jeux non vidéo pédagogiques. Sa définition est progressivement développée par plusieurs chercheurs, notamment Benjamin Sawyer et Michael Zyda, l’ancrant dans le domaine du numérique. 6 La traduction française « jeu sérieux » n’est communément pas adoptée, que ce soit dans l’industrie, l’évènementiel ou la recherche. Nous utiliserons indifféremment les termes Serious game et jeu sérieux dans ce texte. Serious game Pulse [BreakAway 2006] simulant un patient 38 Dans leur Introduction au serious game [Alvarez 2010] Alvarez et Djaouti proposent une définition s’appuyant sur cet historique. Application informatique, dont l’intention initiale est de combiner, avec cohérence, à la fois des aspects sérieux (serious) tels, de manière non exhaustive et non exclusive, l’enseignement, l’apprentissage, la communication, ou encore l’information, avec des ressorts ludiques issus du jeu vidéo (Game). Une telle association, qui s’opère par l’implémentation d’un scénario utilitaire, qui, sur le plan informatique correspond à implémenter un habillage (sonore et graphique), une histoire et des règles idoines, a donc pour but de s’écarter du simple divertissement. Les dimensions sérieuses et vidéoludiques sont donc combinées. Cette définition permet déjà d’exclure les applications pures (par exemple d’e-learning) et les simulations pures (par exemple le simulateur d’entrainement pour pilotes de rafales). Si elle crée le lien entre les deux aspects, nous avons souhaité proposer un cadre se fondant sur des définitions éprouvées du jeu vidéo dit d’Entertainment. Jesper Juul mène dans Half Real [Juul 2005] une analyse en profondeur des définitions du jeu et en assemble les dénominateurs communs fondamentaux : Un jeu est un système dynamique formel dont le comportement, délimité par des règles, produit des conséquences variables et ayant des effets quantifiables. Le joueur doit avoir la sensation que ses actions influencent de façon contrôlée le comportement du jeu. Il doit être émotionnellement attaché aux résultats observés, mais il est seul à définir quelle est l’importance des résultats dans la vie réelle Cette définition permet d’analyser les mécanismes basés sur la sensation d’engagement et de responsabilité du joueur. Quand l’on considère des jeux sérieux destinés à la communication (politique, publicitaire…), à l’éducation ou à la formation, aux applications thérapeutiques et qui ont marqués les dix dernières années, ils ont cherché et réussi à exploiter les principes de conception qui gouvernent le gameplay et la narration dans les jeux vidéo : L’utilisateur a la sensation que ses actions influencent de façon contrôlée le comportement du jeu sérieux et est émotionnellement attaché aux résultats observés. C’est donc ce principe qui semble lier jeu pas sérieux et jeu sérieux. La différence avec un jeu sérieux se tient dans la nature dirigiste du résultat souhaité dans la vie réelle : Un jeu politique 39 comme September 12 [Frasca 2003]7 de Gonzalo Frasca tente de vous convaincre que la solution militaire ne résout pas le problème du terrorisme, America’s Army [U.S.Army 2002] va pousser le joueur à s’engager dans la dite armée, Supercharged [The Eduction Arcade 2003] vous aide à comprendre les lois de l’électromagnétisme… Tous ces jeux ont explicitement une utilité autre que le divertissement. Le créateur du jeu a pour objectif de contrôler une partie des résultats du jeu dans la vie réelle. Nous pouvons donc proposer une définition, non pas du jeu sérieux, mais du jeu utile : Un « jeu utile » est un système dynamique formel dont le comportement, délimité par des règles, produit des conséquences variables et ayant des effets quantifiables. Le joueur doit avoir la sensation que ses actions influencent de façon contrôlée le comportement du jeu. Il doit être émotionnellement attaché aux résultats observés. Mais le « jeu utile » est associé à un objectif défini de «la vie réelle ». Un jeu utile doit donc pouvoir être évalué selon deux critères : il doit remplir sa fonction de jeu (Le joueur doit avoir la sensation que ses actions influencent de façon contrôlée le comportement du jeu. Il doit être émotionnellement attaché aux résultats observés) et il doit être possible d’en mesurer l’utilité d’usage dans la vie réelle par rapport à l’objectif défini. Problèmes soulevés par les professionnels Cette confrontation entre utilité et engagement ludique soulève un certain nombre de problémes. Les points cités ci-dessous ont été mis à jour lors des ateliers game design organisés en 2010 et 2011 dans le cadre du Serious Game Lab et accueillis par Universcience. Ils regroupaient de nombreux acteurs industriels et chercheurs impliqués dans ce domaine. Nous avons mis en forme et communiqué les résultats de ces ateliers lors d’un masterclass dédié à la conception de serious game aux eVirtuose 2011 de Valenciennes [Guardiola 2011]. Le choix de jouer Le premier enjeu auquel sont confrontés les game designers de serious game est un des ressorts clef du jeu au sens « play »8 . Il s’agit de l’engagement du joueur dans le cercle magique. Son premier choix consiste à bien vouloir s’engager dans le jeu. S’il y est forcé par 7 Jeu accessible en ligne : http://www.newsgaming.com/games/index12.htm 8 En français le terme jeu peut représenter tant l’objet jeu que l’activité de jouer. L’utilisation du terme anglais « play » différent du « game » permet de pouvoir faire la distinction.40 son métier (par exemple le joueur de football professionnel gagnant sa vie), ou par d’autres contraintes, nous sortons du cadre traditionnel du « play ». Or de nombreux serious games ne sont pas des options pour leurs utilisateurs. Il peut s’agir de jeux visant à tester des candidats à des recrutements ou à former des employés. Comment arriver à conserver un engagement ludique malgré cette contrainte? Hector Rodiguez [Rodriguez 2006] suggère une piste en explorant Homo Ludens [Huizinga 1951]. … de nombreuses manifestions de la culture dite sérieuses possèdent intrinsèquement des aspects ludiques. (…) Jouer peut faire partie du processus d’apprentissage parce que le sujet qu’on apprend est, du moins sous certains aspects, essentiellement ludique. Le rôle des jeux sérieux dans le processus d’apprentissage consiste donc à mettre en lumière la nature fondamentalement ludique du sujet enseigné. 9 Pour compenser l’aspect forcé de la pratique de certains jeux sérieux, en particulier pédagogiques, les game designers se devraient donc de révéler le ludique qui sommeille dans l’objet de l’apprentissage. Cette solution, mise en pratique empiriquement dans de nombreux serious game semble fonctionner, si ce n’est pour l’utilisateur, au moins pour le client du serious game. Dans le cadre d’un jeu d’Entertainment, le client est le joueur. C’est lui qui au final choisit et souvent achète les jeux qu’il souhaite expérimenter. Nous pourrions considérer cet acte comme le premier choix manifestant sa volonté d’engagement. Dans le cadre du serious game, ce cas est très rare. Le client est généralement une entreprise ou une institution souhaitant financer un mode d’apprentissage moins coûteux que le panel d’outils qu’il a déjà à sa disposition. Ou encore souhaitant créer un outil de sensibilisation ou de communication sur un sujet particulier avec des retombées mesurables. Cela induit parfois un biais potentiel de conception : le jeu est fait pour convenir au client financeur plus qu’au joueur utilisateur final. Nous pouvons donc trouver sur le marché des serious games capables de remplir leur objectif pour le client mais qui n’auraient aucune chance d’être choisis par un joueur. Ce dernier subirait le jeu plus qu’il n’y jouerait. 9 Traduction Rémi Sussan, Prendre le jeu au sérieux LEMONDE.FR 29.01.10, http://www.lemonde.fr/technologies/article/2010/01/29/prendre-le-jeu-au-serieux_1298691_651865.html 41 Une approche existe cependant pour garantir le ludique de l’expérience. Nous pouvons en trouver la source dans les relations croissantes entre games studies et l’industrie du jeu. Il s’agit d’appuyer la conception d’un serious game sur des propriétés démontrées du jeu. Par exemple le projet SGCogR [Tekneo 2012], ou Le Village aux oiseaux, n’est pas né du besoin de répondre à un marché. Des publications sur le jeu, et en particulier celle de Green et Bavelier [Green 2003], tendaient à démontrer que la pratique des FPS permet d’entrainer l’attention visuelle de leurs pratiquants. La question s’est alors posée d’un type population qui pourrait avoir besoin d’un tel entrainement. L’audience choisie fut celle des patients souffrants d’Alzheimer. L’enjeu du projet consistait donc à réaliser un véritable FPS à destination des seniors et grands seniors. Cette approche basée sur les propriétés du jeu n’est certes pas simple à mettre en place systématiquement. Par contre elle garantit que pour que l’effet escompté soit perceptible, le jeu se doit être un véritable jeu, engageant pour l’utilisateur final. Simulation versus métaphore Nous pouvons constater que de nombreux serious games tentent de reproduire la situation à laquelle le joueur doit être entrainé. Cette tendance au réalisme ne fait, en théorie, pas bon ménage avec le jeu par nature métaphorique. Dans sa définition du jeu Costykian [Costikyan 1994] évoque littéralement la manipulation de pions. Qu’il s’agisse d’un pion en bois pour symboliser un cheval aux petits chevaux ou votre avatar dans World of Warcraft [Blizzard 2004] nous interagissons dans le système de jeu et ses ressources via des pions qui vont altérer l’état du système. Brougère évoque la nature second degré du jeu qui explique qu’on l’oppose fréquemment au réel, au sérieux [Brougère 2005]. Il semble donc que nous perdions un élément clef du jeu si son expérience tend à plonger le joueur dans une reproduction fidèle de la réalité. L’argument du réalisme est souvent évoqué pour des problématiques très sérieuses, par exemple entrainer les futurs manipulateurs de nos centrales nucléaires. Comment ne pas leur proposer un cadre fidèle à leurs futures conditions de travail ? Et pourtant il existe des contre-exemples à cette tendance. Grentel games, studio hollandais, développe Laparo Wii en collaboration avec des établissements hospitaliers 10. C’est un jeu 10 La présentation public du procédé au Next Level organisé par Swissnex San Francisco le 13 octobre 2011 : http://fora.tv/2011/10/13/Next_Level_How_Games_Improve_Health_and_Healthcare#fullprogram 42 destiné à l’entrainement les chirurgiens pratiquant la laparoscopie11. Il ne représente pas de véritables opérations simulées mais un puzzle game où le joueur doit résoudre les énigmes en manipulant ses instruments de laparoscopie. Peut-être que le meilleur moyen d’entrainer les futurs agents de centrales nucléaires est de le mettre aux commandes d’un vaisseau spatial dans le cadre d’un jeu. Rapport gameplay/expertise Les serious game portent des propos ou touchent à des sujets dont souvent les game designers ne peuvent pas se prétendre experts. De leur côté les experts du domaine sont rarement au fait des nécessités de la conception d’une bonne expérience de jeu. Il est nécessaire de mettre en place un processus dans la conception et la production du jeu pour que chacun remplisse son rôle. Le risque est que l’un ou l’autre prenne l’ascendant sur le contenu et de voir naître un jeu absolument pas ludique ou un serious game qui ne remplit pas son objectif utile. Audience et contraintes Nous l’avons vu, le client n’est pas toujours l’utilisateur. D’autres contraintes viennent s’ajouter à la conception de serious games. Certains jeux nécessitent d’intégrer deux types d’utilisateurs. Par exemple dans les jeux thérapeutiques, il y a le patient, mais aussi le praticien qui parfois paramètre le jeu et doit être pris en compte comme utilisateur non joueur. D’autre part, le public cible, joueur, est parfois aux antipodes du public traditionnel du jeu. En reprenant le projet Le Village aux oiseaux, l’utilisateur type est un senior, voire grand senior, souffrant d’Alzheimer à un degré plus ou moins avancé. Un faisceau de contraintes nait de cet état de fait. Il se voit parfois complexifié par le contexte d’utilisation du jeu. Toujours pour le même exemple, la première utilisation visée est dans un cadre médicalisé, dans l’espace commun où se tiennent les activités de groupe. Le joueur et son environnement sont des données clefs du mandat initial. Evaluation de l’impact dans la vie réelle La nature « utile » du serious game doit d’une manière ou d’une autre être démontrée. Est-ce que l’apprenant a bien acquis ce que ce jeu est sensé lui apprendre ? Est-ce que ce jeu 11 Permet l’examen et d’éventuelles opérations des organes de l’abdomen en passant un instrument par une petite incision sous le nombril43 thérapeutique génère une amélioration chez ces patients ? La mise en place de tests pour l’évaluation de l’utilité du serious game représente parfois un investissement supérieur à son développement. En termes de conception, le game design, le système de jeu en particulier, doit permettre de réaliser cette validation. Il peut s’agir de suivre et d’analyser, par exemple, les performances du joueur dans un entrainement ou au cours d’un apprentissage. La qualité des modèles utilisés et la manière dont ils sont intégrés au système de jeu sont deux enjeux critiques pour permettre la réalisation de cette évaluation. Le modèle du joueur Générer du gameplay est un incontournable objectif de la réalisation d’un jeu. En tant que joueurs nous le recherchons lorsque nous nous immergeons dans la bulle ludique. Pourtant, les éléments produits par les game designers sont des systèmes de jeu, des règles, une simulation… Pour que ce système donne naissance au gameplay, le game designer doit nécessairement modéliser le joueur. Si cette modélisation reste encore intuitive et empirique, les tentatives de formalisation se multiplient. En 199612 Bartle [Bartle 1996] fut le premier game designer à tenter d’analyser le comportement du joueur d’un point de vue gameplay. Sa classification des joueurs dans les MUD (Multi User Dungeon) est toujours une référence discutée par les designers et les sociologistes. Il a mené une étude sur plusieurs centaines de joueurs, les questionnant sur leurs habitudes de jeu, et a pu les classer en 4 grandes catégories : Les killers, socializers, explorers et achievers13 . 12 Nous excluons ici le domaine de la modélisation de l’utilisateur, antérieure à Bartle, car elle ne prend pas en compte les aspects ludiques. Typologie de Bartle 44 L’une des critiques principale faite à ce modèle est relative au contexte d’évaluation : il ne révèlerait que des profils de joueurs de MUD pour un jeu donné, à une période donnée. D’autres ont été proposées depuis, vous pouvez voir un résumé de certaines de ces typologies synthétisées par Chen Yan [Yan 2007]. Outre le fait que ces typologies soient associées à un genre particulier, les MMORPG (massively multiplayer online role playing games), il y a une faille méthodologique potentielle dans ces approches: les données sont collectées hors du cercle magique, hors du moment où le joueur est engagé dans le jeu [Huizinga 1951]. Il s’agit généralement de questionnaires post jeu14. Nous pensons que toute mesure d’un profil gameplay doit se faire pendant le temps de jeu, lorsque le joueur se sent impliqué [Juul 2005] et perçoit sa posture comme un joueur actif [Henriot 1989]. Ces prérequis sont nécessaires à générer le jeu (au sens play), dont le gameplay est lui-même une sous-catégorie [Salen 2004]. Nous devrons clairement délimiter le territoire de notre investigation, le gameplay. La modélisation empirique du joueur par les game designers trouve de nombreux échos dans différents domaines de recherche. D’une part de plus en plus de liens sont explicités entre le game design et des modèles existants, en particulier en psychologie. D’autre part le gameplay lui-même tend à être modélisé. La multiplication de la littérature sur le game design, menée surtout par des développeurs, et la naissance des cursus universitaires sur cette discipline tendent à proposer des bases plus concrètes à notre approche. Mais il existe une autre approche intéressante relative à la combinaison d’un modèle psychologique et d’un modèle du joueur. Depuis les années 1980, certains créateurs de jeu 13 Fréquemment traduit par : Tueur, social, explorateur, collectionneur 14 Vous pouvez essayer une version du test de Bartle sur http://www.gamerdna.com/quizzes/bartle-test-of-gamer-psychology Tableau des typologies comportementales extrait de le thèse de Chen Yan, CNAM 2007 45 tentent d’implémenter des modèles comportementaux dans leurs game design. Certains titres vont jusqu’à proposer de mesurer des profils psychologiques aux travers du gameplay. Bien qu’éminemment empirique et avec pour objectif de générer du plaisir de jeu, il est important de voir que cette problématique n’est pas récente. La question que nous nous posons est donc celle de la détection des traits psychologiques, d’éléments caractérisants du joueur, au travers du gameplay ou, pour le moins, engagé dans une expérience ludique. Nature de notre recherche Développer le game design semble complètement lié à une forme représentation du joueur par le game designer. Cette pratique empirique est fortement présente dans les processus de création ou dans les tâches à réaliser et est profondément ancrée dans les éléments fondamentaux nécessaires à faire exister le gameplay. L’objectif de notre travail est de croiser pratique du game design et modèles psychologiques pour participer à un éclairage plus scientifique de cette relation. Les relations entre comportement du joueur dans un jeu et traits psychologiques persistants au-delà de la session de jeu sont pauvrement illustrés par la littérature scientifique. Le « Dismoi comment tu joues et je te dirai qui tu es » n’est pour l’instant pas un fait avéré et documenté. S’il y a eu des essais pour modéliser le comportement du joueur, à l’exemple de Bartle, nous avons aussi vu qu’ils avaient leurs limites : les questionnaires servant à dresser ces profils se faisant après jeu. Il ne s’agit pas de véritables profils gameplay puisque les données recueillies le sont hors du moment où le joueur est engagé dans le jeu. La mesure d’un profil « gameplay » du joueur devrait se tenir au sein même de l’expérience de jeu. La première étape de notre travail de recherche consiste à proposer une méthode de conception pour réaliser des jeux mesurant un profil psychologique. Ce profil doit être fondé sur un modèle éprouvé et de s’accompagner d’une démarche permettant d’évaluer la qualité du profil généré. Il s’agit donc de concevoir et expérimenter une méthode de game design. Nous supposons que la méthode devrait se baser sur une identification la plus rationnelle possible des liens entre éléments de contenu et dimensions du modèle servant à la création du profil psychologique. La définition des items servant à la création du profil et leur évaluation est au cœur de la problématique. 46 Plan de la thèse Dans un premier temps, nous allons dresser un état de l’art des modèles du joueur liés à sa pratique du gameplay. Qu’il s’agisse de mesure de la performance ou de réglage de la difficulté, il existe plusieurs exemples de modélisations pratiquées. Nous chercherons à savoir si des liens ont été identifiés entre gameplay et modèle psychologique. Nous discuterons ensuite la méthode de conception proposée et le contexte d’expérimentation choisi. JEU SERAI, dont la conception est notre expérimentation, a pour ambition de créer un lien entre l’activité du joueur engagé dans un jeu et un modèle issu de l’orientation professionnelle : le modèle de Holland mesurant les intérêts professionnels du sujet. Nous rapporterons le processus de création de JEU SERAI, s’appuyant sur cette méthode. Nous nous focaliserons bien entendu sur la manière dont le lien entre game design et mesure du profil psychologique a pu être élaboré. La nature utile du projet impliquera aussi que nous abordions la manière dont nous pouvons doter le jeu de tous les éléments nécessaires à la mesure de l’efficacité des items. Les premiers tests psychométriques sur des utilisateurs seront alors exposés et nous tenterons de voir si la méthode retenue permet une bonne analyse des résultats. En conclusion, nous synthétiserons les enseignements de la mise en pratique de la méthode proposée et évoquerons les développements possibles qu’elle offre. 47 48 49 CHAPITRE 2 - ETAT DE L’ART DU MODELE DU JOUEUR DANS LE GAMEPLAY50 51 2 - Etat de l’art du modèle du joueur dans le gameplay Le modèle du joueur peut être abordé de plusieurs points de vue, académiques comme empiriques. Nous restreignons cette exploration aux modèles du joueur en train de jouer, excluant par exemple les références comme Bartle évoquées en introduction, qui créent leurs typologies sur la base de questionnaires après jeu. Ce panorama des modèles est grandement empirique, issu de méthode de conception ou de la littérature pratique écrite par des game designers et développeurs. Certaines disciplines scientifiques ont cependant exploré ce domaine, comme l’intelligence artificielle. Cet état de l’art a été réalisé avec pour but non seulement de lister les différents types de modélisation du joueur jouant mais aussi d’identifier les critères permettant de créer un profil gameplay du joueur. En conclusion de ce chapitre, nous commenterons la grille d’analyse issue de ce travail. Elle a été réalisée dans le cadre d’une convention recherche avec la société Mimesis Republic, réalisant des jeux en ligne et souhaitant se doter d’outils pour définir des typologies de comportements du joueur. Le joueur dans la boucle d’interaction Sans joueur, pas d’entrées pour faire évoluer la situation de jeu. La première des manières de le percevoir est certainement sous l’angle d’un presse-bouton. Le joueur va modifier l’état du contrôleur, (ou de tout autre interface matérielle servant aux inputs) pour altérer l’état du monde du jeu. Cette interaction peut être d’ordre purement métaphorique, je presse un bouton et cela fait bondir mon personnage, ou intégrer une dose de mimétisme, je fais un revers avec ma wiimote et mon avatar joueur de tennis fait un revers. Les game designers anticipent une activité du joueur et l’encourage à « presser le bouton ». L’introduction de Super Mario Bros [Nintendo 1985] en est un exemple parlant : l’avatar du 52 joueur est statique, un ennemi avance lentement vers lui. S’il ne presse pas sur le bouton servant à sauter, Mario meurt et il perd une vie. Le joueur existe sous forme de sujet réagissant à des stimuli. Son temps de réaction, le processus mental et moteur qui lui est associé, fait l’objet de modélisation et de mesures. Ces données sont souvent critiques dans les jeux sollicitant les réflexes du joueur. Steve Swink [Swink 2009] compile ce modèle, et l’ensemble des temps de réactions moyens, dans son Game Feel model of interactivity, à l’exemple d’une pression de bouton : 240ms temps moyen de réaction intégrant la perception des stimuli, le traitement cognitif et la réponse motrice. Au-delà de la pression de bouton, nous intégrons donc le joueur dans une boucle où il reçoit des formes de stimuli, des signes attirant son attention sur des potentiels d’interaction, et des feedback répondant à ses inputs. Le monde virtuel produit des métaphores cohérentes d’après ses inputs. Je presse le bouton A et mon avatar saute ; Je presse la gâchette de ma manette et ma voiture accélère ; J’appuie sur le bouton gauche de ma souris et mon arme tire, provoquant un impact dans l’environnement. Le monde virtuel est bordé par un ensemble de règles (par exemple le fonctionnement de la physique) qui donnent à croire à ce que je fais. Swink évoque une extension de notre identité impliquant la chaîne interface matérielle et perception de ce que nous contrôlons dans le monde virtuel. Au même titre que le conducteur de voiture The Game Feel model of interactivity extrait de Game Feel, Steve Swink53 hurlant « vous m’êtes rentré dedans » plutôt que « vous avez percuté ma voiture », le joueur étend sa perception de lui-même jusqu’aux outils qu’il contrôle dans le jeu. La modélisation du joueur dans le gameplay vu au travers de la boucle d’interactivité répond en partie à la notion amenée par Janet Murray d’ Active creation of bielief [Murray 1997]. Au cinéma le spectateur est confronté au Suspension of disbielief : le procédé et le contenu tendent à nous faire oublier que nous sommes face à une illusion. Alors que lorsque nous jouons : nous croyons en ce que nous faisons et au monde virtuel avec lequel nous interagissons, car nous y voyons les conséquences de nos actes. Nous voyons que la perception du joueur comme élément d’une boucle d’interaction est critique pour réussir à l’impliquer. Ce modèle, pratiqué empiriquement depuis longtemps, est fondamental pour la réussite de l’expérience de jeu. Le game designer fait percevoir au joueur, tente de lui faire se représenter une situation, la comprendre, puis planifier et exécuter des réponses. A la lumière de ce processus, des notions telles que l’affordance prennent complètement leur sens dans un jeu vidéo. Joueur comme acteur de l’ « Objectif-Défi-Récompense» Lorsque Costikyan [Costikyan 1994], game designer, tente de définir le jeu (au sens game) avec un point de vue de praticien, il se confronte à la problématique de la pluralité des formes. Malgré cela il en fait ressortir un schéma commun : il s’agit toujours de confronter un joueur à des choix décisionnels, de lui faire gérer des ressources dans la poursuite d’un but. La conception d’un gameplay suppose l’implication du joueur dans la boucle itérative « Objectif-Défi-Récompense». Le joueur est alors une entité interagissant avec le système de jeu qui lui fournit un objectif (ou le moyen de s’en construire lui-même) et dont la résolution implique une épreuve. Ces épreuves sont la confrontation entre la somme de compétences sollicitées chez le joueur et une situation de jeu paramétrée qui comporte l’obstacle dans sa progression. A l’issue de cette confrontation, le joueur reçoit une récompense pouvant parfois être simplement le droit de continuer à jouer, de rentrer dans une nouvelle itération de cette boucle. Le contenu de cet « Objectif-Défi-Récompense» est propre à chaque jeu et se rapporte à la conception de la boucle de gameplay explicitée plus tôt. Elle se formalise souvent par un 54 schéma où les activités du joueur sont décrites par des verbes d’action, créant un modèle unique de sa relation au système de jeu. Cette modélisation du joueur au travers de ses actions gameplay a été utilisée en recherche en intelligence artificielle pour réaliser des adversaires aux comportements crédibles [Conroy 2011]. Les actions du joueur sont ramenées à un schéma similaire aux boucles de gameplay réalisées par les game designers. Son contenu est complètement dédié à un jeu précis, en l’occurrence Quake 2 [ID 1997] en mode Deathmatch . Dans ce cas précis, les auteurs se sont servis des travaux en sciences cognitives de Donald A. Norman sur les sept phases de l’action [Norman 2002] pour justifier leur approche. Ce modèle d’action éclaire la partie cognitive de la boucle d’interaction joueur/jeu proposée par Swink. Extrait de [Conroy 2011], modélisation des actions du joueur préalable à la réalisation d’une IA d’adversaire55 Le joueur somme de compétences La pratique d’un jeu sollicite les capacités du joueur. Arsenault et Perron [Arsenault 2008] synthétisent le processus de sollicitation dans un modèle impliquant les capacités analytiques ou sensorimotrices du joueur. D’un jeu à l’autre, il est possible d’établir avec plus de précision ce qui est mis à l’épreuve. Le game designer peut identifier ce qu’il demande comme « travail » au joueur pour venir à bout des obstacles qui lui sont opposés. Le sens de l’observation, la capacité de différencier une forme d’une autre, sa coordination, la capacité à planifier, à anticiper des conséquences, la logique, etc… Tout au long du déroulement d’un jeu, les gameplay sollicitent de manière de plus en plus poussée une capacité ou demande à en combiner plusieurs. Dans son ouvrage sur le game design, Marc Albinet [Albinet 2011] nous propose la notion de virtuosité. Le joueur s’améliore dans un jeu en le pratiquant, sollicitant de mieux en mieux les capacités relatives au gameplay concerné. Cette progression est souhaitée et fréquemment prise en compte dans plusieurs aspects du game design. Un joueur peut traverser un niveau de Super Mario Bros en s’arrêtant devant chaque obstacle et préparant son prochain saut. S’il y joue depuis un certain temps sa maîtrise des propriétés de son avatar, des contrôles et sa connaissance de la disposition des éléments du parcours lui permettrons de faire un rush, terme consacré décrivant le fait de traverser un niveau ou un jeu le plus vite possible15 . 15 Un exemple de rush, la vidéo d’un rush d’une demi-heure pour finir l’intégralité du jeu Half Life [Valve 1998] http://video.kamaz.fr/rush-de-half-life-en-30min-v2206.html Les sept phases de l’action d’après [Norman 2002] 56 Cette démonstration de virtuosité est possible parce que le level design le permet et que les game designers ont intégré dans leur processus de conception la nature des capacités sollicitées. Il s’agit d’une pratique souvent intuitive. Une vidéo d’un expert de la version arcade de Tetris [Akira 2005]16 illustre parfaitement cette prise en compte de la progression des capacités du joueur. L’écran montre la partie en cours et les mains du joueur sur les contrôles. Sur les deux images ci-dessous tirées de cette vidéo il est possible de voir deux niveaux différents du jeu. A gauche le dernier niveau « normal » où le joueur visualise les pièces s’empilant. A ce stade du visionnage on constate la rapidité impressionnante avec laquelle le joueur expert exécute les manipulations. A droite, le niveau d’après, où le jeu n’affiche plus les pièces s’empilant. Le joueur n’a pour information que : les pièces à venir dans la partie haute de l’interface et la pièce qu’il manipule. Dès que cette pièce est posée quelque part, elle devient invisible. Bien qu’handicapé par ce manque de visibilité sur l’état de l’empilement, le joueur ne semble pas du tout perturbé et continue de compléter des lignes (leur destruction est signalée par un feedback discret). 16 http://www.youtube.com/watch?v=AmClMVIr0XU Heuristic circle of gameplay, extrait de Video game reader 2 57 Pour arriver au stade de maîtrise du dernier niveau normal, où l’empilement est encore visible, le joueur semble avoir dû développé une capacité à se représenter mentalement l’état de l’empilement sans le regarder, concentrant son attention sur les pièces à venir et l’exécution du positionnement de la pièce en cours, rendant possible la performance dans le niveau invisible. Les game designers de cette version de Tetris ont bien identifié les capacités sollicités par leur gameplay pour arriver à ce stade de progression dans le jeu. Le joueur apprenant Jesper Juul [Juul 2005] suggère une autre manière de modéliser le joueur, par son bagage stratégique. Lorsqu’il trouve une solution à une situation de jeu donnée, il se dote d’une stratégie. Cette situation, parfois appelée pattern, risque de lui être représentée plus tard dans son parcours, parfois avec des variations. En progressant, le joueur accumule des réponses à des patterns différentes, construit son bagage stratégique. Nous pouvons percevoir ces stratégies comme des outils indépendants de situations gameplay bien précise : une série de potentiels d’interaction acquis et à acquérir. Cet apprentissage progressif est la courbe d’apprentissage d’un jeu. Il s’agit d’une préoccupation majeure des game designers. Elle est explicitée et documentée, par exemple, lors de la création du level design d’un jeu de parcours. Le level designer en charge de la conception d’une portion du parcours doit pouvoir savoir ce que le joueur a traversé, ce qu’il doit rencontrer et apprendre à faire dans le niveau à concevoir, et le préparer à la confrontation aux situations de niveaux à venir. Dans les jeux de parcours, cette répartition progressive d’apprentissages est parfois formalisée en tableau résumant niveau par niveau les nouvelles situations présentées au joueur. Le joueur apprenant ne doit pas être noyé sous une Captures d’écran d’une video montrant un joueur expert de Tetris jouant au mode normal (à gauche) puis au mode invisible (à droite)58 accumulation de nouvelles manipulations à maîtriser, nouvelles stratégies à mettre en place à un temps donné, tout comme il est nécessaire de lui proposer de la variété dans la succession de patterns auxquelles il est confronté. Ce mode de représentation des apprentissages a pour fonction première de consolider la qualité de l’expérience de jeu. Les jeux se dotent parfois d’outils embarqués ou d’astuces de level design pour s’assurer que le joueur maîtrise une manipulation ou la mise en place d’une stratégie avant de passer à l’étape suivante. L’autre aspect intéressant de ce bagage stratégique réside dans la possibilité de mesure des préférences stratégiques d’un joueur. Ramenée à des données pragmatiques telles que les inputs du joueur, cette notion de préférence stratégique couvre tous les genres possibles, d’un jeu de réflexion jusqu’à des gameplay sollicitant des réflexes et de la rapidité. La modélisation des stratégies du joueur est parfois embarquée. Forza Motorsport [MGS 2005] en est un exemple remarquable. Le procédé a été développé par le laboratoire de Microsoft à Cambridge. Ce jeu de course a une fonctionnalité particulière: le Drivatar. Le joueur peut entrainer une Intelligence Artificielle qu’il peut laisser jouer à sa place. Il doit jouer plusieurs circuits d’entrainement présentant un ensemble très variés de virages, les patterns gameplay de ce jeu. Des critères sont enregistrés tandis qu’il conduit : La régularité de la conduite, la ligne dessinée par le parcours la voiture, les entrées de virages et points de freinage, la position et la vitesse à l’apex du virage, la vitesse en sortie de virage et le point d’accélération. Les données collectées alimentent progressivement le profil permettent de générer un double du joueur, son Drivatar, qui pourra jouer à sa place certaines compétitions [Herbrich 2008]17 . La création d’un modèle stratégique du joueur avoisine la mesure de ses performances, autre type de modélisation gameplay, et certaines recherches en intelligence artificielle. Différents comportements de joueur face à des patterns (segments de circuit) mesurés dans Forza Motorsport59 Modélisation de la performance Connaître la performance d’un joueur, le classifier selon un barème est au cœur de nombreux jeux vidéo. La notion de performance est liée au type de challenge offert par un jeu ou un gameplay précis. On ne mesurera pas la même chose dans un FPS que dans un jeu de course. Considéré comme un retour fondamental à donner au joueur dans le gameplay, la restitution de la mesure de la performance est aussi un levier motivationnel clef. Cette modélisation des performances est parfois ramenée à un simple score, à l’image des premiers jeux vidéo en arcade tels que le « Hall of fame » de Defender [Williams 1980]. Elle peut se déployer sous des formes plus élaborées à l’exemple de IL2 [Maddox 2001] jeu de combat aérien où le joueur peut accéder à des statistiques plus concrètes, constituées d’éléments de gameplay identifiables (nombre d’ennemis abattus…). Elles prennent parfois l’allure de véritables profils comportant des pourcentages de réussite par type d’action entreprise. Ces types de modèles ont un rôle critique pour les jeux compétitifs en ligne. Ils servent à la réalisation d’outils de matchmaking permettant aux joueurs d’être confrontés à des adversaires de même niveau. Un joueur de Starcraft [Blizzard 2010] souhaitant jouer contre un inconnu en ligne, voit son profil comparé à celui des adversaires potentiels pour créer un match équilibré. Les systèmes de mesure des adversaires ont des approches comparables au 17 Outre le document référencé, vous trouverez une description des recherches sur le Drivatar en ligne : http://research.microsoft.com/en-us/projects/drivatar/theory.aspx Ecran de score du jeu Defender et écran de fin de mission de IL260 GLICKO18 servant au classement des joueurs d’échec. Le MMR (matchmaking rating) de Blizzard ou le Microsoft TrueSkill [Herbrich 2007] procèdent de manières relativement similaires. Au-delà de la mesure d’un profil de performance, ils confrontent des probabilités de performance pour déterminer l’équilibre idéal entre deux adversaires19 . Deux critères de la modélisation de la performance peuvent aider à la mesure de la relation entre le but du joueur et le résultat effectif de ses actions. L’efficience, efficiency, du joueur se mesure aux ressources dépensées pour arriver au résultat (combien de munitions ont été dépensées pour venir à bout de ces ennemis ?). L’effectivité, effectiveness, mesure si le joueur est arrivé à atteindre le but. L’effectivité peut être plus délicate à évaluer dans les jeux laissant la liberté au joueur de se créer ses propres objectifs, comme par exemple dans un Minecraft [Mojang 2011] ou un Sims [Maxis 2000]. Intelligence artificielle Les recherches en intelligence artificielles ont proposé plusieurs approches pour modéliser le joueur. D’un point de vue pratique, le but a souvent été de pouvoir lui offrir des challenges adaptés. Maria-Virginia Aponte, Guillaume Levieux et Stéphane Natkin [Aponte 2009] ont par exemple utilisé un modèle du joueur en intelligence artificielle pour automatiser la mesure de la difficulté d’un jeu. Mais la majeure partie de ces recherches ont pour but de confronter au joueur des adversaires virtuels de bonne qualité. Historiquement, l’intelligence artificielle aborde la problématique de la modélisation du joueur dans les échecs ou le Go pour tenter de créer des joueurs virtuels capables de trouver la solution optimale à une situation de jeu. Les recherches sur la solution optimum ont pour inconvénient de limiter à une unique facette l’expérience de jeu. Le joueur ne cherche pas toujours à avoir la plus performante des décisions. Il peut, par exemple, seulement chercher à passer une épreuve, même si c’est de justesse et loin de la performance optimum [Cowley 07]. 18 Amélioration du classique ELO proposée par Mark Glickman et prenant en compte la mesure de la fiabilité du classement 19 Les caractéristiques du Microsoft TrueSkill sont aussi consultables en ligne : http://research.microsoft.com/enus/projects/trueskill/details.aspx61 Une autre approche consiste à créer un historique de l’utilisation de stratégies associées à leurs contextes puis d’en retirer un modèle d’action. Cela demande de gérer l’ensemble des variables gameplay d’un jeu. Cette approche est fonctionnelle sur des jeux comme Pacman [Namco 79] ou Space invader ayant peu de variables gameplay, mais devient plus complexe à manipuler sur les simulations et systèmes de jeu plus élaborés. Nous avons peu d’exemples tangibles de son application à des jeux complexes. Ronan Le Hy [Le Hy 2003] a élaboré une méthode d’entrainement d’un avatar virtuel basé sur la reproduction du comportement de joueurs, sur ses micro-choix dans des situations gameplay. Le résultat permet de réaliser des comportements convaincants, comme pour l’exemple de Forza Motorsport évoqué plus haut. Ces processus, souvent basés sur l’historicité et un grand nombre de paramètres contextuels, permettent difficilement d’imaginer le comportement du joueur dans de nouvelles situations, face à de nouveaux patterns. Or un jeu est une situation se renouvelant sans cesse. Le joueur et la difficulté Les créateurs de jeu déploient parfois des moyens considérables en tests et en ajustements du contenu pour que le joueur soit toujours confronté à un défi intéressant. L’énergie déployée autour de cette modélisation des performances du joueur est légitime et éclairée par les théories de l’expérience optimale décrites par Milahy Csikszentmihalyi [Csikszentmihalyi 91]. Pour que l’expérience ludique soit optimale, il faut que les défis proposés au joueur ne soient ni trop durs, car il serait frustré, ni trop faciles, car il s’ennuierait. Les game designers intègrent la gestion de ce modèle dans leurs modalités de création. Lors de l’élaboration du système de jeu, ils identifient les variables clefs qui vont servir à régler la difficulté du gameplay. Dans bien des cas, fabriquer cette expérience optimale se fait par une itération : l’équipe réalise des niveaux de jeux avec des variables de difficultés estimées ; des tests utilisateurs sont mis en place pour vérifier la valeur de difficulté perçue par les joueurs et l’équipe effectue des corrections pour ajuster les passages trop durs ou trop faciles. Ces sessions de test construisent un modèle du joueur fondé sur des aspects pragmatiques du gameplay. On mesurera le temps qu’il met à finir un niveau, le nombre de fois où il est en situation de game over ou de blocage, le nombre d’items qu’il collecte sur le nombre qu’il est supposé collecter… De ces données et de leurs corrections, les variables clefs du jeu sont aménagées, cernant une sorte de joueur générique pour qui l’expérience de jeu est construite. Plusieurs niveaux de difficultés peuvent être réalisés pour correspondre à plusieurs profils. 62 Du point de vue de la recherche, Guillaume Levieux [Levieux 2011] propose une méthode de mesure de la difficulté embarqué. Un modèle du joueur est construit en temps réel sous forme d’une probabilité d’échec face à un challenge donné en tenant compte autant des paramètres de la situation de jeu que des capacités du joueur. Ce modèle n’est pas lié à un titre ou un genre mais peut s’adapter au jeu visé. Cette méthode de rationalisation de la mesure de la difficulté est un exemple réussi d’explicitation d’une pratique de l’industrie. Il existe aussi des cas de modélisation embarquée de la difficulté. A titre d’exemple, la difficulté des monstres à vaincre dans Elder Scroll Oblivion [Bethesda 2006] est dynamique. Le joueur se déplace dans un monde ouvert et les game designers ne contrôlent pas l’ordre dans lequel il va accomplir ses quêtes ou être confronté aux différentes situations de conflit. Pour contrôler l’expérience optimale, les monstres générés sur son parcours s’adaptent à la puissance du joueur clairement mesurée en variables gameplay. Ce procédé lui assure théoriquement qu’il sera toujours confronté à des monstres lui procurent un défi intéressant. Il est à noter que frustrer le joueur ou lui rendre la vie facile ne sont pas des expériences complètement bannies par les game designers. Nous pouvons décider de lui faire éprouver un sentiment de puissance en lui laissant exercer un pouvoir sur des ennemis un peu trop faibles pour lui. A l’inverse le joueur peut être mis dans une situation d’impuissance pour lui faire éprouver une grande peur ponctuelle ou le désarçonner. La mise en scène peut donc utiliser ce modèle pour construire des situations émotionnellement intéressantes bien que contredisant le principe de l’expérience optimale. Autres cas d’adaptation du contenu au profil du joueur Outre les cas décrits dans les sections précédentes, de nombreuses recherches sont menées actuellement pour tenter d’établir des méthodes d’adaptation du contenu d’un jeu au joueur en activité. Voici quelques exemples complémentaires. Chen Yan [Yan 2007] développe un moteur de narration adaptative pour les jeux multijoueurs ubiquitaires. Le modèle du joueur doit ici servir à lui adapter les prochaines propositions de quêtes en fonction de son profil et de sa géolocalisation. Avant de commencer sa partie, le joueur est invité à remplir un questionnaire permettant de réaliser le profil initial, fondé sur les Five Factor Model de Costa et McCrae [Costa 1992], et qui sert à initialiser le moteur adaptatif générant les premières propositions de quêtes. La méthode de conception de jeu 63 ubiquitaire, résultat de son travail, s’appuie sur le lien entre la mesure d’un modèle psychologique du joueur et une proposition de contenu sensé lui convenir. Rodrigo Dias et Carlos Martinho [Dias 2010] ont utilisé le « Demographic Game Design Model » (Ou DGD) pour mesurer si le joueur se sent plus engagé dans le jeu quand le contenu lui est adapté. Le DGD a été développé par Bateman et Boon dans 21st Century Game Design [Bateman 2005], et se veut un outil de classification des comportements de joueurs basé sur la typologie de Myers-Briggs ramené à quatre grands types : Conqueror, Manager, Wanderer et Participant. C’est à base de questionnaires sur des préférences d’activités dans un jeu que la classification des joueurs s’opère. A chaque type, un contenu optimal est proposé pour plusieurs catégories d’éléments (tableau de synthèse ci-dessous). Un second questionnaire à l’issue de la partie évalue la perception qu’on les joueurs de la difficulté, du rythme, du nombre d’objectif et de la manière dont ils utilisent les contrôle. Ce questionnaire se veut une une évaluation de leur immersion. La conclusion de leur expérimentation met en avant une meilleure perception de l’immersion, que les auteurs voulaient comme représentative de l’engagement, lorsque le jeu est adapté au profil DGD du joueur. Si ce type de recherches tend à légitimer l’importance de l’adaptation du contenu à une typologie de comportement gameplay, elle n’en reste pas moins basée sur des questionnaires pour ce qui est de l’établissement du profil comportemental du joueur. Autre méthode d’adaptation du contenu, le PADS, ou « Profile-Based Adaptative Difficulty System » a été développé par une équipe de l’Université de Houston [Yun 2010]. L’expérimentation principale consiste à faire jouer un jeu à différents niveaux de difficulté (très facile, très dur, puis à des niveaux s’ajustant de minutes en minutes au joueur). Le profil de difficulté idéale du joueur est créé selon des données gameplay pragmatiques : nombre d’ennemis tués ou nombre d’ennemis rencontrés. A chaque minute de jeu un questionnaire Synthèse des changements de contenu destinés à chaque type du DGD 64 est proposé pour évaluer la difficulté ressentie. Poser des questions brèves au sein même de la partie est en soit un point intéressant. L’autre aspect que nous retenons de leur travail est le fait d’avoir voulu créer, non pas un modèle de performance, mais un profil de l’expérience optimale du joueur auquel ils adaptent progressivement les paramètres de difficulté. Le degré de complétion De nombreux jeux offrent plusieurs manières de les expérimenter pour satisfaire différents types de joueurs, dont certains ont été nommés dans les catégorisations telles que celle de Bartle. Par exemple, dans un jeu de course comme Mario Kart DS [Intelligent Systems 2005], nous pouvons remporter une course et la qualité de notre victoire évaluée par un système d’étoiles. Certains se contentent de gagner la course pour passer à la suivante, d’autres veulent obtenir toutes les étoiles. Dans les jeux solo d’action aventure, il existe fréquemment un chemin critique, ou critical path, permettant de traverser l’ensemble des niveaux, vivre une majorité des expériences conçues par les game designers, et de terminer rapidement le jeu. Mais ce faisant, nous passons à côté de nombreux bonus, d’objets particuliers, de lieux parfois cachés, voire de niveaux entiers dissimulés. Certains joueurs se contentent de ce chemin critique, d’autres passeront le temps nécessaire à explorer et débloquer 100% du contenu. Il n’est pas rare de voir ce pourcentage de complétion dans les écrans de score ou de statistiques auxquels le joueur a accès. Cette quête d’achèvement est au cœur du système des Achievement Points développé par Microsoft pour sa console la Xbox 360. Les exploits possibles dans un jeu donné sont clairement explicités aux joueurs. Chaque exploit est récompensé en Achievement Points qui n’ont à cette heure pas d’autre fonction que d’être exposé aux autres, comme des trophées. Ce simple mécanisme suffit à générer des comportements acharnés pour l’obtention d’Achievement particulièrement tortueux. Certains réclament de recommencer intégralement un jeu et le jouer d’une manière spécifique, à l’exemple du très long Mass Effect [Bioware 2008]. Ce procédé est désormais rependu sur l’ensemble des plateformes, par exemple sur PC vous trouverez des « Succès », sur Battle.net des hauts-faits.65 Ce paramètre de volonté d’achèvement est un critère de mesure du comportement du joueur ayant déjà démontré son utilité dans nombre de titres. Il peut, à minima, se restituer sous forme d’un pourcentage du fait sur le possible. Critère voisin, la persévérance est mesurée lors des tests de la difficulté de jeux solos. Demander à un joueur de recommencer plusieurs fois quelque chose pour y arriver peut pénaliser un titre. Mais inversement, savoir combien de fois un joueur est prêt à recommencer une action peut s’avérer un éclairage intéressant sur sa manière de jouer. Théorie de la décision et modèle du joueur modif La théorie de la décision semble pourvoir éclairer un aspect fondamental du gameplay, le choix, souligné par célèbre créateur de jeu Sid Meyer. Cité dans [rollings 2004] il nous dit : A [good] game is a series of interesting choices 20 Dans les théories de la décision, nous nous sommes particulièrement intéressés à la théorie des perspectives (prospect theory) de Tversky et Kahneman [Tversky 1992] relative à la prise de décision dans un contexte incertain. Le modèle proposé est un candidat particulièrement pertinent à l’analyse du comportement gameplay, car le gameplay est une série de choix dans l’incertitude. Nous pouvons distinguer quatre types de comportements face au risque, résumé dans le « Fourfold pattern ». Ce tableau se superpose étonnamment à un mode de classification adopté par les joueurs de poker pour estimer le comportement de leurs adversaires. 20 Trad : Un bon jeu est série de choix intéressants De Gain De Perte probabilité faible Risquophile par rapport aux gains Risquophobe par rapport aux pertes probabilité élevée Risquophobe par rapport aux gains Risquophile par rapport aux pertes 66 Le comportement d’un joueur face au risque peut être représenté comme une aire à deux dimensions : Un axe des probabilités de réussite se calculant par la confrontation les moyens choisis par le joueur à une série de variables de la situation ; Le second axe échelonnant la qualité du rapport entre les ressources engagées et celles qu’il est supposé gagner. Chaque décision d’engagement dans une situation de jeu pourrait être représentée par un point dans cette aire. Dans une situation classique de FPS l’axe de probabilité de réussite se baserait sur l’arme choisie par le joueur versus le nombre d’ennemis, leur puissance de feu, leur réactivité, etc. Celui des ressources engagées devrait prendre en compte l’exposition de l’avatar plus ou moins importante aux perceptions et aux tirs ennemis. La création d’un tel outil de mesure embarqué est rendue complexe par l’analyse préalable à sa mise en place. Elle nécessite une connaissance exhaustive du système de jeu, mais elle offrirait une manière inédite de classifier le comportement un joueur de jeu vidéo. La théorie de la décision amène d’autres notions pertinentes pour le jeu vidéo comme celle d’Utilité. Synthétiquement : cinq euros n’ont pas la même valeur que l’on soit clochard ou millionnaire. Le joueur va évaluer subjectivement la valeur des ressources dont il dispose et les récompenses possibles liées à ses choix gameplay. Lui promettre un canif en récompense alors que son avatar possède déjà une gigantesque épée magique semble peu approprié. Dans la pratique, l’utilité est intuitivement prise en compte pour l’élaboration de la progression de l’avatar et la qualité des récompenses parsemant son parcours. Il s’agit la encore d’un levier motivationnel, particulièrement présent dans des genres tels que le jeu de rôle. Autre notion pertinente, celle d’Ambigüité : nous prenons une décision engageante en ayant ou non cerné l’ensemble des facteurs probabilistes liés à son résultat. Quels stimuli le joueur a reçu et/ou perçu quand il prend sa décision ? Sait-il tout ? Notre rapport à la connaissance de la situation dans laquelle nous nous engageons est un critère de comportement ludique potentiel mais il peut s’avérer difficile d’élaborer le modèle de la connaissance que le joueur a du jeu. De Gain De Perte probabilité faible Loose / Agressive Tight / Passive probabilité élevée Tight / Agressive Loose / Passive 67 Théorie de la motivation Les théories de la motivation étudient les phénomènes motivationnels tels que les besoins physiologiques et psychologiques, l’implication, l’intérêt, le sentiment de compétence [Denis 2006]. Elles explorent le domaine du jeu vidéo depuis les années 1980. Lepper et Malone [Lepper 1987] ont par exemple étudié les motivations liées à l’usage de l’ordinateur dans l’éducation et par extension le jeu vidéo, tenant d’en identifier les leviers motivationnels. A l’image de la typologie de motivation de Yee [Yee 2007], la plupart des études comportementales liées à la motivation ont pour cadre les MMORPG21. Or la forme du jeu est variée. La recherche d’une méthode d’évaluation de la motivation assez souple pour s’adapter à plusieurs types de gameplay serait en soit un domaine de recherche à explorer. Propice à la création d’un modèle de comportement ou à la mesure d’un état psychologique, Guillaume Denis utilise le continuum de Deci et Ryan [Deci 2000] dans le contexte du jeu vidéo. Ce continuum identifie les étapes du parcours d’un joueur de l’amotivation vers l’autodétermination. Les types de motivation • l’amotivation indique l’absence de motivation ; • la motivation extrinsèque caractérise un engagement incité par des facteurs externes à l’activité elle-même, comme les récompenses, la pression sociale, la compétition, etc. • la motivation intrinsèque caractérise un engagement libre de l’individu pour ce qu’une activité lui apporte en elle-même : plaisir, satisfaction, détente, etc. 21 Et comme nous les soulignions en introduction, la plupart de ces typologies sont fondées sur des questionnaires après jeu, hors du gameplay Tableau extrait de "Motivations of Play in online games ". Yee, N.68 Les types de régularisation ou profils motivationnels: • la régulation externe qui désigne une action dirigée vers l’obtention d’une récompense ou l’évitement d’une punition • la régulation introjectée qui apparaît en réaction à une pression sociale : sentiment de culpabilité ou de honte, attente de compliments, etc. • la régulation identifiée qui conduit l’individu vers des activités que lui-même juge importantes pour son développement • la régulation intégrée qui concerne les activités liées à l’estime de soi ou qui sont en accord avec une philosophie de vie Pourrions-nous situer le profil motivationnel d’un joueur à un temps T sur ce continuum en utilisant le type de régulation comme instrument d’évaluation de son comportement ? Prenons l’exemple de World of Warcraft. L’introduction progressive des différents systèmes de jeux au joueur se calque étonnamment aux différents types de régulation extrinsèques. • la régulation externe : or à gagner, à collecter ; les drop des ennemis vaincus ; les points d’expériences… des récompenses immédiates perçues comme accumulation d’un score. • la régulation introjectée : le système de quête ; la montée d’un niveau à l’autre ; la progression des caractéristiques et des compétences… La manifestation positive du jeu en réponse à nos actions. • la régulation identifiée : la possibilité de créer des objets complexes nécessitants une succession de taches élaborées, ou celle de projeter des stratégies de développement des compétences de son avatar. Ces systèmes Traduction du continuum de motivation de Deci et Ryan par Guillaume Denis 69 supposent une distance entre le but à atteindre et la série d’actions nécessaires à leur réalisation. • la régulation intégrée : les systèmes de guildes, de socialisation dans le jeu, les arènes permettant le combat joueur contre joueur, la taille du monde, son volume important de quêtes (…) sont les supports à l’épanouissement de ce type élevé de motivation. Ils permettent l’émergence de comportement comme vouloir explorer le monde entier, devenir le meilleur combattant d’une arène, faire respecter les principes d’une guilde ou encore devenir pacifiste22 . Nous pouvons constater que les types de comportements décrits par Bartle se rapportent au plus haut degré de motivation extrinsèque, régulation intégrée et locus de causalité interne. Si théoriquement nous devrions pouvoir placer le joueur sur ce continuum et élaborer un profil motivationnel, il semble délicat de donner un sens à ses inputs pour catégoriser avec précision son type de régulation. La théorie des jeux La théorie des jeux appliquée au jeu vidéo permet d’éprouver une portion de système de jeu. Rollings et Morris explicitent cette utilisation en mettant en confrontation des types d’unités dans un jeu de stratégie et évaluant l’équilibrage des pay-off. Dans un travail précédent [Guardiola 2005] nous avons explicité un moyen de mesurer les choix d’un joueur en utilisant la théorie de jeux. L’expérimentation s’est faite sur le jeu Ninja Gaiden [Team Ninja 2004]. La confrontation des stratégies était représentée sous forme de matrices modélisant les prises de décision possibles du joueur et leurs pay-off,. Chaque matrice représentant l’ensemble exhaustif des choix du joueur dans un état donné du jeu, une situation de jeu étant composée de plusieurs états. Les entrées étaient les inputs sur les contrôles et leurs traductions en effets sur l’avatar, versus un état du système de jeu. Chacun des résultats, les pay off, est mesuré grâce aux ressources risquées ou gagnées par le joueur pour ce cas précis. Le barème de calcul des pay-off a pu être élaboré rationnellement grâce aux propriétés du système jeu, permettant de ramener n’importe quel bénéfice ou perte (vie, munitions, argent…) en une seule variable. 22 Les pacifistes font progresser leurs avatars sans tuer aucun ennemi. Il s’agit d’un comportement émergeant dans world of warcraft et commenté par la presse spécialisée (exemple : http://boingboing.net/2008/01/08/pacifist-warcraft-pl.html)70 Par cette méthode, un jeu peut être ramené à un nombre fini de matrices illustrant l’ensemble des situations de jeu que le joueur traverse. Nous avions relevé qu’un joueur prend rarement des décisions pour obtenir un résultat optimum dans la matrice dans laquelle il se trouve. Son pay-off est souvent projeté plusieurs matrices plus loin. Ce procédé, certes lourd à mettre en place, permettrait, par exemple, de savoir si un joueur prend des décisions avec une vision des bénéfices à court, moyen ou long terme. Serious game et profil de joueur Suite à l’essor du serious game, des jeux sont développés avec pour but utile de dresser des profils destinés au recrutement. Matrix 2 : Avatar on ground in Protected Zone Game system player A – The close combat oriented enemy try to reach the player B – The close combat oriented enemy make an attack Human player Control Effect on avatar 2 do not shot 1 prepares close combat 1 shots 1 doesn’t shot 1 prepares close combat 2 shot 1 prepares close combat 2 do not shot 1 makes a close combat attack 1 shots 1 doesn’t shot 1 makes close combat attack 2 shot 1 makes a close combat attack no input standing 0 -20 -40 -60 -80 -100 L Stick Move to the next zone, n the same zone, in the previous zone 0 -15 -30 -60 -75 -90 A Jump 0 -2,5 -2,5 -60 -62,5 -65 A + L Stick Jump and move 0 -2,5 -2,5 -60 -62,5 -65 Hold R trigger Block -300 -300 -300 0 0 0 Hold R trigger + L Stick Roll 0 -0,1 -0,2 0 -0,1 -0,2 X Sword attack +25* +20* +15* +25* +20* +15* B Range attack with bow +50 +45 +40 -10 -15 -20 B+Y Spell (fire shield) -1950* -1950* -1950* -1950* -1950* -1950* Human player Exemple de matrice permettant de tracer les décisions du joueur 71 Précurseur du genre America’s Army, est un jeu produit par l’armée américaine pour faire la promotion des carrières militaires. Ce titre a connu plusieurs versions, dont une commerciale grand public [Secret Level 2006]. Le site officiel23 d’America’s Army explique aux joueurs que les données collectées dans le jeu, telles que le type de rôle ou de mission que l’on choisit, servent de support à l’élaboration de l’éventuelle proposition de carrière ou de formation que peut leur offrir le bureau de recrutement. Si ces données sont relativement sommaires, la méthode dénote déjà de la volonté d’établir une adéquation entre un comportement dans le jeu et un environnement socio-professionnel. Le projet PEPco (Programmes d'Evaluation du Potentiel Cognitif) MISIVIAS développé par les sociétés SBT, Daesign et ArnavA est emblématique du type de jeux actuellement proposés en assessment. Il a pour ambition d’élaborer le profil des candidats à des postes de manager. Le joueur est plongé dans un jeu simulant un environnement de travail où il a des décisions à prendre. Des mesures sont effectuées pour, en théorie24, mesurer des capacités telles que la prise de risque, le temps de réaction ou encore la conscience stratégique. La méthodologie précise employée pour réaliser ce profiling n’est pas renseignée, elle porte le nom de référentiel ArnavA, du nom d’une des entités commerciales impliquées. S’il existe bien une volonté de dresser un profil du joueur dans plusieurs catégories de serious game, il est difficile d’évaluer la fiabilité des méthodes mises en place, soit parce qu’elles ne sont pas communiquées, soit parce que nous n’avons pas de visibilité sur d’éventuels tests de validation. Autres relations empiriques entre game design et profil psychologique Nous abordons dans cette section plusieurs jeux références faisant une utilisation notable de modèles psychologiques. Des jeux commerciaux confrontent le joueur à des choix moraux simulés ou poussent à l’adoption d’un comportement typé au sein du monde virtuel. L’exemple le plus ancien est le système d’alignements proposés par Donjons et Dragons [TSR 1974] dans sa version papier et reprise dans ses versions numériques comme Baldur‘s gate [Bioware 1999]. Le joueur 23 http://www.americasarmy.com/aa/support/faqs.php?t=9&z=80#qa80 24 Voir le site du serious game de recrutement PEPCo MISIVIAS : http://www.pepco.fr/misivias.aspx 72 choisit si son personnage est bon, mauvais, loyal, chaotique…et doit par la suite traduire ce choix par ses actions gameplay. Cet alignement influence aussi sur les missions qui peuvent lui être confiées dans le jeu ou la nature des relations qu’il aura avec telle ou telle faction représentée dans le monde virtuel. Les sociétés de développement de jeu comme Bioware ont bâti une partie de leur identité sur la possibilité offerte au joueur de prendre des décisions morales impactant sur l’univers du jeu et sur la destinée de leur avatar : dois-je aider ces enfants des rues à se soustraire à ce truand les raquettant, ou à l’inverse donner un coup de main au truand pour qu’il récupère l’argent que lui doivent ces enfants ! La conception de ces choix moraux sont matérialisés dans le jeu par des jauges vous faisant progressivement pencher d’un côté au l’autre d’un axe fréquemment ramener au bien ou au mal, même s’il prend parfois d’autres noms. Jade Empire [Bioware 2005] ou Mass effect en sont des exemples. Dans un autre genre de gameplay Black and White [Lionhead 2001] mesure la manière dont vous élevez une déité et génère pour elle un comportement bon ou mauvais à l’égard de la population qui la vénère. La plupart de ces jeux ne s’appuient pas sur des modèles psychologiques scientifiquement renseignés et les game designers semblent en avoir élaboré les systèmes de manière intuitive. Silent Hill Shaterred memories [Climax 2009] propose quant à lui de mener un test psychologique au sein même de l’expérience de jeu de manière à adapter le contenu au profil du joueur. Le but visé est de provoquer plus d’émotions. Gwaredd Mountain [Mountain 2010], directeur technique de Climax Studios, a explicité leur méthode lors des Paris AI conférence 2010. Au début du jeu et à échéance régulière le joueur se voit en consultation chez un psychanalyste lui demandant de répondre à des questions. Les réponses servent à aménager le contenu du jeu (interaction avec les personnages non joueurs, apparence des environnements ou personnages, scène de fin…). L’histoire est vécue comme un flashback. La typologie servant à créer le profil, nommée Personality inventory, est inspirée des Big Five, définis comme les cinq grands traits centraux de la personnalité en psychologie. Aucune étude probante sur l’impact réel sur les joueurs n’a été communiquée. Dans un genre complètement différent, l’explosion des jeux en ligne, et en particulier sur les réseaux sociaux, a nécessité la mise en place d’une analyse des comportements du joueur s’imbriquant dans un modèle économique. Zynga, société leader des jeux sur le réseau social Facebook, construit ses revenus sur le fait que le joueur achète, s’il le veut bien, des biens virtuels pour agrémenter son expérience de jeu. Les développeurs ajoutent continuellement 73 du contenu, animent ces univers virtuels, pour que les joueurs reviennent et soient poussés à acheter. Les méthodes de traçabilité du joueur ne sont pas renseignées. Mesure des intérêts professionnels Le serious game servant à l’expérimentation de notre méthodologie a pour objet la mesure des intérêts professionnels. JEU SERAI s’inscrit dans le développement du panel d’outils permettant aux conseillers d’orientation d’assister leurs consultants ou sujets dans leur démarche individuelle d’orientation. Dans cette section, nous allons brièvement exposer les enjeux de l’orientation professionnelle et situer la discipline cadrant l’expérimentation. Contexte de l’orientation professionnelle En France, pendant la première moitié du XXème siècle, l’orientation professionnelle vise les élèves sortant de l’école primaire et devant entamer une formation professionnelle de type CAP [Blanchard 2004]. Cette période est marquée par la création en 1928 de l’INETOP, initialement nommée INOP Institut national de l’orientation professionnelle, sous l’impulsion d’Henri Piéron, Henri Laugier et Julien Fontègne. Cet institut forme les conseillers d’orientation, dont le diplôme est créé en 1931, et accueille des recherches dans ce domaine. L’ambition était de rationnaliser l’orientation professionnelle par des batteries de tests considérés comme plus fiables que les résultats scolaires. L’approche initiale consistait d’une part à mesurer objectivement les aptitudes des élèves et d’autre part d’évaluer les aptitudes nécessaires à l’exercice de chaque métier, principalement de l’industrie et du commerce. Dans la seconde moitié du XXème siècle, plusieurs changements importants se produisent. L’objectivité des tests d’évaluation des aptitudes est remise en cause. La notion d’hérédité des aptitudes est délaissée au profit du principe de capacités. Suite à plusieurs réformes et décrets, par exemple la réforme de l’enseignement de 1959, ou encore pour s’adapter aux contextes sociaux et économiques, par exemple la montée du chômage, le public visé vieillit progressivement. De l’élève sortant de l’élémentaire, le sujet type intègre progressivement le collégien, le lycéen, l’étudiant puis finalement l’adulte se réorientant. Le conseiller d’orientation développe son rôle d’évaluateur des intérêts, goûts et désirs du sujet. 74 L’évaluation a évolué : le consultant est plus actif dans le processus par le choix des tests, la sollicitation initiale, etc.; le rôle du conseiller d’orientation n’est plus celui d’un expert mais plutôt d’un accompagnateur du consultant ; l’évaluation est menée dans un objectif de formation ; enfin, un bon nombre de procédures, dont la mesure des intérêts, sont axées sur l’autoexploration et l’autoévaluation assistées par le conseiller [Huteau 94]. C’est dans la continuité de cette évolution que le projet JEU SERAI se situe, comme un outil d’évaluation des types d’intérêts du consultant. Aperçu des pratiques actuelles pour le conseil en orientation Au cours du processus de conception de JEU SERAI, l’équipe de développement a été initiée par des membres de l’INETOP et de l’Université Paris Ouest aux enjeux de l’orientation professionnelle : Odile Dosnon, Pierre Vrignaux, Even Loarer et Thierry Boy. Cette section synthétise les connaissances qu’ils nous ont transmises. Le conseil en orientation vient en réponse à plusieurs problématiques. Pour le consultant, comment anticiper ma vie personnelle et professionnelle en fonction de ce que je suis aujourd’hui ? Pour les proches du consultant : quelle recommandation pour l’orientation, par exemple, de mon enfant ? Pour les institutions publiques et acteurs économiques : Comment inciter les jeunes à s’orienter vers des secteurs en tension ? Comment répartir les élèves entre les différentes filières de formation en respectant l’égalité des chances? La réponse explicitée par Franck Parsons en 1909 tient en trois points et définissent les facteurs clefs d’un choix sage en orientation professionnelle. A clear understanding of yourself, your aptitudes, abilities, interests, ambitions, resources, limitations and their causes; A knowledge of the requirements and conditions of success, advantages and disadvantages, compensation, opportunities, and prospects in different lines of work; True reasoning on the relations of these two groups of facts.[Parsons 1909] 75 Avoir une bonne compréhension de soi-même ; connaître les perspectives dans les différents types d’emplois, d’études et de formation ; appliquer un raisonnement correct à leur mise ensemble. Ces trois facteurs résument les enjeux des services de l’orientation professionnelle. L’évaluation des intérêts professionnels appartient à la première catégorie de services, l’autoexploration et l’autoévaluation amenant le consultant à mieux se connaître. Parmi les méthodes utilisées en psychologie de l’orientation, l’approche de l’évaluation à partir de questionnaires psychométriques permet d’établir le profil des consultants sur des variables telles que les intérêts, les styles de prises de décisions, les valeurs. Les intérêts professionnels sont des variables expliquant les différences interindividuelles dans le choix pour des activités en général, en particulier, les formations et les professions. L’évaluation des intérêts professionnels Des intérêts seraient : … des activités pour lesquelles nous éprouvons du goût ou du dégoût et vers lesquelles nous allons ou desquelles nous nous éloignons, ou concernant lesquelles à tout le moins nous maintenons ou discontinuons le statu quo; de plus, ils peuvent ou non être préférés à d’autres intérêts et ils peuvent persister selon des intervalles de temps variables. Ou un intérêt peut être défini comme un état d’esprit de goût/dégoût qui accompagne une activité, ou la pensée de faire cette activité. [Strong 1955] traduction [Tétreau 2005] L’évaluation des intérêts peut se réaliser de plusieurs manières. Le sujet dit ce qui l’intéresse : J’aime la musique, il s’agit des intérêts exprimés. Nous observons le comportement du sujet Extrait de l’exposé : Les 3 figures de l’orientation par Thierry Boy de l’INETOP basé sur [Boy 2005], 76 au quotidien exprimant ses intérêts, ce sont les intérêts manifestés. Le sujet passe une série de questionnaires aux réponses subjectives mais dont la notation est objective, ou les intérêts inventoriés. Cette dernière méthode s’est développée sous la forme de nombreux types d’inventaires basés sur quatre grands modèles jalonnant l’histoire de la discipline [Vrignaud 2005]. Les travaux sur la mesure des intérêts professionnels ont commencé il y a plus de 80 ans menés en particulier par Edward Strong, pionnier du domaine. L’approche de Strong, dite des échelles professionnelles, consiste à comparer des résultats de questionnaires sur des préférences pour des activités, dans le sens métier. D’un côté nous avons les résultats du sujet, de l’autre les réponses d’un vaste panel de professionnels. Des réponses du sujet similaires à un échantillon donné de professionnels indiqueraient un intérêt pour cette profession. Le système repose sur la qualité des échelles professionnelles permettant la comparaison avec le résultat du sujet. J.F. Kuder apporte un éclairage différent sur la méthode, considérant que si le questionnaire pour consultant porte sur les professions, nous le questionnons sur le sujet que justement il n’est pas censé connaître : ses préférences professionnelles. Il oriente donc ses questionnaires sur des réactions à des activités loisirs ou para professionnelles. D’autre part, les échelles de comparaison sont remplacées par la création d’un profil pour dix catégories d’intérêts (plein air, mécaniques, numériques, scientifiques, persuasifs, artistiques, littéraires, musicaux, pour le travail social, pour le travail de bureau). Rothwer et Miller augmentent la liste des intérêts de deux catégories, Intérêts techniques et intérêts médicaux. Ils proposent surtout un nouveau type de questionnaires. A neuf reprises le sujet doit placer dans l’ordre de ses préférences douze métiers représentant chacun l’une des catégories d’intérêts. Le processus assume que les sujets n’aient pas forcement la connaissance des métiers cités et n’en aient qu’une représentation stéréotypée. L’IRM (Inventaire de Rothwer et Miller) et sa version révisée, l’IRMR, est l’un des questionnaires les plus utilisé en France. Par la suite, John Lewis Holland s’inscrit dans une tendance à la réduction des variables d’intérêts. Il porte aussi l’idée que les intérêts permettent de cerner un ensemble plus large de traits que les seules préférences pour des activités professionnelles. Relation interpersonnelles, aptitudes et variables de personnalités peuvent être expliqués par un profil mesuré sur un ensemble restreint de variables. Autre aspect clef de son modèle, il met en avant la relation entre personnes et environnements. 77 Les personnes sont attirées par des environnements correspondant à leur type et les environnements sont majoritairement peuplés par des personnes du type correspondant. [Vrignaud 2005] Biais des questionnaires déclaratifs L’aspect déclaratif de la plupart des questionnaires mesurant les intérêts professionnels implique que les réponses des consultants peuvent manquer de fiabilité [Vrignaud 2008]. Selon l’auteur : l’analyse des questionnaires auto évaluatifs peut être biaisée par le manque de lucidité ou d’objectivité sur soi, ou autoduperie. Autre source d’erreur, la désirabilité sociale ou le désir de montrer à autrui une image aussi favorable que possible, ou hétéroduperie: Si l’on vous pose la question de savoir ce que vous faites le dimanche, du jogging ou passer votre journée devant la télévision, vous pourriez être tenté de répondre « jogging » par soucis de l’image que cela donne de vous alors que ce n’est peut-être pas du tout le cas. La désirabilité sociale est d’autant plus impactant sur les résultats que l’enjeu du test est grand. La comparaison entre les résultats de tests identiques passés dans le cadre d’un recrutement ou non ont démontré ce dernier point. Malgré de nombreuses recherches sur des protocoles de tests et différentes formalisations des questionnaires aucune solution n’a permis de contourner ce biais. Il ne peut qu’être pris en compte dans l’analyse des résultats. Nous supposons que la transformation de questionnaire en situations de jeu devrait permettre de contourner ce biais. C’est une des motivations de ce projet pour les partenaires issus de la recherche en orientation professionnelle. Le second degré du jeu, sa nature métaphorique, le fait de mesurer le comportement sur des critères non explicités au joueur sont autant d’atouts que JEU SERAI offrirait en réponse potentielle à cette problématique. Conclusion de l’état de l’art Le game design de jeu est une discipline profondément liée à la manipulation psychologique. L’essence même de la conception d’un système de jeu et d’un gameplay nécessite une quasi permanente modélisation du joueur. Nous avons pu énumérer les types modèles empiriques utilisés par les concepteurs même si ceux-ci le sont parfois de manière intuitive. 78 Des recherches scientifiques en intelligence artificielle ont abordé le modèle du joueur dans le gameplay. Les modèles élaborés ont le mérite de se baser sur les inputs, traces pragmatiques de l’activité ou des stratégies du joueur. L’objectif des expérimentations consiste la plupart du temps à fournir des outils permettant d’augmenter la qualité de jeu, comme l’adaptation du contenu au profil gameplay du joueur ou la génération d’adversaires challengeants. Cette dernière ambition, la quête de ce stratège optimum, n’est pas forcement compatible avec une recherche de modélisation psychologique du joueur. Au regard de la définition du gameplay des domaines légitimes comme la théorie des jeux, la théorie de la motivation ou celle de la décision ont pu permettre un éclairage sur des méthodes potentielles de mesure et de création de typologies comportementales adaptées au jeu vidéo. Les expérimentations sont malheureusement encore marginales et visiblement complexes à mettre en œuvre. L’implémentation de modèles psychologiques dans des jeux existants n’est pas rependue. Si certains titres tendent à s’appuyer sur des références en psychologie, leurs méthodes sont peu documentées et n’ont pas été réalisées dans un souci de rigueur scientifique mais pour supporter une expérience émotionnelle. Reste les serious game de recrutement, créant des profils de candidats. Encore une fois, les méthodes utilisées pour créer les typologies ne sont pas publiées et leurs descriptifs relèvent de l’argumentaire commercial. Le champ des recherches visant à créer un modèle psychologique du joueur au travers de son expérience de jeu est vierge de démonstration argumentée. Ce manque nous conforte dans l’idée que l’élaboration d’une méthode probante et explicite permettant de créer le lien entre activité du joueur et un modèle psychologique éprouvé scientifiquement. La mesure des intérêts professionnels offre plusieurs modèles psychologiques éprouvés pour la mise en pratique d’une méthodologie de conception axée sur l’élaboration d’un profil psychologique du joueur. Ce jeu pourrait peut-être contourner certains biais des questionnaires déclaratifs habituels. Utilité annexe de cet état de l’art Pour conclure ce chapitre et répondre à son introduction, nous exposons ici au lecteur un travail mené lors de l’établissement de cet état de l’art. L’objectif ne consistait pas seulement 79 à répertorier les références sur le modèle du joueur mais aussi à identifier les éventuels critères d’une grille d’analyse de son comportement gameplay. Ce travail de recherche a été réalisé en collaboration avec la société Mimesis Republic spécialisée dans le développement et l’exploitation de jeux en ligne. L’établissement de cette grille d’analyse a fait l’objet d’une publication dans les actes de l’ICEC 2010 [Guardiola 2010] Des modèles du joueur empiriques ou liés à des théories pertinentes, un ensemble de 11 critères intéressants ont été choisis. Ils constituent le socle d’une fiche gameplay permettant d’identifier le style de jeu d’un joueur. Performance Quelle est la performance du joueur dans ce gameplay particulier? Efficience Est-il dépensier en ressources pour atteindre ses objectifs? Effectivité Est-ce qu’il atteint ses objectifs ? Préférences stratégiques Quelles stratégies le joueur connait, utilise, maîtrise ? quelle association pattern/stratégie reproduit-il ? Complétion Quel % du possible accomplit-il ? Persévérance A quel point réessaie-t-il après avoir échoué ? Type de rapport au risque Où se situe-t-il dans l’aire de comportement face au risque ? Utilité Qu’est-ce qui a de la valeur pour lui ? Degré d’Ambiguïté dans la prise de décision Quel degré d’information sur une situation lui convient lorsqu’il prend un risque ? Profil motivationnel Quel type de régulation caractérise sa motivation à jouer? Préférence en terme de pay-off Est-il court, moyen ou long terme dans la prévision de ses pay-off ? Si la trace la plus pragmatique des décisions du joueur est l’input, cette information doit être interprétée au filtre du système de jeu pour en comprendre pleinement le sens. Nous avons confronté ces critères à de véritables données collectées dans deux jeux développés par Mimesis Republic : Mission Equitation Online [Mindscape 2009], jeu d’équitation dans un monde ouvert, et Mamba Nation [Mimesis 2011], un espace de jeu et de rencontre pour adolescents, ce dernier étant encore en développement au moment de la collaboration. Pour être efficaces, les critères devaient être transformés en dimensions clairement liées aux inputs du joueur. 80 La première étape du travail consistait à analyser en profondeur le système de jeu et d’identifier les variables qui allaient permettre la mesure de chaque critère. Puis ensuite de créer des algorithmes sur la base des données concrètement mesurables dans le jeu. A titre d’exemple dans Mamba nation, dont le contenu a évolué depuis ces tests, le joueur tentait de gagner du Fame. Schématiquement, il accomplissait des actions en lançant des animations sur son avatar dans un espace public. Ces points de Fame étaient gagnés si d’autres joueurs présents votaient pour son avatar, manifestant leur approbation pour le petit spectacle dont ils avaient été témoins. Les animations que le joueur lançait sur son avatar avaient un coût, en Vibes ou en Blinks, les monnaies de Mamba nation. Pour établir l’efficience du joueur nous pouvions donc créer un ratio entre le montant dépensés par le montant de Fame collecté. Pour mesurer le rapport au risque, nous pouvions mesurer si le joueur choisissait d’utiliser ses animations en présence de personnes qu’il connaissait. Nous pouvions savoir si le joueur était dans la sphère d’influence de l’avatar de quelqu’un étant sur sa liste d’ami, cette sphère étant concrètement représentée dans le jeu. Matérialisation de la sphère d’influence de l’avatar pendant qu’il joue une animation Environnement et personnages de Mamba Nation81 Ou à l’inverse s’il tentait plutôt le coup avec des inconnus. Nous pouvions aussi évaluer la valeur des animations qu’il lançait et reconstituer l’aire des rapports au risque évoquée plus haut. A la lumière de cette confrontation entre les critères estimés pour la création du profil et les données concrètement mesurables dans un jeu, nous avons pu constater la faisabilité de l’implémentation, mais elle relève d’une certaine complexité. La Performance, les préférences stratégiques et le type rapport au risque se mesurent pour chaque jeu, plus encore, pour chaque gameplay d’une manière donnée. Un jeu comporte fréquemment plusieurs gameplay. Ces trois critères demandent donc une analyse en profondeur du système de jeu. C’est un préalable à toute définition des moyens à mettre en œuvre pour les observer. D’autre part la granularité des observations doit être définie. L’échelle de mesure est la brique de gameplay ou, selon les game designers, situation de gameplay, bloc de gameplay, pattern, etc. Cette brique doit être délimitée dans le temps voire l’espace. Efficience et effectivité nécessitent de clarifier l’objectif du joueur. La définition de la brique de gameplay peut être interprétée comme l’objectif micro du joueur. A une échelle plus large, dans un monde ouvert par exemple, la connaissance de l’objectif que se donne le joueur nécessite un couche d’interprétation potentiellement ouverte à des biais. La complétion se mesure sur l’ensemble des éléments atteignables du jeu. Par exemple, à un temps donné, le joueur n’a accès qu’à 60% du contenu. C’est le % d’expérimentation de ces 60% qui nous donnera le degré de recherche de l’achèvement. L’interprétation de l’achèvement peut varier d’un jeu à l’autre. Nous posons une première définition générique permettant sa mise en place dans un jeu donné: il s’agit des potentiels d’interactions à la disposition du joueur. Un décor à fouler, une arme à utiliser, un ennemi à affronter, un objet à collecter, un personnage avec lequel interagir, une quête à activer… L’ambiguité demande à connaitre ce que le joueur sait du challenge dans lequel il s’engage. La difficulté réside dans la mesure de ce que le joueur perçoit comme information. Nous pouvons évaluer les éléments critiques qui lui sont communiqués par le son, l’image ou encore les vibrations de la manette, mais même ce faisant, nous ne serions pas sûr qu’il ait perçu ou compris l’information. Ce degré d’ambiguïté ne peut à priori être qu’une approximation. Le profil motivationnel se mesure sur un grand nombre d’éléments du système de jeu. Il faut parfois en chercher la trace par des événements liés à plusieurs gameplay différents, voire 82 même dans des actions sans rapport direct avec un gameplay. Par exemple, le fait de regarder un objet désiré dans les onglets d’une boutique peut être significatif si l’on revient l’acheter après les quelques missions qui ont permis de gagner de quoi se l’offrir. Une complexité, et peut-être un biais, vient de l’interprétation des différents états motivationnels en événements mesurables. La manière dont cette interprétation est réalisée doit donc être systématiquement documentée pour les utilisateurs de ce profil, de manière à ce qu’ils puissent interpréter les résultats en connaissance de cause. La préférence en terme de pay-off pose le même genre de problème que la motivation. Nous devons interpréter les notions de court, moyen ou long terme en suite d’événements mesurables. La notion clef semble être la mesure du temps de jeu entre début d’une série d’actions et leur finalité en termes de bénéfices. Il y a un risque d’interprétation moins pragmatique que la mesure de la notion de performance, par exemple. Si le travail s’est borné à confronter les critères du profil aux données effectivement mesurables dans des jeux, aucun ne semblait impossible à mettre en place. La condition fondamentale est l’accès aux spécifications du système de jeu et leur traduction en code. Cette grille d’analyse est donc le premier jet de la définition d’un profil gameplay du joueur. A la lumière du test sur deux jeux, elle semble pouvoir s’adapter à plusieurs types de jeu. Cette plasticité est une évolution comparée aux approches comportementales préalables, très orientées MMORPG. Nous n’imposons pas de typologie, la création de données sur une population doit justement permettre d’identifier la typologie de comportements spécifique à un jeu donné. Une autre exploitation possible de cette méthode est de permettre une mesure des comportements à différents moments et d’en étudier l’évolution. Nous ne prenons peut- être pas des risques de la même manière après quatre heures de jeu, ou nous ne choisissons peut-être pas les mêmes stratégies à midi qu’à deux heures du matin. 83 84 85 CHAPITRE 3 – METHODE PROPOSEE ET CONTEXTE D’EXPERIMENTATION86 87 3 - Méthode proposée et contexte d’expérimentation A la lecture de l’état de l’art et de la synthèse des pratiques en conception de jeu, nous constatons, d’une part, que le game design semble entretenir une relation fondamentale avec la création de modèles comportementaux du joueur, et ,d’autres part, que nous manquons de connaissances sur les liens qu’entretiennent modèle psychologique et modèle du joueur. Nous pouvons présumer qu’il existe bel et bien un lien entre trait psychologique du joueur et le profil que nous pouvons dresser de lui pendant qu’il joue. Cependant nous sommes, par exemple, incapables de répondre à la question : Est-ce que le profil que nous pourrions dresser du joueur au sein du gameplay reflète des traits perdurant au-delà de la session de jeu ? A ce jour aucune méthode documentée ne permet de réaliser des jeux dont la vocation est la création de profils psychologiques fondés sur un modèle éprouvé. Nous souhaitons donc proposer une méthode de conception de jeu vidéo, en particulier de game design, permettant d’évaluer les paramètres d’un modèle psychologique du joueur par son activité ludique. Dans un premier temps, nous exposerons le problème de l’évaluation d’un profil psychologique par l’activité ludique d’un joueur. Puis nous proposerons une méthode de conception de jeu adaptée à cet enjeu spécifique. Nous décrirons enfin le contexte de développement du projet JEU SERAI ayant servi d’expérimentation à cette méthode. Pourquoi évaluer le profil du joueur ? Pourquoi construire des jeux qui observent le joueur et en construisent un modèle ? Data mining, profiling, tracking sont des termes désormais courants dans le domaine du jeu vidéo. Les développeurs de jeu déploient des moyens de plus en plus importants pour tenter de cerner leurs clients. 88 Dès 1984 Sherry Turkle [Turkle 2005] nous affirme que le jeu vidéo peut servir de test de projection. Les psychanalystes vont utiliser le jeu en médiation thérapeutique jusqu’aux récents travaux, par exemple, de Geoffroy Willo [Willo 2012] ou Michael Stora [Stora 2006]. Des titres de pur Entertainment tels les Sims [Maxis 2000] ou ICO [ICO team 2002] deviennent des outils au service de la mise en lumière de fonctionnements psychologiques. Dans le cas de Michael Stora, il relate l’utilisation d’ICO pour extérioriser des affects réprimés par des sujets. Depuis longtemps des outils d’évaluation du joueur sont embarqués dans des jeux du marché avec pour ambition la mise en œuvre d’une expérience, d’un comportement du contenu dédié à un profil donné. Notons comme exemple remarquable Left 4 dead [Valve 2008], jeu de tir à la première personne se jouant en coopération, disposant d’un metteur en scène virtuel, l’AI director. Pour maintenir la tension et le rythme, Il traque dynamiquement les performances de chaque joueur et leur efficacité en tant que groupe pour leur adapter les paramètres des vagues d’ennemis. Dans l’exemple de l’utilisation des Big Five ou Five Factor Model dans Silent Hill Shaterred memories, décrit dans l’état de l’art, le jeu tente de manipuler les émotions du joueur en exploitant les données collectées lors d’une séance virtuelle chez le psychiatre. Le modèle embarqué sert explicitement à faire plus peur, à créer des sentiments d’étrangeté. D’autres motivations sont éthiquement plus discutables, comme espionner le comportement du joueur pour lui adapter un marketing plus efficace. Sur des supports comme Facebook, les jeux communément appelés free to play se jouent gratuitement et ont un modèle économique basé sur la connaissance des habitudes du joueur. La société Zynga a développé de nombreux free to play pour les réseaux sociaux, comme par exemple leur hit Farmville [Zynga 2009] ayant dépassé les 150 millions de joueurs. Ce sont des jeux gratuits. Les joueurs y achètent avec de l’argent réel, s’ils le souhaitent, des éléments de personnalisation de leur environnement virtuel (un drapeau, un arbre) ou des objets altérant leur potentiel de jeu (un tracteur qui accélère le labour, une poule qui produira des œufs). Pour être rentable, le développeur doit optimiser la production des objets proposés à la vente. La collecte de données et la définition de profil du joueur/acheteur, sont au cœur du processus. Notons que les créateurs de Zynga sont des anciens de la société Amazon, rompus aux pratiques et outils de l’e-commerce. Des modèles du consommateur, plus que du joueur, sont d’ores et déjà utilisés pour faire fonctionner tout un pan de l’économie du jeu. Pour leur part, les jeux thérapeutiques ont parfois la nécessité de construire un profil du joueur pour que les effets utiles soient les plus efficaces possibles. SGCogR, ou le Village aux 89 oiseaux, tend à mesurer l’attention du joueur par les caractéristiques des trajectoires de son curseur, permettant de lui adapter le contenu et réduire l’éventuelle pénibilité des sessions. Plus proches de nos considérations d’un modèle psychologique, des serious games du domaine des ressources humaines ont pour objet l’établissement de profils de compétences, par exemple dans le cadre d’un recrutement. C’est l’ambition des projets America’s Army et PEPco (Programmes d'Evaluation du Potentiel Cognitif) cités dans l’état de l’art. C’est dans un registre voisin que se situe l’objectif de notre projet expérimental JEU SERAI: l’aide à l’orientation professionnelle par la création d’un profil d’intérêts du joueur. Nous constatons au travers de ces exemples qu’il existe une tendance à la création du profil du joueur. Et qu’il semble exister un rapport entre trait de psychologie et profil du joueur. Malheureusement, les méthodes permettant le lien entre profil et modèle psychologique sont très empiriques. Notre but est de proposer une méthode scientifique de conception de jeu permettant la création de profil psychologique du joueur. Evaluer le profil psychologique d’un joueur Si la collecte de donnée sur le joueur destinée à la création d’un profil se justifie et se développe, nous nous questionnons sur la validité scientifique des approches misent en œuvre. Depuis Bartle nous pouvons lever les mêmes réserves sur les méthodes employées. Reprenons la proposition originale de Bartle. Il a fait passer un questionnaire sur leurs habitudes de jeu à des joueurs de MUD, ancêtre des MMORPG. A partir des réponses à ce questionnaire il classe leurs résultats pour établir une répartition de leurs comportements en 4 grandes catégories : Les killers, socializers, explorers et achievers. (voir figure extraite de la publication originale en 1.4 - Le modèle du joueur). Nous voyons trois biais handicapant cette méthode : • Elle ne s’appuie pas sur un modèle existant. Les questions et la classification se font selon des échelles et un modèle créés pour les besoins. Nous n’avons aucune référence, et donc aucun moyen de vérifier la qualité de la mesure, du modèle et de la typologie. • Les questions sont administrées après jeu, hors du cercle magique, hors de l’engagement dans le gameplay. Le joueur parle de lui en train de jouer, avec tous les biais que cela peut comporter (Autoduperie et hétéroduperie décrites en 2.15.2 - Biais des questionnaires déclaratifs). 90 • La typologie proposée est orienté vers un genre particulier, le MUD, devenus les MMORPG terrain d’étude favoris des successeurs de Bartle. Le type socializer, par exemple, n’a aucun sens dans Tetris [Pajitnov 1987] ou Half Life [Valve 1998], respectivement jeu d’arcade et jeu de tir à la première personne. Nous pouvons retrouver tout ou partie de ces biais dans les typologies ayant suivi celle de Bartle, et les tentatives de création d’un modèle unifié n’ont pas pour autant rendu plus sûr. Nous souhaitons que notre méthode soit basée sur des modèles éprouvés, que les données soit collectées pendant la session de jeu et qu’elle puisse être utilisé sans considération de genre. Prenons maintenant le cas des jeux sérieux d’aide au recrutement, proposant de faire un lien entre des actions du joueur et un profil de compétence. Les sociétés qui les développent laissent dans la plus grande opacité la manière dont ils créent le lien entre action effectuée par le joueur et mesure du profil de compétence. Nous n’avons aucune documentation ou garantie sur la validité scientifique des méthodes. Et lorsque certains développeurs utilisent des modèles psychologiques documentés, ils s’en servent à autre chose que la mesure de traits psychologique. Dans le cas du Five Factor Model (FFM) utilisés dans Silent Hill Shaterred memories, les concepteurs souhaitaient adapter l’arborescence narrative aux réponses du joueur, dans le but de générer plus d’émotion. Nous ne disposons d’aucune documentation sur la qualité de l’intégration de la mesure du FFM dans le système de jeu, d’aucune trace d’expérimentation validant la qualité de la mesure du profil, encore moins la moindre idée de la validité du lien entre profil FFM et modification du contenu. Il faut une adéquation du modèle avec l’observation à mener, comme notre choix du modèle de Holland dans le cadre de JEU SERAI : nous mesurons bien des intérêts professionnels. Pour qu’un serious game fonctionne, il est nécessaire de définir un objectif clair et mesurable (voir la section 1.3.2.e Evaluation de l’impact dans la vie réelle). Nous avons besoin d’un système évaluant la qualité de la mesure. Prenons l’exemple d’un jeu faisant la promotion d’un produit, l’augmentation des ventes est en soit un retour suffisant, et le marketing dispose d’outils de mesure éprouvés de connaissance des marques par le public. Pour un jeu thérapeutique rééduquant un patient, la progression de ses performances par des moyens extérieurs au jeu lui-même permet d’en évaluer l’efficacité. Dans le cadre de la création d’un profil psychologique nous devons pouvoir comparer les résultats obtenus par le jeu à des moyens plus classiques et éprouvés. Dans le cadre de notre projet expérimental, il existe 91 plusieurs tests papiers extrêmement utilisés et documentés depuis des décennies, comme l’IRMR pour la mesure des intérêts professionnels (explicité en 4.1.2) Il faut donc imaginer une manière de concevoir, une méthode de game design, scientifiquement recevable pour le cas des jeux mesurant un profil psychologique du joueur. Nous savons que le gameplay est une série de décisions du joueur, et que nous pouvons mesurer des profils psychologiques par une analyse des décisions. Les décisions gameplay, ou les input du joueur peuvent être transformés en items de psychométrie. Assurer l’engagement du joueur dans le gameplay, sa motivation tout au long de l’expérience de jeu, ou encore garantir l’accessibilité du contenu au public cible sont autant de problèmes à résoudre pour pouvoir établir un contexte propice à la recherche de réponses. Le jeu expérimentation doit être un véritable jeu, et non, par exemple, une simulation ou une application d’e-learning gamifiée. Enfin, nous devons intégrer le médiateur dans notre réflexion. Un jeu thérapeutique comme Le village aux oiseaux, doit prévoir des interfaces dédiées aux praticiens qui vont utiliser le jeu dans le cadre médical. Dans un jeu sur les intérêts professionnels, nous devons pouvoir aider un conseiller d’orientation à accéder aux résultats et à les interpréter en toute transparence. Méthode de conception proposée La méthode que nous proposons se résume en neuf points. 1 - Identifier un modèle psychologique éprouvé C’est particulièrement nécessaire alors que nous entamons cette exploration des liens entre activité du joueur et modèle psychologique. Le modèle doit être documenté et proposer une forme de test d’évaluation éprouvé par des expérimentations. Les tests existants permettent de pouvoir réaliser une évaluation comparative des résultats obtenus par le jeu et par les méthodes traditionnelles. Dans le cadre de JEU SERA, nous avons opté pour l’inventaire d’intérêts de Holland répondant à ses deux critères. Il est exposé dans le chapitre suivant. 2 - Identifier le faisceau de contraintes lié au public visé et au propos utile du jeu 92 Par sa nature utile, générer un profil psychologique, le jeu doit répondre aux problèmes inhérents aux serious games évoqué en 0. L’un d’entre eux consiste à définir avec précision le type de public visé et le contexte d’utilisation. 3 - Mettre en place une chaine de validation des contenus avec les experts La chaine de conception et de production doit permettre la collaboration entre les game designers et les experts du domaine d’appartenance du modèle. Sous la forme, par exemple, d’étapes de validation ou de sessions de travail communes. Cette collaboration étroite et régulière est indispensable à la validation scientifique du projet. 4 - Choix du type de jeu Il s’agit d’élaborer un premier jet du concept, ciblant en particulier le type de gameplay. Avant d’investir des efforts de production, il faut évaluer la compatibilité de l’experience de jeu visée avec le modèle choisi, du public et identifier les biais potentiels. 5 - Définir des items aux propriétés variées dans la boucle de gameplay Nous ignorons quelles données issues de l’activité du joueur sont les plus à même de corréler au mieux avec les dimensions du modèle retenu. Si nous pouvons parfois intuitivement établir des liens entre certaines activités et dimensions, nous devons adopter une démarche prudente et déterminer un large panel d’items, en particulier dans leur degré d’appartenance au gameplay. Ce travail ce fait donc en parallèle d’un des chantiers fondamentaux du game design, la définition de la boucle de gameplay. 6 - Adopter une méthode de rationalisation des contenus pour les autres taches fondamentales du game design Lors de la phase de conception, la relation entre éléments de game design et dimensions à mesurer doit être la plus claire possible. Il faut adopter une méthode rationnelle d’évaluation de ces éléments dans les quatre autres chantiers identifiés : système de jeu, mise en scène de l’interaction, structure motivationnelle et contexte narratif. Par exemple, si le choix de l’objet avec lequel le joueur interagit est un item pris en compte pour l’établissement du profil à plusieurs dimensions : nous devons pouvoir évaluer la pertinence de la relation objet choisi/dimension incrémentée durant la conception du jeu. 7 - Construire une interface documentée de restitution et d’analyse des mesures La manière dont le lien est fait entre élément de gameplay et calcul des valeurs des items dans la génération du profil est un aspect critique de l’évaluation de la validité du jeu. La 93 transparence de ce lien est une nécessité pour pouvoir adopter d’éventuels aménagements et « régler » l’outil de mesure. Les psychométriciens qui mènent les tests comme, au final, les praticiens souhaitant utiliser le jeu doivent pouvoir comprendre et interpréter les résultats en toute connaissance de cause. Le médiateur doit pouvoir bénéficier d’une documentation claire voire d’une interface spécifique d’analyse des mesures. 8 - Adopter un protocole de test et d’analyse permettant d’évaluer la pertinence des items Le protocole idéal semble consister à comparer le profil psychologique obtenu via une méthode traditionnelle (souvent des réponses à un questionnaire) et celui obtenu par le biais du jeu. Comme nous évaluons la qualité des items et leur mode de transformation en dimension du modèle, les analyses doivent nous permettre une perception détaillée de la pertinence de chaque item. La source des défaillances potentielles doit pouvoir être identifiée pour proposer des aménagements tant au niveau du contenu game design que dans le mode de calcul du profil. 9 - Itérer en revenant à la définition des items(5) ou la nature des contenus (6) jusqu’à obtenir une corrélation satisfaisante entre profil obtenu par la méthode traditionnelle et celui créé par le jeu Schéma synthétisant la méthode de conception proposée 94 Mise en application sur JEU SERAI JEU SERAI a pour ambition d’aider à l’orientation professionnelle des adultes et des étudiants. Il propose d’utiliser les mécanismes fondamentaux du jeu vidéo pour évaluer les centres d’intérêts et de motivation de l’utilisateur, ainsi que la façon dont il réalise des choix afin l’aider dans sa démarche individuelle d’orientation. Le but de JEU SERAI n’est pas de remplacer le conseiller d’orientation. Il vise à faciliter un travail personnel d’identification des principales caractéristiques individuelles sur lesquelles se fondent les choix d’orientation pour les intégrer dans le travail réalisé avec le conseiller. Voici idéalement la manière dont la méthode devrait s’appliquer à la création de JEU SERAI. 1 - Identifier un modèle psychologique éprouvé Nous devons prendre connaissance des modèles utilisés en autoévaluation dans l’orientation professionnelle, les questionnaires et modes de restitution existants. L’enjeu consiste à pouvoir donner notre accord sur sa portabilité en gameplay. Le consensus avec les experts s’est fait sur le modèle de Holland explicité en section 4.1. 2 - Identifier le faisceau de contraintes lié au public visé et au propos utile du jeu Il nous faut identifier en quoi le public visé, la mesure des intérêts, les lieux et supports de déploiement contraignent la conception de JEU SERAI. La formalisation de ce cadre bordera tout le travail de game design. 3 - Mettre en place une chaine de validation des contenus avec les experts Nous devons initier nos experts aux enjeux du game design et ils doivent nous initier à ceux de l’orientation professionnelle, et en particulier aux méthodes d’évaluation des intérêts professionnels. D’autre part, nous devons mettre au point avec les développeurs une chaine de production intégrant les retours des experts. 4 - Choix du type de jeu Nous devons évaluer les systèmes de jeu et métaphores ludiques semblant les plus adaptés aux contraintes de JEU SERAI. A partir de références, de nos connaissances du modèle du joueur et en les confrontant aux modèle de Holland, nous devrions voir émerger une solution optimale. Cela donnera lieu au premier concept du jeu. 95 5 - Définir des items aux propriétés variées dans la boucle de gameplay Nous devons définir la boucle de gameplay et les moments où nous collectons des informations. C’est le cœur de la relation décision du joueur/analyse psychologique de la décision. Comme ce terrain est vierge en termes d’expérimentation, nous savons que nous allons devoir nous appuyer sur un spectre large de décisions, aux propriétés différentes. 6 - Adopter une méthode de rationalisation des contenus pour les autres taches fondamentales du game design Le modèle de Holland identifié et compris, ses modes de mesure analysés, nous devons établir un lien clair entre éléments de contenu et dimensions à mesurer. Par exemple, entre un curseur en flèche et un curseur en forme de marteau, lequel est le plus adéquat pour appuyer une action de type Réaliste ? Ce travail fastidieux nous demande d’établir une liste exhaustive des éléments composant le jeu et de leur attribuer un degré de contribution au mode de mesure. 7 - Construire une interface documentée de restitution et d’analyse des mesures Nous devons créer et documenter la manière dont les décisions du joueur deviennent des valeurs dans des dimensions du modèle de Holland. Dans ce cadre de ce projet, il faut penser à deux modes de restitution, l’un à destination du sujet, l’autre pour les experts de l’orientation professionnel susceptibles d’utiliser JEU SERAI. 8 - Adopter un protocole de test et d’analyse permettant d’évaluer la pertinence des items Dans le cadre de JEU SERAI , nous pouvons créer des tests de corrélation entre résultats obtenus par un même joueur dans le jeu et dans un questionnaire papier éprouvé. Nous devons ensuite comprendre les réussites et les échecs. Pour nous aider, nous pouvons nous référer aux propriétés des items utilisés dans le calcul (établis en 5) ou encore à la qualité du rapport éléments de conception/dimension à mesurer (établis en 6) 9 - Itérer en revenant à la définition des items(5) ou la nature des contenus (6) Idéalement, il nous faut pouvoir mener nos analyses et définir des modifications du contenu jusqu’à ce que résultats du test papier et ceux du jeu aient des corrélations satisfaisantes aux yeux des experts en psychométrie. La mise en application de la méthode dans le cadre d’une production réelle nous réserve bien entendu les surprises inhérentes à l’expérimentation. Ces problèmes sont évoqués dans le chapitre suivant. 96 Conclusion sur la méthode La méthode de conception proposée souhaite, aux différentes étapes d’un projet, sécuriser la qualité du profil psychologique du joueur recherché, des critères nécessaires à la sélection du modèle psychologique de référence aux nécessités de documentation explicitant la relation entre éléments de game design et item mesuré. Au regard du contexte de l’orientation professionnelle actuel, JEU SERAI se propose, dans un premier temps, d’intervenir dans le processus d’autoévaluation du consultant en établissant une manière innovante de créer un profil d’intérêts basé sur le modèle de Holland. Ce test sous forme de jeu pourrait être administré en ligne et venir compléter les outils permettant la communication entre conseiller d’orientation et consultant. La relation à la création qu’induisent les phases de game design est la limite majeure du processus. Tout comme le metteur en scène définit les moyens à mettre en œuvre pour transcrire une intention, le game design doit ici contraindre son attention créative aux ambitions utile du jeu. Or la qualité de la création dans ce cadre parait difficilement rationalisable. La phase six recèle donc une difficulté peu commune dans le domaine du game design. Cette méthodologie de conception a en soi le mérite d’être la première à imbriquer autant gameplay et psychologie. Nous devrions non seulement évaluer son efficacité mais aussi permettre la création d’un nouveau pont, pragmatique, entre informatique et science humaine. 97 98 99 CHAPITRE 4 – METHODE APPLIQUEE AU PROTOTYPE JEU SERAI 100 101 4 - Méthode appliquée au prototype JEU SERAI Dans ce chapitre, nous allons rapporter les différentes étapes de la mise en pratique de la méthode proposée. Les cinq premières étapes (choix du modèle ; mise en place du travail collaboratif entre experts et game designers ; identification des contraintes liées à la cible ; choix du type de jeu ; choix des items et gameplay) font l’objet d’une section chacune. La méthode de rationalisation des contenus (étape 6) est ensuite exposée et déployée en plusieurs parties relatives à l’élaboration des quatre autres fondamentaux du game design (Système de jeu, mise en scène de l’interaction, structure motivationnelle et contexte narratif). Du choix des items au contexte narratif, nous considèrerons les problématiques rencontrées pour les faire servir la construction du modèle psychologique et les solutions adoptées. Nous y verrons que les modèles du joueur ont pu apporter certaines solutions mais aussi créer des conflits avec la mesure des intérêts. La méthode est aussi confrontée aux réalités d’une production dans un cadre industriel. En conclusion de ce chapitre, une section explicite l’ensemble des outils de mesure mis en place pour l’évaluation des items et leurs restitutions, et devant par la suite servir à la réalisation des profils du joueur. La phase huit, protocole de test et l’analyse des résultats, fait l’objet du prochain chapitre. Choix du modèle Le modèle de Holland Le modèle du psychologue américain John Holland considère que six types (RIASEC : Réaliste, Investigateur, Artiste, Social, Entreprenant, Conventionnel) sont suffisants pour rendre compte des différents intérêts [Holland 1966]. Ces types ne sont pas indépendants et leurs relations (ressemblances et dissimilarités) peuvent être représentées par un hexagone. Les six types sont positionnés sur chacun des sommets de l’hexagone. A partir de ce modèle 102 nous pouvons représenter les intérêts du sujet en positionnant ses scores au questionnaire sur les six branches de l’hexagone. L’encart ci-dessous, extrait de Demangeon [Demangeon 1984], définit les 6 types de Holland ou RIASEC. Le type Réaliste est caractérisé par une préférence pour des activités de type technique ou de plein air qui supposent la manipulation d'objets, d'outils, de machines ou le contact avec des animaux et par les compétences correspondantes, techniques ou physiques. L'individu réaliste est peu sociable, émotionnellement stable, matérialiste, sincère, tourné vers le présent. Il attribue de la valeur aux choses concrètes ou aux caractéristiques personnelles tangibles, argent, puissance, statut. Le type Intellectuel ou investigatif correspond à des préférences et des aptitudes pour une activité de recherche dans le domaine physique, biologique ou culturel. L'individu intellectuel attribue une grande valeur à la science. Il préfère la réflexion à l'action et se montre analytique, rationnel indépendant, réservé, curieux, introverti. Le type Artistique se définit par des préférences, des aptitudes et des valeurs dans le domaine artistique, domaine de l'activité libre, mal définie, non systématique où le sujet, à partir d'éléments physiques, verbaux ou humains réalise une création où il exprime ses sentiments et ses émotions. Il est émotif, idéaliste, introverti, indépendant, original. Le type Social préfère les activités où il peut avoir de l'action sur les autres, mais dans leur intérêt propre : enseignement, soin, information, conseil. Il est doué pour les relations humaines et ses valeurs sont d'ordre social et moral ; il présente des traits tels que l'amabilité, la compréhension, la générosité, le sens des responsabilités. Le type Entreprenant aime les activités où il peut manipuler les autres, mais à l'inverse du type social, il le fait dans son propre intérêt, pour en obtenir des services ou un profit : c'est Hexagone du modèle RIASEC de Holland 103 l'homme politique, l'homme d'affaires, le commerçant. Il valorise la réussite économique ou politique. Il a l'esprit d'aventure et de domination, une grande confiance en lui, il est ambitieux, énergique, impulsif, bavard sociable, optimiste et extraverti. Le type Conventionnel correspond aux emplois de bureau : ses préférences vont à la manipulation explicite, ordonnée et systématique de données, et il excelle à effectuer des relevés, des classements, des calculs. Il attribue de la valeur à la réussite matérielle et sociale, Il est conformiste, consciencieux actif, obéissant, ordonné, calme et il a peu d'imagination. L’un des intérêts de ce modèle réside dans la profondeur du profil mesuré. L’analyse psychométrique des résultats du questionnaire peut être interprétée en prenant en compte les deux ou trois scores les plus élevés. En considérant les deux variables les plus hautes et en prenant en compte l’ordre de leurs valeurs, la typologie comporte 30 combinaisons différentes. Si nous ordonnons les trois variables les plus fortes, la typologie s’étend à 120 combinaisons différentes. Les profils dont les types obtenant les meilleurs scores sont proches, c’est-à-dire voisins sur l’hexagone, sont considérés comme consistants. A l’inverse, si le profil est constitué de types opposés, il est considéré comme inconsistant. Cette propriété du modèle permet une relative validation du profil car la grande majorité des sujets ont leurs types forts voisins. Le modèle de Holland a aussi pour qualité de faciliter la perception de la congruence entre sujet et environnement (professionnel, formation, loisir, etc.). Les personnes appartenant à un profil donné sont attirées par l’environnement professionnel affilié ce profil. La détermination des profils des professions fait donc partie intégrante du processus d’orientation. Les conseillers d’orientation peuvent par exemple se référer à des listes de professions et d’activités classées selon un code Holland pour réaliser ce rapprochement. Un large panel de professionnels a répondu à un questionnaire permettant l’établissement de cette base de données. Questionnaires d’intérêts et modèle de Holland Le modèle de Holland sert dans de nombreux tests d’orientation professionnelle sous des formes différentes. La méthode classique consiste à répondre à une série de questions sur papier mais des versions informatiques puis celles en ligne ont fait leur apparition. Le protocole peut consister à classer des listes de métiers ou d’activités dans un ordre de 104 préférence, indiquer le métier/activité préféré ou le préféré et le moins apprécié. Les différents tests adressent une population large ou une tranche d’âge spécifique, allant du collégien à l’adulte en reconversion. Le passage du test peut avoir pour cadre l’école, la rencontre avec un conseiller ou un coach, un test de recrutement ou une démarche personnelle. Passations traditionnelles et informatiques L’IRMR3 est un exemple de questionnaire qui peut être administré de manière classique (papier/crayon). Neuf séries de 12 métiers sont présentés au consultant. Il doit pour chaque métier spécifier s’il l’attire, s’il lui est indifférent ou fait partie de ses préférés. Le rapport comporte des scores détaillés hiérarchisant les types, des commentaires par type, une évaluation de la consistance du profil et le compte rendu de l’ensemble des observations. Certains types sont différenciés en sous-types, douze au total, se rapportant à la typologie de Rothwer et Miller. On identifiera, par exemple, un réaliste si le consultant a donné des réponses plus marquées pour le sous-type plein air, pratiques ou techniques. Le questionnaire peut être passé en ligne sur des sites commerciaux ou même parfois gratuitement comme sur Kledou.fr25. Dans ce cas précis le résultat est restitué immédiatement et établit une liste de propositions d’orientation liées à des métiers correspondant au profil RIASEC. 25 Site proposant un questionnaire d’auto-évaluation des intérêts professionnels : http://www.kledou.fr/index.htm Extrait de rapport du test IRMR3 105 La création du lien entre profil et métier dans ces résultats automatisés reste cependant approximative pour un individu précis. Les tests documentés comme l’HEXA 3D ou l’IRMR nécessitent une formation pour pouvoir être administrés correctement et surtout pour que les résultats soient interprétés de manière pertinente26. Si JEU SERAI peut proposer une interprétation embarquée des résultats, elle ne pourra pas rivaliser avec le rôle d’un expert de l’orientation professionnelle ou des ressources humaines. Le jeu devra être documenté et restituer les résultats de manière détaillée, voire brute, pour permettre une interprétation adaptée au consultant et certainement complémentaires d’autres types d’évaluations. La passation informatique des tests a révélé avantages et inconvénients [Bigot 2011]. L’homogénéisation des passations et la réduction de la pression sociale rendent plus fiable des mesures. L’automatisation de la collecte de données et leurs transferts dans les outils d’analyse réduisent les risques d’erreurs de transcription, comparativement à la saisie des résultats papier. D’un autre côté, les passations informatiques en ligne pose le problème des consignes. En cas d’incompréhension le consultant n’a pas de réponse en temps réél. La solution adoptée est de faire pré-tester les consignes pour en valider la compréhension. La fiabilité des résultats à distance peut être remise en cause et il est nécessaire de proposer un accès unique, un loggin, à chaque consultant. Le matériel informatique est faillible et peut engendrer des pertes de données. Il est donc nécessaire de s’assurer une sauvegarde sécurisée des profils et de faciliter leur impression papier. 26 Site décrivant la formation nécessaire à l’utilisation des outils Hexa3D et IRMR : http://www.ecpa.fr/ressourceshumaines/formation-detail.asp?id_for=18 106 Conclusion sur le choix du modèle Choisir ce cadre pour notre expérimentation présente un avantage clef dans notre tentative pour expliciter les relations entre game design et psychologie du joueur. Les modèles psychologiques servant à l’auto-évaluation, comme celui de Holland, sont éprouvés par de nombreuses expérimentations et mis en pratique sous forme de questionnaires à de larges échelles depuis des décennies. Cette fiabilité du modèle choisi et l’existence de tests sur d’autres supports nous permettront d’évaluer plus facilement l’efficacité du propos utile de JEU SERAI. D’autre part, le fait que le modèle de Holland ait pour fonction de mesurer un intérêt pour un environnement au sens large semble pourvoir permettre la conception d’un univers de jeu (activités, personnages, décors). L’autre intérêt, cette fois-ci du point de vue du domaine de l’orientation professionnelle, est de pouvoir apporter une réponse aux problématiques de la désirabilité sociale, biais identifié dans l’autoévaluation. Identification du faisceau de contraintes lié à la cible L’une des problématiques liée à la passation informatique de test est certainement la fracture numérique. Le public visé par les tests d’orientation professionnelle est très hétérogène, du collégien à l’adulte en reconversion, de personnes tout à fait à l’aise avec l’outil informatique à d’autres qui le découvrent à l’occasion des tests. JEU SERAI doit pouvoir adresser l’ensemble de ce panel. Les choix de conception de l’interaction, du thème du jeu et de la navigation doivent y répondre. Le contexte d’utilisation de JEU SERAI est très large. Il faut permettre une diffusion sur des supports accessibles et ne nécessitant pas un matériel sophistiqué. JEU SERAI est prévu pour fonctionner en ligne et sur des téléphones mobiles. Cette contrainte a dicté une partie des choix technologiques, par exemple l’utilisation d’Unity3d, et a orienté le game design : les gameplay doivent pourvoir être compatibles avec un PC équipé d’une souris ou avec un écran tactile de téléphone. 107 Organisation du travail entre game designers et experts L’un des risques du serious game est qu’il puisse être conçu par des game designers ne maîtrisant pas le domaine de la fonction utile du jeu ou à l’inverse par des experts ignorant les enjeux de conception d’un gameplay motivant. Pour assurer une collaboration continue entre les deux expertises nous avons mis en place un processus de validation tout au long de la conception et du développement de JEU SERAI. Avant de nous lancer dans la conception, des sessions de formations réciproques sont organisées. Les experts de l’orientation exposent les enjeux de l’orientation professionnelle et initient aux différents modèles utilisés dans la mesure des intérêts professionnels, du type de prise de décision et des valeurs du consultant. Les concepteurs de jeux vidéo exposent les fondamentaux du game design, la nature du gameplay et les modèles du joueur identifiés. Après avoir clarifié les contraintes, des réunions de conception mêlant experts et concepteurs sont organisées régulièrement pour cadrer les intentions de réalisation et la boucle de gameplay principale. Les propositions suivent un processus de validation par les game designers, les experts et les développeurs. Si nous avons pu respecter ce processus lors de la phase de conception, il a été plus difficile à maintenir lors de la production. Lors de la rédaction du game design et la production du prototype le processus devait idéalement s’étoffer : lorsqu’un principe de jeu est formalisé Processus idéal de validation du contenu 108 dans le document de game design il doit passer par la validation des développeurs évaluant sa faisabilité et les experts de l’orientation avant d’être intégré au prototype. Ces éléments sont testés par l’équipe et exposés aux experts dans le contexte du jeu. Les éventuels retours sont alors intégrés pour obtenir la validation finale. Dans les faits, ce processus est lourd à mettre en place et à maintenir, surtout lorsque les décisions doivent être prises rapidement. L’équipe de développement soulèvent fréquemment des questions qui nécessitent des réponses immédiates pour ne pas bloquer la chaîne de production. Nous avons parfois faits des choix destinés à l’implémentation sans suivre la boucle de validation. Ce manque de fluidité dans le processus tient en partie à la difficulté de communiquer en temps réel entre différents participants, les experts étant distants de l’équipe de développement. Cela dit, la majeure partie des décisions de contenu ont été validées en conception ou ont fait l’objet de commentaires puis de corrections suites aux revues de projets régulières. Des éléments de game design critiques ont parfois demandé la mise en place de méthodes de validation plus élaborés avant leur production. Nous verrons plus tard l’exemple du choix des mini-jeux qui a nécessité la réalisation d’un test papier sous forme de questionnaire RIASEC traditionnel. Choix du type de jeu Dans l’évaluation des intérêts les items sont normalement des réponses à des questions. Nous passons de la réponse à l’input du joueur dans une boucle d’interaction voir dans un gameplay. L’utilisation d’un jeu vidéo amène plusieurs options pour leur implémentation. Si nous avions été dans le domaine de la simulation pure, nous aurions pu nous contenter de réaliser un conseiller virtuel, donnant les consignes, posant les questions et tenter de reproduire la situation réelle d’un entretien ou d’une passation. Ce serait passer à côté des avantages en terme d’engagement que peut procurer le jeu, et éventuellement permettre de contourner le biais de la désirabilité sociale. Le jeu offre la possibilité de tenter de relever dans les inputs, et leur sens dans la métaphore ludique, la marque d’un intérêt. Contrairement à un questionnaire où la marque d’intérêt est volontaire, consciente, nous avons à notre disposons un support où certaines données peuvent 109 être collectées à l’insu du participant. Nous avons fait le choix de tester plusieurs niveaux de perceptibilité des items par le joueur et d’évaluer leurs efficacités respectives. La réalisation d’une boucle de gameplay a lieu durant la phase de conception et est liée à de nombreux choix critiques dans les intentions de réalisation. Dans notre cas, il s’agissait de la définition du genre d’appartenance, du thème général du jeu et les grands types d’interactions que le joueur aura à disposition. Sa mise au point est une succession de brainstorms, de formalisation de concept, de mise à l’épreuve des idées lors des réunions de conception. Experts de l’orientation professionnelles et du game design y ont collaborés étroitement. Nous nous sommes immédiatement confrontés à une première problématique clef qui a influencée l’ensemble du développement. Mesurer une préférence dans le gameplay Nous souhaitions trouver une manière efficace de lier le cœur même du gameplay à la mesure des intérêts professionnels du joueur. Les toutes premières idées consistaient à confronter le joueur à des situations de jeu, des challenges, qu’il pourrait résoudre de multiples façons. Une situation type pourrait être: le joueur doit rentrer dans un bâtiment. Il peut s’y prendre de trois manières différentes : • Tenter de convaincre un vigile, choix qualifié de Social dans la typologie d’Holland • Craquer le système d’une porte à code, choix Investigateur • Passer par le toit, Choix qualifié de Réaliste Ce rapport entre préférence stratégique du joueur, qui est un élément mesurable dans les modèles possibles du joueur, et préférence d’Intérêt est cependant faussé par un autre aspect. Un joueur apprend et améliore un set de stratégies, impliquant parfois une maitrise particulière de manipulations. Il cherche à franchir l’obstacle en utilisant ce qu’il maîtrise et tend à optimiser son gameplay. Ce principe est même constatable dans les pratiques d’achats : un joueur qui a pratiqué le gameplay de type FPS aura tendance à en racheter car il maîtrise déjà une partie de l’instrument, ce type de gameplay et ses modalités d’interaction. En game design, nous allons même parfois jusqu’à considérer le joueur comme partisan du moindre effort et envisager qu’il choisisse systématiquement la facilité. Ce que nous aurions mesuré aurait été une éventuellement préférence stratégique liée au besoin d’optimisation gameplay du joueur, pas la marque tangible d’un intérêt pour une 110 activité ou un type d’activité. Nous devions éviter de confronter entre eux plusieurs gameplay explicitement renseignés aux yeux du joueur, ou de proposer plusieurs fois le même type de gameplay qui aurait orienté son choix. La deuxième solution étudiée consistait à proposer à plusieurs reprises au joueur de choisir parmi six activités, une par type de Holland. Au moment du choix, il n’a devant lui que des descriptifs de la métaphore ludique. Ce n’est qu’après l’engagement dans l’activité que nous lui exposons la nature exacte du gameplay. Par exemple, le joueur peut soit : • Cueillir des pommes (R), • Découvrir l’emplacement d’une fourmilière (I), • Créer un motif pour un T-Shirt (A), • Aider une personne âgée à faire ses courses (S), • Prendre en main une équipe dans un atelier (E) • Classer une collection de timbres (C) Le joueur choisit une activité, se retrouve alors face à un tutorial où il prend connaissance du gameplay et joue le mini-jeu. Une fois le jeu terminé, une nouvelle série d’activités lui est proposée. Cette solution avait deux défauts majeurs : elle est lourde en termes de production et elle ramène finalement la mesure à un choix identique à un questionnaire papier. Cependant, la notion de mini-jeux nous a paru intéressante. Un mini-jeu implique plusieurs choses. Il doit être extrêmement rapide à prendre en main, ce qui correspond à une de nos contraintes initiales liée à l’audience. Ils doivent être nombreux et variés, ce qui évite un principe d’accoutumance et de maîtrise progressive d’un type de gameplay. Ce deuxième aspect ouvre des possibilités de mesures valides avec l’évaluation des intérêts. Nous pouvons établir un système de score pour chaque mini-jeu. Cette performance mesurable (voir dans l’état de l’art, 2.5 modèle de performance du joueur) et montrée au joueur lui indique que, s’il le souhaite, il peut tenter de faire mieux. Nous pouvons alors mesurer le nombre fois où il rejoue un jeu donné. Pour que cela fonctionne, chaque mini-jeu doit être très accessible, solliciter le moins de pré-requis possible, avoir une durée et une sollicitation pour le joueur proche des autres mini-jeux et comporter une métaphore explicite de l’activité (par exemple je ne joue pas à un mini-jeu d’arcade, je cueille des pommes), puisque cet attrait pour l’activité qui nous intéresse. 111 Pour disposer d’un type d’item plus traditionnel, un système de notation des mini-jeux a aussi été intégré à la boucle de gameplay. A chaque fois que le joueur termine un mini-jeu, il peut le noter avec un système d’étoiles. Il reste dans l’univers du jeu au moment où il le fait et enchaîne immédiatement avec d’autres activités. Le système final, mini-jeux avec mesure du score, de la jouabilité et sa notation, présentait l’avantage d’envisager de multiple manière de structurer l’expérience de jeu. Experience de jeu, thème et genre Le type d’audience a grandement orienté le choix du thème et du genre. JEU SERAI doit être grand public puisqu’il sera utilisé par des joueurs aux âges et profils socio-culturels très variés. Des succès tels que les Sims [Maxis 2000] ou Farmville [Zynga 2009] sont de bonnes références de jeux au spectre large. Ils impliquent un environnement écologique, qui n’implique pas la compréhension d’un monde ou d’un gameplay trop éloigné du quotidien ou d’un univers référentiel répandu. Par exemple, dans un jeu de rôle se situant dans un univers d’heroic fantasy, il vous faudra apprendre et maîtriser que si vous combinez une pierre de lune avec une épée de corail, elle permettra de battre plus facilement un esprit de feu. Dans les Sims, avoir une bonne cafetière permet à vos personnages de mieux se réveiller le matin. Cet aspect écologique a aussi été souligné par les experts de l’orientation professionnelle. Il paraît plus évident de pouvoir véhiculer des métaphores stéréotypées des activités en lien avec des types d’intérêts dans un univers proche du quotidien du consultant. JEU SERAI doit se dérouler dans un univers virtuel proche du notre. Cela dit, le jeu n’a pas à être réaliste. La manifestation de l’environnement (au sens Holland, activité, milieu professionnels, personnes exerçant l’activité) peut se traduire par des métaphores ludiques intégrées au gameplay et tendant vers les stéréotypes de cet environnement. Le fait que le jeu soit composé d’une multitude de mini-jeux peut le rapprocher d’une catégorie de titres, les « sim life », ou simulateurs de vie. Sous cette appellation il ne faut pas voir des simulations réalistes, mais des jeux dont le système simule certains aspects de notre environnement ou de nos vies quotidiennes. Animal Crossing [Nintendo 2008] ou My sims [Electronic Arts 2007] sur wii en sont des exemples. Tant par leurs aspects graphiques que par la nature des interactions, ce genre conserve l’aspect second degré fondamental au jeu. Enfin, nous devions prendre en compte que JEU SERAI, au-delà de ce prototype sur les intérêts de Holland, souhaite pouvoir intégrer dans le futur d’autres évaluations telles que celles des valeurs ou du type de prise de décision du consultant. 112 La multiplicité des activités, ou de mini-jeux, dans une métaphore du quotidien, positionne l’expérience de jeu dans le cadre des simulations de vie. Nous tenions le premier concept issu de cette phase de travail en collaboration avec les experts de l’orientation. Le joueur, via son avatar, est immergé dans la vie d’un petit village. Il peut y participer à de nombreuses activités structurées sous formes de journées avec des thématiques permettant de renouveler la nature des mini-jeux accessibles. Par exemple, un jour de tempête, ou les 6 types de Holland sont transformés en mini-jeux cohérents avec le thème comme la construction d’une digue, la mise à l’abri des habitants… Type RIASEC Nom du mini-jeu Activité simulée Jour 1 : Thème « Arrivée du village » R La bonne pomme Récolte de pomme I L'invasion des fourmis Observation des fourmis A Création d'automne Design de t-shirt S Les courses de Mme Petitpas Accompagner une personne âgée E Omelette Diriger une équipe en atelier C Classe! Classement de timbres Jour 2 : Thème « La tempête » R La tuile Réparer un toit I Lumière Chercher la source de pannes électriques A Photos Réaliser un reportage photo Animal Crossing, un jeu de genre simulateur de vie, 113 Type RIASEC Nom du mini-jeu Activité simulée S Aux abris Mettre les habitants à l’abri E Du sable et de la sueur Diriger une équipe de porteurs C Stock Faire un état des stocks Jour 3 : Thème « Fête au village » R Assemblage Montage de décor I Le petit chimiste Manipulation d’un kit de chimiste A Déco Conception d’un décor de théâtre S Accueil Assurer l’accueil à un point d’information E Promotion Diriger une équipe de vente de tickets C Chacun sa place Faire le placement dans une salle de spectacle Tableau énumérant les 6 mini-jeux par jour/theme Ce choix de genre a aussi déterminé l’orientation de la direction artistique du jeu. Les inspirations très grand public comme les mii27 de Nintendo ou les avatars28 de Microsoft ont servi de support la création des personnages. Les environnements sont conçus dans un esprit cartoon (couleurs vives, bâtiments déformés…) à la manière des références du genre. Boucle de gameplay et items Développement de la boucle de gameplay Nous allons voir comment la boucle de gameplay principale s’est progressivement complétée des différentes activités proposées au joueur, en cohérence avec le thème et le genre du jeu, et où sont collectés les différents items nécessaires à la création du profil RIASEC. Formalisation de la boucle principale Voici la première boucle de gameplay formalisée. Elle permet de situer le joueur dans son expérience de jeu et sa relation au système de jeu. Elle reprend les éléments de conception 27 Avatars que les joueurs peuvent se créer sur la Wii 28 Avatars que les joueurs peuvent se créer sur la Xbox 360 114 choisis pour assurer une mesure des intérêts (jouer au mini-jeu, la possibilité de rejouer et de noter l’activité). Cette boucle est contextualisée dans le village qui sert de cadre au jeu. Nous y avons ajouté le fait que le joueur puisse s’y déplacer et rencontrer des personnages non joueurs (PNJ) déclenchant les mini-jeux. Dans les typologies de boucles de gameplay, celle-ci est relativement macro, car elle ne décrit pas le challenge dans le détail. La nature des challenges est très variable car complètement liée au contenu de chaque mini-jeu. Boucle de gameplay étoffée de mesures complémentaires D’un point de vue de production, confronter le joueur à 6 mini-jeux de manière répétée et en renouvelant à chaque fois leur contenu s’avérait très lourd à réaliser. Nous pouvions tout au plus en réaliser 18, soit plonger le joueur dans 3 sessions de collectes de données, ce qui est relativement peu pour réaliser un profil de Holland viable. Nous devions d’une part assurer un niveau élevé de fiabilité des items liés à ces 18 mini-jeux mais aussi confronter le joueur à d’autres choix mesurables complémentaires. Le contexte de village et de simulation de vie ouvre les portes à la conception d’autres modes de mesure peu couteuses en terme de production. Deux types d’activités ont été retenus car elles présentent des variations intéressantes de présentation des choix au joueur. Boucle de gameplay 1 –boucle principale contextualisée, avec localisation des items servant à la mesure du profil 115 Le premier consiste à disséminer dans le village des PNJ qui se posent des questions et avec lesquels le joueur peut dialoguer. Par exemple, l’instituteur se demandant quelle sortie scolaire faire avec les élèves. Les choix possibles sont teintés par les types RIASEC : exposition (Artiste), barrage (Réaliste)… Cette activité, que nous avons nommée « Quizz », est optionnelle pour le joueur. Il sait qu’il peut pratiquer cette activité, une liste des quizz est accessible, mais leur résolution n’est pas une obligation pour avancer dans le jeu. Nom du Quizz Domaine Lâcher d'élèves Choisissez la prochaine sortie scolaire La maison abandonnée A quoi devra servir la maison à réhabiliter ? La statue De qui devrions-nous faire la statue pour le parC ? Le village des Hobby A quelle association voulez-vous participer Les commissions du maire A quelle commission municipale souhaitez-vous participer ? Un projet pour le lac Quelle activité privilégier au bord du lac ? Tableau listant les « quizz » proposés au joueur dans le village 116 Le second est plus subtil. Dans le village, il est possible d’interagir avec de nombreux éléments, chacune de ces interactions étant aussi rattachée à un type RIASEC. Certaines plantes peuvent être arrosées (Réaliste), des bouteilles en plastique vide trainant au sol peuvent être ramassées (Conventionnel)… Cependant, il n’est nul part précisé au joueur que ces activités existent. Il les découvre lors de sa navigation dans le village et les fait s’il en a envie. Il n’en retirera aucune récompense ou bonus. Nous les avons appelées les « Activités récurrentes ». Nous mesurons la fréquence avec laquelle il pratique chacune de ces activités. Activités récurrentes RIASEC associé Découvrir les variétés de champignons I Donner de l’argent à la croix rouge S Arroser les Plantes R Ramasser les détritus C Donner une forme aux buissons A Boucle de gameplay 2 –boucle complétée des quizz et activités récurrentes, et leurs items complémentaires 117 Activités récurrentes RIASEC associé Jongler avec un ballon de Football R Dessiner à la craie sur le sol de l’école A Déplacer des habitants E Consoler/Calmer des habitants S Résoudre l’Enigme de la mairie I Boucle intégrant la maison du joueur et le passage des jours Le principe structurel de JEU SERAI consiste à plonger le joueur dans des journées virtuelles, chacune d’entre elle ayant un thème et six mini-jeux à accomplir. Les 18 mini-jeux offrent au joueur de vivre trois journées. Il nous faut faire apparaître la mécanique de passage de jour dans l’expérience du joueur. Le projet global JEU SERAI prévoit d’intégrer un journal de vie que le consultant peut progressivement remplir. Si le prototype réalisé n’intègre pas cette fonctionnalité, nous avions dès le départ prévu que sa présence soit anticipée dans les activités du joueur. Ainsi, à la fin de chaque journée, le joueur peut consulter un journal de ses activités du jour, qu’il peut s’il le souhaite commenter. Les experts ont souligné que nous pouvions ici implémenter un autre mode de mesure. Dans son journal, le joueur peut classer les mini-jeux de la journée par ordre de préférence. 118 Il a fallu mettre en place un mode de récompense pour motiver l’avancée du joueur. Le principe retenu : lui donner de nouveaux objets pour décorer sa maison. Le joueur a aussi la possibilité de pouvoir changer la tenue de son avatar. L’aménagement de l’intérieur et le changement de tenue sont à intégrer dans la boucle. La maison de l’avatar est le point central de l’ensemble de ces nouvelles activités. Boucle finale Le principe d’avatar personnalisable nous a offert un dernier moyen de collecter une information. Lors de son début de partie, le joueur peut choisir la tenue initiale de son avatar. Toutes les tenues proposées sont composée sur des stéréotypes liés aux types de Holland. La boucle de gameplay obtenue permet de couvrir l’ensemble des états possibles du joueur dans JEU SERAI. Elle met en avant tous les moments où nous mesurons ses intérêts. Boucle de gameplay 3 – intégrant le journal et les activités liées à la maison 119 Bilan des items choisis Au travers de ce travail de conception nous avons intégré un panel de mesures de natures différentes. Elles peuvent toutes être prises en compte pour la création d’un profil de Holland ou se concentrer sur un panel réduit d’items aux propriétés différentes. Certaines activités sont obligatoires d’autres optionnelles. Certaines activités sont révélées au joueur au travers d’une interface lui indiquant ce qu’il a à disposition, d’autres non. Les notations et classements permettent une auto-évaluation explicite pour le joueur, les autres activités « masquent » leur mode de mesure. Certaines sont d’ordre gameplay (Score, rejouer), d’autres de l’ordre de l’activité simulée (activités récurrentes, choix de la tenue), d’autres se rapproche de certaines formes de questionnaires de Holland (notation, classement) ou sont des mises en situation dans un contexte narratif (Quizz). Le tableau ci-dessous résume la répartition des items. Boucle de gameplay 4 – boucle finale 120 Gameplay Notation et classement Questionnaire mis en situation Activités simulées Items envisagés Propriétés Mini-jeu : Score Minijeu : Nb rejoue Mini-jeu : Note Mini-jeu : Classement journal Quizz par les PNJ Activités récurrentes Choix initial tenue avatar Activité Obligatoire et indiquée au joueur X X X X X Activité optionnelle et indiquée au joueur X Activité optionnelle non indiquée au joueur X Notation volontaire X Classement volontaire X Mesure cachée au joueur X X X X X Chacun de ces items est l’objet d’une restitution destinée à l’évaluer, rapportée en fin de chapitre. Méthode d’évaluation rationnelle des contenus en conception La méthode de game design principale consiste à identifier la relation entre un élément de jeu produit et sa fonction dans la mesure du profil psychologique. Le modèle de Holland a cette intéressante propriété de pouvoir mesurer un intérêt professionnel par l’attrait pour un environnement. Ce terme « Environnement » couvrant un large panel d’éléments : il peut s’agir d’une activité, de personnes liées à cette activité, le lieu où elle se déroule, allant même jusqu’aux stéréotypes qui peuvent lui être associés. A titre d’exemple nous pouvons évoquer l’article de Pierre Vrignaud et Bruno Cuvillier sur l’HEXA3D, questionnaire de mesure des intérêts [Vrignaud 2006]. Dans la synthèse des types de Holland nous pouvons y retrouver des métiers, des caractéristiques associées mais aussi des activités et des exemples d’environnements. Pour le type Réaliste nous trouvons Synthèse des items dans la boucle de gameplay et leurs propriétés 121 comme exemples d’activités : réparer, utiliser des outils, conduire des machines, travailler avec ses mains, se dépenser physiquement ; et comme exemples d’environnement : atelier, usine, plein air, extérieur, camion, ferme, forêt. Les verbes d’actions illustrant les activités du type sont de précieux supports à l’élaboration de gameplay. Les environnements donnent quant à eux des guides pour la conception des éléments visuels. Ce type de synthèse ouvre une piste potentielle pour pouvoir associer l’ensemble des éléments composant le jeu à des types RIASEC. Tous les objets, lieux, personnages ou activités proposés au joueur et devant véhiculer un type RIASEC donné ont fait l’objet d’une évaluation systématique de leur appartenance au type. Pour synthétiser cette méthode dans le cadre de cette thèse, nous l’avons formalisé par système de couleur qui permet d’en avoir une interprétation rapide. Il est basé sur l’hexagone du modèle de Holland. Dans les sections suivantes, décrivant la conception de contenus, plusieurs tableaux énumèrent des éléments de jeu et adoptent cette formalisation. Prenons l’exemple d’une activité virtuelle de type Réaliste, si des éléments décrits dans une cellule sont en adéquation avec le ce type, la cellule est coloriée en vert. S’ils sont de types voisins (Conventionnel ou Investigateur) c’est vert clair. S’ils sont d’un type distant de deux pointes sur l’hexagone (Entreprenant ou Artistique) c’est orange. S’ils sont du type opposé (Social) c’est rouge. Enfin, si la cellule ne comporte pas de couleur c’est que les éléments y figurant sont trop génériques pour être affiliés à un type RIASEC. Ce mode de représentation est utilisé dans plusieurs tableaux de synthèse tout au long de ce chapitre Exemple du système de légende utilisé pour la lecture des tableaux de vérification d’appartenance des éléments conçus à un type RIASEC. Ici pour le type Réaliste. 122 type Nom du mini-jeu Curseur Eléments manipulés ou cibles de l’interaction Feedback des interactions R La bonne pomme Sécateur Pommes Feuilles I L'invasion des fourmis Loupe Fourmis avec et sans nourriture Coche verte Système de jeu A partir d’une boucle de gameplay nous pouvons défricher l’ensemble des fonctionnalités et éléments nécessaires à la production concrète du jeu. Nous ne retranscrirons pas l’ensemble des éléments de game design réalisés, seuls les éléments ayant générés des problématiques relatives à l’implémentation du modèle de Holland sont explicitées. D’un point de vue de leur mise en forme dans les documents de game design : Si les éléments composant le système de jeu sont bien pensés comme des objets en interaction, la méthode de production a ici demandé une formalisation basée sur des descriptifs de leur fonctionnement accompagnés de la liste des variables clefs nécessaires à leur réglage et des ressources nécessaires à leur existence visuelle (le prototype réalisé ne comporte pas de son). Conception des Mini-jeux, Avant d’évoquer les problématiques liées au game design des mini-jeux, voici un aperçu de la manière dont le joueur les aborde dans le jeu. Cette chronologie des étapes est la même pour tous les mini-jeux. 1 – Le joueur doit interagir avec le personnage qui permet de déclencher le mini-jeu. Ces personnages sont signalés dans le village avec un icone « ! » audessus de la tête. Le joueur clique sur le personnage => Exemple de tableau d’évaluation d’appartenance des éléments à un type RIASEC. 123 2 – Un écran présente l’activité (et non le gameplay). Ici : Le personnage non joueur lui explique que les pommes vont pourrir et qu’elle a besoin d’aide pour les collecter. Le joueur peut décliner (mais sera obligé à un moment ou un autre de revenir faire ce minijeu) ou commencer. Le joueur clique sur « Commençons » => 3 – Un nouvel écran donne les instructions. Il s’agit ici de cliquer sur les pommes qui mûrissent rapidement sur les arbres. Ce sont des instructions gameplay. Le joueur peut aussi voir une capture d’écran de jeu. A ce stade, le joueur ne peut pas revenir en arrière. Le joueur clique sur « C’est parti ! » => 4 – Le joueur est maintenant dans le jeu. Ici, un sécateur se substitue au curseur de la souris, et il doit cliquer sur les pommes mures qui changent rapidement d’état. Il doit remplir trois paniers pour finir. Il remplit ses trois paniers => 124 5 – Ecran de résultat. Le joueur peut voir son score. Ici, les pommes mûres, vertes ou pourries sont comptabilisées. Une remarque du personnage non joueur accompagne le résultat, son contenu varie selon la qualité du score. Le joueur peut soit « rejouer » soit « Quitter » le jeu. Il clique sur « Quitter » => 6 – Ecran de notation du jeu. Le journal du joueur s’ouvre sur une page dédiée au mini-jeu qu’il vient de faire. A la manière de la notation d’un livre sur Amazon, il peut lui attribuer un nombre d’étoiles sur cinq. Puis il clique sur « continuer » => 7 – Le joueur se retrouve dans son écran de navigation par défaut, dans le village. Un message temporaire apparait pour lui signifier qu’il vient de gagner de nouveaux objets pour la décoration de sa maison. Il peut à nouveau naviguer dans le village et chercher une autre activité. Formalisation dans le document de game design Chaque mini-jeu conçu est formalisé sous forme d’une fiche dans un document dédié. Le contenu peut grandement changer d’un mini-jeu à l’autre. 125 Il est critique d’identifier les variables clefs permettant de régler le gameplay, en particulier en termes de difficulté. Elles sont présentes dans ce document : éléments surlignés dans le texte de description gameplay et points de la liste « Variables importantes ». Un tableau complète les données nécessaires à la réalisation des mini-jeux. Il contient les textes à afficher et le mode de calcul du score. Pour le jeu des pommes, la phrase type du personnage non joueur varie selon un % de pommes mûres cueillies. 0% lance un « J’oserai même pas en faire des confitures » tandis qu’un score supérieur à 86% donne « Parfait ! C’est parfait ! ». Nous verrons que l’établissement des systèmes de scores a soulevé des problématiques relatives à certains types de Holland. Cette fiche de conception de mini-jeu est un modèle réutilisable. Elle fait ressortir la description du gameplay, les variables clefs et l’ensemble d’assets à produire. Elle cadre le livrable du game designer et ne fait pas référence au modèle psychologique utilisé à l’exception du titre de la fiche. Fiche type de formalisation d’un mini-jeu dans le document de game design126 Choix des mini-jeux et problématiques Contenu des mini-jeu et RIASEC L’objectif consistait à créer six mini-jeux par journée simulée dans l’univers du jeu. chacun de ces six jeux correspondant à un des types RIASEC. La nature des activités proposées a constitué une bonne part des réunions de conception entre game designers et experts de l’orientation professionnelle. D’un point de vue game design, ces mini-jeux devaient remplir plusieurs critères : être accessibles, rapides à prendre en main, ne pas nécessiter plus de quelques phrases en guise de tutorial, rapides à finir et surtout ne pas devenir de simples tâches à accomplir. Chacun d’entre eux devait contenir une forme de challenge ludique ou offrir un plaisir comparable à la manipulation de jouets Pour qu’ils soient des objets affiliés à un type RIASEC nous avons évalué plusieurs critères en les confrontant aux stéréotypes du type visé : le rôle du joueur (son but, la manière dont il est sollicité) ; l’environnement du mini-jeu ; les interactions concrètes et leurs feedbacks ; le gameplay (le challenge qui lui est proposé) ; les éventuels personnages non joueurs présent (ceux qui le sollicitent ou ceux qui sont présents dans le mini-jeu). Nous pouvions comparer ces éléments aux profils décrits par Demangeon et aux autres descriptifs des types de Holland. Pour poursuivre sur l’exemple du jeu « La bonne pomme ». Le joueur est dans le rôle de quelqu’un travaillant au contact de la nature (réaliste). L’environnement est extérieur, un verger, et correspond aussi au type réaliste. Il manipule un outil, le sécateur, et le gameplay consiste à cueillir des pommes rapidement, deux autres points qui vont dans le sens de ce type. La majeure partie des éléments constituant ce jeu semblent donc en concordance. La collaboration avec les experts de l’orientation professionnelle fut ici critique. Si nous avions pu être initiés aux enjeux du modèle de Holland, nous n’avions pas une expérience étendue des relations que chaque activité entretient potentiellement avec un type donné. Nous pouvions tout au plus en avoir une intuition. La validation s’est faite systématiquement avec les experts. Certains types étaient plus propices que d’autres à la conception de mini-jeux. Le type Réaliste offre un panel étendu d’activités dans le réel qui pouvaient nous inspirer : le sport, la 127 mécanique, l’agriculture… autant de thèmes sur lesquels il est aisé de faire « ressortir le ludique ». Le type Conventionnel par contre, offre un cadre plus délicat. Pour reprendre la description de Demangeon : « ses préférences vont à la manipulation explicite, ordonnée et systématique de données, et il excelle à effectuer des relevés, des classements, des calculs ». Si nous avons trouvé des solutions autour de jeux de tri et de classification, nous soulevons simplement qu’ils ont donné plus de fil à retordre lors des brainstormings de conception. Réalisation de tests pour la validation des concepts de mini-jeux Au cours des réunions de conception et de la formalisation des idées proposées, nous avons établi une première liste de 30 activités susceptibles de devenir des mini-jeux : cinq fois les six types RIASEC. Les contraintes de production en limitaient le nombre final à 18. Le choix s’est fait au travers d’un test d’évaluation. L’objectif était d’orienter la sélection des activités qui allaient servir de cadre au design des mini-jeux. 37 sujets ont participé à ce test, tous étudiants. Cette homogénéité des profils a été prise en compte dans l’analyse des résultats par les experts de l’INETOP et de Paris Ouest. Le test était présenté sous la forme d’un document powerpoint. Nous avions pris le parti de contextualiser la présentation de manière à se rapprocher de l’environnement du jeu vidéo. Le sujet se voyait présenter le thème d’une journée sous forme d’une petite narration, puis pouvait consulter les activités proposées. Chaque activité était introduite par un personnage du jeu et le texte présenté comme un dialogue avec ce dernier. Ces textes ambitionnaient d’être ceux véritablement implémentés dans le jeu final et étaient par là même soumis à une évaluation de leur efficacité. Sur un questionnaire à part, les sujets devaient classer les six activités du jour dans l’ordre de leur préférence en leur attribuant un rang de 1 (l’activité que vous préféreriez faire parmi celles qui sont proposées dans ce thème) à 6 (l’activité que vous aimeriez le moins faire parmi celles qui sont proposées dans ce thème). Les scores obtenus par les participants étaient comparés à un test de référence. Extrait des documents supports au test d’évaluation : Page présentant la thématique d’un jour ; page présentant une des activités de la journée et tableau de classification dans le questionnaire 128 Les résultats ont permis de confirmer que l’ensemble des activités envisagées correspondaient aux types auxquels elles se rapportaient. Nous avons pu établir un classement des trois meilleures représentantes par type et obtenir nos 18 concepts de mini-jeux. Challenge et type de Holland Un gameplay s’appuie sur un challenge, une épreuve confrontant situation de jeu et compétences du joueur. Ces compétences peuvent être d’ordres très variés, planification stratégique, sens de l’observation, faculté de manipulation d’un certain type d’interface… Une question légitime s’est posée : Pouvions-nous créer des gameplay mesurant des performances dues à des compétences associées à des Types des Holland? Cette question est délicate. Nous n’avions pas de référence claire permettant de nous assurer qu’une mécanique de jeu donnée et que les compétences sollicitées puissent appartenir à tel ou tel type. Nous pouvions tout au plus le supposer. Par contre, l’aspect stéroptypal de l’activité, lui, était une base plus fiable. Le modèle de Holland permet de mesurer une attirance pour l’environnement d’un type, environnement au sens large. Nous avons donc centré nos efforts sur la conception de contexte, rôle métaphorique et outils manipulés relativement stéréotypés pour traduire son type RIASEC. Cependant, lors des réunions de conception, nous avons, pour chaque mini-jeu, évoqué les compétences sollicités pour évaluer si elles n’étaient pas un obstacle au type RIASEC sensé être représenté. Par exemple pour le type artiste, un contexte de musée et la manipulation de toiles auraient pu se traduire par un gameplay de rangement par date d’acquisition dans un temps limité. Nous aurions alors sollicité la faculté d’organiser des nombres et la rapidité d’exécution du classement à la souris. Cela aurait eu bien peu de rapport avec un intérêt pour le type Artistique de Holland. Mode de calcul des scores et problématiques Chaque mini-jeu ayant son propre gameplay, il a fallu établir un système de score unique à chacun d’entre eux. Cependant, nous devions ramener cette grande variété à un type d’items comparables pour les besoin de la création du profil de Holland. Il y a donc deux types de scores : ceux qui sont liées aux éléments manipulés par le joueur (le nombre de pommes 129 mûres ramassées…) et ceux qui transforment ces données en une note sur 3 se manifestant dans l’appréciation du personnage non joueur qui a commandité le mini-jeu. Cette note devient l’item mesuré pour la création du profil RIASEC, 1 étant le meilleur score, 3 le moins bon. Nous allons passer au travers de trois exemples permettant de mesurer la variété des situations de mesure du score. Dans « Tuiles », mini-jeu du type Réaliste du deuxième jour virtuel, le joueur doit raccrocher des tuiles avant qu’elles ne soient arrachées par le vent. Il interagit à l’aide d’un marteau et doit cliquer sur les tuiles pour qu’elles résistent à la tempête. Les tuiles possèdent plusieurs états : normal : la tuile est bien posée sur le toit ; décollée : la tuile se relève un peu, stimuli indiquant qu’elle va se décrocher ; très décollée : la tuile tient à peine au toit et signale au joueur qu’elle va très bientôt s’envoler ; envolée : trop tard, le joueur n’a pas pu la fixer à temps ; fixée : le joueur a pu cliquer dessus deux fois et la fixer solidement ; cassée : le joueur a cliqué (tapé) dessus plus de deux fois. Un système semi aléatoire décroche progressivement et de plus en plus rapidement les tuiles sur le toit poussant le joueur à être de plus en plus réactif. Le jeu s’arrête lorsqu’il ne reste sur le toit que des tuiles fixées, cassées ou envolées. Dans ce jeu, le score peut se mesurer très simplement sur le nombre de tuiles fixées. Le tableau de score final comporte donc, le nombre de tuiles fixées, le nombre de tuiles envolées et celles qu’il a cassées. Ce score est aussi ramené à une note sur trois traduit par la phrase du PNJ commanditaire dans l’écran de score. La mesure s’établit comme suit : tuile fixées <60% score de type 3 " Je crois que je vais être obligée de refaire mon toit." ; Entre 60 et 90% de tuiles fixées score de type 2: "Merci, cela aurait pu être pire" ; tuiles fixées >90% score de type 1: "Bravo! Le toit pourra résister à la tempête." Ci-dessous, implémentée dans le code, la transformation du résultat à la fois en retour sous forme de phrase donnée au joueur et comme item score pour le type RIASEC. 130 Pour « Les courses de Mme Petitpas », mini-jeu du type Social au premier jour virtuel, le joueur doit accompagner une retraitée faire ses courses. La dame effectue un trajet dans le village pour atteindre l’épicerie et l’avatar du joueur la tient par le bras. Le joueur ne contrôle pas les mouvements, il doit juste faire la conversation avec Mme Petitpas. Par les boites de dialogues, elle lui raconte des histoires de familles, la nature des courses qu’elle doit faire, des ragots sur le village et de temps en temps s’arrête pour poser une question au joueur relative à la discussion passée. Le joueur peut alors répondre. S’il n’a pas été attentif lors de la conversation, il risque de commettre un impair. En arrivant à l’épicerie, Mme Petitpas ne se souvient pas tout à fait de la liste de course, mais si le joueur a suivi les conversations, il peut la reconstituer. L’écran de résultat affiche les bonnes réponses données aux questions de madame Petitpas et le nombre de bons choix sur les choses à acheter à l’épicerie, six éléments de réponse en tout. Le score item est lui mesuré comme suit, avec la phrase de commentaire dite par le PNJ, en l’occurrence Mme Petitpas : type 3 si les bonnes réponses sont inférieures à 3: "Vous êtes un peu tête en l'air vous non? " ; Type 2 si il y a de trois à cinq bonnes réponses: "Vous savez être à l'écoute, c'est une grande qualité!" ; Type 1 s’il y a six bonnes réponses : "Je suis ravie que nous ayons fait connaissance. Passez quand vous voulez!". Il est possible de constater dans les deux exemples précédents que si la nature des éléments du système de jeu servant à mesurer le score sont très différents et sollicitent des compétences Ecran de jeu et écran de score du mini-jeu La Tuile Ecran de jeu et écran de score du mini-jeu Les courses de madame Petitpas 131 variées, ils semblent que nous puissions systématiquement les transformer en un item comparable. Le troisième exemple est lui plus problématique. Dans « Création d’automne », mini-jeu de type Artiste au premier jour virtuel, le joueur doit créer le design d’un T-shirt pour l’artiste du village. Il s’agit d’une activité créative comme nous pouvons la retrouver dans des catégories de jouets dans les magasins spécialisés (faire des colliers des perles…). Comment évaluer la performance artistique du joueur et en faire un score? Les critères gameplay objectifs sont relativement limités. Nous avons le nombre de clics, traces des manipulations aux différentes étapes de conception du T-shirt (choix de la forme, couleur de fond, dessins, placement de sticker). Ils ne sont pas forcément pertinents quant à la mesure d’une qualité/score. Le temps passé à concevoir le T-shrit ? Idem, il peut contenir des biais : je m’absente pour boire un café et revient terminer le T-Shirt ; ou à l’inverse, je peux savoir exactement ce que je veux et réaliser très rapidement un T-shirt valable. Nous avons choisi ce deuxième critère en toute connaissance de cause des biais potentiels. Nous nous appuierons sur les premiers tests d’évaluation de l’efficacité de JEU SERAI pour pondérer éventuellement cet item particulier. Le résultat est basé sur une temporisation et donne lieu à deux niveaux de score seulement, dépendant du fait que le joueur ait passé un temps supérieur à trois minutes ou non pour créer son t-shirt. n autre cas de figure se présente pour le mini-jeu « L’invasion des fourmis ». Le joueur doit trouver et suivre des fourmis cachées dans l’herbe à l’aide d’une loupe. Le but étant de retrouver leurs fourmilières, de les voir y entrer. Les fourmis ont un comportement aléatoire et le joueur peut, par le fait du hasard autant que ses performances, mettre plus ou moins de temps à retrouver les trois entrées de fourmilières. Or la variable retenue retenu initialement pour la génération du score et de sa transformation en item commun était le temps qu’il Ecran de jeu et écran de score du mini-jeu Création d’automne 132 mettrait à les retrouver. La trop grande part d’aléatoire dans le résultat nous a fait renoncer à classer la performance en résultats de type 1, 2 ou 3 comme dans les autres mini-jeux. Le joueur obtiendra toujours un résultat de type 1. Comme pour les variables gameplay, les modalités de mesure des scores et la manière dont elles sont transformées en items comptant pour la mesure du profil psychologique doivent être documentées avec précision car potentiellement soumises à des modérations dans le calcul final. Ci-dessous la liste des mini-jeux avec leur synthèse gameplay, système de score et méthode de transformation en item pour la mesure. Titre et type RIASEC Synthèse gameplay Eléments affichés sur l’écran de résultat Transformation en note pour mesure RIASEC JOUR 1 La bonne pomme REALISTE Des pommes apparaissent dans des arbres et murissent rapidement jusqu’à devenir pourries. Le joueur doit rapidement cliquer sur les pommes mûres pour remplir des paniers. Récolte Pommes vertes Nb Pommes mûres Nb Pommes pourries Nb TYPE 1 : pommes mûres >86% TYPE 2 : pommes mûres 51 à 85% TYPE 3 : pommes mûres <50% L'invasion des fourmis INVESTIGATEUR Le joueur utilise une loupe pour tenter de suivre des fourmis se déplaçant rapidement dans l’herbe et doit trouver les entrées de fourmilières. Fourmilières trouvées en timing TYPE 1 : Tout timing Création d'automne ARTISTE Le joueur crée un T-shirt : choix des couleurs, dessins, motifs… Votre T-shirt : image du T-shirt TYPE 1 : durée activité>3mn TYPE 2 : durée activité <3mn Les courses de Mme Petitpas SOCIAL Le joueur doit prêter attention aux dialogues de Mme Petitpas tandis qu’il la conduit aux courses. Elle pose parfois des questions pour savoir s’il a suivi la conversation. Vous avez répondu correctement Nb/3 questions Vous avez acheté les bonnes provisions NB/3 Vous avez acheté des provisions en trop TYPE 1 : 6 bonnes réponses TYPE 2 : 3 à 5 bonnes réponses TYPE 3 : bonnes réponses <3 133 Titre et type RIASEC Synthèse gameplay Eléments affichés sur l’écran de résultat Transformation en note pour mesure RIASEC Omelette ENTREPRENEUR Plusieurs tapis-roulants amènent les œufs dans un atelier qui manque de main d’œuvre. Le joueur doit efficacement allouer les ouvriers aux tapis-roulants sous peine de voir des œufs se casser. Œufs cassés Nb Œufs emballés Nb TYPE 1: œufs emballés > 86% TYPE 2 : de 50 à 85 % d'œufs emballés TYPE 3 : œufs emballés<50% Classe! CONVENTIONNEL Le joueur doit trier les timbres ayant différents thèmes dans les bons classeurs. Il est en compétition avec M. Simon triant lui aussi. Timbres triés par Mr Simon : nb Timbres triés par vous : nb Dans le bon classeur nb Dans le mauvais classeur nb TYPE 1 ; 100% de timbres bien triés + nb timbres bien triés > à 2x nb de timbres de Mr Simon TYPE 2 : nb bien triés > nb de timbres de Mr Simon TYPE 3 : nb timbre bien triés < nb de timbres de Mr Simon JOUR 2 La tuile REALISTE Il faut fixer les tuiles qui s’envolent de plus en plus rapidement du toit de l’épicerie en cliquant dessus nombre de tuiles fixées nb nombre de tuiles envolées nb Nombre de tuiles cassées nb TYPE 1 : tuiles fixées >90% TYPE 2 : entre 60 et 90% de tuiles fixées TYPE 3 : tuile fixées <60% Lumière INVESTIGATEUR Il faut réparer trois lampadaires défectueux dans le village. A l’aide d’une lampe de poche, il faut reconnaitre le bon circuit à connecter dans un petit labyrinthe de connexions possibles. Nombre de lampadaires réparés x/3 Temps mis pour les réparer/ lampadaire Basé sur le temps cumulé de réparation des lampadaires (donc sans déplacement dans le village) TYPE 1 : timing <3mn TYPE 2 : entre 3 et 5 mn TYPE 3 : timing > 5mn Photos ARTISTE A la première personne, le joueur doit prendre des photos tandis qu’il exécute un parcours dans le village en pleine tempête. Il doit photographier des choses intéressantes en relation avec la tempête. Le joueur a 14 photos à faire. les 4 photos affichées + Evènements intéressants photographiés NB/14 TYPE 1 : 12 à 14 photos avec événement intéressant TYPE 2 : 7 à 11 photos avec événement intéressant TYPE 3 : 0 à 6 photos avec événement intéressant 134 Titre et type RIASEC Synthèse gameplay Eléments affichés sur l’écran de résultat Transformation en note pour mesure RIASEC Aux abris SOCIAL Madame Petitpas, L'agriculteur et Monsieur Simon ne veulent pas se mettre à l’abri. Il faut dialoguer avec eux et choisir les bons arguments parmi plusieurs pour les convaincre de venir. Nombre de personnes convaincues x/3 Nombre d'essais pour les convaincre : nb de fois que le joueur a lancé un dialogue avec un des 3 PNJ Basé sur nb de fois que le joueur a lancé un dialogue avec les 3pnj et le nombre de personnes convaincues TYPE 1 : 3 tentatives pour convaincre ; toutes personnes convaincues TYPE 2 : entre 4 et 5 tentatives pour convaincre ; toutes personnes convaincues TYPE 3 : 0 à 2 personnes convaincues OU nb de tentatives pour convaincre > à 6 fois Du sable et de la sueur ENTREPRENEUR Il faut tracer les chemins que doivent emprunter des porteurs de sacs de sable de manière à ce qu’ils ne se percutent pas pendant leurs trajets et alors qu’ils sont de plus en plus nombreux. Nombre de sacs acheminés: nb TYPE 1 : nb de sacs amenés >20 TYPE 2 : entre 10 et 20 sacs amenés TYPE 3 : nb de sacs amenés <10 Stock CONVENTIONNEL Des aliments, des outils et des vêtements arrivent dans un entrepôt par plusieurs tapis-roulants. Le joueur doit compter combien d’éléments de chaque type sont stockés. Vêtement chiffre joueur/chiffre réel Nourriture chiffre joueur/chiffre réel Outils chiffre joueur/chiffre réel Basé sur la comparaison entre nombres donnés par le joueur et nombres réels d’objets ayant été stockés. TYPE 1 : 3 nombres justes TYPE 2 : 2 nombres justes TYPE 3 : 0 ou 1 nombre juste JOUR 3 Assemblage REALISTE Le joueur doit recomposer des éléments de décor de théâtre à la manière d’un Tangram. Eléments de décor correctement assemblés : nb/7 TYPE 1 : 7 éléments correctement assemblés: "Parfait! " TYPE 2 : 4 à 6 éléments correctement assemblés TYPE 3 : 0 à 3 éléments correctement assemblés Le petit chimiste INVESTIGATEUR Le joueur doit mélanger des composés chimiques en manipulant des éprouvettes. Il doit retrouver 6 composés provoquant des réactions spectaculaires. Un genre de Mastermind [Hasbro 1972]simplifié Nombre de réactions trouvées: nb / 6 TYPE 1 : 6 réactions trouvées TYPE 2 : 3 à 4 réactions trouvées TYPE 3 : 0 à 2 réactions trouvées Déco ARTISTE Le joueur doit créer plusieurs décors pour une pièce en choisissant les éléments, le fond, le sol, l’éclairage adéquates. Screenshot des deux décors TYPE 1 : durée activité>3mn TYPE 2 : durée activité <3mn 135 Titre et type RIASEC Synthèse gameplay Eléments affichés sur l’écran de résultat Transformation en note pour mesure RIASEC Accueil SOCIAL Des visiteurs font la queue à l’accueil de la fête et expliquent leurs goûts. Le joueur doit les orienter vers un des six spectacles en fonction de ce qui leur correspond le mieux. Les visiteurs ne sont pas très patients et ont plusieurs niveaux de satisfaction. Visiteurs très satisfaits Nb Visiteurs satisfaits Nb Visiteurs mécontents Nb TYPE 1 : nb de visiteurs satisfaits et très satisfaits >85% TYPE 2 : Entre 50 et 85%de satisfaits et très satisfaits TYPE 3 : nb de visiteurs satisfaits et très satisfaits <50% Promotion ENTREPRENEUR Le joueur organise la vente des tickets pour les différents événements de la fête du village. Il choisit les vendeurs, le type de tickets qu’ils doivent vendre et où ils les vendent. Le rendement des ventes dépend de l’adéquation entre ces trois facteurs. Place vendues Nb TYPE 1 : nb tickets vendus >1200 TYPE 2 : entre 800 et 1200 tickets vendus TYPE 3 : nb de tickets vendus <800 Chacun sa place CONVENTIONNEL Ce dérivé de Tetris demande au joueur de placer des groupes de spectateurs dans la salle de théâtre en évitant que de grandes personnes se retrouvent devant de plus petites. Spectateurs bien placés par Séance Nb Score Total Nb TYPE 1 : nb de spectateurs bien placés >85% TYPE 2 : entre 50 et 85% de spectateurs bien placés TYPE 3 : nb de spectateurs bien placés <50% Cette méthode, ramener les items à une variable d’un type commun, a des limites que la mise en place et l’analyse des premiers tests d’évaluation ont révélé et que nous discuterons. Elements de gameplay des mini-jeux et RIASEC Nous évaluons ici la pertinence RIASEC du gameplay de chaque mini-jeu par le biais d’éléments clefs : la nature de l’activité simulée, les verbes d’action du gameplay matérialisés par une activité perceptible dans le jeu (input traduit en feedback visuel) ou non (aspect cognitif des choix stratégiques du joueur), et l’objectif à atteindre. Dans le tableau suivant, nous synthétisons cette pertinence en le formalisant par le procédé évoqué en section 0. D’autres éléments du gameplay seront explicités dans la section dédiée à la mise en scène de l’interaction (mode de représentation du curseur, objet de l’interaction, feedback visuels) type Nom du minijeu Activité simulée (validée par test papier) Verbe d’action et gameplay Objectif Jour 1 136 type Nom du minijeu Activité simulée (validée par test papier) Verbe d’action et gameplay Objectif R La bonne pomme Récolte de pomme Cueillir au bon moment les pommes mûres Remplir trois paniers de pommes I L'invasion des fourmis Observation des fourmis Suivre les fourmis à la loupe; déduire (que les fourmis qui portent de la nourriture vont aux fourmilières) ; Localiser les trois fourmilières A Création d'automne Design de t-shirt Peindre ; choisir des couleurs et motifs Achever le design du T-shirt S Les courses de Mme Petitpas Accompagner une personne âgée Ecouter (lire) attentivement et répondre (choix de dialogue) Donner les bonnes réponses E Omelette Diriger une équipe en atelier Placer les employés en face de tapis roulant ; optimiser le rapport employés/débit d’œufs Avoir un maximum d’œufs emballés C Classe! Classement de timbres Trier en associant thèmes des timbres et thèmes des classeurs Avoir un maximum de timbres dans les bons classeurs Jour 2 R La tuile Réparer un toit Sceller les tuiles en luttant contre le vent Avoir un maximum de tuiles scellées I Lumière Chercher la source de pannes électriques Explorer le village ; observer et trouver les bons circuits, activer les connections. Remettre en route tous les lampadaires A Photos Réaliser un reportage photo Prendre en photo ; choisir les sujets ; choisir les photos Avoir un maximum de photos ayant pour sujet la tempête S Aux abris Mettre les habitants à l’abri Choisir les bonnes répliques en fonction du profil perceptible du PNJ Convaincre trois récalcitrants à venir s’abriter. E Du sable et de la sueur Diriger une équipe de porteurs Décider et tracer les trajets qu’empruntent les porteurs ; anticiper les collisions Eviter les collisions pour avoir un maximum de sac C Stock Faire un état des stocks Compter Avoir des comptes justes Jour 3 137 type Nom du minijeu Activité simulée (validée par test papier) Verbe d’action et gameplay Objectif R Assemblage Montage de décor reproduire une forme donnée ; Choisir des éléments de décor ; rechercher les bonnes combinaisons Avoir un maximum d’éléments de décors assemblés correctement I Le petit chimiste Manipulation d’un kit de chimiste Choisir des fioles ; essayer des combinaisons Obtenir un maximum de mélanges provocant des réactions A Déco Conception d’un décor de théâtre Choisir les sols, fonds, éléments de décors et éclairages ; peindre Achever deux décors complets S Accueil Assurer l’accueil à un point d’information Ecouter (lire) les souhaits des visiteurs ; déduire et choisir le spectacle approprié Avoir un maximum de visiteurs satisfaits E Promotion Diriger une équipe de vente de tickets Choisir les vendeurs et les types de tickets à vendre ; lire les profils des vendeurs ; optimiser l’association lieu de vente/vendeur/type de tickets. Déduire les meilleurs associations. Vendre un maximum de tickets C Chacun sa place Faire le placement dans une salle de spectacle Choisir la rangée de placement des groupes de spectateurs; permuter l’ordre dans un groupe Avoir un maximum de spectateurs bien placés Notre estimation du type de « travail » gameplay que nous demandons au joueur dans les mini-jeux n’a pas toujours été pertinente. Il y a parfois eu un écart entre ce que nous estimions sur la base du game design papier et le prototype réalisé. C’est particulièrement vrai lorsque que le temps imparti à la production arrive à son terme et où l’on manque de recul pour corriger le tir. « Promotion » et « Assemblage » ont été dans ce cas. Ils ont non seulement posé des difficultés de conception, en particulier trouver de véritables gameplay rapides et simple à prendre en main, et n’ont pas bénéficié d’assez de recul du fait des contraintes de temps. Le travail d’expérimentation et de déduction nécessaire à la découverte des stratégies gagnantes a été sous-estimé dans ces deux mini-jeux. 138 L’Item rejouer inégal selon les mini-jeux Les mini-jeux de JEU SERAI peuvent être rejoués et le nombre de fois qu’un joueur le fait, il incrémente un item devant permettre de marquer sa préférence. Certains types d’activités sont moins susceptibles d’être en accord avec cette rejouabilité, en particulier celles associées au type Social. Prenons l’exemple du mini-jeu « Les courses de Mme Petitpas » décrit plus haut. Son gameplay est biaisé si l’on y joue une deuxième fois. Une fois que le joueur a parcouru le trajet avec Mme Petitpas et qu’elle lui aura posé toutes les questions pièges, il saura sur quels éléments il doit porter son attention dans les dialogues pour pouvoir y répondre. Il aura donc toutes les chances d’avoir le score maximum dès la deuxième tentative. Au maximum, il y jouera donc deux fois. Comparativement au mini-jeu des Tuiles qui peut voir la performance du joueur augmenter de tentative en tentative, nous ne pouvons pas considérer le que les « rejouer » ont tous le même poids dans la mesure de l’item. Cette constatation a pu être confirmée par l’analyse des premières passations. Les activités récurrentes Ce que nous nommons les activités récurrentes regroupe des activités ou des jeux disséminées dans le décor du village, que le joueur n’est pas obligé de faire pour progresser et qui ne sont pas initialement portés à sa connaissance. Il les découvre au hasard de ses déplacements. Elles se manifestent par un simple changement d’allure du curseur s’il décide de déplacer sa souris au-dessus d’un objet interactif (en roll over). Réaliser ces activités ne donne lieu à aucune récompense particulière. Il s’agit de petites activités bonus, que le joueur peut faire par pur plaisir, entièrement libre de son engagement. Nous supposons que répéter ces activités peut signifier un intérêt pour leur nature. Le tableau ci-dessous résume les activités récurrentes disponibles par type RIASEC. Type RIASEC Activités disponibles dans le village Réaliste Arroser les plantes pour les faire pousser. Plusieurs points dans le village Activité sport, jeu de jongle avec un ballon de football sur le terrain de sport Investigateur Avoir des informations réalistes sur les champignons du village. Plusieurs points dans le village. Enigme de la semaine, le joueur peut résoudre une énigme sur le 139 tableau d’affichage de la mairie Artiste Dessiner à la craie sur le sol de la cours de l’école, le dessin reste affiché toute la journée. Buissons à tailler pour leur donner des formes sculptées prédéfinies, plusieurs points dans le village Social Discuter avec des personnages tristes ou en colère. 1 de chaque type par jour. Discuter avec une représentante de la Croix-Rouge faisant une collecte sur la place principale du village Entrepreneur Inviter à un groupe de PNJ à suivre l’avatar dans ses déplacements. 2 groupes dans le village par jour. Conventionnel Il y a des détritus sur le sol dans le village, cannettes ou papier. Le joueur peut cliquer dessus pour les faire disparaître. Plusieurs points dans le village. Nous avions pour recommandation de la part des experts de l’INTEOP et de Paris Ouest que le joueur puisse être confronté avec la même fréquence à des activités de chaque type RIASEC. Nous n’avons pas pu la respecter. Des difficultés de conception et de production font, qu’en l’état, dans le prototype livré pour les tests d’évaluation en juillet 2011, il existe un certain déséquilibre entre les différents types RIASEC. Les objets de types Réaliste, Investigateur, Artiste et Conventionnel sont nombreux: toujours 6 à 13 objets présents en même temps dans le village. Ceux de type Social le sont beaucoup moins : Trois objets présents dans le village en même temps. Le type Entrepreneur : deux objets présents dans le village par jour. Pour ce dernier type, la probabilité de rencontrer le groupe de PNJ qui sert de déclencheur est donc beaucoup plus faible que les autres activités récurrentes. Nous n’avons pu multiplier la présence de cet objet (2 PNJ) car il est couteux en termes de CPU. Nous avons imaginé un système permettant de contourner le problème : faire spawner le groupe de PNJ sur le chemin du joueur à plusieurs reprises dans chaque journée virtuelle. Mais le système n’a pas pu être implémenté à temps. Les résultats d’analyse doivent donc tenir en compte cette faiblesse. Pour le type Social, faiblement présent, nous pouvons à minima pondérer la mesure. Le joueur a la possibilité d’écouter les PNJ qui racontent leurs problèmes ou leurs causes jusqu’au bout ou quitter la conversation avant terme. Le poids de l’item dépend de la volonté du joueur d’aller au bout. 140 Design des systèmes de notation par le joueur Le joueur dispose de deux moyens de noter les mini-jeux auxquels il a joués. Lorsqu’il quitte un mini-jeu après y avoir joué, il peut noter ce dernier par un système proche des notations communément répandues sur internet29 . Lorsqu’il a fini tous les mini-jeux d’une journée, le joueur doit les classer par ordre de préférence pour pouvoir passer à la suivante, un mode de réponse dit ipsatif. Le système s’apparente à la manipulation de médailles, notées de un à six, qu’il attribue aux activités. Ces deux procédés de notation transparents, proche de questionnaires traditionnels, permettent deux types de présentations au joueur. Les étoiles sont un « j’aime plus ou moins » l’activité ciblée, le classement permet de créer un rapport des items les uns par rapport aux autres. Quizz La création des Quizz avait pour but d’alléger la production de mini-jeux tout en fournissant un autre moyen de collecter des informations sur les intérêts du joueur. Leurs formes et contenus ont été imaginés et validés en réunion de conception avec les experts de l’orientation professionnelle. 29 du type notification des livres par les visiteurs du site Amazon.com A gauche l’écran de notation des mini-jeux après y avoir joué, à droite l’écran de classification des mini-jeux à la fin de chaque journée 141 En parcourant le village, le joueur croise des PNJ ayant des problèmes à résoudre ou lui posant des questions. Ils se contentent d’exposer le problème et les solutions possibles. Le joueur, dans la position d’un conseiller, donne son avis et peut choisir l’une des solutions. Chaque réponse est un item potentiel pour la création du profil du joueur. Bien qu’indiqués dans le journal des quêtes (voir dans la section sur la structure motivationnelle), ces Quizz ne sont pas obligatoires pour que l’on puisse progresser de jour en jour jusqu’à la fin du jeu. Malgré le nom qui leur a été donné durant la production, ces Quizz n’ont donc rien à voir avec un challenge sur un quelconque champ de connaissance. Du fait de sa forme proche des questionnaires traditionnels de Holland, nous n’étions pas sûrs d’avoir totalement besoin de ce type de mesure dans le cadre de ce projet. Ils présentaient cependant l’avantage de proposer un nombre d’items relativement simple à analyser et pouvant confirmer des tendances liées aux autres moyens mis en place relevant plus de notre propos (score, rejouer, activités récurrentes). D’un point de vue mise en scène et contexte narratif ils permettaient aussi de nourrir le village d’activités, qui pourrait paraître relativement vide sinon. Comme cela a été évoqué plus tôt, JEU SERAI devra a terme mesurer d’autres types de profils. En particulier les valeurs du consultant. S’il s’avère que les autres items sont fiables pour la mesure des types d’intérêts, cet espace pourrait être aménagé et servir à la mesure des valeurs. A gauche la signalétique d’un personnage proposant un Quizz, à droite, l’écran de parcours des solutions et de validation 142 Création d’avatar Dans un but d’appropriation plus intime du jeu par le joueur et complètement en phase avec les références du genre d’appartenance (les sim life tel qu’Animal Crossing ou My Sims) nous avions très tôt décidé d’intégrer un système de customisation de l’avatar par le joueur. Sans le nier, c’est par opportunisme que nous nous sommes demandés s’il n’y avait pas là matière à créer un nouvel item. Si le sexe la couleur de peau ou de cheveux de l’avatar n’y étaient pas propices, la typologie de Holland semblait pouvoir se décrire par des tenues vestimentaires. A titre indicatif, ci-dessous vous pouvez voir une illustration extraite du site d’une société offrant de passer des tests basés sur le modèle de Holland30. Elle présente justement des archétypes vestimentaires associés à chaque type RIASEC. Nous avons créé six tenues pour homme et six pour femme basées sur des stéréotypes évoqués dans les descriptifs RIASEC. Certains types auraient mérité plusieurs choix, le type Réaliste, par exemple, ne se résume pas aux amateurs de sport ou de sportwear. Les contraintes de production nous ont obligés à ne proposer qu’un choix par type et par sexe dans la version prototype. 30 Site de l’éditeur de test d’orientation PAR, http://www.self-directed-search.com/default.aspx Bandeau d’illustration du site de l’éditeur de tests d’orientation professionnelle PAR143 Lorsque le joueur commence une partie, il doit choisir le sexe, la couleur de peau, la coupe et couleur de cheveux et la première tenue de son avatar. C’est à ce moment que nous prenons en compte son choix, bien qu’il puisse plus tard changer de tenue dans la maison de son avatar. Nous pensons que dans la version finale de JEU SERAI cet item pèsera faiblement dans la création du profil du joueur. Il pourrait éventuellement confirmer une tendance révélée par des items d’autres natures. Mise en scène de l’interaction Deux enjeux ressortent dans les tâches de mise en scène de l’interaction sur JEU SERAI : l’accessibilité des interactions pour l’audience très large et appuyer la qualité des items. Le jeu est intégralement jouable à la souris, les seuls moments où le joueur doit se servir d’un clavier correspondent à de l’écriture (rentrer son nom, commenter une activité dans son journal…). Il n’aura par exemple jamais besoin d’utiliser les flèches directionnelles pour s’orienter ou déplacer un objet. Cette contrainte de conception nous permet de pouvoir faciliter l’accessibilité et envisager des portages sur des supports tactiles. De la même manière, nous souhaitons éviter de solliciter les facultés de spatialisation de l’utilisateur, qui peuvent poser des problèmes d’accessibilité pour les personnes peu familières avec l’univers du jeu. La caméra doit garder un angle constant sur la scène, que cela soit dans les mini-jeux ou la navigation dans le village. Ecran de customisation de l’avatar en début de partie 144 Après une description du fonctionnement de la navigation dans le village nous focaliserons notre propos sur les mini-jeux présentant des enjeux majeurs de mise en scène de l’interaction pour renforcer la qualité de leur appartenance à leurs types RIASEC respectifs. Navigation dans le village Le joueur passe près de la moitié de JEU SERAI à naviguer dans le village : pour y chercher les différentes activités, pratiquer les activités récurrentes ou pour résoudre certains mini-jeux. Caméra contrôle et déplacement de l’avatar La vue par défaut est une caméra à la 3ème personne ciblant l’avatar du joueur dans la scène. La caméra suit le personnage lorsque le joueur le fait se déplacer. Elle garde toujours la même orientation. Pour éviter des mouvements trop secs de caméra, les démarrages et arrêts sont progressifs. Le joueur a la possibilité de zoomer légèrement en se servant de la molette de la souris. C’est un usage courant sur PC qui aurait pu surprendre par son absence. Pour déplacer son avatar, il y a deux possibilités. Le joueur clique sur un espace dégagé visible dans son interface et le personnage s’y rend. Ce mode de déplacement est orienté vers les personnes découvrant les contrôles d’un avatar dans un univers virtuel. Il peut être fastidieux par la répétition constante des clics et saccadant l’avancée de l’avatar et de la caméra. Le deuxième mode de déplacement consiste à laisser le bouton gauche de la souris enfoncé et de déplacer le curseur. L’avatar va continuellement dans la direction du curseur. Ce mode de contrôle vise pour les joueurs plus à l’aise, soit par leur pratique antérieur de jeux à la troisième personne, soit par l’acquisition d’une aisance de manipulation au sein même de JEU SERAI. Interface principale 145 L’interface principale de navigation dans le village est relativement épurée pour ne pas noyer le joueur. Elle est composée de la vue à la 3ème personne de l’avatar complétée de : trois boutons dans l’angle haut/droit pour ouvrir la carte du village, le journal des quêtes (indiquant les mini-jeux et quizz faits et à faire) ou les options (sauvegarde, génération du profil, quitter) ; une boussole dans l’angle haut/gauche pour aider le joueur à s’orienter vers un minijeu à faire ; un espace en bas de l’écran servant aux affichages temporaires des boites de dialogue ou pour communiquer des informations. Fonction de la boussole Immerger le joueur dans le contexte d’un village s’apparente aux jeux dits « bac à sable ». Il y est libre de s’y déplacer et de faire des activités dans l’ordre qu’il veut. Cette liberté amène des inconvénients. Un joueur peut s’y sentir perdu. La boussole a pour fonction de palier à ce problème et permettre une expérience plus dirigée. Elle indique la direction d’un mini-jeu non encore accompli ou, si les 6 mini-jeux sont faits, la direction de la maison du joueur déclenchant le passage à la journée suivante. Libre au joueur de se servir de ces informations. Interface principale de navigation dans le village 146 L’ordre dans lequel sont proposés les mini-jeux permet d’estimer les déplacements dans le village et d’inciter à croiser le chemin d’activités récurrentes. Dans l’exemple illustré cidessous vous pouvez voir les points indiqués successivement par la boussole (ronds bleus), le parcours estimé du joueur (en rouge, sur la base d’une optimisation du trajet) et les positions d’objets relatifs à une des activités récurrentes, les champignons (les « C » rouges). Vous pouvez noter que le parcours incité par la boussole passe près de cinq champignons. Si ce procédé n’a pas été optimisé pour l’ensemble des activités récurrentes (pour l’entrepreneur et le social en particulier), il est un levier potentiel d’équilibrage de la fréquence de leur présentation au joueur. Mini-jeux Outre les problématiques évoquées dans la section précédentes (accessibilité, caméra figée dans un axe…) les mini-jeux ont aussi deux enjeux notables pour la mise en scène de l’interaction. Le premier est commun à n’importe quel game design : la compréhension de la situation de jeu dans laquelle le joueur se trouve. Cela passe par une bonne gestion des feedback renvoyés au joueur lorsqu’il fait une action. Le second enjeu est spécifique à JEU SERAI : appuyer la qualité des items. Notons qu’il y a une exception à la règle que nous nous étions fixés en conception de caméra. Dans tous les mini-jeux soit elle est fixe, soit elle est identique à celle de la navigation dans le Superposition du trajet estimé du joueur suivant la boussole et les positions d’une des activités récurrentes 147 village. L’exception est le mini-jeu « Photos », de type Artistique pour la deuxième journée. Le joueur voit au travers de l’objectif d’un appareil photo, à la première personne de son avatar circulant dans le village. Son objectif est de prendre en photo des éléments ou événements illustrant la tempête qui fait rage. Pour simplifier les manipulations, nous avons utilisé un gameplay proche de certains jeux de tir sur rail ou de safari tels que Pokemon Snaps [Nintendo 2000]. C’est-à-dire que le joueur ne contrôle pas ses déplacements, il avance sur un rail virtuel prédéterminé. Il ne se focalise que sur l’orientation de son point de vue à l’aide de la souris, observe l’environnement et détermine quand prendre une photo en cliquant. Nous avons testé ce mode de manipulation auprès d’employés de Wizarbox ne pratiquant pas ou peu le jeu vidéo pour nous assurer de son accessibilité, mais il n’y a pas eu de tests ergonomiques sur un panel représentatifs du public cible. Lisibilité du gameplay Nous ne pouvons créer l’Active creation of belief que si le jeu nous renvoie des feedbacks explicites des conséquences de nos actions. Lorsque le joueur clique pour accomplir une action (cueillir des pommes), des feedbacks visuels ou une réaction immédiate doit se produire (le sécateur se ferme et se rouvre, une pomme tombe dans un panier, un effet spécial composé de feuilles est déclenché à l’endroit visée). Cette accumulation de moyens marquant un petit clic est nécessaire pour la lisibilité de la situation et confirmer au joueur que son action a bien porté. C’est d’autant plus nécessaire dans les mini-jeux basés sur la réactivité. Cette communication avec le joueur doit autant que possible lui révéler s’il est en train de gagner ou de perdre. Nous n’avons pas hésité à utiliser des icônes très répandus tels que les coches vertes et croix rouge par exemple dans « Classe ! », tout droit inspiré de l’Entrainement cérébral du docteur kawashima [Nintendo 2006] visant lui aussi une audience très large. Renforcement de l’appartenance des mini-jeux à un type RIASEC par les éléments de la boucle d’interaction Les modes d’interaction et les feedbacks sont au cœur du gameplay. Il fallait que les éléments de cette boucle, à l’échelle micro, véhiculent pour chaque mini-jeu le type RIASEC qu’il est censé représenter. 148 L’un des vecteurs potentiels est le curseur lui-même. Dans certains mini-jeux, le curseur prend la forme d’un outil relatif à l’activité simulée à l’image de l’exemple du sécateur servant à collecter les pommes. L’objet visé par l’interaction et la nature des feedbacks peuvent parfois aussi être rapprochés de types RIASEC. Le tableau ci-après énumère les curseurs, les cibles de l’interaction et la nature des feedbacks perçus par le joueur pour chaque mini-jeu. Pour rappel vous pouvez trouver l’explication du fonctionnement de la légende colorée en section 0 type Nom du mini-jeu Curseur Eléments manipulés ou cibles de l’interaction Feedback des interactions Jour 1 R La bonne pomme Sécateur Pommes, Feuilles I L'invasion des fourmis Loupe Fourmis avec et sans nourriture Coche verte A Création d'automne Par défaut Pinceau, couleur, stickers Réalisation en temps réel de la création S Les courses de Mme Petitpas Par défaut Choix de réponse, liste de course Enchainement dialogué de Mme Petitpas E Omelette Par défaut Bouton métaphore d’un ordre aux employés de l’atelier Les employés suivent les indications, les œufs sont collectés ou non, Nb d’œufs C Classe! Pince à timbre Timbres NB de timbres, Effets de déplacement des timbres, coche verte et croix rouge Jour 2 R La tuile Marteau Tuiles Tuile tenue par des attaches, tuiles manquantes, tuiles cassées I Lumière Par défaut / Tournevis, halo d’une lampe de poche Lampadaire défaillant / Interrupteurs sur un labyrinthe de circuits Le faisceau de la lampe parcourant le circuit en temps réel, l’interrupteur se refermant, électricité parcourant le circuit en cas de réussite A Photos Viseur appareil photo/puis par défaut dans la chambre noire Orientation du cadre/ les photos tirées Effet visuel de la photo prise. Les photos se déplaçant dans la sélection finale, décompte photos S Aux abris Par défaut PNJ, Choix de Dialogues Réactions dialoguées des PNJ 149 type Nom du mini-jeu Curseur Eléments manipulés ou cibles de l’interaction Feedback des interactions E Du sable et de la sueur Par défaut Tracé de parcours au sol pour les porteurs Mouvement en temps réel des porteurs, collision entre eux, dépôt des sacs C Stock Par défaut Boutons d’outil de comptage Retour du bouton, chiffre s’incrémentant Jour 3 R Assemblage Par défaut Eléments de décor et support d’assemblage Les éléments s’assemblant I Le petit chimiste Par défaut Fioles Mélange et réaction chimique se réalisant, coches vertes et croix rouges A Déco Par défaut Eléments de décors, couleur, pinceaux, lumières. Création en temps réel du décor S Accueil Par défaut Titres des spectacles Réaction des spectateurs mécontents E Promotion Par défaut Pions représentant les vendeurs, liste de choix des tickets à vendre Feedback croissant en fonction du rendement des ventes de tickets C Chacun sa place Par défaut Groupe de spectateurs, bouton permettant de les permuter, emplacements dans la salle Les spectateurs s’assoient, contours verts ou rouges apparaissant s’ils sont bien placés ou non Décors des mini-jeux et RIASEC L’environnement dans lequel se déroule le mini-jeu, rôle, décors, personnages, animations peuvent être évalués de la même manière. Certains de ces éléments, mêmes s’ils ne sont pas interactifs, peuvent cependant avoir un rôle gameplay important. A titre d’exemple dans « Stock », les objets circulant sur les tapis-roulant ne sont pas interactifs, mais l’objectif est de les compter et occupe donc l’attention du joueur durant toute la durée du mini-jeu. type Nom du mini-jeu Décor Eléments animés hors curseurs, cibles d’interactions et feedbacks Jour 1 R La bonne pomme Verger Panier, PNJ récoltant des pommes 150 type Nom du mini-jeu Décor Eléments animés hors curseurs, cibles d’interactions et feedbacks I L'invasion des fourmis Herbe et sol A Création d'automne Evocation d’un atelier ou d’un outil de design graphique S Les courses de Mme Petitpas Village, boites de dialogues Avatar soutenant Mme Petitpas durant son parcours E Omelette Atelier d’emballage des œufs Une équipe d’employés, avatar du joueur donnant des indications et motivant les employés C Classe! Table avec classeurs de timbres Monsieur Simon triant avec nous Jour 2 R La tuile Toit de l’épicerie Background de tempête I Lumière Village / tableau électrique en forme de labyrinthe A Photos Village Les habitants pris dans la tempête S Aux abris Village E Du sable et de la sueur Lieu de stockage des sacs de sable proche de la rivière Avatar du joueur donnant des indications aux porteurs C Stock Entrepôt Tapis roulant et trois types d’objets transportés Jour 3 R Assemblage Scène de théâtre I Le petit chimiste Salle de chimie A Déco Scène de théâtre S Accueil Stand d’accueil des visiteurs Queue des visiteurs E Promotion Carte d’une ville et pions à l’effigie de PNJ C Chacun sa place Salle de spectacle, rangées de sièges vues depuis la scène Rideaux de théâtre Dans cette section sur la mise en scène de l’interaction, nous avons pu faire le point sur les moyens utilisés pour faciliter l’accès au jeu à une large audience et évaluer les éléments pouvant potentiellement soutenir le rapprochement entre un mini-jeu et un type de Holland. Certains choix de contenu sont parfois distants de l’objectif visé. 151 Structure motivationnelle Par sa thématique JEU SERAI peut peut-être motiver certains publics : en apprendre plus sur soi, s’aider volontairement dans sa démarche d’orientation, etc. Cependant, le game design part du principe qu’il doit fournir les leviers motivationnels permettant d’entretenir l’engagement du joueur par ses propres mécanismes. La structure motivationnelle d’un jeu couvre plusieurs éléments de conception, à titre d’exemples : • Le découpage du jeu en segment : niveau, missions etc. • La manière dont le joueur a connaissance de sa progression • Les systèmes de récompenses : bonus, points, etc. • Les systèmes d’évolution ou d’amélioration : faire monter de niveau mon personnage, faire progresser mes moyens d’interaction, etc. La notion de récompense est problématique dans JEU SERAI. Nous allons voir qu’elle induit un obstacle potentiel à une bonne mesure RIASEC. A une échelle plus immédiate, l’environnement perceptible par le joueur doit pouvoir par lui-même stimuler l’interaction. Pour que le parcours personnel d’un joueur garde une fraîcheur tout au long de l’expérience, le jeu doit aussi gérer adéquatement la difficulté et la variété dans la succession de situations de jeu. 152 Structure du jeu D’un point de vue structurel, le jeu est relativement classique. Après avoir créé un nouveau profil ou chargé une partie sauvegardée le joueur prend le contrôle de son avatar dans le village. Sa quête consiste à aider six habitants du village lui proposant six mini-jeux. Une fois ces six jeux terminés, une journée se termine, il doit remplir son journal et une nouvelle journée commence. Ce cycle ce produit trois fois avant que nous puissions générer le profil RIASEC final. Chaque journée propose une thématique renouvelant la nature des mini-jeux disponibles. Système de récompense La grande majorité des jeux vidéo récompensent le joueur pour son engagement dans le système de jeu. Les récompenses sont associées à une réussite, à une prise de risque ou simplement au fait que le joueur agisse. Leur nature est variable, il peut s’agir du simple droit de poursuivre l’aventure, du déblocage de nouveaux lieux, nouveaux objets ou pouvoirs de l’avatar modifiant la nature de l’interaction, de gagner des points axés sur une compétition de scores, d’accumuler des niveaux d’expérience permettant de faire évoluer son avatar, de gagner des vies supplémentaires, de collecter des éléments servant à la résolution d’un objectif… Pour que la boucle objective challenge reward reste engageante, ces récompenses sont pour la plupart liées au gameplay lui-même : lui offrir de nouvelles situations de jeu ou des moyens de lui faciliter certaines épreuves. Nous pouvons facilement comprendre que si Schématisation de la structure du jeu 153 l’on fait miroiter à un joueur de jeu de tir une arme plus efficace, il sera motivé pour l’obtenir et sera ravi de l’acquérir. Il s’agit là d’une dimension très pragmatique du joueur. Tout ce qui peut l’aider dans ses épreuves est le bienvenu. Il tend à se faciliter la vie dans ses épreuves31 . Dans le cas de JEU SERAI, si nous mettions en place un système de récompense impactant sur la manière de réussir les épreuves nous risquerions de biaiser la mesure de l’intérêt. Il déciderait de s’engager dans certaines activités optionnelles ou rejouerait les mini-jeux en quête de ces moyens facilitateurs, et non par une marque d’intérêt pour l’activité. Le système de récompense retenu est donc plus cosmétique que gameplay. A la fin de chaque mini-jeu, le joueur gagne des éléments de personnalisation de sa maison. S’il n’est pas intéressé par l’aménagement en lui-même, il aura au moins le retour lui indiquant qu’il a gagné quelque chose par le biais d’un message explicite après le mini-jeu. 13 éléments de customisation de sa maison sont disponibles dès le début du jeu, 36 autres se gagnent par les mini-jeux. A chaque fois qu’il en termine un pour la première fois il gagne deux éléments et aucun autre ne lui est donné s’il rejoue. Car si nous récompensions le 31 Il existe cependant des cas où les joueurs refusent la facilité pour mettre en valeur leur performance ou leur virtuosité. Ce comportement est visible par exemple chez une catégorie de joueurs de Counter-Strike [Valve 2000], jeu de tir à la première personne très compétitif, où certains d’entre eux décident d’utiliser que des armes blanches face à d’autres équipés d’armes à feu. Ils s’handicapent et valorisent leurs réussites dans la difficulté. Boite de dialogue valorisant la récompense et l’écran de customisation de la maison mettant en avant les récompenses 154 « Rejouer », cela risquerait de fausser cet item, certains joueurs ne rejouant que par volonté de faire tous ce qu’il y a à faire dans le jeu (voir le principe de complétion évoqué dans l’état de l’art 2.9), ou poussés par le levier motivationnel de la collectionnite. Ce système de récompense cosmétique existe dans de nombreux titres, comme par exemple les jeux grand public sur réseaux sociaux tels que Farmville. Mais il vient en complément de points, de niveaux, de déblocage d’objets impactant sur le gameplay. Pour compléter ce système JEU SERAI offre un levier classique, le sens de la progression, la promesse de pouvoir poursuivre ou étendre son expérience de jeu par l’accès à de nouveaux contenus (lieux, quêtes, missions). Il est ici véhiculé par ce cycle des jours et par la prise de connaissance des choses à accomplir. Le cycle des jours est un repère net de progression. Il est soutenu par le journal des quêtes qui peut s’ouvrir depuis l’écran de navigation par défaut. Nous pouvons y voir les mini-jeux accomplis, cochés au fur et à mesure, et ceux restants. Les activités optionnelles de type Quizz y sont aussi répertoriées. La mise en place du système de récompense souleve donc une faiblesse potentielle du jeu car il n’impacte pas sur le gameplay. Un village stimulant Par village stimulant, nous voulons ici parler de l’accumulation de moyens mis en place pour que ce soit un endroit vivant en termes de gameplay. Dans sa relation immédiate avec le jeu, le joueur doit être entretenu dans une forme de stimulation permanente. Ce principe peut être éclairé par un exemple simple. Imaginez que l’environnement de jeu qui se présente à vous soit un couloir d’hôpital, plutôt triste, avec des néons, ses portes identiques se succédant Ecran du journal de quête155 entrecoupées de croisement avec d’autres couloirs. En soi, ce décor ne présente pas d’intérêt gameplay. Si le jeu en question est un jeu d’infiltration où vous pouvez regarder sous les portes, les ouvrir précautionneusement, vous plaquer contre les murs, mettre hors d’état les lumières pour évoluer dans le noir… Alors ce même couloir cumule un grand nombre de sollicitations : des interactions potentielles. Il sera un environnement stimulant d’un point de vue gameplay. Un jeu peut bien entendu faire varier le volume de stimulations. C’est une forme de rythme a gérer. Dans JEU SERAI, la caméra pointe en quasi permanence des potentiels d’interaction. Quelques rares points de vue offre des pauses. Les stimuli sont parfois explicites. Des bulles au-dessus de PNJ contiennent des points d’interrogation pour ceux qui offrent des Quizz ou des points d’exclamation pour ceux qui déclenchent les mini-jeux. Cette signalétique est inspirée d’un code répandue dans de nombreux jeux de rôle. D’autres stimuli sont suggérés, à l’image de l’ardoise géante servant de cour à l’école. Le but est d’inciter le joueur à y promener son curseur et découvrir qu’elle peut déclencher une activité.. En dehors des enjeux purement gameplay, la mise en scène contribue à rendre le village vivant et changeant. L’habillage des différentes journées par le changement d’éclairage et de météo, ou encore les passants, joggers ou habitants affairés sont en soi des éléments aidant à crédibiliser le contexte et le rendre plus attrayant. Exemple d’un point de vue particulièrement chargé en stimulations gameplay. Mini-jeu, Quizz et cinq activités récurrentes peuvent y être déclenchées 156 Progression de la difficulté et de la variété JEU SERAI entretient l’intérêt du joueur par la grande variété des situations de jeu proposée, en grande partie due à la présence des mini-jeux successifs. Il n’y a pas de système de progression de la difficulté à l’échelle globale car il n’y a pas de continuité dans le gameplay. En d’autres termes, nous ne proposons pas une succession de niveaux ou de missions reposant sur un gameplay central dont certaines variables varient pour offrir un renouvellement du contenu. Certains mini-jeux ont cependant été conçus pour proposer une complexification de leur challenge, à une échelle de quelques minutes tout au plus. Des mini-jeux comme « Du sable et de la sueur » ou « La tuile » n’ont qu’un seul niveau mais les éléments challengeant le joueur sont déclenchés continuellement. L’algorithme générant ces éléments module progressivement leur déclenchement et complexifie le gameplay. Des jeux comme « Lumière » ou « Assemblage » sont eux composés de plusieurs niveaux de difficultés croissantes. Comparaison au type de régulations de Deci et Ryan Essayons de comparer nos leviers motivationnel avec le modèle des types de régulation de la motivation de Deci et Ryan [Deci 2000] et mis en corrélation avec le jeu vidéo en section 2.11 de l’état de l’art. • la régulation externe : Les feedbacks permanents, la stimulation de l’interaction, les cadeaux donnés à chaque mini-jeu. • la régulation introjectée : Le journal de quête, le passage d’un jour à l’autre. • la régulation identifiée : demande une distance temporelle entre l’état actuel du joueur et son but. Inadapté à notre jeu du fait de sa courte durée de vie. • la régulation intégrée : Le joueur sait qu’il est là pour en savoir plus sur luimême. C’est une des régulations clefs pour les utilisateurs qui n’ont pas l’habitude de jouer. Contexte narratif Le travail sur le contexte narratif a pour objectif de cadrer les éléments tels que le rôle du joueur dans le monde virtuel, la description des composants et articulations narratives du monde. Pour JEU SERAI le contexte global est né de contraintes d’accessibilité au grand 157 public et de la nécessité de permettre une intégration cohérente des mini-jeux. La conception du village et de ses habitants, la structure en jours thématiques, la scénarisation des missions du joueur, les textes et dialogues sont les principaux chantiers de ce volet. Les types RIASEC ont donnés un cadre à la conception de plusieurs de ces éléments. Contexte général Le joueur est mis dans le rôle d’une personne arrivant pour la première fois dans un petit village. Il y découvre progressivement la disposition des lieux et ses habitants. Trois journées vont s’écouler, offrant chacune un thème permettant de varier le type d’activités proposées. Décors, lumières, effets spéciaux, comportement des habitants, ton et nature des dialogues changent d’un jour à l’autre pour donner de la crédibilité au thème. Le premier jour est la prise de contact avec la vie normale du village et de ses habitants. Accueilli à la descente du bus, le joueur passe un court tutoriel lui permettant de naviguer jusqu’à sa nouvelle maison et apprendre à dialoguer avec des personnages. Les habitants vaquent à leurs occupations normales servant de cadre aux activités que le joueur peut faire. Le second jour, forme de montée de la tension dramatique, est dédié à une tempête amenant des désagréments pour les habitants. Les passants courent, s’abritent de la pluie. Les maisons sont protégées, des murs de sacs de sable bordent la rivière, des arbres sont tombésetc. Les habitants sont ici impliqués dans la lutte contre cette tempête et sollicitent l’aide du joueur. Le troisième jour a pour thème la grande fête annuelle. La lumière chaleureuse baigne le village qui s’est rempli de décorations et chapiteaux. Les passants flânent ballon à la main Et le joueur peut participer activement à l’organisation de cette journée festive. Les 3 jours de l’aventure avec leurs ambiances contrastées 158 Maisons et personnages non joueurs Lors de la production du prototype, le document de game design explicite les personnages et lieux composant le village. Puis les graphistes réalisent les modèles sur ces recommandations. La conception des personnages et des lieux clefs a été réalisée en tentant de les affilier à des types RIASEC. Le village est peuplé de deux catégories de personnages, les habitants clefs permettant de lancer des activités, et les autres dont le rôle est surtout lié à la mise en scène crédibilisant le cadre (passants, personnages affairés…). Les bâtiments ont pour la plupart un type RIASEC, les autres servent à une contextualisation de QUIZZ ou à habiller l’espace. Exemples de bâtiments typés RIASEC. Maison de l’inventeur avec son observatoire (Investigateur), cabinet médical (Social), maison de l’artiste (Artiste) Affiliation RIASEC des PNJ 159 Scénarisation du déclenchement de mini-jeux Nous avons tenté de lier autant que possible le personnage et lieu de déclenchement d’un mini-jeu au type RIASEC visé, l’objectif étant de toujours renforcer la qualité de l’item. Cependant, d’autres contraintes ont bouleversés ce travail d’affiliation. Nous tentions de ne pas regrouper les activités en un même lieu de manière à pousser le joueur à naviguer dans le village et être confronté aux activités récurrentes et Quizz optionnels. D’autres part, en particulier le deuxième jour, certains mini-jeux sont gourmants en PNJ. « Aux abris » par exemple sollicite trois PNJ clefs dont nous ne pouvons pas nous servir comme déclencheurs de mini-jeu. Le nombre de personnages clefs produits étant limités nous avons été forcés d’utiliser ceux restants et ils n’étaient parfois pas optimums pour le type RIASEC visé. Le tableau ci-dessous résume les lieux et personnages de déclenchement des min-jeux avec leur degré de pertinence RIASEC. type Nom du mini-jeu Décor PNJ déclencheur Jour 1 R La bonne pomme Devant le Verger Marchande I L'invasion des fourmis Pelouse près de l’école Inventeur A Création d'automne Devant Maison de l’artiste L’artiste peintre S Les courses de Mme Petitpas Devant Maison de Mme Petitpas Mme Petitpas E Omelette Devant la ferme L’agriculteur C Classe! Devant la maison de monsieur Simon Monsieur Simon Jour 2 R La tuile Devant l’épicerie Marchande I Lumière Sous un abri Inventeur A Photos Près du pont Est Maire S Aux abris Devant le cabinet médical Médecin E Du sable et de la sueur Près du pont Ouest Instituteur C Stock Devant le restaurant Restaurateur Jour 3 160 type Nom du mini-jeu Décor PNJ déclencheur R Assemblage Devant la ferme Agriculteur I Le petit chimiste Devant la maison de l’inventeur Inventeur A Déco Devant la maison de l’artiste Artiste peintre S Accueil Devant l’épicerie Marchande E Promotion Devant la mairie Maire C Chacun sa place Devant la maison de monsieur Simon Monsieur Simon Si ces éléments sont moins critiques que le contenu du mini-jeu lui-même, nous les prenons en compte dans notre bilan de conception. Ils peuvent avoir une influence par effet de présentation sur la perception de l’activité par le joueur. Nous supposons que leur impact n’est pas énorme mais nous nous devons de les répertorier pour analyser d’éventuels retours négatifs suite aux tests d’évaluation. Outils de collecte de données JEU SERAI intègre un outil de collecte et de transmission de données à destination des experts en charge des tests. Le but premier est de pouvoir évaluer les différentes catégories d’items que nous avons élaborées. Nous allons les expliciter et détailler leurs modes de restitution. A chaque sauvegarde du jeu automatique ou volontaire, JEU SERAI complète une base de données d’items associée au profil du joueur dans un fichier XML constamment mis à jour. Dans un premier temps, l’objectif est de fournir des données brutes. Un système par défaut de calcul de profil est implémenté mais dont la pertinence est douteuse du fait, par exemple, des déséquilibres de fréquence de présentation au joueur des activités récurrentes, ou encore par la nature des gameplay parfois difficile à aligner sur un même mode de mesure (voir la problématique des scores plus haut). 161 Entrées Le prototype de JEU SERAI collecte des données pour chaque joueur. Nous listons et décrivons ici toutes les variables qui vont constituer les données brutes. Les intitulés sont ceux utilisés dans le tableau XLM final. Pour chacun des 18 mini-jeux : • Joué : un chiffre indiquant le nombre de fois que le joueur y a joué • Premier score : un chiffre de 1 à 3. 1 étant meilleur score, 3 le moins bon. Il s’agit du score obtenu la première fois que le joueur finit ce mini-jeu. Rappelons que chaque mini-jeu a un système de transformation de la performance en cette variable chiffrée commune. Trois jeux ont moins de trois niveaux de score : « L’invasion des fourmis » toujours score 1, « Création d’automne » et « Décor » où les scores sont de type 1 ou 2. • Meilleur score : même type de données que la précédente mais elle concerne le meilleur score obtenu sur toutes les parties effectuées de ce mini-jeu. • Classement journal : le numéro du classement de 1 à 6 donné par le joueur à ce mini-jeu parmi les 6 qui composent la journée où il se situe. Dans le jeu, ce classement se traduit par le déplacement de médailles numérotées de 1 à 6 sur de photos des mini-jeux. • Note : Un chiffre de 0 à 5 traduisant la note donnée par le joueur au mini-jeu. Il donne une note juste après y avoir joué et peut la modifier en fin de journée dans son journal. Visuellement cette notation est traduite pour le joueur en un système d’attribution d’étoiles. • Temps passé: en minutes et secondes. La durée cumulée de toutes les parties faites de ce mini-jeu. Pour les 10 activités récurrentes • Nombre de clics : un chiffre représentant le nombre de fois qu’un joueur clique sur un déclencheur de l’activité récurrente en question. Par exemple pour « Football » seul le clic de lancement de l’activité est comptabilisé, pas tous ceux qui servent à jongler avec la balle. Dans le cas d’ « Ardoise » seuls les clics de lancement de l’activité et de validation d’un nouveau dessin sont pris en compte, pas tous les clics maintenus permettant de dessiner. • Complétion : le nombre de fois que l’activité a été réalisée sur le total des objets permettant de la déclencher disponibles. Pour les activités pouvant être reproduite à l’infinie, cette valeur représente le nombre de fois où l’activité a 162 été déclenchée. Pour l’activité « Enigme » la valeur True indique si le joueur est a inscrit une réponse et est allé consulter la réponse ; False dans tous les autres cas. Pour les 6 Quizz • Propositions vues avant de faire le choix : un chiffre représentant le nombre de fois que le joueur passe d’une proposition de réponse à une autre. Une seule apparait à la fois à l’écran, le joueur peut passer de l’une à l’autre avec des flèches de navigation. Cet item n’a pas d’impact sur le profil RIASEC mais a été intégré en prévision des futures mesures du profil de prise de décision du joueur fondé sur le modèle de Harren32 . • RIASEC : un chiffre représentant le numéro de la proposition proposé dans le quizz. Si la valeur est -1 cela indique que le joueur n’a pas fait cette activité (les quizz sont optionnels). 0 indique qu’il a validé le choix présenté par défaut, sans consulté les autres. • Valeur dans la mesure : une lettre (R, I, A, S, E ou C) traduisant le type de la réponse choisie par le joueur. Autres éléments complémentaires mesurés • Type de tenue choisie : le type RIASEC de la tenue choisie par le joueur lors de la création de son avatar • Ordre suivi par le joueur : suite des noms de mini-jeux dans l’ordre où le joueur les a réalisés. Cette liste est comparée à l’ordre suggéré par la boussole. Il n’y a pas de lien avec le modèle de Holland. Encore une fois, c’est un outil potentiel de mesure du type de prise de décision non finalisé. • Temps de jeu total : en minutes et secondes. Restitutions brutes Le fichier XML des données brutes peut être converti en tableaux par le tableur d’OpenOffice. Les tableaux concernant les mini-jeux et activités récurrentes proposent par défaut un score RIASEC provisoire. Les valeurs de ce score sont calculées selon un procédé 32 JEU SERAI devra à terme mesurer intérêts professionnels, les types de prise de décision et les valeurs du consultant. Ces autres mesures sont l’objet de développement futurs mais certains éléments identifiés en conception et facile à produire ont été intégrés dès la production de ce prototype. 163 expliqué cas par cas. Ce mode de calcul est ouvert à modification et sera l’objet de règles de pondération. Tableau des activités récurrentes En plus des données évoquées dans la section précédente nous pouvons trouver en colonne deux autres informations : La valeur de « RIASEC » indique le type d’appartenance de l’activité. La variable « Score RIASEC » est calculée selon des règles adaptées à chacun activité. Certains types sont plus présents que d’autres dans le village. Ce système de transformation en points pour le « Score RIASEC » tend à équilibrer le résultat. Le tableau ci-dessous explicite les modalités provisoires de calcul de ces points. Activité récurrente Riasec Attribution des points pour le Score Riasec des activités récurrentes Champignons I 1 pt pour deux champignons cliqués (regardés) pour la première fois Collecte (don à la croix rouge) S 1 pt pour avoir cliqué sur le PNJ et validé la succession de dialogues jusqu’au bout = avoir écouté le PNJ de l’armée du salut jusqu’à la fin. Uniquement la première fois. Plante (arroser les plantes) R 1pt pour deux clics (arroser) effectués sur les plantes desséchées Tableau des données des activités récurrentes tel qu’il est présenté dans le fichier final 164 Détritus C 1 pt par clic (recycler) sur un détritus Buisson (tailler les bosquets) A 1 pt par série de clics rapprochés sur un bosquet = défilement des motifs possibles et choix Football R 1 pt pour deux clics sur le ballon lançant une partie (les clics pour rattraper et jongler avec le ballon ne sont pas pris en compte) = 1pt pour deux parties Ardoise (dessiner dans la cour de l’école) A 1 pt par clic sur l’ardoise pour lancer l’activité ou sur le bouton « annuler » (effacer) = par nouveau dessin. A partir du deuxième clic. Suivre (Siffler des groupes de PNJ) E 1 pt par clic (Siffler) sur un groupe de PNJ Consoler/calmer S 1 pt pour avoir cliqué sur un PNJ énervé et avoir validé la succession de dialogues jusqu’au bout = avoir écouté le PNJ jusqu’à la fin. Enigme du jour I 1 pt pour cliquer sur une réponse + avoir cliqué sur le tableau de la mairie le troisième jour (pour voir la solution) 165 Tableau des min-jeux Les mini-jeux génèrent aussi un « Score RIASEC » provisoirement calculé comme suit : Score RIASEC = Joué + Meilleur score + classement dans journal + Note Les transformations de variables en points du « Score RIASEC » pour chaque mini-jeu sont réalisées selon les règles suivantes : Joué : valeur de « joué » - 1. Ou 1 point par lancement du mini-jeu après le premier. Meilleur score : Valeur 1 = 2 points (Type 1, meilleur score possible) Valeur 2 = 1 point (Type 2, score intermédiaire) Valeur 3 = 0 point (Type 3, score le moins bon) Classement dans journal : Valeur 1 = 4 points (Première place dans le classement Valeur 2 = 3 points (Deuxième place dans le classement) Valeur 3 = 2 points (Troisième place dans le classement) Valeur 4 =1 point (Quatrième place dans le classement) Tableau des données des mini-jeux tel qu’il est présenté dans le fichier final 166 Valeurs 5 ou 6 = 0 points (Cinquième et sixième places) Note : Valeurs 0, 1 ou 2 = 0 point (de 0 à 2 étoiles attribuées) Valeur 3 = 1 points (3 étoiles attribuées) Valeur 4 = 2 points (4 étoiles attribuées) Valeur 5 = 3 points (5 étoiles attribuées) 167 Tableaux des quizz Si « Valeur dans la mesure » est une lettre (R, I, A, S, E ou C), 1 point est ajouté au type indiqué dans le tableau de synthèse des scores par type. Tableau de la boussole et autres données Nous l’avons vu, le tableau « Ordre » et la variable temps de jeu total n’interfère pas avec le score total. « Type de tenue choisi » ajoute 1 point au type RIASEC indiqué par sa valeur. « Métiers » et « Commentaires » ont pour valeur des textes décrivant les profils mesurés. Tableau des données quizz tel qu’il est présenté dans le fichier final Tableaux des données : ordre des mini-jeux, type de tenue, temps de jeu ainsi que les cellules réservées aux métiers et commentaires liés au profil global 168 Tableau synthèse des scores par type Un tableau cumule tous les scores RIASEC de l’ensemble des items. Les valeurs de la ligne « Brutes » se calculent différemment pour chaque type. Activité récurrentes Valeurs des Scores RIASEC de : Mini-jeux Valeurs des Scores RIASEC de : Quizz Tenue R = Football Plantes + La bonne pomme Tuile Assemblage + 1 point par valeur R pour « Valeur dans la mesure » + 1 point si la valeur est « Réaliste » I = Champignons Enigme + L’invasion des fourmis Lumière Le petit chimiste + 1 point par valeur I pour « Valeur dans la mesure » + 1 point si la valeur est « Investigateur » A = Buisson Ardoise + Création d’automne Photo Décor + 1 point par valeur A pour « Valeur dans la mesure » + 1 point si la valeur est « Artiste » S = Collecte Consoler/calmer + Les courses de Mme Petitpas Aux abris Accueil + 1 point par valeur S pour « Valeur dans la mesure » + 1 point si la valeur est « Social » E = Suivre + Omelette Du sable et de la sueur Promotion + 1 point par valeur E pour « Valeur dans la mesure » + 1 point si la valeur est « Entrepreneur» C = Détritus + Classe ! + 1 point par valeur C pour « Valeur dans la mesure » + 1 point si la valeur est « Conventionnel » Tableau des données des scores RIASEC cumulés 169 Stock Chacun sa place La ligne « Pondérées » est pour l’instant identique aux valeurs brutes. Présentation des résultats pour le joueur Une première restitution des résultats s’opère au sein même du jeu. Elle est à destination du joueur une fois qu’il a complété le jeu, passé les trois journées. Ce profil d’intérêts est accompagné d’une première analyse succincte qui n’a pas pour ambition de concurrencer l’analyse individuelle que pourrait faire un conseiller d’orientation. L’élément principal de cette restitution est l’hexagone du modèle de Holland où les scores de toutes les dimensions sont représentés. Ce graphique en radar permet de pouvoir vérifier en particulier la consistance du profil (voir la notion de consistante dans la section dédiée au modèle de Holland). De manière plus ludique, les trois types ayant les scores les plus élevés sont représentés dans un encart « Centre d’intérêts » sous la forme d’un podium. L’analyse succincte est traduite par un commentaire et quelques exemples de métiers. Le choix du contenu de ces deux éléments se fait sur la base des deux premiers types ressortant du profil, en prenant en compte leur ordre. Il y a donc 30 profils différents possibles. Les listes de métiers et textes de ces commentaires ont été conçus par les experts de l’INETOP, Even Loarer et Thierry Boy. Ecran de restitution du profil pour le joueur 170 JEU SERAI devra à terme servir de support à d’éventuelles rencontres avec des conseillers d’orientation. Les modalités de restitutions détaillées et une analyse plus poussée devront être intégrées. Pour l’heure, le mode de restitution brute, le fichier XLM et son rendu sous tableur, permettent la mise en place des tests d’évaluation destinés à la mise au point de l’outil. Conclusion sur la mise en pratique de la méthode en conception JEU SERAI comportait de grandes contraintes initiales, la mesure du profil RIASEC du joueur et l’accessibilité du jeu pour un grand public. Il devait aussi se doter d’un système de mesure lié à la validation de sa nature utile. Nous avons parcouru les cinq grands chantiers du game design en pointant les efforts fournis pour adresser ces besoins lors de sa conception. Dans ce chapitre nous n’avons pas abordé de manière détaillée les aspects ayant peu d’impact sur la génération du profil, comme par exemple le tutoriel intégré. Mener une expérimentation en parallèle d’une production de jeu limitée dans le temps pose bien entendu des difficultés. Le processus de validation idéal des éléments de contenu en a parfois pâti et des décisions ont dû être prises rapidement pour alimenter la chaîne de production. L’une des conséquences regrettables est le manque de recul sur des choix de conception gameplay, à l’image du mini-jeu « Promotion » dont nous n’avons pas pu optimiser son appartenance au type RIASEC souhaité. L’angle adopté pour JEU SERAI est donc de plonger le joueur dans un environnement où les multiples mini-jeux disponibles sont liés aux différentes dimensions du modèle de Holland et où nous mesurons son attrait pour chacune d’entre elles. Le contexte de cette expérience de jeu, la simulation de la vie d’un village attrayant, intègre aussi un mode de mesure plus traditionnel : des personnages posent des questions dont les différentes réponses reflètent des types RIASEC. L’ensemble est complété par une multitude d’activités optionnelles que le joueur découvre librement et qui sont elles aussi teintées par des types RIASEC.. L’une des découvertes importantes de ce travail est la difficulté de faire coexister la mesure d’un profil psychologique d’après un modèle extérieur au jeu, ici la typologie de Holland, et les modèles du joueur induits par la conception des différents aspects du game design. Il existe des conflits d’intérêts entre les deux domaines. 171 Dans l’approche choisie, le bagage stratégique du joueur et son désir d’optimisation gameplay peuvent s’opposer aux choix liés à un intérêt pour une activité que nous tentons de mesurer. La nature des récompenses et la structure motivationnelle doivent prendre garde à ne pas jouer sur un désir de complétion ou impacter sur le gameplay. Dans le cas de la typologie de Holland, des solutions ont pu être apportées qui ne mettent pas en péril le gameplay mais contraignent la conception. A une échelle globale, adopter le genre simulation de vie, un monde ouvert rempli d’activités, permet de contourner la problématique des choix stratégiques qui dans d’autres circonstance pourrait se révéler comme une manière éminemment ludique de mesurer un profil. Le système de récompense quant à lui met l’emphase sur des aspects cosmétiques et l’avancée dans la structure narrative. Nous présumons que cette problématique des conflits entre modèles pourrait se reproduire dans la mise en place d’autres types de mesures. D’ailleurs, bien qu’ébauchée et non implémentée actuellement, les modalités de mesure du type de prise de décision et du système de valeurs du consultant semblent présenter le même type de caractéristiques conflictuelles. A une échelle plus réduite la mesure des scores et des « rejouer » pose des problèmes de conception pour des types particuliers. Comment mesurer une performance pour le type dialogues en restant dans un coût de production raisonnable ? Si des choix ont été faits, ils présentent de potentielles faiblesses. Ils sont clairement documentés et devront être pris en compte dans l’analyse des résultats. La méthode de rationalisation du contenu que nous souhaitions éprouver consistait à clarifier systématiquement le lien entre un élément du jeu et son appartenance à un type RIASEC. Cidessous vous trouverez un tableau résumant la pertinence d’appartenance des éléments de game design au le type RIASEC que le mini-jeu doit représenter. Nous pouvons voir que ce tableau de contrôle fait nettement ressortir les qualités RIASEC des différents éléments. Certaines faiblesses en orange (éléments distants de deux types RIASEC du type visé) apparaissent, mais elles sont majoritairement liées au lieu de déclenchement et au PNJ commanditaire, pas au contenu du mini-jeu lui-même. Du ressort de la présentation, ces éléments pourraient bien entendu être modifiés s’ils s’avéraient impliqués dans une faille identifiée par les tests. 172 Le bilan final tend cependant à démontrer une nette orientation de chaque mini-jeu au type qu’il est supposé illustrer. Du point de vue de la méthode de rationalisation de la conception adoptée, seul « assemblage » et « Promotion » présentent des faiblesses d’association au type visé sur les éléments critiques. Ce modèle de découpage des éléments constitutifs d’un gameplay pourrait être réutilisé pour la création d’autres jeux de profilage psychologique. Vous en trouverez une version vierge en annexe. Les autres activités présentes dans le village, quizz et activités récurrentes, comportent moins d’éléments et ne semblaient pas nécessiter une telle formalisation pour pouvoir en évaluer la pertinence. Nous verrons que pour le cas des activités récurrentes cette présomption était une erreur. Plusieurs types d’item composent au final la mesure : des activités obligatoires ou optionnelles, des mesures explicites pour le joueur telles que les notations ou masquées telle que la répétition des activités récurrentes. Les premiers tests auront pour but d’évaluer la manière dont chacun d’entre eux se comportent. La distinction claire entre les types d’items présents doit permettre d’explorer les meilleurs candidats à l’évaluation d’un profil RIASEC. S’il est pressenti que les items liés aux mini-jeux permettent d’identifier une tendance forte d’un profil et que les autres puissent la confirmer, la souplesse de l’outil mis en place permet plusieurs les scénarii pour le mode de calcul final. Tableau récapitulatif de la pertinence RIASEC des mini-jeux 173 Dernier point notable de ce travail de game design : dans le développement d’un jeu de pur Entertainment il arrive que des systèmes de jeu cessent d’être documentés à partir du moment où l’on peut travailler directement sur le prototype. Dans le cas de JEU SERAI nous avons pour impératif de pouvoir accéder aux documents spécifiant des systèmes clefs de la mesure des profils. Le système de score, par exemple, est un levier potentiel de réglage identifié pour la réalisation de la version finale dont les fonctionnements doivent être tenus à jour. Ces documents serviront de support à la conception des modifications qui seront suggérées par les premiers tests d’évaluation et la mise en place de pondérateurs, mais aussi, ils sont critiques pour que les utilisateurs professionnels, conseillers d’orientation ou autres, puissent en saisir le fonctionnement. Nous retenons qu’il est possible d’orienter un travail de game design selon les contraintes d’un modèle psychologique choisi. Qu’il existe, tout au moins dans cette expérimentation, des moyens de relier rationnellement les éléments du gameplay et les besoins de mesure sur des dimensions particulières du modèle psychologique utilisé. Malgré quelques conflits d’intérêts entre modèle psychologique et modèle du joueur, nous arrivons à créer un lien tangible entre décision du joueur et décision analysable. Ce travail, à la frontière de l’informatique et des sciences humaines, peut en soi servir de référence dans de futurs travaux d’analyse du comportement du joueur. 174 175 CHAPITRE 5 – TESTS D’EVALUATION176 177 5 - Tests d’évaluation Ce chapitre est consacré à la huitième phase de la méthode proposée, à savoir la mise en place de tests et d’analyses évaluant le processus de création du profil psychologique par le biais d’un jeu. Il nous faut évaluer scientifiquement que le principe de game design proposé permet bien d’atteindre l’objectif utile et que le jeu possède bien des qualités ludiques. Si les résultats soulèvent des défaillances il nous faut pouvoir identifier la source dans les éléments de conception et proposer des solutions, permettre l’itération. Lors de la création d’un nouveau questionnaire d’intérêts, une méthodologie est traditionnellement utilisée pour en évaluer la qualité. Des passations sont organisées dans lesquelles les sujets utilisent le questionnaire à évaluer et un autre dont la validité a déjà été démontrée, par exemple l’IRMR. Bien entendu, plus le nombre de passations est grand, plus l’évaluation est fiable. Après analyse, des aménagements peuvent être pratiqués dans le questionnaire avant de relancer une série de passations. Cette itération peut continuer jusqu’à l’obtention d’un résultat validant. Plusieurs types d’analyse sont traditionnellement menés. L’analyse de consistance interne permet de savoir si les items censés mesurer un même type RIASEC appartiennent bien à ce même type. Les propriétés statistiques du modèle de Holland permettent aussi une analyse des coefficients de corrélation et comparer des scores de types différents (agrégation d’items). Par exemple nous pouvons évaluer le lien entre les scores d’un item d’un type RIASEC donné du nouveau questionnaire avec les scores par dimension obtenus par les sujets dans le questionnaire de référence. Notre analyse portera principalement sur la relation entre résultats et éléments de contenus : est-ce que les différents items envisagés en conception permettraient bien d’établir un profil RIASEC du joueur ? Lesquels se montrent les plus efficaces ? Quelles sont les causes des défaillances ? 178 L’évaluation de JEU SERAI en tant que tests d’intérêts demandera un échantillon beaucoup plus large que celui que nous utilisons ici. Protocole d’expérimentation Les passations ont eu lieu entre septembre 2011 et janvier 2012. Profil des participants Les tableaux détaillés des profils de participant sont consultable en annexe. Nous souhaitions avoir un panel le plus représentatif possible du public final de JEU SERAI, un échantillon hétérogène des utilisateurs potentiels : Etudiants, adultes en formation professionnelle, une grande variabilité dans les niveaux d’étude et les types de formations ou de professions. Plusieurs sessions ont été organisées par les deux organismes en charge de leur réalisation. L’Université de Paris Ouest Nanterre la Défense, ou UPOND, a réuni 103 sujets, des étudiants. L’ARCNAM Poitou-Charentes a réuni 37 sujets, des adultes en reconversion professionnelle et en activité. Nous verrons à l’analyse des profils de participants que le panel ne répond pas tout à fait aux besoins initiaux. L’UPOND comporte une grande proportion de profils en formation en sciences humaines, et les secteurs d’activités les plus représentés par les participants de l’ARCNAM sont aussi affiliés au type Social (12 personnes en social, communication, formation, insertion). Les deux panels manquent de métiers ou formations associées aux types Réaliste et Conventionnel. Ces déséquilibres peuvent pénaliser l’évaluation des items associés aux types les moins représentés. Les 37 participants de l’ARCNAM diversifient cependant le panel par la bonne répartition des niveaux d’études et une moyenne d’âge plus élevée (38 ans) qu’à l’UPOND (21 ans). De manière globale le manque de variabilité des profils gène l’obtention de résultat solides pour l’évaluation de JEU SERAI par les experts en psychométrie. La réalisation d’autres passations avec des participants aux profils plus variés est une étape incontournable du processus.179 Modalités des passations Le protocole prévoyait de jouer à l’intégralité de JEU SERAI et de passer le test de référence, ici l’IRMR. Les participants de l’UPOND ont été recrutés par le biais d’un site internet, de réseaux sociaux et d’une affiche diffusée sur les campus. Un bon d’achat d’une valeur de 20 euros était offert aux volontaires. A l’ARCNAM ils ont été recrutés par des annonces sur les sites de l’ARCNAM et ARFTLV33. Les passations se sont déroulées dans les locaux de l’université et de l’ARCNAM (pas de passations à distance), encadrées par une personne familiarisée à JEU SERAI. Le temps de passation total (jeu + IRMR) était estimé à 2h30 et pouvait se faire en plusieurs fois. Il s’avère que dans de nombreux cas le temps nécessaire à achever JEU SERAI était plus important que prévu. Cette durée est pénalisante pour le déploiement futur du test et a déjà donné lieu à des recommandations pour les versions ultérieures. A l’issue de la passation, les participants recevaient leur profil d’intérêts de l’IRMR et de JEU SERAI. Ils étaient aussi invités à commenter leur expérience. Etat du prototype au moment des tests Lors des premiers tests un bug important s’est révélé et a perturbé une partie de la collecte des données. Le classement des mini-jeux dans le journal de fin de chaque journée virtuelle ne fonctionnait pas correctement. Si une personne quittait le jeu et reprenait sa partie, elle ne pouvait pas effectuer le classement demandé. Le bug a depuis été identifié et sera corrigé dans les prochaines versions du jeu. Les items « Type de tenue choisi » et « note » (nombre d’étoiles attribué à un mini-jeu) n’apparaissent pas dans la version du tableau de restitution xml fournie lors de ces premiers tests. La valeur est par contre bien prise en compte dans le score RIASEC global non pondéré, mais que nous n’utilisons pas dans l’analyse des résultats. Ces bugs ont été corrigés durant les passations. Le score du mini-jeu « Classe !» est faussé. Il est basé sur la mauvaise variable gameplay et à tendance à donner une meilleure valeur aux variables « Premier Score » et « Meilleur Score ». 33 Agence régionale de la formation tout au long de la vie, Poitou-Charentes180 Nous sommes aussi conscients des problèmes signalés tout au long du chapitre précédent. Tels que le déséquilibre des activités récurrentes (entrepreneur peu représenté) ou le fait que « L’invasion des fourmis » ne peut fournir qu’un seul type de score. Commentaires des participants Les commentaires émis par les participants du panel de l’ARCNAM éclairent sur un certain nombre de ressentis et, à la manière d’un focus groupe ou d’une passation de tests gameplay, aident à identifier des problèmes d’accessibilité. 13 des 37 personnes ayant joué ont utilisés les termes « Ludique », « prenant », « amusant », « agréable » ou signalent leur satisfaction de manière spontanée dans leurs retours de 200 caractères maximum. Certaines allant jusqu’à marquer que JEU SERAI est moins prévisible qu’un test « ennuyeux », comprendre l’IRMR, auquel «on peut (lui) faire dire ce que l'on veut ». Les commentaires étant libres, tous n’ont pas abordé cet aspect dans leurs verbalisations. Quatre d’entre eux ont souligné la durée excessive de JEU SERAI, que nous avions déjà soulevé en observant les durées totales des sessions accessibles dans les restitutions brutes. Durant les passations, qui étaient aussi notre premier test d’évaluation de la difficulté, nous avons eu des retours sur des mini-jeux plus complexes ou plus difficiles à jouer que d’autres. A L’ARCNAM cinq retours des joueurs font état de la difficulté de certains mini-jeux ou le manque de clarté de leurs consignes. Croisé avec les observations et retours collectés par les encadrats, nous avons pu identifier que le mini-jeu « Lumière », « Stock », « omelette », « le petit chimiste » et « Assemblage » posaient de sérieux problèmes de compréhension ou de difficulté. D’autres comme « Classe ! » semblaient trop facile, le score maximum etant fréquemment obtenu. Analyse des résultats Au vu du petit nombre des données recueillies, il est prématuré de faire des analyses de type interne (évaluant que les items d’un même type mesurent bien ce type). La méthode d’analyse principale est la corrélation externe, confrontant des agrégations d’items de JEU SERAI aux résultats obtenus par les sujets aux questionnaires IRMR. Le coefficient de 181 corrélation de Bravais Pearson ( r ) permet d’exprimer l’intensité et le sens (positif ou négatif) de la relation linéaire entre deux variables quantitatives. La valeur de r se situe entre -1 et 1. Plus r est proche de 1 et plus la corrélation est forte. Une corrélation de 0.00 à 0.20 est généralement considérée comme négligeable, de 0.20 à 0.40 comme moyenne et au-delà de 0.4 comme importante. Nous allons observer les résultats au travers d’une série de tableaux synthétisant la corrélation d’un type d’item particulier avec les résultats du questionnaire IRMR de référence. Des cellules sont colorisées pour en faciliter la lecture. La légende : • Vert indique que la corrélation la plus forte entre item JEU SERAI et IRMR est bien celle du type attendu • Jaune localise la corrélation attendue pour l’item quand elle n’est pas la plus forte. • Orange, que la corrélation la plus forte est voisine (au sens Holland) du type attendu, si les écarts sont négligeables plusieurs résultats peuvent être oranges. • Rouge, que la corrélation la plus forte est associée à un type distant du type attendu Le cas échéant les dernières lignes des tableaux indiquent le nombre de participants ayant fourni un score valide pour l’item considéré et ayant rempli de manière valide le questionnaire IRMR. Certains items, en particulier dans les activités optionnelles, Activités récurrentes et Quizz, ne sont hélas pas assez renseignés pour pouvoir à l’heure actuelle tirer des conclusions définitives. Tableau de correlation activités récurrentes : « Nombre de clics »/IRMR Nous rappelons que les activités récurrentes sont optionnelles pour le joueur. Pour chaque activité récurrente nous avons utilisé les valeurs de l’item « Nombre de clics » sans prendre en compte les scores de 0, le joueur n’a pas du tout essayé, et de 1, considérant que c’était un essaie par curiosité et non une marque d’intérêt pour l’activité. Le tableau ci-dessous synthétise les corrélations de toutes les activités récurrentes avec les scores du questionnaire IRMR par type. Champign ons Investigate ur Collecte Social Plantes Réaliste Détritus Conventio nel Buissons Artiste Football Réaliste Ardoise Artiste Suivre Entrepren ant Consoler Calmer Social Enigme Investigate ur R_IR Realiste -,016 ,002 -,170 -,141 ,171 ,093 -,069 ,263 ,086 -,352182 I_IR Investigateur ,171 -,059 ,388 -,097 -,082 ,182 ,129 -,062 ,040 -,101 A_IR Artistique -,241 ,107 -,408 -,076 -,041 -,001 ,107 -,040 -,239 ,019 S_IR Social ,101 -,235 -,140 ,000 -,081 -,136 ,031 -,052 -,013 ,260 E_IR Entreprenant -,024 -,290 ,242 ,102 -,136 -,096 -,200 -,075 -,019 ,223 C_IR Conventionnel ,030 ,075 ,100 -,006 -,038 ,010 -,228 ,026 ,098 ,084 Les participants ne sont pas obligés de faire ces activités et cela pose le problème du volume d’observations. Nous n’avons par exemple que 20 des participants considérés pour « Plantes ». Nous devrons attendre un volume beaucoup plus important de passations pour pouvoir mener l’évaluation solide cet item. Vous pouvez aussi constater que les coefficients de corrélation obtenus sont dans l’ensemble relativement faibles. Seules cinq sont comprises en 0.20 et 0.40, donc dites de corrélation moyenne. C’est en toute connaissance de cause que nous menons les observations suivantes. Si nous nous focalisons sur la corrélation la plus forte d’une activité par rapport aux scores de l’IRMR, seule « Champignon » semble correspondre au type visé par l’activité. « Collecte », « Plantes », « Détritus », « Football » et « Ardoise » corrèlent avec des types voisins. « Buissons », « Consoler Calmer », « Suivre » et « Enigme » sont, elles, liées à des types distants. Ce résultat peut sembler peu probant quant à l’efficacité des activités récurrentes. Observons les cas critiques. « Buissons » avait été choisie comme activité liée à la dimension Artiste. Il se trouve que l’objet manipulé est un sécateur et que la cible de l’interaction est une plante. Or ces deux éléments peuvent être associés à l’activité au type Réaliste, qui ressort comme la plus forte corrélation. Pour « Suivre », nous pouvons aussi nous poser la question de la manière dont cette activité a été réalisée : le curseur se transforme en sifflet lorsqu’il passe sur un groupe de PNJ déclenchant cette activité ; les PNJ se mettent à courir derrière notre avatar dans le village. Ces deux éléments peuvent s’apparenter à une forme d’activité sportive et sont peut-être une des causes d’une trop grande affiliation de cette activité au type Réaliste. Nous n’avions pas appliqué la grille de conception les éléments interactifs sur le détail des composants game design des activités récurrentes et nous pouvons supposer que cela soit la source de ces écarts entre types visés et types corrélant effectivement. « Enigme » peut difficilement être analysée au travers du nombre de clics. La variable importante de cette activité est la complétion, ayant pour valeur « True » « False », et 183 indiquant si le joueur a répondu à l’énigme et qu’il est venu consulter le résultat. Elle n’apparaît pas ici. Dans le cas de « Consoler Calmer » nous n’avons pas encore identifié la source de la défaillance. L’activité est fondée sur des dialogues et des rapports humains, 94 joueurs l’ont pratiquée avec plus ou moins de fréquence avec une grande représentation de profils à priori orienté Social. Lorsqu’une activité s’adresse à un type donné, la corrélation la plus faible devrait théoriquement se faire avec son type opposé. Nous avons passé en vert les chiffres des coefficients des corrélations négatives effectivement associés au type opposé, en rouge lorsque ce n’est pas le cas. Seules deux activités « Football » et « Ardoise » ont effectivement leurs coefficients les plus faibles liés au type opposé. La plupart des coefficients les plus faibles sont voisins du type visé. Le pire des résultats revient à « Suivre » dont le coefficient le plus faible est associé au type visé (Entrepreneur) et le plus fort à un type très distant (Réaliste). Ce panel fait donc ressortir de nombreuses dissociations entre type visé et type associé par la corrélation avec le questionnaire IRMR mais pour la plupart des cas des causes pressenties et corrigeables ont été identifiées. Des dénombrements nous pouvons retirer quelques informations. « Champignon » « Consolé » « Ardoise » et « Détritus » sont les activités les plus pratiquées, entre 250 et 300 fois, alors que leurs taux de représentation dans le village, ou fréquences de présentation au joueur, sont très différents : il n’y a qu’une seule ardoise mais 12 champignons. A l’inverse « Plante », très présent dans le jeu, n’a été en tout cliqué que 69 fois. La taille de la représentation visuelle de l’activité, qui détermine aussi la zone où le curseur change et indique au joueur qu’il peut activer quelque chose, ne semble pas être un facteur déterminant sur le nombre de clics : les détritus, petits objets, sont beaucoup plus activés que les plantes à arroser pourtant plus grandes. Nous voyons que « Suivre », seule activité récurrente du type Entrepreneur, et que nous considérions comme sous représentée, est dans la moyenne, 181 clics, comparativement aux autres. Mais étant la seule de sa catégorie, le type Entrepreneur est très en dessous de la moyenne dans le cumul des clics par type RIASEC. 184 Tableaux de corrélation Quizz/IRMR Chacun des 6 quizz du jeu est ici représenté par un tableau de corrélation entre réponses données par les joueurs et les scores par types du questionnaire IRMR. Lâcher d'élèves quiz1_R quiz1_I quiz1_A quiz1_S quiz1_E quiz1_C R_IR Realiste 0,47 -0,23 -0,09 -0,15 0,14 -0,15 I_IR Investigateur 0,13 -0,01 -0,24 0,09 -0,04 0,06 A_IR Artistique -0,45 -0,11 0,39 0,28 0,02 -0,03 S_IR Social -0,06 0,20 -0,17 -0,11 -0,02 0,15 E_IR Entreprenant 0,16 0,08 0,05 -0,20 -0,17 -0,05 C_IR Conventionnel 0,28 0,15 -0,27 -0,20 -0,02 -0,14 41 41 41 41 41 41 La maison abandonnée quiz2_R quiz2_I quiz2_A quiz2_S quiz2_E quiz2_C R_IR Realiste ,434 -,145 -,121 -,095 ,029 .a I_IR Investigateur ,151 ,145 -,233 ,029 -,085 .a A_IR Artistique -,199 ,071 ,374 -,220 -,187 .a S_IR Social -,059 -,047 -,115 ,304 -,082 .a E_IR Entreprenant -,171 -,141 ,003 ,101 ,310 .a C_IR Conventionnel -,118 -,002 -,096 ,078 ,206 .a 50 50 50 50 50 50 La statue quiz3_R quiz3_I quiz3_A quiz3_S quiz3_E quiz3_C R_IR Realiste 0,22 -0,15 0,05 0,07 -0,20 .a I_IR Investigateur 0,03 0,05 0,08 -0,10 -0,08 .a A_IR Artistique -0,33 0,10 0,08 0,05 0,19 .a S_IR Social 0,26 -0,06 -0,07 0,10 -0,32 .a 185 E_IR Entreprenant 0,13 -0,15 0,03 -0,16 0,21 .a C_IR Conventionnel 0,12 -0,11 0,02 -0,04 0,03 .a 40 40 40 40 40 40 Le village des hobbies quiz4_R quiz4_I quiz4_A quiz4_S quiz4_E quiz4_C R_IR Realiste 0,34 -0,36 -0,21 0,31 -0,24 0,22 I_IR Investigateur 0,14 -0,24 -0,28 0,31 -0,07 0,30 A_IR Artistique -0,36 0,47 0,26 -0,16 -0,05 -0,21 S_IR Social -0,32 0,37 0,05 -0,23 0,24 -0,21 E_IR Entreprenant 0,11 -0,16 -0,08 0,05 -0,04 0,22 C_IR Conventionnel 0,16 -0,27 -0,23 0,06 0,11 0,21 32 32 32 32 32 32 Les commissions du maire quiz5_R quiz5_I quiz5_A quiz5_S quiz5_E quiz5_C R_IR Realiste 0,28 -0,01 -0,12 -0,09 -0,03 -0,14 I_IR Investigateur 0,23 0,13 -0,05 -0,14 -0,16 -0,14 A_IR Artistique -0,25 0,15 0,40 -0,18 -0,21 0,01 S_IR Social 0,09 0,15 -0,34 0,19 0,11 -0,32 E_IR Entreprenant 0,03 -0,34 -0,18 0,32 0,11 0,10 C_IR Conventionnel 0,06 -0,32 -0,21 0,22 0,19 0,24 45 45 45 45 45 45 Un projet pour le lac quiz6_R quiz6_I quiz6_A quiz6_S quiz6_E quiz6_C R_IR Realiste 0,43 -0,48 -0,12 -0,11 0,23 0,12 I_IR Investigateur 0,08 -0,16 -0,01 -0,07 -0,01 0,19 A_IR Artistique -0,41 0,36 0,24 0,07 -0,32 0,07 186 S_IR Social 0,05 -0,08 0,08 0,18 -0,23 -0,01 E_IR Entreprenant 0,09 0,00 -0,06 -0,09 -0,12 0,08 C_IR Conventionnel 0,29 -0,15 -0,15 -0,17 0,22 -0,09 34 34 34 34 34 34 Les corrélations les plus fortes en phase avec le type visé sont ici proportionnellement plus nombreuses que pour les activités récurrentes, 16 sur 36, et 12 autres se font avec des types voisins ou avec des écarts insignifiants. La forme du Quizz, bien que contextualisé dans la simulation de la vie du village et la narration, reste une manière relativement traditionnelle de marquer son intérêt. En ce sens que l’item est un choix du joueur dans un panel de réponses possibles. Notons aussi que les corrélations les plus faibles ne se font que rarement avec le type opposé du type visé. Nous remarquons que dans plusieurs cas, les réponses de type Conventionnel ne sont pas sélectionnées par les joueurs. Cela semble confirmer le manque de diversité du panel. Ces quizz n’avaient fait l’objet d’aucun test préalable à leur implémentation dans JEU SERAI. Ces premiers résultats, bien qu’insuffisants, donnent à penser qu’ils pourraient proposer des items fiables. 187 Tableau de corrélation mini-jeux : « joué »/IRMR Mini-jeux Jour 1 Labonnepomm e_1 Réaliste Linvasiondesfou rmis_1 Investigateur Créationdautomn e_1 Artiste LescoursesdeM mePetitpas_1 Social Omelette_1 Entreprenant Timbrés34_1 Conventionnel R_IR 0,13 0,14 0,03 0,15 -0,03 0,02 I_IR 0,11 0,06 0,16 0,00 0,11 0,20 A_IR 0,11 -0,02 0,07 -0,05 -0,03 0,15 S_IR -0,25 -0,17 -0,06 -0,14 0,01 -0,10 E_IR -0,18 -0,12 -0,18 0,03 -0,02 -0,30 C_IR -0,10 0,06 -0,11 0,10 0,07 -0,14 89 90 90 90 90 90 Mini-jeux Jour 2 Latuile_1 Réaliste Lumière_1 Investigateur Photos_1 Artiste Auxabris_1 Social Dusableetdelasu eur_1 Entreprenant Stock_1 Conventionnel R_IR 0,05 .a 0,07 0,04 0,18 0,15 I_IR 0,07 .a 0,04 0,09 0,13 0,18 A_IR 0,02 .a 0,07 0,11 -0,06 -0,11 S_IR -0,11 .a -0,08 -0,04 -0,12 -0,08 E_IR -0,04 .a -0,05 -0,16 -0,23 -0,11 C_IR 0,08 .a -0,03 -0,07 0,00 -0,03 90 90 90 90 90 90 Mini-jeux Jour 3 Assemblage_1 Réaliste Lepetitchimiste_ 1 Investigateur Décoration_1 Artiste Accueil_1 Social Promotion_1 Entreprenant Chacunsaplace_ 1 Conventionnel R_IR 0,23 0,16 0,22 0,14 0,15 0,24 I_IR -0,03 -0,11 0,05 0,16 0,17 0,18 A_IR -0,04 -0,23 0,02 -0,11 -0,02 -0,08 S_IR -0,23 0,10 -0,24 -0,06 -0,18 -0,11 E_IR -0,02 0,06 0,11 -0,13 -0,14 -0,16 C_IR 0,03 0,05 -0,06 -0,02 0,05 -0,05 88 90 89 90 90 90 188 Les trois tableaux ci-dessus, un par journée virtuelle, évaluent la corrélation entre l’item « Joué » (nombre de fois où le joueur rejoue à un min-jeu) avec scores IRMR par type. Les valeurs de « Joué » ont été recalculées : 1 pour avoir joué une fois, 2 pour deux fois, 3 pour tous les autres fois Les corrélations positives ou même voisines du type visé sont rares et souvent peu marquées. Les problématiques de consignes sur plusieurs mini-jeux ont pu biaiser les valeurs (voir section Commentaire des participants 5.2): on rejoue parfois un mini-jeu parce que l’on a pu appréhender son gameplay qu’au terme de la première partie. Des tests spécifiques devraient leur être consacrés. Peut-être qu’une autre manière de présenter la rejouabilité des mini-jeux est nécessaire. Par exemple, en proposant au joueur un accès libre aux mini-jeux en fin de journée virtuelle, au travers de son journal. Cela renforcerait sans doute la viabilité d’une marque d’intérêt. Bien que cela ne fasse pas partie de l’utilisation traditionnelle des tableaux de corrélation, nous constatons, avec toutes les réserves nécessaires, que le type IRMR Réaliste corrèle de manière la plus forte 10 fois sur 18. Ce qui peut nous amener à nous poser une question de fond sur l’item « joué », dont la valeur peut être liée à une recherche de la performance. Estce que ce type de comportement ne serait pas un indicateur du type Réaliste ? Nous avons donc fait une moyenne des parties rejoué par participants et avons testé sa corrélation avec les types issus IRMR. Corrélation des moyennes de nombre de mini-jeux rejoué par type IRMR R_IR I_IR A_IR S_IR E_IR C_IR rejoue_sans1 0,22 0,16 -0,03 -0,26 -0,18 0,00 79 79 79 79 79 79 Il s’avère effectivement que le type Réaliste, suivit de près par l’Investigateur, corrèle significativement plus que les autres types. Cela ouvre une autre manière d’interpréter cet item dans le calcul final des profils RIASEC. Le tri à plats de l’ensemble des données recueillies pour « Joué » confirme des problèmes pressentis dès la conception. 189 Labonnepomme_1 Réaliste Latuile_1 Réaliste Assemblage_1 Réaliste valeur Effectifs % valeur Effectifs % valeur Effectifs % Valide 1 70 49,3 Valide 1 66 46,5 Valide 0 2 1,4 2 35 24,6 2 38 26,8 1 92 64,8 3 8 5,6 3 11 7,7 2 17 12 4 1 0,7 4 2 1,4 3 3 2,1 6 1 0,7 Total 117 82,4 4 1 0,7 Total 115 81 Manquante Syst. manquant 25 17,6 Total 115 81 Manquante Syst. manquant 27 19 Total 142 100 Manquante Syst. manquant 27 19 Total 142 100 Total 142 100 Linvasiondesfourmis_1 Investigateur Lumière_1 Investigateur Lepetitchimiste_1 Investigateur valeur Effectifs % valeur Effectifs % valeur Effectifs % Valide 1 97 68,3 Valide 0 1 0,7 Valide 0 1 0,7 2 15 10,6 1 116 81,7 1 106 74,6 3 4 2,8 Total 117 82,4 2 8 5,6 4 1 0,7 Manquante Syst. manquant 25 17,6 3 1 0,7 Total 117 82,4 Total 142 100 5 1 0,7 Manquante Syst.manquant 25 17,6 Total 117 82,4 Total 142 100 Manquante Syst. manquant 25 17,6 Total 142 100 Créationdautomne_1 Artiste Photos_1 Artiste Décoration_1 Artiste valeur Effectifs % valeur Effectifs % valeur Effectifs % Valide 1 98 69 Valide 0 1 0,7 Valide 0 2 1,4 2 17 12 1 104 73,2 1 110 77,5 3 2 1,4 2 8 5,6 2 5 3,5 Total 117 82,4 3 4 2,8 Total 117 82,4 Manquante Syst. manquant 25 17,6 Total 117 82,4 Manquante Syst. manquant 25 17,6 Total 142 100 Manquante Syst. manquant 25 17,6 Total 142 100 Total 142 100 LescoursesdeMmePetitpas_1 Social Auxabris_1 Social Accueil_1 Social valeur Effectifs % valeur Effectifs % valeur Effectifs % Valide 1 107 75,4 Valide 1 108 76,1 Valide 0 3 2,1 2 9 6,3 2 9 6,3 1 83 58,5 190 3 1 0,7 Total 117 82,4 2 28 19,7 Total 117 82,4 Manquante Syst. manquant 25 17,6 3 3 2,1 Manquante Syst. manquant 25 17,6 Total 142 100 Total 117 82,4 Total 142 100 Manquante Syst. manquant 25 17,6 Total 142 100 Omelette_1 Entreprenant Dusableetdelasueur_1 Entreprenant Promotion_1 Entreprenant valeur Effectifs % valeur Effectifs % valeur Effectifs % Valide 1 77 54,2 Valide 1 76 53,5 Valide 0 1 0,7 2 33 23,2 2 33 23,2 1 70 49,3 3 5 3,5 3 6 4,2 2 41 28,9 4 1 0,7 4 2 1,4 3 5 3,5 6 1 0,7 Total 117 82,4 Total 117 82,4 Total 117 82,4 Manquante Syst. manquant 25 17,6 Manquante Syst. manquant 25 17,6 Manquante Syst. manquant 25 17,6 Total 142 100 Total 142 100 Total 142 100 Timbrés_1 Conventionnel Stock_1 Conventionnel Chacunsaplace_1 Conventionnel valeur Effectifs % valeur Effectifs % valeur Effectifs % Valide 1 104 73,2 Valide 1 65 45,8 Valide 0 1 0,7 2 13 9,2 2 39 27,5 1 101 71,1 Total 117 82,4 3 10 7 2 12 8,5 Manquante Syst. manquant 25 17,6 4 1 0,7 3 3 2,1 Total 142 100 5 2 1,4 Total 117 82,4 Total 117 82,4 Manquante Système manquant 25 17,6 Manquante Système manquant 25 17,6 Total 142 100 Total 142 100 Le cas des jeux de type Social « Les courses de Mme Petitpas » et « Aux abris » est intéressant. Le premier est basé sur un nombre restreints de réponses liées aux dialogues que nous avons avec Mme Petitpas, le second sur le fait de découvrir le bon chemin dans une arborescence dialoguée. Ces deux mécanismes proches des gameplay de jeux d’aventure ne se prêtent pas à une grande rejouabiliité. Les scores semblent le confirmer : 10 fois rejoué pour l’un, 9 pour l’autre, contre une moyenne générale de 22.7. Ils ont aussi une durée relativement longue, ce qui peut freiner un second engagement. Les items « Joué » de ces 191 gameplay corrèlent mal avec leur type visé. Il ne devrait sans doute pas être pris en compte pour le calcul du score Social global de JEU SERAI. Les jeux ayant été les plus rejoués, au-dessus de la moyenne, ont des points en commun dans leur game design. Ils ont des gameplay que nous pourrions qualifier d’arcade et où l’élément temps est très présent. Ce temps représente un challenge et est parfois explicitement communiqué au joueur. Ils ont été rejoués :« La bonne pomme » 45 fois, « Tuile » 51, «Omelette » 40, « Accueil » 31, « Du sable et de la sueur » 41, « Promotion » 46 et « Stock » 52, soit largement au-dessus de la moyenne. Le seul autre mini-jeu comportant une pression par le temps est « Classe ! » mais considéré comme trop facile par les participants. La nature des mécaniques de jeu semble donc jouer un grand rôle dans la volonté de rejouer. Si nous faisons le total des « joué » supérieur à 1, ou mini-jeux effectivement rejoué, nous obtenons jour1 : 147, jour 2 : 165, jour 3 : 128. Le jour 2 comporte plus de jeu de type arcade et la durée trop importante de JEU SERAI a peut-être incité les joueurs à ne pas prolonger leur expérience. Dernier constat : « Lumière » (Investigateur), identifié comme étant le jeu le plus compliqué par les participants et les encadrants, n’a jamais été rejoué (les valeurs sont toujours de 1) et ne permet aucun calcul de corrélation Tableau de corrélation mini-jeu: « 1er score »/IRMR L’utilisation des scores que les joueurs obtiennent aux mini-jeux pour déceler une marque d’intérêt est sans doute l’approche la plus délicate du point de vue de l’orientation professionnelle. Ces items semblent plus relatifs aux compétences du joueur qu’à une marque d’intérêt. Les trois tableaux suivants présentent les items « 1 er score » des mini-jeux (score obtenu la première fois que l’on joue à un mini-jeu) par les résultats IRMR. Notez que les scores des mini-jeux n’ont pour valeur que 1(meilleur) 2(moyen) ou 3(pire) et ont été recalculés. Une valeur brute de 1 est devenue 3 et 3 est devenue 1, de manière à pouvoir faire une lecture normale du tableau de restitution. Minijeux Jour 1 Labonnepomme _2 Réaliste Linvasiondesfou rmis_2 Investigateur Créationdautom ne_2 Artiste LescoursesdeM mePetitpas_2 Social Omelette_2 Entreprenant Timbrés_2 Conventionnel 192 R_IR 0,12 .a -0,12 0,07 -0,02 0,15 I_IR -0,06 .a -0,01 -0,03 0,00 0,03 A_IR 0,02 .a 0,02 -0,16 -0,10 0,03 S_IR -0,17 .a 0,06 0,00 0,21 0,03 E_IR 0,00 .a 0,04 -0,02 0,01 -0,16 C_IR 0,05 .a 0,06 0,01 0,08 -0,07 89 90 90 90 90 90 Minijjeux Jour 2 Latuile_2 Réaliste Lumière_2 Investigateur Photos_2 Artiste Auxabris_2 Social Dusableetdelasu eur_2 Entreprenant Stock_2 Conventionnel R_IR 0,00 -0,17 0,24 -0,03 0,14 0,01 I_IR -0,08 0,02 0,03 -0,20 0,23 0,19 A_IR -0,11 0,20 -0,20 -0,09 -0,06 0,00 S_IR -0,04 -0,01 -0,08 -0,06 0,21 0,00 E_IR 0,07 -0,01 0,10 0,29 -0,15 -0,11 C_IR 0,13 -0,18 0,18 0,26 -0,11 -0,07 90 90 90 90 65 90 Minijeux Jour 3 Assemblage_2 Réaliste Lepetitchimiste_ 2 Investigateur Décoration_2 Artiste Accueil_2 Social Promotion_2 Entreprenant Chacunsaplace_ 2 Conventionnel R_IR 0,13 0,25 -0,21 0,09 0,15 .a I_IR -0,06 0,02 -0,02 -0,12 0,08 .a A_IR -0,04 -0,17 0,17 -0,05 0,12 .a S_IR 0,09 0,00 -0,06 -0,12 -0,13 .a E_IR 0,05 0,06 0,20 0,09 -0,19 .a C_IR -0,10 0,08 -0,09 0,04 -0,01 .a 89 90 89 90 90 90 193 A la lecture du tableau, seuls « Assemblage » et « La bonne pomme », tous deux de type réaliste, corrèlent avec leur type. De nombreux cas d’égalité ou d’écart insignifiant sont perceptibles. Une autre manière de traiter les scores est à envisager. Notons que « L’invasion des fourmis » ne fournit volontairement qu’un type de score au moment des tests. Tableau de correlation mini-jeux : « Meilleur Score »/IRMR Deuxième type d’item relatif aux scores des mini-jeux : les meilleurs scores obtenus par minijeux sur toutes les parties qu’a pu en faire le joueur. Nous avons extrait deux analyses différentes de cet item. Série 1 : Sur ensemble du panel La première série prend en compte tous les participants, UPOND et ARCNAM. Ici encore les valeurs brutes ont été inversées pour permettre une lecture normale du tableau (1 est devenu 3, etc…). Mini-jeux Jour 1 Labonnepomme _3 Réaliste Linvasiondesfou rmis_3 Investigateur Créationdautom ne_3 Artiste LescoursesdeM mePetitpas_3 Social Omelette_3 Entreprenant Timbrés_3 Conventionnel R_IR -0,10 .a 0,12 -0,07 0,05 -0,15 I_IR 0,09 .a 0,00 0,03 -0,02 -0,03 A_IR -0,05 .a 0,01 0,16 0,13 -0,03 S_IR 0,16 .a -0,07 0,00 -0,26 -0,03 E_IR 0,01 .a 0,00 0,02 0,00 0,16 C_IR -0,04 .a -0,07 -0,01 -0,08 0,07 90 90 90 90 90 90 Mini-jeux Jour 2 Latuile_3 Réaliste Lumière_3 Investigateur Photos_3 Artiste Auxabris_3 Social Dusableetdelasu eur_3 Entreprenant Stock_3 Conventionnel R_IR 0,03 0,17 -0,24 0,03 -0,07 -0,01 I_IR 0,10 -0,02 -0,03 0,20 -0,15 -0,19 A_IR 0,12 -0,20 0,20 0,09 0,02 0,00 S_IR 0,01 0,01 0,08 0,06 -0,12 0,00 194 E_IR -0,09 0,01 -0,10 -0,29 0,16 0,11 C_IR -0,16 0,18 -0,18 -0,26 0,05 0,07 90 90 90 90 90 90 Mini-jeux Jour 3 Assemblage_3 Réaliste Lepetitchimiste_ 3 Investigateur Décoration_3 Artiste Accueil_3 Social Promotion_3 Entreprenant Chacunsaplace_ 3 Conventionnel R_IR -0,12 -0,25 0,21 -0,15 -0,15 .a I_IR 0,10 -0,02 0,02 0,06 -0,08 .a A_IR 0,03 0,17 -0,17 0,12 -0,12 .a S_IR -0,08 0,00 0,06 0,12 0,13 .a E_IR -0,06 -0,06 -0,20 -0,12 0,19 .a C_IR 0,11 -0,08 0,09 -0,05 0,01 .a 89 90 89 90 90 90 Comme dans les cas précédents, les coefficients sont faibles à moyens et « Meilleur Score » ne corrèlent que peu avec le type qu’il vise. La faible variabilité des valeurs de ces items semblent aussi provoquer de nombreux cas de proximité des coefficients, ex aequo, ou dans une fourchette insignifiante. Une des leçons à retenir des deux items « 1er Score » et « Meilleur score » tient à la nature de la variable que nous utilisons. Nous avions adopté un système mettant sur un même niveau tous des minijeux (les scores ramenés à trois types). Or il s’avère que ce procédé n’est pas suffisant pour établir des différenciations significatives à l’établissement du coefficient de Bravais-Pearson. Nous envisageons d’intégrer les données brutes des scores, quelles que soient leurs formes, dans les prochaines séries de passations. Série 2 : Sur le panel de l’UPOND Nous avons souhaité présenté un second tableau de corrélation « Meilleur score »/IRMR. Il ne prend en compte que les participants de l’UPOND. Attention, nous considérons ici le score (1, 2, 3) non recalculé. Une bonne corrélation y apparait en négatif car la valeur 1est le meilleur score et 3 le pire. 195 Minijeux Jour 1 Labonnepomme _3 Réaliste Linvasiondesfou rmis_3 Investigateur Créationdautom ne_3 Artiste LescoursesdeM mePetitpas_3 Social Omelette_3 Entreprenant Timbrés_3 Conventionnel R_IR 0,19 .a -0,06 0,03 -0,16 0,10 I_IR 0,01 .a 0,04 -0,12 0,01 0,02 A_IR 0,18 .a -0,16 -0,15 -0,05 -0,01 S_IR -0,19 .a 0,06 -0,03 0,31 0,03 E_IR -0,08 .a 0,04 0,08 -0,04 -0,17 C_IR -0,11 .a 0,17 0,07 0,02 -0,05 65 65 65 65 65 65 Mini-jeux Jour 2 Latuile_3 Réaliste Lumière_3 Investigateur Photos_3 Artiste Accueil_3 Social Dusableetdelasu eur_3 Entreprenant Stock_3 Conventionnel R_IR -0,14 -0,14 0,31 0,09 0,13 0,06 I_IR -0,12 0,03 -0,01 -0,12 0,27 0,19 A_IR -0,01 0,20 -0,19 0,08 -0,05 -0,07 S_IR 0,01 -0,04 -0,09 -0,19 0,22 -0,02 E_IR -0,04 0,00 0,11 0,12 -0,19 -0,14 C_IR 0,06 -0,19 0,20 -0,03 -0,12 0,09 65 65 65 65 65 65 Mini-jeux Jour 3 Assemblage_3 Réaliste Lepetitchimiste_ 3 Investigateur Décoration_3 Artiste Auxabris_3 Social Promotion_3 Entreprenant Chacunsaplace_ 3 Conventionnel R_IR 0,18 0,02 -0,21 -0,12 0,15 .a I_IR -0,07 0,07 -0,03 -0,28 0,05 .a A_IR 0,05 0,03 0,12 0,08 0,14 .a S_IR 0,03 -0,08 -0,10 -0,12 -0,10 .a E_IR 0,03 -0,01 0,20 0,21 -0,17 .a C_IR -0,16 0,02 -0,06 0,27 -0,01 .a 196 65 65 65 65 65 65 Nous constatons un bien meilleur comportement des items. Sept mini-jeux voient leur meilleur score corréler avec le type visé, dont ceux déjà positifs dans en prenant le panel complet. Quatre autres sont de types voisins. Pourquoi un tel écart de résultat ? Cela reste de l’ordre de la supposition, mais nous pouvons peut-être nous reporter aux profils des participants des deux groupes. Celui de l’UPOND, au profil universitaire, est plus jeune, sans doute plus en phase avec la manipulation de l’outil informatique et avec certitude dans la population ayant pratiqué le jeu plus activement que les générations précédentes. Tableau de corrélation mini-jeux : « Classement » / IRMR Rappelons que l’item « Classement » a été pénalisé lors des passations par un bug qui empêchaient de le collecter. Alors que cette activité est obligatoire pour avancer dans le jeu, seul 75 participants ont pu le faire correctement sur les 142. Les valeurs ont été recodé pour une lecture normale des corrélations. Minijeux Jour 1 Labonnepomme _4 Réaliste Linvasiondesfou rmis_4 Investigateur Créationdautom ne_4 Artiste LescoursesdeM mePetitpas_4 Social Omelette_4 Entreprenant Timbrés_4 Conventionnel R_IR 0,28 0,18 -0,11 -0,29 0,01 -0,03 I_IR 0,33 0,00 -0,11 -0,33 0,15 0,00 A_IR -0,13 -0,03 0,26 0,16 -0,13 -0,21 S_IR -0,25 -0,02 0,03 0,24 -0,16 0,15 E_IR -0,08 -0,08 -0,06 0,04 0,14 0,05 C_IR -0,04 -0,06 -0,03 -0,10 0,09 0,16 75 75 75 75 75 75 Minijeux Jour 2 Latuile_4 Réaliste Lumière_4 Investigateur Photos_4 Artiste Auxabris_4 Social Dusableetdelasu eur_4 Entreprenant Stock_4 Conventionnel R_IR 0,16 0,23 -0,19 -0,14 -0,02 -0,01 I_IR -0,03 0,36 -0,18 -0,01 -0,02 -0,13 A_IR -0,12 -0,09 0,27 0,10 -0,14 -0,07 197 S_IR 0,03 -0,08 0,05 0,13 0,00 -0,14 E_IR 0,07 -0,14 0,05 -0,13 0,13 0,05 C_IR 0,05 -0,07 -0,15 -0,21 0,14 0,28 75 75 75 75 75 75 Minijeux Jour 3 Assemblage_4 Réaliste Lepetitchimiste_ 4 Investigateur Décoration_4 Artiste Accueil_4 Social Promotion_4 Entreprenant Chacunsaplace_ 4 Conventionnel R_IR -0,02 0,06 -0,02 -0,18 -0,02 0,16 I_IR 0,02 -0,04 -0,14 -0,11 0,14 0,12 A_IR 0,05 -0,10 0,14 0,05 0,01 -0,13 S_IR 0,01 0,05 -0,01 0,16 -0,02 -0,19 E_IR -0,17 -0,01 0,03 0,22 0,04 -0,12 C_IR 0,02 0,06 0,00 -0,03 -0,04 0,00 75 75 75 75 75 75 Nous pouvons constater un bon comportement global des items. 13 d’entre eux corrèlent bien avec le type visé, ou quasiment à ex aequo avec le fort coefficient. Trois autres sont associés à des types voisins. La forme en escalier des colorations est symptomatique de ce bon résultat, qu’il faut cependant modérer par le manque de corrélations fortes, supérieures à 0.40. Notons aussi, dans les aspects positifs, que les plus mauvaises corrélations se produisent six fois avec le type RIASEC opposés et à sept reprises avec un type très distant. Le cas véritablement critique en tout point est « Promotion » (Entrepreneur), corrélant avec le type opposé (Investigateur). Nous y reviendrons après la lecture des corrélations de l’item « Note ». « Assemblage » (Réaliste) est problématique. La plupart des coefficients se situent dans une fourchette de 0.07 de différence. Nous devrons attendre l’intégration d’autres passations, avec des profils plus variés pour espérer une bonne différenciation. L’item « Classement » semble être prometteur. Bien que la réalisation du classement se fasse d’une manière proche de questionnaires papiers, c’est la première fois que des sujets marquent leur intérêt sur la base d’une comparaison de gameplay ou d’expériences ludiques. 198 Tableau de corrélation mini-jeux : « Note »/IRMR L’item « Note » est relatif aux étoiles qu’attribue le joueur à un mini-jeu. Cette variable n’avait pas été intégrée aux tableaux de restitution XLM lors des premières passations. Seul le panel de l’ARCNAM a pu fournir des données, au final 25 participants valides, ce qui explique le nombre important de quasi ex aequo. Minijeux Jour 1 Labonnepomme _note Réaliste Linvasiondesfou rmis__note Investigateur Créationdautom ne__note Artiste LescoursesdeM mePetitpas__not e Social Omelette__note Entreprenant Timbrés_note Conventionnel R_IR 0,10 0,35 -0,12 -0,07 0,10 0,21 I_IR 0,13 0,30 0,21 -0,28 0,62 -0,15 A_IR -0,27 -0,19 0,15 0,22 0,06 -0,38 S_IR -0,29 0,11 -0,16 0,37 -0,07 -0,25 E_IR 0,15 -0,32 0,14 -0,06 -0,27 0,37 C_IR 0,02 -0,18 -0,11 -0,32 -0,33 0,35 25 25 25 25 25 25 Minijeux Jour 2 Latuile__note Réaliste Lumière__note Investigateur Photos__note Artiste Auxabris__note Social Dusableetdelasu eur__note Entreprenant Stock__note Conventionnel R_IR 0,42 0,30 -0,30 -0,12 0,24 0,17 I_IR 0,29 0,35 -0,07 0,02 0,20 -0,16 A_IR -0,15 -0,19 0,51 0,03 -0,08 -0,31 S_IR -0,05 -0,11 -0,04 0,43 0,01 -0,28 E_IR -0,16 0,01 -0,29 -0,20 -0,37 0,16 C_IR -0,03 0,18 -0,47 -0,32 -0,08 0,44 25 24 25 25 24 25 Minijeux Jour 3 Assemblage__n ote Réaliste Lepetitchimiste_ _note Investigateur Décoration__not e Artiste Accueil__note Social Promotion__not e Entreprenant Chacunsaplace_ _note Conventionnel 199 R_IR 0,22 0,08 -0,05 -0,14 -0,03 0,05 I_IR 0,27 0,14 0,33 0,25 0,25 0,32 A_IR -0,10 -0,20 0,21 0,17 0,32 0,02 S_IR -0,26 -0,17 -0,21 0,26 -0,26 -0,30 E_IR 0,25 0,16 0,06 0,16 0,03 0,11 C_IR 0,09 0,15 -0,29 -0,16 -0,05 0,04 21 22 24 25 25 25 Nous retrouvons à nouveau cette forme d’escalier et un nombre important de corrélations correctes. D’autres passations sont nécessaires pour évaluer « Note » mais ces premiers résultats incitent à l’optimisme. Comme « Classement », cela semble confirmer que des jeux peuvent servir de supports à la manifestation volontaire d’un intérêt. Retrouvons le cas de « Promotion », normalement adressé au type Entrepreneur. Il corrèle de manière encore plus marqué avec le type opposé (Investigateur). Nous pouvons sans doute faire le lien entre ce défaut de corrélation et la difficulté d’estimation de son gameplay identifié en conception. Tableau de corrélation « tenue initiale »/IRMR L’item « Tenue intitiale » avait été intégré par opportunisme : un système de création d’avatar était prévu à des fin d’appropriation de l’avatar par le joueur. Nous y avions vu une autre manière de collecter de l’information. Comme pour « Note », seul le panel de l’ARCNAM a pu fournir des données et la corrélation est malheureusement basée sur un faible nombre de scores valides. Nous communiquons malgré tout l’analyse, bien qu’il soit difficile d’en tirer des conclusions sur le comportement de l’item. tenue_R Réaliste tenue_I Investigateur tenue_A Artiste tenue_S Social tenue_E Entreprenant tenue_C Conventionnel R_IR -0,05 -0,13 -0,15 0,30 0,07 0,14 I_IR 0,20 -0,25 -0,13 -0,05 0,29 0,13 A_IR 0,03 0,11 -0,13 -0,20 -0,10 0,09 S_IR -0,21 -0,26 0,27 0,00 -0,09 0,22 E_IR -0,05 -0,15 0,06 0,24 -0,11 -0,15 200 C_IR -0,02 0,06 0,15 0,15 0,09 -0,27 28 28 28 28 28 28 Notons juste qu’aucune corrélation positive n’en ressort mais que la promiscuité des coefficients les plus forts avec des types voisins des types visés nous incite à recueillir plus de données. Conclusion sur la méthode d’évaluation La méthode d’analyse proposée et mise en place, la comparaison des résultats obtenus par item corrélé avec les types issus d’un questionnaire de référence, permet bien de hiérarchiser l’efficacité des items. Cependant, nous voyons qu’elle n’est peut-être pas l’unique méthode pour évaluer relations entre comportement du joueur et profil psychologique. Dans le cas de JEU SERAI, si les tableaux de corrélations de Bravais-Pearson permettent d’analyser le comportement des items (est-ce que les corrélations se font bien avec les types RIASEC visés ?), les dénombrements ont permis d’obtenir d’autres informations sur la relation du joueur aux éléments de gameplay. Premier constat important : l’analyse des résultats révèle que l’utilisation du jeu vidéo comme support à une marque d’intérêt est valide. Les items « note » ou « classement » ont des résultats de corrélations en grande majorité positifs. S’ils revêtent la forme adoptée par certains questionnaires traditionnels (classer, noter), ils permettent d’avancer que l’utilisation de jeux vidéo comme support (à la place de noms de métiers dans une liste) semble valide. Néanmoins d’autres tests sont nécessaires car les analyses ont fait ressortir que le mini-jeu « Promotion » ne corrèle pas du tout avec le type visé (Entrepreneur) mais avec son type opposé (Investigateur). « Assemblage » demandent aussi des modifications pour tenter d’obtenir de meilleurs corrélations avec les tests de références. Nous avons pu croiser ces résultats avec le tableau récapitulatif de la pertinence RIASEC des mini-jeux. et constater l’origine de ces défaillances. Les quizz, eux aussi proches de questionnaires RIASEC par leur forme (choisir parmi des listes de choix illustrés visuellement), incitent à l’optimisme. Ils restent proches des modes traditionnels de collecte de données, des marques de préférences contrôlées par le joueur, 201 mais revêtent l’originalité d’être contextualisées dans l’univers narratif du jeu. Bien qu’envisagés comme une solution appelée à disparaître au profit de tests sur les valeurs du consultant, ces items semblent importants à l’heure actuelle pour l’établissement d’un profil RIASEC. Ils devraient devenir obligatoires dans la progression du joueur dans les prochaines versions de JEU SERAI. Les variables des mini-jeux relevant moins de la marque d’intérêt traditionnelle, comme le fait de rejouer et les scores obtenus, sont moins performantes dans l’approche que nous en avions initialement. Elles ouvrent par contre des pistes intéressantes quant à leur utilisation. L’item « Joué » semblait un bon candidat à la marque d’une préférence. Le tableau de corrélation n’est cependant pas très positif. Nous envisageons de nouvelles manières de le présenter au joueur pour renforcer son association à une marque de préférence. Nous avançons que l’item « Joué », ou nombre de fois qu’un mini-jeu est rejoué, devrait être dissocié du type visé par le mini-jeu. « Joué », en lien avec une forme de recherche de la performance chez le joueur, corrèle significativement plus avec les types Réaliste, en tête, et Investigateur, en second. « Joué » pourrait être le signe d’appartenance à un type par le fait même de vouloir rejouer, et non par le type pour lequel le mini-jeu rejoué a été conçu. Cet item devrait donc être dédié à la mesure de ces dimensions dans le mode de calcul final du profil RIASEC. Une autre approche de la mesure des intérêts se profile, et semble corroborée par la constatation suivante. L’analyse des données de « Joué » permet aussi de souligner le rôle important des composants du système de jeu et du challenge. Il existe un lien fort entre la volonté de rejouer et la nature du gameplay du mini-jeu. Ces mécanismes, connus des concepteurs de jeux d’Entertainment, doivent être pris en compte dans la manière d’utiliser cet item. Les mini-jeux au gameplay comportant une présence marquée du temps dans la mécanique de jeu sont plus rejoués que les autres ; ceux dont la nature du gameplay repose sur l’exploration d’arborescences dialoguées le sont beaucoup moins. Par exemple pour le type social, dont les gameplay sont proches des jeux d’aventures (arborescences dialoguées…), le score de « Joué » ne devrait pas être pris en compte. Cela conforte l’idée que cet item doit être traité littéralement au cas par cas, en analysant avec le plus de précision possible les composants du gameplay. Nous l’avions anticipé sur les minijeux Artiste « Création d’automne » et « Déco », ne comportant pas de challenge mesuré. Nous ne l’avions pas assez discerné pour ces mécaniques de temps ou d’arborescence. Notre 202 tableau de synthèse des éléments de game-design par types RIASEC visé mériterait de s’affiner pour inclure une notion de pattern gameplay. Ces deux dernières constatations nous amènent au second résultat important de cette expérimentation. Il rejaillit sur la suite du développement de JEU SERAI mais surtout sur les voies de recherches pour de futures expérimentations. L’item « Joué » confirme que nous pouvons élaborer une autre manière de créer l’association entre type RIASEC et gameplay : par la nature des systèmes de jeu mis en œuvre et les mécaniques du challenge. La notion de préférence stratégique du joueur avait été écartée au début de la conception de JEU SERAI car pouvait être biaisée par le principe d’optimisation : j’utilise une stratégie que je maîtrise, plutôt qu’une nouvelle, même si cette nouvelle pourrait me plaire. Dans le cadre de JEU SERAI plusieurs solutions sont envisageables. Par exemple donner le choix au joueur pour résoudre un problème de : refaire une activité challengeante, avec un réglage plus difficile, ce qui renforcerait la tendance Réaliste ou Investigateur du profil, ou de choisir une autre activité, qui marquerait une préférence pour un autre type. D’un point de vue de la recherche de méthodologie, la découverte associée à l’item « Joué » cela nous indique clairement qu’il ne faut pas seulement s’appuyer sur association dimension / métaphore de l’activité. Il existe une relation plus subtile entre comportement du joueur, ce que nous pourrions appeler profil gameplay, et dimension psychologique. Les « activités récurrentes » étaient une tentative dans cette direction. Nous avions supposé que le fait de laisser des activités optionnelles accessibles dans le village en les associant aux types de Holland et de mesurer la fréquence avec laquelle les joueurs les pratiques permettrait de manière cachée d’évaluer une préférence. Le « Nombre de clics » des activités récurrentes, utilisés de manière brute, n’ont pas données de résultats très concluant mais propose peu de gameplay à proprement parler. Nous devrions poursuivre leur analyse en intégrant un panel plus large et plus diversifié. L’analyse des résultats des activités récurrentes et la recherche de la cause de leur défaillance a aussi soulevé le manque d’attention porté à leur conception. Elles auraient mérité une approche aussi rigoureuse que les mini-jeux, une évaluation de leurs éléments constitutifs, réutilisant le tableau de rationalisation. Les items « 1er Score » et « Meilleur score » ne semblaient pas être les meilleurs moyens de mesurer une préférence. Des problèmes de consignes difficiles à comprendre et de manque de variabilité des scores recalculés doivent être réglés avant de pouvoir véritablement se prononcer. L’item « Meilleur score » a cependant soulevé un point important. En confrontant les résultats des deux panels de participants (étudiants à l’UPOND, adultes actifs à 203 l’ARCNAM) nous avons pu constater que l’item corrélait avec les types visés significativement mieux chez le panel d’étudiants. Nous supposons qu’il s’agit d’un effet générationnel lié à la familiarité avec les jeux vidéo (moyenne d’âge ARCNAM 38 ans, UPOND 21 ans). Il semblerait pertinent de réaliser d’autres analyses dédiées à ce phénomène sur la base d’un panel global plus important, avec une représentation équilibrée des tranches d’âge. D’un point de vue purement gameplay, le dénombrement de l’item « Joué » a permis d’identifier la relation entre difficulté ressentie par le joueur et le fait qu’il rejoue. Les minijeux signalés comme étant les plus durs ou les plus faciles par les participants et encadrants sont aussi les jeux les moins joués : « Lumière » le plus dur, jamais rejoué, et « Classe », trop facile, très peu rejoué. Une passe d’équilibrage est nécessaire. Pointe aussi le problème de clarté des consignes signalé lors des passations. Il pourrait être réglé par des tests dédiés. De manière croisée, « Note », « classement » et « Meilleurs score » (panel UPOND) affichent de meilleures corrélations avec les mini-jeux de la deuxième journée virtuelle. Ces mini-jeux n’ont pas été significativement plus marqués que les autres en conception (voir Tableau récapitulatif de la pertinence RIASEC des mini-jeux en conclusion du chapitre 4). C’est aussi dans cette journée que les joueurs ont le plus rejoué. JEU SERAI est bien perçu comme une expérience ludique et prenante par les participants. L’un des problèmes majeur de JEU SERAI pour son déploiement à venir est sa durée. Comparativement à un test traditionnel d’intérêt prenant moins de 30mn, nous avons des passations excédant fréquemment les deux heures. Plusieurs solutions sont envisageables pour baisser drastiquement cette durée dont une permettrait de relever une marque de préférence en phase avec nos constations : Permettre au joueur de quitter un mini-jeu en cours à tout moment. Du point de vue de la production de JEU SERAI malgré les problèmes relatifs à la variabilité des profils des participants et au manque de données valides sur certains items, nous avons pur tirer une première série de conclusions et de recommandations pour l’aménagement du prototype. Une itération de production a été complété, la version actuelle ayant pris les enseignements de ses tests. Du point de vue méthodologique, nous retenons que les tests de comparaison entre scores des items et scores dans un test traditionnel ne sont pas suffisants pour bien évaluer la bonne élaboration d’un profil. Il semble fondamental de se doter d’outils permettant de comprendre 204 l’adhésion des joueurs aux items. Ici, les dénombrements ont permis la mise en évidence de la relation entre type de gameplay et certains items. L’analyse par ces procédés peut révéler des approches plus adaptés au modèle utilisé. Replacer dans le contexte plus global de connaissance de la psychologie du joueur, ces premiers résultats pointent déjà des éléments très prometteurs pour nos futurs travaux. La relation entre préférence des mini-jeux et trait psychologique semble se dessiner. Nous pouvons aussi émettre l’hypothèse que la mise en scène de l’interaction, le type de gameplay joue sur les décisions du joueur selon un type psychologique, et que nous pouvons le voir au travers de ses décisions et performances. Cela appelle bien sûr d’autres expérimentations permettant d’expliciter plus solidement les relations entre gameplay et psychologie du joueur. 205 206 207 CHAPITRE 6 – CONCLUSION GENERALE208 209 6 - Conclusion générale Le game design, la conception d’un gameplay, est empiriquement lié à la manipulation de modèles du joueur. Notre travail de recherche se positionne à la rencontre des modèles du joueur et modèles psychologiques, et ce au cœur même de l’expérience de jeu. La question que nous nous posons est celle de la détection des traits psychologiques, d’éléments caractérisant un joueur, au travers du gameplay ou, pour le moins, engagé dans une expérience ludique. Nous souhaitons par cette approche éviter les biais potentiels relatifs aux questionnaires après jeu, répandus dans l’élaboration de typologies comportementales par le passé. L’état de l’art souligne bien plusieurs formes de modélisation du joueur en œuvre dans le processus de conception d’un jeu. Des outils tels que les théories des jeux, de la motivation et de la décision permettent même un éclairage sur des mécanismes intuitivement mis en œuvre par le game designer. Des domaines comme l’intelligence artificielle proposent des modèles efficaces pour la mesure de la performance ou la création de joueurs virtuels. Mais les recherches visant à créer un modèle psychologique du joueur au travers de son expérience de jeu est vierge de démonstration argumentée. Notre travail vise à se doter d’une méthode de conception permettant d’expliciter cette relation. La méthode que nous avons expérimentée se résume en neuf points : 1 - Identifier un modèle psychologique éprouvé 2 - Identifier le faisceau de contraintes lié au public visé et au propos utile du jeu 3 - Mettre en place une chaine de validation des contenus avec les experts 4 - Choix du type de jeu 5 - Définir des items aux propriétés variées dans la boucle de gameplay 210 6 - Adopter une méthode de rationalisation des contenus pour les autres taches fondamentales du game design 7 - Construire un mode de restitution documenté 8 - Adopter un protocole de test et d’analyse permettant d’évaluer la pertinence des items et constituer des recommandations d’aménagements 9 - Itérer en revenant à la définition des items (4) ou la nature des contenus (5) jusqu’à obtenir une corrélation satisfaisante Les besoins avérés d’outils facilitant l’accès à l’orientation professionnelle nous ont donné l’opportunité de mettre en place une expérimentation fondée sur des modèles psychologiques éprouvés. Le projet JEU SERAI a pour ambition de se substituer aux tests d’autoévaluation par questionnaires pour les remplacer par la pratique d’un jeu vidéo. Il doit être accessible et faciliter le dialogue avec le conseiller d’orientation. La passation du test par ce support est aussi supposée contourner le biais de la désirabilité sociale inhérent aux passations traditionnelles. Le modèle retenu est celui de de Holland, mesurant les intérêts d’une personne sur six dimensions : Réaliste, Investigateur, Artiste, Social, Entreprenant, Conventionnel, ou RIASEC. Outre le fait qu’il soit largement utilisé depuis des années, il comporte une propriété qui en fait un candidat idéal à une intégration à un jeu vidéo. Les intérêts d’un sujet peuvent être évalués par son attraction pour un environnement, au sens large (métiers mais aussi lieux, personnes, activités…). Des tests éprouvés comme l’IRMR permettent d’évaluer la création de profil par le jeu. Le type de public visé et le contexte d’utilisation de JEU SERAI ont orienté sa conception. La contrainte majeure réside dans l’accessibilité à une audience très hétérogène. Le thème du jeu et son genre contribuent à y remédier. Le joueur est plongé dans un univers écologique, ne nécessitant pas de références particulières : un petit village attrayant proposant une multitude d’activités. Les gameplay proposés sont travaillés pour permettre une prise en main quasi instantanée. Une chaîne de validation des contenus et de co-conception avec les experts a été mise en place. Lors de la phase de conception initiale le processus a été bien respecté. Les contraintes liées à la production ont par contre amené à implémenter quelques éléments qui n’ont pu passer par la chaîne de validation complète. Certains mini-jeux ont, par exemple, vu leurs contenus commentés après coup. D’autres éléments, comme les fréquences de présentation 211 des activités récurrentes, n’ont pu être équilibrés du fait du manque de temps et de ressources. Même si cette collaboration avec les experts a pu souffrir en fin de production, nous avons pu mettre en place rapidement des tests sur un petit panel pour évaluer la direction prise lors de la phase de conception. Les activités simulées par des gameplay dans le village ont pu être validées avant de rentrer en production. Le point critique de la conception est la définition des items destinés à remplacer les réponses à des questionnaires. L’un des points importants de la méthodologie proposée consiste à établir un panel d’items aux propriétés différentes. Certains d’entre eux reposent sur du classement ou des notations proches des protocoles traditionnels mais dont les objets supports de la marque d’intérêt ne sont plus des listes de métiers ou d’activités mais des mini-jeux contextualisés dans le village. C’est en soi une innovation. D’autres items, comme les scores, le fait de rejouer à un mini-jeu ou la fréquence de pratiques d’activités récurrentes disposées dans le village sont des données classiques du jeu vidéo. Ils sont liés à des modèles du joueur et des types de comportements observables (performance, recherche de la complétion). Ces types d’items ne sont pas des marques d’intérêts volontaires du participant et sont mesurés à son insu. Cette définition des items s’est menée de pair avec l’établissement de la boucle de gameplay principale. Sa profonde relation à l’expérience de jeu amène à se doter d’une méthode la plus rationnelle possible d’évaluation des éléments de game design associés aux dimensions à mesurer. La spécification du game design de JEU SERAI comprend les cinq tâches fondamentales de la réalisation d’un jeu vidéo : boucle de gameplay, système de jeu, mise en scène de l’interaction, structure motivationnelle et contexte narratif. Nous avons pu constater au cours de ce travail une difficulté à faire cohabiter la nature du profil psychologique à réaliser et les modèles du joueur empiriques. Rappelons par exemple que les choix stratégiques du joueur et son désir d’optimisation gameplay peuvent s’opposer aux choix liés à un intérêt pour une activité que nous tentons de mesurer. La nature des items et l’ensemble des éléments concrets qui en permettent la mesure via le système de jeu doivent veiller à ne pas créer des biais en lien avec les comportements ou modèles connus du joueur. Nous avons pu apporter des solutions à ces problématiques dans le cas du modèle de Holland. Nous supposons que ce type de conflit peut être inhérent à la volonté de faire coexister la mesure d’un comportement ludique et une typologie de comportement sans rapport initial avec des modèles du joueur. Les ébauches que nous avons réalisées sur le modèle de Harren, sur les types de prise de décision, et sur le système de valeur du joueur semblent le confirmer. 212 Les éléments portant le plus d’items pour les analyses sont les mini-jeux. Ils devaient refléter systématiquement une dimension du modèle de Holland, un des types RIASEC. Nous avons catégorisé les éléments composants chacun des mini-jeux et en particulier ceux relatifs à leur gameplay (objectifs, cible des interactions, feedback…). Ce travail permet de comparer chaque élément conçu au type RIASEC visé en se basant sur la littérature décrivant la typologie. Des catégories d’éléments sont relativement simple à évaluer (décors, cibles des interactions…) car représentées explicitement dans l’univers du jeu. D’autres sont plus délicates à classer, comme la catégorie gameplay ramenée à des verbes d’action du joueur. S’il est simple de lier une action traduite métaphoriquement dans le jeu (cueillir des pommes avec un sécateur, clairement associé au type Réaliste), il est plus difficile d’estimer ceux qui sont de l’ordre de l’activité cognitive. Cette estimation reste de l’ordre de la supposition. Par exemple nous avons pu voir pour le jeu « Promotion » que nous avions oublié une dimension déductive dans le gameplay, qui ne s’adresse pas forcément au type visé. Elle ressort dans les analyses de résultats. Toujours est-il que cette méthode, inédite, offre une première manière de visualiser la qualité des éléments devant véhiculer des dimensions du profil psychologique à implémenter. Le tableau récapitulatif de la pertinence RIASEC des mini-jeux en conclusion du quatrième chapitre synthétise cette approche de conception. L’outil de collecte de données et de restitution implémenté est documenté de manière exhaustive. Il permet la mise en place des premières passations et leur analyse. Le panel de 142 premiers participants comporte un déficit de certains types RIASEC (Réaliste et Conventionnel). L’analyse des résultats a permis de hiérarchiser les items par performance et, croisé avec les outils rationnels de conception, d’identifier la source de certaines défaillances. Nous avons pu aussi soulever une corrélation intéressante entre nature du gameplay ou des activités proposées et certains types RIASEC, amenant un questionnement de fond sur l’approche pour le cas précis de JEU SERAI. D’un point de vue de la recherche de méthodologie les conclusions associées à l’item « Joué » nous indique clairement qu’il ne faut pas seulement s’appuyer sur association dimension / métaphore de l’activité. Il existe une relation plus subtile entre comportement du joueur, ce que nous pourrions appeler profil gameplay, et dimension psychologique. La suite à très court terme de nos travaux consiste à terminer la réalisation de JEU SERAI. Il s’agit d’intégrer une série d’optimisations et d’aménagements dictés par la première série de 213 passations. L’objectif premier est de consolider la mesure des intérêts. Le profil généré doit à terme être complété par le type de prise de décision et les valeurs du consultant, dont nous avons dès la conception ébauché des pistes d’implémentation. Il faut ensuite déployer cet outil dans les centres de formation. Il nous semble que le principal apport du travail présenté dans cette thèse est de proposer une approche scientifique et une méthode pour intégrer un modèle psychologique dans la conception d’un jeu. Notre problématique s’inscrit sans doute dans la suite des nombreux travaux de psychologie et de sociologie qui tente de définir ce qu’est un joueur et, en particulier, un joueur de jeux vidéo. Cependant à l’instar de Bartle qui fut un pionnier dans ce domaine, nous nous somme placé en tant que Designer : si nous cherchons à comprendre le joueur c’est pour en tirer des principes et des méthodes pour faire de meilleurs jeux. D’autre part nous travaillons dans le cadre d’une évaluation opérationnelle qui est intégrée au jeu et non pas d’une analyse réalisée à postériori. Dans ce cadre il est possible de développer nos travaux en visant essentiellement une approche purement ludique ou dans le cadre de jeux utiles. Comprendre mieux les joueurs et, de façon plus générale, les communautés de joueur est un objectif visé par une grande partie des concepteurs et des industriels du jeu. A l’heure où les jeux tendent à devenir des services plus que des produits en boite, la définition du profil des joueurs devient un enjeu commercial. Comment définir le contenu à produire pour garder une communauté active de joueurs ? La détermination de typologies comportementales et la mesure du profil de la communauté peut aider à orienter la production de manière très concrète, si l’on peut associer le modèle psychologique utilisé et le contenu gameplay de manière rationnelle. Le modèle utilisé doit sans doute combiner des techniques statistiques issues du marketing et des modèles psychologiques et sociologiques. L’usage du modèle du joueur peut aller au-delà de l’aspect purement ludique. Il peut être au cœur de l’utilité d’un jeu « utile ». C’est le cas de JEU SERAI dans la recherche de caractéristiques pour l’orientation professionnelle. Les jeux de formations supposent en général un modèle de l’apprenant qui pilote la progression du contenu pédagogique. Ceci doit être combiné à un modèle motivationnel issu des techniques de Game Design. Tout le monde semble s’accorder sur ces points et la théorie du flow est souvent citée comme le point de convergence entre le jeu vidéo et les outils de formation. Cependant une mise en œuvre de 214 cette idée relève encore beaucoup plus de l’artisanat que de la science. Les jeux thérapeutiques [Mader 2012] tentent de combiner le modèle d’un processus de guérisons et une mécanique de jeu. Les jeux utiles, à messages politiques, humanitaires, globalement les jeux qui tendent à avoir un impact social, retireraient des avantages à profiler leurs utilisateurs d’un point de vue psychologique, et à définir la présentation du message en fonction de chaque individu. L’apport de cette méthodologie et les voies de développement qu’elle suggère rejoignent un constat dans les sciences humaines. Des recherches récentes en informatique et sciences cognitives nous éclairent sur le principe d’engagement du joueur [Soriano 2013] Les travaux en psychologie de Thomas Gaon [Gaon 2010] mettent en avant les liens étroits entre game design et ressorts de l’angoisse. Pour avancer dans la l’étude du joueur, premier consommateur de biens culturels, et les éventuelles manipulations dont il peut être la cible, nous avons besoin de nous équiper de moyens au croisement des sciences informatiques et sciences humaines 215 216 217 GLOSSAIRE ET BIBLIOGRAPHIE218 219 Glossaire 3C: De l’expression anglaise Camera Control Character. Définit la relation étroite entre le comportement de la caméra, les inputs du joueur et les réactions de l’objet contrôlé. Brainstorm: Travail de recherche d’idées en groupe. Cercle magique: Métaphore de l’engagement du joueur dans le jeu, il franchit le cercle magique, où les règles sont différentes. Contrôleur: Mode d’interaction du joueur avec le jeu video. Il peut prendre plusieurs formes : une manette comme le DualShock de Sony, un outil de pointage comme la Wiimote de Nintendo. Death match: Mode multijoueur compétitif où chaque joueur joue pour soi. Drop: Se dit du contenu des monstres, ennemis et animaux dans un jeu. Par exemple, dans la plupart des MMORPG, les loups contiennent de l’or et des armes. e.Learning: apprentissage ou formation en ligne Five Factor model: Ou Big Five, est un modèle en psychologie créé par Costa et McCrae. Ils ramènent nos traits caractérisants à cinq dimensions mesurables : ouverture à l'expérience ; caractère consciencieux ; extraversion ; agréabilité ; névrosisme. FPS: First person shooter, jeu de tir à la première personne. La caméra est en vue subjective d’un personnage virtuel. Par exemple Half Life. Free to play: Jeu ne nécessitant pas de payer pour jouer mais basé sur un modèle économique où le joueur est libre d’acheter des éléments complémentaires pour agrémenter son expérience. Par exemple Farmville Game: Ici, se rapporte au cadre du jeu, les règles, l’objet jeu. Game designer: Poste dans une équipe de développement. Personne dédiée à la conception et au réglage des systèmes de jeu ou des mécaniques de jeu. Game Studies: Recherches académiques sur le jeu vidéo 220 Gamifié: Du principe de « Gamification », terme couvrant l’adjonction de mécanismes ludiques à une activité originalement sans rapport avec le jeu. Par exemple, faire gagner des points à chaque fois que l’on fait le plein de sa voiture. Guilde: « Association pérenne de joueurs réunis par un intérêt commun sous une même bannière. Les guildes peuvent avoir un but commercial, militaire, politique, social ou autre selon les MMOG. » http://www.jeuxonline.info/lexique/mot/Guilde Input: Consiste généralement en une pression sur un bouton. Les inputs sont les décisions du joueur ramenés à des signaux compréhensible par le système de jeu informatique. Item: En psychométrie il s’agit généralement d’un élément d’un questionnaire de test. Jeu colocalisé: Jeu nécessitant que les joueurs soient réunis dans un même espace. Par exemple les jeux musicaux comme Sing Star. Jeu compétitif en ligne: Jeu où les joueurs sont connectés à un réseau, et sont les uns contre les autres, seuls ou en équipes. Par exemple Counter Strike. Jeu de course: simule la conduite de véhicules sur des circuits. Jeu de parcours: Le joueur déroule le jeu dans un ordre préétabli, comme par exemple dans Super Mario. S’oppose aux mondes ouverts, où le joueur est libre d’explorer l’espace et la narration dans l’ordre qu’il souhaite. Jeu ubiquitaire: Expérience de jeu combinant des éléments virtuels et réels. Par exemple, une chasse au trésor avec un téléphone géolocalisé. Jeux sociaux asynchrones: Jeux développés sur les réseaux sociaux. Bien que fondé sur les mécaniques collaboratives, les joueurs n’ont pas besoin d’être connectés en même temps pour interagir entre eux. Par exemple Farmville. Level Design: Tâche du game design consistant à créer un niveau de jeu (modélisation du décors, disposition et paramétrages des objets) MMORPG: Massively Multiplayer Online Role Playing Games, jeu de role massivement multijoueur en ligne. Par exemple World of Warcraft. Pattern: Se dit parfois d’une situation de jeu associée à un ensemble de stratégies fini pour le joueur. Par exemple un type d’obstacle à franchir dans un jeu de plateforme. Pay off: Dans le sens de la Théorie des Jeux, signifie le résultat de la confrontation entre les stratégies des différents joueurs, exprimé en gain et perte pour les participants. 221 Play: Ici, signifie l’expérience de jouer. Réalisme: Nous évoquons le réalisme de la simulation, du comportement des composants de l’univers virtuel. Simulation: Ce que simule la métaphore ludique. Une voiture sur un circuit, des cubes soumis à la gravité, Un guerrier luttant contre des armées maléfiques. N’implique pas le réalisme mais une forme de crédibilité des comportements et feedbacks. Spawner: Initialiser un objet en un point donné de l’environnement sous des conditions particulières. Par exemple, faire apparaitre un monstre dans une pièce alors que le joueur s’en approche. Stimuli: Ici au sens gameplay. Signe visuel ou sonore relié à un potentiel d’interaction. 222 223 Bibliographie [Albinet 2011] ALBINET M. Concevoir un jeu video, Limoges, Editions fyp, 2011 [Alvarez 2010] ALVAREZ J. & DJAOUTI, D. Introduction au Serious Game, Paris, Question Théoriques, 2010 [Aponte 2009] APONTE M-V., LEVIEUX G. & NATKIN S. Scaling the Level of Difficulty in Single Player Video Games, actes de l’ICEC Paris 2009, Berlin Heidelberg, Springer, 2009 [Arsenault 2008] ARSENAULT D. & PERRON B. In the frame of the magic cycle: the circle(s) of gameplay, dans The video game theory reader 2, B. Perron & M.J.P. Wolf (Eds.), Routledge, 2008 [Bartle 1996] BARTLE R.A. Hearts, Clubs, Diamonds, Spades: Players who suit MUDs, Journal of MUD research n°1, 1996, réédité dans The Game Design Reader, K. Salen & E. Zimmerman (Eds.), Cambridge, MIT Press, 2006 [Bateman 2005] BATEMAN C. & BOON R. 21st Century Game Design, Boston, Charles River Media, 2005. [Bigot 2011] BIGOT O. Passation papier/crayon et informatisées : quelle influence sur les stratégies d’autoreprésentation, thèse en psychologie sociale, Université Rennes 2, 2011 [Blanchart 2004] BLANCHARD S. & SONTAG J.-C. Les pratiques d’orientation professionnelle : éclairages théoriques et témoignages d’acteurs, Revue Formation & Territoire numéro 9, juillet 2004 [Boy 2005] BOY T. De l’orientation au projet personnel: pertinence de l’examen psychologique, Le journal des psychologues n° 230, p. 33-36 [Brougère 2005] BROUGERE G. jouer/apprendre, Paris, Economia Anthropos 2005 [Caillois 1967] CAILLOIS R. Les jeux et les hommes, Paris, Folio essais, 1967 [Conroy 2011] CONROY D., WYETH P. & JHONSON D. Modeling player-like behavior for game AI design, actes de l’ ACE '11, Lisbonne novembre 2011 224 [Consortium 2009] CORE P., NATKIN S., LEBLANC SITHAU C., VRIGNAUD P., LOARER E. & GUARDIOLA E. Annexe Technique du projet JEU SERAI, Appel à projet serious game de la DGCIS 2009 [Costa 1992] COSTA P.T. & McCRAE R.R. NEO PI-R professional manual. Odessa, Psychological Assessment Resources, 1992 [Costikyan 1994] COSTIKYAN G. I have no word but i must design, Interactive Fantasy n°2, 1994. Réédité dans Game Design Reader, K. Salen & E. Zimmerman (Eds.), Cambridge, MIT press, 2006 [Cowley 07] COWLEY B., CHARLES D., BLACK M. & KICKET R. Data-Driven Decision Theory fir player analysis in Pacman, in Technical report of the AIIDE workshop 2007, Optimizing Player Satisfaction, Menlo Park, AAAI press, 2007 [Csikszentmihalyi 91] CSIKSZENTMIHALYI M. Flow: The Psychology of Optimal Experience, New York, Harper Perennial, 1991 [Deci 2000] DECI E.L.ci & RYAN R.M. The “What” and “Why” of Goal Pursuits: Human Needs and the Self-Determination of Behavior, Psychological Inquiry, volume 11, 2000 [Demangeon 1984] DEMANGEON M., Intérêts, valeurs, personnalité en classe Terminale. Paris, INETOP, 1984 [Denis 2006] DENIS G. Jeux vidéo éducatifs et motivation : application à l’enseignement du jazz, Thèse à l’Ecole des mines de Paris, 2006 [Dias 2010] DIAS R. & MARTINHO C. Adapting content presentation and control to player personality in videogames, Actes de la conference ACE '11, Lisbonne novembre 2011 [Djaouti 2010] DJAOUTI D., ALVAREZ J. & JESSEL J-P. Concevoir l'interactivité ludique : une vue d'ensemble des méthodologies de "Game Design"; Actes du colloque Ludovia 2010, Ax-les-Thermes 2010 [Gaon 2010] GAON T. Le ressort de l’angoisse dans les jeux vidéo, in Les jeux vidéo au croisement du social, de l’art et de la culture. Questions de communication. série acte 8. Presses universitaires de Nancy, 2010 [Green 2003] GREEN C.S Green & BAVELIER D. Action video game modifies visual selective attention, Nature, volume 423, mai 2003 [Guardiola 2000] GUARDIOLA E. Ecrire pour le jeu, Paris, Dixit, 2000 225 [Guardiola 2005] GUARDIOLA E. & NATKIN S. Game Theory and video game, a new approach of game theory to analyze and conceive game systems, actes de CGAMES’05, Angouleme 2005 [Guardiola 2010] GUARDIOLA E. & NATKIN S. Player’s Model: Criteria for a Gameplay Profile Measure, Actes de l’ICEC 2010, Seoul, Berlin Heidelberg, Springer, 2010 [Guardiola 2011] GUARDIOLA E. Master class game design of serious game: a list of problems to solve, eVirtuoses, 2011, Valenciennes [Guardiola 2012] NATKIN S., GUARDIOLA E., VRIGNAUD P., SORIANO D. & LOARER E. Du jeu utile au jeu sérieux : un exemple le projet JEU SERAI, Revue Hermès n o 62. Les jeux vidéo : quand jouer, c’est communiquer, avril 2012 [Henriot 1989] HENRIOT J. Sous couleur de jouer, Paris, Jose Corti, 1989. [Herbrich 2007] HERBRICH R., MINKA T. & GRAEPEL T. TrueSkill, A Bayesian Skill Rating System, dans Advances in Neural Information Processing Systems, volume 20, MIT Press, janvier 2007 [Herbrich 2008] HERBRICH R. & GRAEPEL T Playing Machines: Machine Learning Applications in Computer Games ICML 2008 Tutorial, Helsinki, 5 July 2008 [Holland 1966] HOLLAND J. L. The psychology of vocational choice. A theory of personality types and model environments, MA: Blaisdel, Waltham, 1966 [Huizinga 1951] HUIZINGA J. Homo ludens, Essai sur la fonction sociale du jeu, Paris, Gallimard, 1951 [Huteau 1994] HUTTEAU M. L’évaluation psychologique des personnes : problèmes et enjeux, L’Orientation Scolaire et professionnelle, volume 23/1, p. 5-13. [Juul 2005] JUUL J. Half-real, Cambridge, MIT press, 2005 [Klimm 2009] KLIMMT C., BLAKE C., HEFNER D., VORDERER P. & ROTH C. Player Performance, Satisfaction, and Video Game Enjoyment, Actes de l’ICEC 2009, Berlin Heidelberg, Springer, 2009 [Koster 2005] KOSTER R. Theory of fun for game design, Scottsdale, Paraglyph Press, 2005 [Le Hy 2001] LE HY R., ARRIGONI A., BESSIERE P. & LEBELTEL O. Teaching Bayesian Behaviours to Videogame Characters; actes de l’IEEE-RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, 2003 226 [Lepper 1987] LEPPER M.R. & MALONE T.W. Intrinsic motivation and instructional effectiveness in computer-based education. Dans Aptitude, learning, and instruction: III. Conative and affective process analysis, R.E. Snow & M.J. Farr (Eds.), Hillsdale, 2007 [Levieux 2011] LEVIEUX G. Mesure de la difficulté dans les jeux vidéo, Thèse en informatique, CNAM, Paris, 2011 [Mader.2012] MADER S., NATKIN S. & LEVIEUX G. How to analyse therapeutic games: the player/game/therapy model, Acte de la conference Entertainment Computing-ICEC 2012, Bremen 2012, Berlin Heidelberg, Springer, 2009 [Meier 2010] MEIER S. Everything You Know is Wrong, Keynote GDC, San Francisco, 2010 [Mountain 2010] MOUNTAIN G. Psychology profiling in Silent Hill Shattered memories, Paris game AI conference 2010, Paris, 2010 [Murray 1997] MURRAY J.H. Hamlet on the hollodeck, the future of narrative in cyberspace, Cambrigde, MIT press, 1997 [Norman 2002] NORMAN D. A. The Design of Everyday Things, Réédition, New York, Basic books, 2002 [Parsons 1909] PARSONS F. Choosing a vocation, Boston, Houghton Mifflin, 1909 [Rodriguez 2006] RODRIGUEZ H. The Playful and the Serious: An approximation to Huizinga's Homo Ludens, The international journal of computer game research, volume 6 issue 1, décembre 2006 [Rollings 2004] ROLLINGS A. & MORRIS D. Game architecture and design A new edition, Indianapolis, New riders, 2004 [Rouse 2004] HOUSE R. III, Game design :Theory & Practice, Jones & Bartlett Learning; 2ème edition, Sudbury, 2004 [Salen 2004] SALEN K. & ZIMMERMAN E. Rule of Play : Game Design Fundamentals, Londres, MIT press, 2004. [Schell 2008] SCHELL. J. The art of game design, A book of lenses, Burlington, Morgan Kaufmann, 2008 [Soriano 2013], SORIANO D., ERJAVEC G., NATKIN S. & DURAND M. Could the Player's Engagement in a Video Game Increase His/Her Interest in Science?, Actes de la 227 conférence ACE 2013 - Making New Knowledge, Nertherland, Berlin Heidelberg, Springer, 2013 [Stora 2006] STORA M. Ico, conte de fée interactif : histoire d’un atelier jeu vidéo, revue L’autre, vol.7, n°2, 2006 [Strong 1955] STRONG E.K., Vocational interests 18 years after college. Minneapolis, University of Minnesota Press, 1955 [Swink 2009] SWINK S. Game feel, a game designer’s guide to virtual sensation, Burlington, Morgan Kaufmann, 2009 [Tétreau 2005] TETREAU B. L’essor d’une psychologie des intérêts professionnels, Carriérologie, vol. 10, no 1-2, p. 75-118. [Turkle 2005] TURKLE S. The Second Self: Computers And The Human Spirit, 20th Anniversary edition, Cambridge, MIT Press, 2005 [Tversky 1992] TVERSKY A. & KANHEMAN D. Advances in Prospect Theory: Cumulative Representation of Uncertainty, Journal of Risk and Uncertainty volume 5, 1992 [Vrignaud 2005] VRIGNAUD P. & BERNAUD J-L. L’évaluation des intérêts professionnel, Wavre, Editions Mardaga, 2005 [Vrignaud 2006] VRIGNAUD P. & CUVILLIER B. HEXA3D. Questionnaire d’évaluation des intérêts, Paris, Editions du centre de psychologie appliquée, 2006 [Vrignaud 2008] VRIGNAUD P. & LOARER E. Méthode des tests et recrutement, dans Psychologie sociales et ressources humaines in, M. Brombert & A. Trognon (Eds.], Collection Nouveaux cours de psychologie, Paris, PUF, 2008 [Willo 2012] WILLO G. Le « surgissement » cybernétique, un opérateur du transfert dans la psychose, Adolescence 2012/1, n° 79, 2012 [Yan 2007] YAN C. Jeux Vidéo Multijoueurs ubiquitaires adaptatifs : principes de conception et architecture d’exécution, Thèse en informatique, CNAM, Paris 2007 [Yee 2007] YEE N. Motivations of Play in online games, Journal of CyberPsychology and Behavior, volume 9, 2007 [Yun 2010] YUN C., TREVINO P., HOLTKAMP W. & DEND Z. PADS: enhancing gaming experience using profile-based adaptive difficulty system, Actes du Sandbox’10, 5th ACM SIGGRAPH Symposium on Video Games, Los Angeles, juillet 2010 228 229 Liste des jeux cités Nous avons adopté la nomenclature suivante : Nom du jeu, support de la version citée, nom du studio de développement s’il est disponible, nom de l’éditeur, année de sortie. [Akira 2005] Tetris: the grand master 3 – Terror-instinct, arcade, Akira, 2005 [Bethesda 2006] The Elder Scrolls IV Oblivion, Microsoft Xbox 360, Bethesda, 2K Games Publisher, 2006 [Bioware 1999] Baldur’s Gate, PC, Black Isle Studio/Bioware, Interplay, 1999 [Bioware 2005] Jade Empire, Microsoft Xbox, Bioware, Microsoft, 2005 [Bioware 2008]Mass Effect , Microsoft Xbox 360, Bioware/pandemic studio, Microsoft game studio, 2008 [Blizzard 2004] World of Warcraft, PC en ligne, Blizzard entertainment, 2004 [Blizzard 2010] Starcraft 2, PC en ligne, Blizzard entertainment, 2010 [Climax 2009] Silent Hill Shaterred memories, Nintendo Wii, Climax Studios, Konami, 2009 [Electronic Arts 2007] My Sims, Nintendo Wii, Electronic Arts, 2007 [Firaxis 2010] Civilization V, PC, Firaxis, EK games, 2010 [Frasca 2003] September 12, jeu flash en ligne, Gonzalo Frasca, 2003 [Hasbro 1972] Mastermind, jeu de société, Mordecai Meirowitz, Hasbro, 1972 [ICO team 2002] ICO, Sony Playstation, ICO team SCE Japan Studio, SCE, 2002 [ID 1997] Quake II, PC, ID Software, Activision, 1997 [Intelligent Systems 2005] Mario Kart DS, Nintendo DS, Intelligent Systems, Nintendo, 2005 [BreakAway 2006] Pulse, BreakAway, 2006 [Lionhead 2001] Black and White, PC, Lionhead Studios, Electronic Arts, 2001 [Maddox 2001] IL2 Sturmovik, PC, Maddox Games, Ubisoft, 2001 230 [Maxis 2000] Les Sims, PC, Maxis, Electronic Arts, 2000 [MGS 2005]: Forza Motorsport, Microsoft Xbox, Microsoft Game Studios, 2005 [Mimesis 2011] Mamba Nation, PC en ligne, Mimesis Republic, 2011 [Mindscrape 2009] Mission Equitation Online, PC en ligne, Mimesis Republic, Mindscape, 2009 [Mojang 2011] Minecraft, PC en ligne, Mojang [Namco 1979] Pacman, arcade, Namco, 1979 [Nintendo 1985] Super Mario bros, Nintendo Entertainment System, 1985 [Nintendo 2000] Pokemen snap, Nintendo 64, Nintendo, 2000 [Nintendo 2006] Entrainement cerebral du docteur Kawashima : quel âge a votre cerveau ?, Nintendo DS, Nintendo, 2006 [Nintendo 2008] Animal Crossing let’s go to the city, Nintendo Wii, Nintendo, 2008 [Pajitnov 1987] Tetris, ZX Spectrum, Alexis Pajitnov, Mirrorsoft 1987 [Secret Level 2006] America’s Army Rise of a soldier, Microsoft Xbox, Secret Level, Ubisoft, 2006 [Taito 1978] Space Invader, version arcade, Taito, 1978 [Team Ninja 2004] Ninja gaiden, Microsoft Xbox, Team Ninja, Tecmo, 2004 [Tekneo 2012] SGCogR, PC, consortium Tekneo, Seaside Agency, Cnam, Neo Factory, Spirops, Inserm, 2012 [The Education Arcade] Supercharged, PC, The Education Arcade, 2003 [TSR 1974] Dungeons and Dragons, jeu de rôle papier, TSR, 1974 [U.S.Army 2002] America’s Army, PC, U.S. Army [Valve 1998] Half-life, PC, Valve, Sierra, 1998 [Valve 2000] Counter Strike, PC, Valve, Sierra, 2000 [Turtle Rock Studios 2008] Left 4 Dead, PC, Turtle Rock Studios, Valve, 2008 [Williams 1980] Defender, Atari 2600, Williams inc., 1980 [Zynga 2009] Farmville, PC en ligne sur Facebook, Zynga, 2009 231 232 Annexes 233 Annexe 1 Contexte général du projet Jeu Serai Nous citons ici quelques éléments du dossier de présentation que nous avons réalisé pour la DGCIS35 en 2009 [Consortium 2009]. Ce serious game est réalisé par un consortium composé du CNAM (CEDRIC et INETOP), de l’association ARCNAM Poitou-Charentes, de l’université Paris Ouest, des sociétés Wizarbox et Seaside Agency. JEU SERAI a été présenté à l’appel à projet serious game de la DGCIS en 2009. Lauréat de ce concours, le projet a pu démarrer en Janvier 2010. Le prototype a aussi obtenu le prix Game For Change aux eVirtuose awards 2011 décerné par un jury de chercheurs et de professionnels du domaine des jeux à impact social. Ce projet répond à un besoin croisant lié à l’orientation ou la réorientation professionnelle. Deux entités sont particulièrement touchées par la problématique de l’orientation professionnelle. L’ARCNAM Poitou-Charentes qui reçoit chaque année, en entretien conseil préalable à une entrée en formation ou en VAE, plus de 1200 personnes, actifs salariés, demandeurs d’emploi jeunes ou adultes et particuliers d’origines sociales (milieu, activité,…) et géographiques (rural, urbain) diverses. Leur engagement sur une formation au CNAM suppose au préalable que leur projet personnel et professionnel soit formulé à défaut d’être finalisé. D’autre part l’Université de paris Ouest dont les publics étudiants sont significatifs d’une population en formation initiale : plus de 30 000 étudiants inscrits. Pour éviter les taux important de désinscription (40% des premières années) et s’adresser à des publics importants il leur semble nécessaire de disposer d’outils d’aide à l’orientation efficaces et attractifs. La situation de paris Ouest n’est en aucun cas exceptionnelle et la plupart des universités françaises ont identifié les mêmes besoins et les mêmes manques. Dans ce contexte la question de l’orientation active et de l’accompagnement des parcours professionnels est un enjeu de premier ordre pour l’ensemble des acteurs : individu, prescripteurs, centre de formation, centre de bilans, service RH des entreprises, pouvoirs publics… JEU SERAI se propose de faciliter le processus d’orientation et le travail du conseiller en fournissant grâce à des informations prélevées en situation de jeu une évaluation de certaines caractéristiques de la personne utiles pour mieux gérer son orientation. Il s’agit d’une forme 234 de médiation à distance qui ne remplace pas l’action du conseiller mais la facilite. Nous faisons également l’hypothèse que la forme ludique de l’outil encouragera certains publics traditionnellement à l’écart des services et démarches d’orientation à mieux s’y engager et limitera les abandons en cours de processus, du fait de l’engagement du joueur dans le jeu proposé. En termes d’usage, les effets attendus concernent donc la sécurisation du processus d’orientation en améliorant son efficacité (processus plus valide, plus rapide, engagement plus actif de la personne, moins d’abandons ou de choix prématurés ou non pertinents) et son extension (l’aspect ludique amenant plus de personnes à s’y engager, y compris celles que les formes plus classiques sur support papier rebutent et qui sont trop fréquemment éloignés des services d’orientation). Cinq entités aux rôles complémentaires ont collaboré à la réalisation de JEU SERAI. • Wizarbox, société de développement de jeu vidéo, a piloté la production et fourni les ressources en programmation et graphisme. • Seaside Agency, société de game design, assure la conception et le game design tout au long de la production. • Le CNAM, au travers de l’INETOP36 et de l’ENJMIN37 : l’INETOP apporte son expertise en orientation professionnelle et l’ENJMIN son expertise dans le domaine du jeu vidéo. • Université Paris Ouest Nanterre La Défense fournit de l’expertise en orientation professionnelle et psychométrie pour la mise en place des tests d’évaluation. • L’ARCNAM38 Poitou-Charentes permet de réaliser des tests sur le public adulte. Originellement la réalisation du prototype et les tests d’évaluation devaient durer deux ans, de décembre 2009 à décembre 2011. Les tests ont cependant demandé plus de temps que prévu et ont repoussé de trois mois la fin du projet. Les partenaires ont souhaité établir un comité scientifique composé de personnes extérieures au consortium, expertes dans les domaines traités, et à qui l’avancée des travaux est présentée afin de recueillir leurs impressions. La périodicité des réunions de ce comité est fixée à six mois. Il est composé des personnes suivantes : Jean-Marc Labat (Université Pierre et Marie 235 Curie, Pédagogie par le jeu/Serious Game) ; Benoit Schyns (Forem Belgique, équivalent de l’AFPA) ; Todd Lubart (Université Paris Descartes, Professeur de Psychologie Différentielle). Tout au long du projet, des réunions de travail ont été régulièrement organisées entre Seaside Agency, le Cnam Inetop et l’Université Paris Ouest Nanterre la Défense. Ces réunions de travail ont notamment permis de cibler les modèles d’orientations à mettre en scène dans l’application ainsi que les mesures à réaliser. Choix technologiques et chaîne de production Le moteur a été développé sous Unity, middleware dédié à la création de jeux vidéo. Le choix de cette technologie a été dicté par sa capacité de portage facilité entre les différents supports que vise JEU SERAI : être disponible en ligne via navigateur sur PC, mais aussi jouable sur téléphone mobiles et sur tablettes tactiles. Unity intègre des composants préconfigurés (physique…) et son interface d’intégration des objets et de scripts est très accessible. La production graphique a été réalisée sur 3DS max, les textures sur Photoshop, et les objets ont été directement importés et placés dans les scènes sous Unity. Aucun outil spécifique n’a été développé, mais plusieurs modules complémentaires ont été ajoutés à Unity (pathfinding, outils de dialogue, outil de création d’avatar…). Environnement de travail sous Unity 236 Annexe 2 Fiche de conception de mini-jeu Titre Déclencheur • Comment/où se déclenche le jeu Intention • Quelle activité est simulée Caméra et contexte • Type de vue, métaphore générale Gameplay • Objectif • Règles de fonctionnement • Valeurs par défaut des paramètres Ecran de fin • Comment les résultats sont communiqués au joueur Critère d’implication du joueur • Comment le joueur peut savoir s’il est performant ? Variables importantes pour le réglage du gameplay • Doivent pouvoir se retrouver dans le code Principaux éléments à produire • Graphique, sonore… Ecran de jeu esquissé 237 Annexe 3 – Découpage des éléments constitutifs d’un gameplay Aide à l’évaluation du rapport entre contenu gameplay et dimension psychologique 238 Annexe 4 – Profils des participants aux tests d’évaluation Profils des participants de l’UPOND39 : Formation suivie Effectifs Pourcentage % valide Non précisé 42 40,78 40,78 BAC ES, Deug arts plastiques, BTS communication visuelle 1 0,97 0,97 Bi-licence économie et gestion-anglais à PARIS X. 1 0,97 0,97 BPJEPS escrime 1 0,97 0,97 BTS communication + 2 ans de Licence de Psychologie 1 0,97 0,97 BTS ROC (REALISATION D'OUVRAGE CHAUDRONNEE) 1 0,97 0,97 carrieres sanitaires et sociales 1 0,97 0,97 Controle de gestion 1 0,97 0,97 Droit 6 5,83 5,83 DU éducation et enseignement 1 0,97 0,97 DUT Chimie 1 0,97 0,97 DUT GEA 1 0,97 0,97 Ecole d'éducateur spécialisé 1 0,97 0,97 Ecole de commerce 1 0,97 0,97 ESC 1 0,97 0,97 Humanités & Arts du spectacle 1 0,97 0,97 L1 SEGMI 1 0,97 0,97 L3 Ethnologie 1 0,97 0,97 LCE 1 0,97 0,97 licence (non précisée) 2 1,94 1,94 Licence Art du Spectacle - Cinema / Master Cinema 1 0,97 0,97 Licence d'art /archéologie à Paris I Panthéon-Sorbonne 1 0,97 0,97 Licence d'Histoire 1 0,97 0,97 Valide Licence d'histoire sociologie 1 0,97 0,97 239 Formation suivie Effectifs Pourcentage % valide Licence droit economie gestion 1 0,97 0,97 licence droit français / droit allemand 1 0,97 0,97 Licence Histoire de l'art et archéologie 1 0,97 0,97 Humanité 5 4,85 4,85 Licence LCE Anglais 1 0,97 0,97 Licence MIAGE 1 0,97 0,97 licence science de l'éducation 1 0,97 0,97 LLCE Espagnol 1 0,97 0,97 Master 1 Droit privé et sciences criminelles, mention professions judiciaires 1 0,97 0,97 Master 1 Information et Communication, option DEFI 1 0,97 0,97 Master enseignement 1 0,97 0,97 master information et communication 1 0,97 0,97 Master Linguistique Générale Appliquée 1 0,97 0,97 master staps 1 0,97 0,97 Psychologie 9 8,74 8,74 Science du Langage 1 0,97 0,97 Sociologie 1 0,97 0,97 STAPS 1 0,97 0,97 Cinéma audiovisuel 1 0,97 0,97 Master ergonomie 1 0,97 0,97 Total 103 100,00 100,00 Sexe Effectifs Pourcentage Pourcentage valide Pourcentage cumulé 14 13,6 13,6 13,6 F 58 56,3 56,3 69,9 Valide M 31 30,1 30,1 100,0 240 Total 103 100,0 100,0 Statistiques descriptives N Minimum Maximum Moyenne Ecart type Age 85 17 36 21,11 2,928 N valide (listwise) 85 241 Profils des participants de l’ARCNAM : ident date Sexe Age Diplôme / Niveau d'étude Secteur D'activité Situation : A en activité, F en formation, DE Demandeur d'emploi Avez-vous déjà passé un test d'orientation JEUSERAI1 02/12/2011 F 39 BAC+2 SOCIAL DE oui JEUSERAI6 02/12/2011 F 52 BAC SECRETAIRE DE non JEUSERAI8 07/12/2011 F 24 BAC COMMERCE DE oui HOLLAND JEUSERAI9 07/12/2011 M 36 BAC+4 INGENIEUR INDUSTRIE A OUI MBI JEUSERAI10 07/12/2011 M 29 LICENCE SOCIAL DE OUI IRMR JEUSERAI11 07/12/2011 F 24 MASTER COMMUNICATION A non JEUSERAI12 07/12/2011 F 32 LICENCE SOCIAL A OUI IRMR JEUSERAI13 07/12/2011 F 31 DESS SOCIAL A IRMR JEUSERAI14 07/12/2011 F 29 BAC+4 TOURISME DE non JEUSERAI15 07/12/2011 M 35 BAC+4 INFORMATIQUE A non JEUSERAI15 07/12/2011 M 56 MASTER Fonctionnaire A non JEUSERAI16 07/12/2011 F 33 LICENCE FORMATRICE INSERTION A Oui JEUSERAI17 07/12/2011 F 27 BAC+2 TOURISME A OUI JEUSERAI18 07/12/2011 F 41 LICENCE SOCIAL A non JEUSERAI19 07/12/2011 F 41 BAC COMPTABILITE DE non JEUSERAI20 07/12/2011 M 53 DEFA SOCIAL A non JEUSERAI21 07/12/2011 M 30 BEP OPTICIEN DE non JEUSERAI21 07/12/2011 F 39 BAC ADMINISTRATIF A non JEUSERAI22 07/12/2011 F 52 BAC COMMERCE DE non JEUSERAI23 07/12/2011 F 28 BAC+5 CULTURE/PATRIMOINE DE OUI JEUSERAI24 07/12/2011 F 38 BP PEINTRE DE non JEUSERAI25 07/12/2011 F 50 BAC COMPTABILITE DE non JEUSERAI26 08/12/2011 M 62 BAC+5 LANGUES ETRANGERES A OUI JEUSERAI27 08/12/2011 F 44 BAC+2 COMPTABILITE DE non JEUSERAI28 08/12/2011 M 33 BAC+2 TECHNIQUE A non JEUSERAI30 08/12/2011 F 42 BAC SECRETAIRE DE non 242 ident date Sexe Age Diplôme / Niveau d'étude Secteur D'activité Situation : A en activité, F en formation, DE Demandeur d'emploi Avez-vous déjà passé un test d'orientation JEUSERAI31 08/12/2011 F 22 INGENIEUR PRODUCTIQUE F non JEUSERAI32 08/12/2011 F 32 BAC+5 INSERTION A OUI JEUSERAI33 08/12/2011 F 32 BAC+4 INSERTION A non JEUSERAI34 08/12/2011 M 40 BTS INFORMATIQUE A non JEUSERAI35 08/12/2011 F 47 BAC+5 MULTIMEDIA A non JEUSERAI36 08/12/2011 F 44 BAC+5 MULTIMEDIA A non JEUSERAI37 08/12/2011 F 30 DUT GEA COMPTABILITE A non JEUSERAI38 08/12/2011 F 44 BAC+3 FORMATRICE DE OUI JEUSERAI39 08/12/2011 F 56 BAC+4 COMMUNICATION A OUI JEUSERAI40 08/12/2011 F 31 MASTER ENSEIGNEMENT F OUI JEUSERAI42 13/12/2011 F 24 BP ESTHETIQUE A non Sexe Age Situation Niveau d'étude 28 femmes 10 / 37 - 30 ans et moins 14/37 - Demandeur d'emploi 10/37 - niveau BAC et moins 9 hommes 12 / 37 - 40 ans et moins 2/37 - en Formation 10/37 - niveau BAC+2 7 /37 - 50 ans et moins 21/37 - en Activité 17/37 - BAC+3 et plus 8/37 + de 51 ans Analyse profil Sur 37 participants moyenne d'age : 38 ans 243 244 245 Emmanuel Guardiola Méthode de game design pour la création d’un profil psychologique du joueur Résumé Générer du gameplay est un incontournable objectif de la réalisation d’un jeu. Nous le recherchons lorsque nous nous rentrons dans la bulle ludique. Pourtant, les éléments produits par les game designer sont des systèmes de jeu, des règles, une simulation, etc. Pour que ce système permette la naissance du gameplay, les game designers doivent nécessairement tenter de modéliser le joueur. Empiriquement ils manipulent des modèles psychologiques et sociologiques du joueur : Courbe d’apprentissage, gestion de la difficulté, degré d’efficience (etc.). Au cœur de la session de jeu industriel et chercheur ont besoin de moyens pour mieux cerner le joueur. La question que nous nous posons est celle de la détection des traits psychologiques, d’éléments caractérisant du joueur, au travers du gameplay ou, pour le moins, engagé dans une expérience ludique. Nous proposons une méthode de game design dédiée à la création d’un profil psychologique du joueur. Nous avons pu l’expérimenter lors d’un travail de collaboration avec INETOP et Paris Ouest sur la question des tests d’orientation professionnelle. Il s’agit du serious game JEU SERAI, développé en partenariat avec l’industriel Wizarbox. Cette première expérimentation nous permet d’envisager un développement de ce champ de recherche à la croisée des sciences de l’informatique, de la psychologie et des sciences cognitives. Mot clef : modèle du joueur, profil du joueur, game design, gameplay, test d’orientation professionnelle, modèle de Holland Résumé en anglais Abstract: Can we track psychological player’s traits or profile through gameplay or, at least, when the player is engaged in a ludic experience? We propose a game design methodology dedicated to the generation of psychological profile of the player. The main experimentation, a vocational guidance game, was created with academic experts and industrial game developpers. The first results set the basis of the exploration of a field at the crossover of computer sciences, in particular game design, psychology and cognitive sciences.. Keywords: Game design – player profiling – player model - psychological profile – vocational guidance – Holland model Modéle 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) .