Williamsin menetelmä on Hugh Williamsin vuonna 1982 kehittämä menetelmä lukujen laskemiseen Lucas - lukusarjoja käyttäen . Algoritmi löytää luvun alkujakajan . Samanlainen kuin Pollardin -menetelmä , mutta käyttää luvun tekijöitä . Sillä on hyvät suorituskykyindikaattorit vain siinä tapauksessa, että se on helppo jakaa. Käytännössä sitä ei yleensä oteta usein käyttöön tällaisten tapausten alhaisen prosenttiosuuden vuoksi [1] .
Lisälaskelmia varten meidän on esitettävä Lucas-lukujonoja ja lueteltava joitakin niiden ominaisuuksia.
Olkoon ja joitain kiinteitä kokonaislukuja. Lucas- numerosarjat määritellään [1] :
Anna myös
Sekvensseillä on seuraavat ominaisuudet:
Todistaaksesi nämä ominaisuudet, harkitse eksplisiittisiä kaavoja Lucas-lukujen sarjalle :
ja
missä ja ovat ominaispolynomin juuret
Käyttämällä eksplisiittisiä kaavoja ja Vietten lausetta :
saamme ilmaisuja ja
Seuraavaksi korostamme vielä yhtä ominaisuutta:
Jos GCD ja sitten: ja mistä
Ja lopuksi muotoilemme lauseen:
Jos p on pariton alkuluku ja Legendre-symboli on , niin:Tämän lauseen todistaminen on työlästä, ja se löytyy D. G. Lemerin kirjasta [2] .
Antaa olla kertoimien luvun alkujakaja , ja laajennus suoritetaan:
missä ovat alkuluvut.
Päästää
Esitetään luku , jossa asteet valitaan siten, että
Sitten [1]
Lisäksi lauseen mukaan jos gcd niin
Ja siksi GCD , eli halutun luvun [1] jakaja löytyy .
On syytä huomata, että numerot eivät ole tiedossa ongelman alkuvaiheessa. Siksi tehtävän yksinkertaistamiseksi teemme seuraavaa: siitä lähtien ominaisuudella (2) Seuraavaksi käytämme ominaisuutta (6) ja saamme:
Näin ollen yleisyyttä menettämättä voimme väittää, että [1]
Seuraavaksi käytämme lausetta , josta päättelemme sen
Ja siksi [1]
Valitse nyt jokin numero , kuten gcd
Nimeämme:
Lopuksi sinun on löydettävä GCD [1]
Tee haku seuraavasti [1] :
1) hajoaa binäärimuotoon: missä .
2) otamme käyttöön luonnollisten lukujen sarjan . Samaan aikaan ;
3) etsimme arvopareja seuraavan säännön mukaisesti:
jossa4) arvoja etsitään sääntöjen mukaan (jotka seuraavat Lucas -lukujonon ominaisuuksista ja määrittelystä ):
.Oletusarvoille, eli saamme tuloksen:
374468Tarkastetaan tämä arvo. Tätä varten harkitsemme GCD GCD :tä ja .
Jos valitsimme epäonnistuneesti numerot ensimmäisessä vaiheessa , eli kävi ilmi, että GCD , meidän on edettävä toiseen vaiheeseen. Muuten työ on valmis [1] .
Olkoon luvulla jokin alkujakaja , joka on suurempi kuin mutta pienempi kuin jotkut , eli:
, missäSyötä alkulukujen sarja .
Esittelemme toisen sarjan:
Seuraavaksi määrittelemme:
.Ominaisuutta käyttämällä saamme ensimmäiset elementit:
.Seuraavaksi käytämme omaisuutta ja saamme:
.Näin laskemme
Seuraavaksi harkitsemme:
GCD vartenHeti kun saamme , lopetamme laskelmat [1] .
Oletusarvoille, eli saamme tuloksen:
139,mikä on oikea vastaus.
Tämän menetelmän kirjoittaja suoritti testejä ja menetelmiä AMDAHL 470-V7 -koneella 497 eri numerolla, jotka osoittivat, että keskimäärin algoritmin ensimmäinen vaihe on noin 2 kertaa hitaampi kuin algoritmin ensimmäinen vaihe , ja toinen askel on noin 4 kertaa hitaampi [1] .
Koska faktorointimenetelmä on nopeampi, -menetelmää käytetään harvoin käytännössä [1] .
Tällä hetkellä (14.12.2013) menetelmällä löydetyt kolme suurinta alkujakajaa [3] koostuvat 60, 55 ja 53 desimaaliluvusta.
Numeroiden määrä | s | Numeronjakaja | Löytäjä (kenenkä) | Löyty (milloin) | B | B2 |
---|---|---|---|---|---|---|
60 | 725516237739635905037132916171116034279215026146021770250523 | A. Kruppa
P. Montgomery |
31.10.2007 | |||
55 | 1273305908528677655311178780176836847652381142062038547 | P. Leyland | 16.5.2011 | |||
53 | 60120920503954047277077441080303862302926649855338567 | P. Leyland | 26.02.2011 |
Tässä on Lucasin numerosarjan 2366. jäsen.