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