FC2ブログ

*All archives* |  *Admin*

<<07  2018/08  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  09>>
麻雀AI開発その87・シミュレーションの改造(枚数を赤ナシベースに)その2
前回(麻雀AI開発その86・シミュレーションの改造(枚数を赤ナシベースに))の続き。

なんとか、放銃率関連のパラメータを赤ナシベースに変えるので、リーチ・副露・ダマのパラメータを無事に取り終わり、無事AI本体に反映させることに成功しました。

結果はこんな感じ↓。

180811-01.png
ちゃんと打黒5sと打赤5sの放銃率が同じくらいになってます。

割と大掛かりに改造したので、しばらくはバグチェックを兼ねていつもの何切る問題に実戦投入してテストしてみることにします。


次は染め手をやろうかと思ったけど、今回の改造も踏まえて他家から切られる牌分布の算出をちょっといじろうかと思ったりしてます。
というのは、今の分布の算出は元になる切られ率に関連する項目ごと(ドラかどうかとか、切り者や他家の状態とか)に係数を掛ける方式でやっているので、
まずその方法が正しいのかどうか大分あやしいのが1点と、
その数値をそのまま使うと、アガリ牌(自分聴牌もしくは他家聴牌に対して)が実際の牌譜よりも出やすい傾向にあって(人間の方が同カテゴリの牌についても読みによってより通りやすい牌を優先して切れる。特に切り者ノーテンの場合)、ある程度恣意的にアガリ牌の切られ率を下げる(自分聴牌に対して)とか、牌の放銃率そのものを下げている(他家聴牌に対して)処理を入れてるのが気に食わないのが1点。

それに代わる手段として、ニューラルネットとか機械学習側の手法を使おうか検討中です。
ニューラルネットで全入力値を押し込ませればどの項目を考慮させるかとか、読みの要素がどうとか、場合分けとかを人力(わたし)の手作業でやらなくても勝手にやってくれるのではないかなーと期待しています。

機械学習をするにあたって問題となるのは、
・うまくいくかどうかわからない。(極端な出力値になると、ある牌の切られる率が限りなく0や1に近づくみたいなことがありうる。手作業よりは恣意的な操作みたいな融通が利かない。)
・難易度はわりと高い。
・作業量がけっこうある。
・計算時間が増えそう。

一番ネックなのは計算時間ですね。
従前ではパラメータどうしの比較的少ない回数の乗算だったのが、複雑なニューラルネットの計算になるのが、他家切り順の毎ターン発生するので明らかに計算時間に負担になりそう。

麻雀AIとしてfloodgateに流すことを考えると計算時間次第では破綻します。
AIとしての運用をあきらめて単純に数値を出すだけのシミュレータとしての運用だけなら多少時間が増えるのは許容はできるが、さすがに何倍とかまで増えるのは許容できそうにないです。

どうなるかはわからないけど、とりあえずやり始めてみようか。

スポンサーサイト



プロフィール

nisi5028

Author:nisi5028
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
フリーエリア
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード