Context
La planification automatique d’actions est une problématique centrale de l’Intelligence Artificielle. Son objectif consiste à générer un plan d’actions à un niveau symbolique à partir d’un état initial pour atteindre un but. L’un des objectifs de l’IA est de produire un système autonome, c’est-à-dire un agent artificiel capable de prendre des décisions pertinentes et d’étudier la calculabilité de ces décisions. De ce point de vue, la planification est certainement, en tant que raisonnement sur l’action, l’un des composantes essentiel d’un système autonome : raisonner sur l’action est une condition sine qua non à l’autonomie décisionnelle et à la rationalité d’un agent artificiel.
L’évolution et le déploiement des systèmes autonomes, tels que les systèmes multiagents, posent dorénavant ces défis à un niveau supérieur, celui d’un groupe d’agents. En effet, d’un point de vue pratique, la distribution grandissante des applications dans lesquelles il n’est pas possible d’envisager un contrôle centralisé, pour des raisons organisationnelles ou techniques, motive la conception de systèmes multiagents capables de collaborer pour réaliser un objectif commun. La mise en œuvre de tels systèmes passe par l’étude des mécanismes algorithmiques permettant aux agents de raisonner à un haut niveau d’abstraction sur les actions collectives à réaliser.
Parallèlement, l’avènement des services web comme une technologie incontournable du web et sa dissémination à grande échelle pose dorénavant la problématique de la composition automatique des services web. En effet, l’un des verrous les plus importants au développement des architectures orientées services est la création manuelle de services composites. Cette composition par un expert nécessite la mise au point de middlewares permettant de sélectionner les services répondant à ses besoins fonctionnels et non fonctionnels (qualité de service, confiance, privacy etc.) ; d’ordonner les services sélectionnés, les flux de données et de contrôle ; d’exécuter les services et surveiller leurs aléas d’exécution. Considérons un ensemble d’agents représentant chacun un service web dont le but confié par un opérateur humain est d’appliquer des procédures de réparation ou de maintenance sur une infrastructure matérielle. L’ensemble des compétences nécessaires à l’accomplissement de cette tâche est réparti sur plusieurs agents : un agent en charge des équipements réseaux, un agent en charge de gérer les applications présentent sur les machines virtuelles et finalement un agent en charge du stockage des données dans le Cloud. Pour qu’une telle tâche soit réalisée avec succès par les trois types d’agents, en l’absence d’opérateur humain, les agents sont dans l’obligation de se concerter pour décomposer la tâche collective en un ensemble de sous-tâches, de raisonner sur les capacités des autres agents ou encore d’élaborer une vue commune de l’état de l’environnement.
Pour en savoir plus télécharger le.pdf