掲示板 分散やccの話題他、ご自由にどうぞ
[トップに戻る] [留意事項] [ワード検索] [管理用]
書込みフォームへ

7*2^n+1 [47*2^n+1プロジェクトの今後 その2] 投稿者:nohara 投稿日:2004/08/20(Fri) 03:53 No.206  
47*2^n+1プロジェクトの今後の見通しなどについても
少し触れられているのですが、k=7での探索可能性について
少し言及されています。
k=7でのproth primeはkが小さい割りには指数nが小さい
値までしか調べられていません。しかし、探索範囲を
外れたとことで大きな素数が発見されています。

 現在、心当たりのあるところにメールなどを送って
探索状況を聞いているところです。
 
まず、7*2^n+1形式の素数についてですが、
k=7であるため、フェルマー数の約数となる確率が非常に高くなります。
素数候補の出現頻度はk=29の場合とほとんど同じで、
素数の出現頻度もn<350000の範囲で
k=7 31個 k=29 35個 とほとんど同じです。
素数を当てる確率がk=29とほとんど変わらないのであれば、
k=29はn=500kで打ち切って(あるいは細々と継続)、フェルマー数
の約数となる確率が高いk=7を将来的に優先させようか、という
考えを持っています。

k=7を最近まで探索されていたJay Berg氏から、n=720k-840k
の範囲でp=4.2T(!)までふるいにかけた結果をいただきました。
 Proth Searchページのステータスによれば、n=720k以上の場合、
840k-850kの範囲を除いてフリーになっています。

 ただし、k=7の場合、Samidoost氏とOdermatt氏によって、
n=811230とn=804534の素数がそれぞれ1個ずつ発見されています。
 とはいえ、それ以下のnが全て探索されているかといえば、
そうではない可能性が高い、と見ています。
 というのは、上記Samidoost氏はn=811230の素数を発見した
ちょうど1年後にn=804534の素数が発見されました。
 また、それより少しだけ早く、ずっと小さなn=561816の
素数が発見されています。つまり、彼らは飛び飛びの領域を
探索している可能性が高く、空白区間が間違いなく存在する
と見ています。

 私はn=720k-800kと820k-840kは恐らく誰も探索して
いない区間であると予想しています。一応Samidoost氏にも
メールを出していますが、まだ返事をいただいていません。
 Odermatt氏はメールアドレスを公開していないので、
聞けないのですが、恐らくn=800Kから探索していたのでは
無いかと思っています。
 また、PRP.exeはn=819kを超えた辺りで速度が落ちるので、
この辺りを上限に探索しているのでは無いか、という予想を
しています。
 k=7の場合は、一部他人が既に探索している区間を調査する
可能性がありますが、その上でもk=7も探索してみたい、
という要望があれば、先ずはJay Berg氏よりいただいたデータ
を素数探索連携掲示板にアップします。

 皆さんのご意見お願いいたします。



Re: 7*2^n+1 [47*2^n+1プロジェクトの今後 その2] turbo - 2004/08/20(Fri) 23:48 No.207   HomePage

断り書きを併記して UP してみてはいかがでしょうか。
その際、すでに素数と判明している n=811230, 804534 は探索候補から除外したほうがいいでしょう。

#ちなみに k=7 は n=1220k強にて FFT の大きさが切り替わります。



Re: 7*2^n+1 [47*2^n+1プロジェクトの今後 その2] nohara - 2004/08/21(Sat) 06:15 No.208  

turboさん

了解しました。まずは760kまでアップします。



Re: 7*2^n+1 [47*2^n+1プロジェクトの今後 その2] nohara - 2004/08/21(Sat) 23:01 No.210  

Noharaです

Samidoost氏より、k=7についての探索状況について
情報があったので追加します。
n=740k-750k
781k-790k
881k-890k
920k-935k
950k-963k
の各範囲は探索済みです。氏もまだ探索を継続している可能性が
あります。ただ、既にアップしたn<760kの範囲のうちであれば、
740-750kを予約範囲から除外されていれば結構です。
 来週には追加の情報が上げられるかと思います。



Re: 7*2^n+1 [47*2^n+1プロジェクトの今後 その2] nohara - 2004/08/24(Tue) 04:43 No.212  

Noharaです。

Samidoost氏より、探索範囲に関する詳細情報を頂きました。
また、もう一人の探索者であるOdermatt氏の探査情報も手に入れ
ることができました。
 n=720k-840kの範囲ではかなり虫食い状態で探索がされていました。
トータルではこの範囲内の約半数の候補が探索済みとなっています。
 そこで、720k-760kの範囲について、再度アップしなおします。
虫食いの空白部分の並べ直すのにやや手間が掛かりましたが、
n=720k-840kの範囲で最終的にテストすべき候補が得られました。
k=7系列での素数判定テストを実施されたい方はどうぞ。



47*2^n+1 プロジェクトの今後 投稿者:turbo 投稿日:2004/08/13(Fri) 00:23 No.189   HomePage
現在このような計画を考えています(まだ草案段階です)。
k=47 だけでなくいろいろな k を扱う予定です。

・探索範囲について
主に2〜3個の k を同時並行して探します。

(1) k=47 についてはふるいがけ後の候補数が少ないのでずっと探索を続ける。
(2) それだけだといつまでも素数が見つからない可能性もあるので並行して nohara さんによりふるいがけ中の k=29 を n=100万まで行う。
k=29 終了後は再び適当な k を選び同じように n=100万まで行う。k=15, 27 などもよさそうです。
PRP3 の判定時間は k にも依存するので k=7, 9 などを行う可能性もあります。
(PRP3 の登場により今後探索が加速されることが予想されます。今のうちに我々が k=7, 9 で n=100万まで予約してしまうという考えもあります。Fermat Divisor関連で世界ランキング上位に入れる可能性大です)
(3) 適当な k を選び比較的小さい n (688000まで?)の探索を行う。(2) の k=29 などについても小さい n はこの部類に入ります。

k=7, 9 も行う場合は k=7, 9, 29, 47 の4本立てになり、以下のように分類されます。
(1) k=47
(2) k=7, 9 および k=29 の n > 688000
(3) k=29 の n < 688000


・探索の分業について
高い効率を目指しますが、各パソコンや参加者にも配慮をします。

ふるいがけはできるだけ Athlon で行う。
低スペックのパソコンは小さめの n の PRP テストを行う(上記の(3)の範囲)。
高スペックのパソコン、特に PRP3 が動くマシンは大きめの n で行う(上記の(1),(2)の範囲)。
こうすることで素数を発見する可能性(個数の期待値)の格差を小さくしたいと思います。

こう書きましたが低スペックのパソコンで大きい n を判定するのは一向にかまいません。
2ヶ月以内に終わりそうにない場合は予約できる単位を小さくしたり期間を延長したりします。
逆はふるいがけが追いつかない可能性があるのでご遠慮いただくかもしれません。


・「素数を発見したら」の変更点
必ず "Mat's Prime Search" との共同名義で登録する。
turbo, nohara さんとの共同名義にするかどうかは選択できる。
また、登録はプロジェクトおよび "Mat's Prime Search" のアカウントの管理人である turbo が一括して行うようにする。


ご意見等ありましたらどうぞ。

#ふるいがけに時間が必要なのに加えて、ここ1ヶ月ほどは忙しいのでプロジェクトページに本格的に反映されるのはもう少し先になると思います。



Re: 47*2^n+1 プロジェクトの今後 nohara - 2004/08/13(Fri) 01:43 No.190  

こんにちは

私もturboさんの意見に沿って行なわれればよいかと思います。
ただ、k=7の場合はProth searchページに反映されている以外にも
かなり探索されている範囲がとびとびに存在しているようなので、
その情報を集めたいと思っています。

 k=47のn=100万以上やk=29の場合のふるいですが、一部でも
PRPテスト向けになるまで少なくとも10日前後は掛かりそうです。



Re: 47*2^n+1 プロジェクトの今後 nohara - 2004/08/14(Sat) 06:33 No.191  

追加です。

 私の意見ですが、47*2^n+1プロジェクトを拡張していく場合、
ふるいデータ提供の優先度としては

1.47*2^n+1の形式で、nが1000K以上3000K以下のもの

2.29*2^n+1の形式で、nが350K以上1000K以下のもの

3.9*2^n+1やその他のkでnが1000K以下のもの
 この場合、フェルマー数の約数の可能性が高いk値が小さい
ものから順に行なっていく、場合によっては2.のk=29は後回し
にする

と考えています。

なお、47*2^n+1について、現在のふるい速度などから以下の
ようにする予定です。
1000k-1310kの範囲はp=2Tまでふるいを実施します
この結果は順調にいけば8/20頃にアップできるかと思います
ただし、47*2^n+1プロジェクトの進行がそれより速い場合は
1100kまでの範囲は1.5T程度で早めにアップ(turboさんに渡す)
します。または時間稼ぎに私のk=9データを皆さんにお願いしよう
かと思います(すみません)。もちろん、k=9で素数が見つかれば
発見者はあなたです。しかもFermat数の約数確率11%!
この際、nが奇数のものだけお願いさせていただくことになるかと
思います。

それ以降順次ふるいデータを提供していく予定です。
k=47が一息つけば、私だけでもふるいの能力は当面は十分かと
思っています。



Re: 47*2^n+1 プロジェクトの今後 turbo - 2004/08/14(Sat) 17:28 No.192   HomePage

nohara さん wrote:
k=47が一息つけば、私だけでもふるいの能力は当面は十分かと
思っています。

その一息をつくまでに時間がかかりそうです。

粗い見積もりですが、
PRP3.exe を P4-2.8GHz で走らせると 3*2^1000000+1 (ミスタイプを修正しました)を 2000sec で判定できることから推定すると、
P4-3GHz クラスのマシン5台で PRP3.exe をフル稼働させた場合、
47*2^n+1 における n=1000K-3000K は7ヶ月程度で完了できることになります。
(8ヶ月程度で100万桁に突入。約7時間で1つ判定できるペース)
特に n=1000K 付近では 40K/day の速度で進行しうるのでしばらくはぎりぎりの運営が続くと思います。

現在のふるいがけは PRP3.exe で判定するにはやりすぎかもしれません。
47*2^n+1 の n>1000K については PRP3.exe 向けということにして、
ふるいがけを軽めに打ち切っておくのはどうでしょうか。

#ちなみに n=5000K まで完了するのは2年半程度かかる見込みです。
#この指数より先ではメルセンヌ素数以外の世界最大が狙えるわけですが、
#2年半も先になるとマシン、ソフト、最大素数などの状況はかなり変わっているでしょうね。



Re: 47*2^n+1 プロジェクトの今後 nohara - 2004/08/14(Sat) 18:14 No.193  

turboさんwrote
>PRP3.exe を P4-2.8GHz で走らせると 3^1000000+1 を 2000sec で判定できることから推定すると、

そんなに速いのですか。確かにそれなら今予定しているふるいは
少し過剰ですね。しかし、現在分割ふるいを実施しているので、
とりあえず、その結果がmergeされる時点まで、(8/18or19に区切
りがつく予定)はふるいを継続します。

 ここで、改めて提案なのですが、k=29ではなくて、k=9を探索
系列に追加するのはどうでしょうか。私は少し飛び飛びに探索
しているので、n=620K-670Kおよび672K-685Kの範囲でのk=9の
データを(2trillionまでふるい実施)素数探索連携掲示板に
アップします。k=29は590bまでふるいをかけているとはいえ、
この時点でも5分に1個づつ候補が減っているので、まだまだ
継続ふるいが必要です。現在k=47を優先しているので停止して
います。
k=9の優先度は低めですが、万が一私のふるい能力(Athlon
MP2800+*2,XP3000+)が追いつかなかった場合の保険的な意味合い
です。k=47と違って、候補の頻度が高いので、範囲の大きさの
割には候補数は多くなっています。k=9の場合、全部の指数を
探索するか、Fermat数の約数を狙うために奇数の指数だけに
絞るか、という点で議論の余地があります。どうしましょうか。

3000K付近では、ふるい上限は8-9T程度を考えており、ここまで
の場合、上記のうちの1CPUだけでやらせれば2ヶ月程度ふるいに
かける計算になります。

 ふるい上限については今後prp3の速度を念頭にします。(いや、
ある程度は考えていたのですが、そこまでとは)ただ、P4(A64)
以外のユーザーのことも考えて、やや過剰気味くらいがよいかと
思っています。また、素因数が判明していれば、その数が素数で
ないことのチェックは瞬時にできる、という点もあります。

k=29については一息ついたところで継続しようかと考えています。

#たしかに、2年後の素数発見状況はどうなっているか、
#楽しみになりますね。PRP3は本当に驚異的なツールです。



Re: 47*2^n+1 プロジェクトの今後 turbo - 2004/08/14(Sat) 18:23 No.194   HomePage

すいません、3^1000000+1 ではなくて 3*2^1000000+1 でした。
(前者は偶数なので判定するまでもないですね)



Re: 47*2^n+1 プロジェクトの今後 turbo - 2004/08/15(Sun) 00:39 No.195   HomePage

PRP3.exe について参考までに申し上げると、
k が小さく n が大きい(60万以上?)場合は従来の約5倍の速度のようです(区間によっては7倍以上)。
たとえば PRP での20万桁より PRP3 での40万桁の判定のほうが早くできます。


>  ここで、改めて提案なのですが、k=29ではなくて、k=9を探索
> 系列に追加するのはどうでしょうか。

賛成です。
杞憂かもしれませんが、小さい k は Proth Prime page にて
予約されやすいと思うので先に我々で行っておきたいです。
このスレッドの一番上の記事でも触れましたが、
PRP3.exe の登場により今後競争の激化が予想されます。今ならばいい場所を押さえることができるチャンスです。
(ややオーバーな表現ですね)
とりあえず k=9 のページも作っておきます。

k=47 は候補が少なく、先行させると探索がふるいがけに追いつく可能性もあるので n=1000K より先は一時的に募集停止としておき、
代わりに k=7 または k=9 の PRP テストを行っておいたほうが余裕を持って k=47 のふるいがけに取り掛かれると思います。
ちなみに PRP3 では FFT の切り替わり点が PRP と多少異なり、
k=9 の場合 n=120万までは比較的楽に行えるかもしれません(こちらでは n=121万になると所要時間が倍近くになりました)。

k=29 は現時点で停止中とのことですが、小さい指数については PRP3 を使えない方のために少し優先度を上げていただけないでしょうか。

nohara さんの提案を受けてこんな案を考えてみました。
・今のうちに k=9 のふるいを n<120万まで行います。
・k=47, n<100万終了後は k=9 のPRPテストを n<120万まで行います。
・この間に k=29, 47 のふるいがけを行います。この2つはふるいが完了した分から順に UP していきます。
・k=7 を行うとしたら k=9 終了後に続いて募集することになります。
というのはいかがでしょうか。


> k=9の場合、全部の指数を
> 探索するか、Fermat数の約数を狙うために奇数の指数だけに
> 絞るか、という点で議論の余地があります。どうしましょうか。

連携掲示板にUPされたのは奇数だけのようですが、
Fermat数の約数にこだわらない方もいらっしゃると思うので
差し支えなければあとで偶数の指数を行ってもいいでしょう。
その際、Fermat数の約数は出ないことを書いておけば十分だと思います。

#ふと、産業革命の話の
#「画期的な編み機ができたのはいいが糸の生産が間に合わなくなった」
#というシチュエーションを思い出しました。



Re: 47*2^n+1 プロジェクトの今後 nohara - 2004/08/15(Sun) 06:40 No.196  

回答の順序が不同ですが、ご容赦のほど。

まず、9*2^n+1において、指数が偶数のものの候補について

素数探索連携掲示板にアップしました。範囲は奇数の場合と
同じです。というのも、私は奇数偶数関係なく探索していたので。
なお、奇数と偶数のファイルはNewPGenのoutputファイルを
エクセルに読み込ませ、mod関数を使い偶数と奇数を0,1に対応
させた後、ソートを行うことで作成しています。
 元のデータは同じですので、当然ふるいがけ上限pは同じ値に
なっています。

turboさん案
・今のうちに k=9 のふるいを n<120万まで行います。
・k=47, n<100万終了後は k=9 のPRPテストを n<120万まで行います。
・この間に k=29, 47 のふるいがけを行います。この2つはふるいが完了
した分から順に UP していきます。
・k=7 を行うとしたら k=9 終了後に続いて募集することになります。
というのはいかがでしょうか。

k=9ではn=700k-730kの範囲は他の人にすでに予約されているので、
730kからの話になるとして、
 k=9のふるいは時間がかかります。というのは候補の頻度が高い
場合、ふるいがけ素数の上限は高くなるからです。
 PRP3の処理速度を考慮しても少なくともp=4Tまではふるいがけが
必要になると思われます。今から開始では間に合わない可能性が高
くなります。ですので、現在、k=47でp=2.2Tまでのふるいを完了させます。
これは変えません。とりあえずはn=1200kまではアップします。これは
日本時間で8/19朝に可能です。

 更に、Mergeさせるための分割ふるいのジョブが各CPUに対して
均等に割り当てられていないので、その空き時間を考慮して、
k=29のふるいを余力のあるCPUで実施します。
n<500kであれば、p=700b程度でも十分かと思います。
 こちらは2日以内にアップします。

k=47のふるいが1段落した段階でk=9のふるいを730k-1200kで開始
します。最適上限になるまで、2CPUで分割して2週間程度で用意
できると思います。もう一台は大きなn向けのk=47での追加ふるい
を継続していきます。

 まとめると、ふるいデータ提供順序は
1. k=9 odd/even n=620k-700k(一部抜け有り) up済み

2. k=29 n=350k-500k 8/16頃up予定

3. k=47 n=1000k-1200k 8/19頃up予定

4. k=9 730k-1200k 9/上旬から順次up予定

5. k=29 500k-1000k(or1200k) 9/上旬以降または一部k=9と並行してup

6. k=47 1200k-

4./5./6. は適当に並行して行なっていく。

PRP3の登場で競争が激化というのは私も同意見です。
確かに休まる暇はなさそうです。



Re: 47*2^n+1 プロジェクトの今後 nohara - 2004/08/15(Sun) 06:43 No.197  

忘れていました。

Proth search pageで以下の予約を実施します。

k=47 n=1000k-1200k

k=29 n=350k-500k

k=9 n=730k-1200k

k=29 500k-についてはしばらくして行ないます。



Re: 47*2^n+1 プロジェクトの今後 turbo - 2004/08/15(Sun) 18:18 No.198   HomePage

いろいろとご配慮いただきありがとうございます。
こちらではプロジェクトページを一部 k=9, 29 対応にしました。
k=9 の予約状況も上々ですね。

#もはや 47*2^n+1 Search ではないですね(笑)



Re: 47*2^n+1 プロジェクトの今後 nohara - 2004/08/16(Mon) 04:26 No.199  

turboさん、ホームページの作成お疲れ様です。

k=29 350k-500kの候補、素数探索連携掲示板にアップしました。
ファイルが大きいので、今後はもっと細かい範囲で分割して
上げます。



1000万桁の素数 投稿者:turbo 投稿日:2004/08/09(Mon) 13:25 No.170   HomePage
1000万桁について、いろいろな形式の素数の探索効率を求めてみました。
すべて P4-2.8GHz 1台で行った場合を示しています。

左から順に 形式、1候補の判定時間、候補数(確率の逆数)、素数1個に必要な時間
メルセンヌ素数(GIMPS) 32日 * 250000 = 22000年
一般フェルマ素数 92日 * 340000 = 86000年
k*2^n-1(k=3,5,7) 44日 * 780000 = 94000年
(こちらでは LLR で1000万桁を行うと途中結果を保存できない不具合が出ました)

ただしこれは
・ふるいがけ時間の省略(現在 GIMPS で1000万桁を選択するとふるいがけから始まります)
・後者2つはふるいがけを100日程度で打ち切ったと仮定(最適化するには数年〜数百年必要)
という条件のもとなので GIMPS にかなり有利に出ています。

ちなみに Proth.exe では探索時間が b^n+1 の b によらないようなので b が大きいほうが有利です。
b^2097152+1 の場合、1200万桁程度まで可能ですから、この場合だと上より差は縮まります。
メルセンヌ素数(GIMPS) 51日 * 300000 = 42000年
一般フェルマ素数 92日 * 340000 = 86000年

1000万桁の GFN や k*2^n-1 と同等の効率のメルセンヌ素数は
2^52000000-1(1565万桁)程度と予想されます。

#もし1000万桁を探すのでしたら、ふるいがけ等のお手伝いはできます。
#47*2^n+1 に対する裏プロジェクトとして立ち上げてもかまいませんが、技術がないので仮に参加者が3桁になったらお手上げです。
#それにしても万が一(本当に万が一ですね)1000万桁の素数を発見したら賞金はどうなるのでしょうか。各ソフトの開発者にも権利があるかもしれないので GIMPS に参加した場合よりも手取りが少なくなるかもしれませんね。



Re: 1000万桁の素数 nohara - 2004/08/09(Mon) 18:13 No.171  

こんにちは

 1000万桁はどれだけの処理能力が必要か、どのような形式が
よいか考察する分にはいいのですが、やっぱり現実的には
必要な処理能力の多さに愕然とします。
 ふるいがけの段階で既に分散処理が必要になります。

 一番必要なのは、人を多く引き付けるカリスマかもしれません。
それと、日本限定ではやはり厳しいでしょう。
 そもそも、日本人はあまり素数探索には興味を示さないですよね。
Seventeen Or Bustなどで国別のランキングがありますが、
日本の半分の人口しかいないイギリスやフランスに負けている
どころか、1/8のオランダにすら負けてますからね。
 まあ、Seventeen or Bustは素数を見つけても名前が残る
以外には何もありませんが。それが理由というのは少し
悲しい。英語ですかね。

 あと、賞金に関しては、難しい問題ですね。個人的には賞金は
どうでもいい問題なのですが、それ目当ての参加者も現実いるので、
やはり考えなければなりません。しかし、取り分が少なくなった
としても、参加者にそこまで媚びる必要があるのかと思います。

 私の意見としては、お膳立てしてもらった上での発見なら、
賞金は一部でもいただいてラッキー、という感じなのですが、
一般の感覚からは乖離してるのでしょう。Yves Gallot氏の
ように氏のソフトを使用して賞金を得たとしても、その権利を
放棄していると公言している例は極端としても、ソフト開発者
はそういう意識は一般に低いですよね。
 まあ、最低本名を公開する(できる)人でなければ、
賞金をもらう権利無しというのもあります。第三者から賞金
が問題なく渡ったと確認する上でも重要かと思います。

 私としては、1000万桁はさすがに目標が高すぎるので、
仲間内で50-100万桁程度でプロジェクトを立ち上げて、
第一段階は実績を作るのがよいのでは無いかと考えています。
47*2^n+1プロジェクトの指数をどんどん伸ばすのが
一番単純かつ分かりやすいのではないかと思っています。
ただ、47は素数が出ない確率が高いので、k=29もお勧めです。



Re: 1000万桁の素数 turbo - 2004/08/12(Thu) 16:36 No.181   HomePage

こんにちは。

そうですね。時間がかかりすぎるのに加えて、10万人規模の GIMPS に挑むのは無謀すぎるかもしれませんね。
PRP3 がリリースされたこともありますし現在の探索範囲を広げてみようと思います。
詳しくは別スレッドにて(しばらく時間が空くかもしれません)。

ちなみに PRP3 で1000万桁を探索した場合
P4-2.8GHz だと33日くらいで、メルセンヌ数とほぼ同じ時間で判定します。Proth.exe にて確定する手間はありますが。



Re: 1000万桁の素数 nohara - 2004/08/12(Thu) 20:13 No.184  

turboさん、別スレッドでの話題待っています。

 あらかじめ提案したいのですが、私は、ふるいを担当したい
と思っています。当方はAthlonXP,MPマシンがありますが、
ふるいはP4と比較して速い方だと思いますが、どうでしょうか。
 ちなみにAthlonMP2800+では
k=29でn=35万から100万の範囲でふるいをかけると、
pの大きさは190G/dayで大きくなります。
k=47でn=100万から300万の範囲でふるいをかけると
pの大きさは100G/dayで大きくなります。
というか、ふるいを今から開始しました。(笑) 
k=29の場合もすでに580billionまでふるいを掛けているので、
誰かデータが欲しい人が居ましたら、素数探索連絡掲示板にて
アップしたいと思います。

 また、個人的な事情ですが、PRP.exeを走らせると、2次キャッ
シュを酷使するせいか、簡単に熱暴走してパソコンが停止してしま
うので、夏の期間はPRPテストは思うように実施できず、思うように
協力できません。反面、NewPGenでのふるいを走らせても熱暴走で
止まることはありません。

 もう一つあるのは、もしPRP3.exeがkが小さいほど速いという
場合、k=9やk=7で素数を探して、Fermat数の約数を探すのは
どうでしょうか。
 k=3,5の場合はかなり大きな指数まで探索されていますが、
k=7,9の場合はkが小さい割りに探索が進んでいません。
 また、私は現在、k=9のn=60万から70万の範囲についてPRP
テストを実施しているのですが、こちらではふるいに重点を置いて、
P4系マシンを持っている人にPRPテストをやっていただくほうが
リソースの有効活用になるかと思います。この範囲は2Tまで
ふるいがけしています。ちなみにこの際、私が予約している範囲も
みなさんにお願いする形になるかと思います。
 ただ、k=9の場合で複雑なのは、指数が奇数のときだけしか、
Fermat数の約数になり得ないという定理があるので、
みなさんには指数が奇数のものだけお願いすることになるかも
しれません。

 turboさんや皆さんの意見を(別スレッドでも)おねがいします。



Re: 1000万桁の素数 turbo - 2004/08/12(Thu) 22:11 No.185   HomePage

あー、ちょっと待ってください。
k=47 ならば n=100万-200万でちょっとだけふるいがけしたのを持っています。
p=66.8 billion までなのですがもしかしてもう追い越しましたか?



Re: 1000万桁の素数 nohara - 2004/08/12(Thu) 23:16 No.186  

>p=66.8 billionまで
開始後2時間半経過し、19.2billionまでです。
候補数が少ない場合、ふるいがけはやや早くなりますね。
このペースだと1日辺り150billion以上は進みそうです。
turboさんのデータまで、あと6,7時間で追いつくので、
私のほうで継続したいと思うのですが、どうでしょうか。



Re: 1000万桁の素数 turbo - 2004/08/12(Thu) 23:28 No.188   HomePage

わかりました。お任せします。


LLRの新バージョン? 投稿者:ayuchan 投稿日:2004/08/10(Tue) 18:39 No.172  
LLRの新バージョン?及びPen4専用のLLRが出ています。

新バージョンのLLR2は、若干スピードup
Pen4専用は、10%程度スピードupしています。

PRPもPRP3が有りましたが、Pen4用なのか、他のCPUではエラーとなってしまいました。(Pen4では未確認)



Re: LLRの新バージョン? Mat - 2004/08/10(Tue) 22:16 No.173  

PRP3試してみました。
MMXPentiumでは途中でエラーになってしまいましたが、
Celeron2.6GHzでは動作しました。
かなり高速化されてますね。
prp3.exe Time per bit:0.836ms(210k) 2.6ms(340k)
prp.exe Time per bit:1.862ms(210k) 5.6ms(340k)



Re: LLRの新バージョン? Mat - 2004/08/10(Tue) 22:45 No.174  

(210k)と(340k)は、19960809*2^nのnの値です。



Re: LLRの新バージョン? nohara - 2004/08/10(Tue) 23:12 No.175  

PRP3についてこちらでもAthlonMPとP3で動作確認して
みましたが、やはり動作しませんでした。

 Matさんによればかなり高速化されてますね。2.2倍程度で
しょうか。
少し気になるのは、MatさんのCeleronでのprp.exeの結果は少し
遅くありませんか。(特に340k)ちなみにAthlonXP3000+での
prp.exe速度は
1.093ms/bit (210k) 210kを少し過ぎた箇所で1.307ms/bit
1.734ms/bit (340k) 344kを少し過ぎた箇所で2.386ms/bit
です。

 何か別のソフトが動作しているのでしょうか。
いずれにしても、Athlonの今後は素数探索においてはふるい専用
マシンですね。



Re: LLRの新バージョン? higa - 2004/08/12(Thu) 07:06 No.180  

私も早速試してみました.
prp3.exeはなかなか早いですね.

Pentium4の2.4GHzでは
prp.exe 0.866ms/bit (200k)
prp3.exe 0.650ms/bit (200k)
になりました.
私が探しているあたりでは30%強のスピードアップが見込める
ようです.

# googleで検索していたら,7月30日にバグが発見されて修正
# されたような記述がありました.
# 7月30日以来バグの報告がなさそうなので,実際に導入しよう
# かと思っています.



Re: LLRの新バージョン? turbo - 2004/08/12(Thu) 16:44 No.182   HomePage

こちらでも確認しましたが驚くほど早く判定できました。

Time per bit (by P4-2.8GHz)
PRP : 47*2^751099+1 7.70 msec
PRP3 : 47*2^752359+1 1.42 msec
この範囲ではなんと5倍速強です。



Re: LLRの新バージョン? nohara - 2004/08/12(Thu) 19:46 No.183  

SSE2対応CPUマシンを持っていない私が言うのもなんですが、
今回のPRP3の速度は指数の大きさだけではなくて、LLR.exeの
ようにkの大きさにも依存するのではないでしょうか。

 上記の情報からするとそんな気がします。



Re: LLRの新バージョン? turbo - 2004/08/12(Thu) 23:24 No.187   HomePage

nohara さん wrote:
今回のPRP3の速度は指数の大きさだけではなくて、LLR.exeの
ようにkの大きさにも依存するのではないでしょうか。

答えは Yes でした。

k*2^60000+1 にかかった時間(by P4-2.8GHz, 括弧内は画面に出た表示の一部)
k=3 および 10^m+1 (m=1-8)の場合を調べました(f(m)=10^m+1 と定義します)。
k=3 : 4.02s (Using FFT length 3072)
k=f(1)-f(3) : 5.24s (Using FFT length 4k)
k=f(4)-f(6) : 8.24s (Using FFT length 6k)
k=f(7), f(8) : 8.88s (Using zero-padded FFT length 6k)

ただし k*2^70000+1 でやってみたところ k=3, 11, 101 は同じ時間でした。



ふるいがけ考察 投稿者:nohara 投稿日:2004/08/01(Sun) 01:25 No.159  
私も勉強不足のところがありありなのですが、
47*2^n+1の216091さんへの返答も兼ねて別の
トピックを作成します。

216091さん wrote at 47*2^n+1
最大の素数がGFN素数でなくて Mersenne素数
なのは単に探しているパソコンの数がMersenne素数の方が
多いからだと思うからです。

この点、全くの同感です。私もGFN素数は最も捜索効率の
よい形式と思っています。私が円分数というタイトルで
直接素数とは関係なさそうな話題をわざわざ書いたのは
このことに気が付いて欲しかったためです。
メルセンヌ数も一般フェルマー数も円分数であるという特質上、
約数の形式は似ていますが、一般フェルマー数はbをいろいろ
変えられるので、ふるいを用いることができる分、有利です。

 ただし、一般フェルマー数のふるいはNewPGenで対応している
k*b^n+1/-1という形式の場合と比較して不利な点があります。
 それは約数の存在に周期性が存在しない、ということです。

 メルセンヌ数や一般フェルマー数は特殊な形式の数しか
素因数になりえません。これは素数候補を絞り込む上では
非常に有利です。

 もう一つ、素数候補を同じ素数で割り切れる場合が周期的
に登場すると、ふるいがけが非常に有利になります。

 もっともふるいがけが有利な形式はnを固定した場合に
kを変化させる場合です。これはエラトステネスのふるいと
ほとんど同じアルゴリズムで実施できます。
たとえば、
k1*2^n+1が3で割り切れるとすると、
(k1+3)*2^n+1
(k1+6)*2^n+1
(k1+9)*2^n+1
...
も以下同様に3で割り切れます。
ふるいがけにつかう素数5,7,11,...ときても同様です。

長いので続きます



Re: ふるいがけ考察 nohara - 2004/08/01(Sun) 01:29 No.160  

では、kを固定してnを変化させる場合はどうでしょうか。
上記と同じように考えられそうですが、実はそんなに簡単ではありません。
(と偉そうなことはあまりいえないのですが)以下説明します。

例えば、3*2^n+1をふるいにかけるとします。
3では割り切れないのは自明なので、ふるいがけ素数は5からです。

3*2^n+1を5で割ったときの余りをn=200万から見ると、
nの値
2000000 あまり 4
2000001 あまり 2
2000002 あまり 3
2000003 あまり 0 =5で割り切れるので候補脱落
2000004 あまり 4
2000005 あまり 2
2000006 あまり 3
2000007 あまり 0 =5で割り切れるので候補脱落
2000008 あまり 4
2000009 あまり 2
2000010 あまり 3
2000011 あまり 0 =5で割り切れるので候補脱落
2000012 あまり 4
2000013 あまり 2
2000014 あまり 3
2000015 あまり 0 =5で割り切れるので候補脱落
2000016 あまり 4
2000017 あまり 2
2000018 あまり 3
2000019 あまり 0 =5で割り切れるので候補脱落
2000020 あまり 4
これを見れば気が付くと思うのですが、kを固定した場合は
ある素数で割り切れる候補が周期的に登場していることが
分かります。nの値が4m+3の場合は割り切れています。
周期は4となります

同様に7で割ったときも見てみましょう。
nの値 (*は5で割り切れる候補)
2000000 あまり 6
2000001 あまり 4
2000002 あまり 0 =7で割り切れるので候補脱落
2000003 あまり 6 *
2000004 あまり 4
2000005 あまり 0 =7で割り切れるので候補脱落
2000006 あまり 6
2000007 あまり 4 *
2000008 あまり 0 =7で割り切れるので候補脱落
2000009 あまり 6
2000010 あまり 4
2000011 あまり 0 =7で割り切れるので候補脱落*
2000012 あまり 6
2000013 あまり 4
2000014 あまり 0 =7で割り切れるので候補脱落
2000015 あまり 6 *
2000016 あまり 4
2000017 あまり 0 =7で割り切れるので候補脱落
2000018 あまり 6
2000019 あまり 4 *
2000020 あまり 0 =7で割り切れるので候補脱落
nの値が3m+1の場合は割り切れています。
周期は3となります

更に続きます



Re: ふるいがけ考察 nohara - 2004/08/01(Sun) 01:33 No.161  

11,13の場合は都合上スキップし、同様に17で割った場合の余りを示します。
2000000 あまり 4
2000001 あまり 7
2000002 あまり 13
2000003 あまり 8
2000004 あまり 15
2000005 あまり 12
2000006 あまり 6
2000007 あまり 11
2000008 あまり 4
2000009 あまり 7
2000010 あまり 13
2000011 あまり 8
2000012 あまり 15
2000013 あまり 12
2000014 あまり 6
2000015 あまり 11
2000016 あまり 4
2000017 あまり 7
2000018 あまり 13
2000019 あまり 8
2000020 あまり 15
この場合は、nの値に関係なく割り切れません。k*2^n+1の形式で
kの約数で無いにも関わらず、いかなるk*2^n+1をも割り切らない
素数pが存在します。(多分無限にあると思いますが、そういうところ
はあまり調べていません)
ですが、あまりの値が周期性を持っていることにも注目してください。
このときの周期は8となります。
 全てのk*b^n+1/-1を素数pで割ったときの余りはかならず
p-1の約数を周期に持ちます。

p=5は割り切れる候補がp-1の周期となる場合
p=7は割り切れる候補が(p-1)/2の周期となる場合
p=17は割り切れる例が無い場合

ちなみに、3*2^n+1の約数にならない素数は17の他に
23,31,41,43,47,71,73,89,109,....と続きます。

 このように、ふるいがけ素数の値によって、挙動が異なり、
周期もp-1の約数の数だけ可能性があります。各ふるいがけ素数
pに対してどのような挙動となるかを判別しなければならないため、
NewPGenにおいて、k固定モードではふるいの速度が遅くなるわけです。
 最初、NewPGenが登場したときはk固定モードはサポート
されていませんでした。

 更に続きます(少し時間が空きますが)



Re: ふるいがけ考察 nohara - 2004/08/01(Sun) 02:58 No.162  

 いずれにせよ、k*b^n+1/-1という形式では、ある素因数pで割り切れるケースは
k固定でもn固定でも周期的に登場することが分かるかと思います。

一方、b^(2^m)+1の形式の一般フェルマー数は
bだけを変えれば、その約数は2^(m+1)*k+1という形式に
限られるので、上記の例に比べるとふるいがけ素数を
大きな値にとることができるわけです。その分は確かに
有利なのですが、素因数の出現は周期性がありません。

b^8192+1のケースでみてみます
bの値 小さな素因数
10000 : 65537 * 5767169 *
10002 :
10004 :
10006 : 139493377 *
10008 : 15553462273 *
10010 :
10012 :
10014 : 920518657 *
10016 :
10018 :
10020 : 1196033 * 1376257 *
10022 : 65537 *
10024 : 1689108481 *
10026 : 93585409 *
10028 :
10030 : 147457 *
10032 : 7667713 * 119308289 *
10034 : 65537 * 163841 * 1720321 * 2768897 * 10737647617 *
10036 :
10038 : 3194881 * 238043137 *
10040 : 163841 *
10042 : 2572289 *
10044 :
10046 : 3391489 *
10048 : 7667713 * 18137089 *
例えば、上の表からでは65537の出現はb=10000,10022,10034で
以降10054,10072,10078,10080,...と続きます。
 次はどこで65537で割れるのか分からないため、全ての候補に
対して、65537で割っていかなければなりません。

 GFNのふるいにおける優位性は、素数生成のための手間が
共有できる、という一点のみなのに対して、k*b^n+1/-1のケースは
素因数が周期的に登場することを利用すれば割り算を使う
ケースが減らせることもあるのです。したがって、2kn+1という
形式に限られる利点を生かしても、GFNのふるい上限は
比較的小さなところまでしか実施できません。

 あと重要なことはふるいによっての残り素数候補数は
大体ふるいがけを行なった素数の大きさの対数値に反比例します。

 例えば、100万桁程度の大きさの数に対して、
k*2^n+1/-1では10^14程度までふるいがけできたとします
b^(2^m)+1では10^17程度までふるいがけできたとします。

上記の場合、素数が存在する1個あたりの候補数は
大体k*2^n+1/-1とGFNとを比較するとお互いのふるい上限素数の
対数値から大体17:14となります。

もし、残り候補のPRP判定に要する時間が14:17ということで
あれば、結局は素数発見難易度における両者の差は
存在しない、ということになります。

 また、円分数でもbaseが小さく、指数が大きいほうが対象となる
桁数の割に約数の制限が大きくなるので、この点ではメルセンヌ
素数探索は他の追随を許さない優位性があります。



Re: ふるいがけ考察 nohara - 2004/08/01(Sun) 04:38 No.163  

長々と書いて申し訳ありません。

 結局、素数探索の効率を考えるなら、PRPテストに要する時間が
桁数の割りに少ないものを選ぶのが最も効率が良くなります。
ふるい効率はあくまで従です。

 私の今までの経験ではP3の場合ですが、Mersenne素数と
Proth.exeでのGFNはほぼ同等、
 それよりやや落ちてLLRのkが小さい場合
 更に落ちてProth primeとGeneFerによるGFN
となります。
 それ以下が他のbや一般的な形式となります

Mersenne素数とGFNの差はほとんど無いのですが、
(すみません、冒頭の書き込みと少し意見が変わりました)
同じ桁数なら指数が大きな分だけ、Mersenne素数がほんの少し
有利となります。

 また、Mersenne素数が求められる理由としては、数の形式が
非常にシンプルであること、また、メルセンヌ数から完全数が
得られるという、他の素数には無い特徴があります。完全数と
いうのはその数自身を除く約数の合計が元の数と等しい数の
ことを言います。偶数である完全数は2^p-1が素数であるとき、
(2^p-1)*2^(p-1)となり、偶数の完全数は全てこの形です。
また、奇数の完全数については発見されておらず(存在しない
ことが証明されたようなニュースを聞いたような気がするの
ですが間違いかもしれません。)、つまり、メルセンヌ素数の
数だけしか完全数は知られていません。

 そういった面も、メルセンヌ素数探索が優先的にされてきた
理由かと思います。

 ただ、メルセンヌ素数は対象となる数自体が非常に限られて
いるので、例えば、1000万桁超えとなる素数はずっと登場しない
かもしれません。指数で3倍、4倍という区間で素数が登場しない
ところが実際あります。
 とすると、特定の桁数を狙う場合でGFNなどの他の形式の素数が
出し抜く余地があるのでは無いかと考えています。
これも運任せですが。



Re: ふるいがけ考察 216091 - 2004/08/03(Tue) 21:18 No.165  

こんにちは、

noharaさん説明ありがとうございます。

>あと重要なことはふるいによっての残り素数候補数は
>大体ふるいがけを行なった素数の大きさの対数値に反比例します。

対数なのであまりかわりないよということですね。

P4 上でも
$ time ./genefer80
GeneFer 1.3 (80-bit x86-ASM) Copyright (C) 2001-2003, Yves GALLOT
N: 4096
b: 100000000
100000000^4096+1 is composite (err = 3.59e-01).
user 1m34.280s
$ time ./genefer64
GeneFer 1.3 (x86-ASM) Copyright (C) 2001-2003, Yves GALLOT
N: 8192
b: 10000
10000^8192+1 is composite (err = 7.10e-06).
user 2m19.080s
と桁数によっては genefer80 の方が高速な場合がありました。
(その桁数では llr がより速いということですが)
1000万桁では、b^2097152+1 で genefer64 の範囲ですね。



Re: ふるいがけ考察 nohara - 2004/08/08(Sun) 23:33 No.169  

216091さんwrote
>1000万桁では、b^2097152+1 で genefer64 の範囲ですね。

そうですね。
1000万桁を狙う場合、個人的には58664<b<576000はProth.exe
でテストし、576000以上はGeneFerでテストするのが良いので
はないかと思っています。

 ただ、1000万桁を狙うとなると、少なくとも万単位の
参加者が必要なので、これをどうやって調達するか、
という問題があります。また素数判定テストに要する時間は
高速なマシンでも1つのテストに2ヶ月はかかるため、継続して
参加者の意欲を持続させることがより重要になってくると
思います。そういう意味では計算途中経過ファイルを共有
できるようなシステムを構築することは有用と考えています。
(まあ、素数探索プロジェクトに書いたことですが)

 ただ、それでも1000万桁は必要なパワーが多すぎる、
という問題がありますね。



Re: ふるいがけ考察 216091 - 2004/08/11(Wed) 20:08 No.176  

こんにちは、

>一方、b^(2^m)+1の形式の一般フェルマー数は
>bだけを変えれば、その約数は2^(m+1)*k+1という形式に
>限られる

(2x)^2+1 の形の整数の約数は、4n+1 の形を持つという
記述を見つけました。
GFN もこの形なので
「GFN の約数は、は 2^(m+1)*k+1 かつ 4n+1 という
形式に限られる」とできるようです。



Re: ふるいがけ考察 sushi - 2004/08/11(Wed) 22:52 No.177  

こんばんは。
最近素数が見つからないので、思わずPen4 3.0Gを買ってきてしまいました(^^;
手始めにhigaさんのように小さめの双子素数を探してみようと思います。

216091さんへ。
2^(m+1)*k+1 であれば、4n+1の形になると思います。




Re: ふるいがけ考察 216091 - 2004/08/11(Wed) 23:29 No.178  

こんにちは、

そうですね、済みません。
P4 3Ghz ということは自作派ですね。
素数探索専用機の自作だと意外とお金をかけずに
ハイエンドが買えるので誘惑に勝てないですね。



Re: ふるいがけ考察 nohara - 2004/08/12(Thu) 01:36 No.179  

>誘惑に勝てないですね。

私も心が動きます。
こちらだと、P4-3GHzマシンのデスクトップは安いもので
1000ユーロ(日本円で約135000円)程度です。ちなみに
19.6%のTVA(日本でいえば消費税)が内税での価格です。
P4マシンは一様に割高ですね。
 こちらにも自作ショップはありますが、こちらでは自作
よりも、やや旧型のマシンをバーゲンで狙った方が割安に
なるかと思っています。

[直接移動] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21]

- Joyful Note - Edit:Mat