WikiDer > Fermat.-Prime-Test
Das Fermat-Prime-Test ist ein Wahrscheinlichkeitsrechnung Methode zum Testen, ob eine Zahl wahrscheinlich eine Primzahl ist.
Theorie
Der Test basiert auf der Der kleine Satz von Fermat, die lautet: Für a Primzahl und gilt:
Um zu testen, ob eine Zahl ist prim, man wählt zufällig Zahlen und prüfen Sie, ob die oben Gleichwertigkeit gilt. Die Äquivalenz gilt für alle Primzahlen, also wenn sie nicht für einen bestimmten Wert von gilt , ist zusammengesetzt. Wenn es viele Werte von gibt sind, für die die Äquivalenz Gut trifft zu, das kann man sagen wahrscheinlich prim oder a Pseudoprime (eine zusammengesetzte Zahl, die Eigenschaften hat, die alle Primzahlen haben).
Schon seit zufällig gewählt wird, kann es sein, dass für Nicht ein einziger gewählt die Äquivalenz gilt nicht. Ist eine zusammengesetzte Zahl, dann jedes wofür:
ein Fermat Lügner erwähnt. Wählen die Leute? so dass:
dann wird ein Fermat-Zeuge erwähnt aus der Tatsache, dass zusammengesetzt ist.
Beispiel
Angenommen, wir wollen feststellen, ob nein = 221 ist prim. Wählen Sie ein beliebiges 1 ein < 221 von ein = 38. Äquivalenz oben prüfen:
Entweder ist 221 eine Primzahl oder 38 ist ein Fermat-Lügner; Deshalb haben wir uns für einen anderen entschieden ein ab 26:
221 ist also komponiert und 38 war tatsächlich ein Fermat-Lügner.
Algorithmus
Es Algorithmus kann in Pseudocode wie folgt erstellt werden:
Eingang: n > 1, von denen geprüft werden muss, ob sie prim ist oder nicht; k, eine ganze Zahl, die die Genauigkeit des Tests bestimmtExport: zusammengesetzt wenn nein ist zusammengesetzt, ist anders möglicherweise Ahle. wiederholen k mal: nimm was ein aus (1, nein−1] als gcd(ein,nein) 1, dann Ausgabe zusammengesetzt wenn einnein−11 (mod nein), dann Ausgabe zusammengesetztAusgabe möglicherweise Ahle.
Lücken im Test
Der Pannentest von Fermat ist nicht narrensicher. Ein wichtiges Problem für den Test ist eine besondere Art von zusammengesetzten Zahlen, die Carmichael-Zahlen. Das sind die zusammengesetzten Zahlen c mit der Eigenschaft, dass c eine Pseudoprimzahl (einc−1 ≡ 1 (mod c) ) ist für jeden ein mit gcd(ein,c) = 1. Auch jede Multiplikation von c ist selbst eine Pseudoprimzahl. Es gibt unendlich viele ursprüngliche Carmichael-Zahlen.[1]
Richtigkeit
Wann nein eine zusammengesetzte Zahl ist, die keine Carmichael-Zahl ist, dann mindestens die Hälfte aller
Zeugen von Fermat. Dies kann wie folgt bewiesen werden: let {ein1, ein2, ..., einich} die Fermat-Lügner sind und ein ein Fermat-Zeuge. Dann gilt für ich = 1,2,...,ich Welche:
Also jeder einich gibt eine Zahl an ein·einich, die auch ein Fermat-Zeuge ist, dh jeder Fermat-Lügner gibt einen Fermat-Zeugen ab, und daher ist die Anzahl der Fermat-Zeugen größer oder gleich der Anzahl der Fermat-Lügner. Daraus folgt, wenn nein zusammengesetzt und keine Carmichael-Zahl ist, dann mindestens die Hälfte aller ein Zeugen von Fermat.
Externer Link
Verweise
- ↑W. R. Alford, A. Granville und C. Pomerance. "Es gibt unendlich viele Carmichael-Zahlen." Annals of Mathematics 139 (1994) 703-722. (und)
Quellen, Anmerkungen und/oder Verweise
|