コンピュータのベンチマークテストに用いる円周率計算情報技術科の高校生の一学期の授業がもうすぐ終わる。「マルチメディア応用」と「ソフトウェア技術」を教えているが、一学期の締めくくりとして、コンピュータ(計算機)の飛躍的な性能向上が今日のマルチメディア社会を支えていることをある事例を持って説明したいと思い、この「2002/12 円周率を1兆2411億桁まで計算、東大と日立が世界記録」を題材に講義を行った。円の面積を求める際に用いる円周率πは、メソポタミア、エジプトの時代から神秘的な数字として研究されてきたが、この円周率を計算するスピードがスーパーコンピュータのベンチマークテストに使われていることは情報関係者を除いて案外知られていない。ここでは、その「円周率」計算秘話をご紹介したい。 「2002/12 円周率を1兆2411億桁まで計算、東大と日立が世界記録」東京大学情報基盤センター(所在地:東京都文京区)と日立製作所は2002年12月6日、円周率の計算桁数で世界新記録を樹立したと発表した。新記録は 1兆2411億桁(10進数)。3.14から始まり045で終わる。東京大学の金田康正教授や日立製作所の技術者を中心とする10名の研究チームが足かけ 5年の歳月をかけて達成した。円周率の計算自体も主計算、検証計算などを合わせて約600時間を要した。1兆2411億桁の円周率は1秒に1文字づつ読み上げた場合、読み終わるまでに約4万年を必要とする長さである。http://www.nikkeibp.co.jp/biztech/image/photo/20021206en1.jpg これまでの世界記録は1999年9月に金田教授のチームが樹立した2061億桁。わずか3年強の期間で6倍の桁数を更新した。金田教授によると「計算にメモリーが少なくてもすむDRM法(分割有理数化法)を採用したことが成功のカギ」だとする。計算には同センターが導入した日立製作所製の並列型スーパーコンピュータ「HITACHI SR8000/MPP」を使った。同コンピュータは144個のノードを備えるが、計算にはこのうちの64ノードを使用した。 計算に必要なプログラム・サイズは総計で7万9200行。開発には主要部分がFORTRAN言語、一部でC言語を用いた。 ●コンパイラの性能向上など副産物を生み出す円周率の計算は「面白いからやっている」(金田教授)【参照:「円周率の計算に関する話題」】とするが、コンパイラの性能向上や高速フーリエ変換など数値計算ライブラリの性能チューニング、磁気ディスク装置の入出力性能のチューニングなど、様々な副産物をもたらしたとする。 金田教授は今回の円周率の主計算に、1982年に高野喜久雄氏が発見した逆正接関数(Arctangent)を使う方法を用い、この方法に対してDRM法を適用した。一方、検証用の計算には1896年にF.C.M. Stoemerが発見した別の逆正接関数に基づく方法を利用。主計算結果と検証用の計算結果を比較して、計算結果の正しさを確認した。また、DRM法を適用することで、従来Nの2乗オーダーだった演算量をN×(log(N))の2乗〜N×(log(N))の3乗の対数オーダーへ削減することができた。計算はコンピュータが得意とする16進数で行い、その結果を10進数へ変換した。 ●ファイル・サイズが大きすぎて公開できない今回の新記録達成は、スーパーコンピュータを自由に使えたこともカギだったようだ。金田教授は、世界最速のスーパーコンピュータとして話題を呼んでいる地球シミュレータ(海洋科学技術センター横浜研究所に設置)に言及し、「地球シミュレータで円周率の計算をやってみたいが、おそらく難しいだろう。地球シミュレータは向こう(横浜研究所)へ行かなければ使えない。円周率の計算は一晩中デバッグしたりする必要があるし、インタラクティブな操作ができる環境が必要となる」とコメントした。 また、「1949年以来、コンピュータによる円周率の計算は結果的に10年で100倍くらいの割合で桁数が伸びてきた。しかし、今後はメモリーのコストの問題などから、伸びは頭打ちになってくる」と予測する。カリフォルニア大学バークレー校などが手がける SETI@homeのようなグリッド・コンピュータ型の計算手法については「前方の結果から影響を受ける計算なので、円周率を効率的に求めるのは無理だろう」とした。 http://www.nikkeibp.co.jp/biztech/image/photo/20021206en2.jpg 現在、研究チームは計算結果を分析中。0〜9の数字の出現頻度や乱数性の検定、連続する同じ数字の出現場所などの調査を行っている。これらの結果は金田教授の研究室のWebサイトなどで公開する予定である。ただし、1兆2411億桁の円周率自体はファイル・サイズが大きすぎて公開できない状況にある。 2002年12月6日(武部 健一) 「π計算プログラム 「スーパーπ Ver 1.1」」 円周率計算プログラム「スーパーπ」は円周率を1.6万桁〜3355万桁まで計算することができるWindows用プログラムです。 このソフトウェアは円周率の計算を行っている東京大学金田研究室が、世界記録を樹立したプログラムをWindowsに移植したものです。 この「スーパーπ」は、パソコンのパフォーマンスにより計算時間が大幅に違ってくることから、ベンチマークなどに幅広く使用されています。 「ソフトウェア技術」実習課題 EXCELを用いて円周率の計算を行う 円周率(えんしゅうりつ)数学定数の一つであり、π で表される。平面幾何学における円の周の長さと直径の比として特徴づけることができる。円周率 π は超越数の一つとしても知られており、小数点以下 35 桁(35桁くらいまでが実用的で、ルドルフによる計算の結果という歴史的な意味もある)までの値は次のとおりである。
π = 3.14159 26535 89793 23846 26433 83279 50288 …
円周率 π は無理数なので小数で表現すると無限に長い数値になる。その長い表現は何千年にも渡り、世界中で計算されてきた。ほとんどの目的には 3.14 や22⁄7の近似値を使い、これで十分である。技術系では 3.1416 や 3.14159 などを使用することが多い。天気予報や人工衛星などの計算では 30 桁程度の値を使用している。355⁄113などは覚えやすく精度が高い分数である。
それでは実際にEXCELを使って円周率の近似値計算を体験してみようπの求め方 モンテカルロ法による円周率の計算 1)正多角形を利用する。(手計算の時代)紀元前から行われていた。計測とかでは無く計算で求める方法で、最初にしたのはArchimedesと言われ2桁3.14まで求めた。その方法は円に内接、外接する正多角形の周の長さから求める方法で、Ludolfにあっては正2の62乗角形まで計算して35桁まで計算した。円周率計算のアルゴリズム 正多角形の面積 正多角形 円の面積モンテカルロ法による円周率の算出 モンテカルロ法 http://members.aol.com/Taijirou/m1.gif |
全体表示
[ リスト ]







今日は実際にEXCELで円周率の近似値の計算をやってみましょう。
2008/6/30(月) 午前 6:57