Théorie des inhibiteurs

 

 

Le but que nous nous fixons ici est de montrer le lien qui peut exister entre la théorie des inhibiteurs et les structures spiralées fibonaciques.

Dans le modèle généralement retenu, les primordia se forment, à intervalles réguliers, sur un même cercle, puis s'éloignent du centre en ligne droite, à vitesse constante ou non. On peut éventuellement choisir une vitesse inversement proportionnelle à la distance, pour conserver une densité globalement constante.

Le point d'apparition de chaque nouveau primordium, sur le cercle, doit se placer "le plus loin possible" des primordia voisins. Cette expression peut être interprétée de diverses façons : par exemple, on considère que le nouveau primordium doit être à la distance maximale des deux primordia les plus proches ; ou bien on imagine une substance inhibitrice produite par les primordia, se répandant, par diffusion, avec une densité inversement proportionnelle à la distance, par exemple (mais la loi de diffusion peut être librement modifiée), et on cherche sur le cercle le point qui minimise la densité (ou le gradient).

Si nous programmons une animation selon ces critères, que va-t-il se passer ? On va obtenir une divergence chaotique, ce qui veut dire que l'angle entre deux primordia successifs va varier de manière imprévisible, sans se stabiliser : la "divergence" (au sens des botanistes) n'est pas "convergente" (au sens des mathématiciens). Que faut-il faire pour l'obliger à converger ?

L'idée est de modifier le modèle, de manière à le rendre évolutif : dans un premier temps, chaque nouveau primordium subira l'influence du primordium précédent, et ignorera tous les autres ; puis, au bout d'un certain temps (à préciser), les nouveaux primordia se positionneront en fonction des deux précédents, puis des trois précédents, etc. A chaque étape correspondent des positions d'équilibre et des butoirs.
Nous appelons position d'équilibre une structure spiralée à divergence constante, dans laquelle chaque primordium trouve, à sa naissance, l'espace le plus grand possible, et se positionne le plus loin possible de ses plus proches voisins.
Nous appelons butoir une valeur de la divergence pour laquelle chaque nouveau primordium apparaît exactement en face d'un autre primordium (parmi ceux dont l'influence est prise en compte) : c'est donc une valeur interdite.

 

Voici une première approche du problème, de niveau élémentaire ; il est conseillé de prendre un papier et un crayon pour visualiser les différentes situations.

Etape 1 : chaque nouveau primordium se positionne le plus loin possible du précédent, et ignore tous les autres. Il y a une position d'équilibre évidente, qui correspond à une divergence égale à 1/2. Il y a un seul butoir : c'est 0 (ou 1, ce qui revient au même).

Etape 2 : chaque nouveau primordium est influencé par les deux précédents. Il y a deux positions d'équilibre : div = 1/3 et 2/3, et deux butoirs : 0 et 1/2. (Nous raisonnons comme si le nouveau primordium subissait une influence égale de la part des deux précédents ; si leurs influences sont un peu différentes, l'équilibre est légèrement modifié.)

Etape 3 : l'influence est étendue aux trois primordia précédents. Les positions d'équilibre sont : div = 1/4 et 3/4. Les butoirs sont : 1/3 et 2/3 (en plus de 0 et 1/2, qui conservent leur rôle de butoirs).

Etape 4 : l'influence est étendue à quatre primordia. Les positions d'équilibre sont : div = 1/5, 2/5, 3/5, et 4/5. Les nouveaux butoirs sont : 1/4 et 3/4.

Etape 5 : l'influence est étendue à cinq primordia. Les positions d'équilibre sont : div = 1/6 et 5/6. Les nouveaux butoirs sont : 1/5, 2/5, 3/5, et 4/5.

Etape 6 : l'influence est étendue à six primordia. Les positions d'équilibre sont : div = 1/7, 2/7, 3/7, 4/7, 5/7 et 6/7. Les nouveaux butoirs sont : 1/6 et 5/6.

Etape 7 : l'influence est étendue à sept primordia. Les positions d'équilibre sont : div = 1/8, 3/8, 5/8 et 7/8. Les nouveaux butoirs sont : 1/7, 2/7, 3/7, 4/7, 5/7 et 6/7.

Etape 8 : l'influence est étendue à huit primordia. Les positions d'équilibre sont : div = 1/9, 2/9, 4/9, 5/9, 7/9 et 8/9. Les nouveaux butoirs sont : 1/8, 3/8, 5/8 et 7/8.

Etape n : l'influence est étendue à n primordia. Les positions d'équilibre sont de la forme : i/(n+1), où i est inférieur à n+1 et premier avec n+1. (Le nombre de positions d'équilibre est donc donné par phi(n+1), où phi est la fonction d'Euler.) Les positions d'équilibre de l'étape précédente deviennent des butoirs.

Etudions l'enchaînement de ces étapes :

On commence par l'étape 1, avec une divergence de l'ordre de 1/2. Le butoir est 0.
Puis on passe à l'étape 2, et la divergence se modifie, pour se rapprocher soit de 1/3, soit de 2/3. Ces deux options sont identiques, au sens près ; nous choisirons la première. A partir de maintenant, si la divergence varie de manière continue (sans faire de saut), elle sera définitivement bloquée entre les butoirs 0 et 1/2. Elle décroît de 1/2 vers 1/3.
Etape 3 : 1/3 devient butoir ; la divergence est définitivement bloquée entre 1/3 et 1/2 (sauf en cas de saut). Les positions d'équilibre (1/4 ou 3/4) sont inaccessibles, car situées hors de l'intervalle ]1/3, 1/2[ : ce n'est pas un problème.
Etape 4 : parmi les 4 positions d'équilibre théoriquement possibles (voir plus haut), une seule est accessible (car située entre 1/3 et 1/2) : c'est 2/5.
Etape 5 : les nouveaux équilibres théoriques (1/6 et 5/6) sont inaccessibles ; 2/5 devient butoir. C'est ici que se pose la question : au moment où 2/5 devient position d'équilibre puis butoir, la divergence, qui était en train de decroître de 1/2 vers 1/3, est-elle inférieure ou supérieure à 2/5 ? Dans le premier cas, elle va être bloquée entre 1/3 et 2/5, et le réseau s'engage sur la branche de Fibonacci ; dans le second cas, elle est bloquée entre 2/5 et 1/2, et la branche de Fibonacci est définitivement perdue. Imaginons que la branche de Fibonacci soit élue ; la divergence croît de 1/3 vers 2/5.
Etape 6 : les équilibres proposés (voir ci-dessus) sont hors de l'intervalle ]1/3, 2/5[, donc inaccessibles.
Etape 7 : parmi les nouveaux équilibres proposés, un seul est dans les limites : c'est 3/8.
Etape 8 : 3/8 devient butoir. Si, à ce moment, la divergence se trouve dans l'intervalle ]1/3, 3/8[, elle y est piégée définitivement, et la branche de Fibonacci est perdue ; si elle est dans l'intervalle ]3/8, 2/5[, les spirales de Fibonacci prennent forme ...
Supposons que la branche de Fibonacci soit chaque fois élue.
Il faudra attendre l'étape 12 pour voir apparaître un point d'équilibre entre 3/8 et 2/5 : c'est 5/13 ; il deviendra butoir à l'étape 13.
A l'étape 20, le point d'équilibre 8/21 apparaîtra entre 3/8 et 5/13, et deviendra butoir à l'étape 21.
A l'étape F(n)-1 (où F représente la suite de Fibonacci), le point d'équilibre F(n-2)/F(n) apparaîtra entre les butoirs F(n-4)/F(n-2) et F(n-3)/F(n-1) ; il deviendra lui-même butoir à l'étape F(n).

Dans la mise en place des spirales de Fibonacci, les moments critiques sont les étapes n° 3, 5, 8, 13, 21,..., F(n), car c'est à ce moment qu'apparaît un nouveau butoir entre les deux précédents, ce qui restreint la marge de liberté de la divergence. Chaque fois que s'établit une nouvelle coupure, il faut que la divergence soit "du bon côté" ; pour que cette condition soit réalisée, il faut laisser la divergence se rapprocher suffisamment de son dernier point d'équilibre, avant de lui proposer un nouveau point d'équilibre (entre les deux précédents). Autrement dit, il faut lui laisser le temps de s'adapter à la situation proposée à une étape donnée, avant de passer à l'étape suivante.
Parmi les moments critiques, les plus critiques sont les premiers, car au début les points d'équilibre successifs sont éloignés les uns des autres, et il y a peu de temps pour aller de l'un à l'autre (le temps étant mesuré en "étapes").
Par conséquent, si on désire programmer une animation, basée sur le principe des inhibiteurs, donnant des spirales de Fibonacci élaborées, il est conseillé de choisir les paramètres de manière que le passage d'une étape à l'autre (donc l'augmentation du nombre de primordia répulsifs) soit très progressif, au moins au début. Par exemple, imaginons qu'au début, l'influence du dernier primordium soit maximale (égale à 1), et que celle des précédents soit minimale (égale à 0). A l'étape 2, l'influence de l'avant-dernier (pénultième) primordium décolle ; à l'étape 3, c'est l'influence de l'avant-avant-dernier (antépénultième) qui décolle. A ce moment, il est souhaitable que l'influence du pénultième soit déjà élevée (proche de 1) et que celle de l'antépénultième soit encore basse (proche de 0).

Rappelons que ce raisonnement ne fait intervenir aucun maillage : notre raisonnement se limite au cercle où apparaissent les nouveaux primordia.
Mais si on se transporte plus loin du centre, la théorie des contacts est bien placée pour continuer la mise en place des spirales fibonaciques ; en effet, elle réalise de manière idéale la condition ci-dessus : le passage de l'influence minimale (pas de contact : 0) à l'influence maximale (contact établi : 1) se fait de manière instantanée. Cependant, nous ne parlons plus ici du même type d'influence : il s'agit de la répulsion mécanique entre les primordia déjà formés, et non de l'influence déterminant le point de naissance d'un nouveau primordium. Ces problèmes bien différents sont mathématiquement liés.
Mais rappelons qu' au voisinage du centre la théorie des contacts soulève des problèmes purement géométriques, qui ne peuvent pas être résolus sans hypothèses complémentaires.

 

Le type de problématique que nous venons de survoler entre typiquement dans le champ d'action de la suite de Farey.

Voici une approche plus générale, et plus théorique.

Supposons qu'on place successivement sur un cercle des points Pn régulièrement espacés (donc avec une divergence constante), en partant de l'origine O.
Le point Pn est le nième point de la suite ; il a été placé après n pas, qui ont permis de faire n' tours environ (un peu plus ou un peu moins). Son abscisse (modulo 1) est égale à n * div - n' (nombre positif ou négatif, selon que Pn se trouve d'un côté de O ou de l'autre). On peut convenir que les abscisses seront comprises entre -1/2 et 1/2.
Observons, à chaque instant, les deux points les plus proches de O : Pa (d'abscisse : b * div - b') d'un côté ("à gauche"), Pb (d'abscisse : b* div - b') de l'autre ("à droite").
Le point Pa a été placé après a pas, et a' tours ; on suppose qu'il vérifie : a * div - a' < 0 ; donc div < a'/a.
Le point Pb a été placé après b pas, et b' tours ; on suppose qu'il vérifie : b * div - b' > 0 ; donc div > b'/b.
La divergence se situe donc dans l'intervalle ]b'/b, a'/a[ (entre deux "butoirs").
Continuons à placer les points de la suite. Quel est celui qui viendra se placer, le premier, entre Pa et Pb ?
On peut démontrer que c'est le point Pa+b, d'abscisse (a+b) * div - (a'+b'), qui sera placé après (a+b) pas, et (a'+b') tours.
Ce point Pa+b peut se trouver soit entre O et Pa, soit entre O et Pb, ce qui va nous donner une indication sur la divergence.
Dans le premier cas :
(a+b) * div - (a'+b') < 0 donc div < (a'+b')/(a+b). Le point Pa+b remplace Pa comme point le plus proche de O, à gauche. La divergence se situe alors dans l'intervalle ]b'/b, (a'+b')/(a+b)[.
Dans le second cas :
(a+b) * div - (a'+b') > 0 donc div > (a'+b')/(a+b). Le point Pa+b remplace Pb comme point le plus proche de O, à droite. La divergence se situe alors dans l'intervalle ](a'+b')/(a+b), a'/a[.
On obtient ainsi des approximations de la divergence, sous forme d'intervalles emboîtés, dont les bornes se déduisent selon la suite de Farey (ou l'arbre de Stern-Brocot). Voir les pages consacrées à ce sujet.


              RETOUR