La vie artificielle, 20 ans après (3/4) : Quand l’embryogenèse des machines remodèle la fabrication personnelle

Par le 18/10/11 | 3 commentaires | 1,824 lectures | Impression

Comme c’est le cas pour toutes les recherches sur les systèmes complexes, on est en droit de se demander si la vie artificielle poursuit d’autres objectifs que la réalisation de modèles élégants, voire fascinants, mais finalement bien incapables de nous aider dans le monde réel. Pourtant, dès ses débuts, la vie artificielle affichait des objectifs tout à fait pragmatiques. Cela fait longtemps que certains imaginent que les différentes recherches sur les automates autoreproducteurs, entamés dès les années 50 par Jon Von Neumann et poursuivies par Chris Langton, puissent un jour aider à produire des “usines autocréées” susceptibles, par exemple, d’être envoyées sur la lune ou d’autres planètes où elles pourraient générer leurs propres composants, se reproduire et exploiter la surface du sol extraterrestre, préparant peut-être un jour l’arrivée des humains…

Par exemple, le roboticien Rodney Brooks a eu l’idée de faire coloniser l’espace par des robots fast, cheap and out of control (rapides, pas chers, et hors de contrôle) des meutes d’agents “machiniques”, disposant chacun d’une intelligence artificielle très réduite, mais qui collectivement devaient pouvoir effectuer des prouesses.

Depuis, nous avons souvent traité dans InternetActu, tant des robots autoréplicateurs que des meutes de robots de type Swarmanoids.

Des machines qui évoluent

Au colloque ECAL 2011, Jordan Pollack et Jeff Clune, ont chacun exposé leurs idées sur la fabrication automatique.

Pollack a raconté comment il a mis au point, avec son équipe de l’université Brandeis, trois générations de machines auto-assemblées.

Avec la première, il s’agissait de produire des systèmes stables à partir de “briques Lego”. La procédure n’était pas entièrement automatique ; on utilisait un système virtuel qui traçait des plans de la machine à construire. Puis, on assemblait celle-ci “à la main”. Le système logiciel s’appelait EvoCAD. Il est encore disponible sur la page du laboratoire DEMO que dirige Pollack et vous pouvez donc le tester en ligne si vous le souhaitez.

Son principe est simple : vous disposez de briques Lego (virtuelles) que vous placez les unes sur les autres sur un espace bidimensionnel. Après cela, le système teste votre construction et cherche à l’optimiser pour la rendre la plus stable possible, en fonction de paramètres liés à la gravité, au poids, etc. Il ne reste plus ensuite qu’à assembler l’objet… manuellement. Reste que les objets mis au point par cette méthode se rapprocheraient plutôt de constructions industrielles classiques, de type grues ou ponts (voir vidéo).

La seconde génération était plus proche de ce qu’on appelle les robots proprement dits, et se déroulait également en deux phases, l’une virtuelle et l’autre réelle. Il s’agissait de construire des robots à l’aide, essentiellement, de tubes articulés et d’évaluer leur capacité de déplacement dans l’espace. On commençait par un système de vie artificielle qui testait et faisait évoluer les robots dans un univers 3D : on utilisait pour cela les algorithmes génétiques, processus par lequel les meilleurs résultats d’un programme de génération (plus ou moins) aléatoire sont sélectionnés et remis en compétition jusqu’à ce que les gagnants atteignent une efficacité optimale. L’idée n’est pas neuve. Elle a déjà été explorée par l’artiste Karl Sims dans les années 90 (vidéo). Lorsqu’une forme assez intéressante avait été obtenue, il était facile de construire le robot, puisque ses éléments de base étaient simples et connus. Vous pouvez voir dans ces vidéos le passage de ces robots du virtuel au réel.

Pour une troisième génération, l’équipe de Pollack ne s’est pas contentée d’utiliser des algorithmes génétiques afin de faire évoluer ses créatures, mais a également recouru à une autre technique propre à la vie artificielle : les “chaînes de Lindenmayer”, également nommés “L-systems“.

gbot_serpentTous les adeptes du graphisme 3D connaissent cet algorithme (c’est d’ailleurs l’une des premières applications pratiques de la vie artificielle). Chaque fois que vous voyez un arbre en image de synthèse, il y a de fortes chances qu’il ait été élaboré suivant cette méthode. Il s’agit de créer un système “fractal” dans lequel un élément se subdivise en petites copies de lui-même : par exemple, un arbre est constitué de branches, qui se subdivisent elles-mêmes en branches, etc. Pollack et son groupe espéraient combiner l’algorithmique génétique et les “L-systems” pour permettre la création de formes bien plus complexes que celles obtenues avec la génération précédente.

Pour Pollack, l’une des premières conclusions qu’on peut tirer sur la fabrication automatique est qu’il n’existe pas de réplicateur parfait, “sauf dans Star Trek”. Aucune des technologies actuelles d’auto-réplication ou d’évolution artificielle ne peut donner un résultat certain, déterministe : seulement une probabilité. Il ne faut donc pas chercher à rejeter le bruit lors de tels processus, mais au contraire, tenter de l’inclure, par exemple en introduisant de la redondance (plusieurs éléments d’un système effectuant le même travail, pour permettre à certains d’entre eux d’être en panne ou dysfonctionnel). Pollack appelle d’ailleurs de ses voeux une nouvelle “embryologie des machines” tenant compte justement du hasard et du désordre.

Vie artificielle et impression 3D

Une autre perspective intéressante a été explorée par Jeff Clune et Hod Lipson, et se révèle particulièrement prometteuse pour les adeptes du “Do It Yourself”. Avec l’apparition des imprimantes 3D personnelles, chacun va pouvoir devenir le créateur de ses objets. Mais que créer ? Tout le monde n’a pas les compétences esthétiques nécessaires à la conception. Pourquoi donc ne pas utiliser les techniques de vie artificielle, et singulièrement l’algorithmique génétique, pour générer des objets complexes ? C’est une voie qu’a exploré une équipe de Cornell, qui a ensuite lancé un site pour le grand public, EndlessForms (vidéo).

Le principe d’EndlessForms est simple. On demande au système de créer une nouvelle forme. Celui-ci en suggère une dizaine, parmi lesquelles on choisit celle qu’on préfère. Puis, on demande au programme de faire évoluer celle-ci. Il en crée alors une dizaine de nouvelles variations, parmi lesquelles on sélectionne celle qu’on fera, à son tour, évoluer, etc.

Il est assez rare d’obtenir rapidement une forme intéressante en partant de zéro. Mais EndlessForms possède une dimension collaborative. Les utilisateurs peuvent publier sur le site les structures les plus pertinentes, et chacun est libre de se saisir d’une de ces créations pour la faire muter à son tour (et éventuellement publier les résultats).

Le concept n’est pas tout à fait neuf : des logiciels 3D qui proposent de faire évoluer des objets par l’intermédiaire d’algorithmes génétiques existent depuis longtemps. Le programme freeware Lparser, par exemple, offrait cela sur des “L-systems” voilà plus de 10 ans… Mais l’algorithme utilisé par l’équipe de Cornell est différent. En effet, affirment-ils dans leur papier, si des systèmes comme les chaines de Lindenmayer sont capables de reproduire en apparence diverses formes organiques, ils ne reproduisent pas le développement de véritables plantes ou d’êtres vivants : il s’agit plutôt d’abstractions mathématiques. En revanche, il existe aussi des systèmes qui essaient de simuler la morphogénèse au niveau des cellules et des molécules, mais ceux-là sont trop complexes pour être utilisés en pratique. Clune et son équipe ont employé une technique intermédiaire nommée CPPN (pour Compositional pattern producing networks, c’est-à-dire “Modèles de composition pour produire des réseaux”). C’est un peu plus concret que les chaines de Lindenmayer (qui reposent en fait, comme leur nom l’indique, sur de longues chaines de caractères) et plus abstrait que la simulation cellulaire : en gros, il s’agit avec ce système d’utiliser des modules de formes géométriques capables de se combiner pour produire des structures complexes.

Que ce soit les expériences de Pollack ou celle de Clune et son groupe, on peut arriver à imaginer à quoi ressemblera demain le processus de “fabrication personnelle” :

Voilà qui pourrait remettre en question le processus industriel actuel, qui implique l’élaboration de spécifications précises de la part d’un créateur ou d’une équipe avant sa création dans le monde réel. Une procédure traditionnelle que même les nouvelles technologies de la “fabrication personnelle” n’ont jamais remise en cause.

Séduisant, mais cela peut-il vraiment fonctionner ? Après tout, les expériences mentionnées par Pollack datent du début des années 2000, et ne semblent pas avoir connu de suite importante récemment. Endlessforms est tout récent, mais se concentre surtout sur la création esthétique.

Il est donc temps, en conclusion, de s’interroger sur le futur de la Vie artificielle et d’essayer de comprendre ce qu’elle va être en mesure de nous apporter dans les prochaines années.

Rémi Sussan

Le dossier “La vie artificielle, 20 ans après”

Rétroliens

  1. Vers des programmes autonomes et intimes ? - GeekStorming
  2. Revue des sciences 11/11 | Jean Zin

1 commentaire

  1. par Denis

    “Après tout, les expériences mentionnées par Pollack datent du début des années 2000, et ne semblent pas avoir connu de suite importante récemment.”

    Les algorithmes génétiques (AG) sont gourmands en calculs longs et parallélisables, typiques de ce qu’ot peut assez simplement mettre en oeuvre sur le Cloud. Je ne serais pas surpris de voir émerger de nouvelles applications surprenantes du cocktail innovant et détonant AG+Cloud.