Dixon algoritmusa egy faktorizációs algoritmus, amely alapvetően Legendre ötletét használja, amely abból áll , hogy találunk egy pár egész számot , és
A Dixon-módszer a Fermat-módszer általánosítása .
Az 1920-as években Maurice Krajczyk (1882-1957) Fermat tételét általánosítva azt javasolta, hogy az egyenletet kielégítő számpárok helyett keressenek olyan számpárokat, amelyek kielégítik egy általánosabb egyenletet . Krajczyk több, a megoldáshoz hasznos tényt is észrevett. 1981-ben John Dickson közzétett egy faktorizációs módszert, amelyet Kraitzik ötletei alapján fejlesztett ki, és kiszámította a számítási bonyolultságát. [2]
Tényezőzzük a számot .
Az összes talált szám a megfelelő vektorokkal együtt be van írva a táblázatba.
337 | 23814 | egy | 5 | 0 | 2 | 0 | 0 |
430 | 5390 | egy | 0 | egy | 2 | egy | 0 |
519 | 96 | 5 | egy | 0 | 0 | 0 | 0 |
600 | 980 | 2 | 0 | egy | 2 | 0 | 0 |
670 | 125 | 0 | 0 | 3 | 0 | 0 | 0 |
817 | 39204 | 2 | négy | 0 | 0 | 2 | 0 |
860 | 21560 | 3 | 0 | egy | 2 | egy | 0 |
Lineáris egyenletrendszert megoldva azt kapjuk, hogy . Akkor
Következésképpen,
.Kiderült, bomlás
Jelölje az egész számok számát úgy, hogy és egy -sima szám, ahol . A de Bruijn-Erdős tételből , ahol . Ez azt jelenti, hogy minden -sima szám átlagosan próbálkozásból származik. Annak ellenőrzéséhez, hogy egy szám -sima-e, osztásokat kell végrehajtani . Az algoritmus szerint egy -sima számot kell találni. Tehát a számok megtalálásának számítási bonyolultsága
.A Gauss-módszer számítási összetettsége egyenletekből
.Ezért a Dixon-algoritmus teljes összetettsége
.Figyelembe véve, hogy a prímszámok száma kisebb a képlet által becsültnél , és egyszerűsítés után azt kapjuk, hogy
.úgy van megválasztva, hogy az minimális legyen. Aztán kicserélve kapjuk
.Pomeranz becslése a de Bruijn-Erdös tételnél szigorúbb tétel alapján [6] ad , míg Dixon eredeti komplexitásbecslése .
Fontolja meg a további stratégiákat, amelyek felgyorsítják az algoritmus működését.
Az LP (Large Prime Variation) stratégia nagy prímszámokat használ a számgenerálási eljárás felgyorsítására .
AlgoritmusLegyen a 4. pontban talált szám ne -sima. Ekkor ábrázolható ahol nem osztható számokkal a faktoralapból. Nyilvánvaló, hogy . Ha járulékosan , akkor s prím, és bevesszük a faktorbázisba. Ez lehetővé teszi további -sima számok megtalálását, de 1-gyel növeli a szükséges sima számok számát. Az 5. lépés után az eredeti faktoralaphoz való visszatéréshez tegye a következőket. Ha csak egy szám található, melynek bővítése páratlan mértékben szerepel, akkor ezt a számot törölni kell a listából és törölni kell a faktorbázisból. Ha például két ilyen szám van és , akkor ezeket át kell húzni, és a számot hozzá kell adni . A mutató egyenletes mértékben lép be a bővülésbe , és hiányzik a lineáris egyenletrendszerből.
A stratégia variációjaAz LP stratégia több, a faktorbázisban nem szereplő prímszámmal is használható. Ebben az esetben a gráfelméletet a további prímszámok kizárására használják .
Számítási összetettségAz LP stratégiát használó algoritmus bonyolultságának Pomerants által készített elméleti becslése nem tér el a Dixon algoritmus eredeti verziójának becslésétől:
.Az EAS (korai szünet) stratégia kiküszöböl néhány szempontot azáltal, hogy nem tölti ki a simasági tesztet .
Algoritmusfixeket választanak . A Dixon-algoritmusban próbaosztással faktorizálják a -val . A stratégiában az EAS-t választjuk , és a számot először próbaosztással faktorizáljuk -vel , és ha a felbontatlan rész nagyobb marad, mint , akkor az adott eldobásra kerül.
A stratégia variációjaLehetőség van több töréses EAS-stratégia használatára, azaz bizonyos növekvő és csökkenő sorozatokkal .
Számítási összetettségMegbecsülik a Dixon-féle algoritmust az EAS stratégiát használva
.A PS-stratégia a Pollard-Strassen algoritmust használja , amely megkeresi a gcd - k számának minimális prímosztóját . [nyolc]
AlgoritmusA Fix ki van választva . A Dixon-algoritmusban próbaosztással faktorizálják a -val . A PS stratégiában . hiszünk . Alkalmazzuk a Pollard-Strassen algoritmust, a fel nem bontott részre választva a kiterjesztést kapjuk .
Számítási összetettségA Dixon-algoritmus összetettsége PS stratégiával minimális és egyenlő
.