パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

自宅 PC で円周率計算のギネス記録を取得した男性、記録を更新」記事へのコメント

  • by Anonymous Coward on 2011年10月18日 11時42分 (#2036212)

    この手の話を見る度に思うんだが、途中でやめずにずっとぶん回してれば、ハードウェアが壊れるまでいつまでも記録を更新し続けられるんじゃないかと。

    限界までマシンに負荷をかけているから、結構すぐマシンがいかれるとか? で、チキンレースとかなの?

    電気代が払えるまでとかじゃないよね。

    • by s02222 (20350) on 2011年10月18日 12時21分 (#2036244)
      ざっぱなイメージだと、どこまでも続く数の足し算と掛け算を筆算でやることを考えただけでもだいぶ話は違ってくる。

      足し算なら、桁数がどんなに多くても、下から順に計算を進めるだけで、どこまででも計算を続けられる。

      掛け算だと、どっかで止めて次の桁に移らないといつまで経っても答えは1桁すら出てこないことになる。

      掛け算程度だと計算の順序を工夫すれば下から順に桁が定まるというのも可能だけど、円周率の計算ははるかにややこしいのでそう簡単にはいかない、と。

      5兆桁まで求めたときの全ての途中経過をどこかに保存しておいて、10兆桁まで計算する際の一部の計算をはしょる、みたいなアルゴリズムは数学的には可能なのかな? ただ、現実的には、「世界最速クラスのPCが数ヶ月吐き出し続けた全計算ログを保存しておいて後で利用」みたいな話なので、そんなストレージはあり得ないんだろうけど。ついでにはしょれる量が全計算量に占める割合もたいしたことが無いのかも?
      親コメント
      • by Anonymous Coward

        ラマヌジャンの公式のように途中までの計算を有理数の形に蓄えて実行できるものもある.

        有理数型の計算公式は,きわめて多くの多人数で分散処理できるメリットもあるが,今のところ,よい実装はないようだ.

        高速計算タイプのものでは乗算の計算に高速フーリエ変換による畳み込みにより桁数の2乗オーダーの計算量を桁数×桁数の対数までに縮められる方法を使うものが多い.

        高速フーリエ変換を使う場合,計算桁を継ぎ足して行くことは不可能といってよい.

    • by Anonymous Coward on 2011年10月18日 12時22分 (#2036245)

      別ソースの新聞記事でしたが、落雷による停電があったそうです。
      電源装置(UPSだろう)でしのいだが、復旧するまで生きた心地がしなかったそうな。

      停電・落雷対策、対ハードウェア障害、対電源障害、対ノイズなど、色々と対策が必要なようで。
      それだけ見てもけっこうすごいのかもね。

      親コメント
      • by Anonymous Coward

        単なるパソコンかもしれんけど,そこに必要とされるハード・ソフト要素は
        確かにスーパーコンピュータに要求されることと同じですね。

        こういうの計算機科学の学生にやらせるといいんじゃない?

    • by Anonymous Coward
      頭から一桁ずつ求まっていくわけじゃないよ。どんどん収束はしていくけど、100桁求めようと思ったら最初から100桁分計算しないとだめ。
      • by shibuya (17159) on 2011年10月18日 13時04分 (#2036288) 日記

        ダイクストラの円周率計算アルゴリズムというのが30年くらい前の数学セミナーに紹介されていて、lazy evaluationやらなにやらと術語をちりばめてましたがlispで一桁ずつ求まっていくタイプのものでした。速いか遅いかはさておいて。
        # 当時、知人が学内の計算センターで結果を示して見せてくれたのでid

        親コメント
        • by Anonymous Coward

          そんなの遅いに決まってるじゃん。常考。

      • by Anonymous Coward

        収束するならNが大きくなるに従ってεを2^-1, 2^-2, 2^-3, ...と小さくしていけるんだから
        一桁ずつ求まっていくとしか思えないんだけど。
        途中の桁を飛ばして特定の1桁だけを求められるアルゴリズムも知られてるけど、それ使って全桁求めようとしたらかえって遅くなるし。

    • by Anonymous Coward

      単に長時間ぶん回すだけだと、後発の性能の良いハード/ソフトを使ったライバルにいつかは追い抜かれる
      (時間がたてばパソコンの性能はどんどん向上するから)
      チキンレースではなく、技術競争の一面もあるのでは?

    • by Anonymous Coward

      http://ja.wikipedia.org/wiki/%E5%86%86%E5%91%A8%E7%8E%87 [wikipedia.org]
      を見るとわかりやすいよ。Π/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 ...と書かれている式を実際に計算すると大変さが感じられる。
      右辺を1つづつ計算していくと
        1
        1 - 0.33333333... = 0.6666666....
        1 - 0.33333333... + 0.2 = 0.8666666...
        1 - 0.33333333... + 0.2 - 0.14285714... = 0.723809...
      という具合に、4回計算しても第1桁さえ収束しない。だから高速計算が要求される。

      繰り上がりが多いから、かなり小さな桁も正確

      • by Anonymous Coward on 2011年10月18日 12時29分 (#2036256)

        >4回計算しても第1桁さえ収束しない。

        いやまあ、言いたいことはわかるんだけど、その式は円周率を求める式の中でも特に収束の遅い式だから例にするのはどうかな。
        普通使ってる式はもっと収束が早い。

        親コメント

開いた括弧は必ず閉じる -- あるプログラマー

処理中...