LA VIE ARTIFICIELLE: L´APPROCHE ANIMAT
Les animats
Un animat [Meyer 98] est un
agent
virtuel (simulé sur ordinateur) ou réel (robot) dont les comportements
sont inspirés de ceux des animaux naturels, en particulier en ce
qui concerne leurs capacités d´autonomie et d´adaptation.
La structure d´un animat comprend:
1) Des capteurs par lesquels il reçoit de l´information
du monde extérieur.
2) Des actuateurs par lesquels il agit sur le monde extérieur.
3) Une architecture de contrôle organisant les relations
entre ces "entrées-sorties".
Cette organisation lui permet de réaliser, ou d´apprendre à
réaliser, certaines tâches, tout en cherchant à survivre
le plus longtemps possible.
Les capteurs et les actuateurs constituent une interface entre
l´animat et le monde, correspondant à la notion de membrane.
L´architecture d´un animat peut être innée (c´est à dire
construite initialement) ou acquise (c´est à dire résultant
d´un apprentissage au cours de la vie de l´animat ou cours des
générations successives d´une population d´animats). En général
elle participe de ces deux éventualités, son architecture évoluant
à partir de données initialement cablées.
On étudie usuellement des populations d´animats dont
l´évolution est modélisée au moyen d´algorithmes génétiques
ou de programmation génétiques.
Les robots de Brooks
Rodney Brooks [Brooks 91] a conçu des
robots adaptatifs
au M.I.T. (Massachusetts Institute of Technology) dont
l´architecture, qui est constituée de couches parallèles, chacune,
spécialisée dans un traitement particulier (construction de cartes,
locomotion, ...), est composée
de réseaux d´automates comprenant des dispositifs de temporisation
et de mémorisation. Ces couches relient les capteurs
et les actuateurs. La cohérence de l´ensemble est un comportement
émergent résultant des interactions entre les comportements
élémentaires des couches individuellement. Chaque couche a la possibilité
d´inhiber provisoirement les ordres moteurs issus des couches inférieures
sans cependant perturber leur fonctionnement interne. Une telle
organisation permet d´empiler des couches de compétences variées, et
peut-être même contradictoires, sans que des conflits ne viennent
bloquer le système.
Dans une architecture robotique traditionnelle une chaîne séquentielle
de couches relient les capteurs aux actuateurs, une panne survenant
dans l´une des couches bloque tout le traitement. L´architecture
parallèle d´un animat assure, au contraire, une grande robustesse
(tolérance aux pannes).
Architecture robotique traditionnelle et architecture d´un animat
D´après [Meyer 98].
Le robot à pattes Genghis de Brooks est capable de
suivre tous les déplacements d´un humain (ou d´un autre robot)
quelque soit l´environnement. Le petit robot Squirt (30 cm3)
se cache lorsqu´un bruit se produit, puis explore l´environnement à
la recherche de la cause de ce bruit. Le robot Herbert
fait du garbage collecting.
Intelligence en essaim
Une colonie d´animats, chacun étant muni d´un comportement
très simple, peut constituer un
système adaptatif
dont le comportement global, émergeant des interactions inter-individuelles,
est complexe et adaptatif. Dans le cas des sociétés d´insectes, on
parte d´
intelligence en essaim.
Un tel système est très robuste
et continue de fonctionner, même lorsque plusieurs individus
disfonctionnent ou meurent.
Craig W. Reynolds [Reynolds 87] a été le premier à concevoir de
tels systèmes dans le domanie de la Synthèse d´Images. La
gestion de populations d´individus (bancs de poissons,
vols d´oiseaux, colonies d´insectes, ...) n´est plus confiée à
un algorithme déterministe et séquentiel, mais est le résultat des
nombreuses interactione entre les individus, chacun doté de capacités
perceptives locales et limitées, mais dont le comportement global
exhibe une complexité et une apparente motivation que l´on ne trouve
que dans les sociétés naturelles. Pratiquement, Reynolds a défini
trois règles très simples gouvernant le comportement des individus:
1) Maintenir une distance minimale par rapport aux individus
voisins.
2) Ajuster la vitesse aux individus du voisinage immédiat.
3) Ajuster les déplacements dans la direction de la zone
contenant le plus d´individus.
Bien qu´aucun individu n´ait de vision globale ni des obstacles,
ni des positions de tous les autres individus, l´ensemble évolue
de façon cohérente, évite les obstacles (pouvant même se partager
pour se regrouper ensuite) et reste compact (aucun individu ne s´éloigne
notablement du groupe).
Cette approche a été utilisée pour résoudre le célèbre problème
dit du
voyageur de commerce
en prenant la métaphore
des fourmis qui déposent des traces de phéromone pour
guider leurs congénères.
Apprentissage
À l´image des animaux qui évoluent au cours de leur vie et
apprennent à se comporter afin de survivre, on munit généralement
les animats de capacités d´apprentissage se traduisant par
une modification de leur structure, et donc de leur fonctionnement,
à mesure qu´ils interagissent avec leur environnement.
Avec un apprentissage par renforcement, un animat se
modifie de façon à ce que ses actions soient récompensées, c´est
ce que l´on pourrait appeler un dressage. Avec un
apprentissage associatif, plus évolué, l´animat apprend,
mémorise et reconstitue un ensemble de stimuli en les associant
les uns aux autres, c´est à dire se construit une représentation de
son environnement.
Apprentissage associatif
Les animaux, en se déplaçant dans leur environnement, se
construisent des cartes cognitives en mémorisant des
informations, tant métriques que topologiques, quant aux particularités
du terrain qui pourraient leur permettre de le reconnaitre. Chez
certains rongeurs il existe même des neurones, dits de lieux,
qui ne déchargent que pour une certaine position de l´animal dans
l´espace.
Ces observations ont été mises à profit par Maja Mataric [Mataric 92] pour
construire des robots fonctionnant sur ce principe. Ils sont équipés
de capteurs (sonars, gyroscopes), d´actuateurs (moteurs) et d´une
architecture de contrôle de Brooks comprenant trois niveaux de
compétence: Un niveau élémentaire, de type réflexe, consistant à
suivre les obstacles (sol, murs). Un deuxième niveau analyse et repère
les particularités du terrain (amers). Enfin le troisième
niveau construit la carte cognitive, à partir de ces informations,
sous la forme d´un graphe connectant des modules de calcul
correspondant aux amers. Ces modules s´activent lorsque le robot se
trouve physiquement à l´endroit ainsi codé (qu´il reconnait),
et jouent donc le rôle de neurones de lieux.
Ces cartes cognitives peuvent être utilisées par l´animat,
non seulement pour apprendre son environnement, mais encore pour
y développer des stratégies: Par exemple, pour optimiser un parcours,
c´est à dire trouver le plus court chemin entre la position actuelle
et un but: Il suffit d´activer le neurone de lieux correspondant
au but, une action se diffuse alors au sein de la carte et, si
la métrique de celle-ci représente assez fidèlement la réalité, la
vitesse de diffusion sera fonction de la distance réelle; la suite
des neurones activés est alors, en sens inverse, l´image du
chemin cherché.
Les systèmes motivationnels
L´étude du comportement des animaux a été
utilisée par Lashon Booker [Booker 88] pour construire des animats
capables, par essais et erreurs, de poursuivre plusieurs buts
(ce que l´éthologie appelle un système motivationnel).
Par exemple l´animat est pourvu de comportements instinctifs
de locomotion (pour explorer son environnement),
de recherche de nourriture (pour se regénérer) et de fuite
(pour éviter les dangers); ces trois comportements correspondent à
trois niveaux de l´architecture de contrôle qui manipule des objets,
des buts et des relations, son rôle étant de classer les objets au
moyen de représentations internes , c´est à dire de donner
à ces objets une signification affective (alors que les
animats de base ne fonctionnent que sur une boucle stimuli-réponses).
L´animat de Booker, poussé par son instinct motionnel,
explore son environnement. Lorsqu´il tombe sur un objet comestible, ou
dangereux, le niveau correspondant est activé, et les autres sont
desactivés, jusqu´à résolution de
l´événement (absorption ou mise à l´écart du danger), et l´animat
reprend alors sa déambulation.
Génération des animats
L´organisation du système nerveux des êtres vivants est le
résultat d´une évolution et d´une sélection naturelle
au cours desquelles
des générations successives se transforment en transmettant le
matériel génétique le mieux adapté aux conditions rencontrées.
De même l´architecture de contrôle des animats ne doit pas
être définie arbitrairement par des humains mais doit résulter
d´une sélection artificielle: Il s´agit de faire
évoluer des populations d´animats dans un environnement
donné, avec un certain patrimoine génétique initial, en les
laissant se
reproduire
par sélection, croisements
et mutation
ce qui a pour effet de propager les combinaisons de gènes qui
réussissent le mieux (c´est à dire celles qui sont le mieux
adaptées).
Ainsi Karl Sims [Sims 94] a conçu des
créatures virtuelles
en faisant évoluer, aussi bien leur architecture de contrôle que leur
morphologie, au moyen de la sélection artificielle. Pour cela
il a codé la morphologie sous forme d´un graphe (constituant le
patrimoine génétique) décrivant l´assemblage des
éléments de l´animat linéairement, répétitivement ou
récursivement. Chaque noeud de ce graphe pointe vers un autre graphe
qui décrit le contrôleur attaché à l´élément correspondant, sorte de
réseau neuronal
muni de capteurs (internes ou externes), d´actuateurs (exerçant
des forces musculaires sur les éléments de l´animat), capteurs et
actuateurs étant reliés par un réseau de neurones complexes (certains
délivrant une information traitée de ses entrées, comme somme,
produit, seuillage, fonctions mathématiques, ...).

Génotypes
Phénotypes
Sims fait "vivre"
une population d´animats dont les patrimoines génétiques ont été
générés aléatoirement: Chaque individu se construit à partir de
ses gènes et se comporte au sein d´un environnement simulé en
cherchant à optimiser une certaine fonction d´adaptation.
Ceux qui sont le mieux adaptés sont autorisés à se reproduire en
combinant leurs gènes par des mécanismes de croisements
et de mutations. À partir de ces nouveux gènes une nouvelle
génération est créée, et ainsi de suite. Au bout d´un certain
nombre de générations, il peut apparaitre des individus qui
répondent le mieux possible à la fonction d´adaptation. Par exemple
pour créer des animats sachant nager, l´environnement simule un liquide
visqueux sans pesanteur, la fonction d´adaptation est une mesure
de la distance parcourue: On voit rapidement émerger des individus
munis de nageoires dont le comportement n´est pas sans rappeler celui
de certains animaux marins, mais ont voit aussi apparaitre des
êtres étranges ayant inventé des stratégies de nage que l´on ne trouve
pas dans la nature (du moins pas dans celle que nous connaissons),
mais qui réussissent.
Ces processus de sélection artificielle sont utilisés en
robotique évolutionniste [Husbands 98] pour construire
physiquement des populations de machines capables de se reproduire
et d´évoluer. Ils servent aussi à mieux comprendre comment
l´intelligence humaine s´explique à partir des comportements adaptatifs
les plus simples hérités de l´animal.