• Aucun résultat trouvé

Le paragraphe précédent conclut sur le besoin de se munir de paradigmes de modélisa- tion dans lesquels un système peut être décomposé en sous-parties autonomes et actives : les systèmes multi-agents. Ce paragraphe présente les notions d’agent, de système multi- agent et d’environnement qui sont les concepts clés de ces systèmes. La notion d’agent est issue de l’évolution du domaine de l’intelligence artificielle distribuée, comme dans DVMT de Lesser et Corkill [Lesser et Corkill, 1983]. A partir du moment où le contrôle des enti- tés fut décentralisé, MACE de Gasser et al. par exemple, les termes de système multi-agent et d’agent apparurent comme paradigme de conception de système artificiels [Gasser et al., 1987].

1.2.1 La notion d’agent

Une définition communément admise du concept d’agent est la suivante [Ferber, 1995, chap. 1] : un agent est une entité physique ou virtuelle capable d’agir (ou communiquer) sur son environnement de manière autonome et ce en fonction de perceptions et connaissances partielles. Le comportement de l’agent est guidé par un ou des objectifs individuels. Les agents sont destinés à être plongés dans un environnement afin d’effectuer une tâche en commun qui sera déterminée par les compétences des agents. La distribution des tâches sera guidée par les accointances de ces agents, c.-à-d. les interactions entre agents. Ferber distingue deux sous-types d’agents : les agents situés qui évoluent dans un environnement physique, dont les actions concernent des modifications des objets l’entourant, et les agents communicants dont les actions sont purement sociales (envoi de messages, d’intentions, etc.). Bien sûr, un agent peut être à la fois situé et communicant, c’est le cas de robots capables de soulever des boîtes et de communiquer par radio, par exemple.

L’autonomie d’un agent peut-être définie en trois points [Arlabosse et al., 2004] :

– les agents ont une existence propre et indépendante de l’existence des autres ;

– les agents sont capables de maintenir leur viabilité dans des environnements dyna- miques, sans contrôleur extérieur ;

– les agents sont capables de prises de décision quant à leur comportement à venir (ac- tion, communication).

Cette définition de l’autonomie des agents reste toutefois limitée. Les premier et deuxième points doivent se préciser en une indépendance vis-à-vis des entités de même niveau conceptuel – un agent est autonome face aux autres agents. En effet un système arti- ficiel sera toujours fortement dépendant de l’environnement d’exécution, du système d’ex- ploitation ou de l’architecture réseau dans lesquels il prend place. Le troisième point consti- tue l’un des principaux enjeux de l’intelligence artificielle actuelle. Néanmoins, ce point sera souvent traduit comme une directive de programmation tendant à éviter des appels di- rects de méthodes des objets représentant les agents, en programmation orientée objet par exemple.

1.2. Les systèmes multi-agents

Le comportement interne d’un agent est souvent représenté comme un cycle de vie perception-décision-action. Lors de la phase de perception, l’agent met à jour ses connexions avec l’environnement (senseurs, capteurs ou boîte aux lettres). Lors de la phase de décision, les perceptions permettent à l’agent de mettre à jour ses connaissances et croyances sur le monde, puis de décider d’une action à exécuter pendant la phase d’action. Ce cycle de vie se retrouve à la fois dans les agents réactifs mais aussi dans certaines architectures d’agents comme les BDI (Belief-Desire-Intention) où un agent, à partir d’événements extérieurs, met à jour ses buts et sa base de faits ; à partir de ses nouvelles connaissances, choisit le plan approprié pour atteindre ses buts ; puis à partir du plan déduit ses intentions d’exécution ; puis, enfin, passe à l’action [Rao et Georgeff, 1995].

1.2.2 La notion de système multi-agent

Agréger des agents dans un ensemble ne signifie pas forcément que le système est un système multi-agent. Parler de systèmes multi-agents implique la prise en compte de pro- blématiques organisationnelles et collectives portant sur les entités, la dynamique et la struc- ture [Arlabosse et al., 2004].

Un agent au sein d’un système peut avoir un rôle ou une certaine tâche à remplir vis-à-vis des autres agents ; ce qui n’est pas le cas dans des systèmes mono-agents. La dynamique in- duite par le regroupement d’agents doit être prise en compte à la fois au niveau des agents (Quels sont leurs plans ? Quels service offrent-ils aux autres ? Quelles capacités collectives possèdent-ils ?) et au niveau du collectif (Quelles sont les interactions possibles ? Quelles col- laborations/coopérations/formations peuvent-ils adopter ?). Enfin, la façon dont sont agen- cés les agents au sein de la société et dans quel contexte est chose primordiale. Les notions d’organisation, avec des modèles comme AGR (Agent/Groupe/Rôle) [Ferber et Gutknecht, 1998], ou bien d’infrastructures collaboratives, sont des sujets de recherche importants dans le domaine multi-agent.

Un système multi-agent est donc un système composé d’agents autonomes ayant pour but de fournir une fonction collective. Les mécanismes permettant d’obtenir cette fonction prennent en compte les enjeux sociaux entre agents, comme la coopération. Dans ce mé- moire, nous nous focaliserons sur les aspects méthodologiques de la mise en place de com- portements coopératifs afin d’obtenir des systèmes auto-organisateurs.

1.2.3 La notion d’environnement

Ferber considère qu’un système multi-agent est composé d’agents, d’objets, d’un envi- ronnement et d’opérations [Ferber, 1995]. Cette définition va à l’encontre des définitions utilisées en biologie ou physique pour l’auto-organisation et l’émergence, dans lesquelles l’environnement est tout ce qui n’est pas agent. Ici, nous choisirons de présenter l’environ- nement selon deux axes :

3 l’environnement d’un agent est constitué de tout ce qui l’entoure : les objets ou les autres agents. On distingue deux types d’environnements, physique et social, pour un agent :

l’environnement physique correspond à tous les objets que l’agent peut percevoir ou sur lesquels il peut agir. Par exemple, si l’on considère une fourmi comme étant un

agent, son environnement physique est composé de nourriture et d’obstacles. On parle d’environnement physique essentiellement dans le cas d’agents situés ;

l’environnement social correspond aux autres agents avec lesquels un agent est en interaction par envoi de message par exemple. On parle d’environnement social surtout dans le cas d’agents communicants.

3 l’environnement du système est composé de tout ce qui n’est pas dans le système : les objets ou d’autres agents faisant partie d’un autre système multi-agent. L’environne- ment du système est ce qui va le guider vers une adéquation fonctionnelle dans le cas de systèmes auto-organisateurs.

Concernant sa nature et sa dynamique, l’environnement peut être caractérisé en utilisant les termes suivants [Russel et Norvig, 1995; Wooldridge, 2000; Lind, 2001] :

Environnement accessible (par opposition à "inaccessible"). Le système peut obtenir une in- formation complète, exacte et à jour sur l’état de son environnement. Dans un environ- nement inaccessible, seule une information partielle est disponible. Par exemple, un en- vironnement tel que l’Internet n’est pas accessible car il est impossible de tout connaître à propos de lui. Un robot qui évolue dans un environnement possède des capteurs pour le percevoir et, en général, ces capteurs ne lui permettent pas de connaître tout de son environnement qui est alors considéré comme inaccessible.

Environnement continu (par opposition à "discret"). Dans un environnement continu, le nombre d’actions et de perceptions possibles dans cet environnement est infini. Dans un environnement discret, le système possède des perceptions distinctes, clairement dé- finies qui décrivent l’environnement. Par exemple, dans un environnement réel tel que l’Internet, le nombre d’actions qui peuvent être effectuées par les utilisateurs est illimité. Mais, dans un environnement simulé tel qu’un éco-système, le nombre d’actions ou de perceptions qu’une entité virtuelle (comme une fourmi ou un robot) peut être limité, l’environnement est alors discret.

Environnement déterministe (par opposition à "non déterministe"). Dans un environnement déterministe, une action a un effet unique et certain. Si le système agit dans son envi- ronnement, il n’y a aucune incertitude sur l’effet de son action sur l’état de l’environne- ment. L’état suivant de l’environnement est complètement déterminé par l’état courant. Dans un environnement non déterministe, une action n’a pas un effet unique garanti. Par nature, le monde physique réel est un environnement non déterministe.

Environnement dynamique (par opposition à "statique"). L’état d’un environnement dyna- mique dépend des actions du système qui se trouve dans cet environnement mais aussi des actions d’autres processus. Aussi, les changements ne peuvent pas être prédits par le système. Un environnement statique ne peut changer sans que le système agisse. Par exemple, l’Internet est un environnement hautement dynamique, son changement n’est pas simplement lié aux actions d’un seul utilisateur (vu comme un système plongé dans cet environnement).

1.2.4 L’adaptation par auto-organisation

Les systèmes multi-agents ne sont par forcément des systèmes auto-organisateurs : dans certains cas, une organisation complète peut être déterminée a priori. Certains modèles