Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#26 10-08-2024 13:18:09

syrac
Membre
Inscription : 27-05-2014
Messages : 83

Re : Découverte Constante Syracuse

Je reviens sur mes deux précédents messages dans lesquels je parlais du calcul des prédécesseurs impairs de 1 dans une suite de Collatz, c'est-à-dire du dernier terme impair avant d'atteindre 1 par une succession de divisions par 2. Ces prédécesseurs sont 1, 5, 21, 85, 341, etc.

On obtient facilement cette liste en constatant que ses termes correspondent à la somme $2^0+2^2+2^4+2^6,...$, que l'on peut noter

$\large p_k=\displaystyle \sum _{x=0}^k 2^{2 x} \quad \small k \in \mathbb{N}_0$

ou sous sa forme fermée

$\large p_k= \normalsize \dfrac{1}{3} \left(4^{k+1}-1\right) \quad \small (2)$

Le successeur d'un tel nombre est

$3 \left(\dfrac{1}{3} \left(4^{k+1}-1\right) \right) +1=4^{k+1}$

$=\large 2^{2 (k+1)}$

lequel descend ensuite directement vers 1.

Si on pouvait prouver que toute suite de Collatz passe par un terme impair de la forme (2), la conjecture serait démontrée.

Dernière modification par syrac (10-08-2024 13:20:26)

Hors ligne

#27 12-08-2024 19:52:51

syrac
Membre
Inscription : 27-05-2014
Messages : 83

Re : Découverte Constante Syracuse

[suite]

Il existe une infinité de termes impairs aboutissant à chacun des prédécesseurs de 1. L'algorithme suivant calcule les 9 premiers prédécesseurs de l'entier naturel impair n dans une suite de Collatz :


def collatz_preds(n, d=0):
  m = 3 - (n % 3)

  # Si m = 3 ça signifie que n est un multiple de 3, qui ne possède aucun prédécesseur. Dans ce cas on renvoie une liste vide
  if m == 3:
    return []

  # Générer la liste des prédécesseurs de n
  # On commence par le plus petit
  x = (n * 2**m - 1) // 3
  lst = [x]

  # Calcul de 8 prédécesseurs supplémentaires (ou le nombre qu'on veut)
  for _ in range(8):
    x = 4 * x + 1
    lst.append(x)

  # Si d vaut 1, supprimer les multiples de 3 avant de renvoyer la liste de prédécesseurs
  if d == 1:
    lst = [x for x in lst if x % 3 != 0]

  return lst

# Exemple d'utilisation
n = 1 # Entier naturel impair
result = collatz_preds(n) # d = 0 (par défaut)
print(result) # Affiche [1, 5, 21, 85, 341, 1365, 5461, 21845, 87381], où 21, 1365 et 87381 sont des multiples de 3
# Variante
result = collatz_preds(n, 1)  # d = 1, ne pas tenir compte des multiples de 3
print(result) # Affiche [1, 5, 85, 341, 5461, 21845]
 

1 possède une infinité de prédécesseurs. Ceux qui ne sont pas des multiples de 3 possèdent eux-mêmes une infinité de prédécesseurs. On pourrait ainsi créer des suites de Collatz aussi longues qu'on veut et composées uniquement de termes impairs, en calculant à chaque étape une liste de prédécesseurs non multiples de 3 et en en sélectionnant un au hasard. On pourrait procéder de la même manière à partir de n'importe quel entier naturel impair (non multiple de 3) au lieu de 1, sauf que sa suite se poursuivra jusqu'à atteindre 1.

Ce raisonnement implique que s'il existait un entier impair dont la suite ne passe pas par 1, comme certains le soupçonnent, ça signifierait qu'en réalité il existe une infinité d'entiers impairs dont la suite ne passe pas par 1. Je parle de son infinité de chaines infinies de prédécesseurs. Prétendre qu'il "pourrait exister une suite divergente" est donc totalement inepte, car si tel était le cas alors il faudrait parler d'une infinité de suites divergentes. Or, après des décennies à faire tourner des ordinateurs de plus en plus puissants capables de gérer des entiers de plus en plus grands, on n'en a trouvé aucune.

Le problème, selon moi, est que parmi les milliers de personnes qui se sont intéressées à l'algorithme de Collatz, très peu savent comment calculer les prédécesseurs d'un terme impair, l'immense majorité d'entre elles ne s'étant jamais intéressée à la question ou n'ayant pas trouvé comment y parvenir. La littérature n'en parle d'ailleurs pas, du moins à ma connaissance, alors que c'est un concept central qui du coup est totalement ignoré.

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
trente cinq plus quatre-vingt onze
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums