Avant d'introduire les problèmes de diagnostic, de localisation, et de rentrer plus dans le détail de mes
travaux, j'aimerais définir quelques termes :
Dans le problème du contrôle intelligent d'un système dynamique réel, toute la partie informatique repose sur la notion de modèle. En effet, les systèmes réels sont bien souvent trop complexes pour autoriser la prise en compte de toutes leurs caractéristiques. On est donc amené à modéliser ce système, en ne retenant que les éléments pertinents pour la problématique étudiée. Ce modèle simplifié du système pourra alors permettre de raisonner sur le processus, sans avoir à s'occuper de tous ses détails. On se focalisera donc sur les parties du problème qui nous intéressent uniquement.
Dans mes travaux de recherche, je m'intéresse plus particulièrement aux systèmes partiellement observables. Cette contrainte implique que l'état du système ne peut être obtenu simplement. On peut cependant observer le système; on peut alors espérer que ces observations dépendent de l'état caché du système, de façon à pouvoir inférer cet état. Cette inférence touche alors au fondement même du diagnostic : l'objectif de la démarche est de déterminer les causes explicant les faits que l'on observe.
Par exemple, considérons le cas du diagnostic médical : un médecin relève un certain nombre de symptômes (les observations). Il cherche ensuite à déterminer les causes de ces symptômes. Généralement, ces causes portent sur la présence d'agents pathogènes (virus, bactéries, microbes, ...) qui modifient l'état du patient. Le système dynamique (le patient) réagit à cet état en devenant fiévreux, en toussant, et ainsi de suite. Le médecin va alors entreprendre une action thérapeutique, à l'aide de repos forcé, de médicaments, etc...
On peut cependant généraliser le problème du diagnostic au-delà du monde médical. En effet, ce problème de découverte de l'état caché d'un système dynamique est une notion centrale dans un grand nombre de problématiques. Par exemple, le mécanicien qui cherche pourquoi une voiture ne démarre pas effectue une sorte de diagnostic. Un robot qui essaye de se localiser sur une carte fait également un diagnostic : il essaye de trouver la cause des mesures de ses capteurs en cherchant une position sur la carte où les valeurs qu'il a observées sont plausibles.
Afin de permettre à une machine d'effectuer un diagnostic portant sur un système dynamique, j'ai choisi de considérer la généralisation présentée précédemment, mais en prenant la réciproque : si l'on peut considérer un problème de localisation sur une carte comme un diagnostic, on peut aussi considérer le problème du diagnostic comme une localisation.
Pour arriver à cette identification, il faut jouer sur la modélisation du système dynamique. J'ai donc choisi de modéliser le système à diagnostiquer comme un environnement (une carte), où va évoluer un agent virtuel. La position de cet agent influence les observations d'une manière connue, de même qu'elle influence la façon dont cette position va évoluer au cours du temps. Avec une telle modélisation, le processus du diagnostic se réduit donc à déterminer la position de cet agent dans l'environnement.