next up previous contents
suivant: Une classification monter: Les architectures individuelles précédent: Quelques exemples d'architectures individuelles   Table des matières

Les composants d'un agent

Un grand nombre d'architectures d'agents sont organisées de manière modulaire [#!abchiche-1999!#,#!metral-1993!#,#!riley-2000!#,#!tambe-1995!#]. Ces modules se retrouvent sous des formes proches dans la plupart des architectures d'agents (typiquement, toutes les architectures d'agents comportent les trois volets perception, délibération et action). En revanche, leur organisation au sein de l'architecture d'un agent et les communications et interdépendances entre modules sont différentes d'une architecture à l'autre. Nous allons détailler les différents composants habituellement trouvés dans les architectures d'agents décrites dans la littérature.

On trouve dans pratiquement toutes les architectures d'agents un organe preneur de décisions (ordonnanceur), assimilé par analogie à l'unité de contrôle de l'ordinateur de Von Neumann5.1. La plupart des agents ne peuvent structurellement exécuter qu'un nombre limité d'actions atomiques simultanément (généralement une seule en raison de limitations physiques ou de limitations des langages de programmation ou de systèmes d'exploitation utilisés, tous n'offrant pas facilement de fonctionnalités de parallélisme préemptif ou d'exécution asynchrone). Il est donc nécessaire de choisir parmi les actions à effectuer celle qui pourra s'exécuter en se basant sur des critères tels que l'adéquation aux objectifs, la priorité (pondération), la complexité, la durée, etc. Le choix d'une tâche à exécuter peut être influencé par les autres organes de l'agent. Typiquement, l'ordonnanceur peut faire appel à l'expertise d'autres organes pour évaluer la pertinence d'une tâche.

Les agents de type intentionnel ayant un but à accomplir, il leur est nécessaire de connaître les actions à effectuer pour l'atteindre, c'est-à-dire de disposer d'objectifs intermédiaires à accomplir. De tels agents ont donc besoin de conserver en mémoire une image de leurs objectifs ou au contraire dont la validité n'est pas possible dans l'état actuel du monde. En effet, les cogniticiens considèrent généralement que la décision d'adopter d'une attitude est le résultat d'un calcul basé sur la multiplication de l'importance de cette attitude (selon les critères des motivations de l'agent) par l'estimation des espérances de succès. Une telle base d'objectifs doit être mise à jour de manière régulière pour correspondre à la réalité. Par exemple, une mise à jour est nécessaire à chaque accomplissement d'un objectif intermédiaire ou lorsque la dérivation de la perception du monde dépasse un certain seuil par rapport à l'état du monde lors de l'établissement des objectifs.

Afin de connaître la pertinence d'un objectif, c'est à dire de vérifier s'il est toujours valable en fonction de l'état du monde extérieur ou de l'état interne de l'agent lui-même, un agent intentionnel a besoin de disposer d'une vision (ou modèle) symbolique du monde. Ce modèle est une représentation interprétative du monde obtenue à partir d'informations sensorielles ou de croyances structurelles. Il prend la forme d'une base de données de symboles représentant chacun un aspect de l'environnement (par exemple, des symboles décrivant la température, les coéquipiers, la topologie du terrain, etc.) ou des relations entre symboles. Cette représentation étant interprétative, elle peut dériver fortement de la réalité fonctionnelle extérieure. C'est pour cette raison qu'elle est aussi parfois appelée base de croyances (nous considérons ici l'adéquation physique et non opérationnelle avec la réalité). De plus, dans le cas particulier d'un milieu dynamique (voir le chapitre [*]), cette représentation du monde doit être mise à jour de manière régulière, voire en temps réel, afin d'être la plus consistante et pertinente possible.

Le planificateur est un organe qui met en place une succession d'opérations, dans le but de remplir les objectifs, en se basant sur l'hypothèse que les actions planifiées vont modifier l'environnement dans un sens positif. Le planificateur intervient à deux niveaux dans le comportement d'un agent: à un niveau supérieur, il détermine quels sont les comportements à suivre sur le long terme pour adopter une stratégie efficace et à un niveau inférieur, il détermine les primitives d'action (actions atomiques) nécessaires à l'accomplissement de la prochaine étape planifiée importante. Dans le cas d'un système multi-agents, l'activité planifiée coordonnée nécessite de plus une synchronisation entre les différents agents impliqués et un partage de plans afin d'obtenir un ordonnancement efficace entre leurs actions en vue d'une résolution globale de problèmes [#!durfee-1991!#].

Un agent a besoin de connaître avec une précision suffisante l'état de son environnement. Pour posséder un état du monde adéquat, il doit le percevoir directement ou doit obtenir des informations sur celui-ci par le biais d'autres agents (des agents facilitateurs par exemple). Dans les deux cas, il a besoin d'organes sensitifs ou percepteurs, qui lui envoient des informations sur son environnement, en continu ou sur des bases événementielles. Les récepteurs d'un agent sont typiquement des capteurs dans le cas d'un agent robotique ou des canaux de communication avec son environnement informatique dans le cas d'un agent purement logiciel (cela peut inclure des canaux de communication avec d'autres agents ou des dispositifs de mesure). L'action des percepteurs est renforcée par un travail de reconstruction d'informations à un niveau symbolique ou logique.

De même, un agent doit avoir le pouvoir d'agir sur son environnement afin de résoudre le problème pour lequel il a été créé ou afin de maintenir un équilibre ou un état en fonction de la représentation qu'il se fait de son environnement. Par exemple, il peut s'agir d'assurer sa propre survie ou de maintenir un facteur au dessus d'un certain seuil. Les actions portant sur l'environnement de l'agent sont effectuées par ses effecteurs, qui consistent en des dispositifs mécaniques dans le cas d'un agent robotique (par exemple des roues, un bras articulé, un émetteur radio ou lumineux, etc.) ou en des méthodes logicielles (canal de communication avec un processus, appel système, etc.). Le bon fonctionnement des plans de l'agent nécessite d'obtenir des informations en retour de son action afin d'entreprendre une correction en cas d'échec (par exemple, nos agents évaluent à chaque cycle l'adéquation de la situation par rapport à l'action suivie). Certains effecteurs permettent l'évaluation de l'action entreprise (mesure de la vitesse d'un moteur, code de retour d'une procédure, etc.) ce qui permet d'obtenir immédiatement une mesure de l'incidence de l'action sur l'environnement ou sur son issue. Dans le cas contraire, l'évaluation de l'action d'un effecteur doit se faire par l'étude de l'environnement et de son évolution.


next up previous contents
suivant: Une classification monter: Les architectures individuelles précédent: Quelques exemples d'architectures individuelles   Table des matières
Benjamin DRIEU 2001-10-12