L-Systèmes : Morphogénèse des plantes
November 13, 2010
Laurent Orseau <laurent orseau@agroparistech fr>
Antoine Cornuéjols <antoine@lri fr>
1 Introduction
La récursion, qui est le principe de base des langages de programmation fonctionnels
tels Scheme, Lisp ou Caml, est au coeur de nombreux systèmes vivants (notamment
la plupart des organismes pluri-cellulaires). En effet, la duplication est une forme de
récursion puisqu’il s’agit de "faire la même chose". Cette duplication peut être iden-
tique ou différer selon certaines caractéristiques, comme lorsqu’une reine fourmi donne
vie à différents types de fourmis. Il en va de même lors de la croissance d’organisme
multicellulaires : les cellules se répliquent localement, pour donner naissances à de
nouvelles cellules qui se répliqueront aussi et ainsi de suite.
La récursion est en fait une forme plus générale que l’itération telle qu’on la voit
dans les langages de programmation impératifs comme le C ou le Pascal, avec les
boucles for, while, reapeat until, ... En effet, il est possible de faire toute itération en
récursion, mais l’inverse n’est pas vrai. Les langages impératifs permettent d’ailleurs
de faire de la récursion, mais ils ne sont généralement pas créés pour cela.
Les itérations (seules) ne permettent pas de prendre en compte que les cellules qui
se répliquent peuvent donner naissances à plusieurs cellules qui vont toutes refaire la
même opération. Une itération ne fait qu’une seule chose à la fois. (Pour contourner
ce problème, il est nécessaire de passer par une mémoire sous forme de tableau ou de
liste.)
En revanche, la modélisation d’un tel processus est direct en récursion, car c’est ce
que fait exactement la récursion. Nous allons voir le lien très fort qui existe entre la
morphogénèse des plantes et le principe de récursion.
1