プチコンの乱数はどう?
@pman4416 さんから
とふられたので、少しがんばって考えてみた結果のまとめ。
(ツイートを貼り付けただけ、というすさまじい手抜きっぷりはご勘弁ください。)
@pman4416 @fusuian ちょっと調べました。サイコロの値nに対して、O:観測値、E:理論値として、χ^2=Σ(O-E)^2/Eとします。Σはサイコロの値nすべてにたいしてとります。このχ^2だけでは評価できないですが、いろんな言語のχ^2と比べたら評価できそうです
2012-03-04 13:12:59 via twicca to @pman4416
ということで、上記定義を使ってχ^2をとってみて、言語環境ごとにχ^2を比較したら、“他の環境と比べて”だけど、良いとか、悪いとか、言えるんじゃないの、という考え。
もし、拙ブログをお読みの方で、間違ってるよ!とかご意見ありましたがご指摘ください。
というような感じで、プログラムを書いて比較してみた。
プチコン http://t.co/KvCr4vaX
Python https://gist.github.com/2001523
JavaScript http://jsdo.it/eida_s/a9ET
25500(255*10)回を1試行として、χ^2を算出し、10回試行して、試行ごとのχ^2の平均をとってみたのが以下の表。
試行 | petitcom v1.2 | Python2.6.1 | javascript (safari mac os X 10.2) |
---|---|---|---|
1 | 216.285 | 255.71 | 228.78 |
2 | 233.083 | 278.49 | 236.76 |
3 | 242.666 | 229.45 | 232.48 |
4 | 262.223 | 213.45 | 231.68 |
5 | 259.844 | 228.09 | 279.7 |
6 | 241.565 | 274.17 | 253.76 |
7 | 251.223 | 234.35 | 256.74 |
8 | 240.926 | 272.19 | 287.18 |
9 | 283.485 | 299.41 | 257.84 |
10 | 282.204 | 225.09 | 246.6 |
average | 251.3504 | 251.04 | 251.152 |
なに〜〜〜〜〜〜〜〜〜〜?!
10試行したら平均がほとんど同じじゃないか?
これは比較の仕方がまずかったのだろうか...。
また後でちゃんと検証しよう。
簡単かと思ったら、意外に難しいのかも。とほほ。。。