|
|
# Développement et croissance des organismes (in silico)
|
|
|
# Développement et croissance des organismes (in silico)
|
|
|
|
|
|

|
|
|
|
|
|
[source](https://fr.wikipedia.org/wiki/Stromatolithe)
|
|
|
|
|
|
Dans tout mécanisme de croissance, la forme est importante que ce soit ce que l'on observe à un niveau micro comme les cellules ou un niveau plus macro comme l'organe ou la plante, l'animal .... Se limiter à l'espace serait néanmoins trop réductionniste, il faut également intégrer le temps. Une autre façon de dire cela est d'utiliser la notion de système dynamique. Ces derniers sont décrits par des variables qui sont liées par des relations qui dépendent de règles biologiques, chimiques, physiques ... Ces variables ont des valeurs qui évoluent dans le temps et décrivent l'état du système. L'ensemble des états du système détermine la trajectoire de ce dernier.
|
|
|
Dans tout mécanisme de croissance, la forme est importante que ce soit ce que l'on observe à un niveau micro comme les cellules ou un niveau plus macro comme l'organe ou la plante, l'animal .... Se limiter à l'espace serait néanmoins trop réductionniste, il faut également intégrer le temps. Une autre façon de dire cela est d'utiliser la notion de système dynamique. Ces derniers sont décrits par des variables qui sont liées par des relations qui dépendent de règles biologiques, chimiques, physiques ... Ces variables ont des valeurs qui évoluent dans le temps et décrivent l'état du système. L'ensemble des états du système détermine la trajectoire de ce dernier.
|
|
|
|
|
|
Nous avons dans le chapitre [qu'est ce que la vie](Qu'est-ce-que-la-vie) considéré que les systèmes vivants étaient des systèmes autopoïétiques dissipatifs, ce sont des systèmes ouverts qui interagissent avec leur environnement. La trajectoire de tels systèmes est donc à la fois le résultat des interactions internes au système et des interactions avec l'extérieur qui constitue l'environnement. Les processus d'auto-organisation sont à l'oeuvre résultats des interactions et impactent la structure spatiale qui varie au cours du temps et constituent une boucle circulaire (pro-action, rétro-action) avec l'environnement.
|
|
|
|
|
|
Il est temps maintenant d'aborder les modèles possibles. Il ne s'agit pas ici, d'être exhaustif mais simplement présenter quelques directions.
|
|
|
|
|
|
Il est temps maintenant d'aborder les modèles possibles. Il ne s'agit pas ici, d'être exhaustif mais simplement présenter quelques directions.
|
|
|
|
|
|
## Automates cellulaires
|
|
|
|
|
|
La première direction nous l'avons déjà empruntée. Ainsi on trouve différent travaux en particulier en biologie dont les modèles s'appuient sur des [automates cellulaires](automates-cellulaires), on peut citer par exemple la simulation de croissance de cellules cancéreuses. Netlogo en propose un par exemple dans sa bibliothèque de modèle que l'on pourra consulter.
|
|
|
La première direction nous l'avons déjà empruntée. Ainsi on trouve différent travaux en particulier en biologie dont les modèles s'appuient sur des [automates cellulaires](automates-cellulaires), on peut citer par exemple la simulation de croissance de cellules cancéreuses. Netlogo en propose un par exemple dans sa bibliothèque de modèle que l'on pourra consulter.
|
|
|
|
|
|

|
|
|
|
|
|
Les automates cellulaires se montrent souvent "trop simple" pour ce type de modèle, et de nombreux modèles utilisent des systèmes multi-agents et nous vous renvoyons à la littérature si vous êtes intéressés.
|
|
|
|
|
|
|
|
|
### Réaction diffusion
|
|
|
|
|
|
Les automates cellulaires sont également utilisés dans le cadre des processus de réaction diffusion. Cette classe de processus est très souvent présente dans les phénomènes physiques et le vivant. La réaction diffusion est parfois impliquée dans des processus plus complexe, mais elle constitue une "brique de base". Nous allons développer ce point en nous appuyant sur les automates cellulaires, c'est l'une des façons de faire mais pas l'unique.
|
|
|
|
|
|
Dans le cadre de la biologie, l’embryogenèse tient une grande place. Ainsi comment les cellules d'un embryon s'organisent ?
|
|
|
Les automates cellulaires sont également utilisés dans le cadre des processus de réaction diffusion. Cette classe de processus est très souvent présente dans les phénomènes physiques et le vivant. La réaction diffusion est parfois impliquée dans des processus plus complexe, mais elle constitue une "brique de base". Nous allons développer ce point en nous appuyant sur les automates cellulaires, c'est l'une des façons de faire mais pas l'unique.
|
|
|
|
|
|

|
|
|
Dans le cadre de la biologie, l’embryogenèse tient une grande place. Ainsi comment les cellules d'un embryon s'organisent ?
|
|
|
|
|
|

|
|
|
|
|
|
Il y a indéniablement des mécanismes à l'œuvre travaillant ensembles qui conduisent au développement d'un animal ou d'un végétal. Turing s'était déjà penché sur cette question et le modèle qu'il a proposé repose sur un modèle de réaction-diffusion.
|
|
|
|
|
|
#### Morphogenèse
|
|
|
|
|
|
On peut définir la **morphogenèse** de la façon suivante :
|
|
|
|
|
|
> Processus de développement des structures d'un organisme au cours de son embryogenèse ou de sa phylogenèse.
|
|
|
|
|
|
Dans l'article "The chemical basis of morphogenesis"[^1] Turing propose un modèle très simple basé sur un couplage entre des réactions chimiques et la diffusion moléculaire des réactifs, dans un système ouvert alimenté en continu. Son explication s'appuie sur deux composés chimiques $`A`$ et $`I`$ qu’il appelle **morphogènes** :
|
|
|
|
|
|
* l’espèce A est auto-activatrice ;
|
|
|
* l’espèce A active aussi la production de la seconde espèce I ;
|
|
|
* l’espèce I inhibe la production de A ;
|
... | ... | @@ -44,7 +43,7 @@ Dans l'article "The chemical basis of morphogenesis"[^1] Turing propose un modè |
|
|
|
|
|

|
|
|
|
|
|
Considérons maintenant une fluctuation locale en excès de l'activateur $`A`$, la production de $`A`$ et $`I`$ s’accroît dans cette zone. L'excès de $`I`$ diffuse plus vite que l'excès $`A`$ ce qui crée une couronne inhibitrice autour de la zone qui est donc constitué d'un pic de $`A`$. Ce processus se répète à différents endroits et forme un motif.
|
|
|
Considérons maintenant une fluctuation locale en excès de l'activateur $`A`$, la production de $`A`$ et $`I`$ s’accroît dans cette zone. L'excès de $`I`$ diffuse plus vite que l'excès $`A`$ ce qui crée une couronne inhibitrice autour de la zone qui est donc constitué d'un pic de $`A`$. Ce processus se répète à différents endroits et forme un motif.
|
|
|
|
|
|

|
|
|
|
... | ... | @@ -59,21 +58,22 @@ Un peu de math pour se faire peur ! On écrit un système d'équations aux déri |
|
|
\right.
|
|
|
```
|
|
|
|
|
|
La première équation nous dit que la variation de concentration en fonction du temps de $`a`$ dépend de la somme du résultat d'une fonction $`F`$ représentant la réaction qui dépend des concentrations de $`a`$ et $`b`$ et de la diffusion de $`a`$ à proximité. $`Da`$ est une constante qui exprime la vitesse de diffusion de $`a`$. $`a`$ va augmenter en fonction du Laplacien $`\nabla^2 a`$ qui exprime une pente.
|
|
|
|
|
|
La première équation nous dit que la variation de concentration en fonction du temps de $`a`$ dépend de la somme du résultat d'une fonction $`F`$ représentant la réaction qui dépend des concentrations de $`a`$ et $`b`$ et de la diffusion de $`a`$ à proximité. $`Da`$ est une constante qui exprime la vitesse de diffusion de $`a`$. $`a`$ va augmenter en fonction du Laplacien $`\nabla^2 a`$ qui exprime une pente.
|
|
|
|
|
|
##### Exercice - modèle de Gray Scott
|
|
|
|
|
|
Ce modèle revisite celui proposé par Turing et on considère que deux composants chimiques virtuels réagissent et diffusent sur une grille. Par commodité nous allons appeler le premier composant $`A`$ et le second $`B`$. $`A`$ est introduit à un certain taux et $`B`$ est produit par une réaction impliquant deux $`B`$ et un $`A`$ :
|
|
|
|
|
|
```math
|
|
|
2B + A \rightarrow 3B
|
|
|
```
|
|
|
|
|
|
Cette réaction consomme donc à chaque fois un $`A`$. Le composant $`B`$ est détruit à un certain taux. $`A`$ et $`B`$ diffusent, mais le premier plus rapidement que le deuxième.
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
Considérant ce processus, on peut écrire :
|
|
|
|
|
|
```math
|
|
|
\left\{
|
|
|
\begin{array}{rcl}
|
... | ... | @@ -83,7 +83,7 @@ Considérant ce processus, on peut écrire : |
|
|
\right.
|
|
|
```
|
|
|
|
|
|
$`D_A`$ et $`D_B`$ sont les taux de diffusion de $`A`$ et $`B`$ respectivement. $`\nabla^2 A`$ donne la différence avec la valeur moyenne de concentration en $`A`$. Combiné avec le produit avec $`D_A`$ cela représente le terme de diffusion. $`AB^2`$ ce terme est ajouté au bilan de $`B`$ et retiré à celui de $`A`$. Il représente la possibilité de rencontre de 2 $`B`$ et 1 $`A`$. Le système est alimenté en $`A`$ à un certain taux $`f`$, la concentration doit être comprise entre 0 et 1, $`f \times (1 - A)`$ représente cette arrivée. $`B`$ est éliminé en fonction d'un taux ($`-kB`$), on ajoute ($`-fB`$) ce qui fait que le taux disparition est supérieur au taux d'apparition.
|
|
|
$`D_A`$ et $`D_B`$ sont les taux de diffusion de $`A`$ et $`B`$ respectivement. $`\nabla^2 A`$ donne la différence avec la valeur moyenne de concentration en $`A`$. Combiné avec le produit avec $`D_A`$ cela représente le terme de diffusion. $`AB^2`$ ce terme est ajouté au bilan de $`B`$ et retiré à celui de $`A`$. Il représente la possibilité de rencontre de 2 $`B`$ et 1 $`A`$. Le système est alimenté en $`A`$ à un certain taux $`f`$, la concentration doit être comprise entre 0 et 1, $`f \times (1 - A)`$ représente cette arrivée. $`B`$ est éliminé en fonction d'un taux ($`-kB`$), on ajoute ($`-fB`$) ce qui fait que le taux disparition est supérieur au taux d'apparition.
|
|
|
|
|
|
Il nous faut discrétiser les équations :
|
|
|
|
... | ... | @@ -96,39 +96,28 @@ Il nous faut discrétiser les équations : |
|
|
\right.
|
|
|
```
|
|
|
|
|
|
On pourra prendre un pas de temsp $`\Delta t = 1`$. Si l'on considère un voisinage de Moore, ce qui semble une bonne idée, le Laplacien peut être défini par la matrice de convolution 3 x 3 suivante :
|
|
|
|
|
|
|
|
|
| | | |
|
|
|
|----------------|----------------|---|
|
|
|
|0.05 | 0.2 | 0.05 |
|
|
|
|0.2 | -1 | 0.2 |
|
|
|
|0.05 | 0.2 | 0.05 |
|
|
|
|
|
|
On pourra prendre un pas de temps $`\Delta t = 1`$. Si l'on considère un voisinage de Moore, ce qui semble une bonne idée, le Laplacien peut être défini par la matrice de convolution 3 x 3 suivante :
|
|
|
| | | |
|
|
|
|--|--|--|
|
|
|
| 0.05 | 0.2 | 0.05 |
|
|
|
| 0.2 | -1 | 0.2 |
|
|
|
| 0.05 | 0.2 | 0.05 |
|
|
|
|
|
|
Pour calculer la nouvelle concentration, la concentration actuelle et chaque concentration environnante sont multipliées par la valeur correspondante dans la matrice et les valeurs sont additionnées.
|
|
|
|
|
|
Vous pouvez tester avec les valeurs suivantes : $`D_A=1.0, D_B=.5, f=.055, k=.062`$ et $`\Delta t=1.0`$, il peut être intéressant de faire varier ces paramètres, en particulier $`f`$ et $`k`$. Une initialisation possible est la totalité de la grille avec $`A = 1, B=0`$ sauf une petite zone ensemencée avec $`B=1`$.
|
|
|
Vous pouvez tester avec les valeurs suivantes : $`D_A=1.0, D_B=.5, f=.055, k=.062`$ et $`\Delta t=1.0`$, il peut être intéressant de faire varier ces paramètres, en particulier $`f`$ et $`k`$. Une initialisation possible est la totalité de la grille avec $`A = 1, B=0`$ sauf une petite zone ensemencée avec $`B=1`$.
|
|
|
|
|
|

|
|
|
|
|
|
Il est ensuite intéressant de faire varier les différents paramètres et regarder les trajectoires obtenues. On peut également introduire des perturbations, par exemple sur la diffusion.
|
|
|
|
|
|
|
|
|
|
|
|
# Système de réécriture
|
|
|
|
|
|
Le mécanisme de réécriture est largement utilisé en informatique et en mathématique. La dérivation de fonction par exemple, n'est au bout du compte qu'une réécriture. La réécriture s'appuie sur le remplacement d'une sous-partie d'un objet par un autre. Ces objets, par exemple, peuvent être des termes qui peuvent alors être modélisés par arbres informatiques.
|
|
|
Les nœuds qui ne sont pas des feuilles sont alors des opérations et les feuilles des termes constants. Un système de réécriture est défini par un ensemble de règles de la forme $`r \rightarrow r'`$. Cette dernière indique comment le sous-terme $`r`$ se remplace par $`r'`$.
|
|
|
|
|
|
|
|
|
|
|
|
Le mécanisme de réécriture est largement utilisé en informatique et en mathématique. La dérivation de fonction par exemple, n'est au bout du compte qu'une réécriture. La réécriture s'appuie sur le remplacement d'une sous-partie d'un objet par un autre. Ces objets, par exemple, peuvent être des termes qui peuvent alors être modélisés par arbres informatiques. Les nœuds qui ne sont pas des feuilles sont alors des opérations et les feuilles des termes constants. Un système de réécriture est défini par un ensemble de règles de la forme $`r \\rightarrow r'`$. Cette dernière indique comment le sous-terme $`r`$ se remplace par $`r'`$.
|
|
|
|
|
|
## L-systèmes
|
|
|
|
|
|
Les L-systèmes[^2] ou systèmes de Lindenmayer sont des systèmes de réécriture ou grammaires formelles, inventés en 1968 par le biologiste hongrois Aristid Lindenmayer.
|
|
|
Ils permettent de modéliser la croissance des végétaux de manière itérative, en
|
|
|
appliquant répétitivement des règles de croissance. Le végétal est décrit par une chaîne de caractères et des règles de réécriture.
|
|
|
Les L-systèmes[^2] ou systèmes de Lindenmayer sont des systèmes de réécriture ou grammaires formelles, inventés en 1968 par le biologiste hongrois Aristid Lindenmayer. Ils permettent de modéliser la croissance des végétaux de manière itérative, en appliquant répétitivement des règles de croissance. Le végétal est décrit par une chaîne de caractères et des règles de réécriture.
|
|
|
|
|
|

|
|
|
|
... | ... | @@ -136,29 +125,26 @@ L'idée de base est de définir des objets complexes en remplaçant successiveme |
|
|
|
|
|
Les systèmes de réécriture les plus étudiés ont été effectués sur les chaînes de caractères, on pense en particulier aux travaux de Chomsky (1957) sur les grammaires formelles. Pour plus d'informations, nous vous renvoyons au cours de théorie des langages. Il existe une différence essentielle entre les grammaires de Chomsky et les L-systèmes. Dans les grammaires de Chomsky, les transformations sont appliquées séquentiellement alors que dans les L-systèmes, elles sont appliquées en parallèle. Cette différence vient du fait que l'on tente de modéliser le vivant. La croissance cellulaire au niveau des organismes ne se faisant pas séquentiellement, mais en même temps.
|
|
|
|
|
|
|
|
|
|
|
|
### Grammaire formelle
|
|
|
|
|
|
Un L-système repose sur une grammaire formelle. Certains d'entre-nous étant des fans des [shadocks](https://fr.wikipedia.org/wiki/Les_Shadoks), nous ne résistons pas à l'envie de definir la langue *Gabuzomeuse* qui comprend uniquement quatre phonèmes de base : `GA`, `BU`, `ZO`, `MEU`. Le cerveau des shadoks étant constitué de quatre cases, ne peut en contenir plus !
|
|
|
Un L-système repose sur une grammaire formelle. Certains d'entre-nous étant des fans des [shadocks](https://fr.wikipedia.org/wiki/Les_Shadoks), nous ne résistons pas à l'envie de définir la langue _Gabuzomeuse_ qui comprend uniquement quatre phonèmes de base : `GA`, `BU`, `ZO`, `MEU`. Le cerveau des shadoks étant constitué de quatre cases, ne peut en contenir plus !
|
|
|
|
|
|
Au préalable quelques définitions :
|
|
|
|
|
|
> Un ***langage*** est un ensemble de phrases construit à partir d’un ensemble de mots.
|
|
|
Cela nécessite la définition d'un lexique de mots ou de symboles et une phrase est une suite finie de mots.
|
|
|
> Un **_langage_** est un ensemble de phrases construit à partir d’un ensemble de mots. Cela nécessite la définition d'un lexique de mots ou de symboles et une phrase est une suite finie de mots.
|
|
|
|
|
|
Exemple :
|
|
|
|
|
|
$`A = \{a, b\}`$
|
|
|
$`A = \\{a, b\\}`$
|
|
|
|
|
|
* phrases possibles $`a, aaa, aabbaaa`$ ....
|
|
|
* Langages :
|
|
|
* $`L_1 = \{aa, aba, aabb\}`$
|
|
|
* $`L_2 = \{a^mb^n; m,n \in \mathbf{N} \}`$
|
|
|
* $`L_1 = \\{aa, aba, aabb\\}`$
|
|
|
* $`L_2 = \\{a^mb^n; m,n \\in \\mathbf{N} \\}`$
|
|
|
|
|
|
> Une ***grammaire*** permet d’engendrer des phrases à partir d’un lexique (ensemble de mots) et de règles de transformation.
|
|
|
> Une **_grammaire_** permet d’engendrer des phrases à partir d’un lexique (ensemble de mots) et de règles de transformation.
|
|
|
|
|
|
Le lexique est composé d'un lexique propre $`A`$ constitué de symboles terminaux avec le symbole $`\varnothing`$ et d'un lexique intermédiaire $`I`$ sous la forme d'un ensemble $`R`$.
|
|
|
Le lexique est composé d'un lexique propre $`A`$ constitué de symboles terminaux avec le symbole $`\\varnothing`$ et d'un lexique intermédiaire $`I`$ sous la forme d'un ensemble $`R`$.
|
|
|
|
|
|
Exemple :
|
|
|
|
... | ... | @@ -179,11 +165,11 @@ A = \{a, b\}, I = \{S\} |
|
|
S \Rightarrow aSb \Rightarrow aaSbb \Rightarrow aaaSbbb \Rightarrow aaabbb
|
|
|
```
|
|
|
|
|
|
Cherchons donc à définir un langage permettant de générer une infinité de séquence de mots, à partir des phonèmes (des mots) `ga`, `bu`, `zo`, `meu`.
|
|
|
Cherchons donc à définir un langage permettant de générer une infinité de séquence de mots, à partir des phonèmes (des mots) `ga`, `bu`, `zo`, `meu`.
|
|
|
|
|
|
```math
|
|
|
A = \{ga,bu,zo,meu\}, I=\{S\}
|
|
|
```
|
|
|
```
|
|
|
|
|
|
```math
|
|
|
\left\{
|
... | ... | @@ -197,32 +183,32 @@ A = \{ga,bu,zo,meu\}, I=\{S\} |
|
|
\right.
|
|
|
```
|
|
|
|
|
|
|
|
|
### Structure d'un L-système
|
|
|
|
|
|
Un L-système est une grammaire formelle $`\{V, C, ω_0, R\}`$ où
|
|
|
Un L-système est une grammaire formelle $`\\{V, C, ω\_0, R\\}`$ où
|
|
|
|
|
|
* $`V`$ est l'ensemble des variables du système ;
|
|
|
* $`C`$ est un ensemble de symboles constants ;
|
|
|
* $`w_0`$ est l'axiome de départ ;
|
|
|
* $`R`$ est un ensemble de règles de croissance.
|
|
|
|
|
|
Il faut maintenant être en mesure de définir les règles et leurs effets. On retrouve l'idée d'une tortue qui est capable de se déplacer en laissant une trace dans l'environnement. Ainsi on utilise en général les variables et les symboles suivants :
|
|
|
|
|
|
* $`S`$ et $`F`$ notre tortue avance d'un pas (d'une unité) ;
|
|
|
* $`+`$ et $`-`$, la tortue tourne à gauche, respectivement à droite, d'un angle $`\alpha`$ ;
|
|
|
* $`[`$ on enregistre la position et l'orientation ;
|
|
|
* $`]`$ on rétablit la position et l'orientation.
|
|
|
* $`+`$ et $`-`$, la tortue tourne à gauche, respectivement à droite, d'un angle $`\\alpha`$ ;
|
|
|
* $`\[`$ on enregistre la position et l'orientation ;
|
|
|
* $`\]`$ on rétablit la position et l'orientation.
|
|
|
|
|
|
Si on définit un angle de 90°, à partir de l'axiome $`F`$, $`F+F+F+F`$ trace un carré. Que nous trace $`\[F\]-\[F\]-\[F\]-\[F\]`$ ?
|
|
|
|
|
|
Si on définit un angle de 90°, à partir de l'axiome $`F`$, $`F+F+F+F`$ trace un carré. Que nous trace $`[F]-[F]-[F]-[F]`$ ?
|
|
|
En utilisant le formalisme,
|
|
|
|
|
|
En utilisant le formalisme,
|
|
|
* $`V = \{F\}`$ ;
|
|
|
* $`C = \{+, -, [, ] \}`$ ;
|
|
|
* $`V = \\{F\\}`$ ;
|
|
|
* $`C = \\{+, -, \[, \] \\}`$ ;
|
|
|
* $`w_0 = F`$ ;
|
|
|
* $`R = \{F \rightarrow [F]-[F]-[F]-[F] \}`$.
|
|
|
|
|
|
On pourra tester la règle $`F \rightarrow FF+[+F-F-F]-[-F+F+F]`$ avec un angle de 25°.
|
|
|
* $`R = \\{F \\rightarrow \[F\]-\[F\]-\[F\]-\[F\] \\}`$.
|
|
|
|
|
|
On pourra tester la règle $`F \\rightarrow FF+\[+F-F-F\]-\[-F+F+F\]`$ avec un angle de 25°.
|
|
|
|
|
|
### Classes de L-système
|
|
|
|
... | ... | @@ -232,9 +218,7 @@ Les différentes classes sont : |
|
|
* Déterministe ou stochastique
|
|
|
* Sensible au contexte ou non
|
|
|
|
|
|
|
|
|
|
|
|
***Stochastique***
|
|
|
**_Stochastique_**
|
|
|
|
|
|
On peut vouloir ajouter un peu de réalisme pour modéliser plus finement ce que l'on observe dans la nature, cela consiste par exemple à introduire de la variabilité. En effet, tous les arbres dans un verger s'ils sont de la même espèce se ressemblent mais présentent des différences. Il suffit d'introduire un peu de hasard sur la longueur des segments et sur les angles par exemple. Il est possible également de jouer sur la probabilité d'application d'une règle.
|
|
|
|
... | ... | @@ -254,42 +238,41 @@ On pourra essayer par exemple : |
|
|
\right.
|
|
|
```
|
|
|
|
|
|
***Paramétrique***
|
|
|
**_Paramétrique_**
|
|
|
|
|
|
Si l'on veut par exemple faire pousser des branches à différentes vitesses traduisant un rapport non entier entre l'état `i` et l'état `i+1` cela n'est pas possible avec les formalismes précédents. On utilise un L-système paramétrique. $`F`$ n'est plus une variable mais une fonction et son argument $`x`$ paramètre la longueur du segment à tracer.
|
|
|
Si l'on veut par exemple faire pousser des branches à différentes vitesses traduisant un rapport non entier entre l'état `i` et l'état `i+1` cela n'est pas possible avec les formalismes précédents. On utilise un L-système paramétrique. $`F`$ n'est plus une variable mais une fonction et son argument $`x`$ paramètre la longueur du segment à tracer.
|
|
|
|
|
|
```math
|
|
|
F(x) \rightarrow F(x \times constante)
|
|
|
```
|
|
|
|
|
|
Un L-système paramétrique est une grammaire formelle $`\{V, \mathcal{F}, ω_0, R\}`$ où
|
|
|
Un L-système paramétrique est une grammaire formelle $`\\{V, \\mathcal{F}, ω\_0, R\\}`$ où
|
|
|
|
|
|
* $`V`$ est l'ensemble des variables du système ;
|
|
|
* $`\mathcal{F}`$ est un ensemble de fonctions;
|
|
|
* $`\\mathcal{F}`$ est un ensemble de fonctions;
|
|
|
* $`C`$ est un ensemble de symboles constants ;
|
|
|
* $`w_0`$ est l'axiome de départ ;
|
|
|
* $`R`$ est un ensemble de règles de croissance.
|
|
|
|
|
|
L'exemple classique est la modélisation de la fougère :
|
|
|
|
|
|
```math
|
|
|
X(a) \rightarrow -(0,1)F(a) [+(0,5)X(0,4a)] [-(0,5)X(0,4x)]X(0,8a)
|
|
|
```
|
|
|
|
|
|
On peut aussi prendre ne compte l'age dans la modélisation d'un arbre, par exemple.
|
|
|
|
|
|
|
|
|
|
|
|
***Sensible au contexte***
|
|
|
|
|
|
**_Sensible au contexte_**
|
|
|
|
|
|
On peut également définir des règle qui ne dépendent uniquement d'un unique symbole, mais de voisins. Dans ce cas le L-system est sensible au contexte.
|
|
|
|
|
|
ex : $`A<B>B \rightarrow BA`$ (si B est placé entre A et B, il devient BA)
|
|
|
ex : $`A<B>B \\rightarrow BA`$ (si B est placé entre A et B, il devient BA)
|
|
|
|
|
|
Ce type de règles est utilisé pour de la génèration musicale, par exemple.
|
|
|
|
|
|
### Exercice
|
|
|
Coder un L-system. Tester différentes formes. Compléter en introduisant de l'aléatoire et du paramétrique qui permettront en particulier de prendre en compte le fait par exemple que la croissance d'un tronc d'arbre dépend de conditions climatiques et également de l'environnement (voisins par exemple). Modéliser ensuite une forêt virtuelle, en prenant en compte la densité et le vent dominant, par exemple.
|
|
|
|
|
|
Coder un L-system. Tester différentes formes. Compléter en introduisant de l'aléatoire et du paramétrique qui permettront en particulier de prendre en compte le fait par exemple que la croissance d'un tronc d'arbre dépend de conditions climatiques et également de l'environnement (voisins par exemple). Modéliser ensuite une forêt virtuelle, en prenant en compte la densité et le vent dominant, par exemple.
|
|
|
|
|
|
## Biomorph
|
|
|
|
... | ... | @@ -299,10 +282,10 @@ Richard Dawkins dans son livre l'horloger aveugle propose un mécanisme d'évolu |
|
|
|
|
|
Ce n'est pas traité dans ce chapitre mais dans celui sur l'évolution.
|
|
|
|
|
|
----
|
|
|
---
|
|
|
|
|
|
# Références
|
|
|
|
|
|
[^1]: Turing A. (1952) The Chemical Basis of Morphogenesis. _Philosophical Transactions of the Royal Society B: Biological Sciences_, 237(641), 37‑72. [DOI](http://dx.doi.org/10.1098/rstb.1952.0012)
|
|
|
[^1]: Turing A. (1952) The Chemical Basis of Morphogenesis. _Philosophical Transactions of the Royal Society B: Biological Sciences_, 237(641), 37‑72. [DOI](http://dx.doi.org/10.1098/rstb.1952.0012)
|
|
|
|
|
|
[^2]: Przemyslaw Prusinkiewicz and Aristid Lindenmayer (1990). The Algorithmic Beauty of Plants Springer-Verlag, New York. http://algorithmicbotany.org/papers/abop/abop.pdf |
|
|
|