Collatz Conjecture

Aus SETI.Germany Wiki
Wechseln zu: Navigation, Suche
Collatz Conjecture
Collatz Conjecture
Ziel:Widerlege die sogenannte „Collatzsche Vermutung“ (auch „3n+1“-Vermutung)
Kategorie:Mathematik
Homepage:http://boinc.thesonntags.com/collatz/
Status:alpha
Projektadressen
Serverstatus:Collatz Conjecture
Forum:Collatz Conjecture Forum
SETI.Germany
Team-Statistik:Collatz Conjecture
Teambeitritt:SETI.Germany beitreten
Teamwerbung:Für Collatz Conjecture werben
Twitter Facebook meinVZ/studiVZ
Forenthread:SETI.Germany Forum
Workunit
Frist:14 Tage
Laufzeit:
  • 842 sek ; 104 min
    (Radeon Hd4870@790/1000 ; Radeon HD5470mobile)
  • 140 Min.
    (ATI 3650)
  • 8,3 h
    (HD4200 @ 500 MHz)
  • ca. 21 Minuten
    (ATI Radeon HD 4890)
  • ca. 3 h / ca. 40 min
    (ATI Radeon HD 4350 / GTX260 [192])
Erster Download:ATI => ~900 KB (Projektclient ~450 KB) / NVIDIA => 935 KB (Projektclient 288 KB)
Download:46 Byte
Upload:270 bzw. 274 Byte
Betriebssysteme:Linux 32 Bit Mac OS (64 Bit) Mac OS (Intel) Windows 32 Bit Windows 64 Bit
GrafikkartenATI NVIDIA CUDA
Bildschirmschoner:Nicht vorhanden
Checkpoints:Vorhanden

Das Collatz-Problem (auch: (3n+1)-Vermutung) beschäftigt sich mit der Vermutung, dass die Collatz-Folge für jede natürliche Zahl früher oder später die „1“ erreicht und in einem trivialen Muster (4-2-1-4-2-1...) weiterläuft. Lothar Collatz entdeckte diesen Zusammenhang im Jahr 1937, sprach aber 1952 erstmals mit einem Kollegen darüber, welcher die bis heute nicht widerlegte Vermutung verbreitete.

Das BOINC-Projekt Collatz Conjecture beschäftigt sich mit der Suche nach einer Zahl, für die die Vermutung nicht gilt, also widerlegt werden kann.

Collatzsche Vermutung

Mathematischer Hintergrund

Die Collatzsche Reihe hat die folgende rekursive Definition für eine beliebige Anfangszahl A aus der Menge der natürlichen Zahlen:

C[n] = A
C[n+1] = { A/2 für A mod(2) = 0
{ 3A+1 für A mod(2) = 1

In Worte gefasst

  1. Man nehme eine beliebige natürliche (d.h. ganze, positive) Zahl A.
  2. Wenn es sich um eine gerade Zahl handelt, teile man sie so lange durch zwei, bis man bei einer ungeraden Zahl ankommt.
  3. Diese ungerade Zahl multipliziere man mit drei und addiere eins hinzu. Das Ergebnis ist wieder eine gerade Zahl.
  4. Die Schritte 2 und 3 werden solange wiederholt, bis das Ergebnis 1 lautet. Die Collatzsche Vermutung besagt nun, dass, ganz gleich mit welcher Zahl begonnen wird, die Reihe stets früher oder später bei „1“ landet.

Beispiele

C(A=3) : 3, 10, 5, 16, 8, 4, 2, 1
C(A=4) : 4, 2, 1
C(A=5) : 5, 16, 8, 4, 2, 1
C(A=6) : 3, 10, 5, 16, 8, 4, 2, 1
C(A=7) : 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1

Ein Rechner, der am Collatz-Conjecture-Projekt teilnimmt, macht also nichts anderes, als die Gültigkeit der Collatzschen Vermutung bei sehr großen Zahlen nachzurechnen, indem er, von großen Zahlen ausgehend, die Collatzsche Reihe durchrechnet.

Kritische Betrachtung

Strukturelle Untersuchungen von Collatz-Reihen bzw. des Collatz-Problems liefern starke Hinweise dafür, dass die Collatzsche Vermutung mit hoher Wahrscheinlichkeit richtig zu sein scheint.

Betrachten wir eine beliebige Zahl A aus der Menge der natürlichen Zahlen. Um die 1 zu erreichen und damit in die trivialen Zyklus 4-2-1-4-2-1-... überzugehen, muss die Collatz-Reihe von A auf eine Potenz von zwei treffen. Wenn es sich bei A nicht bereits um eine Zweierpotenz handelt, ist dies nur bei den Zweierpotenzen aus der Reihe a = 3n+1 möglich, da die wiederholte Anwendung dieser Operation stets wieder zu einer Zahl aus eben dieser Reihe führt:

a: 1, 4, 7, 10, 13, 16, 19, 22, 25, ...

Wenn die Reihe fortgeführt wird, ist ersichtlich, dass nur die Zweierpotenzen mit geradem Exponenten (hoch 2, hoch 4, hoch 6) in der Reihe auftauchen. Die Collatzsche Vermutung gilt also, wenn sichergestellt wird, dass für jede beliebige Anfangszahl A irgendwann eine Zweierpotenz mit geradem Exponenten erreicht wird.

Weiterhin kann beobachtet werden, dass viele Collatz-Reihen das Muster 5-16-8-4-2-1-... aufweisen. Wenn die Operation 3n+1 also auch zu einem zehnfachen einer (beliebigen) Zweierpotenz führt, wird durch mehrfaches Halbieren zwingend die 5 als letzter verbleibender Primfaktor getroffen und die Collatz-Vermutung erfüllt. Damit ist die Zahl derjenigen Werte, die, wenn sie in einer Collatz-Reihe auftauchen, die Collatzsche Vermutung definitionsgemäß bestätigen werden, überaus groß und wächst mit jeder Zahl an, die irgendwo in einer Reihe einmal auftaucht.

Aus diesen Überlegungen erscheint die Wahrscheinlichkeit groß, dass alleine „durch bloßen Zufall“ irgendwann eine der besagten Zahlen getroffen und Collatz somit bestätigt wird, ganz gleich, wie die Anfangszahl lautet. Gleichzeitig ist damit die Chance eher als gering zu bewerten, dass das BOINC-Projekt Collatz Conjecture tatsächlich auf eine Anfangszahl stößt, für die die Collatz-Reihe entweder über alle Grenzen wächst, oder aber nicht in den trivialen Zyklus 4-2-1-4-2-1-... mündet, was die Collatzsche Vermutung widerlegen könnte.

Collatz Conjecture hilft also, die geäußerten Überlegungen zur Collatz-Reihe zu bestätigen und hat die geringe Chance, den konkreten Gegenbeweis in Form einer Zahl zu bringen.

Berechnung mit ATI-Grafikkarten

Nach einigen Anfangsschwierigkeiten bei der ATI-Unterstützung scheint BOINC 6.10.16 in Verbindung mit dem Catalyst-Treiber 9.10 stabil zu laufen.

Voraussetzungen

Grafikkarten mit einer CAL 1.3 kompatiblen GPU (ab Radeon HD2000 Serie) und Catalysttreiber ab Version 8.12.

Eine Liste von unterstützten Grafikkarten ist bei AMD / ATI zu finden unter:

Passende Treiber sind bei AMD / ATI zu finden unter:

BOINC

Empfohlen wird BOINC ab Version 6.10.10.

Anwendungen

Es wird zudem eine optimierte Anwendung benötigt. Diese wird bei Verwendung von BOINC ab Version 6.10.10 automatisch heruntergeladen. Ansonsten ist sie erhältlich auf [1].

Berechnung mit NVIDIA-Grafikkarte

Voraussetzungen

CUDA-fähige Grafikkarten ab Treiberversion 190.38.

Eine Auflistung, welche Grafikkarten CUDA-fähig sind, ist unter http://www.nvidia.de/object/cuda_learn_products_de.html zu finden.

Entsprechende Treiber sind bei NVIDIA zu finden: http://www.nvidia.de/Download/index.aspx?lang=de

BOINC

BOINC ab Version 6.4.7 wird benötigt.

Anwendungen

Es wird zudem eine optimierte Anwendung benötigt. Diese wird i. d. R. automatisch vom Manager heruntergeladen, ansonsten ist sie erhältlich auf [2].

Für das Projekt gibt es mehrere Anwendungen, die sich von wenigen Minuten (mini-collatz auf) bis hin zu mehreren Stunden oder Tagen vergrößern (large-collatz). Zudem kann man bei NVIDIA zwischen CUDA und OpenCL differieren, je nachdem, mit welcher Software die Berechnung auf der Grafikkarte schneller vonstatten geht.

Es besteht bei der Berechnungsdauer eine große Schwankungsbreite. Anfolgend einige Beispiele (ohne Nutzung weiterer Optimierungen, wie app_config.xml):

  • micro_collatz
  • mini_collatz
    • NVIDIA 460SE (~25min - opencl | ~13min - cuda)
    • NVIDIA 660TI (~2-3Minuten), 680 (~2-3Minuten)
  • solo_colaltz
    • NVIDIA 460SE (~3,5h - cuda)
    • NVIDIA 660TI (~36min - cuda55(Windows 64 bit) | ~32min - cuda40(Linux 64 bit))
  • large_collatz
    • NVIDIA 460SE (~2,45d - cuda),
    • NVIDIA 660TI (~9,42h - cuda55(Windows 64 bit))

Badges

Die Badges hängen von der Gesamtzahl der errechneten Credits ab. Das Symbol stellt eine Mandelbrot-Fraktur dar.

Bronze
100 Tausend Credits
Silber
1 Million Credits
Gold
5 Millionen Credits
Amethyst (violett)
20 Millionen Credits
Rubin (rot)
100 Millionen Credits
Saphir (blau)
500 Millionen Credits
Smaragd (grün)
2 Milliarden Credits
Badge 100K.png Badge 1M.png Badge 5M.png Badge 20M.png Badge 100M.png Badge 500M.png Badge 2G.png

Weblinks