Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Algorytm faktoryzacji rho Pollarda - Wikipedia, wolna encyklopedia

Algorytm faktoryzacji rho Pollarda

Z Wikipedii

Rho Pollarda to algorytm rozkładu liczb na czynniki pierwsze, opracowany przez Johna Pollarda w 1975 roku. Jest szczególnie efektywny przy rozkładaniu liczb mających niewielkie dzielniki. Dla liczb będących iloczynem dwóch liczb pierwszych tej samej długości, jego złożoność jest rzędu O(n1/4 polylog(n)).

Algorytm ten stał się sławny gdy użyto go do faktoryzacji ósmej liczby Fermata. Pełna faktoryzacja F8 zajęła 2 godziny pracy komputera UNIVAC 1110.

[edytuj] Idea

Algorytm wykorzystuje paradoks dnia urodzin, mówiący że aby znaleźć z prawdopodobieństwem większym niż 1/2 dwie liczby x i y przystające modulo p, wystarczy wylosować mniej więcej 1.177\sqrt{p} liczb. Jeśli p jest szukanym dzielnikiem n, to NWD\left( |x-y|,n \right) > 1, gdyż zarówno n jak i \left|x-y\right| dzielą się przez p. Wystarczy zatem losować kolejne liczby i sprawdzać czy któraś różnica ma nietrywialne wspólne dzielniki z n.

Zamiast zapamiętywać wszystkie wylosowane liczby i sprawdzać każdą parę, algorytm wykorzystuje metodę znajdowania cyklu funkcji. Wybierana jest jakaś pseudolosowa funkcja modulo n, jako generator dla dwóch sekwencji. Jedna sekwencja wykonuje dwie iteracje w czasie gdy druga wykonuje jedną. Niech x oznacza aktualną wartość w pierwszej sekwencji, a y w drugiej. W każdym kroku wyliczany jest NWD(|x-y|,n). Jeśli wynik jest w którymś momencie równy n, algorytm kończy się błędem (wtedy x = y, i dalsze działanie będzie już tylko powtarzaniem dotychczasowych obliczeń). Jeśli w którymkolwiek momencie wynik jest większy od 1 i mniejszy od n, jest on dzielnikiem n.

Jeśli patrzymy na sekwencję modulo szukany dzielnik p, jej wartości muszą w końcu utworzyć cykl, o długości rzędu O(p1/2). Diagram takiej sekwencji jest przedstawiony na rysunku – przypomina grecką literę ρ, stąd nazwa algorytmu.

[edytuj] Algorytm

Wejście: n, liczba którą próbujemy rozłożyć; f(x), pseudolosowa funkcja modulo n

Wyjście: nietrywialny czynnik n, albo błąd.

  1. x ← 2, y ← 2; d ← 1
  2. While d = 1:
    1. xf(x)
    2. yf(f(y))
    3. d ← NWD(|xy|, n)
    4. If 1 < d < n, then return d.
    5. If d = n, return failure.

Warto zauważyć że algorytm zawsze kończy się błędem dla n będącego liczbą pierwszą, ale może też zwrócić błąd dla n złożonego. Dlatego po błędzie można spróbować ponownie, z inną funkcją f(x).

Aby algorytm był efektywny, zwykle używa się szybko wyliczalnych funkcji f, np. wielomianów ze współczynnikami całkowitymi. Najczęściej mają one postać:

f(x)=x^2+c\hbox{ mod }n,\,c\neq0,-2.

[edytuj] Literatura

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com