FR 3125899 A1 20230203 FR 2108344 A 20210730 L’invention concerne un dispositif et un procédé mis en œuvre par ordinateur, permettant de générer un comportement d’un opérateur artificiel en interaction avec un système complexe au cours d’une mission. Figure pour l’abrégé : Fig.4 PROCEDE ET DISPOSITIF DE GENERATION DU COMPORTEMENT D’UN OPERATEUR ARTIFICIEL EN INTERACTION AVEC UN SYSTEME COMPLEXE L’invention concerne le domaine général du comportement artificiel, et le domaine d’application est celui des procédés et dispositifs permettant de générer le comportement d’un opérateur artificiel en interaction avec un système complexe. L’invention se situe à la frontière entre deux domaines techniques : - celui de la modélisation du comportement, qui permet d’animer des acteurs d’une simulation constructive ou des personnages non joueurs dans un jeu vidéo, en les dotant de comportements programmables ; et - celui de l’analyse du comportement humain, que l’on appelle aussi souvent « analyse des facteurs humains », qui permet d’analyser les actions d’une personne en utilisant des modèles cognitifs pour pouvoir expliquer ses actions. Le domaine technique adressé par l’invention est celui que l’on définit comme étant celui de la « modélisation du comportement humain », hérité de l’Intelligence Artificielle (IA), qui cherche à reproduire un comportement représentatif ou réaliste de personnes. La finalité de l’invention est d’utiliser cette capacité de modélisation du comportement humain pour générer le comportement d’un opérateur artificiel, dans une simulation ou lors d’interaction avec un système réel et complexe (par exemple, un pilote dans un avion, un contrôleur aérien, un opérateur dans une centrale nucléaire, etc.), en reproduisant à la fois des aspects procéduraux du comportement d’un opérateur humain mais aussi les aspects cognitifs de ce comportement. Le problème technique adressé par la présente invention est celui de comment construire un dispositif (et un procédé associé) qui permet de générer le comportement d’un opérateur artificiel en interaction avec un système complexe (par exemple un pilote artificiel dans son avion) à partir de la collecte de données de comportement d’un ou plusieurs opérateurs réels sur des systèmes de même nature, et à partir de modèles qui sont déduits de l’analyse de l’ensemble de ces données (par exemple, l’invention permet de générer le comportement d’un pilote artificiel en utilisant des modèles créés à partir des données récoltées lors de vols réels ou simulés). Il existe de nombreuses techniques d’Intelligence Artificielle qui permettent de générer le comportement d’un agent artificiel dans une simulation. La plupart de ces techniques reposent sur l’utilisation de techniques formelles (arbres comportementaux, graphes d’états, systèmes à base de règles, etc.) qui permettent de reproduire, de manière simple mais limitée, le comportement d’une personne réelle ainsi que ses interactions avec les systèmes ou acteurs présents dans l’environnement qui est simulé. On retrouve ce type de génération de comportement, notamment, dans les jeux vidéo ou dans certaines simulations civiles ou militaires. Dans ces deux catégories de applications, il s’agit de reproduire une scène du jeu, ou une situation opérationnelle, en générant le comportement que les acteurs sont sensés adopter dans cette scène ou dans cette situation à partir d’un scénario donné. Le rôle du modélisateur consiste alors à coder les séquences d’actions de chacun des acteurs sans pouvoir préciser les raisons pour lesquelles ces acteurs prendraient ce type de décision dans la vie réelle. Le comportement généré est alors qualifié de scénarisé (ou scripté), dans la mesure où il ne fait que reproduire des suites d’actions et d’interactions prédéterminées par un expert (par exemple un « game designer » pour un jeu vidéo). Les algorithmes d’Intelligence Artificielle correspondants sont parfaitement adaptés pour générer le comportement d’un ensemble d’acteurs artificiels interagissant les uns avec les autres comme dans un film mais ils ont plus de difficulté pour générer des comportements réalistes lorsqu’il s’agit d’interagir avec des acteurs de la simulation contrôlés par des personnes réelles. Dans ce dernier cas, les actions des agents artificiels sont souvent qualifiées par un observateur extérieur de : - « Stupides » car le comportement généré ne prend pas en compte le contexte général que voit l’observateur ou n’est pas cohérent dans la durée ; - « Robotisées » car le comportement généré applique des procédures prédéterminées comme le ferait un robot et non un comportement adapté à la situation comme le ferait l’humain que l’agent artificiel contrôlé par l’IA est censé représenter. La solution la plus simple et la plus utilisée pour répondre à ces deux critiques est de limiter le nombre et la nature des interactions à celles qui ont été explicitement codées par l’expert. Cette solution est bien évidemment très limitative en termes de simulation comportementale et ne peut pas s’appliquer à la génération du comportement d’un opérateur artificiel à un système complexe, du fait même de la quantité de situations que peut générer un tel système. Une meilleure solution pour répondre à la première critique (comportement stupide) et obtenir un comportement plus cohérent, est l’apprentissage automatique. Il s’agit d’apprendre des réactions génériques à l’ensemble des situations que l’opérateur artificiel va potentiellement rencontrer. Cet apprentissage est possible car l’ensemble des informations nécessaires pour construire les règles de comportements sont parfaitement observables (conditions d’activation des règles et actions réalisées dans l’environnement) ou déductibles de l’observation (données mémorisées, états intermédiaires entre deux transitions, etc.). Le rôle de l’expert intervient alors en amont, par exemple, pour : - Structurer l’organisation des comportements (par exemple : apprentissage génétique d’arborescence en logique floue) ; - Simplifier les données en entrée (par exemple : apprentissage d’arbres comportementaux) ; - Définir les expériences à enregistrer (par exemple : apprentissage par cas). En revanche, ces comportements appris, tout optimisés qu’ils puissent être, ne répondent pas à la deuxième critique (comportement robotisé) car les comportements appris sont uniquement procéduraux. Ce type de modèle est parfaitement indiqué pour générer un comportement optimisé mais stéréotypé, mais il ne permet pas de générer le comportement d’un humain qui, par nature, utilise des paramètres internes non directement observables de l’extérieur dans ses processus de décision. Pour répondre à la deuxième critique, il existe des modèles académiques, inspirés de la psychologie ou des sciences du vivant, qui prennent en compte les aspects cognitifs dans la modélisation du comportement (par exemple : le modèle BDI de Michael Bratman, le modèle des émotions de Nico Frijda, le modèle des motivations de David McFarland, etc.). Ces modèles, purement formels, peuvent être utilisés pour générer un comportement qui, par bien des aspects, peut paraitre humain, mais peine à représenter un comportement plus complexe que de simples réactions à des stimuli extérieurs, même s’ils modélisent pour ce faire un état interne de l’acteur simulé. A nouveau, l’apprentissage automatique de modèles cognitifs pourrait être une réponse à ce besoin, mais les seuls travaux proches dans ce domaine concernent la reconnaissance du comportement humain où des modèles psychologiques ou psychophysiologiques (tels que des modèles de vigilance, des modèles de gestion de la charge mentale, etc.) sont appris à partir de données collectées sur de vraies personnes (par exemple un pilote dans un avion ou dans une voiture, un opérateur de gestion du trafic aérien ou de centrale nucléaire, etc.), mais uniquement pour évaluer l’état cognitif de l’opérateur. En effet, en reprenant l’exemple d’un pilote d’avion, la problématique est qu’il existe une grande diversité dans le comportement de différents pilotes. Confronté à un scénario en tout point identique, chaque individu ne suit pas à la lettre les procédures de vol, comme le ferait un robot, mais adopte un comportement différent en fonction de son expérience, de son état cognitif et, plus généralement, de la manière dont il évalue la situation courante. Ainsi, les solutions existantes ne sont pas capables de générer le comportement d’un opérateur artificiel en interaction avec un système complexe qui soit représentatif du comportement d’un opérateur réel, y compris, par exemple, celui d’une personne agissant dans un univers aussi contraint que celui d’un pilote dans son cockpit, car les modèles utilisés ne sont pas suffisamment évolués : - il manque aux modèles de comportement utilisés dans les simulations constructives ou les jeux vidéo, une représentation suffisamment réaliste de l’état cognitif des acteurs simulés, qui permettrait la génération d’un comportement plus humain et donc plus proche du comportement observé d’un pilote ; et - les modèles cognitifs qui sont utilisés pour évaluer le comportement d’un opérateur en interaction avec un système complexe, comme par exemple un pilote dans son aéronef, sont une bonne piste pour pouvoir simuler l’état cognitif d’un opérateur artificiel, mais ils ne sont pas suffisants pour pouvoir simuler son comportement dans son ensemble. Aussi, aucune solution connue ne propose un dispositif permettant de générer le comportement complet d’un opérateur artificiel en interaction avec un système complexe, c’est-à-dire incluant à la fois les aspects procéduraux et cognitifs de ce comportement à partir de données provenant d’opérateurs réels. Il n’existe pas de solution connue qui utilise l’apprentissage automatique pour modéliser le comportement de ce type d’opérateur en prenant en compte à la fois les aspects procéduraux et cognitifs de ce comportement. Un objet de l’invention est de répondre aux besoins précités et de pallier les inconvénients des solutions et techniques existantes. Le principe général de l’invention consiste à mettre en œuvre dans un dispositif de génération du comportement d’un opérateur artificiel, un « moteur de génération du comportement » qui instancie un modèle qui est défini par les inventeurs comme un « modèle de comportement humain de l’opérateur », afin de générer le comportement d’un opérateur artificiel en interaction avec un système complexe donné. Le dispositif proposé et le modèle de comportement humain s’appuient sur une Base de Connaissances de Comportement d’Opérateurs (BCCO), qui a été constituée en amont d’une exécution du procédé, et qui contient un ensemble de données synchronisées collectées pendant des interactions d’un ou plusieurs opérateurs avec le système complexe. Plusieurs modules d’Intelligence Artificielle, mêlant à la fois des algorithmes d’apprentissage automatique et des méthodes formelles exploitant une expertise métier, permettent de construire de manière itérative un modèle de comportement humain de l’opérateur, c’est-à-dire un modèle capable non seulement de reproduire le comportement procédural de l’opérateur mais aussi de prendre en compte les facteurs humains qui peuvent entrer dans sa prise de décision. Une première originalité du dispositif de l’invention par rapport à l’existant, concerne la prise en compte dans le moteur de génération de comportement des deux catégories de facteurs qui influent sur la décision humaine, à savoir les aspects procéduraux (suivre un plan, respecter les règles, etc.) et les aspects cognitifs (le stress, la charge mentale, la fatigue, etc.). Une seconde originalité du dispositif de l’invention est de pouvoir générer des comportements véritablement représentatifs des interactions de vrais opérateurs avec le système complexe considéré. Ce faisant, le comportement généré peut être utilisé à la fois dans une simulation contenant une représentation réaliste de ce système complexe, mais peut aussi être utilisé pour construire un opérateur artificiel capable de contrôler le vrai système complexe. Pour reprendre l’exemple du pilote d’avion, il s’agira d’exploiter à la fois les règles et procédures de vol, mais aussi les données collectées sur un ensemble de pilotes d’avion (en simulateur ou en opération réelle) pour construire un modèle de comportement humain de ces pilotes d’avion, et d’exploiter ce modèle pour générer le comportement d’un pilote artificiel en simulateur, puis au commande de l’avion réel. Le dispositif proposé permet de générer le comportement d’un opérateur artificiel en interaction avec un système complexe (par exemple, celui d’un pilote d’avion), en s’appuyant non seulement sur les règlements de procédure existants, mais aussi sur un ensemble des données enregistrées pendant l’interaction d’un ou de plusieurs opérateurs réels avec ce système complexe ou des systèmes complexes de même nature. Ainsi, au lieu de représenter uniquement les aspects procéduraux du travail de l’opérateur, ce qui donne immanquablement au comportement généré, un aspect robotique et donc très peu réaliste, le dispositif proposé est capable d’intégrer dans cette génération de comportement des aspects cognitifs tels que la fatigue, le stress ou la charge mentale, qui vont permettre de représenter des aspects plus humains du comportement de ce type d’opérateur et, en particulier, la gestion automatique de situations non explicitement prévues dans les règles procédurales. Les domaines d’exploitation de l’invention sont les domaines d’activité dans lesquels un système complexe est contrôlé et mis en œuvre par un ou plusieurs opérateurs artificiels. Ces domaines métiers comportent par exemple le transport aéronautique, ferroviaire, ou routier, les domaines de la sécurité, les domaines du contrôle de processus, de l’énergie, etc. Pour obtenir les résultats recherchés, il est proposé un procédé de génération du comportement d’un opérateur artificiel en interaction avec un système complexe au cours d’une mission, le procédé étant mis en œuvre par ordinateur et comprenant des étapes consistant à : - récupérer des états correspondant à une pluralité de données de la mission en cours, la mission étant une mission réelle ou simulée ; - utiliser les données récupérées comme entrées d’un moteur de génération de comportement, ledit moteur de génération de comportement instanciant un modèle de comportement humain modélisant sur le plan cognitif et le plan procédural le comportement d’un opérateur réel représenté par l’opérateur artificiel, les données d’entrées permettant de mettre à jour l’état cognitif de l’opérateur artificiel et l’avancement des tâches par rapport à la mission ; - à partir des mises à jour et de l’évolution de la situation courante, décomposer la mission en nouvelles tâches et nouveaux comportements ; et - générer des données d’actions et de comportements de l’opérateur artificiel. Dans un mode de réalisation, le modèle de comportement humain instancié pour l’opérateur artificiel a été appris dans une phase d’apprentissage, par l’application de techniques d’intelligence artificielle sur des modèles cognitifs et sur des modèles procéduraux utilisant, sur de nombreuses simulations, une pluralité de données d’apprentissage pour différents opérateurs, les données d’apprentissage étant capitalisées dans une base de connaissances de comportement d’opérateurs de systèmes complexes Dans un mode de réalisation, l’étape de mise à jour de l’état cognitif de l’opérateur artificiel prend en compte la situation courante qui comprend des données sur la situation perçue par l’opérateur artificiel et des données de contexte de mission et d’environnement. Dans un mode de réalisation, le modèle de comportement humain est représenté comme un graphe hiérarchique comprenant des modules de comportements cognitifs et des modules de tâches relativement à une mission, les modules de comportements cognitifs et les modules de tâches étant décomposés en modules de comportements, les modules de comportement étant décomposés en modules d’actions, les actions étant des actions élémentaires observables au niveau de l’opérateur artificiel, le graphe comprenant un niveau de sortie correspondant à une sélection d’actions élémentaires. Dans un mode de réalisation, l’étape de décomposition de la mission consiste à utiliser sur le graphe hiérarchique les informations provenant de la situation courante et des paramètres de facteurs humains d’influence générés par l’état cognitif mis à jour. Dans un mode de réalisation, les paramètres de facteurs humains d’influence sont utilisés à plusieurs niveaux du graphe hiérarchique. Dans un mode de réalisation, les paramètres de facteurs humains d’influence sont utilisés à un premier niveau du graphe pour déterminer des comportements cognitifs, à un deuxième niveau du graphe pour déterminer des comportements et des actions, et à un troisième niveau du graphe pour déterminer une sélection d’actions. L’invention couvre aussi un produit programme d’ordinateur comprenant des instructions de code permettant d’effectuer les étapes du procédé revendiqué, lorsque le programme est exécuté sur un ordinateur. L’invention couvre de plus un dispositif de génération du comportement d’un opérateur artificiel en interaction avec un système complexe au cours d’une mission, le dispositif comprenant : - un module de récupération d’états correspondant à une pluralité de données de la mission en cours, la mission étant une mission réelle ou simulée ; - un module de traitement de données couplé au module de récupération d’états de la simulation, et comprenant des instructions de code permettant d’effectuer des étapes consistant à : - utiliser les données récupérées comme entrées d’un moteur de génération de comportement, ledit moteur de génération de comportement instanciant un modèle de comportement humain modélisant sur le plan cognitif et le plan procédural le comportement d’un opérateur réel représenté par l’opérateur artificiel, les données d’entrées permettant de mettre à jour l’état cognitif de l’opérateur artificiel et l’avancement des tâches par rapport à la mission ; - décomposer la mission en nouvelles tâches et nouveaux comportements à partir des mises à jour et de l’évolution de la situation courante ; et - générer des données d’actions et de comportements de l’opérateur artificiel. Le dispositif de l’invention comprend de plus d’autres moyens pour mettre en œuvre les étapes du procédé de l’invention. Une utilisation du dispositif revendiqué est celle dans le domaine aéronautique, de la génération du comportement d’un pilote artificiel pour piloter un aéronef dans une simulation aérienne ou pour piloter un drone dans le monde réel. L’invention couvre aussi un procédé de construction de modèles de comportement humain. Le modèle de comportement humain permet de modéliser le comportement d’un opérateur à la fois sur le plan cognitif et sur le plan procédural. Le procédé d’obtention du modèle de comportement humain s’appuie sur une « Base de Connaissances de Comportement des Opérateurs » (BCCO) et sur deux modèles distincts, un modèle cognitif et un modèle procédural. La BCCO permet d’enregistrer et de capitaliser un ensemble de données collectées pendant des séances d’interactions d’opérateurs avec des systèmes complexes (données caractérisant les actions d’observation, de manipulation et de communication de l’opérateur, données physiologiques relatives à cet opérateur et données contextuelles décrivant l’état et la dynamique du système complexe, l’environnement et le contexte de la mission, auxquelles s’ajoutent des données subjectives sur le comportement de l’opérateur). Un procédé permet de construire différentes catégories de modèles cognitifs (comme par exemple un modèle de charge mentale), à partir des données enregistrées dans la BCCO, en utilisant des techniques d’intelligence artificielle pour l’apprentissage automatique. L’homme du métier appliquera les mêmes principes pour construire tout autre modèle cognitif correspondant à d’autres aspects de l’état cognitif des opérateurs en interaction avec un système complexe donné. Ces modèles seront étendus pour pouvoir simuler automatiquement l’évolution de l’état cognitif de l’opérateur. Un autre procédé permet de construire à partir des données enregistrées dans la BCCO, en utilisant différentes techniques d’intelligence artificielle combinant de l’apprentissage automatique et de l’expertise métier, des modèles de comportement pour simulation constructive, appelés en anglais « Constructive Models », qui sont aussi désignés comme « modèles procéduraux ». La solution consiste en un procédé de modélisation permettant de construire une base de données de modèles de comportements humains des opérateurs et un dispositif de génération de comportement qui s’appuie sur cette base de données pour permettre la génération de comportement d’opérateurs artificiels. Les modèles de comportement humain des opérateurs sont construits par la jonction de modèles cognitifs et de modèles procéduraux. Chaque modèle de comportement humain correspond à un opérateur donné (ou une classe d’opérateurs) sur un système complexe donné. Le procédé de construction de cette nouvelle catégorie de modèle met en œuvre : - un format de modèle de comportement capable de combiner les deux catégories de modèles impliqués ; - une expertise métier pour définir la structure du modèle et identifier à quels niveaux de l’arborescence du modèle constructif peuvent s’intégrer des liens avec les « facteurs humains » (FH) générés par les modèles cognitifs ; - une amélioration progressive des modèles de comportement humain de l’opérateur par des techniques d’apprentissage utilisant à nouveau les données de la BCCO comme référence. Le moteur de génération de comportement permet de sélectionner les actions d‘un opérateur artificiel en interaction avec un système complexe dans une simulation ou avec un système complexe réel, en : - initialisant le moteur de génération avec le modèle de comportement humain correspondant le mieux à cet opérateur, au système complexe modélisé et à la mission ou tâche qu’il doit réaliser ; - utilisant les modèles cognitifs appris pour simuler l’évolution de l’état cognitif de l’opérateur représenté ; - activant le moteur de génération à partir des données provenant à la fois de l’état cognitif simulé et de la situation courante (données de contexte + situation perçue par l’opérateur artificiel), pour lui permettre de sélectionner les actions de l’opérateur artificiel. Les avantages du dispositif de l’invention sont de combiner dans le modèle de comportement utilisé pour la génération du comportement, à la fois des données objectives correspondant aux procédures d’utilisation du système complexe, et des données subjectives correspondant à l’état cognitif de l’opérateur représenté. Ce faisant, le comportement qui est généré peut suivre de manière stricte des procédures précises et réglementées lorsque la situation est nominale, comme le feraient des agents artificiels dans une simulation traditionnelle. Mais au lieu d’utiliser des règles spécifiques pour prendre en compte des situations exceptionnelles, la simulation de l’état cognitif de l’opérateur artificiel permet de déclencher des comportements plus représentatifs de ce que ferait un véritable opérateur dans ce type de situations. Plus généralement, l’intégration de facteurs humains dans la prise de décision de l’opérateur artificiel permet de sélectionner des comportements procéduraux qui tiennent compte de l’état cognitif de l’opérateur représenté et, inversement, de générer des comportements cognitifs qui prennent en compte l’avancement de la tâche ou de la mission courante. Il ressort que la qualité de la génération de comportement dépend bien entendu de la qualité de la base de données de modèles de comportement humain des opérateurs, qui elle-même, dépend de la quantité de données qui auront pu être collectées dans la BCCO. Avec le développement de modèles de comportement humain de haute qualité, validés par des utilisateurs experts du système complexe, le moteur de génération de comportement qui est proposé doit permettre de modéliser ce que l’on pourrait appeler un jumeau numérique à un opérateur réel permettant de contrôler le système complexe réel avec lequel il est en interaction. L’objectif de l’invention est de générer un comportement artificiel le plus proche possible de celui d’opérateurs réels, en construisant un jumeau numérique d’un opérateur réel, ou d’une classe d’opérateurs réels, mais limité à la génération de comportement. D’autres caractéristiques, détails et avantages de l’invention ressortiront à la lecture de la description faite en référence aux dessins annexés donnés à titre d’exemple et qui représentent, respectivement : illustre de manière schématique pour l’exemple d’un pilote, la phase de modélisation de modèles cognitifs et la phase d’exécution des modèles pour évaluer l’état cognitif d’un pilote; illustre de manière schématique, comment la phase de modélisation de modèles procéduraux et la phase d’exécution des modèles pour générer le comportement d’un pilote virtuel dans une simulation constructive; illustre les étapes de construction d’un modèle du comportement humain selon l’invention, sur l’exemple d’un pilote; illustre de manière schématique un environnement permettant de mettre en œuvre le procédé de génération du comportement d’un opérateur artificiel de l’invention; illustre un enchainement d’étapes du procédé de l’invention pour la génération du comportement d’un opérateur artificiel ; illustre un exemple d’implémentation de la structure sous-jacente du modèle du comportement humain de l’invention ; et illustre un exemple de génération du comportement d’un pilote artificiel d’aéronef, en s’appuyant sur la structure hiérarchique de la . Bien que l’invention soit décrite pour un mode de réalisation préféré dans le domaine de l’avionique, afin de générer le comportement d’un opérateur artificiel en interaction avec un système (réel ou de simulation), l’homme du métier pourra transposer les principes décrits à d’autres domaines. Par ailleurs dans la description, il est donné les définitions suivantes aux termes ci-après listés : - Opérateur artificiel : dispositif / composant représentant un individu, un sujet, une personne réelle, i.e. un humain, qui dans le contexte de l’invention est en interaction (i.e. pour piloter, contrôler, activer, opérer, agir sur) avec un système complexe. Pour le mode de réalisation décrit, l’opérateur (artificiel ou réel) est un pilote, et l’un ou l’autre terme peut être utilisé sans distinction. - Système complexe : système comprenant de nombreux dispositifs avec lesquels un opérateur (artificiel ou réel) doit interagir, et qui peuvent mobiliser de la part de l’opérateur réel une implication plus ou moins importante dans son temps de manipulation ainsi que dans sa charge mentale. Pour le mode de réalisation décrit, le système complexe est un cockpit d’aéronef. Avant de décrire l’invention, il est fait les rappels suivants, qui sont nécessaires à sa bonne compréhension. Rappel sur la modélisation du comportement d’agents artificiels : Les modèles de comportement sont utilisés par les simulations constructives et par les jeux vidéo pour animer le comportement des acteurs non joués par l’entrainé, le joueur ou, plus généralement l’opérateur de ce type d’application. Ces modèles permettent de générer le comportement d’acteurs artificiels qui vont réaliser des tâches ou des missions dans le cadre d’un scénario prédéfini. Dans la quasi-totalité des simulations constructives ou de jeux, les modèles de comportement sont procéduraux, c’est-à-dire que le comportement généré correspond à une suite d’actions préenregistrées, généralement organisées sous forme de graphe ou par un ensemble de règles « ConditionsActions », s’activant en fonction des perceptions de l’acteur dans son environnement. Les modèles procéduraux de comportement sont généralement développés à la main par un expert du domaine (un « game-designer » pour les jeux) sous une forme procédurale (graphe, arborescence, etc.) pour modéliser les différents enchainements possibles du déroulement d’une mission. Ces modèles procéduraux sont généralement construits en amont par le modélisateur pour être utilisés pendant l’exécution de la simulation ou du jeu mais, du fait de leur simplicité, ils peuvent aussi être construits ou modifiés pendant le déroulement de cette simulation ou de ce jeu. Rappel sur la modélisation du comportement humain : Le concept de modélisation du comportement humain (MCH) est apparu dans le domaine de la simulation dans les années 90 avec l’idée que l’on ne pourrait pas faire l’économie d’une modélisation des facteurs humains pour paramétrer la manière dont les automates doivent effectuer leurs choix de comportement, et éviter ainsi le biais de se confronter à un ennemi virtuel au comportement robotisé, facilement prédictible et que l’on arrive souvent à leurrer. Au contraire du comportement qui peut être généré par des automates procéduraux, le comportement humain se caractérise par l’implication de l’état cognitif dans la prise de décision. Ce faisant, le comportement d’un être humain est non seulement beaucoup plus riche que celui de n’importe quel automate, mais il est également beaucoup moins prédictible puisqu’un observateur extérieur n’a généralement pas accès à l’état cognitif de la personne observée, à moins de pouvoir déduire une partie de cet état caché par l’expression de son visage, par sa posture ou par tout autre indicateur de son état physiologique. Il existe de très nombreux travaux dans le domaine académique qui ont cherché à modéliser différents aspects de l’état cognitif d’un être humain pour générer le comportement d’un humain artificiel. Sans être exhaustif, on peut différentier ces différents modèles suivant leur domaine d’origine : - les modèles psychologiques s’appuient sur les études en psychologie pour représenter différentes fonctions cognitives comme par exemple les croyances, les désirs et les intentions, comme c’est le cas pour le modèle BDI (Believe, Desire, Intent) de Michael Bratman ; - les modèles psychophysiologiques sont des modèles issus de la rencontre entre les études en psychologie et en physiologie qui permettent de faire le lien entre l’état cognitif d’une personne et ses manifestations physiologiques observables. Le modèle des émotions de Nico Frijda, en est un bon exemple ; - les modèles biomimétiques sont les modèles que les biologistes utilisent pour reproduire en simulation des comportements observés dans le vivant (c’est le cas par exemple du modèle des motivations de l’éthologue David McFarland) ou que les informaticiens utilisent pour réaliser des algorithmes d’intelligence artificielle en s’inspirant du vivant (c’est le cas par exemple du modèle des motivations de Toby Tyrrell). Dans le domaine de la simulation constructive, il a été démontré que l’on pouvait utiliser les facteurs humains (FH), qui correspondent aux différents paramètres psychologiques et physiologiques caractérisant une vraie personne à simuler, pour influencer la prise de décision des acteurs artificiels. Les facteurs humains peuvent intervenir à trois niveaux dans la prise de décision : - un premier niveau (FH1) où les facteurs humains peuvent déclencher un nouveau comportement, par exemple pour satisfaire une motivation ou pour répondre à une certaine émotion ; - un second niveau (FH2) où les facteurs humains peuvent influencer le choix entre plusieurs manières de réaliser un comportement donné ; - un troisième niveau (FH3) où les facteurs humains peuvent avoir une influence sur l’efficacité avec laquelle des actions sélectionnées vont être réalisées. Rappel sur l ’ analyse des facteurs humains : La modélisation des facteurs humains dans les simulations s’appuie généralement sur la construction de modèles formels par des experts, mais il existe un domaine où des modèles cognitifs de cette nature sont le résultat d’un apprentissage, c’est celui de l’analyse des facteurs humains. L’analyse des facteurs humains s’appuie sur la réalisation et l’utilisation de modèles cognitifs dont l’objet est d’évaluer, pour chacun de ces modèles, un aspect de l’état cognitif de la personne observée. L’utilisation de modèles cognitifs (comme par exemple la vigilance ou la charge mentale) permet d’évaluer différents aspects de l’état cognitif de l’opérateur supervisé. Par exemple, un modèle cognitif, pour évaluer la charge mentale d’un pilote d’hélicoptère dans le cadre d’une mission réalisée en simulateur, a été réalisé à partir de données collectées lors de plusieurs exercices où le simulateur et le pilote étaient instrumentés. D’autres modèles cognitifs capables d’évaluer d’autres aspects de l’état d’un pilote (vigilance, somnolence, incapacité, etc.) ou pour d’autres domaines d’application (contrôleur aérien, opérateur d’une centrale nucléaire, etc.) peuvent être envisagés. Revenant sur la présente invention, elle inclut un procédé de modélisation qui permet de construire une base de données de modèles de comportement humain et elle porte sur un dispositif de génération de comportement d’un opérateur artificiel qui s’appuie cette base de données. Les modèles de comportement humain sont construits selon un procédé qui combine des modèles cognitifs et des modèles procéduraux de comportement. Chaque modèle de comportement humain correspond à un opérateur donné et/ou à une classe d’opérateurs, pour un système complexe donné. Le procédé de construction de ce nouveau modèle de comportement humain met en œuvre : - un format de modèle de comportement qui combine les deux catégories de modèles impliqués (cognitif et procédural); - une expertise métier pour identifier à quels niveaux de l’arborescence du modèle procédural des liens avec les « facteurs humains » (FH) générés par les modèles cognitifs (en suivant les trois niveaux d’influence des FH décrits plus haut) peuvent s’intégrer ; - une amélioration progressive des modèles de comportement humain de l’opérateur par des techniques d’apprentissage automatique utilisant les données de la base de connaissances de comportement des opérateurs (BCCO) comme référence. Les différentes phases qui permettent de créer les modèles nécessaires au fonctionnement du moteur de génération du comportement d’un opérateur artificiel en interaction avec un système complexe, sont maintenant décrites. Elles comportent : Une phase de constitution d’une « Base de Connaissances de Comportement des Opérateurs » (BCCO), pouvant être une « Base de Connaissances de Comportement des Pilotes » (BCCP) dans le cadre de la description d’un mode de réalisation préféré; Une phase de construction de modèles cognitifs ; Une phase de construction de modèles procéduraux ; et Une phase de construction de modèles du comportement humain. (A) Constitution d ’ une Base de Connaissances de Comportement des Opérateurs (BCCO) La constitution d’une Base de Connaissances de Comportement des Opérateurs (BCCO) permet de disposer des cas d’usage d’observation du comportement d’opérateurs et des données correspondantes qui sont nécessaires pour construire les modèles utilisés pour générer le comportement d’un opérateur artificiel en interaction avec un système complexe donné. La BCCO peut être réalisée, dans un premier temps, à partir de données issues d’expérimentations sur des simulateurs instrumentés du système complexe, ce qui facilite à la fois leur collecte et leur sauvegarde ultérieure. Par exemple, des modèles cognitifs de pilotes ont été construits à partir de données collectées sur des simulateurs d’avions civils. Il est possible de réaliser une collecte de données directement sur des systèmes réels (par exemple sur un avion civil pendant un vol). La Base de Connaissances de Comportement des Opérateurs est enrichie et complétée au fil du temps pour pouvoir affiner les modèles et, en particulier, ceux qui sont utilisés pour la génération du comportement d’un opérateur artificiel. La BCCO est composée de données de différentes natures enregistrées, par des capteurs appropriés, de manière synchrone telles que : - des données relatives aux actions de l’opérateur : - actions d’observation (ce que regarde l’opérateur) ; - actions de manipulation (ce que fait l’opérateur en utilisant les instruments du système), de commandes ; - actions de communication (ce que l’opérateur transmet par la voix en utilisant le système) ; - des données physiologiques (enregistrées sur l’opérateur à partir de capteurs biométriques) ; - des données contextuelles regroupant : - l’état et la dynamique du système complexe (par exemple les données avioniques si l’opérateur est un pilote d’avion); - des données d’environnement du système (par exemple la météo ou la position d’autres aéronefs si l’opérateur est un pilote d’avion) ; - des données relatives au contexte de la mission (par exemple le plan de vol ou le scénario d’exercice si l’opérateur est un pilote d’avion) ; - éventuellement des données subjectives sur le comportement de l’opérateur. Dans un mode de réalisation, un traitement de la variabilité inter/intra personnelle et inter/intra opérationnelle peut être appliqué sur les données afin de les grouper, et permettre la construction de modèles plus génériques (c’est-à-dire non liés à un seul opérateur). Par exemple, dans le cas de pilotes : - il est possible de regrouper des données de pilotes qui sont jugées suffisamment proches en termes de formation, d’ancienneté, de parcours, etc. pour construire des modèles pour des classes de pilotes ; - il est possible de regrouper des données de pilotes différents mais volant sur une même classe d’aéronef et sur des parcours similaires pour construire des modèles pour des classes de missions. L’homme du métier comprend ainsi que la qualité du comportement généré dépend de la qualité de la base de données des modèles du comportement humain des opérateurs qui, elle-même, dépend de la quantité de données qui auront pu être collectées dans la BCCO. (B) Construction de modèles cognitifs Les « Modèles de Comportement Cognitif » ou « Modèles Cognitifs », sont utilisés pour l’analyse des facteurs humains. La illustre de manière schématique pour l’exemple d’un pilote, comment les modèles cognitifs (102) sont élaborés (Phase de Modélisation) et comment ces modèles sont utilisés (Phase d’Exécution) pour évaluer (120) l’état cognitif d’un pilote, en utilisant les données d’une « Base de Connaissances de Comportement des Pilotes » (BCCP) (104) regroupant sur de nombreuses séances de vols, opérationnels ou simulés, des données (106) enregistrées sur le comportement du pilote : actions du pilote (actions d’observation de l’extérieur du cockpit et des instruments, actions de manipulation sur les commandes et les instruments de l’avion, actions de communication) ; paramètres physiologiques enregistrés par des capteurs biométriques ; informations contextuelle sur l’état et la dynamique du système complexe (l’avion), sur l’environnement (météo, autres acteurs/tactiques/trafic, …), sur la mission du pilote (plan et phases de vol par exemple) ou sur des informations plus subjectives sur son comportement (observation, déclaration, annotation, qualification, …). Les modèles cognitifs sont élaborés par des techniques d’intelligence artificielle pour l’apprentissage, à partir de données (108) collectées lors de plusieurs exercices où le système complexe et l’opérateur sont instrumentés (110), par exemple dans un simulateur d’avion instrumenté à cette fin. Des exercices correspondant à des scénarios réalistes et productifs avec des variations opérationnelles et cognitives sont effectués. Les données collectées qui regroupent des données objectives (mesures de capteurs ; sonde du simulateur ; scénario) et des données subjectives (auto-appréciation ; expertise externe) sont synchronisées, et fournies à la Base de Connaissances de Comportement des Pilotes, ou plus généralement des Opérateurs (104). Il est à noter que l’apprentissage n’est jamais fait à l’aveugle et, le plus souvent, il fait intervenir des experts (112) pour définir le type de modèle que l’on cherche à construire en choisissant, par exemple, les paramètres à utiliser. La constitution préalable d’une Base de Connaissances de Comportement des Pilotes (BCCP) ou plus généralement d’une Base de Connaissances de Comportement d’Opérateurs (BCCO) contenant des enregistrements synchronisés de séances d’interaction avec le système complexe utilisé, est ainsi un prérequis pour construire des modèles cognitifs, que ce soit pour évaluer la charge mentale d’un opérateur ou d’autres aspects de l’état d’un opérateur, i.e. sa vigilance, sa somnolence, son incapacité, etc. Comme illustré sur la , en phase d’exécution, les données collectées sont des entrées d’un moteur d’exécution (114) qui instancie le modèle cognitif (102) approprié afin de délivrer des informations (120) représentatives de l’état cognitif du pilote/opérateur. (C) Construction de modèles procéduraux Les « modèles constructifs de comportement » ou « modèles procéduraux », sont utilisés par les simulations constructives pour générer le comportement de chaque acteur non joué par l’entrainé ou par l’instructeur, et pour permettre à cet acteur de réaliser sa mission en fonction de la situation qu’il perçoit. Dans la quasi-totalité des simulations constructives, les modèles de comportement sont procéduraux, c’est-à-dire que le comportement généré correspond à une suite d’actions préenregistrées, généralement organisées sous forme de graphe ou par un ensemble de règles « ConditionsActions », s’activant en fonction des perceptions de l’acteur dans son environnement. Les modèles procéduraux sont généralement développés à la main par un expert sous une forme procédurale (avec une représentation en graphe, arborescence, etc.), pour modéliser les différents enchainements possibles du déroulement d’une mission. Ces modèles procéduraux peuvent être construits en direct par l’entrainé ou l’instructeur pendant l’exercice, ou ils peuvent être construits par un modélisateur et enregistrés dans une base de données pour être réutilisés pendant le cours de l’exercice. Il existe des techniques permettant de construire des modèles procéduraux qui sont en partie le résultat d’un apprentissage automatique et où l’expert intervient en amont pour, par exemple : - Structurer l’organisation des comportements (par exemple : un apprentissage génétique de missions collectives) ; - Simplifier les données en entrée (par exemple : un apprentissage d’arbres comportementaux) ; - Définir les expériences à enregistrer (par exemple : un apprentissage par cas). L’utilisation de l’apprentissage est surtout utile lorsqu’il est difficile, ou que cela prendrait trop de temps, de construire un modèle procédural de comportement qui répond à toutes les situations rencontrées. Dès que le problème devient trop complexe en nombre de situations possibles, il devient nécessaire de construire un modèle plus générique en utilisant un apprentissage automatique. En revanche, comme dans le cas de l’apprentissage de modèles cognitifs, le temps de calcul d’un modèle procédural de comportement complet devient rapidement prohibitif sans l’aide d’un expert du système étudié pour identifier les paramètres à optimiser ou pour définir par avance la structure du modèle. La illustre de manière schématique, comment les modèles procéduraux (202) sont élaborés (Phase de Modélisation) et comment ces modèles sont utilisés (Phase d’Exécution) pour générer (220) le comportement d’acteurs artificiels dans une simulation constructive. La phase de modélisation permet de construire des modèles procéduraux en utilisant, comme référence pour apprendre un comportement plus général que celui proposé par des experts opérationnels (212), les données enregistrées dans une « Base de Connaissances de Comportement des Pilotes » (BCCP) (204) regroupant sur de nombreuses séances de vols, opérationnels ou simulés, des données (206) enregistrées sur le comportement du pilote : actions du pilote (actions d’observation de l’extérieur du cockpit et des instruments, actions de manipulation sur les commandes et les instruments de l’avion, actions de communication) ; paramètres physiologiques enregistrés par des capteurs biométriques ; informations contextuelle sur l’état et la dynamique du système complexe (l’avion), sur l’environnement (météo, autres acteurs/tactiques/trafic, …), sur la mission du pilote (plan et phases de vol par exemple) ou sur des informations plus subjectives sur son comportement (observation, déclaration, annotation, qualification, …). En phase d’exécution, les modèles procéduraux (202) sont instanciés dans le moteur de comportement d’une simulation constructive (214) avec les données d’une simulation (208, 210) pour générer (220) des informations représentatives du comportement du pilote artificiel. (D) Construction de modèles d u comportement humain Les modèles de comportement humain élaborés par les inventeurs sont des modèles augmentant les modèles procéduraux de paramètres provenant de la modélisation de l’état cognitif de l’opérateur et de l’évolution de cet état cognitif en fonction de l’évolution de la situation perçue, par des données contextuelles et par des actions réalisées jusque-là par l’opérateur. Avantageusement, les modèles des deux catégories de modèles connus (procéduraux ; cognitifs) sont combinés dans une seule et unique structure de modélisation. L’apprentissage des nouveaux modèles de comportement humain s’appuie sur chacune de ces deux catégories en intégrant à la fois des composantes procédurales et des composantes cognitives de la prise de décision. Comme il a été développé précédemment, il est possible de construire un modèle procédural suffisamment évolué pour pouvoir générer le comportement d’un opérateur en interaction avec un système complexe, à condition que cet opérateur suive à la lettre les procédures d’utilisation de ce système. Cependant, cette dernière condition n’est pas toujours remplie puisque les opérateurs humains peuvent ne pas suivre à la lettre les procédures, en tenant compte de facteurs cachés qui sont difficiles à évaluer de l’extérieur. Même s’il est difficile de reproduire l’autonomie décisionnelle d’un opérateur humain, en tout cas dans les situations délicates ou imprévues, il est possible d’augmenter l’efficacité d’un système de génération de comportement en essayant d’évaluer, puis de modéliser les facteurs intrinsèques qui peuvent intervenir dans sa prise de décision. Ces facteurs intrinsèques peuvent être en particulier les facteurs humains (FH) déjà évoqués et pour lesquels quelques modèles existants permettent, par exemple, aux instructeurs de faciliter l’évaluation de leurs élèves pilotes. Pourtant, il n’est bien sûr pas possible d’évaluer tous les facteurs intrinsèques qui vont faire dévier l’opérateur des procédures, mais juste ceux qui ont un rapport avec son métier d’opérateur. Ainsi, pour un pilote, il sera possible d’évaluer sa vigilance, sa prise en compte de la situation, son stress ou sa charge mentale par exemple. Mais d’autres facteurs indétectables pourraient intervenir pour amener le pilote à faire d’autres choix de comportement. Cette problématique complexe a conduit les inventeurs à vouloir « augmenter » les modèles procéduraux, de paramètres supplémentaires provenant de l’évaluation de l’état cognitif de l’opérateur. La illustre de manière schématique et synthétique le processus de construction d’un modèle du comportement humain (300) selon l’invention, sur l’exemple d’un pilote. La première étape consiste à construire une base de connaissances de comportement des pilotes BCCP (302) (ou plus généralement, une base de connaissances de comportement des opérateurs BCCO d’une application concernée). Comme décrit précédemment, la base est construite avec des données collectées (304) lors de l’exécution de nombreux exercices impliquant différents pilotes (ou des opérateurs de l’application concernée), en interaction avec un système complexe (306) (ici, des pilotes dans leur aéronef). Les données collectées caractérisent des actions d’observation, de manipulation et de communication de l’opérateur, des données physiologiques relatives à l’opérateur et des données contextuelles regroupant des données sur l’état et la dynamique du système complexe, des données d’environnement, et des données relatives au contexte de la mission, et éventuellement, des données subjectives sur le comportement de l’opérateur. Ces données collectées pourront être utilisées dans un deuxième temps par le moteur de génération de comportement. En phase de modélisation, la Base de Connaissances de Comportement des Pilotes (302) est utilisée pour construire une base de données de modèles de cognitifs (308) avec l’aide d’experts médicaux et en utilisant des algorithmes d’apprentissage automatique. En parallèle, pendant la phase de modélisation de la BCCP, des modélisateurs (310) aidés par des experts opérationnels (ici, des pilotes expérimentés) définissent et construisent la structure des modèles procéduraux (312) qui sont ensuite adaptés par des techniques d’apprentissage en utilisant les données de la BCCP (302), pour constituer des bases de données de modèles procéduraux qui sont spécifiques à chaque opérateur ou chaque catégorie d’opérateurs. Toujours dans la phase de modélisation, les données d’exercices collectées qui sont synchronisées (304) et enregistrées dans la Base de Connaissances de Comportement des Pilotes vont permettre de réaliser, en combinaison avec les modèles cognitifs et les modèles procéduraux, un apprentissage (314) pour construire : des modèles d’état cognitif (316) permettant de modéliser l’évolution des paramètres de facteurs humains d’influence en fonction du contexte représenté par l’opérateur et la tâche qu’il réalise en utilisant le système complexe (par exemple, le pilote réalisant sa mission) ; et des modèles de tâche/mission (318) intégrant dans leurs règles de fonctionnement des paramètres de facteurs humains d’influence, provenant des modèles d’état cognitif (316), la prise en compte des facteurs humains intervenant selon trois niveaux d’influence (les trois types de connexions FH1, FH2, FH3, décrites dans la section précédente). La combinaison des deux catégories de modèles, les modèles d’état cognitif et les modèles de mission, prenant en compte les paramètres de facteurs humains d’influence, constitue les modèles du comportement humain (300) (de pilote ou plus généralement d’opérateur). Les données enregistrées dans la BCCO sont donc utilisées pour caractériser les choix de comportement des opérateurs en construisant des modèles de comportement humain différents pour chaque opérateur individuel (ou pour des catégories d’opérateurs proches dans leur comportement). Le modèle de comportement humain qui est appris et instancié pour un opérateur, sert, en mode exploitation, à initialiser un moteur de génération de comportement qui, à partir des données d’entrée caractérisant la situation courante de l’opérateur artificiel, est capable de produire en sortie un comportement et des actions analogues à celui et à celles que réaliserait un opérateur réel dans cette situation. Il ressort que les difficultés et verrous techniques de l’approche proposée, ont portés sur : La constitution d’une base de connaissances de comportement des opérateurs (302) BCCO de l’application concernée (BCCP pour les pilotes) suffisamment riche pour réaliser l’ensemble des apprentissages ; La constitution d’une base de modèles d’état cognitif (316) dont les paramètres sont suffisants pour décrire les influences de l’état d’un opérateur (par exemple un pilote) sur ses choix de comportement ; La possibilité d’apprendre les modèles d’évolution des différents paramètres caractérisant l’état cognitif de l’opérateur (par exemple du pilote) en fonction de ses caractéristiques personnelles, de ses perceptions et de ses actions ; La possibilité d’apprendre à partir des données de la BCCO (par exemple de la BCCP) des modèles procéduraux (312) pertinents et différentiés suivant les opérateurs (ex : les pilotes) ou catégories d’opérateurs (ex : catégories de pilotes) ; La capacité à relier par un apprentissage automatique les données provenant des modèles d’état cognitif et des modèles procéduraux pour reproduire les comportements des opérateurs (ex : des pilotes) enregistrés dans la BCCO (ex : la BCCP). Ce dernier point est le plus délicat à traiter puisque si l’on peut supposer que les choix de comportement d’un opérateur en interaction avec un système complexe (par exemple un pilote dans son aéronef) dépendent à la fois de sa perception de son environnement et de son état cognitif, il est plus difficile de s’assurer que toutes les perceptions pertinentes pour l’opérateur seront prises en compte dans le modèle et, plus encore, que les mesures capturées sur l’opérateur seront suffisantes pour déterminer l’ensemble des facteurs intrinsèques qui interviennent dans la sélection des actions de l’opérateur. La constitution de modèles de comportement humain, tels que décrits précédemment, permet d’intégrer ces modèles dans une simulation constructive des opérateurs artificiels dont le comportement généré est très proche de celui de véritables opérateurs en interaction avec un système complexe. La illustre de manière schématique un environnement permettant d’exécuter le procédé de l’invention. L’exemple est illustré pour un environnement aéronautique en vue d’appliquer le procédé de génération du comportement d’un opérateur artificiel à un pilote artificiel. Cependant l’homme du métier peut appliquer les principes décrits à tout autre environnement tel que cité précédemment, comme l’industrie et le transport ferroviaire ou routier, les domaines de la sécurité, les domaines du contrôle de processus, etc. et pour tout opérateur artificiel. Le procédé de l’invention permet pour l’exemple décrit, de générer le comportement d’un pilote artificiel (408) qui se comporte comme le pilote ou la classe de pilotes qui lui a servi de modèle, et ce, non pas en appliquant les procédures de vol de manière optimale, mais en exhibant un comportement représentatif du comportement d’un vrai pilote. Une utilisation directe est de pouvoir reproduire dans une simulation le comportement de vrais pilotes de manière à augmenter le réalisme de cette simulation, ce qui peut être intéressant tout autant pour des besoins d’entrainement que pour des besoins d’études. A terme, sous réserve de validation de ces modèles de comportement humain, Il semble possible de pouvoir remplacer un véritable opérateur en interaction avec un système complexe réel par ce que l’on pourrait appeler un « jumeau numérique comportemental ». Une application concrète pour l’aéronautique serait le pilotage d’un avion drone par un pilote artificiel qui se comporterait de manière similaire à un vrai pilote dont les données auraient été enregistrées dans la BCCP. Le but n’est pas de donner à un drone un comportement que l’on pourrait qualifier d’optimal mais de lui donner un comportement le proche possible de celui d’un humain, donc plus facile à appréhender d’un point de vue des relations homme-machine. Des extensions d’application de l’invention peuvent être la constitution d’ailiers robotisés ou d’une flottille de drones qui aideraient les pilotes des avions de chasse de nouvelle génération à réaliser leur mission. Même si beaucoup d’informations ne peuvent pas, par définition, être accessibles, il est possible d’utiliser les données enregistrées dans la BCCO pour caractériser les choix de comportement des opérateurs (ou dans la BCCP pour des pilotes), en construisant des modèles de comportement humain différents pour chaque opérateur individuel (ou pour des catégories d’opérateurs proches dans leur comportement). Ces modèles de comportement humain viennent alimenter un moteur de génération du comportement qui va être capable de les instancier pour simuler l’état cognitif de l’opérateur artificiel, gérer l’avancement de ses missions et moduler ses choix d’action en fonction des facteurs humains associés à cet état cognitif simulé. Le dispositif de génération du comportement d’un opérateur artificiel illustré sur la , est appliqué sur l’exemple d’un pilote artificiel dans le cockpit d’un avion simulé (402) dont on veut générer le comportement dans une simulation constructive. Par définition, la génération du comportement d’un acteur artificiel dans une simulation constructive fonctionne en boucle fermée avec le reste de la simulation. A chaque pas de temps, l’acteur artificiel (i.e. le composant matériel/logiciel) reçoit du module de simulation une mise à jour de la situation courante qui va lui permettre de prendre des décisions et de sélectionner les actions des acteurs dont il a le contrôle, ces actions ayant à leur tour des conséquences sur l’évolution de la situation au pas de temps suivant. La mise en œuvre du dispositif de génération du comportement d’un opérateur artificiel se découpe de la manière suivante : Les modèles de comportement humain (300), résultats de l’apprentissage qui a été décrit plus haut, sont instanciés dans un moteur de génération du comportement (406) en utilisant les données personnelles de l’opérateur représenté (ici un pilote) et la mission qui lui est donnée ; A chaque pas de temps, le moteur de génération (406) va mettre à jour l’état cognitif de l’opérateur artificiel en fonction de sa situation courante (404). La situation courante comprend : (a) La situation perçue, correspondant par exemple pour un pilote à : Ce qu’il voit sur ses instruments ; Ce qu’il voit à l’extérieur de son cockpit ; Ce qu’il entend dans son cockpit ou par ses instruments de communication. (b) Les données de contexte, correspondant par exemple pour un pilote : Au contexte de sa mission (plan, trajectoire, consignes, etc.) ; A sa connaissance du système complexe et de son état courant ; Aux éléments qu’il connait de son environnement (météo, présence d’autres acteurs, etc.). Ensuite, le moteur décompose la mission en une arborescence de tâches et de comportements en utilisant les informations provenant de la situation courante et des facteurs humains générés par son état cognitif ; A la fin du cycle, le moteur de génération de comportement propose de nouvelles actions pour l’opérateur artificiel qui vont avoir non seulement une influence sur l’état du système complexe avec lequel l’opérateur artificiel est en interaction mais aussi une influence sur l’évolution de son état cognitif. Les données de contexte peuvent comprendre des informations sur l’état du système complexe (i.e. de l’information sur des états inhérents à un fonctionnement normal, comme par exemple un pourcentage de puissance des moteurs, si les ailettes sont repliées ou dépliées, l’état des réservoirs de carburant, etc., et de l’information sur des états inhérents à un fonctionnement anormal, comme par exemple l’information que le moteur gauche est défaillant, la pédale droite du siège copilote est défaillante, ou toute sorte de potentielle défaillance). Les données de contexte peuvent comprendre des données de vol telles que : l’itinéraire, l’altitude, la vitesse, l’accélération, l’assiette et l’enveloppe. De plus, les paramètres de l’avion peuvent être pris en compte, tels que : la date de la dernière maintenance, les événements survenus en vol, etc. Le dispositif de l’invention comprend des ressources de calcul ou module de traitement de données (406) configuré pour mettre en œuvre le moteur de génération du comportement d’un acteur artificiel, avec les données de situation recueillies. La illustre un enchainement d’étapes du procédé de l’invention pour la génération du comportement d’un opérateur artificiel en interaction avec un système complexe. Le procédé (500) est mis en œuvre par ordinateur et comprend des étapes consistant à : (502) : récupérer des états de la simulation, correspondant à des données de la situation en cours (situation perçue, données de contexte sur la mission, le système et l’environnement) ; (504) : utiliser les données récupérées comme entrées du moteur de génération de comportement pour mettre à jour l’état cognitif de l’opérateur artificiel et l’avancement des tâches par rapport à la mission (i.e. selon le scenario de mission qui a été définie pour la simulation constructive) ; (506) à partir des mises à jour, décomposer la mission en nouvelles tâches et comportements ; et (508) générer des données d’actions et de comportements de l’opérateur artificiel. Le procédé met en œuvre un modèle de comportement humain (300) modélisant le comportement de l’opérateur représenté, à la fois sur le plan cognitif et sur le plan procédural. Le modèle de comportement humain qui est instancié pour cet opérateur a été appris dans la phase d’apprentissage (précédemment décrite), par l’application de techniques d’intelligence artificielle sur des modèles cognitifs et sur des modèles procéduraux, avec des données capitalisées dans une base de connaissances de comportement d’opérateurs de systèmes complexes. La illustre un exemple d’implémentation de la structure sous-jacente du modèle du comportement humain de l’invention qui permet d’instancier, via le moteur de génération de comportement, le modèle de comportement d’un opérateur représenté, ce modèle de comportement pour cet opérateur ayant été obtenu à partir des modèles de comportement humain construits par apprentissage en utilisant une base de connaissances de comportement d’opérateurs (BCCO). Pour des raisons de clarté de la description, il est pris pour convention sur la , que la partie gauche de l’arborescence représente la structure associée aux modèles cognitifs, et la partie droite de l’arborescence représente la structure associée aux modèles procéduraux. Complètement à gauche se trouve l’état cognitif courant de l’opérateur artificiel. Les composantes de cet état (E1, E2 et E3) sont des éléments de l’état de l’opérateur (comme le stress ou la vigilance) Cet état est initialisé et mis à jour grâce aux modèles d’évolution de l’état cognitif qui sont construits à partir des modèles cognitifs décrits plus haut. L’état cognitif courant d’un opérateur artificiel est évalué à partir de différentes composantes Ei qui représentent autant de modèles psychophysiologiques caractérisant l’évolution de l’état cognitif de cet opérateur en fonction de l’évolution de la situation courante et des actions qu’il réalise. Ainsi par exemple, les composantes E1, E2 et E3 sur la peuvent représenter, pour un pilote artificiel, une évaluation de son stress (E1) à partir d’un modèle cognitif d’évolution de stress, une évaluation de sa vigilance (E2) à partir d’un modèle cognitif d’évolution de vigilance, une évaluation de sa charge mentale (E3) à partir d’un modèle cognitif d’évolution de charge mentale. Un comportement cognitif CCi de l’opérateur peut être déclenché par une certaine configuration de l’état de l’opérateur. Ce comportement correspond à une influence de premier niveau des facteurs humains (représentée par la flèche FH1), i.e. un niveau où les facteurs humains peuvent déclencher un nouveau comportement. Ainsi, par exemple, l’évolution de l’état cognitif d’un pilote artificiel montrant un très bas niveau de sa vigilance, peut engendrer un comportement cognitif qui soit l’endormissement du pilote. Or un comportement cognitif n’est pas nécessairement élémentaire, et il peut être décomposé en une pluralité de comportements Ci plus simples (par exemple les modules de comportement C1 à C3). Les comportements Ci peuvent eux-mêmes être chacun décomposé en une pluralité d’actions élémentaires observables Ai de l’opérateur (par exemple les modules d’actions A1 à A5). L’ensemble de cette structure hiérarchique (Ci; Ai) du modèle du comportement cognitif peut être le résultat d’un apprentissage automatique, combiné avec une expertise sur les modèles cognitifs. La partie droite de la figure représente la structure associée aux modèles constructifs de comportement : Complètement à droite se trouve l’évaluation de la situation courante de l’opérateur artificiel composé à la fois de données de contexte et de données perçues provenant de l’environnement de simulation. Cette situation perçue est enregistrée à partir d’interfaces avec la simulation qui permettent de simuler ce que voit l’opérateur, ce qu’il entend ou connait et ce qu’il ressent. L’opérateur a une ou plusieurs missions. Chacune de ces missions peut être décomposée de manière hiérarchique en une pluralité de tâches procédurales Tj (par exemple les modules de tâches T1, T2, T3), qui, elles-mêmes, sont chacune décomposable en comportements (par exemple les modules de comportements C3 à C7). Les comportements Cj peuvent eux-mêmes être chacun décomposé en une pluralité d’actions élémentaires observables Aj de l’opérateur (par exemple les modules d’actions A1 à A5) qu’il peut effectuer pour réaliser la mission. De la même manière que pour les comportements cognitifs, la structure hiérarchique (Tj; Cj; Aj) des comportements procéduraux peut être le résultat d’un apprentissage automatique, combiné avec des connaissances doctrinales d’un expert opérationnel. Avantageusement, le modèle de comportement humain de l’invention établit des liens entre les modèles de comportement cognitif et les modèles procéduraux (modèles constructifs de comportement), selon la structure hiérarchique de l’arbre comportemental et de l’arbre de missions. Ces liens (illustrés sur la par toutes les interconnexions entre les différents niveaux hiérarchiques de deux catégories de modèles), permettent d’aboutir à une représentation du comportement d’un opérateur dans toutes ses composantes (cognitive et procédurale). Un premier niveau d’interconnexion est la possibilité d’avoir des modules de comportement (Ci, Cj) qui soient communs dans l’arborescence, ces modules de comportement pouvant être activés soit par un comportement cognitif, soit par une tâche d’une mission, soit par les deux simultanément. La illustre que le module de comportement C3 est un module de comportement commun. Le module de comportement C3 est issu d’un comportement cognitif CCi et il provient aussi de la décomposition de la tâche référencée dans le module de tâches T1. Ainsi, lors de la mise en œuvre du modèle de comportement humain, des modules de comportement qui sont communs aux deux modèles, peuvent être activés soit par un comportement cognitif, soit par une tâche d’une mission, soit par les deux simultanément (et alors proposer un comportement de compromis). Un deuxième niveau d’interconnexion correspond au deuxième niveau d’influence des facteurs humains (FH2), i.e. le niveau où les facteurs humains peuvent influencer le choix entre plusieurs manières de réaliser un comportement donné. Le principe consiste à utiliser l’état cognitif de l’opérateur pour influencer la décomposition des tâches Tj ou la décomposition des comportements (Ci, Cj) de l’arbre de mission. Par exemple, un état de stress de l’opérateur artificiel peut augmenter le poids dans l’arbre comportemental d’un comportement plus prudent. Un troisième niveau d’interconnexion se situe au niveau du déclenchement des actions. En effet, les deux hiérarchies comportementales (cognitif ; procédural) sont nécessairement mises en concurrence à ce niveau-là. Chaque module d’action (Ai, Aj) peut être activé par un module de l’arbre cognitif, par un module de l’arbre de mission ou par les deux à la fois. Avantageusement, les paramètres de facteurs humains d’influence sur la détermination de comportements et d’actions de l’opérateur, sont utilisés à plusieurs niveaux du graphe hiérarchique. Dans un mode de réalisation, les paramètres de facteurs humains d’influence sont utilisés à un premier niveau du graphe pour déterminer des comportements cognitifs, à un deuxième niveau du graphe pour déterminer des comportements et des actions, et à un troisième niveau du graphe pour déterminer la sélection des actions qui doivent être générées. La illustre par exemple que le module d’actions A1 est commun au module de comportement C1 provenant de la décomposition d’un comportement cognitif et au module de comportement C4 provenant de la décomposition du module de tâche (T1 et/ou T2). Le dernier niveau de l’arborescence est celui de la sélection des actions (illustré au bas de la ). Ce niveau fonctionne suivant le principe connu des actuateurs. Chaque action est représentée par une combinaison d’un ou de plusieurs actuateurs (Actu1, Actu2 et Actu3). Ceci détermine la possibilité d’exclure des actions simultanées mais aussi de réaliser plusieurs actions simultanément. L’exemple pour un pilote militaire est qu’il ne peut pas regarder en même temps ses instruments et l’extérieur de son cockpit. En revanche, il peut très bien réaliser une de ces deux actions et appuyer en même temps sur la gâchette de son canon. A la fin du processus de sélection des actions, le modèle de comportement humain de l’invention fait intervenir sur ce dernier niveau de l’arborescence, le dernier niveau (FH3) d’influence des facteurs humains sur le comportement (illustré par la flèche FH3 sur la ), i.e. le niveau où les facteurs humains peuvent avoir une influence sur l’efficacité avec laquelle des actions vont être réalisées. En effet, l’état cognitif de l’opérateur artificiel peut altérer l’efficacité des actuateurs, limitant ainsi la performance des actions sélectionnées. L’état cognitif est alors pris en compte pour la sélection des actions. Par exemple, un tremblement des mains dû au stress ou le phénomène de tunnélisation qui limite le champ de vision, peuvent être modélisés et pris en compte dans la sélection des actions faites par le modèle. Le résultat final de ce processus est la génération du comportement de l’opérateur artificiel et, en particulier, des nouvelles actions que cet opérateur va réaliser dans la simulation. Cette génération de comportement peut avoir une conséquence directe sur l’état cognitif de l’opérateur artificiel. Ainsi, certaines actions peuvent augmenter ou diminuer son stress. Un trop grand nombre de modules de comportement activés peut aussi augmenter sa charge de travail, etc. Cette génération du comportement peut aussi avoir une conséquence indirecte sur le futur comportement de l’opérateur artificiel et sur son état cognitif simulé. En effet, les actions qui sont effectuées dans l’environnement de simulation et en particulier sur le système complexe peuvent entrainer une modification de celui-ci et donc modifier la situation que va percevoir l’opérateur artificiel. La illustre un exemple de fonctionnement du moteur de génération du comportement d’un opérateur artificiel avec la génération du comportement d’un pilote dans une simulation aérienne, en s’appuyant sur la structure hiérarchique de la . Dans cet exemple, volontairement simplifié par rapport aux véritables modèles de comportement humain, il est pris pour hypothèse que l’on dispose des interfaces suffisantes avec la simulation aérienne pour permettre de construire la situation que percevrait un vrai pilote. On suppose aussi que l’on a pu construire des modèles d’évolution de l’état cognitif permettant de simuler le stress, la vigilance et la charge mentale de ce pilote lors de la phase de décollage de son avion. Le moteur de génération de comportement va permettre de dérouler les procédures que devrait suivre un vrai pilote lors des différentes étapes de cette phase de vol allant de l’alignement sur le piste de départ jusqu’à la montée initiale. Dans ce scénario d’exercice, il est introduit au moment de la phase de rotation, qui est la phase qui permet de rouler sur la piste en augmentant les gaz jusqu’à atteindre la vitesse de décollage, un incident consistant en la traversée de la piste par une volée d’oiseaux, cet incident pouvant être une source de danger pour l’avion et ses occupants. La construction du modèle de comportement humain permet de simuler le comportement de différents pilotes dans cette situation en fonction des caractéristiques qui vont impacter l’évolution des différents éléments de leur état cognitif : Un pilote peu expérimenté peut voir son niveau de stress augmenter ce qui peut activer un comportement de « Sauvegarde » (facteur humain d’influence FH1) et avoir comme conséquence l’abandon de son décollage. Un pilote peu concentré peut présenter au décollage une absence de vigilance qui peut l’entraîner à continuer son « Accélération » comme si de rien d’était. La vigilance du pilote peut influencer ses comportements procéduraux pour la mission en cours (facteur humain d’influence FH2). En revanche, un pilote expérimenté et concentré va maintenir un niveau de vigilance important tout en maintenant assez bas son niveau de stress ce qui va probablement l’amener à choisir un des deux comportements « Ralentissement » ou « Maintien Vitesse » pour permettre de laisser passer la volée d’oiseaux avant de reprendre le cours de son décollage. Quel que soit le comportement généré par le moteur en fonction de la situation perçue et de l’état du pilote, ce comportement va se décomposer en plusieurs actions élémentaires, qui peuvent éventuellement être simultanées. Ces actions élémentaires peuvent elles aussi être altérées par un niveau élevé de la charge mentale du pilote (facteur humain d’influence FH2). Dans l’exemple de l’abandon du décollage, les actions élémentaires du pilote artificiel peuvent par exemple être, une action de freinage, une action de surveillance extérieure, une action de surveillance des instruments. La réalisation effective des actions sélectionnées par le pilote passe par l’utilisation d’actuateurs (mains, pieds, yeux) dont l’efficacité elle-aussi peut être diminuée par un niveau anormal de l’état du pilote (facteur humain d’influence FH3). Quelle que soit la situation de l’appareil et l’état cognitif du pilote, le modèle de comportement humain appris doit permettre au moteur de génération de comportement, non seulement de sélectionner les actions qui seront effectivement réalisées par le pilote artificiel dans la simulation, mais aussi doit permettre que la réalisation de ce comportement soit cohérente par rapport aux caractéristiques du pilote qui est simulé. La présente description illustre une implémentation préférentielle de l’invention qui n’est pas limitative. Des exemples sont choisis pour permettre une bonne compréhension des principes de l’invention et une application concrète, en particulier au domaine de l’avionique, mais ils ne sont pas exhaustifs et doivent permettre à l’homme du métier d’apporter des modifications et des variantes d’implémentation selon les domaines d’application, en conservant les mêmes principes. Le dispositif et le procédé de l’invention sont avantageux pour tous les systèmes impliquant la modélisation et la simulation du comportement d’opérateurs humains en interaction avec un système complexe. De nombreuses applications industrielles trouveront des avantages à l’implémentation du dispositif et du procédé de l’invention, et elles concernent toutes les simulations possibles impliquant un opérateur et un système complexe où la double nécessité de réalisme opérationnel et humain est importante. Les applications envisageables sont notamment pour : la simulation de transport au sens large (aéronautique, ferroviaire, maritime, automobile, etc.) où l’on veut simuler de manière fine le comportement de pilote d’avion, de conducteur de train, de bateau ou de voiture par exemple ; les domaines de gestion de situation (contrôle aérien, agent de la sécurité publique, etc.) ; les domaines de gestion de processus (production d’énergie, opérateur de centrale, etc.) ; L’exploitation de l’invention peut concerner : Les systèmes de formation, d’entrainement, d’étude ou d’aide à la décision impliquant la simulation fine d’opérateur artificiel en interaction avec des systèmes complexes eux-aussi simulés ; Le remplacement partiel ou complet d’opérateurs réels par des opérateurs artificiels capables de générer un comportement proche de celui des opérateurs réels dans l’utilisation d’un système réel. En résumé, les éléments principaux de la présente invention portent sur : - un procédé de création d’une base de données de modèles de comportement humain d’opérateurs en interaction avec un système complexe, intégrant à la fois des éléments cognitifs (état de l’opérateur), des éléments procéduraux (missions et procédures de l’opérateur) et les différentes interactions entre ces deux catégories d’éléments. Cette base de données est constituée grâce à un apprentissage automatique à partir de données enregistrées dans une base de connaissances de comportement des opérateurs lors de séances d’interaction d’une cohorte d’opérateurs avec le système complexe étudié. - un dispositif (et son procédé) permettant de générer le comportement d’un opérateur artificiel en interaction avec un système complexe et, en particulier de simuler l’évolution de son état cognitif, en utilisant les données provenant d’un environnement de simulation contenant un modèle évolué du système complexe ou d’un environnement réel contenant le vrai système. Le dispositif s’appuie sur la base de données de modèles de comportement humain des opérateurs qui a été constituée, pour produire des modèles constructifs évolués, bénéficiant de la modélisation de l’état cognitif de cet opérateur. Au-delà de ces points, la présente invention constitue une nouvelle manière d’appréhender la modélisation du comportement d’un opérateur ou d’une classe d’opérateurs par un apprentissage automatique qui est capable d’exploiter à la fois des données expertes caractérisant de manière procédurale le comportement de cet opérateur ou de cette classe d’opérateurs, et des données réelles provenant de l’enregistrement en situation d’interaction du comportement de cet opérateur ou de cette classe d’opérateurs avec le système complexe étudié. Procédé de génération du comportement d’un opérateur artificiel en interaction avec un système complexe au cours d’une mission, la mission étant une mission réelle ou simulée, le procédé étant mis en œuvre par ordinateur et comprenant des étapes consistant à : - (502) collecter une pluralité de données sur la situation courante du système complexe ; - (504) fournir les données collectées en entrée d’un module de traitement de données comprenant un moteur de génération de comportement instanciant un modèle de comportement humain appris dans une phase d’apprentissage par l’application de techniques d’intelligence artificielle pour modéliser sur le plan cognitif et le plan procédural le comportement d’un opérateur réel représenté par l’opérateur artificiel, le modèle de comportement humain établissant des liens entre des modèles de comportement cognitif et des modèles procéduraux selon une structure hiérarchique, ledit module de traitement de données utilisant les données d’entrées pour évaluer par instanciation l’état cognitif de l’opérateur artificiel et l’avancement de tâches dans la mission ; - (506) à partir des évaluations de l’état cognitif de l’opérateur artificiel et de l’avancement des tâches dans la mission, décomposer la mission en une arborescence de nouvelles tâches et nouveaux comportements ; et - (508) générer des données d’actions et de comportements de l’opérateur artificiel. Le procédé selon la revendication 1 dans lequel le modèle de comportement humain instancié pour l’opérateur artificiel a été appris dans une phase d’apprentissage, par l’application de techniques d’intelligence artificielle sur des modèles cognitifs et sur des modèles procéduraux utilisant, sur de nombreuses simulations, une pluralité de données d’apprentissage pour différents opérateurs, les données d’apprentissage étant capitalisées dans une base de connaissances de comportement d’opérateurs de systèmes complexes. Le procédé selon la revendication 1 ou 2 dans lequel l’étape d’évaluation de l’état cognitif de l’opérateur artificiel prend en compte la situation courante qui comprend des données sur la situation perçue par l’opérateur artificiel et des données de contexte de mission et d’environnement. Le procédé selon l’une quelconque des revendications précédentes dans lequel le modèle de comportement humain est représenté comme un graphe hiérarchique comprenant des modules de comportements cognitifs et des modules de tâches relativement à une mission, les modules de comportements cognitifs et les modules de tâches étant décomposés en modules de comportements, les modules de comportement étant décomposés en modules d’actions, les actions étant des actions élémentaires observables au niveau de l’opérateur artificiel, le graphe comprenant un niveau de sortie correspondant à une sélection d’actions élémentaires. Le procédé selon la revendication 4 dans lequel l’étape de décomposition de la mission consiste à utiliser sur le graphe hiérarchique les informations provenant de la situation courante et des paramètres de facteurs humains d’influence générés par l’état cognitif mis à jour. Le procédé selon la revendication 5 dans lequel les paramètres de facteurs humains d’influence sont utilisés à plusieurs niveaux du graphe hiérarchique. Le procédé selon la revendication 6 dans lequel les paramètres de facteurs humains d’influence sont utilisés à un premier niveau du graphe pour déterminer des comportements cognitifs, à un deuxième niveau du graphe pour déterminer des comportements et des actions, et à un troisième niveau du graphe pour déterminer une sélection d’actions. Un dispositif de génération de comportement d’un opérateur artificiel en interaction avec un système complexe au cours d’une mission, la mission étant une mission réelle ou simulée, le dispositif comprenant des moyens pour mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 1 à 7. Utilisation du dispositif selon la revendication 8 pour la génération du comportement d’un pilote artificiel en interaction avec un aéronef simulé ou un drone réel au cours d’une mission. Programme d'ordinateur comportant des instructions de code pour l'exécution des étapes du procédé selon l’une quelconque des revendications 1 à 7, lorsque ledit programme est exécuté par un processeur. Le procédé selon l’une quelconque des revendications 1 à 7 comprenant des étapes préliminaires de construction de modèles de comportement humain, lesdites étapes préliminaires consistant à : - construire une base de connaissances de comportement d’opérateurs BCCO à partir de données issues d’opérateurs en interaction avec un système complexe ; - utiliser les données de la BCCO pour construire par apprentissage une base de données de modèles cognitifs ; - utiliser les données de la BCCO pour construire par apprentissage une base de données de modèles spécifiques à chaque opérateur ou à chaque catégorie d’opérateurs ; - utiliser les données de la BCCO, les données de la base de modèles cognitifs, les données de la base de modèles spécifiques, pour construire par apprentissage : - des modèles d’état cognitif permettant de modéliser l’évolution de paramètres de facteurs humains d’influence, en fonction du contexte représenté par l’opérateur et la tâche qu’il réalise dans son interaction avec le système complexe ; - des modèles de mission intégrant dans leurs règles de fonctionnement les paramètres de facteurs humains d’influence provenant des modèles d’état cognitif, la prise en compte des paramètres intervenant selon trois niveaux d’influence ; la réunion de modèles d’état cognitif et de modèles de mission constituant des modèles de comportement humain d’opérateur ou de catégorie d’opérateurs. Le dispositif selon la revendication 8 comprenant des moyens pour mettre en œuvre les étapes du procédé selon la revendication 11. Le dispositif selon la revendication 12 dans lequel les moyens mettent en œuvre des techniques d’intelligence artificielle pour faire de l’apprentissage automatique.