PO調整機構ver1.4にて、ビンゴバルーンにそこそこましな配置アルゴリズムを適用。内容は全記事に書かれている。さて、ボンバーのPO率設定の基準は落下してくる爆弾の色にのみ依存する、とされていたが、さすがにこれでは弱そう、ということでチェーンボンバーの初期配置にも手を加えることにした。
チェーンボンバーの初期配置は現行ではランダムに1から54までの数字を2つ選んで、その2つのマス間で番号を入れ替える、というもの。最初には上のほうに1~25が配置されているが、この入れ替えを繰り返せばランダムっぽくなるであろう、という発想。
この現行の配置システムに基づけば、54までの数字の選びを48や42などにすると、上のほうにばかり番号がまばらに分散することになる。
これをつかさどる引数を「上段指数」とする。
この上段指数が大きければ大きいほど、上段に番号が集まりやすい、つまり低設定となる。
上段指数が100の場合は最低設定、ということで上から6段に分散させて、0の場合は普通に分散する、ということにする。下段に集中させるのはちょっといろいろ準備が必要なため。あと指数有効率として、たとえば80と設定すると80%の確率で上段指数に基づいた番号の入れ替えが行われる。でないと下1,2,3段とかにまったく出現しないなどの極端な例が発生してしまう。
上段指数が100で指数有効率が100ならば全部上5段におさまり、
上段指数が100で指数有効率が0ならただのランダム分散、
上段指数が0で指数有効率が0でもランダム分散、
上段指数0で指数有効率100のときもランダム分散。
こうするためには上段指数100で選択範囲が30、上段指数0で選択範囲を54としたいので一次関数の決定とまったく同様に考えて-0.24x+54でよい。
以下の画像は比較用。
上段指数100,指数有効率50
上段指数100,指数有効率80
上段指数100,指数有効率95(笑)
上段指数50,指数有効率80
上段指数50の場合、先述の式によると上限IDは42であるから、上から7段目同士までの入れ替えを90%の確率で行い、それ以外はランダム入れ替え、ということになる。
すると上の画像のように、上7段に集中しやすくなる。
いろいろ実験した結果、とりあえず上段指数100,指数有効率75を最低設定、つまり状態値0として、状態値100では上段指数0,指数有効率0にする予定。つまりランダム配置。
もっとPO率を上げるには、もっと爆弾の色を増やす。下段集中のプログラムはまたやりたかったら作る。
これらの設定を施しPO調整機構ver1.4を立ち上げる。