2010年08月05日

◆ 円周率とパソコン

 円周率をパソコンで計算して、新記録を出したという。これにどんな意味があるか?

 ──

 まずは記事の紹介から。
  3.141592……と続く円周率を、長野県飯田市の会社員近藤茂さん(54)らがパソコンで小数点以下5兆けたまで計算した。計算が正しければ、フランスのエンジニアが昨年末にパソコンで出した記録(約2兆7千億けた)を大幅に更新し、世界一になる。2兆けたの壁を初めて破った筑波大の研究まではスーパーコンピューターが主流だったが、長大な円周率計算もパソコンでできる時代になった。
 計算には近藤さんのウィンドウズ・パソコンを使った。プログラムを作った米国のアレクサンダー・J・イーさんとメールをやりとりしながら、5月4日に計算を始め、3カ月後の今月3日に終了。フランスの計算のときに行われたように、検証のため最終けた付近の32けた(16進法)を別の公式で計算したところ一致した。
 計算で大量のデータを記憶させるため、パソコンには通常の数十台分にあたる22テラバイトのハードディスクを搭載。演算速度などを決めるCPUはインテルの最高レベルのもの(3.33ギガヘルツ)を使った。パソコンの費用は百数十万円かかったが、市販製品でまかなえた。
 近藤さんは高校生のとき、コンピューターによる円周率計算に興味を持ち、「未知のけた」をずっと追ってきた。「フランスでパソコンでも記録が出せるのを知って挑戦してみようと思った。今度は10兆けたに挑みたい」と話す。
 スパコンで世界で初めて1兆けたの記録を作った金田康正・東京大教授は今回の計算について「別の公式で全けたをチェックしていない不完全さはある」としながらも、パソコンの性能が向上して「家庭用のパソコンを使って力ずくで長大な計算が行える時代になったのは確か」とみている。
( → 朝日新聞 2010-08-05
 ──

 この話題については、前にフランス人が記録を破ったときに、私が本サイトの「円周率とスパコン」という項目のコメント欄で言及した。転載しよう。  
 あとで考え直したが、このパソコンの記録は、計算方式が抜群に優れていたのではなくて、次のことが理由になっていたのだと思う。
 「2兆桁以上ものデータになると、データの量が大きくなりすぎるので、計算処理の速度よりも、データの出し入れの方がボトルネックになる」
 
 2兆桁は何バイトか……と計算するのは面倒だからやめておくが、ものすごいデータ量になる。それを出し入れするために時間がかかる。
 計算処理は、スパコンが 2000倍だとしても、データの出し入れには、スパコンが 2000倍ということはないだろう。一般に、HD の速度に比べて、SSD の速度は2倍ぐらい。DDR だともっと早いが、それでも数倍か十数倍ぐらいだろう。2000倍にはならない。
 つまり、スパコンの計算速度が 2000倍で、データの出し入れ速度が 10倍だとすると、桁数が少ないときには、スパコンの速度は2000倍になるが、桁数が極端に多くなると、スパコンの速度はデータの出し入れ速度に依存して、20倍ぐらいになりそうだ。となると、2兆桁のトータルで、45倍ぐらいの速度になったとしても、おかしくない。
 要するに、「円周率の計算」というのは、(桁数が多くなると)データの出し入れ速度に依存するような計算だから、あまりスパコン向きではないのだ。むしろメモリのあたりがボトルネックとなる。
 その意味では、GPU を使う計算機も、円周率の計算には向いていないだろう。
 ──

 すぐ上のことから、次のように結論を出せる。

 桁数が1兆桁未満のころ(前期)には、円周率の計算は、CPU の能力を意味した。円周率の計算を多大になすことは、CPU の能力の高さを意味し、その能力の向上は、コンピュータの能力の向上を意味した。それは、円周率の計算のみならず、たのさまざまな分野に波及する能力だった。

 桁数が1兆桁を越えるころ(後期)には、円周率の計算は、CPU の能力よりも、(ボトルネックとなる)データの出し入れの能力に依存するようになった。その点では、スパコンはパソコンよりも優位に立つが、圧倒的に優位というわけでもない。( データの読み込み・書き込みの速度は、 HDD に比べ、メモリは数倍程度の速度でしかない。圧倒的な差はない。)
 ここでは、円周率の計算は、CPU の能力の差よりも、データの出し入れの速度に依存するのであるから、その能力の向上は、コンピュータの能力の向上を意味しない。それは、円周率の計算のみならず、他のさまざまな分野に波及する能力ではない
 なぜなら、たいていの場合の計算は、2兆桁にもなる計算ではないからだ。通常は 64ビット( ≒ 1019 ) 以下の計算である。( ※ たとえば、マイクロソフトのエクセルの場合、最大桁数は 15桁である。15桁と2兆桁では、データ量にどれほどの差があるでしょう?   (^^); )
 
 ──

 要するに、こうだ。
 前期には、円周率の計算は、コンピュータの性能を示す指針となった。
 後期には、円周率の計算は、データの出し入れの能力を示す指針となった。それは一般のコンピュータ用途においては、ほとんど意味がない。というわけで、円周率の計算は、もはやほとんど無意味になったのだ。……それが今回の結果でわかったことだ。
 
 本人は「今度は10兆けたに挑みたい」と話しているそうだが、もはや無意味になったと自分で証明したあとで、その無意味なことの桁数を増やしても、何の意味もない。「桁数を増やしたい」というのは、前期には意味があったことだが、その幻想に囚われているのだろう。

 ちなみに、今回の計算には(22テラバイトのハードディスクのあるパソコンで)まる3カ月かかった。この程度の計算なら、スパコンを使えば、1日ぐらいで済む。ただ、馬鹿馬鹿しいから、そんなことはやらないだけだ。円周率は桁数が無限になるとわかっているのに、桁数をいくらか増やしたところで、意味がないからだ。

 ──

 今回の2兆桁の本人は、頭のいい人らしいから、どうせならもっと別の分野に進んだ方がいい……と思ったのだが、記事によると、もう 54歳だということだから、別方向に進むのも無理かも。この道を究めるのも、一つの生き方だ。(でも、お金を使って物量攻勢をかける人がいると、あっさり負けます。  (^^);  )

 ただ、そこいらの萌えマニアみたいなオタクに比べれば、こういう方向で研究心を発揮する方が、ずっと立派だとは言える。ラブプラスなんかに熱中するより、円周率に熱中するのは、さすがだ。若いオタク研究者に、爪の垢でも煎じて飲ませて上げるといいかも。そうすれば、日本のIT水準も、いくらか向上するかも。   (^^);
 
( ※ この人は 54歳だが、昔からずっと円周率の研究をしていたわけではあるまい。先のフランス人のニュースを聞いて、一念発起したわけだから、スタートラインは、若い人と同じだ。それでいて、若い人々を出し抜いて、世界的な水準に立った。私は先に、フランス人を称えたが、今回は、この日本人のおじさんを称えたい。……逆に言えば、若い人々が情けないかな。ここでは、技術がどうのこうのというより、意欲の違いが大きかったと思う。何しろ、このおじさんは、「星飛雄馬」や「あしたのジョー」の世代ですからね。根性が違う。)
  
posted by 管理人 at 19:21 | Comment(8) | コンピュータ_04
この記事へのコメント
 本人によるアナウンスは、下記のページで。(現在、英文のみ。)

http://www.numberworld.org/misc_runs/pi-5t/announce_en.html

2 TB SATA II の HDD を 16 台、Raid で結んでいる。
Posted by 管理人 at 2010年08月05日 22:31
全体的な主旨は概ね同意ですが、HDDとメモリは2000倍も違わないにしてもかなりの差はありますよ。
たとえ凄い違わなくても、何度も繰り返せばものすごく遅くなります。

結果自体はあまり意味が無いかもしれませんが、数カ月かけて巨大なデータを安定して扱う技術やノウハウは侮れませんよ。
Posted by sumeshi at 2010年08月06日 00:56
確かに、その世代は根性はあるようですが、情けない若い人々を育ててきたのもその世代ですよ。

根性だけじゃなくて、教育術も持っていてほしかったですね。
Posted by 空っぽ at 2010年08月09日 23:33
 なるほど。若い世代は、自分の生き方さえも、親の世代のせいにしてしまうんですね。
 そこまで根性なしだとは思わなかった。参考になりました。

 萌え中毒のオタクも、親のせい? 
 
Posted by 管理人 at 2010年08月09日 23:44
こう育ってしまったのは親のせいだ
→だからオタクで仕方ない
→でも根性だして頑張る

どちらも選択できるので、親世代の育て方も見直したほうがいいのでは?
昔より明らかに萌えオタクが多くなっているのだから社会的な問題ですよね。

実際、自分は7歳の男の子が居ますが今はマザコンになりつつあり、将来萌えオタクになったらどうしようと不安がありますが、どう育てたらそういうのにならないのか。オタクでひきこもりになっちゃったらどうしよう。という不安がありますが具体的にどうしたら良いのか悩んでます。
南堂さん、いい方法無いですか?!
Posted by sumeshi at 2010年08月10日 15:48
オタクから脱出する方法は、これまで何度も書いてきたので、サイト内検索してください。「オタク」という語で。

オタクにならない方法も、それを参照にしてください。

ま、一番簡単なのは、ケータイ電話やゲーム機から隔離することです。
Posted by 管理人 at 2010年08月10日 19:59
本当の意味で隔離、つまり存在自体知らずに育てば良いけど、現実的にはゲームも携帯もその存在を強く発揮していて、子供というのはものすごく欲しがるわけです。(個人差有り)
たとえうちではダメだと言って買わないと、よその家に入り浸ってまでゲームしたいわけです。
それならむしろうちで心ゆくまでやらせて飽きて、それまでのものだと知らしめるのもひとつの方法だと思ってます。

管理人南堂さんの指摘は門外漢からみたらそれらしいけど、実質当事者から見たら甘甘なんですよ。要するに、ゲーマーが飛行機操縦できると妄想してしまうのと同じです。んなこと誰でも考えるんだよ。それから先の答えが出ないからなんだよ。
Posted by sumeshi at 2010年08月12日 00:46
 こうすればいいとは言ったけど、それが簡単にできるとは言っていませんよ。
 躾(しつけ)の努力を放棄している親がいるとすれば、やはり親の世代に問題があるのでしょうね。私としては、親は躾をするのが当然だと思っていましたが。
 ま、スイッチをポンと押せば子育てがちゃんとできます、と思う親の世代が問題なのかも。
Posted by 管理人 at 2010年08月12日 06:23
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。