*All archives* |  *Admin*

<<10  2017/11  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  12>>
雀ゴロK本第3弾のお話
今までは黙ってましたが、年末ごろ(?)に出る雀ゴロKさんの第3弾の本でデータ監修をさせていただきました。
特に黙ってたことに理由はなかったですが、各所で情報が出始めてて、話題になってるっぽいので、まぁ話すいい機会かと思いました。

まず感想としては、無事に自分のかかわったものが本という形になりそうで、とてもうれしいです。
影であまり目立たないところで、こそこそネタを書いてたのが、いよいよ表舞台に出るのか、と思うと充足感とちょっとの不安(世間一般的には物議をかもす内容もあるようなので、集中砲火を浴びたりしないかなぁ、みたいな)があります。

形式的には1テーマ数ページ程度の1問1答形式で、お題に対して牌譜解析なりシミュレーションなりAIなりの出力結果をグラフや表にして、そこから導き出される結論とか雀ゴロKさんの所見が書いてあるのが1テーマ分ワンセットで、それが40テーマくらいあると。

元ネタのうち3分の1~半分くらいが自分が考えたネタで、残りが雀ゴロKさんからのお題というかアイデアです。
過去ブログに載ってるものが多いですが、私の貧弱な文章力と表現能力よりはかなり読みやすくなってるのが多いと思います。
(余談ですが、文章力が稚拙すぎて、「あとがき」で1000字くらい書くのにえらい苦労しました。)

とりあえず、この1週間くらいはゲラをチェックして、間違ってる部分の指摘とか補強データを出したり、とかいうのをやってたので、また完成品だと少し内容が変わるかもしれませんが、なんにせよ出るのが楽しみですね。

まぁ、今のところはこんなところで。具体的な中身についてのコメントはまた発売後ということで。
スポンサーサイト
麻雀AI開発その79・自己対戦途中経過
麻雀AIの続きです。
AIどうしの自己対戦をやっている最中です。
やっぱりどうがんばっても現状のままだと1日150試合くらいしか消化できません。人間的には鬼打ちでもAI的にはすごくスピードが遅いです。

現在651試合まで打ち終わったので、いったん和了率とか局収支とかの基本的なデータを牌譜解析で出してみることにします。
なにか致命的なミスがあったときに、早めにやり直しできるように。

AIの思考については前回(麻雀AI開発その78・AIどうしの自己対戦プログラム)で述べたように、
平均順位の多寡で打牌選択するAI(COM1)、局収支の多寡で打牌選択するAI(COM2)、自分和了得点に1.1倍の重みをつけた局収支ベースAI(COM3)、自分放銃失点に1.1倍の重みを付けた局収支ベースAI(COM4)の4体です。

二向聴以上の手についてはニューラルネットの計算なので、どのAIも思考は同じです。一向聴と聴牌の打牌選択・鳴き判断のみ思考が変わってきます。
171028-01.png

鳳凰卓の実測値と大きく違っていそうなところは、

・リーチ和了が多い。(和了時リーチ割合・対リーチ放銃割合・対リーチ被ツモ割合)
・副露和了が少ない。(和了時副露割合・対副露放銃割合・対副露被ツモ割合)
・ダマ和了が少ない。(和了時ダマ割合・対ダマ放銃割合・対ダマ被ツモ割合)
COM2・3・4は局収支しか見てないので、副露・ダマ和了が少ないのはまぁわかる気がします。

・流局率が低い。
・流局時聴牌割合が高い。
・流局時得失点が低い。
・リーチ和了が多い。
・和了時ツモ割合はほぼ同じ。
AIはみんな聴牌・上がりを目指す傾向が人間よりも強いためか、流局になりにくく、流局になった時聴牌の割合も多いと。
和了時ツモ割合はほぼ同じですが、リーチ和了割合が多い(→ツモ割合が高くなりがちな和了が多い)ことから考えれば、
実質では人間同士より出上がりが多くて、全員参加型に近い場になっているように思います。
(人間だと段位戦でラス回避を重視する、ということも関係しているかも。)

・リーチ率が高い。
特に局収支型のCOM2や局収支攻め型のCOM3のリーチ率はかなり高いです。

・リーチ時先制割合がやや低い。
全員参加型になることが多い、ということで。

・リーチ時良形割合(ここでの定義は字牌待ちor待ち牌が5枚以上(捨て牌は関係なしで。))が低い。
人間の方が手作りがうまい(?)、というか良形を目指したがる、ということでしょうか。

・副露成功率(副露したという条件の下での和了率)が低い。
人間の方が仕掛けの精度が高い、とか守備のために遠いところからは仕掛けない、ということかと思います。

今のところはこんなところですね。
まぁ、あまりにも致命的なものはなさそうなので、このまま継続で試合数を重ねていきます。

今のところは試合数が少なくて標準偏差(σ)が大き目で結論が出しにくいところが多いですが、
10000試合とかまでがんばって積み重ねられたら各AIごとの特徴とかがはっきりして面白くなったりするような気がします。
牌譜さえ先に取れれば、後は牌譜解析で好きなデータを引っ張ってこれるので、わくわくしますね。
麻雀AI開発その78・AIどうしの自己対戦プログラム
麻雀AIの続きです。

前回、染め手パラメータを取って、これから染め手も含めたシミュレーションの設計をやろう!…と思ったのですが、
とある事情により、そっちはいったんほったらかして、AIどうしの自己対戦のプログラムを作ることにします。

人間一人VSAI三体のプログラムはすでにできてるので、それをちょっと改造すればすぐできます。

バグを収拾させつつ1試合分打たせたのがこんな感じ↓。
haifufile.txt

とりあえず自然な感じにはなっているっぽいです。

問題は計算時間ですね。東風戦1試合で10分~15分かかりました。
10000試合しようとすると1試合10分なら1時間6試合、1日150試合、ということは66日かかる、と。うむー。

ボトルネックになってるのは一向聴・聴牌の再帰計算+シミュレーションです。
二向聴以上の手みたいに全部機械学習で置き換えた方がよろしいのかしら。
一向聴以下だと上がりに直結する分、最終の待ち受けとか役判定打点関連とかをもっと精密に作らないといけなさそうな気がします。
機械学習でやると、中身がブラックボックス的になって分析がやりにくいですし、一番は今までシミュレーションで培ってきた知見が活かしづらいということがあるので、あんまり乗り気ではないです。

さて、どうしようか。
とりあえず1000試合・7日くらいでお茶を濁しておきましょうか。

後は対戦するAIですが、全部同じものを対戦させるのも芸がないので、別個のものを4体用意しようかと思っています。
今考えているのは、平均順位ベースAI・局収支ベースAI・局収支ベース(攻め型)・局収支ベース(守り型)

平均順位ベースは打牌選択基準(一向聴以下手牌のみ)を平均順位の良し悪しで判断する。
攻め型は自手上がり時得点に関して局収支を1.1倍換算したものを判断基準にする。
守り型は放銃時失点に関して局収支を1.1倍換算したものを判断基準にする。
という感じの予定。


普段使いのPCとは別に、自己対戦とかfloodgateでの大量対戦用のPCを買おうかなーと本気で検討中です。
もし、今のPC(3年選手)がつぶれてもスペアがあれば安心ですしね。
ハードディスクをSSDというのにすれば動作が早いらしいですし。
麻雀AI開発その77・染めパラメータの取り込み
前回までで染め手関連のパラメータを取り終わったので、さっきまでパラメータの数値の羅列をAI(シミュレーション)に取り込むところまでできました。
171014-01.png
パラメータの種類35種類、エクセルで約12000行消費。
つかれましたねー。

無事パラメータの取り込みまでは終わったので、次はこのパラメータを使って染め手者がいるときのシミュレーションの設計をやります。ここからもまた大変です。
麻雀AI開発その76・染めパラメータ(染め者への対応・染め率推移)
染め手パラメータ取りの続きです。

↓他家の予測染め率ごとの別の他家が非染め色・染め色・字牌を切る確率(下家・対面)
171011-01.png
↓他家の予測染め率ごとの別の他家が非染め色・染め色・字牌を切る確率(上家)
171011-02.png

基本的に、予測染め率が高いほど、別の他家が非染め色が切られる確率が上がり、染め色・字牌が切られる確率が下がる、という期待通りの結果になっています。

聴牌率が低い0副露・1副露余りなしだと下家・対面より上家の方がより染め色を絞る傾向が強いのも↑の表からわかります。
一方、聴牌率が高い2副露以上だと下家・対面と上家の差はそこまで大きくないです。

↓染め模様者が牌を切った時・鳴いたときの予測染め率の変動
171011-03.png
数値がプラス(マイナス)になっているところがその行動がとられたときに予測染め率が増加(減少)する、ということを表しています。
基本的に非染め色真ん中牌が切られたら予測染め率が増加、染め色が切られたら予測染め率が減少、
染め手が否定されない鳴き(非染め色数牌の鳴き)が入ったら予測染め率が大幅増加(ただし、役牌ポンは増加が控えめ)
という感じです。


これでとりあえずパラメータ取りはいったん終了です。新規追加になるパラメータが20~30種類もあるので、これからの作業量の多さで泡吹きそうですが、こつこつ設計を頑張ってやっていきます。
プロフィール

nisi5028

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

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

この人とブロともになる

QRコード
QRコード