GIMPS  世界最大の素数を求め続ける分散コンピューティングプロジェクト

え、グラフィックツールじゃないのかって? あ、それはGIMPですね。

最終更新日:2006-01-06 

 ・GIMPS最近のあれこれ - GIMPSって何? - 「40番目の素数」 「40番目に見つかった素数」
 ・メルセンヌ素数って何? - 素数ってそもそも何? - どうやってメルセンヌ素数かそうでないか判定するの?
 ・具体的に、どんな感じで動くの? - GIMPSは、どのように動くか(How GIMPS works翻訳)
 ・対応OS - 賞金
 ・自分で計算する素数の値を選びたい - 今はどこまで進んでいるの? - 今解析中のものが、いつ終わるか&素数である確率が知りたい - 自分が解析したって、どうやって判るの?
 ・日本語での報道

GIMPS最近のあれこれ
 ・915万2052桁の素数2^30402457-1の発見を正式発表し、素数世界最大記録を自ら更新。10万ドルの賞金のかかった1000万桁には及ばず。
  発見者は、中央ミズーリ州立大学(Central Missouri State University)の教授2名。7年前よりGIMPSに参加し、2003年に死去した同僚は、キャンパス規模での参加体制を整え、700台以上のPCを投入。(2005-12-28)

 ・最大素数世界新記録となる42番目のメルセンヌ素数2^25964951-1(781万6230桁)発見を発表
  発見者はドイツの眼科手術医Martin Nowak博士。P4-2.4GHzで50日以上計算しての発見。今回発見された素数はこちら(8MByte)で見れます。(2005-02-27)

 ・正式に、新しいメルセンヌ素数候補の真偽を検証中であることを表明。
  検証は今週末に完了予定。10万ドルの賞金のかかった1000万桁は超えられず。しかし証明されれば世界最大の素数記録を自ら更新(2005-02-23)

 ・2005年2月18日(現地時間)、42番目のメルセンヌ素数発見か。運営するPrime95氏は、発見を報告したクライアントソフトが、虚偽の報告を起こすハードウェアエラーへの対策が施されたversion23.4より以前のものであったことを発表。(2005-02-18)

 ・2004年5月28日(現地時間)、723万5733桁の41番目のメルセンヌ素数、2^24036583-1発見を正式発表。発見者はJosh Findley氏。この数が素数であるかの判定に、Pentium4-2.4GHzで2週間以上かけての発見。Josh氏はGIMPSに5年間以上参加。素数自体はZIP圧縮状態(3.34MByte)で配布(2004-05-29)

 ・2004年5月15日(現地時間)、41番目の素数候補発見。異なったソフトウェア・異なったコンピュータにより検証作業へ。検証には1ヶ月程かかる予定。メルセンヌフォーラムには発見者のポストによるスレッドが。この場でPrime95氏は、1000万桁には届かなかったことを表明。(2004-05-16)


 ・世界最大となる632万0430桁の40番目のメルセンヌ素数2^20996011-1(6.18MByteのテキスト)発表。発見者はMichael Shafer氏(26才 大学院生 ミシガン州立大学内のマシン)。GIMPSサーバ側のログはP4-1993MHzで19日間。2001年11月に発見した同GIMPSによる世界最大記録405万3946桁を自ら更新。ZDNetの報道CNETの報道(2003-12-03)

 ・Prime95(George Woltman)氏、メルセンヌフォーラムにて、現在検証中の40番目のメルセンヌ素数候補の証明完了を表明。素数であると判明。報道機関への発表調整中。48時間以内に指数を告知。(2003-12-02)

 ・GIMPS、世界最大素数の記録を更新する40番目のメルセンヌ素数発見。現在、実証中。証明は12月初旬に完了予定。GIMPS側は何桁なのかの表明は行っていませんが、フォーラムにおいては最近よくサーバ側に解析結果が戻ってきている指数から判断してか、20.4Mや、20.2M-20.6M(これらが指数を指すなら約610万桁)という予測も。(2003-11-18)


 ・Version21はmersenne.orgサーバとの接続に問題があると発表されました。Ver22以降へのバージョンアップをGIMPS側は要請しています。(2003-09-24) 》ダウンロード

 ・2003年6月に発見された40番目の素数候補は間違いでした
 2003年6月現在、新しい素数が発見されたとして、現在再確認中です。
 フォーラムでの情報によると、素数の最大記録を更新できるものの1000万桁には届いていないそうで、現在、異なったプログラム・異なったハードウェアによって、本当に素数であるか実証中です。
 検証は6月21日頃に終わる予定です。(2003-06-02)

 検証中に入力の合計と出力の合計が一致しない5つのエラーが発生。歴史的に最終調査結果が正しい確率は50%未満。本当に素数である可能性がまだあるかは金曜日(6/13)に判明。(2003-06-12)

 2003年6月14日(日本時間)、2つの独立した検証の結果、合成数と判明しました。7年間で初の虚偽報告です。CPU・メモリのエラーにより虚偽報告が起きる可能性を減らす方法を研究していると表明しました。(2003-06-14)


GIMPSって何?
 GIMPSは、Great Internet Mersenne Prime Searchの略でして、インターネットに繋がるみんなのパソコンを使わせてもらって、メルセンヌ素数というのを探しています。

 GIMPSは、2001年11月、世界最大の405万3946桁の素数の発見に成功しました。
 405万桁の素数はこちら(4MByte程)で見て頂けます。
   ・分散コンピューティングのGIMPSプロジェクトが405万桁の新素数を発見 (impressWatch 2001.12.10)
   ・分散コンピューティングで栄誉ある大発見を (ZDNet 2001.12.17)


メルセンヌ素数って何?
 2p-1(pは素数)の解が素数のものをメルセンヌ素数と言います。
 例えば31は、(2×2×2×2×2)−1 = 31つまりは、25-1で、指数pが5のメルセンヌ素数ですね。
 ・今までに判っているメルセンヌ素数全リスト
 ・メルセンヌ素数(外部リンク) - フーリエ変換を使った多倍長乗算や、GIMPSの計算能力規模に関する話題が。

   **このページでは、2P-1を、2^P-1と書くことがありますが、両者は同じ意味です。


素数ってそもそも何?
 1と、その数字以外の数では、割り切れない数のことです。
 あ、数といっても、自然数(正の整数)でして、小数点やマイナスの数字は使いませんよ。

 例えば、5とか7とか11とか31が素数ですね。
 逆に4(2×2)とか,10(2×5)とか,9(3×3)とかは割り切れるから、素数じゃないですね。
 ・最大素数Top20


どうやってメルセンヌ素数かそうでないか判定するの?
 Lucas-Lehmerテストというメルセンヌ素数判定法を使います。

 下記枠内、「Lucas-Lehmerテスト」の内容として記載していたものは、「Lucasの方法」であるとのご指摘を頂きました。(miyacchiさんご指摘ありがとうございます)
 自分が詳しく調べられることが出来たら、後々、詳細を記載し内容を改めたいと考えています。(2003-09-14)
   参考:巨大素数と計算機(数学と計算)
 2^p-1(pは素数)の値が素数のものを、先程も述べましたようにメルセンヌ素数と言います。

 Lucas-Lehmerテストは、最初必ず4から始まって、その次からは、4^2-2=14 → 14^2-2=194 → 194^2-2==37634....と、この計算をp-1回やるそうです。 ****(2)

 そして、その(2)の値をメルセンヌ素数で割ってみて割り切れたなら、それは素数と判明するのだそうです。

実際にやってみましょうか。
例 : 2^5-1=31
 メルセンヌ素数は31。 pは5ですね。 pは5ということはp-1回、つまり4回あの(2)の変な計算をやります。
  1回目:4
  2回目:4^2-2=14
  3回目:14^2-2=194
  4回目:194^2-2=37634
37634になりました。これがメルセンヌ素数31で割り切れれば素数であることが確定します。
  37634÷31=1214 余り0
はい。割り切れました。素数ですね。


対応OS
 Windows(3.1〜XP),Linux,FreeBSD,OS/2。
 Mac版,StrongARM版(PocketPCなど),UNIX機版の3つは、第三者の手により存在しているようです。
  GIMPS公式ダウンロードページ


具体的に、どんな感じで動くの?
 公式ページを、1ページ翻訳いたしました。こちらをご覧下さい。
  How GIMPS works - GIMPSは、どのように動くか

 特徴だけを述べますと、
 ・スペック的にはメモリ8MByte,ハードディスク10MByteを使います。
 ・かなりの時間、電源入れっぱなしのペンティアム・クラスのマシンが必要です。
  と言っても、40分強毎にセーブしている(環境によって異なるやも。当方は533MHz)ので、突然、停電になったとしても、最悪40分程をパーにするだけです。

 そして、行う作業は3タイプに分けられます。
 低スペックマシンに自動的に割り当てられる因数分解では、素数を発見することはできません。

 どれをやるかは、クライアントソフトが勝手にパソコンの速度をチェックして選択しますが、自分で、この3つの中からどれをやるか、決めることができます。

 Windows版を例に取りますと、Test→PrimeNetでConfigure PrimeNet窓が開きます。
Request whatever type of work makes the most sense(どんな作業でもいい)のチェックを外して、お望みの作業を選択して下さい。


賞金
 電子フロンティア財団(EFF)が、素数の発見に賞金をかけています
   1000万桁の素数で10万ドル
   1億桁の素数で15万ドル
   10億桁の素数で25万ドル
  参考記事:分散コンピューティングで素数探しコンテスト (WIRED 1999-03-31)

 100万桁の素数を発見すれば5万ドルという賞金もあったのですが、既に2000年4月、GIMPSによって獲得されています。 EFFのプレスリリース

 GIMPSのMonetary Awardsに、賞金の割り振りが記載されています。
 参加者に与えられる具体的な金額は、
 GIMPSにより新しいメルセンヌ素数を見つけた場合、最大5000ドル。

 GIMPSにより1000万桁の素数を見つけた場合は、
  合計最高10000ドルが数学的・アルゴリズム的に前進させた者に。
  最高20000ドルが経費や今後の賞のためGIMPS側に。
  25000ドルがGeorge Woltman(GIMPS代表)が選んだ慈善団体に。
  その残りが1000万桁の素数を見つけた人のものになります。

 ただし、1000万桁をテストするには、Pentium3-500MHzで丸々1年かかり成功確率は250000分の1だそうです。

 2003年12月28日現在では、1000万桁の素数を見つけた場合の賞金割り当てを、こう記載しています。
  ・ 5000ドルを405万3946桁、39番目のメルセンヌ素数発見者Michael Cameron氏に。
  ・ 5000ドルを632万0430桁、40番目のメルセンヌ素数発見者Michael Shafer氏に。
  ・ 数学的・アルゴリズム的に前進させた者には0ドル。
  ・ 15000ドルが今後の賞のためGIMPSに。
  ・ 25000ドルが慈善団体に。
  ・ その残り50000ドルが1000万桁の素数を発見した者に。


自分で計算する素数の値を選びたい
 Manual testingで、指数を選ぶだけでなく、予約することが可能です。
 解析する指数を選ぶには、ページに掲載されているTest=の行を、worktodo.iniに上書きするだけで良いようです。

 予約については、メールアドレスが記載されていますが、PrimeNet側では、電子メールでは予約その他はもう受け付けていないとのことです。
 当方もよく理解しておらず、詳細は後に調べたいです。


今はどこまで進んでいるの?
Statusで確認することができます。
 2004年5月20日時点で確認する限り、
  862万1800以下の全ての指数は、テスト・再チェック共に終了。
  1244万1900以下の全ての指数は、少なくとも1度はテストされました。


今解析中のものが、いつ終わるか&素数である確率が知りたい
Windows版を例にしますと、Test → Statusで見ることができます。

 上の例では、今解析中の指数18761593は、2004年1月5日午後2:44分に終了予定。
 この数が素数の確率は約160088分の1。


自分が解析したって、どうやって判るの?
Statusの下のほうに「The Mersenne Database」という項目があります。
 ここに解析結果とユーザー名が、テキストデータをZIP圧縮した形で掲載されています。
 ところが再チェックまで完了した分ftp://mersenne.org/gimps/lucas_v.zipしか掲載されていないようです。

 Internet PrimeNet Server Individual Account Reportにおいて、UserIDとPasswordを入力すれば現状の自分のIDについては確認ができます。

 また後に、更に調べて記載したいところです。


「40番目の素数」 「40番目に見つかった素数」
 現在判明しているメルセンヌ素数の一覧表を見てみましょう。
 38番目の次が??となっています。(2004年5月現在)

 何故こうなっているのかと言いますと、
 私たちは便宜上「405万桁の39番目のメルセンヌ素数2^13466917-1」「632万桁の40番目のメルセンヌ素数2^20996011-1」などと呼んでいます。

 しかし、「38番目の素数2^6972593-1」から「39番目の素数2^13466917-1」までの間に、素数が隠されていないか、今の時点では、全てをチェックし終えていません。

 もしかしたら「38番目の素数2^6972593-1」と「39番目の素数2^13466917-1」の間に、未知の素数が眠ったままかも知れません。

 そのため正確な表現では、「39番目に見つかったメルセンヌ素数」といった表現が現在の段階では正しいこととなります。


 GIMPSのStatusページには下記のような表示があります。
   Countdown to testing all exponents below M(13466917) once: 7
   Countdown to testing all exponents below M(20996011) once: 7,815
 これは、39番目の素数2^13466917-1あるいは40番目の素数2^20996011-1までの全ての指数を探索し終えるまで、後、どれだけの指数が残っているかを示しています。
 素数が見つからないままカウントダウンがゼロになれば、39番目の素数であることが確定します。
 39番目の素数は後7つで確定と、この時点で、もうすぐですね。

 GIMPSでは2回素数判定のテストを行うことで、正式な証明と考えています。
   Countdown to proving M(13466917) is the 39th Mersenne Prime: 45,793
   Countdown to proving M(20996011) is the 40th Mersenne Prime: 207,394
 これは、39番目の素数2^13466917-1あるいは40番目の素数2^20996011-1までの全ての指数を2回探索し終えるまでのカウントダウンです。


日本語での報道・その他

過去最大の素数を発見、915万桁 米研究者(CNN 2006-01-05)

最大のメルセンヌ素数を探し続けるグループ、記録を更新(CNET 2004-05-19) - 今後2〜4週間かけ別のテストで検証。

素数大百科(bk1)(共立出版 Chris K.Caldwell編著 SOJIN編訳) - 素数情報サイトThe Prime Pagesを編纂・翻訳。GIMPS直前からの巨大メルセンヌ素数発見の記録に一項目割き、詳細に記述。

数学セミナー(日本評論社)2004年2月号に、40番目に見つかったメルセンヌ素数の記事が1P。

最大素数は632万けた 米大学院生が発見(産経新聞 2003-12-11),(東亜日報) - 共に既に削除。共同通信配信の記事

630万けた以上の素数を発見(日刊スポーツ 2003-12-11)/既に削除。archive.orgに残る記録

過去最大の素数発見、20万台のPC結び分散計算(読売新聞 2003-12-04)/既に削除

「最大の素数」見つかる(ZDNet 2003-12-03)

史上最大のメルセンヌ素数、分散コンピューティングプロジェクトで発見 (CNET 2003-12-03)

分散コンピューティングで栄誉ある大発見を (ZDNet 2001-12-17)

分散コンピューティングのGIMPSプロジェクトが405万桁の新素数を発見 (impressWatch 2001-12-10)

過去最大の素数発見・13万人参加し検算 (日経新聞 2001-12-08 archive.orgの記録からも消滅)
  「405万ケタと従来の約2倍の巨大な数」とありますが、従来のが同GIMPSによる2^6972593-1(209万8960桁)だとすると、2倍という表現は...

分散コンピューティングで素数探しコンテスト (WIRED 1999-03-31)/既に削除。archive.orgに残る記録


おまけ
 GIMPSのフォーラムがあるサーバの404(Not Found)は、ちょっとユニークな画像に飛ぶ。これも普通の404not foundに。でもMersenne Forumsは、最近、Mersenne Wikiを立ち上げています。


 情報のご提供,このページに間違い等ありましたらMat(mat-t@mh1.117.ne.jp)掲示板までご指摘頂ければありがたいです。

Top - 各種分散コンピューティングプロジェクトの紹介 - わ た し の 素 数
Mat(mat-t@mh1.117.ne.jp) - このページの運営 及び 運営者について