*All archives* |  *Admin*

<<07  2017/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開発その46・現在のAIの実力
ここ数日ブログの更新をサボって何をやっていたかというと、
今のAIの実力を測るため(+ソフトの試験も兼ねて)に100東風戦を目標にひたすらAI相手に麻雀を打ちまくっていました。
人生で一番麻雀ばかりをやっていたといっても過言ではなかったです。

現在、69試合まで完了したのですが、だいぶ麻雀打つのに飽きてきてしまいました。詰め込みすぎはあんまりよくなかったです。
ソフトの動作的にかなり安定してきましたし、これから取り組むべき課題も見えてきたので、鬼打ちモードをやめて開発に戻ろうかと思います。

↓こちらが69試合の成績です。
170805-01.png
私からみるとAI3体相手に平均順位2.35、AI側から見る(3体の平均値)と私一人を相手に平均順位2.55という成績になりました。
私の現在レートが2千0百台の後半くらいなので、私の安定レートを仮に2050と置いたときに、このような平均順位になる卓平均レートを計算し、そこからAIのレートを逆算で計算すると、1888という数値が出てきました。
なので、現状のAIの強さは仮にこのままの順位分布で多試合打っても推移する場合、四段くらいの強さ、ということになります。

かなり計算が粗いところもあるわりには思っていたよりは強かったですけれども、AIに打牌をチェックしてもらう、という観点からは四段程度の実力ではぜんぜん弱いです。特上下位レベルの人(この場合機械ですが)に打牌を見てもらってこっちの方が評価値が上です、とか言われても説得力としては非常に弱いでしょうから。

各種数値を見てとか、実際に打ってみての感想。

・かなりの頻度(2~3試合に1回)で、面前ではかなり苦しい手とか点差の離れたオーラスやラス前で序盤なのに役なしの仕掛けを入れてくることが多々ありました。
評価値を見るとかなり低い和了率とか順位逆転率にかけるよりも聴牌流局で局収支を稼ぐorこの局は完全にあきらめて次局に逆転するために聴牌流局でつなぐ、という思考らしいのですが、さすがにこれはないですね。
打ちながらこんな役なしの仕掛けを入れてくるようなAIごときに負けてられるか、みたいな感情はありました。ただ、たまに隠れ役牌暗刻とかドラ対子暗刻が混じっているのがたちが悪いところでしたが。

聴牌から遠い段階(具体的に3シャンテン・2シャンテン)の評価は計算時間の問題で変化を考慮できないので、スルーして面前でがんばる方が過小評価されがち(実際は手牌が変化してより聴牌や和了までいきやすい)ということもあるかと思います。
序盤で役なしの仕掛けはさせないように強制するのは簡単ですが(例えば和了率5%未満ならスルーさせるとか)、今後のことも考えてやはり序盤について打牌ごととか鳴きについてスコア化する(機械学習的なもので)的な抜本的な改革が必要かと思います。

・和了面について。
AIの和了率が21.6%なので、平均順位が2.55ということから考えればそこまで際立っておかしい感じではないです。
和了時平均点を見るとロン和了時平均点は私とほぼ同じですが、ツモ和了時平均点が私よりかなり低いです。おそらくは副露を多用するので面前ツモがついて高くならないとかかなーと想像しています。

・放銃率について。
現状、リーチに対しては手をバラバラにして降りることは考慮していますが、フーロ手については牌の危険度は考慮する(危険度が高い場合は評価値的にマイナス評価)けれども、手を崩す(シャンテン戻しをする)ことはしないようになっています。
このようなアルゴリズムなので、放銃率はかなり高くなるだろうと予想していましたが、69試合の平均だと13.7%ということなので、そこまで際立って高いということではないみたいでした。
ただ、放銃時失点を見ると、私の方は-5000点弱に対して、AI側は-5600点くらいなので、おそらく高い手(ドラポン・染め手・親のダブ東+ドラ含み仕掛け)へのケアができてない分が出ているのだろうと思います。
逆に言えばそういう高い手さえケアしていればそこまでひどくはならなさそうなので、この前詳細押し引きの基本データを取ったのはいいですが、取り組むべき優先順は低いのかもしれません。

・流局時聴牌率について。
私の聴牌時流局割合は約3分の1なので33%ちょっとなのに対し、AI側は12分の7なので58%と明らかに違います。
私の一人ノーテンになる局面もけっこう多くありました。
おそらく動き出しが早いとか放銃の危険を冒している(手牌を短くすることにあまり抵抗感がない)というところも関係していると思いますが、この分野についてはAIの方が一枚上手なのかもしれません。

・染め手について。
攻防どちらにおいても染め手を考慮できてない影響はかなり大きいように感じました。
攻撃面については、ホンイツやチンイツといった役があって点数的に高い、というところまでは認識していますが、聴牌から遠い段階で一色手決め打ちで他色の塔子や対子を崩す(シャンテン戻しをする)、という発想まで考えることができていません。唯一、聴牌からの一向聴戻しは考慮しているので、他色が2枚だけある聴牌から聴牌崩しで染め手移行という攻撃だけは見せていましたが、それ以外はできないので、一色手和了を逃しているようなロスをしているようにかなり感じました。
相手の染め手に対する防御面についても、染め手専用のパラメータを置いてないので、通常のフーロと同じような感覚で染め色を切っているようなケースがかなり多くありました。
これらは必要になるパラメータが多くなりそうなので、敬遠していましたが、これも優先順位は高くした方がよさそうです。

・カンについて
他家AIはカンを全くしません。
プログラム的に複雑になるので後回しにしていて、もちろんこれはあまりよくないのですが、打っている限りそこまでカンができないことによる損失はそこまで大きくなさそうでした。少なくとも染め手よりは明らかに優先順位は下です。

・雑多なルールについて
途中流局・流し満貫・パオについてはまだできていませんが、これも優先順位は下なので後回しでいいでしょう。

というわけで、先に取り組んだ方がいい課題、後回しでもいい課題が浮き彫りになってきたので、
これから改善に取り組んでいきます。
スポンサーサイト
プロフィール

nisi5028

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

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

この人とブロともになる

QRコード
QRコード