アカウント名:
パスワード:
計算結果が正しいかどうかは、どうやって検証するのでしょうか?
すぐに検証できるなら、100兆+1桁目くらいなら、すぐに算出できますよね。すぐに記録の塗り替えもできるのでは?
ずっと少ない桁数で別のアルゴリズムで求めた結果と比較し、正しいアルゴリズムだということにしておく。
金田先生もだが、道楽だけではなくスパコンの負荷テストが名目になっている。CPU、メモリ、I/Oと全部バランスよく使うので。
円周率の計算は多倍長浮動小数点数を処理することになるので、 CPU のレベルだと(多分)整数演算ですよね。最近のスパコンを使って計算したい仕事は物理シミュレーション系だとすると、それに特化したスパコンはベクトル化された float/double がすごく速いけど整数演算にチューニングされていないように思うのですが、負荷テストになるのでしょうか。
スパコンってけっこう前から「個々の演算ユニットを高速化してもI/O周りが遅いとまともに性能を発揮できない。大量のノードを効率よく制御するネットワーク周りが重要でお金もかかる」な世界で、演算機単体の性能は重要でなくなったわけではないけど相対的に重要度は下がってます。円周率の計算はその多くが並列実行可能なため「CPU、メモリ、I/O(ネットワーク含む)」を全部含めた総合的な性能を見るのにちょうどよくて、それに比べたら個々の演算が整数か浮動小数かなんてのはささいなことみたいです。ベクトル演算が円周率計算のアドバンテージになるかはよく知らない。
日本語抄訳に> 計算が終了してから、最終結果を Bailey–Borwein–Plouffe の公式 (BBP の公式) という別のアルゴリズムを用いて検証しました。って書いてあるぞい
BBPの公式 [wikipedia.org]は
BBP公式は、 先行する桁を計算せずにπ の十六進法のn桁目(つまり π の二進数の4n桁目)を直接求めるスピゴット・アルゴリズム(英語版)を与える。これは π の十進数でのn桁目(つまり、底を10とした場合)を計算するものではない[3]。BBPとBBPに触発されたアルゴリズムは、分散コンピューティングを使って π の多くの桁を計算するPiHex[4]などのプロジェクトで使用されている。この公式の存在は驚くべきものであった。それまでは、π のn桁目を計算するのは、最初のn桁を計算するのと同じくらい難しいと広く信じられていた。
円周率の公式はいろいろありますが、それぞれ正しさは保証されているので、間違いがあるとすれば実装です。比較は全桁ではなくサンプルしたのではないでしょうか。
任意の桁だけ計算できるなんてアルゴリズム、どういう頭してたら思いつくんだと思ったら
実験数学の重要な節目と成果は、1995年に発見された π の二進数に対するベイリー=ボールウェイン=プラウフの公式である。この公式は、形式推論ではなく、コンピュータ上での数値探索によって発見され、その後、厳密な証明がなされた。 [wikipedia.org]
なるほど、まずコンピューターを使ってのしらみつぶしの探索で、いきなり「理由はわかんないけどなんかこれで計算できるみたいよ」な式が出てきて、あとからその意味を考えたのか。
定規を使ってその値センチメートル分の長さのテープを切り取り、それで輪っかを作ってみて、その直径がちょうど1cmなら「合っている」ということで。
3.14->3.141->3.1415みたいに少しずに精度を挙げていくのではなく、n桁目の数字が何であるか直接求める公式ってのがあるんで、それを使うんじゃないかな。(ただし、その公式を使って全桁求めるとふつーに計算するより遅い)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ見習い
どやって検証するの? (スコア:0)
計算結果が正しいかどうかは、どうやって検証するのでしょうか?
すぐに検証できるなら、100兆+1桁目くらいなら、すぐに算出できますよね。
すぐに記録の塗り替えもできるのでは?
Re: (スコア:0)
ずっと少ない桁数で別のアルゴリズムで求めた結果と比較し、正しいアルゴリズムだということにしておく。
金田先生もだが、道楽だけではなくスパコンの負荷テストが名目になっている。CPU、メモリ、I/Oと全部バランスよく使うので。
Re: (スコア:0)
円周率の計算は多倍長浮動小数点数を処理することになるので、 CPU のレベルだと(多分)整数演算ですよね。
最近のスパコンを使って計算したい仕事は物理シミュレーション系だとすると、それに特化したスパコンは
ベクトル化された float/double がすごく速いけど整数演算にチューニングされていないように思うのですが、
負荷テストになるのでしょうか。
Re:どやって検証するの? (スコア:2)
スパコンってけっこう前から「個々の演算ユニットを高速化してもI/O周りが遅いとまともに性能を発揮できない。大量のノードを効率よく制御するネットワーク周りが重要でお金もかかる」な世界で、演算機単体の性能は重要でなくなったわけではないけど相対的に重要度は下がってます。
円周率の計算はその多くが並列実行可能なため「CPU、メモリ、I/O(ネットワーク含む)」を全部含めた総合的な性能を見るのにちょうどよくて、それに比べたら個々の演算が整数か浮動小数かなんてのはささいなことみたいです。
ベクトル演算が円周率計算のアドバンテージになるかはよく知らない。
うじゃうじゃ
Re: (スコア:0)
日本語抄訳に
> 計算が終了してから、最終結果を Bailey–Borwein–Plouffe の公式 (BBP の公式) という別のアルゴリズムを用いて検証しました。
って書いてあるぞい
Re:どやって検証するの? (スコア:1)
BBPの公式 [wikipedia.org]は
BBP公式は、 先行する桁を計算せずにπ の十六進法のn桁目(つまり π の二進数の4n桁目)を直接求めるスピゴット・アルゴリズム(英語版)を与える。これは π の十進数でのn桁目(つまり、底を10とした場合)を計算するものではない[3]。BBPとBBPに触発されたアルゴリズムは、分散コンピューティングを使って π の多くの桁を計算するPiHex[4]などのプロジェクトで使用されている。この公式の存在は驚くべきものであった。それまでは、π のn桁目を計算するのは、最初のn桁を計算するのと同じくらい難しいと広く信じられていた。
円周率の公式はいろいろありますが、それぞれ正しさは保証されているので、間違いがあるとすれば実装です。
比較は全桁ではなくサンプルしたのではないでしょうか。
Re: (スコア:0)
任意の桁だけ計算できるなんてアルゴリズム、どういう頭してたら思いつくんだと思ったら
実験数学の重要な節目と成果は、1995年に発見された π の二進数に対するベイリー=ボールウェイン=プラウフの公式である。この公式は、形式推論ではなく、コンピュータ上での数値探索によって発見され、その後、厳密な証明がなされた。 [wikipedia.org]
なるほど、まずコンピューターを使ってのしらみつぶしの探索で、いきなり
「理由はわかんないけどなんかこれで計算できるみたいよ」な式が出てきて、あとからその意味を考えたのか。
Re: (スコア:0)
定規を使ってその値センチメートル分の長さのテープを切り取り、それで輪っかを作ってみて、
その直径がちょうど1cmなら「合っている」ということで。
Re: (スコア:0)
3.14->3.141->3.1415みたいに少しずに精度を挙げていくのではなく、
n桁目の数字が何であるか直接求める公式ってのがあるんで、それを使うんじゃないかな。
(ただし、その公式を使って全桁求めるとふつーに計算するより遅い)