Vermoeden van Collatz

Het Vermoeden van Collatz is een vermoeden in de getaltheorie dat zegt dat een bepaalde iteratie in alle gevallen uitloopt op het getal 1, om het even welk getal n als beginwaarde gekozen wordt.

Iteratie

Neem een willekeurig geheel getal n als beginwaarde en bereken een volgend getal door de regels:

Het vermoeden is dat bij herhaalde toepassing van deze regels men uiteindelijk in eindig veel stappen bij het getal 1 uitkomt. Dit vermoeden is voor het eerst geformuleerd door Lothar Collatz in 1937. Tot op heden is het vermoeden nog niet bewezen of weerlegd.

In 1984 noemde Brian Hayes in de column Computer recreations in het tijdschrift Scientific American de getallen in een dergelijke rij hailstone numbers, hagelsteengetallen.

Wiskundige formulering

Laat n>0 een willekeurig geheel getal zijn. Definieer de rij (ai) door

a0=n
ai+1={ai/2als ai even is3ai+1als ai oneven is

Het vermoeden is dat bij iedere a0 er een N∈ℕ is waarvoor aN=1.

Voorbeelden

Grafiek van de stappen beginnend bij n=27

Neem n=12; de rij a ziet er dan uit als: 12, 6, 3, 10, 5, 16, 8, 4, 2, 1.

Met de beginwaarde n=15 ontstaat een langere rij: 15, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1.

Bij n=27 duurt het 111 stappen, totdat (via een maximum boven 9000) de waarde 1 wordt bereikt: 27, 82, 41, 124, 62, 31, 94, 47, 142, 71, 214, 107, 322, 161, 484, 242, 121, 364, 182, 91, 274, 137, 412, 206, 103, 310, 155, 466, 233, 700, 350, 175, 526, 263, 790, 395, 1186, 593, 1780, 890, 445, 1336, 668, 334, 167, 502, 251, 754, 377, 1132, 566, 283, 850, 425, 1276, 638, 319, 958, 479, 1438, 719, 2158, 1079, 3238, 1619, 4858, 2429, 7288, 3644, 1822, 911, 2734, 1367, 4102, 2051, 6154, 3077, 9232, 4616, 2308, 1154, 577, 1732, 866, 433, 1300, 650, 325, 976, 488, 244, 122, 61, 184, 92, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1.

De langste rij voor een startwaarde onder 1000, is 178 stappen lang voor de startwaarde 871.

De langste rij voor een startwaarde onder 1 miljoen, is 524 stappen lang voor de startwaarde 837.799.

De langste rij voor een startwaarde onder 1 miljard, is 986 stappen lang voor de startwaarde 670.617.279.

Optimaliseringen

De iteraties kunnen versneld worden door:

Aanwijzingen

Er zijn enkele aanwijzingen dat het Vermoeden van Collatz juist is.

Sinds 2020 is voor alle getallen onder 268 gecontroleerd dat ze aan het vermoeden voldoen. Het probleem met het controleren is dat het alleen het vermoeden kan weerleggen. Als het vermoeden waar is, kan er geen bewijs voor gevonden worden op deze manier.

Daarnaast geldt dat als je naar alle oneven getallen kijkt, ieder getal gemiddeld 3/4 is van het getal ervoor, en als dat lang genoeg wordt herhaald, het getal dus steeds kleiner wordt.

Uitbreiding naar grotere domeinen

Iteraties over alle gehele getallen

Een logische uitbreiding is die naar alle gehele getallen, niet alleen de positieve. In dit geval zijn er 5 bekende cyclussen

CyclusAantal oneven waardesVolledige lengte
1 → 4 → 2 → 1 …13
0 → 0 …01
-1 → -2 → -1 …12
-5 → -14 → -7 → -20 → -10 → -5 …25
-17 → -50 → -25 → -74 → -37 → -110 → -55 → -164 → -82 → -41 → -122 → -61 → -182 → -91 → -272 → -136 → -68 → -34 → -17 …718

Het gegeneraliseerde Vermoeden van Collatz is dat ieder geheel getal in een van deze 5 cyclussen terechtkomt

Opmerkelijkheden

Er zijn getallen n te creëren die p−1 keer door 2 gedeeld moeten worden en de p-de keer met 3 vermenigvuldigd moeten worden en met 1 verhoogd moeten worden. Deze getallen zijn van de vorm 2p−1 mod 2p. Bij deling door 2 worden ze 2p−2 mod 2p−1. Herhaal dit net zo lang tot ze 20 mod 21 worden.

Ook is mogelijk getallen te maken die p−1 keer met 3 moeten worden vermenigvuldigd en 1 verhoogd. Na iedere keer maal 3 plus 1 moet natuurlijk gedeeld worden door 2.

Dit is gelijk aan 2p−2−1 mod 2p−1 Waar eerst p stond staat nu p−1. Blijf dit herhalen tot er 0 overblijft. Dan is 20−1 mod 21 en dit betekent dat p even is.

Met de computer

Voorbeeld in de programmeertaal PHP:

$n = 12;
print $n;
while($n!==1){($n&1) ? $n = ($n * 3) + 1 : $n /= 2;print ' '.$n;}

BOINC

Er is ook een Distributed Computing project dat probeert meer inzicht in het vermoeden te geven. Dit heet Collatz Conjecture en draait onder BOINC.