スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

AI作成のためのライブラリ構想

このブログが、麻雀アプリの進捗報告に終始していたのであまり面白くなってしまっていましたが、ここでちょっと今ブレストしている内容を書いてみます。

 

麻雀アプリに一区切り付いたタイミングで麻雀AIの作成支援するためのライブラリを整備したいなと考えています。

 

今現在、

  • 向聴数を計算する関数
  • とつげき東北氏のMJ-0、MJ-1相当の関数

が実装完了しましたが、まだまだこれでは麻雀AIを完成させるには程遠いと思います。これだけでは麻雀AIのアルゴリズムにつなげられませんよね。

 

余談から入りますが、私は麻雀の判断アルゴリズムは基本的に経路探索問題だと考えています。今の手牌がスタート地点で、テンパイあるいは上がりの形がゴール。そのためのよりよい経路を探すのが捨て牌の決め方になります。

 

そう仮定すると、向聴数はいわばスタートからゴールまでの距離に相当すると考えられます。向聴数を1つでも縮めてゴールにたどり着くようにしていく方法は最短経路問題となります。単純にそれだけでもAIアルゴリズムとしては成立してますね。AIアルゴリズムとしては一番わかりやすい方法です。

 

気に入った方はクリックをお願いしますm(_ _)m

にほんブログ村 ゲームブログ ゲーム制作へ人気ブログランキングへ

 

しかし勘の良い方はもうお気づきかと思いますが、このアルゴリズムは基本的に棒テン即リーしかできません。役やドラは乗ればラッキーといったものです。さすがにそれでは勝てませんね。捨て牌を取捨選択するのに使う評価関数は向聴数だけの単純な距離ではなく、他の要因、たとえば役であるとか他家の状況も加味したものでなければならないであろうことはすぐに想像がつきます。

 

しかし、まだそのあたりは全て『ケースバイケース』とされていることがほとんどで、抽象化された概念として体系化されていないものばかりです。そのあたりを明らかにしていくことが究極の目標です。

 

ただ、私自身もそのようなものを包含できる抽象概念を発明できたわけではありません。よって、その概念を得るためのヒントとして最短経路とは違った『脇道』を用意してみたいと考えています。

 

現状2つを考えています。

ひとつは『一色系を狙うアルゴリズム』

もうひとつは『ベタオリをするアルゴリズム』

です。

 

前者のアルゴリズムを作る理由としてはよく『XX牌以上一色牌があったら一色を狙ってみたら?』みたいなことをよく言われます。確かに簡単に作れる条件です。しかし、私はこのアルゴリズムを搭載することで強いAIになるかどうかは懐疑的に見ています。一色系は他の色を全て捨てる以上読まれやすくなりますし、食い仕掛けをしなければそれほど効率のよい役とは言えません。よって、本当にこの条件分岐がAIの強さ向上につながるのか、『XX牌』のXXはいくつに設定すべきか、統計的に考察するのも面白いと感じたからです。

 

後者のアルゴリズムについては『オリる技術を身につけると強い』とよく言われます。よってこのアルゴリズムを磨いていけばAIの強化に寄与するのではないかと考えています。これに関しては必ず放銃しないのはとても難しいですが、とりあえず検査方法として『統計的に放銃率を一番下げる打ち方』とすれば、チェックはしやすいです。

スポンサーサイト

コメントの投稿

Secret

プロフィール

kackyt

Author:kackyt
かつては携帯ゲームで名を馳せたプログラマー。
現在は田舎の某メーカーで会社勤め。
趣味は投資、麻雀、マラソン、プログラミング。

ブログ名の由来はマラソン+プログラミング

RSS登録er
FC2カウンター
最新記事
最新コメント
最新トラックバック
カテゴリ
月別アーカイブ
アクセスランキング
[ジャンルランキング]
コンピュータ
6214位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
1196位
アクセスランキングを見る>>
検索フォーム
人気ブログランキング
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。