Tech

Nano-agent : le projet Eva

Dossier - Robots et avatars
DossierClassé sous :robotique , robot , robots

Des robots de Capek au Terminator de Cameron, de l'ordinateur paranoïaque de Kubrick à l'agent Smith de Matrix, les créatures artificielles ont toujours peuplé notre imaginaire. Depuis près de 2.000 ans, l’Homme tente de recréer la vie sous la forme d’automates, de robots, d'avatars et, plus récemment, de créatures virtuelles.

  
DossiersRobots et avatars
 

L'objectif du projet Eva (Evolutionary Virtual Agent) est de développer un environnement logiciel dédié à la recherche sur les créatures artificielles.

Masque de robot. © Andrea Danti, Shutterstock

Eva, un outil de création d'intelligence artificielle

Eva n'est donc pas une créature spécifique mais un outil ouvert pour concevoir la partie algorithmique d'une créature virtuelle, d'un écosystème virtuel, de l'IA d'un robot, etc. Comme nous venons de l'introduire, un tel outil doit permettre de réaliser une IA sous la forme d'un ensemble d'agents qui coopèrent. Une des idées fondatrices d'Eva est de pouvoir créer autant d'agents que l'on souhaite et même un très grand nombre si nécessaire, comme dans les essaims d'insectes. En outre, les agents doivent pouvoir s'exécuter sur un unique ordinateur ou bien être distribués sur un réseau de machine.

Dans Eva, on appelle les agents des « nano-agents » car ils sont conçus pour être d'une taille réduite, contrairement à d'autres environnements où chaque agent requiert des ressources informatiques importantes. En effet, une application Eva doit pouvoir non seulement être opérationnelle sur un ou plusieurs ordinateurs, mais également sur des terminaux plus contraints comme les téléphones mobiles ou les systèmes informatiques embarqués.

Une application typique Eva est donc constituée d'un nombre variable de nano-agents répartis dans un ou plusieurs environnements d'exécutions. Une bonne image pour illustrer une telle architecture est celle d'un écosystème présent sur plusieurs sites dans lequel évoluent des petites « bestioles » algorithmiques. On dit de ce type d'approche qu'elle est « bio-inspirée » car elle reprend sous la forme de programmes informatiques certaines structures ou propriétés que l'on peut observer dans les systèmes vivants naturels.

L’architecture d’un programme Eva comprend plusieurs environnements d’exécution, chacun pouvant inclure un nombre variable de « nano-agents ». Ceux-ci peuvent diffuser des informations grâce à un serveur local. Un nano-agent peut en outre envoyer un message vers un autre environnement. © Projet Eva

Le langage nanoScheme

Chaque nano-agent peut être programmé dans le langage de son choix, mais Eva propose un langage plus adapté baptisé nanoScheme. D'une part, ce langage hérite de l'expérience de plusieurs dizaines d'années de développement avec le langage Scheme, son aîné qui a obtenu ses lettres de noblesse dans l'histoire de l'intelligence artificielle. D'autre part, il a été conçu pour être d'une taille réduite tout en intégrant des fonctionnalités bio-inspirées. Parmi celles-ci, on trouve par exemple la capacité de diffuser un message aux autres nano-agents, un peu comme le ferait une cellule. Une autre spécificité consiste à pouvoir muter et croiser des programmes comme s'il s'agissait d'un code génétique.

À ce cœur de fonctionnalités bio-inspirées, le langage nanoScheme permet de charger dynamiquement des « packages » qui ajoutent, selon le type d'application envisagé, des fonctions spécifiques. Ainsi, par exemple, il existe un « package » dédié au traitement du langage naturel et qui permet donc de développer plus aisément des applications dans lesquelles il est nécessaire d'établir un véritable dialogue entre l'Homme et la machine.

Grâce à la plateforme de développement que constitue Eva, il est donc possible de créer ce qu'il convient d'appeler des IA mais avec une nouvelle approche conceptuelle qui hérite des progrès dans les domaines de la vie artificielle et, plus généralement, des sciences de la complexité.