Kleine Spielerei: Die "(3n+m)-Vermutung"
Auf den deutschen Mathematiker Lothar Collatz (1910 - 1990)
geht die "(3n+1)-Vermutung" zurück
(siehe Seite
"Das Collatz-Problem").
Als kleine Spielerei können mit dem nachstehenden
Script Folgen erzeugt werden für folgende Modifikation
der Collatzschen Vermutung:
Eine Folge ganzer Zahlen wird gestartet mit einer
beliebigen natürlichen Zahl
c0.
Ein beliebiges Element
ci+1
der Folge errechnet sich aus seinem Vorgänger nach
-
ci+1 =
ci /2, wenn
ci gerade ist bzw.
-
ci+1 =
3 · ci + m,
wenn ci ungerade ist.
m soll eine beliebige (positive oder
negative) ungerade (!) Zahl sein.
Für m = 1 gilt die
(bislang unbewiesene) "Collatzsche Vermutung", dass die Folge
bei beliebigem Startwert
mit der Sequenz ..., 4, 2, 1 endet (und diese
Sequenz würde sich bei weiterer Rechnung natürlich
immer wiederholen). Für m = −1
kennt man drei verschiedene Sequenzen, mit denen die Folge enden
kann (und vermutlich auch immer endet, siehe
"(3n−1)-Folge").
Das nachfolgende Script gestattet die Berechnung von Folgen
für beliebiges m und beliebige
Startzahlen c0. Es stoppt,
wenn eine Wiederholung einer bereits vorhandenen Sequenz
beginnen würde. Weil es zum
Verhalten dieser Folgen bisher nicht einmal Vermutungen gibt,
muss eine obere Grenze nElem,max
für die Anzahl der zu berechnenden
Elemente der Folge sichern, dass sich der Rechner nicht
in einer endlosen (?) Schleife "aufhängt" (Voreinstellung: 2000,
kann aber beliebig geändert werden).
Erzeugen einer Folge
zur "(3n+m)-Vermutung"
Vorsicht!! Das Script gestattet die Eingabe beliebig großer Startzahlen
c0 und beliebig großer Werte für
m. Das verleitet zum Spielen (und soll auch
dazu verleiten), als Begrenzer fungiert
nElem,max. Aber auch diesen Wert kann
man entsprechend groß eingeben.
Man sollte manchmal schon etwas Geduld haben und nicht zu schnell
das Urteil fällen, dass eine Folge nicht in einer der typischen Schleifen
endet. Lange Rechenzeiten können verschiedene Gründe haben:
- Man kann eine Kombination aus Parameter m
und Startzahl c0 gewählt
haben, für die es wirklich sehr lange dauert, bis die Folge in eine
Schleife kommt. Wenn man zum Beispiel (weil es sich so schön
eintippen lässt)
m = 987654321 und
c0 = 123456789 eingibt
(Berechnung einer "(3n+987654321)-Folge"), bekommt man
(bei entsprechend vergrößertem
nElem,max) eine Folge
geliefert, die ab Element
c307665 die Sequenz der
letzten 226704 Elemente ständig wiederholen würde.
- Vielleicht hat man auch eine Kombination aus
Parameter m
und Startzahl c0 gewählt,
die eine Folge erzeugt, die nie in eine Schleife gerät.
Aber wer will das entscheiden? Der Autor dieser Seite hat
natürlich eine recht große Anzahl von
"m−c0−Kombinationen"
getestet. Bei keiner Kombination ist ihm der Verdacht gekommen,
dass diese nicht in eine Schleife führen würde.
- Auf keinen Fall sollte man seinem Computer die Schuld geben,
denn der muss sich aus zwei Gründen
wirklich quälen mit diesem Script.
Weil keine oberen Grenzen für m
und Startzahl c0 eingebaut wurden,
müssen alle Rechenoperationen Ziffer für Ziffer
ausgeführt werden (wie man es in den ersten Schulklassen
gelernt hat). Und weil man nicht weiß, nach welcher Sequenz
für den Abbruch gesucht werden soll, muss jedes neue
Element der Folge mit allen bereits vorab berechneten auf Gleichheit
überprüft werden. Auch schnelle Computer kommen da
an ihre Grenzen.