Dixons algoritm är en faktoriseringsalgoritm som i grunden använder Legendres idé , som går ut på att hitta ett par heltal och så att och
Dixons metod är en generalisering av Fermats metod .
På 1920 -talet föreslog Maurice Krajczyk (1882-1957), som generaliserade Fermats teorem, att istället för att siffror skulle uppfylla ekvationen , leta efter siffror som uppfyller en mer allmän ekvation . Krajczyk märkte flera fakta användbara för att lösa. 1981 publicerade John Dickson en faktoriseringsmetod som han utvecklade med Kraitziks idéer och beräknade dess beräkningskomplexitet. [2]
Låt oss faktorisera antalet .
Alla hittade tal med motsvarande vektorer skrivs i tabellen.
337 | 23814 | ett | 5 | 0 | 2 | 0 | 0 |
430 | 5390 | ett | 0 | ett | 2 | ett | 0 |
519 | 96 | 5 | ett | 0 | 0 | 0 | 0 |
600 | 980 | 2 | 0 | ett | 2 | 0 | 0 |
670 | 125 | 0 | 0 | 3 | 0 | 0 | 0 |
817 | 39204 | 2 | fyra | 0 | 0 | 2 | 0 |
860 | 21560 | 3 | 0 | ett | 2 | ett | 0 |
När vi löser ett linjärt ekvationssystem får vi det . Sedan
Följaktligen,
.Det blev sönderfall
Beteckna med antalet heltal så att och är ett -jämnt tal, där . Från de Bruijn-Erdős sats , där . Detta innebär att varje -jämnt nummer i genomsnitt kommer att stöta på försök. För att kontrollera om ett tal är jämnt måste divisioner utföras . Enligt algoritmen är det nödvändigt att hitta ett -jämnt tal. Alltså den beräkningsmässiga komplexiteten i att hitta tal
.Beräkningskomplexitet för Gauss-metoden från ekvationer
.Därför är den totala komplexiteten i Dixons algoritm
.Med hänsyn till att antalet primtal är mindre än vad som uppskattas av formeln , och att vi efter förenkling får
.är vald på ett sådant sätt att den är minimal. Sedan ersätter vi, vi får
.Uppskattningen som gjorts av Pomeranz på grundval av en mer rigorös sats än de Bruijn-Erdös sats [6] ger , medan Dixons ursprungliga uppskattning av komplexitet ger .
Överväg ytterligare strategier som påskyndar driften av algoritmen.
LP-strategin (Large Prime Variation) använder stora primtal för att påskynda talgenereringsproceduren .
AlgoritmLåt numret som finns i punkt 4 inte vara jämnt. Då kan det representeras där inte är delbart med tal från faktorbasen. Det är uppenbart att . Om dessutom är s primtal och vi inkluderar det i faktorbasen. Detta gör att du kan hitta ytterligare -släta tal, men ökar antalet nödvändiga jämna tal med 1. För att återgå till den ursprungliga faktorbasen efter steg 5, gör följande. Om endast ett tal hittas, vars expansion ingår i udda grad, måste detta tal tas bort från listan och raderas från faktorbasen. Om det till exempel finns två sådana nummer och , måste de strykas över och numret läggas till . Indikatorn kommer att gå in i expansionen i en jämn grad och kommer att vara frånvarande i systemet med linjära ekvationer.
Variation av strategiDet är möjligt att använda LP-strategin med flera primtal som inte ingår i faktorbasen. I det här fallet används grafteori för att utesluta ytterligare primtal .
BeräkningskomplexitetDen teoretiska uppskattningen av komplexiteten hos algoritmen med hjälp av LP-strategin, gjord av Pomerants, skiljer sig inte från uppskattningen av den ursprungliga versionen av Dixon-algoritmen:
.EAS-strategin (early break) eliminerar några av övervägandena genom att inte slutföra jämnhetstestet .
Algoritmfasta väljs . I Dixons algoritm faktoriseras den genom försöksdivisioner med . I strategin väljs EAS och numret faktoriseras först genom försöksdivisioner med , och om efter sönderdelning den oupplösta delen förblir större än , så kasseras den givna.
Variation av strategiDet är möjligt att använda en EAS-strategi med flera pauser, det vill säga med en stigande sekvens och en fallande sekvens .
BeräkningskomplexitetDixons algoritm som använder EAS-strategin för uppskattas
.PS-strategin använder Pollard-Strassen-algoritmen , som för och hittar den lägsta primtalsdivisorn för antalet gcds i . [åtta]
AlgoritmFixed är valt . I Dixons algoritm faktoriseras den genom försöksdivisioner med . I PS-strategin, . Vi tror . Vi tillämpar Pollard-Strassen-algoritmen, väljer för den oupplösta delen, vi får expansionen .
BeräkningskomplexitetKomplexiteten i Dixons algoritm med strategi PS är minimal vid och är lika med
.