麻雀AI開発その86・シミュレーションの改造(枚数を赤ナシベースに)
2018-07-26(Thu)
発端となったのは7月15日分のツイッターのお題。
黒5sと赤5sの放銃率が違う原因として、
黒5と赤5を別個の牌としてAI内のシミュレーションで扱っていて、
その中でも切る牌の他家への放銃率について、
5牌以外は4枚中何枚見えてるか何枚持っているかで分類してパラメータを取っています。
5牌については黒と赤を別個の牌としてとらえていたので、
黒5牌が3枚中何枚見えてるか何枚持っているか、赤5牌が1枚中何枚見えてるか何枚持っているか、というパラメータになっていたのが問題でした。
放銃率に関しては、黒5も赤5も同一視して5牌以外同様4枚中何枚でカウントした方がいいというように判断しました。
…と、ここまではいいのですが、関連するパラメータやプログラムの変更箇所が多くて作業は難航しています。
取るべきor取ろうとしているパラメータの種類
・見えてる牌手持ち枚数別、全牌(切り順になったとき、37種の牌すべてに関して走査)対リーチ放銃率
・全牌対リーチドラ放銃倍率
・見えてる牌手持ち枚数別、実切り牌(切り順になったとき、実際に切られた牌のみカウント)対リーチ放銃率
・実切り牌対リーチ切り順者状態別(聴牌or不聴、副露数)放銃倍率
・実切り牌対リーチドラ放銃倍率
・見えてる牌手持ち枚数別対リーチツモ和了率(攻撃者のツモ番時、ツモってきた牌のみカウント)
・対リーチドラツモ和了倍率
(↑ここまでパラメータ取得・プログラム反映完了)
・見えてる牌手持ち枚数別、全牌(切り順になったとき、37種の牌すべてに関して走査)対副露聴牌放銃率
・全牌対副露聴牌ドラ放銃倍率
・見えてる牌手持ち枚数別、実切り牌(切り順になったとき、実際に切られた牌のみカウント)対副露聴牌放銃率
・実切り牌対副露聴牌切り順者状態別(聴牌or不聴、副露数)放銃倍率
・実切り牌対副露聴牌ドラ放銃倍率
・見えてる牌手持ち枚数別対副露聴牌ツモ和了率(攻撃者のツモ番時、ツモってきた牌のみカウント)
・対副露聴牌ドラツモ和了倍率
(↑ここまでパラメータ取得完了、プログラム反映未完了)
・見えてる牌手持ち枚数別、全牌(切り順になったとき、37種の牌すべてに関して走査)対ダマ聴牌放銃率
・全牌対ダマ聴牌ドラ放銃倍率
・見えてる牌手持ち枚数別、実切り牌(切り順になったとき、実際に切られた牌のみカウント)対ダマ聴牌放銃率
・実切り牌対ダマ聴牌切り順者状態別(聴牌or不聴、副露数)放銃倍率
・実切り牌対ダマ聴牌ドラ放銃倍率
・見えてる牌手持ち枚数別対ダマ聴牌ツモ和了率(攻撃者のツモ番時、ツモってきた牌のみカウント)
・対ダマ聴牌ドラツモ和了倍率
(↑まだ手付かず)
1個パラメータを取るのに牌譜解析プログラムをちょこちょこいじりつつ、解析にかかる時間が2~3時間くらいで、とても大変です。
今でちょうど半分くらいの進捗。
赤ありから赤ナシカウントに変えるだけで、だいぶ大掛かりな修正になってます。
パラメータの種類とかプログラムの中身を精査してると、従前のは作り込みが荒くてパラメータの構成変更とかもちょいちょい入れてたりするのも時間がかかってる要因の一つです。まぁしょうがないですが。
昨日のお題の正解です。
— nisi5028 (@nisi5028) 2018年7月16日
3s押しでトップ率を大幅に上げる方がいいということのようです。
(黒5sと赤5sの放銃率がかなり違うのはバグです。しかも割とプログラムの深いとこに刺さってて直しづらいタイプのバグでけっこうやばい。) pic.twitter.com/mqb2ejUCsu
黒5sと赤5sの放銃率が違う原因として、
黒5と赤5を別個の牌としてAI内のシミュレーションで扱っていて、
その中でも切る牌の他家への放銃率について、
5牌以外は4枚中何枚見えてるか何枚持っているかで分類してパラメータを取っています。
5牌については黒と赤を別個の牌としてとらえていたので、
黒5牌が3枚中何枚見えてるか何枚持っているか、赤5牌が1枚中何枚見えてるか何枚持っているか、というパラメータになっていたのが問題でした。
放銃率に関しては、黒5も赤5も同一視して5牌以外同様4枚中何枚でカウントした方がいいというように判断しました。
…と、ここまではいいのですが、関連するパラメータやプログラムの変更箇所が多くて作業は難航しています。
取るべきor取ろうとしているパラメータの種類
・見えてる牌手持ち枚数別、全牌(切り順になったとき、37種の牌すべてに関して走査)対リーチ放銃率
・全牌対リーチドラ放銃倍率
・見えてる牌手持ち枚数別、実切り牌(切り順になったとき、実際に切られた牌のみカウント)対リーチ放銃率
・実切り牌対リーチ切り順者状態別(聴牌or不聴、副露数)放銃倍率
・実切り牌対リーチドラ放銃倍率
・見えてる牌手持ち枚数別対リーチツモ和了率(攻撃者のツモ番時、ツモってきた牌のみカウント)
・対リーチドラツモ和了倍率
(↑ここまでパラメータ取得・プログラム反映完了)
・見えてる牌手持ち枚数別、全牌(切り順になったとき、37種の牌すべてに関して走査)対副露聴牌放銃率
・全牌対副露聴牌ドラ放銃倍率
・見えてる牌手持ち枚数別、実切り牌(切り順になったとき、実際に切られた牌のみカウント)対副露聴牌放銃率
・実切り牌対副露聴牌切り順者状態別(聴牌or不聴、副露数)放銃倍率
・実切り牌対副露聴牌ドラ放銃倍率
・見えてる牌手持ち枚数別対副露聴牌ツモ和了率(攻撃者のツモ番時、ツモってきた牌のみカウント)
・対副露聴牌ドラツモ和了倍率
(↑ここまでパラメータ取得完了、プログラム反映未完了)
・見えてる牌手持ち枚数別、全牌(切り順になったとき、37種の牌すべてに関して走査)対ダマ聴牌放銃率
・全牌対ダマ聴牌ドラ放銃倍率
・見えてる牌手持ち枚数別、実切り牌(切り順になったとき、実際に切られた牌のみカウント)対ダマ聴牌放銃率
・実切り牌対ダマ聴牌切り順者状態別(聴牌or不聴、副露数)放銃倍率
・実切り牌対ダマ聴牌ドラ放銃倍率
・見えてる牌手持ち枚数別対ダマ聴牌ツモ和了率(攻撃者のツモ番時、ツモってきた牌のみカウント)
・対ダマ聴牌ドラツモ和了倍率
(↑まだ手付かず)
1個パラメータを取るのに牌譜解析プログラムをちょこちょこいじりつつ、解析にかかる時間が2~3時間くらいで、とても大変です。
今でちょうど半分くらいの進捗。
赤ありから赤ナシカウントに変えるだけで、だいぶ大掛かりな修正になってます。
パラメータの種類とかプログラムの中身を精査してると、従前のは作り込みが荒くてパラメータの構成変更とかもちょいちょい入れてたりするのも時間がかかってる要因の一つです。まぁしょうがないですが。
スポンサーサイト