• Aucun résultat trouvé

I.3 Fondements mathématiques

II.1.1 Cadres de planification

II.1.3 Structure de l’espace d’états . . . 32 II.1.4 Questions ouvertes en amont de notre étude . . . 32 II.2 État de l’art sur l’analyse de systèmes critiques . . . . 34

II.2.1 Logiques Temporelles . . . 34 II.2.2 Outils de modélisation . . . 36 II.2.3 Questions ouvertes en amont de notre étude . . . 37 II.3 État de l’art sur la conception de systèmes sûrs et optimaux . . . . 39

II.3.1 Constrained Markov Decision Processes . . . 39 II.3.2 Modification de la fonction de récompense . . . 40 II.3.3 Synthèse de contrôleur valide . . . 41 II.3.4 MDP avec objectifs multiples . . . 41 II.3.5 Questions ouvertes en amont de notre étude . . . 43

B

i e n que nous n’ayons pas encore défini notre problème en termes mathématiques et non ambigus, il est pertinent de démarrer cette étude par un état de l’art des technologies et méthodes pouvant contribuer à notre problème de conception sûre et optimale.

Cet état de l’art étend l’introduction du positionnement de cette étude vis-à-vis des différents domaines existants dans la littérature, que nous avons débuté au chapitre précédent. L’objectif de cette partie est ainsi de débattre de l’adéquation des études antérieures à notre problème, en abordant les points pouvant contribuer à notre étude ou pouvant nécessiter des adaptations particulières. Chaque thématique bibliographique est suivie d’un résumé des questions qui étaient laissées ouvertes en amont de notre étude.

L’objectif de ce chapitre n’est pas de choisir une méthode de résolution pour notre problème : même si à partir d’un état de l’art il est possible d’avoir une intuition du cadre mathématique qui serait le plus approprié, il nous faudra néanmoins dans une partie ultérieure analyser et définir le problème de conception sûre et optimale, avant de déterminer quel cadre de la littérature pourrait être le plus approprié. Lors des parties suivantes, nous proposerons à plusieurs étapes un état de l’art spécifique pour étudier la pertinence des méthodes existantes pour un problème particulier, ainsi que pour détailler les inspirations et pré-requis que nous utiliserons dans nos méthodes de résolutions.

CHAPITRE II. ÉTAT DE L’ART

Le choix entre plusieurs méthodes existantes sera donc laissé au sein de chaque partie au fur et à mesure de la rencontre de problèmes à résoudre. La lecture de ce chapitre n’est ainsi pas nécessaire à la compréhension des chapitres suivants.

L’apport de ce chapitre est donc de justifier que la question que nous nous posons, celle du développement d’un processus outillé pour la conception sûre et optimale, est la bonne question : il s’agit de la bonne question si au regard des travaux précédents nous disposons de suffisamment d’outils pour aborder notre problème, et si évidemment notre problème ne se ramène pas de manière triviale à des travaux déjà existants.

II.1 État de l’art sur la conception de systèmes auto-adaptatifs

Comme nous l’avons évoqué en introduction, l’une des premières communautés scientifiques qui est approchée par notre étude est celle de l’aide à la décision, et plus précisément de la planification de décisions1.

L’objectif de l’aide à la décision est d’assister un utilisateur dans le choix d’une décision ; ceci peut être effectué de plusieurs manières très différentes, et le choix de la méthode dépend du type de modèle de décision et d’environnement. Dans la planification, on cherche à assister l’utilisateur pour prendre des décisions successives ; cet ensemble de décisions est appelé un plan. Il est alors possible de conseiller l’utilisateur sur les bons et les mauvais plans, la notion de bon et mauvais étant exprimée au moyen d’une contrainte ou d’une préférence. À nouveau, selon le modèle de contrainte ou de préférence choisi, on obtient des classes différentes de problèmes dans la littérature.

II.1.1 Cadres de planification

La planification est un domaine qui a déjà eu plusieurs succès au niveau industriel par le passé ; il s’agit d’un des domaines les plus largement associés aux technologies d’intelligence artificielle, et utilisés dans des applications courantes telles que les navigateurs GPS pour voitures, la robotique autonome par exemple pour les rovers envoyés sur mars, ou encore l’intelligence artificielle dans les jeux d’échec.

Sur le plan mathématique, la planification est apparue initialement comme extension des techniques d’exploration et de recherche, en particulier de recherches dans des graphes tels que l’algorithme de Dijkstra [Dij59]. Ces techniques de recherche basiques permettent de trouver le meilleur chemin (par exemple le plus court) permettant d’atteindre un but, en explorant un espace de chemins de manière exhaustive. Chacune des étapes de ce chemin correspond bien à une décision qu’il faut prendre pour atteindre un but, et le but est atteint après qu’on ait effectué un plan, c’est-à-dire une succession de décisions.

Très vite, ces techniques ont été remplacées par des algorithmes n’explorant par exhaustivement l’ensemble des états, le plus connu étant l’algorithme A* [HNR68] qui utilise une connaissance sup-plémentaire, appelée heuristique, dont on peut disposer sur le système. Plus précisément, ce type d’algorithme est guidé dans sa recherche par une information supplémentaire, contrairement aux algorithmes qui cherchent à atteindre un objectif en aveugle en essayant plusieurs voies possibles sans informations. De telles techniques permettent de réduire largement le temps de calcul, tout en garantissant l’optimalité du résultat, sous condition qu’il soit possible d’obtenir cette heuristique.

D’autres algorithmes utilisent en même temps la structure même de l’espace d’états pour optimiser la recherche ou le calcul ; un exemple est l’algorithme de Tarjan [Tar72] pour la recherche des Composantes Fortement Connexes2. Cette idée d’exploiter la structure des données pour aider la recherche du plus court chemin, éventuellement en convertissant cette structure en heuristique exploitable, a donné naissance à la planification classique, dont fait partie A*.

De nombreux algorithmes existent sur la planification classique [NGT04], on pourra mentionner en particulier les méthodes de programmation dynamique, de recherche gloutonne, de recherche arborescente, de recherche heuristique ou encore de recherche locale[GNT04]. Beaucoup se basent sur une représentation particulière des données appelées STRIPS : il s’agit d’un langage formel décrivant les objets sous forme de prédicats, c’est-à-dire de propriétés qu’il est possible d’ajouter ou d’enlever à un objet. En transformant une décision (appelée action) en un ensemble d’éléments à ajouter et à enlever à l’état actuel, il est possible d’obtenir des algorithmes très efficaces en termes de temps de calcul tels que GRAPHPLAN [BF97]. Ce gain d’efficacité semble naturel, puisque la représentation en STRIPS apporte par elle-même des informations supplémentaires : le but est naturellement divisé en sous-buts, c’est-à-dire en éléments précis qu’il nous faut obtenir à partir de l’état actuel, qui eux-mêmes peuvent être divisés en buts intermédiaires qu’il nous faut remplir successivement.

Cette représentation en prédicat porte la plupart des modèles et techniques de planification actuels. Cependant, d’autres formalismes existent tels que les travaux sur "Planning as Model-Checking" de

1. Decision-theoretic planning

CHAPITRE II. ÉTAT DE L’ART

Giunchiglia et Traverso [GT00], qui rapprochent planification et Model-Checking CTL. L’objectif est d’utiliser les algorithmes existant dans la validation formelle pour résoudre des problèmes de planification, ce qui nécessite d’exprimer les problèmes de planification sous la forme d’un problème de Model-Checking. Giunchiglia et al. ont ainsi proposé un planificateur (MBP : Model Based Planner) basé sur l’outil NuSMV permettant de résoudre des problèmes de Model-Checking à l’aide d’une représentation symbolique de l’espace des états atteignables ; la représentation du problème s’appuie en particulier sur des OBDD (Ordered Binary Decision Diagram). Ces travaux ont pour avantage principal de permettre une plus grande expressivité en termes de construction de modèles que la planification STRIPS. Ils ont pour avantage secondaire d’utiliser des technologies existantes, et de rapprocher par là même deux communautés qui sont souvent perçues comme distinctes. Cependant, il n’est pas évident d’établir qu’ils apportent un gain de performance sur un problème donné par rapport à d’autres méthodes de représentation : le problème du Model-Checking peut être vu comme un problème plus large que celui de la planification, ce qui laisse à penser que des algorithmes dédiés à la planification peuvent s’avérer plus performants que des algorithmes plus généraux. De plus, si de nombreux travaux existent sur la planification STRIPS en environnement probabiliste, ou sur la planification sous contraintes, ceci n’est pas encore le cas pour les travaux de "Planning as Model-Checking". Pour notre cas d’étude, cela signifie que ces travaux ne peuvent être utilisés que si des méthodes de résolution du problème de conception sûre et optimale existent en se basant uniquement sur des techniques de Model-Checking.

Une autre approche intéressante consiste à transformer le problème de planification en un problème de résolution de contraintes. On peut en particulier noter les travaux de Pralet et al., [PVLI10] sur la synthèse de contrôleur à partir de la résolution d’un problème de satisfaction de contraintes (CSP). Ils ont en particulier mis en valeur la grande expressivité permise par cette approche, qui permet de traiter de multiples domaines de la planification tels que la planification non-déterministe ou la planification en environnement non-observable (POMDP [Mon82]). À nouveau, l’un des intérêts principaux est de pouvoir réutiliser des algorithmes très performants qui ont été développés par le passé pour résoudre les problèmes CSP. Cependant, ces méthodes peuvent s’avérer limitées : le temps de calcul augmente de façon exponentielle en fonction du nombre de variables, et la traduction du problème de planification en un problème CSP résulte en l’utilisation de nombreuses variables pour exprimer chacun des états possibles. Ces méthodes semblent donc bien souvent moins efficaces (en termes de temps de calcul) que d’autres méthodes de planification, qui permettent d’explorer un ensemble réduit de l’espace des états ; elles peuvent cependant présenter une plus-value sur des problèmes pour lesquels l’ensemble des états doit être considéré, par exemple lorsque des contraintes doivent être garanties. Pour notre problème de planification sûre et optimale, ces méthodes présentent l’intérêt immédiat de mettre au même niveau optimisation et validité, ce qui semblerait à même de résoudre notre problème, comme nous le verrons dans la suite de l’état de l’art ; cependant, la limitation en termes de temps de calcul est potentiellement un blocage important pour que ces méthodes puissent être envisagées dans un cadre industriel.