Systèmes multi-agents : structure, principes de construction, application. Intelligence artificielle

Table des matières:

Systèmes multi-agents : structure, principes de construction, application. Intelligence artificielle
Systèmes multi-agents : structure, principes de construction, application. Intelligence artificielle
Anonim

Le but des systèmes multi-agents (SMA) est de coordonner des processus indépendants. Un agent est une entité informatique sous la forme d'un programme ou d'un robot. Un agent peut être considéré comme autonome car il est capable de s'adapter lorsque son environnement change. Un MAC consiste en un ensemble de processus informatiques qui se produisent en même temps et existent en même temps, partagent des ressources communes et communiquent entre eux. Le problème clé dans le MAC est la formalisation de la coordination entre les agents.

Définir les systèmes multi-agents

Définition des systèmes multi-agents
Définition des systèmes multi-agents

MAC est une approche tournée vers l'avenir du développement de logiciels pour des applications dans des domaines complexes où les composants d'application en interaction sont autonomes et distribués, fonctionnent dans des environnements dynamiques et incertains, doivent se conformer à certaines règles et lois organisationnelles, et peuvent rejoindre et quitter un système multi-agents pendant l'exécution.

Des exemples de telles applications sont des systèmes quigérer et optimiser la production et la distribution d'électricité entre les consommateurs ou les systèmes qui planifient de manière optimale les charges dans les systèmes de transport. Le développement de systèmes multi-agents nécessite la création d'agents, d'organisations et d'environnements distincts.

Les langages de programmation fournissent des constructions de programmation pour la mise en œuvre d'agents individuels en termes de concepts sociaux et cognitifs tels que l'information, les objectifs, les options, les normes, les émotions et les règles de décision.

Les organisations multi-agents en termes de concepts sociaux et organisationnels ont des rôles, dotés de normes, de protocoles de communication, de ressources qui font l'objet d'un suivi. Les langages de programmation et frameworks développés sont utilisés pour créer des simulations à base d'agents pour de nombreuses industries de production continue: électricité, métallurgie, santé, Internet, transport, gestion du trafic et jeux sérieux.

Les MAS diffèrent des systèmes à agent unique en ce sens qu'ils comportent plusieurs agents qui modélisent les objectifs et les actions des autres. Dans un scénario général, il peut y avoir une interaction directe entre les agents. Du point de vue d'un agent unique, les systèmes multi-agents diffèrent surtout des systèmes à agent unique en ce que la dynamique de l'environnement peut être déterminée par d'autres agents. En plus de l'incertitude qui peut être inhérente à un domaine, d'autres agents ont délibérément un impact sur l'environnement de manière imprévisible.

Ainsi, tous les MAC peuvent être considérés comme ayant des environnements dynamiques, ce qui est typique dessystèmes multi-agents. Il peut y avoir n'importe quel nombre d'agents avec divers degrés d'hétérogénéité, avec ou sans possibilité de communication directe.

Architecture MAS

Architecture des systèmes MAC
Architecture des systèmes MAC

Les agents doivent être équipés d'un modèle cognitif:

  • croyances;
  • voeux;
  • intentions.

D'une part, il lit des "Croyances" sur l'environnement, qui sont le fruit de ses connaissances et de ses perceptions, et d'autre part, un ensemble de "Désirs". Le croisement de ces deux ensembles donne un nouvel ensemble d'"Intentions" qui sont ensuite directement traduites en actions.

Les agents doivent disposer d'un système de communication. Il existe plusieurs langages spécialisés à cet effet: Language Query and Manipulation Language (KQML). Récemment, la norme FIPA-ACL, créée par la FIPA Foundation for Intelligent Physical Agents, a été diffusée. Ce dernier principe de construction de systèmes multi-agents est basé sur la théorie des actes de langage.

Le problème de l'adaptation est une question épineuse qui fait actuellement l'objet de nombreuses recherches. On peut donner l'exemple de certains virus, aussi bien biologiques qu'informatiques, capables de s'adapter à un environnement mutant.

Enfin, une implémentation efficace du MAC, bien que ne faisant pas à proprement parler partie de l'architecture du système, mérite l'attention dans les nombreux langages de programmation qui ont été développés pour l'étude de l'intelligence artificielle. En particulier, le langage LISP est mentionné. Ces éléments architecturaux sont appliqués à un système constitué d'éléments cognitifsagents.

Catégories ou modèles d'agents

La classification des agents repose sur deux critères: les agents cognitifs ou réactifs qui présentent, d'une part, un comportement téléonomique, ou un réflexe. La distinction que l'on peut faire entre cognitif et réactif est essentiellement une représentation du monde dont dispose l'agent. Si un individu est doté d'une "représentation symbolique" du monde à partir de laquelle il peut formuler un raisonnement, alors on parle d'un agent cognitif, alors que s'il n'a qu'une "représentation sous-symbolique", c'est-à-dire limitée à ses perceptions, on parle d'agent réactif. Cette distinction cognitive et réactive correspond à deux écoles théoriques des systèmes multi-agents.

Le premier soutient l'approche fondamentale des agents "intelligents" pour la coopération d'un point de vue sociologique. Dans le second, la possibilité de l'émergence de comportements "intelligents" d'un ensemble d'agents non intelligents (type fourmi) est étudiée. La deuxième différence entre comportement comportemental et réflexe sépare le comportement intentionnel, la poursuite d'objectifs explicites, du comportement perceptif. Ainsi, les tendances des agents peuvent s'exprimer explicitement dans les agents ou, au contraire, provenir de l'environnement. Tableau regroupant différents types d'agents:

  1. Agents cognitifs.
  2. Agents réactifs.
  3. Comportement télénomique.
  4. Agents intentionnels.
  5. Agents gérés.
  6. Comportement réflexe.
  7. Agents "modules".
  8. Agents tropicaux.

Les agents cognitifs sont principalement intentionnels, c'est-à-direils ont des objectifs fixes qu'ils essaient d'atteindre. Cependant, on utilise parfois des agents appelés modules, qui ont une idée de leur "univers" sans objectifs précis. Ils pourraient servir, par exemple, à répondre aux questions d'autres agents de "l'univers".

Les réactifs peuvent être divisés en actionneurs et agents tropicaux. L'agent instinctif aura une mission fixe et déclenchera un comportement s'il constate que l'environnement ne correspond plus à la finalité qui lui est assignée. L'agent tropical ne réagit qu'à l'état local de l'environnement, par exemple s'il y a de la lumière, alors il coule. La source de motivation dans le cas interne des agents d'entraînement qui ont une "mission" se réfère uniquement à l'environnement.

Paradigmes organisationnels

Paradigmes organisationnels
Paradigmes organisationnels

Avec le développement de tels systèmes, divers paradigmes organisationnels ont été développés. Ces structures de systèmes multi-agents définissent le cadre des relations et des interactions entre les agents.

Hiérarchies. Dans ce modèle, les agents sont hiérarchisés selon une structure arborescente dans laquelle chaque nœud est un agent et possède un lien d'autorisation sur ses nœuds enfants. Ce modèle détruit l'objectif global du système.

Holarchy se rapproche de la hiérarchie. Il n'y a pas de relation d'autorité entre un agent et son sous-groupe.

Une coalition est une alliance temporaire d'agents qui se rassemblent et coopèrent parce que leurs intérêts personnels se rencontrent. La valeur de la coalition doit être supérieure à la somme des valeurs individuelles des composants de l'agent.

Les congrégations ressemblent beaucoup à des coalitions etcommandes. Cependant, ils sont censés être permanents et ont généralement plusieurs objectifs à atteindre. De plus, les agents peuvent entrer et sortir des congrégations et appartenir à plusieurs en même temps.

La société est un ensemble d'agents divers qui interagissent et communiquent. Ils ont des buts différents, n'ont pas le même niveau de rationalité et les mêmes capacités, mais ils obéissent tous à des lois (normes) communes.

Les agents de la Fédération laissent une partie de leur autonomie au délégué de leur groupe. Les agents de groupe n'interagissent qu'avec leur délégué, qui à son tour interagit avec les délégués d'autres groupes.

Les agents commerciaux proposent des objets que les agents des acheteurs peuvent réclamer. Ce type d'organisation permet par exemple de simuler des marchés réels et de comparer différentes stratégies de trading.

Les agents de l'organisation matricielle sont hiérarchiques. Cependant, contrairement à la hiérarchie présentée ci-dessus, où un agent n'est subordonné qu'à quelques autres agents, ceux d'une organisation matricielle peuvent être soumis à plusieurs autres.

Combinations - Cette organisation combinée mélange plusieurs des styles ci-dessus. Il peut s'agir, par exemple, d'une coalition ou d'une hiérarchie d'équipes.

Intelligence Artificielle

Intelligence artificielle
Intelligence artificielle

L'objectif des sciences cognitives est de comprendre la nature et le fonctionnement de l'intelligence artificielle, c'est-à-dire ce qui traite les informations internes pour les rendre utiles. De nombreux concepts correspondent à cette description: humains, ordinateurs, robots, systèmes sensoriels,la liste est interminable. Un type de système qui intéresse particulièrement les scientifiques cognitifs est le self-agent artificiel qui agit sur l'information.

Un agent intelligent (IA) est capable de prendre des décisions basées sur son expérience et peut choisir des actions dans différentes situations. Comme le terme "artificiel" le suggère, le type d'agents d'intérêt autonomes n'est pas quelque chose de créé par la nature. Par conséquent, un agent artificiel est tout ce qui est créé par des personnes, capable d'agir sur la base des informations qu'il perçoit, de ses propres expériences, décisions et actions.

Le domaine de l'intelligence extra-naturelle fournit les compétences techniques pour traduire les types d'agents souhaités dans un langage de programmation, des logiciels associés et une architecture appropriée (matériel et logiciels associés) pour mettre en œuvre l'agent dans le monde réel ou simulé.

Environnement du monde de la perception

Environnement du monde de la perception
Environnement du monde de la perception

Agent est tout ce qui capte l'environnement par le biais de capteurs et agit sur celui-ci par le biais d'effecteurs, ce qui semble assez simple. Cette définition d'un agent couvre un large éventail de machines, des thermostats aux objets qui peuvent en fait apprendre un petit répertoire de comportements.

Les capteurs sont des outils utilisés par un agent pour collecter des informations sur son monde. Le clavier et le caméscope peuvent fonctionner comme capteurs s'ils sont associés à l'agent. A la fin de la réponse du système, les exécutants sont les outils utilisés par l'agent pour influencer l'environnement. Des exemples d'effecteurs sontmoniteur, imprimante et bras robotique.

Habituellement, l'environnement est le domaine ou le monde de l'agent. Ces domaines, du moins pour l'instant, devraient être limités à des types de situations spécifiques afin d'éviter les possibilités illimitées du monde quotidien.

Système d'influence autonome

Système d'impact autonome
Système d'impact autonome

Un agent autonome est "un système à l'intérieur et faisant partie d'un environnement qui perçoit cet environnement et agit sur lui au fil du temps afin de mener à bien son propre programme et d'influencer ce qu'il expérimente à l'avenir ". Cette définition de Franklin et Greisser reflète toutes les fonctions de base des agents intelligents, à l'exception de leur sociabilité. Cela fournit une bonne approximation des principales caractéristiques de la grande variété d'IA en développement.

Ces agents ressentent leur environnement. Mais ici, les données sensorielles ou les perceptions incluent non seulement des données sur d'autres objets, mais aussi l'influence de l'agent lui-même sur l'état des choses dans l'environnement. Les capteurs peuvent être organiques, comme les yeux et les oreilles et leurs processeurs neuronaux, ou artificiels, comme les processeurs vidéo et audio intégrés dans un ordinateur numérique. L'environnement peut être une zone très limitée, comme un espace clos, ou très complexe, comme une bourse ou une collection d'astéroïdes. Les capteurs doivent correspondre aux types d'objets avec lesquels l'agent interagit.

Type d'interaction réflexe

L'agent réflecteur a un mécanisme plus complexe. Au lieu de la dynamique directepar rapport à l'environnement, il cherche ce qu'il doit faire dans la liste des règles. L'agent réflexe répond à une perception donnée par une réponse programmée. Même s'il existe des milliers de réponses possibles à une perception donnée, l'agent dispose d'une liste intégrée de règles d'action de situation pour exécuter les réponses qui ont déjà été prises en compte par le programmeur. La règle d'action de situation est fondamentalement un impératif hypothétique.

Les agents réflexes ne sont vraiment pas très brillants. Ils ne peuvent tout simplement pas gérer la nouveauté. L'agent intelligent contient les fonctionnalités de ses cousins moins sophistiqués, mais n'est pas aussi limité. Il agit selon l'ordre du jour. Il a un ensemble d'objectifs qu'il poursuit activement. L'agent basé sur la cible a une compréhension de l'état actuel de l'environnement et de la façon dont cet environnement fonctionne généralement. Il poursuit des stratégies ou des objectifs majeurs qui ne peuvent être atteints immédiatement. Cela rend l'agent actif, pas seulement réactif.

Utilitaire fonctionnel cible

Dans les agents plus complexes, une mesure de ménage est appliquée aux différentes actions possibles pouvant être effectuées dans l'environnement. Ce planificateur complexe est un agent basé sur un service. L'agent basé sur le service évaluera chaque scénario pour voir dans quelle mesure il atteint certains critères pour obtenir un bon résultat. Des éléments tels que la probabilité de succès, les ressources nécessaires pour réaliser le scénario, l'importance de l'objectif à atteindre, le temps que cela prendrait, peuvent tous être pris en compte dans les calculs de la fonction d'utilité.

Parce quePuisqu'un programmeur ne peut généralement pas prédire tous les états du monde qu'un agent rencontrera, le nombre de règles qui devraient être écrites pour un agent réflexe serait astronomique, même dans des domaines très simples tels que la planification de réunions ou l'organisation d'itinéraires de transport et de ravitaillement.

Boucle de contrôle de base

Compte tenu de la définition d'un agent intelligent, considérons la boucle de contrôle de base écrite par le théoricien des agents Michael Vuladrich en 2000:

  • garder la paix;
  • mettre à jour le modèle de monde interne;
  • atteindre une intention délibérée;
  • utiliser des moyens/fins pour obtenir un plan d'intentions;
  • exécuter le plan;
  • mettre fin au processus.

Ce modèle a besoin d'être interprété. L'agent observe le monde - cela signifie que lui, à l'aide de ses capteurs, collecte des perceptions. Le capteur peut être un clavier attaché à un ordinateur numérique ou un processeur visuel attaché à un robot. Cela peut être tout ce qui permet à l'agent de rassembler des représentations du monde. La mise à jour du modèle interne signifie que l'agent ajoute une nouvelle perception à sa séquence de perceptions et d'informations programmées sur le monde.

Plateformes de développement multi-agents

Plateformes de développement multi-agents
Plateformes de développement multi-agents

AnyLogic est un logiciel de simulation CORMAS open source multi-agents et multi-composants basé sur le langage de programmation orienté objet SmallTalk.

DoMIS est un outil de conception de systèmes multi-agents axé sur le "contrôle opérationnel des systèmes complexes" et basé sur la méthode de conception B-ADSC.

JACK est un langage de programmation et un environnement de développement pour les agents cognitifs développé par Agent Oriented Software en tant qu'extension orientée agent du langage Java.

GAMA est une plate-forme de modélisation open source (LGPL) qui offre un environnement de modélisation spatialement explicite basé sur des agents utilisant des données SIG pour décrire les agents et leur environnement.

JADE (Java Agent DEVELOPMENT) est un framework de développement multi-agent open source basé sur le langage Java.

Sept modèles de la norme

Dans le processus évolutif de la recherche, il y a plus d'informations sur la façon de créer un système fiable et représentant un niveau de qualité supérieur. La tendance à continuer est de compléter ou d'étendre les méthodes existantes qui ont réussi à consolider la prise de décision au sein du développement.

La norme méthodologique permet, de manière compréhensible et simple, de créer un MAC, non seulement en utilisant un langage naturel, mais également en utilisant des modèles de description qui aident à la spécification du système.

La norme méthodologique propose sept modèles de problèmes ou leurs solutions pour la construction de MAC:

  1. Un modèle de scénario décrivant une entreprise ou une organisation.
  2. Le modèle des buts et objectifs définit et décrit la structure organique.
  3. Le modèle d'agent définit les humains et les systèmes autonomes.
  4. Le modèle de rôle associe des buts et des objectifs à un agent particulier.
  5. Le modèle organisationnel décrit l'environnement auquel un agent individuel est associé.
  6. Le modèle d'interaction décrit la relation, en mettant l'accent sur la coordination des agents.
  7. Le modèle de conception définit l'architecture de l'agent et du réseau.

Exemples d'interaction entre agents

Exemples de systèmes multi-agents
Exemples de systèmes multi-agents

MAS sont utilisés pour simuler l'interaction entre agents autonomes. L'utilisation des systèmes multi-agents par exemple en sociologie permet de paramétrer les différents agents qui composent la communauté. En ajoutant des contraintes, vous pouvez essayer de comprendre quel sera le composant le plus efficace pour atteindre le résultat attendu. Ils doivent expérimenter des scénarios qui ne seraient pas réalisables par de vraies personnes, que ce soit pour des raisons techniques ou éthiques.

Distributed IA a été créé pour résoudre la complexité des grands programmes d'intelligence non naturelle monolithiques - exécution, distribution et contrôle centralisé. Pour résoudre un problème complexe, il est parfois plus facile de créer des programmes relativement petits (agents) en coopération qu'un grand programme monolithique. L'autonomie permet au système de s'adapter dynamiquement aux changements imprévus de l'environnement.

Les exemples de systèmes multi-agents dans l'industrie du jeu sont nombreux et variés. Ils sont utilisés dans les jeux vidéo et les films, dont le logiciel MASSIVE, par exemple pour simuler les mouvements de foule dans la trilogie du Seigneur des Anneaux. Ils peuvent aussiutilisé par les entreprises, par exemple, pour suivre le comportement des clients naviguant sur les sites Web.

MAS sont également utilisés dans le monde de la finance. Par exemple, la plateforme MetaTrader 4 permet l'utilisation d'agents experts en trading automatisé qui suivent les taux Forex

Avantages de l'utilisation du système

Dans la recherche IA, la technologie des systèmes à base d'agents a été adoptée comme un nouveau paradigme pour la conceptualisation, la conception et la mise en œuvre de systèmes logiciels. Avantages de l'approche multi-MAS:

  1. Partage les ressources et les capacités informatiques sur un réseau d'agents interconnectés.
  2. Permet l'interconnexion et l'interopérabilité de plusieurs systèmes hérités existants.
  3. Couvrant divers domaines, y compris la maintenance des aéronefs, les portefeuilles électroniques de livres, le déminage militaire, les communications et communications sans fil, la planification de la logistique militaire, le système de gestion de la chaîne d'approvisionnement, la planification collaborative des missions, la gestion du portefeuille financier.

Dans la recherche, la technologie IA pour les systèmes à base d'agents a été adoptée comme un nouveau paradigme pour la conceptualisation, la conception, la mise en œuvre et l'apprentissage multi-agents des systèmes logiciels.

Ainsi, MAC est un réseau faiblement couplé d'agents logiciels qui interagissent pour résoudre des problèmes au-delà de la capacité ou des connaissances individuelles de chaque créateur de problèmes.

Conseillé: