Transcript 背景と目的
SVMを用いた麻雀の打ち手の
学習
M2 三木理斗
発表の流れ
1.
2.
3.
4.
5.
背景と目的
関連研究
提案手法
実験結果
今後の課題
Section 1
背景と目的
背景
多人数不確定ゲームである麻雀
探索の問題
◦ 確率ノードの扱い
◦ 上がりから遠ざかる手変わり
評価関数作成の問題
◦ 探索打ち切り局面をどう評価するのか
目的
麻雀の手牌評価
SVMによって手を直接選択する
◦ 探索や評価値を用いなくてもそこそこ良
い手を判別できる
Section 2
関連研究
手牌評価関数の学習 [北川ら, 07]
牌譜を用いたBonanza method
◦ 3層ニューラルネットワーク
◦ 1,532のboolean特徴要素
最大一致率56% (ツモ局面)
Section 3
提案手法
概要
手の順位付けをSVMで学習
◦ 牌譜の手 > 他の手
Support Vector Machine
2クラスの分類器
g ( x) w x b
g ( x) 1
g ( x) 0
1
w
2
マージン を最大化
w
1
w
g ( x) 1
順位の学習
順序関係 ( > or < ) を2つのクラスとし
て分類器を作ればよい、が
今回はRanking SVMを使用
Ranking SVM [Joachims, 02]
検索エンジンのページランクの学習
◦ 一つの検索クエリに対するページ群のラ
ンクを学習
ゲームでは、
◦ 「検索クエリ」⇔「局面」
◦ 「ページ」⇔「打ち手」
◦ 一つの局面に対する手のランクを学習
特徴要素(1)
手牌の構成
◦ 各牌の所持数
◦ 面子(とりうるパターンすべて)
◦ 面子候補(とりうるパターンすべて)
木カーネルの葉ノードにあたる
特徴要素(2)
手牌のその他の特徴
◦ 何回鳴いているか、など
自分の状態
◦ ドラの所持数、親かどうか、など
相手の鳴き牌
◦ 鳴き面子、確定ドラ数、など
場の特徴
◦ リーチ、点差、オーラスかどうか、など
約500の要素の実数特徴ベクトル
Section 4
実験結果
実験
手のランク付けを学習
◦ 牌譜の手 > 他の手
分類器によって1位と判定された手と
牌譜の手との一致率を評価
特徴
◦ A:手牌の構成のみ
◦ B:全て
実験データ
とつげき東北氏の牌譜
◦ 100試合分と2808試合分
◦ 4-fold cross validation
学習局面は約20,000と約600,000
◦ 全プレイヤーの打ち手を使用
◦ リーチしていない局面
◦ 牌譜の手をランク2、それ以外の手をすべ
てランク1とラベル付けした
実験環境
実装
◦ SVMrank
http://svmlight.joachims.org/
マシン
◦ Dual-Core Opteron 2.4GHz * 2
◦ 32GB RAM
牌譜の手との一致率 [%]
手牌の構成
のみ
全特徴
100試合分
49.7
50.9
2808試合分
50.3
51.1
ソフトマージンパラメータcは1000
ソフトマージンパラメータ
マージンとエラーのバランスを制御す
るパラメータc
2
w
L
c
2
マージン
エラー
分離平面を越えた距離のパラメータ
パラメータによる変化
全特徴、100試合分
パラメータcに対する一致率の変化
60
50
一致率 [%]
40
30
20
10
0
0.1
1
10
100
c
1000
10000
100000
結論
線形SVMで一致率51%
手牌の構成のみでかなり高い一致率
パラメータの調整でかなり増減
Section 5
今後の課題
今後の課題
カーネルの利用
特徴の追加
◦ 相手の捨て牌
◦ 手牌の細かい関連
応用
◦ 鳴き局面
◦ 合法手選択
順位の高い手を残して探索など