アカウント名:
パスワード:
検算って、なぜ必要なんですか? どういった原因による間違いを想定しているのですか?
こんな単純な計算式やソフトウェアが間違ってるなんてことは、ありえそうにないし、もしまちがっていたとしても、最初の数桁を計算しただけで間違いに気付くはずだと思うのです。xx億桁までは正しい答えを出すけどそれ以降は間違った答えを出す計算式やアルゴリズムを考案するほうが難しいのではないでしょうか。
メモリの特定のアドレスが壊れていたとか、計算中にオーバーヒートを起こしたとかのことを想定しているのでしょうか?
結果が返ってこなかったら他のクライアントへ頼むだけで対処できるし。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲを呼ぶ -- ある傍観者
質問どうぞ。 (スコア:3, 参考になる)
さて、今回計算に使われた方法は、意外にもArctanを用いた級数展開だそうです。
初期計算が、
PI = 48arctan(1/49) + 128arctan(1/57) + 20arctan(1/239) + 48arctan(1/110443)
検証計算が
PI = 176arctan(1/57) + 28arctan(1/239) - 48arctan(1/682) + 96arctan(1/12943)
とありました。
これに独自に(?)考案したDRM法(分数有利化法)を使用したそうです。
他にも「2段階FFTの乗算を考案し、16進を採用して余白(編註:メモリのことと思われる)の利用量を削減」した
質問 (スコア:0)
検算って、なぜ必要なんですか? どういった原因による間違いを想定しているのですか?
こんな単純な計算式やソフトウェアが間違ってるなんてことは、ありえそうにないし、もしまちがっていたとしても、最初の数桁を計算しただけで間違いに気付くはずだと思うのです。xx億桁までは正しい答えを出すけどそれ以降は間違った答えを出す計算式やアルゴリズムを考案するほうが難しいのではないでしょうか。
メモリの特定のアドレスが壊れていたとか、計算中にオーバーヒートを起こしたとかのことを想定しているのでしょうか?
Re:質問 (スコア:2, 参考になる)
一応、あとのほうの
>メモリの特定のアドレスが壊れていたとか、計算中にオーバーヒートを
>起こしたとかのことを想定しているのでしょうか?
がだいたい正しいです。
実際には今回の主計算、検証計算では問題はなかったようですが、別の処理では(16進数で求めた1兆桁を10進数の1.2兆桁に変換する時点で1回とその10進数をまた16進数に直してみる時点で2回)不正な結果が出力されたそうです。
手動で中断したときのバッファの問題らしいですが、そういう細かいところまで1つのバグも許されないと思うと検証したほうが良いです。
今回のプログラムは主計算、検証計算だけで54600行ものプログラム(全てFortran)になっており、バグがないことを示すのは検証が一番楽だったりします。
もはやこのレベルに達すると「単純な計算式」なんてものはなく、ほんの少しでも効率が高くなるように工夫されているのです。
普段私達が遊び半分で作るような円周率を求めるプログラムは(失礼ですが)間違っててもたいして問題はないですが、今回のような「世界記録」と大々的に報じるものなんかは東大の名誉にかけても、またHITACHIの技術者からしても万に一つも間違いは犯せない、という気持ちでしょう。
念には念を、でもあると思います。
16進数の円周率といえば (スコア:2, 興味深い)
ここ [doe.gov]が元記事を扱ってます。
これによると円周率は、16進数でならいきなり任意の桁の数字がわかるそうです。
やってみたらそれなりに時間はかかりますが。
この方法で16進数を求めて10進数に直すのはきっと時間の無駄なんでしょうがね。
でもarctanの公式がまだまだ現役で使えることを示されてしまったらこれから先どうなることやらです。
円周率のnビット目「だけ」を求めるプロジェクト [cecm.sfu.ca]もあります。一応ね。
16進数で計算していますね (スコア:1)
> 任意の桁の数字がわかるそうです。
> やってみたらそれなりに時間はかかりますが。
NikkeiBPの記事によると、
> 計算はコンピュータが得意とする16進数で行い、
> その結果を10進数へ変換した。
…とありますね。
Re:16進数で計算していますね (スコア:1)
16進数の桁数はいきなり求めることはできますが、16進数「でないと」いきなりは求められません。
今回16進数を使ったのはメモリの節約のためで本質的ではないのです。
実際にあのリンク先の通りにやるとさっきも書いたとおり、時間がかかりすぎるかもしれません。
#まだ計算量は調べてませんが、今回の方法と違うことは確かです。
Re:16進数で計算していますね (スコア:1)
う…スマンです。そのあたりは理解できてない。
> 今回16進数を使ったのはメモリの節約のためで本質的ではないのです。
…そうなんだ。
確かに、今回のアルゴリズムはメモリの消費を抑える点でも
結構工夫されているという話ですね。分割有理数化法(DRM法)でしたっけ。
計算量をずっと減らすこともできているっていうし、
まだまだ技術革新は続いているんだなと感心しとります。
最強と言われる「地球シミュレータ」が使いにくい理由に関して、
「横浜まで行かないと使えない」し、実際に計算する場合は
「プログラミング(デバッグ)をひと晩じゅうやるから」って
言ってますけど、きっと、CPU性能を引き出すため、
FORTRANとはいえ、機械の調子を見ながらゴリゴリに
チューンしてるのでしょうね。
distributed.netやseti@homeみたいな疎結合な
分散コンピューティングも効かないから、
このテの計算は多分これからもスパコンの独壇場なんだろな。
P.S
万有引力で有名なアイザック・ニュートン卿もいっとき、
πの計算に熱中していた頃があるようですね。
「なんであそこまでハマったんだろう」とか言ってたようだけど。
やはり、その計算の難しさと、いかに工夫のしがいがあるのかが
わかる人にはこたえられない魅力があるのだと思います。
Re:16進数で計算していますね (スコア:1)
誰も見てないだろうからID。
Re:16進数で計算していますね (スコア:0)
>>「プログラミング(デバッグ)をひと晩じゅうやるから」って
いやそういう理由ではなくて、地球シミュレーターは
東大からインターネット経由で使えないからでしょう。
かなり強度のあ
Re:16進数の円周率といえば (スコア:1)
でも、どうしても「π」って「求めたからって、だからなんなんだ」ってのが付きまとうので、どれだけの参加者が集まるかってところで成果が大きく変わってくるとは思いますが。
Re:16進数の円周率といえば (スコア:1)
Re:16進数の円周率といえば (スコア:0)
直前(#213524) [srad.jp]でコメントされている、
>16進数の桁数はいきなり求めることはできますが、16進数「でないと」いきなりは求められません。
ってのを読むと、
『16進数で特
Re:16進数の円周率といえば (スコア:1)
こうなると、クラスタを束ねて運用するよりも、とんでもないメモリ(容量・速度とも)を積んだベクトル型プロセッサで計算したほうが圧倒的に速いと思われます。
スパコンのシステムが一つに定まらないのは、それぞれ得意不得意があるからなんです。
Re:16進数の円周率といえば (スコア:0)
さっきの例を出すと、マシンAとマシンBで出した200桁の16進数を10進に変換する際には確かに全桁を見る。
でも、1度10進数にしたら、次に(例えば201~300桁)16進数から10進数に
Re:16進数の円周率といえば (スコア:1)
それ以前に、多少のエラーがあっても結果には大きく影響しない(若干精度が落ちるだけ)のSETI@Homeのようなプロジェクトと違って、参加の全クライアントから100%結果が返って来ることが望まれる計算には不向きではないでしょうか。
Re:16進数の円周率といえば (スコア:0)
望まれていないでしょう。
結果が返ってこなかったら他のクライアントへ頼むだけで対処できるし。
Re:16進数の円周率といえば (スコア:1)
Re:16進数の円周率といえば (スコア:0)
こっちなら納得。
#でも、間抜けな方法をとらなければ(必要なユニットの)100%回収もそれ程難しく無いと思う。
##っていうか、そういう方法で高効率を出すことを目標とした
Re:16進数の円周率といえば (スコア:1)
全部の結果を求めるためには、前の桁から順番に足していく必要があります。もし、他のマシンに計算をまかせてしまうようにすると、その計算のためのデータと結果を(親ノードと子ノードの間で)ネットワーク経由でやりとりすることになるため、時間的に無駄が生じやすいですよね。
SETI@homeとかメルセンヌ素数を求めるプロジェクトだと、子ノードは並列に計算してもかまわない(子ノード間での依存性がない)のですが、先頭から順番に計算していかないといけない、このような計算ではある一カ所でまとめてやった方が有利ですよね。
(超高速なネットワークで繋がれてさえいれば、別に一カ所でなくてもいいのですが…。)
Re:質問 (スコア:1)
過去の東大-日立の円周率計算って、新型のスパコンが納入されたときにそのハードウェア/コンパイラのバグ出しも兼ねてやるものでしたよね。
実績のない新しいスパコンだからこそ、検証が必要ということです。
で、バグ出しのついでに「世界新記録が出ました」と大々的に発表できれば日立としても嬉しい、と。
Re:質問 (スコア:0)
いかにも経験の無いソフト屋さんが言いそうな事ですな…
どんなに完璧な機械でも故障はあります。
あなたが書かれた様にメモリの異常もありますし、CPUにバグがあるかも知れない。
実際、我々が使っているPCでもメモリ異常は発生していますが、チェック出来る範囲で収まっているから表面化しないだけ。
いきなりハングしたマ