Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, 01-26-2006
さて・・・
0 と 1 の間の数をランダムに N 個選ぶ。 0.34873 と 0.84331 と 0.03224 とか。それを足してから四捨五入して整数にする。例の数字だと、和は 1.22428 で四捨五入すると 1 。次にそれぞれの数を四捨五入してから足す。0 + 1 + 0 = 1 。この二つの足し算の結果が同じになる確率はどれくらいだろうか?
数が二つしかない時は、ちょっと考えれば解ける。 3/4。
数が三つになると、ちょっと大変だけど答は 2/3。四つ以上だと、大変。僕には解けない。そういう時は・・・
解法その 1。
シミュレーション。
例えば N が 50 の時。ランダムに 50個の数字を選ぶ。足して四捨五入する。四捨五入して足す。それがいっしょかどうかチェックする。これを 500回繰り返して一緒になった確率を求める。500回のうち 96回一致した。確率は 19.2%。一回だけじゃなんだから、あと 4回やってみる。確率は 16.2% 19.6% 17.0% 19.0% だった。それをいろんな N でやってみる。2から 100までの N でやってみた。横の軸がN。黒い点が、500回繰り返した時一致した確率を示している。N=50のところの黒い点が 5つ、19.2% 16.2% 19.6% 17.0% 19.0%のところにある。
これによると、N が 2の時の 75% から始まって、一致する確率は急激に減っていくけど、N が 20 くらいから、減り方が緩やかになって、N が 50より大きくなると、一致する確率はほとんど横ばい。
横ばいに見えるけど、緩やかぁに減り続ける。N → ∞ の時、この確率は ↓0。
解法その 2。
概算。
この確率は N が大きい時は、Central Limit Theorem (中心極限定理)を使って近似値を求めることが出来る。
むにゃむにゃむにゃと計算すると、その近似値の式はとなる。
は正規分布の累積分布関数とする。
上の図で、緑の線がこの近似値。
N が大きい時の近似値だけど、N が 2とか 3でもかなり正確な答を出している。
N | 2 | 3 | 4 | 5 | 10 | 15 | 20 | 30 | 40 | 50 | 60 | 80 | 100 | 150 |
確率 | 75% | 67% | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
おおよそ | 78% | 68% | 61% | 56% | 42% | 35% | 30% | 25% | 22% | 19% | 18% | 15% | 14% | 11% |
おおよそ、と表現したけれど、かなり正確だと思われる。という訳で、例えば、ランダムに選んだ数字を 30個足してから四捨五入する、四捨五入してから足す、答が一致する確率は 25%。
ま、「だから何?」と言われると困っちゃうんだけどね。ただ計算してみたかったから計算しただけ。普通の人の日常生活では役立たない、と思う。うぅん、でもこれが役立つ日常生活ってのもちょっとやだなぁ。
つけたし : でも本当に必要なのは、一致する確率じゃなくて、不一致の時にどれくらい違うか?ってことかな。四捨五入するとメモリがちょっとでいいし計算が楽になるけど、情報が失われる。その代償はどれくらいなんだろうか?
えぇと、これは簡単だな。ま、いずれそのうち。