au sommaire


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

    Masque de robot. © Andrea Danti, Shutterstock
    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écosystème virtuel, de l'IA d'un robotrobot, 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'insectesinsectes. En outre, les agents doivent pouvoir s'exécuter sur un unique ordinateur ou bien être distribués sur un réseau de machines.

    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 ordinateursordinateurs, mais également sur des terminaux plus contraints comme les téléphones mobilesmobiles 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 » algorithmiquesalgorithmiques. 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
    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 artificielleintelligence 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étiquecode 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é.