Participants : Pierre Collet,
Jean Louchet, Evelyne Lutton.
En collaboration avec Marc Schoenauer (CMAPX), dans le
cadre de l'ARC EVO-Lab.
Mots clés : algorithme évolutionnaire,
optimisation stochastique .
Un des buts de l'action coopérative EVO-Lab au sein du
projet européen EVO-NET est de
faciliter l'accès aux algorithmes évolutionnaires en essayant
d'offrir aux utilisateurs dont l'informatique n'est pas la
spécialité les moyens de concevoir et réaliser des programmes
basés sur des algorithmes évolutionnaires.
EVO-Lab propose d'offrir à l'utilisateur novice :
- une interface graphique simple pour lui permettre de
spécifier les caractéristiques de algorithme évolutionnaire
qu'il souhaite implémenter,
- la possibilité d'écrire sa propre fonction d'évaluation
dans le langage de son choix.
Pour passer de la représentation graphique au programme
exécutable correspondant, l'application EVO-Lab produit un
code source intermédiaire dans un nouveau langage spécialisé
dans l'écriture d'algorithmes évolutionnaires appelé EASEA
(pour EAsy Specification of Evolutionary Algortithms)
Le type de langage auquel EASEA s'apparente le plus est un
langage dit de 4
ème génération : son
but est de simplifier la vie de l'utilisateur en fournissant
(à l'opposé de C, par exemple) un certain nombre de
primitives très complexes. L'utilisation d'un tel langage
permet alors de résumer en quelques dizaines de lignes un
programme qui en aurait nécessité plusieurs centaines dans un
langage non spécialisé.
Concrètement, le source écrit par l'utilisateur (ou par
une interface graphique) est traduit par EASEA en un
programme source C++ utilisant les primitives d'une boîte à
outils évolutionnaire. Ce programme source est ensuite
compilé avec un compilateur C++ et les librairies de la boîte
à outils. Le résultat est un exécutable implémentant
l'algorithme évolutionnaire spécifié par l'utilisateur.
Un prototype du langage EASEA est actuellement disponible
sur le site WEB de l'ARC.