Shanks másodfokú forma módszer

A Shanks kvadratikus alakmódszer  egy négyzetes alakok használatán alapuló egész számok faktorizációs módszere , amelyet Daniel Shanks [1] dolgozott ki 1975 -ben a Fermat-féle faktorizációs módszer továbbfejlesztéseként .

A 32 bites számítógépek esetében az ezen a módszeren alapuló algoritmusok vitathatatlanul vezető szerepet töltenek be a től ig terjedő számok faktorizációs algoritmusai között , és valószínűleg azok is maradnak. [2] Ez az algoritmus szinte bármilyen 18 jegyű összetett számot képes felosztani kevesebb mint egy ezredmásodperc alatt. Az algoritmus rendkívül egyszerű, gyönyörű és hatékony. Ezenkívül az ezen az algoritmuson alapuló módszereket segédeszközként használják nagy számok osztóinak, például Fermat-számoknak a kiterjesztésében .

Történelem

Az algoritmus másik neve SQUFOF ( az angol mozaikszó : SQUARE FORm Factorization), ami négyzetes alakfaktorizációt jelent . Ez a megközelítés az évek során meglehetősen sikeresnek bizonyult, és ennek eredményeként a szakirodalomban számos különféle módosítás és megvalósítás található ebben a témában. [3] A legtöbb módszer bonyolult és zavaros, különösen akkor, ha a módszert számítógépen kell megvalósítani. Ennek eredményeként az algoritmusok számos változata nem alkalmas a megvalósításra. 1975-ben azonban Daniel Shanks egy olyan algoritmus létrehozását javasolta, amely nemcsak számítógépen, hanem egyszerű mobiltelefonon is megvalósítható és használható.

Bár Shanks más algoritmusokat is leírt az egész számok faktorizálására, nem tett közzé semmit az SQUFOF-on. A témában előadásokat tartott, módszerének alapvető lényegét egy meglehetősen szűk körben ismertette. Más tudósok egyes tanulmányai [4] [3] [5] [6] tárgyalták az algoritmust, de egyik sem tartalmaz részletes elemzést. Az is érdekes, hogy módszerében Shanks elég sok feltételezést fogalmaz meg [7] , amelyek sajnos bizonyítás nélkül maradtak. A [8] -ban néhány kísérlet eredményét mutatják be, amelyek arra utalnak, hogy sok feltételezés áll fenn. Végül ezekre az egyszerűsítő feltételezésekre alapozva Shanks létrehozta a SQUFOF-ot.

Segéddefiníciók

Ahhoz, hogy megértsük, hogyan valósul meg ez az algoritmus, ismerni kell a minimális információt az ebben a módszerben használt matematikai objektumokról, nevezetesen a másodfokú formákról . A bináris másodfokú forma egy polinom két változóból és :


A Shanks metódus csak határozatlan formákat használ . A másodfokú forma diszkriminánsát értjük. Azt mondjuk, hogy a másodfokú alak egész számot jelent, ha vannak olyan egészek, amelyekre az egyenlőség igaz: . Ha az egyenlőség igaz , akkor a reprezentációt primitívnek nevezzük .

Bármilyen határozatlan négyzetes alak esetében a redukciós operátor a következőképpen definiálható :

, ahol  egész számként van definiálva, amelyet a feltételek egyedileg határoznak meg: [8]

Ha az operátort egyszer alkalmazzuk az űrlapra , az eredményt a következőképpen írjuk le . Az operátor a következőképpen is meghatározható :

, ahol ugyanúgy definiálható, mint az előző esetben. Vegyük észre, hogy az operátorok és másodfokú alakzat diszkriminancia alkalmazása eredményeként a kapott másodfokú alakoknak is lesz diszkriminánsa .

Az ezzel egyenértékű redukált forma előállításának módszerét Carl Gauss találta meg, és a redukciós operátor egymás utáni alkalmazásából áll, amíg redukálódik.

Tétel.

Mindegyik alak egyenértékű valamilyen redukált formával, és bármely redukált alakja egyenlő valamilyen pozitív formával . Ha - csökken, akkor az is csökken.

Ezenkívül a másodfokú alakokkal végzett műveletek világos megértéséhez szükségünk van a négyzet, a szomszédos és a kétértelmű másodfokú formák fogalmára.

Opciók

A Shanks módszer ötlete az, hogy összehasonlítja a felbontandó számot egy másodfokú bináris formával egy diszkriminánssal , amellyel egy sor ekvivalens transzformációt hajtanak végre, és az átmenetet a formából a kétértelmű formába . Akkor egy osztó lesz .

Az első változat egy adott negatív diszkrimináns pozitív-definit bináris másodfokú alakjaival dolgozik, az alakosztálycsoportban pedig egy ambig alakot talál , ami a diszkrimináns faktorizációját adja. Az első lehetőség összetettsége a kiterjesztett Riemann-hipotézis igazságától függ . [9]

A második változat a SQUFOF, amely bináris másodfokú formák osztálycsoportját használja pozitív diszkriminánssal. Megtalálja az ambig formát és faktorizálja a diszkriminánst. A SQUFOF összetettsége aritmetikai műveletek; az algoritmus legfeljebb . Az exponenciális összetettségű faktorizációs algoritmusok közül az SQUFOF tekinthető az egyik leghatékonyabbnak. [9]

Konvergencia pontszám

A Shanks által végzett számítások szerint az algoritmus első és második ciklusának iterációinak számát a szám tényezőinek száma határozza meg, és megközelítőleg egyenlő:

ahol egy konstans körülbelül 2,4 az első iterációs ciklusban. [tíz]

Az algoritmus leírása

Részletesebben az algoritmus a következőképpen írható fel: [11]

Bemenet: Páratlan összetett szám a faktorizáláshoz. Ha a Most -ra cseréljük Az utolsó tulajdonság szükséges ahhoz, hogy a másodfokú forma determinánsa fundamentális legyen, ami biztosítja a módszer konvergenciáját.

Kimenet: Nem triviális osztó .

1. Határozza meg az eredeti másodfokú alakot diszkriminánssal , ahol . 2. Végezzük el a kicsinyítési ciklust, amíg az alakzat négyzet alakú lesz. 3. Számítsa ki a négyzetgyökét! 4. Végezzük el a csökkentési ciklust addig, amíg a második együttható értéke stabilizálódik . A ciklus iterációinak számának körülbelül fele kell lennie az első ciklus iterációinak számának. Az utolsó érték adja a szám osztóját (esetleg triviális).

Az algoritmus megvalósítása

Most leírjuk a számítógépen való megvalósítás algoritmusát. [11] Megjegyzendő, hogy bár az algoritmus elméleti része másodfokú formák ekvivalens transzformációira vonatkozik, az algoritmus gyakorlati része a folytonos tört módszer együtthatóinak kiszámításán alapul, az alakok igénybevétele nélkül. A ciklus minden iterációja megfelel a redukciós operátor megfelelő űrlapra történő alkalmazásának egy műveletének. Ha szükséges, visszaállíthatja a megfelelő űrlapokat a képletekkel:


Bevitel: Összetett szám

Kimenet: Nem triviális osztó

Mint már említettük, ennek az algoritmusnak nem ez az egyetlen megvalósítása. Az algoritmus megvalósítását itt is megtalálod [8]

Példa egy szám faktorizálására

Ezt a módszert alkalmazzuk a szám faktorizálására [8]

Ciklus #1
Ciklus #2

Most a második ciklusban láthatja, hogy Innen a szám

Alkalmazások

Ezt az algoritmust az NFS és QS számos megvalósításában használják a kis segédszámok faktorizálására, amelyek nagy egész számok faktorálásakor keletkeznek. Mindenesetre az SQUFOF-ot főként segédalgoritmusként használják erősebb faktorizációs algoritmusokban, ezért az SQUFOF-ot általában olyan szerény méretű számok faktorizálására használják, amelyek nem rendelkeznek kis prímosztókkal. Az ilyen számok általában kis számú különböző prímszám szorzata. [8] .

Jegyzetek

  1. A módszer történetéről és a folyamatos tört módszerrel való kapcsolatáról bővebben Gover és Wagstaff (J. Gover, SS Wagstaff) cikkében olvashat.
  2. Yike Guo, 1999 , Nagy teljesítményű adatbányászat: skálázási algoritmusok, alkalmazások és rendszerek.
  3. 1 2 Hans Riesel, 1994 , Prímszámok és számítógépes módszerek a faktorizáláshoz. Birkhauser, második kiadás.
  4. Henri Cohen, 1996 , Számítási algebrai számelmélet tanfolyam.
  5. D.A. Buell, 1989 , Binary Quadratic Forms.
  6. Samuel S. Wagstaff Jr., 2003 , Számelméleti rejtjelek kriptanalízise.
  7. Például a SQUARE FORM FACTORIZATION-ban JASON E. GOWER ÉS SAMUEL S. WAGSTAFF, JR. 4.12. feltételezés. a 20. oldalon, a 4.5. feltevést a 16. oldalon, az algoritmus bonyolultsági tételeinek bizonyításakor is stb.
  8. 1 2 3 4 5 SZÖVEG FORMA TÉNYEZÉS, 2003 , SZÖVEG FORMA TÉNYEZÉS.
  9. 1 2 Vasilenko, 2003 , Számelméleti algoritmusok a kriptográfiában.
  10. Ishmukhametov, 2011 , Faktorizációs módszerek természetes számokhoz: Tankönyv.
  11. 1 2 Ishmukhametov, 2011 , Faktorizációs módszerek természetes számokhoz: Tankönyv 79-80.

Irodalom

Lásd még