Adleman-Pomerans-Rumeli teszt

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. február 20-án felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .

Az Adlemann-Pomeranz-Rumeli teszt (vagy Adleman-Pomeranz - Rumeli teszt, APR teszt ) az eddigi leghatékonyabb , determinisztikus és feltétel nélküli primalitásteszt , amelyet 1983-ban fejlesztettek ki. Kutatói tiszteletére nevezték el - Leonard Adleman , Karl Pomerans és Robert Roumeli . Az algoritmus ciklomatikus mezőkben tartalmaz aritmetikát .

Ezt követően Henry Cohen és Hendrik Lenstra javította az algoritmust APR-CL- re , amelynek futásideje tetszőleges számra úgy számítható ki , hogy , ahol  valamilyen számított állandó.

Történelem

1980-ig az összes ismert primalitástesztelő algoritmus esetében, kivéve a valószínűségi és a nem bizonyított algoritmusokat, az algoritmus időbeli összetettsége exponenciális volt. 1983-ban azonban kifejlesztettek egy algoritmust, amely közel van a P - osztályhoz . Szigorúan véve az algoritmus nem tartozik ebbe az osztályba, azonban a lassan növekvő komplexitás lehetővé teszi az algoritmus gyakorlati alkalmazását.

Például egy szám esetén  - googolplex ,

A régi vicc így szól:
"Bizonyított , hogy a végtelenségig elmegy, de még soha senki nem látta, hogy megcsinálja."Ian Stewart

Kulcsfogalmak

Euklideszi prím

Legyen valamilyen véges prímkészlet . Ha valamelyik prímszámra teljesülnek a következő feltételek :

  1.  egy négyzet nélküli szám
  2. minden prímosztó a halmazhoz tartozik

ekkor euklideszi prímnek nevezzük a halmazhoz képest .

"Kezdő" prímek halmaza

Adott számhoz olyan halmazt készítünk , hogy az összes euklideszi prím szorzata ehhez a halmazhoz képest nagyobb legyen, mint . Válasszuk a lehető legkisebbet .

Ennek a halmaznak az elemeit "kezdeti" prímszámok halmazának nevezzük.

Indq ( x)

Mutassunk be néhány számot . Legyen  a primitív gyöke . Ekkor a következő feltételnek kell teljesülnie:

,

ahol .

Megjegyzés : Mivela legkisebb, nem negatív számot választjuk.

Jacobi sum

A Jacobi-összeg a következő formájú összeg:

,

ahol az összegzés az összes kosethalmazra vonatkozik -ben , kivéve azokat, amelyek egyenlőek .

Kulcslemmák

Az algoritmus helyességének bizonyítására használt fő lemmák [2] :


1. lemma.

A főideálok legfőbb ideáljai , amelyek a főideál felett állnak, a következők:

mindenkinek


2. lemma.

Legyen rend a csoportban . Vegyük . Valamint hol  van egy polinom az egyes . Feltételezzük, hogy az If ideál egy prímosztó , akkor a következőben:

és mindegyik osztható a hazugság valamilyen elsődleges ideáljával


3. lemma.

Vegyünk egymáshoz és egymáshoz viszonyított elemeket is .

 a Hilbert szimbólum .


4. lemma. Ha , akkor


5. lemma.

Mi olyat választunk . Tegyük fel: vagyis vagy .

Akkor


Lemma 6. [3] .

Mindenkinek


7. lemma.

Ha , akkor létezik olyan, hogy és

hol  van az inverz elem


Lemma (kivonatok).

Legyenek  ideálok úgy, hogy és legyenek konjugált elsődleges ideálok , amelyek rendre osztva. Legyenek ilyenek . Akkor mindenre igaz:

és ezért

Az algoritmus ötlete

Ha összetett szám, akkor van valami osztója . Az egyszerűség kedvéért ezt keressük .

Ha ismerjük az egyes párok értékeit , akkor a kínai maradéktétel segítségével megtalálhatjuk a . Mindegyik pár a következőképpen van kiválasztva: , és  egy prím euklideszi szám, amely relatíve olyan, hogy

Az algoritmus az összes lehetséges értéket felsorolja azon tény alapján, hogy csak egy ismert

Algoritmus

Bemenet: egész n > 1. A. Előkészületi lépés

1. Számítsa ki a legkisebb pozitív négyzetmentes számot úgy, hogy: .

Határozzuk meg a "kezdeti" prímszámok halmazát, amelyek osztói . Euklideszi prímnek nevezzük , ha a prím és

2. Ellenőrizzük, hogy osztható -e bármely "kezdő" vagy euklideszi prímszámmal. Ha van osztó, és nem egyenlő -val, akkor összetettnek nyilvánítjuk és megszakítjuk az algoritmust. Egyébként minden euklideszi prímhez kiszámítjuk a legkisebb pozitív primitív gyöket .

3. Minden "kezdeti" prímszámhoz olyan számokat találunk , amelyek:

,

,

Az elfogadásért .

4. Minden "kezdő" és euklideszi prímszámra úgy, hogy rögzítsünk egy prímideált :

,

ahol az egységhez tartozik és  ez az egység gyökere .

Számítsd ki a Jacobi-összeget!

ha ,

ha

B. Számítási lépés

1. Minden „kezdeti” prímszámhoz keresse meg a és a halmaz gcd - jét , ahol átfut az euklideszi prímek összes értékén, és , és a Gal összes értéken . Ezután vagy döntünk arról, hogy mi az összetett, vagy megépítjük a megfelelő ideált a ringben , és találunk olyan számokat és , hogy:

,

vagy valahol hol

2. Minden "kezdeti" prímszámnál a következőket tesszük: ha néhány esetén , akkor vegyük . Ebben a kulcsban számokat állítunk össze az összes számára , és úgy, hogy:

Ha mindenért , akkor elfogadjuk .

C. Konszolidációs lépés

Végezzük el az 1-4. lépést minden természetesnél

1. Mindegyikre a kínai maradéktétel alapján számítjuk ki a számokat :

mindenféle dologra . Tegyük fel azt is

2. Mindegyikhez kiszámoljuk a legkisebb egész számot, egy pozitív számot

3. A kínai maradéktétel segítségével számítsa ki a legkisebb pozitív számot úgy, hogy mindegyikhez!

4. Ha , akkor összetettnek nyilvánítjuk. Ellenkező esetben továbblépünk a következőre

5. Egyszerűnek nyilvánítjuk .

Nehézségi fok

Az algoritmus végrehajtási idejének becslése a következő tételekből következik [2] :

1. tétel.

Az értékek esetében a fenti algoritmus helyesen határozza meg, hogy időben prím vagy összetett . És a következő becslések érvényesek: egyszerűre

minden értéknél ahol  van egy pozitív, számított állandó. 2. tétel.

Vannak pozitív, kiszámítható állandók , amelyek mindenre vonatkoznak

Szoftver implementáció

Jegyzetek

  1. Stewart, 2015 .
  2. 1 2 Adleman, Pomerance, Rumely, 1983 .
  3. K. Iwasawa. Megjegyzés a jacobi összegről  //  Symposia Math. - 1975. - S. 447-459 .

Hivatkozások

  • Ian Stewart. A legnagyobb matematikai feladatok. — M. : Alpina non-fiction, 2015. — 460 p. - ISBN 978-5-91671-318-3 .
  • Leonard M. Adleman, Carl Pomerance és Robert S. Rumely. [1]  (angol)  = A prímszámok és az összetett számok megkülönböztetéséről. - 1983. - P. 7-25 .