このブログ内を検索可能

2022年1月18日火曜日

プログラムの整合性を確かめる

 とうとう真にプログラムの準備が整ったが、せっかくなのでその正当性を確かめるべく、ランダムにDDの結果を返すプログラムで、本当にその値に収束するかどうかを試したい。

やり方としては適当にSPなどの入り混じったボールデータをもってきて、それに従ってマスを埋めていく。これを延々と繰り返して理論値に収束していけば、きわめてこのプログラムの信ぴょう性は高くなるということである。

ということでランダムパターンを組み、そのランダム抽選を1000000回繰り返して理論値のPO率と比較した。なおパターンは{1,2,3,4,8}とし、最適解は{17}であったので(=23マス目)PO率は0.966639となる。

ちなみにSP0個、1個、2個、3個になる確率は理論値ではなくデュエルドリームの規則に則り、残り球数を判定して都度カウントしている。そして0になればこれ以上の抽選を打ち切り、というパターンにした。いわばさっき求めた確率の確認を行っているともいえる。

先ほど設定した確率の計算などがうまくいっていればこの値に近づくが果たして…?

以下は100万回に向けてそのPO率の平均(実測)をプロットしたものである。

1000000回の平均は0.968276となり、先ほどの理論値0.966639とわずか0.0015ほど(ペイアウト率0.15%)の差。これは誤差の範囲と見ることができるだろう。証明はしない。
さていよいよ53130通りを動かしていく。