Bachsův algoritmus - Bachs algorithm - Wikipedia
Bachův algoritmus[1] je pravděpodobnostní polynomiální čas algoritmus pro generování náhodných čísel spolu s jejich faktorizace, pojmenoval podle jeho objevitele, Eric Bach. Je zajímavé, protože není znám žádný algoritmus, který by účinně faktoroval čísla, takže přímočará metoda, jmenovitě generování náhodného čísla a jeho faktorování, je nepraktická.
Algoritmus provádí v očekávání O (log n) testy primality.
Jednodušší, ale méně efektivní algoritmus (provedení, v očekávání, testy primality), je způsobeno Adam Kalai.[2]
Přehled
Bachův algoritmus vytváří číslo rovnoměrně náhodně v rozsahu (pro daný vstup ), spolu s jeho faktorizací. Dělá to výběrem a prvočíslo a exponent takhle , podle určité distribuce. Algoritmus poté rekurzivně vygeneruje číslo v dosahu , kde , spolu s faktorizací . Pak se nastaví a připojí se na faktorizaci vyrobit faktorizaci . To dává s logaritmickou distribucí v požadovaném rozsahu; odmítnutí vzorkování se pak používá k získání rovnoměrného rozdělení.
Reference
- ^ Bach, Eric (1988), "How to generate factorored random numbers", SIAM Journal on Computing, 17 (2): 179–193, doi:10.1137/0217012, PAN 0935336
- ^ Kalai, Adam (2003), "Snadné generování náhodných faktorizovaných čísel", Journal of Cryptology, 16 (4): 287–289, doi:10.1007 / s00145-003-0051-5, PAN 2002046
Další čtení
- Bach, Eric. Analytické metody v analýze a návrhu numericko-teoretických algoritmů„MIT Press, 1984. Kapitola 2,„ Generování náhodných faktorizací “, jejíž část je k dispozici online tady.
![]() | Tento algoritmy nebo datové struktury související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |