web-dev-qa-db-ja.com

PythonのAKSプリムアルゴリズム

数年前、 PRIMESはPにある であることが証明されました。 Pythonで それらの素数性テスト を実装するアルゴリズムはありますか?ナイーブなジェネレーターでいくつかのベンチマークを実行して、それがどれほど速いかを自分で確かめたかったのです。私はそれを自分で実装しますが、それを実行するのに十分な論文をまだ理解していません。

35
Claudiu

クイックアンサー:いいえ、AKSテストは素数性をテストするための最速の方法ではありません。 はるかにより高速な素数性テストがあり、(一般化された)リーマン予想を仮定するか、ランダム化されます。 (例 Miller-Rabin は高速で実装が簡単です。)この論文の本当のブレークスルーは理論的であり、決定論的GRHまたは他の証明されていない予想を仮定せずに、素数性をテストするための多項式時間アルゴリズムが存在します。

そうは言っても、それを理解して実装したいのであれば、 Scott Aaronsonの短い記事 が役立つかもしれません。すべての詳細に入るわけではありませんが、12ページ中の10ページから始めることができます。 :-)ここにも 実装のリスト (主にC++)があります。

また、最適化と改善(数桁)については、 このレポート 、または(古い) Crandall and Papadopoulosのレポート 、または(古いまだ)を確認することをお勧めします。 ) ダニエルJバーンスタインのレポート 。それらのすべてには、実装に適したかなり詳細な擬似コードがあります。

53
ShreevatsaR