Welche Bedeutung hat die Automatikfunktion?

Mit der Automatikfunktion erhalten Sie ein sehr schnelles Instrument, um das Cockpit betriebsbereit zu schalten, um alle anderen Funktionen direkt nach ca. einer Sekunde zur Verfügung zu haben

Wenn Sie das Programm erstmalig betreiben, hat die Automatikfunktion nur die Wirkung, dass von den 3 vorhandenen Verfahren zur Primzahlenermittlung automatisch das schnellste genommen wird - das ist der Kiebart-Kamm. Aber auch der Kiebart-Kamm braucht für einen Primärbereich von 2.000.000.000 bei einem 1,5 GHz - Rechner schon über eine Minute. Wenn Sie diese "Tortur" = 1 Minute Untätigkeit vor dem Bildschirm hinter sich haben, gibt es die Möglichkeit, alle ermittelten Primzahlen auf Ihrer Platte zu speichern. Erschrecken Sie nicht: Die ca. 98 Millionen Primzahlen, die bei den oben genannten Werten ermittelt werden, belegen auf Ihrer Platte ca. 65 MB. Wenn Sie nachrechnen, wie man 98 Millionen Zahlen (überwiegend 9-stellig) in 65 Millionen Bytes speichern kann, werden Sie feststellen, dass dies eigentlich nicht funktionieren kann. Und es funktioniert auch nicht, wenn man alle Zahlen als einzelnes Bit speichert und Primzahlen und Nichtprimzahlen mit 0 oder 1 kennzeichnet. In diesem Fall braucht man 2 Mrd. / 8 also 250 Millionen Bytes (250 MB). Der hier verwendete Trick beruht darauf, dass die Primzahlen ab 7 sich auf eine beschränkte Anzahl von Möglichkeiten beschränken, wenn man alle Zahlen, die durch 2, 3 oder 5 teilbar sind, nicht speichert.

Diese periodische Zahlenreihe hat glücklicherweise genau 8 Zahlen und lässt sich so sehr gut in einem Byte mit 8 Bit darstellen.

  • 1  7  11  13  17  19  23  29 

Dieses Muster setzt sich ab 30 fort: 31  37  41  43  47  49  53  59  61  67 usw.

Also benötigen wir zur Speicherung von 30 Zahlen (die Bits entscheiden über Prim oder NoPrim) exakt ein einzelnes Byte.

Die in dieser Software verwendete interne Primzahlenverarbeitung und Speicherung basiert komplett auf diesem Muster. Egal, ob Sie die Primzahlen mit dem bekannten Eratosthenes-Sieb oder mit dem schnelleren Verfahren von Sascha Pfaller oder mit dem Kiebart-Kamm ermitteln lassen. Dadurch lassen sich auch auf Rechnern mit einem Hauptspeicher von (nur) 256 MB schon recht ansehnliche Ergebnisse erzielen.

Die interne Speicherung ist dynamisch angelegt. Wenn Sie das Programm starten, wird erstmal überhaupt kein Platz für die Speicherung Ihres zukünftigen Primzahlbestands benötigt. Das Programm "expandiert" allerdings, sobald Sie den Primärbereich festgelegt und eine Primzahlermittlung gestartet haben. Wenn Sie mit dem Sekundär-Bereich, der ja bei dieser Software bis 4 Trillionen (4 x 10^18) reicht, arbeiten, wird der Speicherbedarf max. um ca. 35 MB höher. 

Statt die Primzahlen nicht jedes mal neu zu ermitteln, speichern Sie diese einfach auf Ihrer Platte im gleichen Verzeichnis, indem sich diese Primzahlen-Software befindet.  

Im Haupt-Menu des Cockpits sehen Sie die Speicher- und die Lademöglichkeit. Die Software schlägt Ihnen einen Dateinamen vor, falls sie erkennt, dass der Bestand, den Sie speichern für die Automatik brauchbar ist. Für andere Zwecke können Sie aber jeden beliebigen Namen nehmen und auch jedes Verzeichnis Ihrer Platte einstellen.
"Brauchbar" für die Automatik ist jeder Bereich, der mit einer Ziffer startet und ansonsten nur noch Nullen hat.
Der vorgeschlagene Name für einen Bereich von 2 Mrd. lautet:
P092.BLK
Das heißt nichts anderes als 09 Nullen mit vorangestellter 2.

Wundern Sie sich bitte nicht über die Speicher- und Ladegeschwindigkeit, denn die Bits werden nicht einzeln auf die Platte geschrieben ;-)

Funktionsweise der Automatik

Nachdem Sie den Primärbereich festgelegt haben und den Automatik-Button geklickt haben, wird nach einem "passenden" Primzahlenblock im Installationsverzeichnis gesucht.

Beispiel: Sie hatten noch etwas Platz auf Ihrer Platte und haben einen einzigen Primzahlenblock für den Bereich bis 100.000.000 (100 Millionen) gespeichert. Dieser hat den Dateinamen: P081.BLK und belegt ca. 3,2 MB (Zur Erinnerung: 8 Nullen mit vorangestellter 1)

Wenn Sie Ihr Cockpit nun starten und entscheiden sich aus welchen Gründen auch immer, den Primärbereich auf 55.333.200 zu stellen und wählen die Automatik, so wird ein passender Primzahlenblock "automatisch" gefunden und geladen. Das dauert Bruchteile von Sekunden.

Geben Sie als Primärgrenze allerdings 120.000.000 ein, wird der Kiebart-Kamm gestartet und sie müssen warten... bis die Primzahlen ermittelt sind. Bei 1,5 GHz   3 - 4 Sekunden. 

Empfehlung:

Legen Sie sich einen sehr großen Primzahlenblock mit der Grenze von mindestens 2 Mrd. an. Der passt meistens...  ;-)