Silphireの日記: 円周率 3
日記 by
Silphire
円周率 (ざつがく・どっと・こむ)
すべてではなく任意の桁を知るには、デビッド・ベイリー教授らによって見出された公式がある。順番に求めなくてもわかるというから不思議。
というのが気になったので、れっつもしもしぐーぐるさん。教授の名前で検索したら一発で出てきました。
16進数で任意のn桁目の円周率の値を求める公式という事です。意外と簡単な数式だったのでちょっと驚きました。
こういう公式があるから円周率の計算を分散コンピューティングで行うことが出来るんですね。
すらどにて。 (スコア:1)
あと分散コンピューティングについては、無理っぽいんじゃない?という話 [srad.jp]もあるです。
全てのクライアントが100%信頼できる結果を返さなきゃいけないわけで。
いや、でも工夫して、偽造が事実上できないような暗号化をすればいいのかな。。。
いちお、「分散コンピューティング」の指すものが、ここ [cecm.sfu.ca]ならば、これはn bit目だけを気合を入れて求めるプロジェクトです。1000兆bit目めが求まってますが。。
分散させてる仕組みを読んでないのでなんともいえませんが、これって結果、信頼できるのかなぁ。。
Re:すらどにて。 (スコア:1)
分散コンピューティングの偽造問題はSETI [hotwired.co.jp]などでも問題があったりするので、今のところチェックを厳しくする、2度計算して結果を比較するなどの方法しかなさそうです。
しかし、円周率などの計算では2通りの方法で計算して結果が一致する事を確認するのが通例ですから、2度計算するという方法でもいいのではないかと思います。ただ、この方法以外に分散コンピューティングに適した計算方法があるのかは知らないので、2通りの方法で計算出来るのかどうか分かりません。
Re:すらどにて。 (スコア:1)
同じ計算を沢山のクライアントにしてもらえば信頼性は上がりますけど、絶対正しいかと言われるとうーん。
不正できないようにする方法はいくつか考えてみました。
この桁を計算してね、っていうのを送った時間とかから乱数を作り、500桁くらいのデータを100kBくらいに暗号化して送信、受信したのを照合。
500桁にしてみたのは、計算にある程度の時間がかかることで暗号化の方法をばれにくくするため、とサーバの負荷をちょっと考えて。
ただ、万が一つにも間違いがあればダメなので、そこは本当に辛いですね。
1つのデータの信頼度が0.9999999999でも、100億個のデータがあれば信頼度は1/e程度になってしまいますので。。
それと、データが集まったら結局、スパコンで10進数に直すんでしょうね(^-^;
それでもだいぶ手間が省けるには違いないですけれど。
#あ、技術を身につけたら分散で求めてみたいと思ってるです。
#そのときはもっと真剣に考えて。
#ちなみに、この記事を読んですらどに来るようになりましたです。