47*2^n+1 Searchに参加するには
最終更新日:2005-03-31
 必要なもの圧縮・解凍ツールテキストエディタ素数判定ツール) - まずメールを送る - 掲示板から探したい素数を選んで予約する - 掲示板から素数候補リストをダウンする - 素数候補リストを解凍する - 素数候補リストを編集する - 自分が予約した範囲だけの素数候補リストを保存する - 素数判定を開始する - 素数判定終了後、判定結果を圧縮する - 圧縮した判定結果をアップロードする

 今、47*2^n+1 Searchというプロジェクトが、日本で進行しています。
 47*2^n+1 Searchは、turboさん,noharaさんがメインとなって運営している、素数探索プロジェクトです。
 現在の記録は44万桁の素数を発見し、世界最大素数ランキングで21位。国内ランキングで2位です。(2005-03-31現在)

 このプロジェクトは、クライアントソフトを起動しているだけで参加できる分散コンピューティングプロジェクトではなく、

 という、手間がかかるものです。

 手間はかかるものの、自分が主体的に選んで行うプロジェクトならではの楽しさ・良さもあります。
 参加者は、本当に自分の選んだものを解析し、サーバが行うのではなく、自分で、他の参加者と協力・協調して、プロジェクトを進行させていきます。

 このページでは、47*2^n+1 Searchに参加する方法を解説しています。
 Windowsでの基本的な参加方法を手順を追って紹介するだけに留めた内容なので、もっと詳しく知りたい方は、47*2^n+1 Searchのページを見てくださいませ。


必要なもの
必要なソフトウェアは、主に3つに分けられます。  ブラウザ(Internet Explorer等)も必要ですが、このページを見れていることから、きっと大丈夫でしょう。

 では、1つ1つ解説していきます。


1.ダウンした素数候補リストを解凍するツール。解析終了した後、結果をアップするために圧縮するツール。 (+lhacaなど。)
 47*2^n+1の素数候補リストは、zip形式の圧縮ファイルでやりとりされています。
 zip形式のファイルを圧縮・解凍できる環境にしましょう。

 +Lhacaなどの圧縮・解凍ツールをインストールします。
 +Lhacaは、デスクトップに置かれたアイコンに、ファイルを持って行くだけで圧縮してくれます。

 WindowsXPでは、エクスプローラなどで普通のフォルダのようにzip形式のファイルを利用可能ですが、このままでは編集などができません。

 圧縮も右クリック→送る→圧縮(zip形式)フォルダで、圧縮することが出来るので、WinXPの基本機能だけでも、なんとか可能なようですが、このページでは+Lhacaを使っての解説を行っていきます。


2.解凍した素数候補リストから、自分が解析する部分だけのリストに書き換えるテキストエディタ (Windows付属のメモ帳,秀丸エディタ)
 Windows付属のメモ帳は、スタート→プログラム→アクセサリ→メモ帳で起動できます。

3.素数候補が素数であるかを判定するソフト (PRP,PRP3,LLRなど)
  ・SSE2対応マシンならPRP3
  ・SSE2非対応マシンなら、まだベータ版ですがLLR3.5
  ・従来通り(遅い)ものは、PRP

   ソフトの操作性などは、3つとも、すべて同じです。


まずメールを送る
 初めての場合、本人確認のために、運営されているturboさんまでメールを送ります。

 内容は、名前(ハンドルネーム)と連絡先(メールアドレス)だけだけの事務的なもので十分だそうです。

 turboさんのメールアドレスは、web上に掲載されています。


掲示板から探したい素数を選んで予約する
 素数探索連携掲示板から、まだ予約が完了していないスレッドを探して、「返信」をクリックして予約の書き込みをしましょう。

 書き込む内容は、自分が予約する範囲の値だけでOKです。
 ここでは、7*2^n+1の、n=1570000〜1575000を予約してみます。

 kは1000の意味です。
 1575kは、157万5000です。

 もちろんkなんて使わずに、1570000-1575000または1570001-1575000と書いてもいいです。
 きりの良い数字は、それを上限とする人が探索することになっていますので、正確な記載は、1570001-1575000ですね。


掲示板から素数候補リストをダウンする
銀色のクリップのようなアイコンを右クリックして、「対象をファイルに保存」しましょう。


素数候補リストを解凍する
 エクスプローラあるいはマイコンピュータなどから、素数候補リストを保存したフォルダに行き、素数候補リストを解凍します。

 +Lhacaをインストールして、関連づけも行っていたら、通常ダブルクリックで解凍できると思います。
 無理な場合は、圧縮された素数候補リスト(この場合は808.zip)を、+Lhacaのアイコンに、ドラッグ&ドロップしましょう。

 WindowsXPでは、+Lhacaをインストールしなくても、フォルダのように圧縮状態の素数候補リストを扱えると思います。

(その後のファイル編集などを考えると、+Lhacaをインストールした環境が最適なので、このページでは、今後+Lhacaなどで解凍した状態で解説していきます。)


素数候補リストを編集する
 解凍して出てきたファイルを見てみましょう。
 そのファイル(この例では7t_1550k1575k.txt)をダブルクリックすれば、メモ帳が開いて見ることができるはずです。
 リストを見ると、155万0000〜157万5000までの素数候補がすべて掲載されています。

 今回予約したのは、157万0000〜157万5000でした。

 不要な155万0000〜157万0000までを削除します。(きりの良い数字はそれを上限とする人が探索することになっています)

 しかし、1番最初の行(この例では20060192334976:P:0:2:257)は、そのまま残しておいてください。
 どんなタイプの計算を行うかの情報が記載されていて、これがないと、計算できません。

 155万0000〜157万0000までを削除して、自分が予約した範囲、157万0000〜157万5000までの素数候補リストが完成しました。

 今回は掲示板に掲載された範囲の最後までを予約しましたが、そうでない場合は、すでに誰かが予約した前の部分だけでなく、後ろの自分が予約しなかった部分も、リストから削除します。


自分が予約した範囲だけの素数候補リストを保存する
 完成した、自分が予約した範囲だけの素数候補リストを保存します。
 ファイル→名前を付けて保存で、保存してください。
 ファイル名は混乱防止のため、少し変えたほうがいいでしょう。(この例では7t_1570k1575kMyList.txtに変更)

 このファイルは、そのまま、素数判定ソフトに読み込ませます。
 そのため、素数判定ソフトのあるフォルダに保存しましょう。


素数判定を開始する
 素数であるかどうかを判定するソフトPRP3かPRPかLLRを起動します。

 起動したらTest→Input Dataで、Test Data窓を開きます。

 Input file(from NewPGEN)には、先ほど作成した自分が予約した範囲だけの素数候補リストのファイル名(この例では、7t_1570k1575kMyList.txt)を入力。

 Output fileは、素数が見つかった時にのみ出力されます。
 何でも好きな名前のファイル名を入れましょう。

 Starting line numberは、何行目から解析を開始するかです。
 1行目からなので1のままです。

 これでOKをクリックすると、素数判定がスタートします。
 素数判定が進んでいると、PRP3,PRP,LLRのアイコンは、赤から緑に変わります。

 1つの素数候補を、素数かどうか判定するのに、数時間かかります。
 判定終了した結果は、PRP3,PRPでは、results.txtに。LLRではlresults.txtに記録されます。


素数判定終了後、判定結果を圧縮する
 素数判定が終了すると、素数判定中は緑だったPRP3,PRP,LLRのアイコンが、再び赤に戻ります。

 素数判定が終了したら、その結果を、掲示板にアップロードしますが、アップロードする前に、その判定結果を、圧縮して小さくします。

 面倒な場合・無理な場合はそのまま、results.txt(PRP3,PRPの場合)か、lresults.txt(LLRの場合)をアップロードして頂いてかまいません。(>>「判定結果をアップロードする」

 エクスプローラあるいはマイコンピュータなどから、素数判定ソフト(PRP3,PRP,LLRなど)のあるフォルダに行き、判定結果のファイルを圧縮します。

 判定結果のファイル(この場合はlresult.txt)を、+Lhacaのアイコンに、ドラッグ&ドロップします。

 これだけで通常は、圧縮されたファイルlresult.zipが、同じフォルダの中に作られます。

 WindowsXPでは、右クリック→送る→圧縮(zip形式)フォルダで、圧縮することも出来ます。

圧縮した判定結果をアップロードする
 またブラウザで素数探索連携掲示板にアクセスしましょう。

 以前、予約したスレッドを見つけて、「返信」をクリックして、再度書き込みます。

 判定結果ファイルを送信するために、「参照」をクリックして、「ファイルの選択」窓を呼び出し、圧縮した判定結果ファイルを選んでから、投稿してください。


 これで、素数探索の手順は一通り終了しました。

 PRP3,PRPの生成するresults.txt,LLRの生成するlresults.txtは、追記されていくので、続いてあるいは次に参加する際の混乱防止のために、リネームすることをお勧めします。


 転載・改変した上での転載及び公開等は、ご自由にお願いします。その際、出自を表示する必要はありません。

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

Top - わ た し の 素 数 - わ た し の 素 数 第二段階:計算候補をふるい落として高速化 - The Prime Pagesの歩き方 - 素数探索連携掲示板 - 分散コンピューティングの紹介 - GIMPS - 世界最大の素数を求め続ける
Mat (mat-t@mh1.117.ne.jp)