Evolutionary Virtual Agent

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
EVA
Date de première version 2000
Auteur Jean-Claude Heudin
Dialectes Lisp, Scheme
Système d'exploitation Multiplate-forme

EVA est un système multi-agents pour le développement d'agents intelligents et de créatures artificielles.

EVA est le sigle de "Evolutionary Virtual Agent" qui signifie en français "Agent Virtuel Evolutionnaire". Le sigle fait référence à la première femme qui donna naissance à l'humanité. Les applications EVA sont programmées dans le langage nanoScheme, une implémentation réduite de Scheme comprenant des primitives bio-inspirées.

Principes[modifier | modifier le code]

EVA (Evolutionary Virtual Agent) [1] est une architecture multi-agent qui permet de concevoir une application comme un ensemble de nano-agents qui s'exécutent en parallèle au sein d'un ou plusieurs environnements[2].

Le terme de nano-agent réfère à un agent logiciel autonome de taille réduite. De ce fait, une application peut en comporter éventuellement un grand nombre comme dans un essaim. Le comportement de chaque nano-agent est programmé grâce au langage de programmation nanoScheme. Ce langage est basé sur un noyau réduit de fonctionnalités issues du dialect Lisp Scheme. Ce noyau de base comprend également un ensemble réduit de primitives bio-inspirées qui permettent de gérer les nano-agents comme des sortes de cellules vivantes[3]. Parmi ces primitives on trouve certaines fonctions essentielles de la programmation génétique. Le développeur peut utiliser l'un des "packages" additionnels de façon à ajouter des fonctionnalités supplémentaires. Ainsi, par exemple, il existe un "package" spécifique pour le traitement du langage naturel et un autre pour la recherche d'information sur le Web[4]. Les nano-agents communiquent entre eux en diffusant des messages dans leur environnement ou vers les autres environnements. Ces messages sont des expressions nanoScheme qui peuvent donc être directement interprétées par les destinataires.

Syntaxe[modifier | modifier le code]

Le langage nanoScheme étant un dialecte Lisp dérivé de Scheme, il en hérite les principales caractéristiques que sont la rigueur formelle et l'élégance. Sa syntaxe simple utilise un minimum de concepts. La structure de base est la liste. Elles sont délimitées par des parenthèses et leurs éléments sont séparés par des espaces. Les programmes comme les données sont structurés sous la forme de listes et d'arbres (listes de listes). Un programme nanoScheme est donc un arbre composé avec des listes interprétées récursivement.

Portabilité[modifier | modifier le code]

Les applications EVA sont composées d'un ensemble de fichiers sources (voir code source) au format texte. Les applications sont portables si le noyau EVA a été installé sur la machine cible. Celui-ci comprend un nano-server chargé de gérer les communications entre agents et une bibliothèque logicielle nécessaire à l'exécution des nano-agents. Il existe actuellement des versions en langage C pour Linux et Windows 7, ainsi qu'une version Java du noyau EVA.

Notes et références[modifier | modifier le code]

  1. Heudin, J.-C., 2004. Evolutionary Virtual Agent. Proceedings of the Intelligent Agent Technology Conference, ACM-WIC-IEEE, Beijing, pp. 93-98.
  2. Heudin, J.-C., 2009. An Evolutionary Nano-Agent Control Architecture for Intelligent Artificial Creatures. Proceedings of the 14th International Symposium on Artificial Life and Robotics, AROB, Beppu.
  3. Heudin, J.-C., 2010. A Bio-inspired Nano-Agent Architecture for Intelligent Agents. In Web Intelligence and Intelligent Agents, Z. Usmani (Ed.), In-Tech, Olajnica, pp. 1-11.
  4. Millet, P., Heudin, J.-C., 2007. Web mining in the EVA intelligent agent architecture, Proceedings of the Intelligent Agent Technology Conference, ACM-WICIEEE, California.

Annexes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

  • Lambda calcul : Théorie mathématique dont Lisp est inspiré.
  • Scheme : Dialecte Lisp réputé pour sa simplicité et son élégance formelle.
  • Programmation Génétique : Techniques de programmation basées sur la théorie de l'évolution.
  • Vie artificielle : Domaine de recherche visant à synthétiser des organismes artificiels.

Liens externes[modifier | modifier le code]