• Aucun résultat trouvé

C.14. Composant d’observation et évaluation

C.14.3. Observation en ligne d’une généralisation

Objectifs

(Ruas, 1999) et (Duchêne, 2004) notamment ont montré que dans le déroulement d’une généralisation pas à pas locale (mais c’est aussi valable pour d’autres approches), des conflits proches pouvaient rester non résolus et en plus gêner la généralisation des objets voisins. L’objectif de l’observation en ligne d’une généralisation est donc de vérifier que des zones de conflits persistants n’apparaissent pas et d’alerter le système en cas de suspicion d’apparition.

De plus, CollaGen fonctionne par essai-erreur et quand l’application d’un processus de généralisation est évaluée comme mauvaise, il l’annule et essaie autre chose à la place. Les processus de généralisation étant souvent gourmands en temps de calcul du fait de leur complexité, un objectif secondaire de l’observation est de déclencher un deuxième type d’alerte quand le système observe que la généralisation a très mal commencé et que cela ne mènera pas à une bonne généralisation. Le système peut ainsi gagner du temps en annulant tout de suite la généralisation pour en essayer une autre.

Nous présentons d’abord le problème de la taille de l’espace des observables, commun aux deux objectifs et notre réponse à ce problème. Puis nous décrivons comment le composant d’observation de CollaGen répond aux deux objectifs énoncés plus haut. Enfin, nous comparons notre proposition avec une méthode d’observation en ligne du modèle de généralisation CartACom.

Problème de la taille de l’espace des observables

En considérant que la généralisation d’une carte topographique peut être spécifiée par une centaine de contraintes (Stöter et al, 2010) et qu’un petit espace géographique comme une ville de 15 000 habitants comporte plusieurs centaines d’objets, nous voyons que le nombre de moniteurs de contraintes présents dans la distribution d’un espace géographique peut être très important (on peut compter déjà des milliers de moniteurs de contraintes de proximité par exemple). Pour éviter de trop allonger le temps de calcul d’un processus de généralisation, nous devons donc écarter les hypothèses d’une observation en temps réel des contraintes (toutes les microsecondes par exemple) et d’une observation de temps en temps de l’ensemble des moniteurs de contraintes. Cette dernière hypothèse est écartée car le coût en temps de calcul serait trop important, l’ensemble de la généralisation collaborative étant déjà un processus long qu’il faut éviter le plus possible d’alourdir. Afin de gérer la taille de l’espace des observables nous proposons de définir un pas de temps assez large pour ne pas observer trop longtemps. Ce pas de temps est défini par le fournisseur de processus lorsqu’il implémente la classe spécialisée de Processus de Généralisation nécessaire à la publication de processus dans CollaGen (voir C.9.2). La précision du pas de temps dépend fortement de l’observabilité du processus (voir partie suivante).

En nous inspirant des travaux de (Morvan et al, 2009) qui travaille sur l’observation en temps réel de simulation multi-agents de phénomènes naturels, nous proposons enfin de n’observer qu’un échantillon bien choisi des moniteurs de contraintes pour alléger la phase d’observation. Nous proposons de faire dépendre la méthode pour déterminer un échantillon représentatif de moniteurs du type d’espace à observer : une méthode par défaut est implémentée et peut être spécialisée pour chacun des types d’espaces géographiques. La méthode par défaut adopte un échantillon avec une répartition spatiale et sémantique équitable : elle découpe l’espace par une grille régulière et choisit au hasard 20% des contraintes sur chacun des types d’entités géographiques présents (par exemple, 20% des moniteurs de contrainte sur les bâtiments et 20% des moniteurs de contrainte sur les routes). Cette valeur peut être modifiée si nous souhaitons bouger le curseur entre la vitesse et la précision de l’observation. Une perspective d’évolution de cette proposition serait d’exploiter la théorie des sondages (Dusseix et Grosbras, 1996) pour déterminer le nombre représentatif de moniteurs à observer en fonction d’une erreur maximale dans la précision de l’observation.

Toutefois, afin de rendre notre composant d’observation plus efficace, nous proposons une observation en deux temps. L’idée est d’avoir un premier niveau d’observation très général et rapide avec un échantillon plus restreint. Si durant l’une des périodes d’observation, une grande proportion des moniteurs observés dans une zone pose problème, le composant le note et réalise un zoom lors des observations suivantes pour observer un échantillon plus important dans cette zone. La Figure C-66 illustre cette observation en deux temps : l’espace rural est découpé en trois zones d’observations par les routes (c’est une spécialisation de la méthode par défaut) et un échantillon de deux moniteurs est choisi dans chaque zone ; à la première observation, les moniteurs sont satisfaits

dans la zone du bas, non satisfaits à droite et à l’état initial à gauche (les objets n’ayant pas été encore traité par le processus, ils ne sont pas observés) ; la zone de droite est observée ensuite à la loupe en prenant un plus gros échantillon (ici 5 moniteurs) ce qui permet à la deuxième observation d’identifier un conflit local important non résolu par le processus de généralisation.

Figure C-66. Illustration de la méthode d’observation par zoom : le composant commence par des petits

échantillons dans chacune des 3 zones découpées par les routes et à la 2ème observation, le composant zoome (plus gros échantillon) suite aux problèmes observés dans la 1ère observation.

Processus observables ou « boîte noire »

Nous avons vu dans les chapitres précédents que les processus de généralisation utilisables dans CollaGen pouvaient suivre des approches très diverses et donc se dérouler de manière différente suivant l’approche. Par exemple, un processus issu du modèle CartACom va généraliser séquentiellement chaque agent (bâtiment, route etc.), l’ordre d’activation dépendant du contexte. Il peut donc être interrompu théoriquement pour lui faire reprendre un cours normal plus tard (la possibilité d’interruption dépend aussi de l’implémentation du processus et, sur notre plateforme, l’implémentation permet l’interruption). Par contre, un processus de généralisation par moindres carrés fonctionne en une seule passe, il calcule son système d’équations, le résout et transforme les géométries en une fois : CollaGen ne peut pas le mettre en pause et regarder l’état des objets généralisés jusqu’à présent, tout est généralisé ou rien ne l’est. Nous appelons les processus comme CartACom des processus observables ou interrompables alors que ceux fonctionnant comme les moindres carrés sont appelés boites noires. Parmi les mécanismes que nous présentons ensuite (l’interruption anticipée d’un processus et l’émergence d’un sous-espace), seule l’émergence d’un sous-espace peut être observée lors de la généralisation par un processus de type boite noire mais seulement à la fin de la généralisation et non pendant, comme pour les processus observables. Lorsque le fournisseur rend disponible un processus, il doit ainsi préciser si son processus est une boite noire ou un processus observable (cela correspond à l’ajout de méthodes ‘mettre en pause’ et ‘reprendre’).

Par ailleurs, lorsque la généralisation est mise en pause, le composant d’observation s’assure qu’il n’y a pas d’incohérence créée avec l’état des connaissances du système en pause : il s’assure que le

processus de généralisation connaît bien les dernières versions des géométries des objets et les objets qui sont éliminés.

Interruption anticipée d’un processus de généralisation

Afin d’optimiser au maximum le temps de calcul d’une généralisation collaborative, nous proposons d’interrompre de manière anticipée un processus observable dont l’observation mettrait en lumière d’importants problèmes qui conduiraient sans doute à un état non valide, à l’étape d’évaluation finale de l’espace géographique généralisé. Si le nombre de moniteurs observés comme insatisfaits après le passage à l’observation à la loupe est supérieur à un seuil et si ces moniteurs n’ont pas vu leur satisfaction évoluer positivement entre les dernières observations, alors une alerte d’interruption est déclenchée et la généralisation est mise en pause. Nous proposons un premier seuil empirique de deux tiers des moniteurs en utilisant la quantité pondérée définie en C.13.3 mais ce seuil devra être validé par plus de tests.

Une fois la généralisation en pause, le composant vérifie plus précisément si la généralisation se déroule très mal ou s’il est encore possible qu’elle s’améliore. Pour cela, il commence par regarder l’ensemble des moniteurs de contraintes pour vérifier que l’échantillon est bien représentatif de l’état de la généralisation de l’espace. Si c’est le cas, il met en rapport les moniteurs non satisfaits avec la description formelle du processus utilisé : si les contraintes non satisfaites étaient annoncées comme gérées par le processus avec un fort indice de confiance (au moins 4/5), alors il laisse une chance au processus de s’améliorer ; si les contraintes non satisfaites ne sont pas gérées par le processus d’après la description, il le laisse continuer car il n’était de toute façon pas supposé gérer ces contraintes ; enfin, si les contraintes non satisfaites sont gérés avec un petit indice de confiance, le composant considère que le processus ne généralisera pas bien l’espace géographique et il l’interrompt de manière anticipée. Comme pour certains autres des nombreux problèmes que CollaGen doit traiter, il s’agit ici d’une première proposition qui ne demande qu’à être améliorée à la suite de tests, pour déterminer si certains processus interrompus n’auraient pas dû l’être et inversement.

Comparaison avec d’autres méthodes d’observation

Pour évaluer la méthode d’observation que nous proposons, il est intéressant d’analyser si d’autres modèles ou processus de généralisations sont dotés de tels modules d’observation et comment ils fonctionnent. Tout d’abord, dans le cadre du modèle AGENT, (Taillandier, 2008b ; Taillandier et al, 2010) proposent un mécanisme d’observation et de diagnostic de la qualité des connaissances procédurales qui guident le modèle. Les deux méthodes proposées utilisent comme critère l’efficacité de la généralisation à un moment donné du processus, calculée en fonction du premier quartile et de la moyenne de la distribution des satisfactions de contrainte. (Taillandier, 2008b) utilise d’autres critères issus de l’analyse des traces du processus et les combine par une méthode d’analyse multi-critères. (Taillandier et al, 2010) utilisent aussi des critères issus de l’analyse des traces mais les combinent par une méthode fondée sur la théorie des fonctions de croyance (Shafer, 1976). La différence principale avec notre méthode est l’utilisation des traces du processus AGENT car la méthode est intégrée au processus ce qui rend le diagnostic d’une mauvaise généralisation

plus facile à effectuer. Dans notre cas, l’observation doit être générique vis-à-vis du processus observé, donc, le composant ne peut pas compter sur l’analyse de traces qui peuvent ne pas exister pour certains processus et sont de toute façon hétérogènes dans leur forme. Nous ne pouvons donc pas utiliser une telle méthode pour l’observation dans CollaGen.

Le modèle CartACom est également doté d’un module d’observation qui a le même objectif que le nôtre à savoir identifier à temps les zones dans lesquelles le processus n’arrive pas à résoudre la généralisation (du fait d’une trop grande densité pour CartACom). Ce module observe la satisfaction des contraintes toutes les n activations d’agents mais écoute également les communications entre les agents pour déterminer si un problème existe (Duchêne et Touya, 2010). Cette méthode est donc a priori plus précise dans ses observations et les conclusions tirées des observations, mais moins générique que notre proposition car seulement adaptée à CartACom. Nous proposons dans le dernier chapitre des résultats de tests pour comparer effectivement les deux méthodes.

Pour résumer, dans CollaGen, l’observation est faite pendant la généralisation, tous les pas de temps, sur un échantillon représentatif spatialement et sémantiquement de moniteurs de contrainte. Un système de loupe permet d’observer plus en détail une zone ayant posé problème à l’observation précédente. Si le composant observe des conflits (qui sont censés être résolus par le processus) trop nombreux, le processus peut être arrêté de manière anticipée pour en essayer un autre.