背景と目的

Download Report

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
今後の課題
今後の課題

カーネルの利用

特徴の追加
◦ 相手の捨て牌
◦ 手牌の細かい関連

応用
◦ 鳴き局面
◦ 合法手選択
 順位の高い手を残して探索など