アカウント名:
パスワード:
何でどのチームも途中で計算止めちゃうの?計算しているぱそこんが熱暴走でもしちゃうの?そのまま計算し続ければ永遠に世界記録更新し続けられると思うんだけど、この手の新記録更新って何か意味があるの?
それともエロくない俺は何も分かっていないの?エロい人いたら教えてくらはい。
円周率は、疑似乱数列みたいに「関数を呼んだら次の桁の値が取得できる」ようなものではない(少なくとも今の時点ではそういう手法は発見されていない)
具体的な計算方法は「円周率 公式」とかで検索すると無限級数とか反復演算とかいろいろ出てくるけど、これらを使って円周率を計算するには大雑把に言うと
1. まず最初に何桁まで計算するか決める2. その精度まで無限級数の各項を計算する3. 各項の和を求める
という手順が必要。たとえばこの手順で1億桁まで求めたとして、じゃあ次は2億桁まで求めようとしても結局各項の1億1桁目〜2億桁目までの値をそれぞれ計算する必要があるし、1億桁目までの値がそれ以降にも影響するのでいきなり1億1桁目以降の値を計算することもできない。
つまり、「延々と円周率の値を計算して世界記録を更新し続ける」ことは(今の所)できない。
※ただし二進法表現ではいきなりn桁目以降の円周率を求める方法が見つかっているので、そのうち十進法表現でもできる方法が見つかるかもしれない※一応、これまでの計算結果を元にさらなる桁数をより少ない時間で計算する方法があるにはあるけど、円周率の結果以上の大量の情報を保存しておく必要がある
ってことは、十進法表現にこだわって精度を追求するメリットが薄れる、かもしれないのか。
何を表現したいのかいまいち分からないけど、多分、認識がずれてるせいじゃないかな。計算自体は10進数では行われていない。264進数とか、計算に使う環境で一番効率の良いやつで計算して最後に10進数に変換してる。
一桁1バイトとしても 56TBぐらいストレージ必要だしなぁ
1桁1バイトは容量を無駄遣いじゃないか
おパイをいじり続けるにはおゼゼがかかるのよボウヤ
段々と遅くなっていくからうま味がない。
例えばもっと単純な、ルートの計算 [wikipedia.org]でも、より小さい桁を求めようとするごとに1桁を求めるのに掛かる計算が順に増えて行く。πの計算だともっと酷いことになる。
ずっと回し続けると、1秒に100桁求まっていたのがやがて1秒に10桁になり、1桁1分以上掛かるようになり、…と、遅くなっていく。62兆桁求めました! がじわじわと、62兆飛んで1万桁求めました! に増えても誤差でしかない。電気代だかクラウドとかスパコン利用量だかがもったいないから、とりあえず圧倒的な差を付けたところで止めるのがベスト。
今時の円周率の算出は、そんな「ずっと回し続けるとさらに細かい桁まで一桁づつ順次求まっていく」ような計算の仕方なんてしてませんよ。ざっくりといえば、「目標精度の数値を表現できる固定のデータ領域」をまず確保した上で、その上で「円周率の計算式」を実行する、という流れ。
計算が完了したら目標桁数分の数値が確定しますが、それ以上細かい数値を算出したくても、それに足る精度な中間式の計算結果がありませんので、そこからさらに次の桁の数値を求めるなんてことはできません。
それもちょっと違う今は「ずっと回し続けるとちょっとづつ精度が上がる」公式を効率よく計算する方法を使ってるので、中間結果を保存しておけば続きを計算する事は可能乱暴に言えば、前半部分を計算した結果と、後半部分を計算した結果をくっつけることが出来るただし、4倍くらい保持するデータが必要
π進数で10
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
※ただしPHPを除く -- あるAdmin
世界記録も何も永遠に計算し続けられるだろ (スコア:0)
何でどのチームも途中で計算止めちゃうの?
計算しているぱそこんが熱暴走でもしちゃうの?
そのまま計算し続ければ永遠に世界記録更新し続けられると思うんだけど、この手の新記録更新って何か意味があるの?
それともエロくない俺は何も分かっていないの?
エロい人いたら教えてくらはい。
Re:世界記録も何も永遠に計算し続けられるだろ (スコア:2, 参考になる)
円周率は、疑似乱数列みたいに「関数を呼んだら次の桁の値が取得できる」ようなものではない(少なくとも今の時点ではそういう手法は発見されていない)
具体的な計算方法は「円周率 公式」とかで検索すると無限級数とか反復演算とかいろいろ出てくるけど、これらを使って円周率を計算するには大雑把に言うと
1. まず最初に何桁まで計算するか決める
2. その精度まで無限級数の各項を計算する
3. 各項の和を求める
という手順が必要。
たとえばこの手順で1億桁まで求めたとして、じゃあ次は2億桁まで求めようとしても結局各項の1億1桁目〜2億桁目までの値をそれぞれ計算する必要があるし、1億桁目までの値がそれ以降にも影響するのでいきなり1億1桁目以降の値を計算することもできない。
つまり、「延々と円周率の値を計算して世界記録を更新し続ける」ことは(今の所)できない。
※ただし二進法表現ではいきなりn桁目以降の円周率を求める方法が見つかっているので、そのうち十進法表現でもできる方法が見つかるかもしれない
※一応、これまでの計算結果を元にさらなる桁数をより少ない時間で計算する方法があるにはあるけど、円周率の結果以上の大量の情報を保存しておく必要がある
Re: (スコア:0)
ってことは、十進法表現にこだわって精度を追求するメリットが薄れる、かもしれないのか。
Re: (スコア:0)
何を表現したいのかいまいち分からないけど、多分、認識がずれてるせいじゃないかな。
計算自体は10進数では行われていない。
264進数とか、計算に使う環境で一番効率の良いやつで計算して最後に10進数に変換してる。
Re: (スコア:0)
一桁1バイトとしても 56TBぐらいストレージ必要だしなぁ
Re: (スコア:0)
1桁1バイトは容量を無駄遣いじゃないか
Re: (スコア:0)
おパイをいじり続けるにはおゼゼがかかるのよボウヤ
Re: (スコア:0)
段々と遅くなっていくからうま味がない。
例えばもっと単純な、ルートの計算 [wikipedia.org]でも、より小さい桁を求めようとするごとに1桁を求めるのに掛かる計算が順に増えて行く。πの計算だともっと酷いことになる。
ずっと回し続けると、1秒に100桁求まっていたのがやがて1秒に10桁になり、1桁1分以上掛かるようになり、…と、遅くなっていく。
62兆桁求めました! がじわじわと、62兆飛んで1万桁求めました! に増えても誤差でしかない。
電気代だかクラウドとかスパコン利用量だかがもったいないから、とりあえず圧倒的な差を付けたところで止めるのがベスト。
Re: (スコア:0)
今時の円周率の算出は、そんな「ずっと回し続けるとさらに細かい桁まで一桁づつ順次求まっていく」ような計算の仕方なんてしてませんよ。
ざっくりといえば、「目標精度の数値を表現できる固定のデータ領域」をまず確保した上で、その上で「円周率の計算式」を実行する、という流れ。
計算が完了したら目標桁数分の数値が確定しますが、それ以上細かい数値を算出したくても、それに足る精度な中間式の計算結果がありませんので、そこからさらに次の桁の数値を求めるなんてことはできません。
Re: (スコア:0)
それもちょっと違う
今は「ずっと回し続けるとちょっとづつ精度が上がる」公式を効率よく計算する方法を使ってるので、中間結果を保存しておけば続きを計算する事は可能
乱暴に言えば、前半部分を計算した結果と、後半部分を計算した結果をくっつけることが出来る
ただし、4倍くらい保持するデータが必要
Re: (スコア:0)
π進数で10