240 likes | 452 Views
SVM を用いた麻雀の打ち手の学習. M2 三木理斗. 発表の流れ. 背景と目的 関連研究 提案手法 実験結果 今後の課題. Section 1. 背景と目的. 背景. 多人数不確定ゲームである麻雀 探索の問題 確率ノードの扱い 上がりから遠ざかる手変わり 評価関数作成の問題 探索打ち切り局面をどう評価するのか. 目的. 麻雀の手牌評価 SVM によって手を直接選択する 探索や評価値を用いなくてもそこそこ良い手を判別できる. Section 2. 関連研究. 手牌評価関数の学習 [ 北川ら , 07].
E N D
SVMを用いた麻雀の打ち手の学習 M2 三木理斗
発表の流れ • 背景と目的 • 関連研究 • 提案手法 • 実験結果 • 今後の課題
Section 1 背景と目的
背景 • 多人数不確定ゲームである麻雀 • 探索の問題 • 確率ノードの扱い • 上がりから遠ざかる手変わり • 評価関数作成の問題 • 探索打ち切り局面をどう評価するのか
目的 • 麻雀の手牌評価 • SVMによって手を直接選択する • 探索や評価値を用いなくてもそこそこ良い手を判別できる
Section 2 関連研究
手牌評価関数の学習 [北川ら, 07] • 牌譜を用いたBonanza method • 3層ニューラルネットワーク • 1,532のboolean特徴要素 • 最大一致率56% (ツモ局面)
Section 3 提案手法
概要 • 手の順位付けをSVMで学習 • 牌譜の手 > 他の手
Support Vector Machine • 2クラスの分類器 マージン を最大化
順位の学習 • 順序関係 ( > 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
牌譜の手との一致率 [%] ソフトマージンパラメータcは1000
ソフトマージンパラメータ • マージンとエラーのバランスを制御するパラメータc マージン エラー 分離平面を越えた距離のパラメータ
パラメータによる変化 • 全特徴、100試合分
結論 • 線形SVMで一致率51% • 手牌の構成のみでかなり高い一致率 • パラメータの調整でかなり増減
Section 5 今後の課題
今後の課題 • カーネルの利用 • 特徴の追加 • 相手の捨て牌 • 手牌の細かい関連 • 応用 • 鳴き局面 • 合法手選択 • 順位の高い手を残して探索など