Lisez-moi arrow_drop_down

Interface

keyboard_arrow_down keyboard_arrow_up

Cliquez sur l'iconescatter_plotà droite du champ N. Ceci génèrera un nombre impair aléatoire < 20 000 et affichera l'interface complète. Si la hauteur de la fenêtre est trop importante lorsque vous lisez ce texte – ou si une liste s'étale sur plusieurs lignes – saisissez son angle inférieur droit et faites-le glisser vers la droite pour l'élargir.

Après avoir saisi une valeur de N ou une liste d'exposants de 2 (séparés par une virgule), cliquez en dehors de leur champ pour valider, ou pressez Entrée.

Sous les deux champs sont affichées la liste des exposants correspondant à N et celle de leurs différences (bleu foncé). Cliquez sur l'une de ces listes pour la copier dans le champ Exposants en vue de la modifier.

Si vous faites précéder d'un # la liste d'exposants que vous saisissez, elle sera interprétée comme la liste des différences entre les exposants. Par exemple, saisir #1,2,3 créera la liste d'exposants 0,1,3,6. Vous pouvez double-cliquer sur le champ pour faire apparaître un #.

Algorithme originel

keyboard_arrow_down keyboard_arrow_up

Cet algorithme a été proposé par Serge Burckel sur le forum les-mathematiques.net. Si la valeur de l'ensemble S est au départ {a, b, c} et que son minimum est a, sa première transformation est S = {a, b, c, a+1, b+1, c+1, a} (équivalent de 3n+1). Eliminez tous les doublons (équivaut à des divisions par 2) en cliquant sur leur première occurrence, puis cliquez sur la double-flèchedouble_arrowpour passer à l'étape suivante. La première cellule, qui contient la valeur de N, est constamment mise à jour.

Il est recommandé d'éliminer les doublons dans l'ordre croissant, sinon le résultat serait imprévisible. Cocher la case "Trier la liste" (l'effet n'est pas immédiat) vous facilitera la tâche. En mode Auto il suffit de cliquer sur une cellule pour supprimer automatiquement tous les doublons.

Avec m = min(S), lorsque la case m+2 est cochée la première transformation n'est plus (m, b, c, m+1, b+1, c+1, m} mais (m+2, b, c, b+1, c+1}. Ceci permet d'économiser à chaque étape la suppression des deux premiers doublons.

Cliquez sur le chevronkeyboard_arrow_uppour fermer/ouvrir ce panneau.

Transformation continue

keyboard_arrow_down keyboard_arrow_up

Les explications figurent dans ce sujet du forum les-mathematiques.net. On ne parle plus de l'ensemble mais de la liste S des exposants issus de la décompostion de N en base 2, à laquelle 4 règles de transformation (voir onglet "Règles") sont appliquées récursivement jusqu'à l'apparition d'une liste de 1 élément. Ces règles ont été converties en algorithme, utilisé dans la présente application et visible sur Try It Online (également en JavaScript).

Une ligne du tableau contient

  1. La valeur de N, obtenue en calculant la somme des puissances de 2 dont les exposants figurent dans la liste à sa droite une fois réduite (soustraction de son minimum de tous ses termes). Cette valeur est identique à celle qu'on obtiendrait à partir de la liste contenant des doublons, car supprimer un doublon revient à remplacer 2x+2x par 2x+1.
  2. La liste obtenue après application de l'algorithme de transformation à la liste précédente.
  3. Le nombre de doublons supprimés au cours de cette opération.
  4. La différence entre les termes consécutifs de la liste.

Cliquez sur une liste pour la sélectionner (ne fonctionne pas dans Edge avant màj Chromium).

Cliquez sur une cellule de la colonne N pour afficher la transformation de la liste à sa droite sans suppression des doublons. Lorsqu'elle est précédée de "<" ça signifie que les deux premiers termes ont été inversés (min(S) se trouvait en seconde position). Cette inversion répond à la règle 3 de la transformation.

Règles

keyboard_arrow_down keyboard_arrow_up

Règles applicables récursivement à une liste d'entiers naturels dans le cas d'une transformation manuelle. m est son minimum :

On part d'une liste triée débutant par 0, qui représente N0, premier terme impair d'une suite de Collatz. Les règles figurent dans l'ordre de priorité. Important : les règles 1 et 2 ne tiennent pas compte de m. La règle 2 opère sans tenir compte du résultat produit par la règle 1.

  1. Lorsque la différence entre deux ou plusieurs termes consécutifs est 1 on les transforme ainsi :
    [a, b] → [a, b+2]
    [a, b, c] → [a, b+1, c+2]
    [a, b, c, d] → [a, b+1, c+1, d+2]
    [a, b, c, d, e] → [a, b+1, c+1, d+1, e+2]
    etc.
  2. Lorsque la différence entre deux ou plusieurs termes consécutifs est > 1, ou lorsqu'un terme est isolé, on en crée une copie incrémentée. Par exemple, [..., 3, 6, ...] devient [..., 3, 4, 6, 7, ...] ; ou encore, [m, 5] devient [m, 5, 6] parce que 5 est isolé.
  3. Faire m = m + 2. Si min(S) est maintenant en seconde position, inverser les deux premiers termes de la liste.
  4. Lorsque deux termes sont égaux (doublon) on les remplace par un seul incrémenté. Par exemple, [a, ..., a, ...] devient [..., a+1, ...] (on supprime le premier et on incrémente le second).

On applique de nouveau ces règles à la liste transformée, jusqu'à ce qu'elle ne compte plus qu'un seul terme.

N
  scatter_plot
Exposants

Algorithme originelkeyboard_arrow_up
check_box_outline_blank Trier la liste     check_box_outline_blank Auto check_box_outline_blank m + 2
Doublons : double_arrow
Total :
Transformation continue
Doublons supprimés :
Nbr de transformations :