卒研発表 - 近畿大学理工学部情報学科

Download Report

Transcript 卒研発表 - 近畿大学理工学部情報学科

麻雀ゲームにおけるAIの開発
08-1-037-0153
日高大地
近畿大学理工学部情報学科
目次
1.研究の目的
2.麻雀についての概要
3.戦略概要
4.捨て牌についての戦略
5.戦略決定
6.結果・考察
7.結論と今後の課題
研究の目的
チェスやオセロ、囲碁や将棋に代表される
「二人零和有限確定完全情報ゲーム」での
人工知能=AIは数多く存在するが・・・
解析が難しく強いAIを作成することが困難な
麻雀や花札・大富豪、バックギャモンに代表される
「零和有限不確定非完全情報ゲーム」
その中から麻雀のAIについて開発研究をする
なぜ強いAIを作るのが難しいのか
二人零和有限確定完全情報ゲーム
零和:全プレイヤーの点数の合計が0
損得が常に一致している
有限:可能な着手・行動が有限である
確定:偶然の要素が入り込まない
完全情報:ゲーム開始からこれまでの全ての情報
選択が各プレイヤーが知ることが出来る
二人零和有限不確定非完全情報ゲーム
不確定:偶然の要素がある
非完全情報:一部の情報しか与えられていない
なぜ強いAIを作るのが難しいのか
不確定:偶然の要素がある
非完全情報:一部の情報しか与えられていない
ランダム要素・一部の情報
最適解を求められない
「確率・統計」で勝率を上げるしかない
麻雀について
4人でランダムに13枚の牌が配られ
順番に1枚づつ牌を引いていき
不要な牌を捨てる事を繰り返して
一番早くに和了形にするゲーム
左から数牌の筒子・索子・萬子 字牌の白・發・中 東南西北
麻雀の和了形
順子
刻子
槓子
対子
4つの「面子」と1つの「雀頭」で構成される
面子は「順子」「刻子」「槓子」
雀頭は「対子」
麻雀の定石
・浮いている字牌や老頭牌を優先的に捨てた方がよい
・両面待ちが有効
・全ての面子を順子で構成する平和が有効
・他プレイヤーからのリーチは放銃を避けた戦略を採る
戦略的クラスの概要
麻雀における思考は大きく分けて2つ
・自分の手番での行動(リーチするか・カン・流局をするか・捨
て牌を考える)
・相手の手番での行動(ポン・チー・カン・ロンをする)
評価関数及び手牌の評価値を導入!
基本的には牌効率を重視
捨て牌の戦略

自分が狙っている役を揃える

面子や対子ができている牌の組み合わせを残す

ドラは持っておく

相手の危険牌を捨てない

自分の狙っている役をバレないようにする
捨て牌の評価
E just= ∑ pi E i
i
Ejust
i
pi
Ei
:
:
:
:
現在の手牌の評価値
次のツモ牌
次に牌iが来る確率
次に牌iが来た時の手牌の評価値
捨て牌の評価

手牌の一例
待ち牌 一種4枚
面子が出来る!
待ち牌 二種8枚
面子が出来る!
捨て牌の評価

手牌の一例
待ち牌 二種6枚
待ち牌 二種4枚
捨て牌の評価

手牌の一例
捨てたほうが手牌の価値は高くなる
浮いてしまう牌
待ち牌 38枚
浮いてしまう牌
待ち牌 31枚
勝ち・負け戦略の選択
麻雀の戦略は、勝ちを狙う戦略と負けを避ける戦略に分けら
れる
勝ちを狙う戦略 自分が和了する確率を上げることを目指す
負けを避ける戦略 できるだけ放銃による失点をしない
狙っている手役の点数の高さ 現在の順目 リーチの有無
自分以外の手番での戦略
自分以外の手番において思考を要する行為は「手番プレイヤ
ーの捨て牌に対してポン・チー・カンをするか」である
現在の状況(点差や狙っている手、形式テンパイのみを狙う)
評価関数を満たしていれば鳴くようにする
麻雀AIプログラム
本研究で作成するAIは、「まうじゃん for Java」プログラムをベ
ースとしている。インターフェイス(麻雀をする上で最低限の
状況や牌を読み取るクラス)より情報を取得し、得られた情
報を元に複合的に条件指定をすることによりAIを作成した
インターフェイス
作成した
AIプログラム
ベースプログラム
(まうじゃん for Java)
結果
作成したAI および比較用に3つのAI
AI1:鳴かずに手作りする
AI2:平和役を最速で目指す
AI3:危険を察知したら振り込まないようにベタオリする
各AI と300局の対戦を行なった
指標1 : 2.63 - 2.40×和了率 + 2.69×放銃率
指標2 : 2.52 - 1.62×1位率 + 1.52×4位率
結果・考察
対戦成績(対戦局数300)
和了率
放銃率
1位率
4位率
AI
AI1
AI2
AI3
26.4%
17.9%
20.4%
17.9%
13.7%
17.8%
16.8%
10.8%
38.2%
19.6%
20.9%
21.3%
15.6%
33.2%
28.6%
22.3%
指標1 : 2.63 – 2.40×和了率 + 2.69×放銃率
指標2 : 2.52 - 1.62×1位率 + 1.52×4位率
予想平均順位
AI
指標1
指標2
AI1
AI2
AI3
2.36(±0.12) 2.68(±0.12) 2.59(±0.12) 2.49(±0.12)
2.14(±0.22) 2.71(±0.22) 2.61(±0.22) 2.51(±0.22)
結論と今後の課題
結果
非常に強いAIの開発が出来たことが示される。しかし麻雀
は不確定非完全情報ゲームであり、ランダム要素が絡むの
で結果的にどの局面において必ずしも正しい判断が出来て
いるとは言いきれない
今後の課題
データベースとして癖やタイプを読み込ませ、相手の行動を
察知した上で相手に合わせた戦略を採る 統計より強
化
数試合程度では強さは測れず数百、数千試合をこなして
ある程度の強さが測れる プログラムの簡略化
参考文献
1) 石畑恭平 : コンピュータ麻雀のアルゴリズム,IO BOOKS,工学社(2007)
2) 石畑恭平,まうじゃん的空間,「まうじゃん for java」http://www.amy.hiho.ne.jp/ishihata/maujong/
3) とつげき東北 : 科学する麻雀,講談社現代新書(2004)
4)人工知能学会 : 人工知能の話題 TDギャモン (TD-Gammon)
http://www.ai-gakkai.or.jp/whatsai/AItopics4.html
5)Gerald Tesauro,TD-Gammon,Communications of the
ACM(1995)http://www.research.ibm.com/massive/tdl.html
6) 松原仁, ゲーム情報学の中の不完全情報ゲームの位置づけと現状, パネ
ル討論「不完全情報ゲームにおける競技性について」, 第6 回エンターテイ
メントと認知科学シンポジウム,
(2012),http://entcog.c.ooco.jp/entcog/event/20120318/matsubara.pdf