1 / 54

多人数不完全情報ゲームにおける 最適行動決定に関する研究

多人数不完全情報ゲームにおける 最適行動決定に関する研究. 電気系工学専攻 融合情報学コース 近山 ・田浦 研究室 三木 理斗. 発表の流れ. 背景と目的 UCT による打ち手の探索 関連研究 提案手法 実験 補助問題を利用した評価関数の学習 関連研究 提案手法 実験 結論. 背景. 多人数不完全情報ゲーム 探索の問題 状況によって戦略が変わる 不完全情報、不確定要素のため空間が 膨大 研究の浅いゲーム 評価関数の問題 特徴要素の構築・重み付けが難しい 例:麻雀. 目的. 麻雀において良い手を 求める 探索 に よって(手法 ひとつめ )

indiya
Télécharger la présentation

多人数不完全情報ゲームにおける 最適行動決定に関する研究

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 多人数不完全情報ゲームにおける最適行動決定に関する研究多人数不完全情報ゲームにおける最適行動決定に関する研究 電気系工学専攻 融合情報学コース 近山・田浦研究室 三木 理斗

  2. 発表の流れ • 背景と目的 • UCTによる打ち手の探索 • 関連研究 • 提案手法 • 実験 • 補助問題を利用した評価関数の学習 • 関連研究 • 提案手法 • 実験 • 結論

  3. 背景 • 多人数不完全情報ゲーム • 探索の問題 • 状況によって戦略が変わる • 不完全情報、不確定要素のため空間が膨大 • 研究の浅いゲーム • 評価関数の問題 • 特徴要素の構築・重み付けが難しい • 例:麻雀

  4. 目的 • 麻雀において良い手を求める • 探索によって(手法ひとつめ) • 評価関数によって(手法ふたつめ) • 前述の問題を次のアプローチで解決する • なるべく高度な知識を必要としない手法 • 知識をデータから自動的に抽出できる手法

  5. UCTによる麻雀の打ち手の探索 提案手法1

  6. 背景 • 麻雀の性質 • 多人数(4人ゲーム) • 不完全情報(山や相手の手がわからない) • 鳴き(他の人が捨てた牌を自分のものにできる) • Minimax探索の適用が困難 • 戦略が複雑(トップを狙うか、2位確定するか、など) • 局面状態が不確定なため探索の分岐数が膨大 • 鳴きによる手番の不規則な変化 • (高精度な評価関数が必要)

  7. 目的 • 麻雀の打ち手の探索 • 戦略の推定 • 不完全情報の推定 • 手番の割り込み • 評価関数 • これらの課題に対応したい • Minimax探索でやるには知識が必要 • 知識を用いずシミュレーションで手を求める

  8. 関連研究 • Minimax探索の拡張 • *-Minimax探索 [Ballard, 1983] • 不確定ゲームへの拡張 • 不完全情報ゲームでは探索空間が膨大 • 鳴きにも対応しづらい • Maxn探索 [Luckhardt et al., 1986] • 多人数ゲームへの拡張 • UCT探索とその応用 • 多人数ゲームへの拡張 • 不完全情報ゲームへの拡張

  9. UCT [Kocsis and Szepesvari, 2006] • UCB値が最大の子ノードを探索する(UCB1方策) :子  の平均報酬 :子 の探索回数 :親の探索回数 :バランス定数 知識項 探索項 • 未探索ノードから先はプレイアウトを行う • ランダムor知識利用 • 終局の結果を報酬として観測

  10. UCTの拡張 • 多人数ゲームへの拡張 [Sturtevant, 2008] • ダイヤモンドゲーム • ε-greedy方策でプレイアウト • Maxn探索に対して73%の勝率 • 不完全情報ゲームへの拡張 [Schaeffer, 2008] • トランプのSkat • 相手の手札をランダム生成 • ヒューリスティックプレイヤや人間にはやや及ばない

  11. 提案手法 • 麻雀の打ち手をUCTアルゴリズムで探索する • UCB1方策で手を決定 • 高度な戦略の推定を必要としない • 不完全情報はランダムシミュレーション • 膨大な探索を必要としない • ランダムプレイアウト • 評価関数を必要としない • 鳴きによる手番の割り込みにも適用できる

  12. 麻雀におけるUCT探索アルゴリズム • 局面の見えていない部分をランダム生成する • 終局までの探索を1回行って木を更新する • 1,2を繰り返す • 最も平均報酬の高い手を選択する

  13. 局面の生成 相手の手牌と牌山をランダムに割り当てる

  14. 14牌ノード(ツモ局面)での探索 • どの牌を切るか、またはカンするか • UCB1方策によって手を決定 14牌ノード 13牌ノード 一萬切り 六索切り 南をカン

  15. 13牌ノード(鳴き局面)での探索 • ポンするか、鳴かないか • チーするか、鳴かないか • 選択権の高いプレイヤ順にUCB1方策によって決定 13牌ノード 14牌ノード 対面がポン 下家がチー 誰も鳴かない (下家がツモ)

  16. 未探索ノード • 終局までランダムプレイアウト 更新 東 -4000 南 +8000 西 -2000 北 -2000 • 結果を報酬として経路上のノードを更新

  17. 実験 • 実験環境 • Core2 Duo 3GHz • 2GB RAM • 実装 • C++ • 約2000~数万ループ/秒 • 実験方法 • 一致率評価 • コンピュータおよび人間との対戦 • 各種パラメータ • 報酬は得点収支 • UCB値のC=1000

  18. ループ回数に対する一致率 • 14牌ノード(ツモ局面)

  19. ループ回数に対する一致率 • 13牌ノード(鳴き局面)

  20. 鳴く局面と鳴かない局面 • 縦軸は一致率 牌譜で鳴いた局面 牌譜で鳴かなかった局面

  21. 考察 • ループ回数を増やすと鳴きが増える • ランダムプレイアウト中にあがることはほとんどない • 報酬のほとんどがノーテン罰符 • 流局テンパイを目指している • 適切な報酬を設定する必要がある

  22. コンピュータプレイヤとの対戦 グリーディ 対 UCT (100試合400局) SVM 対 UCT (100試合400局)

  23. 人間との対戦 • 第一東風荘(東風戦 食いタンあり ノーテン親流れ) • 1手5秒 • 123試合631局 • R976 (安定R849) • あがり率 15.8% • 放銃率  22.0% • 2回以上鳴き率 30.3% • 平均収支 -716

  24. まとめ • 麻雀の打ち手をUCT探索によって求めた • ツモ局面で 46% の最善手一致率 • 知識を用いなくてもSVMなどに匹敵する性能 • 問題点 • プレイアウトではほとんどあがれていない • 流局テンパイを目指す打法 • 無駄な鳴きが増えてしまい、振り込みも多い

  25. 補助問題を用いた麻雀評価関数の学習 提案手法2

  26. 背景 • 訓練データ(棋譜)には多くの情報が含まれており、  それらを有効に活用したい • 将棋の囲い • 麻雀の役・点数など • 評価関数の特徴として組み込めばよいが、特徴空間の構築と重み付けが難しい • 効く特徴と効かない特徴にしっかり重みを付けたい • 記述が難しい特徴をうまく表現したい

  27. 目的 • 訓練データに含まれる情報を有効に抽出・活用 • 情報を抽出する • 機械学習の問題として解き、モデルを作成 • 情報を活用する • モデルそのものの情報を利用 • モデルを用いた予測結果を利用 • 抽出した情報で特徴空間の構築・重み付けを改善 • モデルを主成分分析して有効な特徴の重み付けを促進 • 予測結果を使って記述しにくい特徴を表現

  28. 関連研究 • Bonanza • 牌譜を用いた評価関数の学習 • SVD-ASO

  29. Bonanza [保木, 2006] • 比較学習・・・棋譜の局面の評価値が他の局面の評価値よりも良くなるように調整 • Bonanzaでは棋譜から探索した先の局面で調整 が棋譜の局面 探索 となるように調整 特徴空間の設計が重要

  30. 牌譜を用いた評価関数の学習 • 牌譜を用いた評価関数の調整 [北川ら, 2007] • ニューラルネットワーク • 1,532のboolean特徴 • 一致率56% • 木カーネルを用いたSVMによる学習 [三木ら, 2008] • 手牌の木構造特徴 • 一致率53% • 非線形学習で特徴要素に重み付け

  31. SVD-ASO [Ando and Zhang, 2005] • ラベルなしデータを用いた半教師あり学習 • 補助問題を作成して解き、得られたモデルを並べた行列からSVD(特異値分解)によって特徴抽出 • 主成分分析と実質的に同じ • 抽出した特徴を既存の空間に追加し、その上で学習を行う ラベルなしデータから情報を抽出し、 有効な特徴空間の発見に利用

  32. 提案手法 • 麻雀の訓練データ(牌譜)から作成した補助分類問題を利用した特徴空間の拡張による、評価関数の学習

  33. 提案手法の概要 • 既存の特徴空間上で大量の補助分類問題を学習 • 補助分類問題を利用して特徴空間を拡張 • 得られたモデルから特徴空間を抽出・追加 • モデルによる予測結果を特徴として追加 • 拡張された特徴空間上で主問題(評価関数)を学習

  34. 補助分類問題 • 人手では抽出が困難だが、評価関数に利用できる情報を分類問題として抽出する • 麻雀ではそのような補助分類問題が多くある • 例:(この局面から)あがるか • 特徴として記述するのは困難 • 人間は「あがりやすい局面」を選択しているはず

  35. モデルを利用した特徴空間の拡張 • どの特徴が効くか、効かないかはわからない • 学習しても、うまく重み付けがされるとは限らない • 補助分類問題を解くのに有効な特徴は、評価関数の学習においても有効である可能性が高い • 例:「何切る」問題で有効な特徴は、実戦局面でも有効 • モデルの行列から主成分分析で特徴抽出 • 重みが大きく動いている軸が取り出される • 間接的な特徴選択効果

  36. 予測結果を利用した特徴空間の拡張 • 直接記述するのは難しい特徴がある • 例:(この局面から)あがるか? • 「あがりやすい局面」を選択していれば、有効な特徴になる • 予測結果をそのまま特徴として用いる

  37. 線形分類問題の場合 : 拡張された特徴空間 : 元の特徴空間 : 主成分分析の変換行列 : 補助問題のモデルの行列 元の特徴空間で計算できる

  38. ベクトルuの中身 元の特徴が2次元、補助問題が1つの場合 主問題の重み 主成分分析による補正項 予測結果による補正項

  39. 補助問題の幾何学的意味 • 線形だと次元数が変わっていない • 同じ結果になるのでは? 正則化項 • 正則化する(ペナルティをかける)と・・・ 補助問題なし 補助問題あり 原点の近くで解を探す 補助問題で最適だったところの近くで解を探す

  40. 評価関数の学習 • 拡張した特徴空間上で学習を行う • 今回はSVMを用いる • (牌譜の局面-それ以外の局面)を正例、逆を負例

  41. 実験 • 学習した評価関数と牌譜の手との一致率・不一致度を計測 • 不一致度=予測順位の1位からのずれの平均 • 学習にはLIBLINEARを使用 • L2損失・L2正則化・SVM

  42. 補助分類問題 • 22個の問題を作成(あがりに関するもののみ) • あがり • 面前あがり • 鳴きあがり • 順位の上がるあがり • 特定の点以上のあがり • 各役のあがり • ドラn枚のあがり • ・・・

  43. 元の特徴要素

  44. 22個の補助問題を用いた場合

  45. 絞り込み • そもそも補助問題が解けていないと意味がない • 訓練データで4-fold cross validationを行い、F値が0.4以上の問題12個を選択

  46. F値0.4で絞り込んだ12個の場合

  47. 大量の補助問題 • 前述の補助問題を、残りツモ数ごとに作成(×18) • そこからさらにF値0.1以上のものを絞り込み

  48. 残りツモ数ごとに作った場合

  49. 残りツモ数ごとに作って絞り込み

  50. 対戦実験 予測結果による拡張 対 補助問題なし (400試合1600局) モデルによる拡張 対 補助問題なし (400試合1600局)

More Related