
Largument i fourni à la fonction iSuivant est un nombre impair non divisible par 3. Elle renvoie la valeur du terme impair suivant dans la suite de Collatz de i. Elle fonctionne donc par récurrence (dont la conception dépend du langage de programmation utilisé). La fonction récurrente doit se poursuivre aussi longtemps que le terme produit pas iSuivant est impair et plus grand que 1.
La valeur du diviseur de 3i+1 est tirée du tableau associatif assoc. La clé, cest-à-dire le terme à gauche dune flèche, correspond à (i mod 96), et le diviseur recherché est la valeur qui lui est associée.
Compte tenu du fait que tout terme pair dune suite de Collatz est le résultat dun terme impair multiplié un nombre quelconque de fois par 2, cet algorithme ne peut pas gérer lensemble des termes pairs dune suite. Une fois sur quatre la suite produite se terminera par un entier pair, car le tableau associatif de 32 paires clé
Voici le graphe de la trajectoire de 21547, originale à gauche et simplifiée à droite. Les deux ont la même forme générale, bien que la seconde soit beaucoup plus lisse (ce qui se comprend aisément) :

Sur 32 paires, le tableau assoc divise 16 fois par 2, 8 fois par 4, 4 fois par 8, 2 fois par 16 et 2 fois par 32. Ceci nous donne le tableau des probabilités de diviser 3i+1 par 2, 4, 8, 16 ou 32 :

Autrement dit, après une division par 2 la valeur du terme impair suivant est sensiblement égale à une fois et demie celle de son prédécesseur. Mais dans tous les autres cas, cest-à-dire lorsque le diviseur est supérieur à 2, le terme impair suivant est plus petit que son prédécesseur. Comme 1/4+1/8+1/16+1/16 = 1/2, on voit quune suite de Collatz a autant de chances de croître que de décroître. Si elle décroît toujours cest simplement parce que chaque division par une valeur supérieure à 2 lui fait perdre beaucoup plus que ce quune division par 2 lui fait gagner :

La somme des quatre derniers pourcentages est égale à 141 %. Où sont passés les 9 % permettant déquilibrer les 150 % de gain de la division par 2 ? Lexplication est simple : si cet algorithme avait pris en compte la division par 64, 128, 256, etc., cette somme aurait tendu vers 150 %. En effet, 4,5 + 2,25 + 1,125 + 0,5625 + + 4,09273*10^-12 = 9. On a bien un équilibre entre 150% de gain et 150 % de perte. On ne le perçoit pas à léchelle dune suite isolée, ce qui ne peut vouloir dire quune chose : lensemble des suites de Collatz est en équilibre, dans ce sens que les diviseurs de 3n+1 y sont également distribués. Rien nempêche daller plus loin et de dire que la décroissance dune suite de Collatz est un phénomène localisé, résultant dune vision partielle de la réalité. Mais bon, en tout cas une chose est sûre, cest que la distribution des diviseurs y joue un rôle crucial.
Pour le vérifier jai imaginé le petit jeu suivant : effectuer un tirage aléatoire des lettres a, b, c, d, e (correspondant à 2, 4, 8, 16, 32) après avoir attribué à chacune un poids équivalent au tableau des probabilités ci-dessus, ce qui fait que a, par exemple, aura autant de chances dêtre tiré que b, c, d et e réunis. Mathematica gère tout cela très bien via la fonction RandomChoice, en loccurrence RandomChoice[{0.5, 0.25, 0.125, 0.0625, 0.0625 }

Je suis persuadé quavec des suites de plus de 50 lettres le résultat final aurait toujours tendu vers zéro. En fait, le nombre initial choisi et le nombre détapes sont intimement liés pour ce qui concerne le résultat final.
Ces suites décroissent systématiquement, ceci malgré la présence massive de lettres a. Voici le graphe de la quatrième suite de lettres, qui ressemble à sy méprendre à une suite de Collatz simplifiée :

Plus une suite comporte de lettres a successives et plus son graphe affiche des pics marqués. Dans cet exemple, plus de la moitié des lettres sont des a (27 sur 50). Je pense donc que ce sont les divisions de 3n+1 par 2 qui donnent cet aspect chaotique à une suite de Collatz.

La distribution et le comportement de ces suites de lettres ne sont pas totalement aléatoires, puisquils sont fondés sur le même mécanisme quune suite de Collatz. Sils létaient, alors une suite pourrait diverger, ce qui na jamais été le cas au cours de mes nombreux tests. Reste à savoir si la distribution des diviseurs de 3n+1 au sein dune suite de Collatz peut être qualifiée ou non de pratiquement aléatoire. Jai bien sûr ma petite idée là-dessus, mais il nempêche que de nombreux problèmes quil est impossible de formaliser ou de modéliser peuvent être simulés par une méthode de Monte-Carlo, comme cest le cas ici.

