WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Planification multi-agents pour la composition dynamique

( Télécharger le fichier original )
par Brakni Ilhem
Université de Tébessa -algerie - Ingénieur d'état en informatique 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

II. Les SMA

Le thème des systèmes multi-agents (SMA), s'il n'est pas récent, est actuellement un champ de recherche très actif. Cette discipline est à la connexion de plusieurs domaines en particulier de l'intelligence artificielle, des systèmes informatiques distribués et du génie logiciel. C'est une discipline qui s'intéresse aux comportements collectifs produits par les interactions de plusieurs entités autonomes et flexibles appelées agents, que ces interactions tournent autour de la coopération, de la concurrence ou de la coexistence entre ces agents.

C'est un domaine très large ; ce que nous allons présentées dans cette section ne fait que des points sur les principaux concepts des SMA ([7], [13], et [15] pour des articles de référence).

II.1. Qu'est ce qu'un agent?

Dans la littérature, on trouve une multitude de définitions d'agents. Elles se ressemblent toutes, mais diffèrent selon le type d'application pour laquelle est conçu l'agent. Nous avons choisis celle de Jennings, Sycara et Wooldridge [7] :

« Un agent est un système informatique, situé dans un environnement, et quiagit d'une façon autonome et flexible pour atteindre les objectifs pour lesquels il a été conçu ».

Les notions « situé >>, « autonome >> et « flexible >> sont définies comme suit:

· Situé : l'agent est capable d'agir sur son environnement à partir des entrées sensorielles qu'il reçoit de ce même environnement;

· Autonome : l'agent est capable d'agir sans l'intervention d'un tiers (humain ou agent) et contrôle ses propres actions ainsi que son état interne;

· Flexible : l'agent dans ce cas est:

Capable de répondre à temps: il doit être capable de percevoir son environnement et élaborer une réponse dans les temps requis;

Proactif: il n'agit pas simplement en réponse à son environnement, il est également capable d'avoir un comportement opportuniste, dirigé par ses buts d'utilité, et de prendre des initiatives au moment approprié.

Social: l'agent doit être capable d'interagir avec les autres agents (logiciels et humains) quand la situation l'exige afin de compléter ses tâches ou aider ces agents à accomplir les leurs.

II.2. Architectures d'agents

Un agent peut toujours être vu comme une fonction liant ses perceptions à ses actions. Ce qui différencie les différentes architectures d'agents, c'est la manière dont les perceptions sont liées aux actions. Les deux grandes familles d'agents sont : les agents réactifs et les agents délibératifs (voir [15] pour les détails).

II.2.1. Agents réactifs : Un agent réactif ne fait que réagir aux changements qui surviennent dans l'environnement. Autrement dit, un tel agent ne fait ni délibération ni planification, il se contente simplement d'acquérir des perceptions et de réagir à celles ci en appliquant certaines règles prédéfinies tant donné qu'il n'y a pratiquement pas de raisonnement, ces agents peuvent agir et réagir très rapidement. Cette catégorie regroupe les deux types d'architecture suivants :

· les agents à réflexes simples.

· les agents conservant une trace du monde.

II.2.2. Agents délibératifs : Un agent délibératif est un agent qui effectue une certaine délibération pour choisir ses actions. Une telle délibération peut se faire en se basant sur les buts de l'agent ou sur une certaine fonction d'utilité. Elle peut prendre la forme d'un plan qui reflète la suite d'actions que l'agent doit effectuer en vue de réaliser son but. Ainsi, les trois types d'architecture suivants peuvent être regroupés sous cette catégorie :

· les agents ayant des buts.

· les agents utilisant une fonction d'utilité.

· les agents BDI.

II.2.3. Agents hybrides : Chacune des architectures précédentes est appropriée à un certain type de problème. Cependant, pour la majorité des problèmes, ni une architecture complètement réactive, ni une architecture complètement délibérative n'est appropriée. Dans ce cas, une architecture conciliant à la fois des aspects réactifs et délibératifs est requise. On parle alors d'architecture hybride.

II.3. Systèmes multi-agents II.3.1. Définition

Un système multi-agents est un système distribué composé d'un ensemble d'agents interagissant, le plus souvent, selon des modes de coopération, de concurrence ou de coexistence situés dans un environnement commun. Il possède les caractéristiques principales suivantes [7]:

· chaque agent a des informations ou des capacités de résolution de problèmes limitées, ainsi chaque agent a un point de vue partiel ;

· il n'y a aucun contrôle global du système multi-agents ;

· les donnés sont décentralisées ;

· le calcul est asynchrone.

Pourquoi des SMA ?

· Certains domaines requièrent l'utilisation de plusieurs entités, par exemple, il y a des systèmes qui sont géographiquement distribués. Les SMA procurent une façon facile et efficace de les modéliser.

· Une autre situation, où les sont requis, est lorsque les différents systèmes et les données qui s'y rattachent appartiennent à des organisations indépendantes qui veulent garder leurs informations privées et sécurisées pour des raisons concurrentielles.

· Les SMA possèdent également les avantages traditionnels de la résolution distribuée et concurrente de problèmes [15] :

- La modularité, permet de rendre la programmation plus simple ;

- La vitesse, due principalement au parallélisme ;

- La fiabilité, qui peut être également atteinte, dans la mesure où le contrôle et les responsabilités étant partagés entre les différents agents, le système peut tolérer la défaillance d'un ou de plusieurs agents.

· Finalement, les SMA héritent aussi des bénéfices envisageables du domaine de l'intelligence artificielle comme par exemple, le traitement symbolique (au niveau des connaissances).

II.3.2. Interaction entre agents : Jacques Ferber donne la définition suivante de l'interaction : « Une interaction est la mise en relation dynamique de deux ou plusieurs agents par le biais d'un ensemble d'actions réciproques... » [13]. Les interactions entre agents peuvent variées selon les situations dont se trouve ces agents : coexistence, compétition ou coopération.

· S'ils ne font que coexister, alors chaque agent ne considère les autres agents que comme des composantes de l'environnement. Il n'y a aucune communication directe entre les agents

· S'ils sont en compétition, alors le but de chaque agent est de maximiser sa propre satisfaction. La compétition entre agents peut avoir plusieurs sources : Les buts des agents peuvent être incompatibles ou les ressources peuvent être insuffisantes.

· S'ils sont en coopération, alors le but des agents n'est plus seulement de maximiser leurs propres satisfactions mais aussi de contribuer à la réussite du groupe. Les agents travaillent ensemble à la résolution d'un problème commun.

II.3.3. Coopération entre agents : La coopération est nécessaire quand un agent ne peut pas atteindre ses buts sans l'aide des autres agents. Cette situation est fréquente même chez des espèces primitives. Les buts nécessitant la coopération peuvent être.

II.3.4. Coordination entre agents : Il y a interaction entre les agents soit pace qu'ils coopèrent, soit parce qu'ils sont en compétition. Dans les deux cas, une coordination peut être nécessaire pour améliorer le fonctionnement global du système [13].

Lorsque plusieurs agents travaillent sur le même lieu, utilisent les mêmes ressources, où résolvent des sous problèmes qui ne sont pas complètement indépendants (conception d'un objet

complexe par exemple), ils doivent accomplir, en plus des tâches liées directement au problème traité, des tâches de coordination. Ces tâches ne sont pas directement productives mais elles améliorent les tâches productives.

Les tâches de coordination peuvent être accomplies directement par les agents concernés quand elles sont relativement rares et qu'elles n'engagent pas un grand nombre d'agents en même temps. Sinon, elles sont prises en charge par des agents spécialisés qui recueillent les demandes et fixent les ordres de priorité ou d'autres contraintes.

II.3.5. Négociation entre agents : Comme nous avons vus précédemment, en interagissant dans un environnement partagé, les agents doivent coordonner leurs actions et avoir des mécanismes pour la résolution des conflits. Le mécanisme favori pour la résolution des conflits et la coordination, inspiré du modèle des humains, est la négociation.

Dans les systèmes multi-agents, la négociation est une composante de base de l'interaction surtout parce que les agents sont autonomes ; il n'y a pas de solution imposée à l'avance et les agents doivent arriver à trouver des solutions dynamiquement, pendant qu'ils résolvent les problèmes [14].

II.3.6 Communication entre agents : Les communications, dans les systèmes multi-agents comme chez les humains, sont à la base des interactions et de l'organisation sociale. Sans communication, l'agent n'est qu'un individu isolé, refermé sur sa boucle perception-délibérationaction. C'est parce que les agents communiquent qu'ils peuvent coopérer, coordonner leurs actions, réaliser des taches en commun et devenir ainsi de véritables êtres sociaux.

Dans les SMA deux stratégies principales ont été utilisées pour supporter la communication entre agents:

Communication par transfert de messages : Dans cette approche, les agents échangent de messages entre eux directement (pas de mémoire partagée).

Communication par l'utilisation d'un tableau noir : Un tableau noir est utilisé pour spécifier une mémoire partagée par divers systèmes. Dans un SMA utilisant un tableau noir, les agents peuvent écrire des messages, insérer des résultats partiels de leurs calculs et obtenir de l'information dans et à partir de ce tableau.

Pour coordonner l'activité d'un ensemble hétérogène d'agents autonomes, il faut que les agents communiquent dans un langage compréhensible par tous les autres. Les deux langages les plus utilisés sont : KQML(1) et FIPA-ACL(2).

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Le don sans la technique n'est qu'une maladie"