P+1-metoda Williams

Metoda Williams  este o metodă de factorizare a numerelor folosind secvențe de numere Lucas , dezvoltată de Hugh Williams în 1982. Algoritmul găsește un divizor prim al numărului . Similar cu metoda lui Pollard , dar folosește factorizarea unui număr . Are indicatori buni de performanță doar în cazul în care este ușor de factorizat. De regulă, acesta nu este adesea implementat în practică din cauza procentului scăzut de astfel de cazuri [1] .

secvențe de numere Lucas

Pentru calcule suplimentare, trebuie să introducem secvențe de numere Lucas și să enumerăm câteva dintre proprietățile lor.

Fie și să  fie niște numere întregi fixe. Secvențele de numere Lucas sunt definite ca [1] :

Lasa si

Secvențele au următoarele proprietăți:

Pentru a demonstra aceste proprietăți, luați în considerare formulele explicite pentru șirul numerelor Lucas :

și

unde și  sunt rădăcinile polinomului caracteristic

Folosind formule explicite și teorema lui Viette :

primim expresii și

În continuare, evidențiem încă o proprietate:

Dacă GCD și apoi: și de unde

Și, în final, formulăm teorema:

Dacă p este un număr prim impar și simbolul Legendre este , atunci:

Demonstrarea acestei teoreme este laborioasă și poate fi găsită în cartea lui D. G. Lemer [2] .

Primul pas al algoritmului

Fie  un divizor prim al unui număr factorizabil , iar expansiunea se realizează:

unde  sunt numere prime.

Lăsa

Să introducem un număr în care gradele sunt alese în așa fel încât

Apoi [1]

În plus, conform teoremei, dacă gcd atunci

Și, prin urmare, GCD , adică divizorul numărului dorit [1] se găsește .

Este de remarcat faptul că numerele nu sunt cunoscute în stadiul inițial al problemei. Prin urmare, pentru a simplifica sarcina, vom face următoarele: de atunci prin proprietatea (2) În continuare, folosim proprietatea (6) și obținem:

Astfel, fără pierderi de generalitate, putem afirma că [1]

În continuare, folosim teorema din care concluzionăm că

Și prin urmare [1]

Acum alegeți un număr astfel încât gcd

Noi desemnam:

În cele din urmă, trebuie să găsiți GCD [1]

Pentru a căuta , procedați după cum urmează [1] :

1) se descompune în formă binară: unde .

2) introducem o succesiune de numere naturale . În același timp ;

3) căutăm perechi de valori conform următoarei reguli:

în care

4) valorile sunt căutate conform regulilor (care decurg din proprietățile și definiția succesiunii de numere Lucas ):

.

Pentru valorile implicite, adică, obținem rezultatul:

374468

Să verificăm această valoare. Pentru a face acest lucru, luăm în considerare GCD GCD și .

Dacă am ales fără succes numere în primul pas , adică s-a dovedit că GCD , atunci trebuie să trecem la al doilea pas. În caz contrar, lucrarea este finalizată [1] .

Al doilea pas al algoritmului

Fie ca numărul să aibă un divizor prim mai mare decât unii, dar mai mic decât unii , adică:

, Unde

Introduceți o succesiune de numere prime .

Introducem o altă secvență:

În continuare, definim:

.

Folosind proprietatea , obținem primele elemente:

.

Apoi, folosim proprietatea și obținem:

.

Astfel calculăm

În continuare, luăm în considerare:

GCD pentru

Imediat ce ajungem la , oprim calculele [1] .

Pentru valorile implicite, adică, obținem rezultatul:

139,

care este răspunsul corect.

Comparația vitezei

Autorul acestei metode a efectuat teste și metode pe mașina AMDAHL 470-V7 pe 497 de numere diferite, ceea ce a arătat că, în medie, primul pas al algoritmului este de aproximativ 2 ori mai lent decât primul pas al algoritmului , iar al doilea pasul este de aproximativ 4 ori mai lent [1] .

Aplicație

Datorită faptului că metoda de factorizare este mai rapidă, metoda - este rar folosită în practică [1] .

Înregistrări

În prezent (14 decembrie 2013), cei mai mari trei divizori primi [3] găsiți prin metodă constau din 60, 55 și 53 de cifre zecimale.

Numărul de cifre p Divizor de număr Găsit (de cine) Găsit (când) B B2
60 725516237739635905037132916171116034279215026146021770250523 A. Kruppa

P. Montgomery

31.10.2007
55 1273305908528677655311178780176836847652381142062038547 P. Leyland 16.05.2011
53 60120920503954047277077441080303862302926649855338567 P. Leyland 26.02.2011

Iată  al 2366-lea membru al secvenței de numere Lucas.

Note

  1. 1 2 3 4 5 6 7 8 9 10 11 12 Williams, 1982 .
  2. Lehmer, 1930 .
  3. Înregistrați factorii găsiți prin metoda p+1 . Data accesului: 13 decembrie 2013. Arhivat din original la 18 decembrie 2013.

Literatură

Link -uri