円周率の計算

2017年8月2日パソコン・インターネット,学問・資格

新聞を読んでいたら、次の記事が目に留まりました。引用しておかないと、新聞記事が消えてしまうので、著作権の範囲内と思われる程度に引用させていただきます。

 長野県飯田市松尾代田の食品会社員近藤茂さん(55)が昨年8月に計算した円周率5兆けたの記録が、ギネスブックに認定された。普段は近藤さんの「趣味」に興味を示さない家族からも祝福されたといい、現在、10兆けたの達成に挑戦中だ。

asahi.com(朝日新聞社):円周率5兆けた計算、ギネスも認めた 長野の会社員 – 社会より

すごいなぁ。どこかの研究機関の記録ではなく、個人の結果です。5兆桁は、それまでの世界記録約2兆7千億の倍近くです。

それを計算するのに使ったのは、自作パソコンだって!! それを自分で作った事もすごいし、正しく計算させ切ったと言うのもすごいです。安定して動いていないと、途中で止まってしまいますし…。停電に遭ったら止まっちゃうから、バックアップ電源も用意していたのかな? 他の記事で読んだ所、実際そうだったみたいです。

円周率には、色々な計算方法があって、それのどれかをプログラム化したのだと思います。100桁とかだったら、多少効率の悪いプログラムでもすぐに(一瞬に書かれている)答えが出そうですけれど、5兆桁でしょ! 100桁の500億倍。プログラムを最適化しないと、答えを出すのに、ものすごい時間がかかってしまいます。

プログラムがあっているかどうかの検証は、どうやるんでしょうね。別公式で計算して、結果の一部を比較するみたいです。へぇ〜、そんな事ができるんだ。

ちょっと検索して出てきた記事を紹介します。まとめていただき、ありがとうございます。

これを読むと、プログラムを作ったのは、米国のアレクサンダー・J・イーさんと言う、別の方みたいです。メールでやりとりしながら、共同作業で達成したのですね。遠距離で直接会えないと言うハンディ、時差もありますし、言葉の壁もあるでしょうし、よくやり遂げましたね。

特別仕様のパソコンだから、プログラムも専用プログラムになるはずです。

上手く動かないと、プログラムのせいなのか、自作パソコンのせいなのか、切り分けが難しいでしょうね。近くに居れば、お互いにちょっと確認して解決ができる様な事でも、メールでやりとりしなければなりません。考え方の違いもあったでしょうに。良く諦めずに、続けられたと思います。

パソコンのスペックは、CPUは3.33GHz x 12core、96GBメモリ、39TB HDDで、OSはWindows Server 2008だそうです。そんな程度(普通のパソコンから比べると遥かに高スペックですが、技術計算用パソコンと比べると並のレベル)でできちゃうんだ。

私が、パソコンをやり出した頃に、円周率の計算をした事があります。たった100桁ですけれど、計算が終わった時は、嬉しかったなぁ。RAMって言う雑誌の別冊に、プログラムが載っていました。それを元に、簡易型Fortranに移植して、計算させました。CPUは4MHzのZ-80、48kBメモリ、HDD無しです。

その後、ミニコンを使う学生実験がありました。Fortranプログラムの実習です。どんなプログラムを作っても良かったので、円周率の計算にチャレンジしました。簡易型Fortranの時は、変数に整数型しか使えなかったので、整数型を使いました。ミニコンのFortranでは実数型も使えます。変数一つ当たりの収容桁数を多くするために、変数に実数型を使ってしまいました。1変数当たりの桁数を多くした方が、速くなると思って。ところが、実数型のために、計算時間が大幅に長くなり、タイムアウトしてしまいました。計算失敗です。

実数型の計算って、そんなに遅くなんるだ…。

一回限りの実行しか許されていなかったので、やり直しができませんでした。今でも悔いが残る結果です。指導教官に食い下がって、もう一度やらせてもらう様に、お願いすれば良かったのかなぁ。

近藤茂さんは、今、円周率10兆桁に挑戦中だそうです。ガンバレ!!

[amazonjs asin="4061328891" locale="JP"]

Posted by お市のかた