メルセンヌ素数を判定する「Prime95 v26.5」

Prime95 v26.5

素数を覚えているでしょうか?小中学生の頃にやって、高校でも触れた気がするけど、社会に出たらそんな言葉使わないっていう方もいるんじゃないでしょうか。意外と知られていませんが、暗号化技術などの形で私たちの身の回りで素数は活躍しています。そんな素数のうち、「メルセンヌ素数」を判定してくれるソフト、「Prime95 v26.5」を紹介しましょう。

そもそもメルセンヌ素数ってなんでしょうか?素数というのは「1と自分自身以外で割り切ることのできない数字」と若かりし頃に習ったと思います。

素数は小さい方から数えていくと以下のように

2, 3, 5, 7, 11, …

となります。そのうち素数pに対して2p-1が素数になるようなものをメルセンヌ素数と呼んでいます。

2や3や7、そして31などがその例です。昔はすべての素数pで素数になると信じられていましたが、
p=11の時は211-1=2047=23×89となるので、素数ではありません。

このように2p-1は必ずしも素数にはならないですが、もしかしたら素数になるような大きなpが存在するかもしれません。計算機の技術が発達していなかった時代は

p = 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127

で2p-1が素数になることが判明していましたが、これより大きい数で素数になるかどうかについてはわかりませんでした。

現在では技術が進み、pが8桁に達する数字までメルセンヌ素数の発見が報告されています。

このソフトはLucas-Lehmer テストを用いて素数の判定を行い、メルセンヌ素数となるようなpを見つけることを目標としています。

もし誰も見つけていないメルセンヌ素数を見つけることが出来れば、大発見です。

歴史的な経緯はこのくらいにして、実際にPrime95を動かしてみましょう。

ソフトを起動すると、分散コンピューティングのグループGIMPS(Great Internet Mersenne Prime Search)に勧誘されます。ともにメルセンヌ数を求めたいならば、加入してはいかがでしょうか。

試しに使いたい場合は加入しないでも大丈夫です。

デフォルトの設定で起動しました。初回起動時に設定画面が出ますが、そのままの入力で結構です。素数判定は4コアのCPUの場合4つの候補を並列して計算することができるようにデザインされています。

タスクを与えましょう。

AdvancedからTest…を選択します。

Worker numberはタスクを与えるCPU番号。4コアCPUなら1~4までを指定できます。Exponent testがメルセンヌ素数を判定するために入力する数字です。2p-1のpにあたります。

2p-1が素数ならpも素数という定理から、pには必ず素数を入力しなければいけません

OKを押せばあとは計算機が答えを返すのを待つだけです。

素数であることが分かっている、p=1398269 (420921桁の整数)の素数判定をしてみました。実行過程は省略していますが、25分ほどで計算が終わりましたね。

AdvancedのTime…から実行時間の試算もできます。1スレッドで計算すると25分かかる試算でした。あってますね。

もしもメルセンヌ素数に興味を持って、誰も見つけてない素数を見つけてやるぞ!って思ったのならば、是非ダウンロードして試してみてくださいね。

メルセンヌ素数を判定する「Prime95 v26.5」
ダウンロード:Prime95 v26.5
対応OS: Windows 7/Vista/XP/ME/2000/NT/98/95, Windows Server 2003

Reaction on Twitter

  1. @134gunso より:

    このソフトウエアは強制的にCPUに負荷をかけてPCの体調?を知る事が出来る。Tortureモードの拷問に耐え抜けば仕事でも安心して使用出来るかぬぁ(´ω`) – メルセンヌ素数を判定する「Prime95 v26.5」 http://t.co/mvDoNKkd