このブログ内を検索可能

2022年1月17日月曜日

マスのHITおよびオッズアップ実装

 とりあえず前半で入ったマスのIDと、配置可能FREE個数、残り球数を与えるとそのそれぞれのパターンでオッズアップの倍率および最後のマスの状況を返すようになった。

とりあえずいろんなパターン(イレギュラーなものを積極的に選んだ)を試して5回くらいやって全部あっていたのでおそらくあっているであろう。

実はここまでくるとかなりうれしく、ビンゴ判定から基礎oddsを定義し、それにもう算出したoddsの倍率を乗じるとそれぞれのパターンでのoddsが計算できる。これはつまり各配置に対してすべてのパターンが分かるので期待値が分かる。すると期待値が分かるということは期待値同士での比較ができるということになり、最適解を得られる。

我の目的はビンゴ数を最大にすることではなく、PO率を最大化する、オッズアップなども考慮したものを考えているので通常のビンゴ最大化より面倒だが、なんとしてでもDDでプレイヤーが我が有利かを暴く。

ちなみに結果は一番下の段に出ている。1.6というのは残り3球がすでに入っているマスにHITしてオッズアップ+0.2が3回起きたということ、{22,23,24}というのは前半に入ったマスを除外した残りの球の辞書式配列の最後(forで繰り返した後なので最後の結果が出てきている)であり、その右がビンゴの判定に使うmassの状況で、0は未HIT、1はHITを表す。

もし演出付きでビンゴを作成するならもう少し場合分けをしなければいけないがここではそれは必要ない。