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

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

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

1

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

背景と目的 UCT による打ち手の探索

◦ 関連研究◦ 提案手法◦ 実験

補助問題を利用した評価関数の学習◦ 関連研究◦ 提案手法◦ 実験

結論

発表の流れ

2

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

多人数不完全情報ゲーム◦ 探索の問題

状況によって戦略が変わる 不完全情報、不確定要素のため空間が膨大

研究の浅いゲーム◦ 評価関数の問題

特徴要素の構築・重み付けが難しい 例:麻雀

背景

3

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

麻雀において良い手を求める◦ 探索によって(手法ひとつめ)◦ 評価関数によって(手法ふたつめ)

前述の問題を次のアプローチで解決する◦ なるべく高度な知識を必要としない手法◦ 知識をデータから自動的に抽出できる手法

目的

4

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

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

5

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

麻雀の性質◦ 多人数( 4 人ゲーム)◦ 不完全情報(山や相手の手がわからない)◦ 鳴き(他の人が捨てた牌を自分のものにできる)

Minimax 探索の適用が困難◦ 戦略が複雑(トップを狙うか、 2 位確定するか、など)◦ 局面状態が不確定なため探索の分岐数が膨大◦ 鳴きによる手番の不規則な変化◦ (高精度な評価関数が必要)

背景

6

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

麻雀の打ち手の探索◦ 戦略の推定◦ 不完全情報の推定◦ 手番の割り込み◦ 評価関数

これらの課題に対応したい◦ Minimax 探索でやるには知識が必要

知識を用いずシミュレーションで手を求める

目的

7

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

Minimax 探索の拡張◦ *-Minimax 探索 [Ballard, 1983]

不確定ゲームへの拡張 不完全情報ゲームでは探索空間が膨大 鳴きにも対応しづらい

◦ Maxn 探索 [Luckhardt et al., 1986] 多人数ゲームへの拡張

UCT 探索とその応用◦ 多人数ゲームへの拡張◦ 不完全情報ゲームへの拡張

関連研究

8

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

UCB 値が最大の子ノードを探索する( UCB1 方策)

UCT [Kocsis and Szepesvari, 2006]

iii T

TCXUCB ln

iX :子  の平均報酬iT :子  の探索回数T :親の探索回数C :バランス定数知識項 探索項

i

i

未探索ノードから先はプレイアウトを行う◦ ランダム or 知識利用◦ 終局の結果を報酬として観測

11

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

多人数ゲームへの拡張 [Sturtevant, 2008]◦ ダイヤモンドゲーム◦ ε-greedy 方策でプレイアウト◦ Maxn 探索に対して 73% の勝率

不完全情報ゲームへの拡張 [Schaeffer, 2008]◦ トランプの Skat◦ 相手の手札をランダム生成◦ ヒューリスティックプレイヤや人間にはやや及ばない

12

UCTの拡張

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

麻雀の打ち手を UCT アルゴリズムで探索する◦ UCB1 方策で手を決定

高度な戦略の推定を必要としない◦ 不完全情報はランダムシミュレーション

膨大な探索を必要としない◦ ランダムプレイアウト

評価関数を必要としない◦ 鳴きによる手番の割り込みにも適用できる

提案手法

15

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

1. 局面の見えていない部分をランダム生成する2. 終局までの探索を 1 回行って木を更新する3. 1,2 を繰り返す4. 最も平均報酬の高い手を選択する

麻雀における UCT探索アルゴリズム

16

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

局面の生成

相手の手牌と牌山をランダムに割り当てる17

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

14牌ノード(ツモ局面)での探索14 牌ノード

13 牌ノード

どの牌を切るか、またはカンするか UCB1 方策によって手を決定

18

一萬切り 六索切り 南をカン

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

13牌ノード(鳴き局面)での探索

対面がポン

14 牌ノード

ポンするか、鳴かないか チーするか、鳴かないか 選択権の高いプレイヤ順に UCB1 方策によって決定

下家がチー 誰も鳴かない(下家がツモ)

13 牌ノード

19

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

未探索ノード 終局までランダムプレイアウト

結果を報酬として経路上のノードを更新

東 -4000南 +8000西 -2000北 -2000

20

更新

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

実験環境◦ Core2 Duo 3GHz◦ 2GB RAM

実装◦ C++◦約 2000~数万ループ /秒

実験方法◦ 一致率評価◦ コンピュータおよび人間との対戦

各種パラメータ◦ 報酬は得点収支◦ UCB 値の C=1000

実験

21

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

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

22

100 1000 10000 1000000.0%

10.0%

20.0%

30.0%

40.0%50.0%

60.0%70.0%

80.0%

90.0%

100.0% 一致率3位以内率5位以内率ランダム線形 SVM

ループ回数

一致率

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

ループ回数に対する一致率

100 1000 10000 1000000.0%

10.0%20.0%30.0%40.0%50.0%60.0%70.0%80.0%90.0%

100.0%

UCT

ランダムSVM

ループ回数

一致率

13 牌ノード(鳴き局面)

23

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

鳴く局面と鳴かない局面

100 1000 10000 1000000.0%

10.0%20.0%30.0%40.0%50.0%60.0%70.0%80.0%90.0%

100.0%

UCTランダムSVM

ループ回数100 1000 10000 100000

0.0%10.0%20.0%30.0%40.0%50.0%60.0%70.0%80.0%90.0%

100.0%

UCTランダムSVM

ループ回数牌譜で鳴いた局面 牌譜で鳴かなかった局面

縦軸は一致率

24

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

ループ回数を増やすと鳴きが増える ランダムプレイアウト中にあがることはほとんどない

◦ 報酬のほとんどがノーテン罰符◦流局テンパイを目指している

適切な報酬を設定する必要がある

考察

25

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

プレイヤ Greedy A UCT A Greedy B UCT Bあがり率 [%] 13 23 16.5 23.25

平均収支 -624.5 478.25 -269.25 402

コンピュータプレイヤとの対戦

プレイヤ SVM A UCT A SVM B UCT Bあがり率 [%] 16.75 19 22.5 21.5

平均収支 -458.5 399 118.75 -62.5

グリーディ 対 UCT ( 100試合 400局)

SVM 対 UCT ( 100試合 400局)

26

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

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

人間との対戦

27

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

麻雀の打ち手を UCT 探索によって求めたツモ局面で 46% の最善手一致率

◦ 知識を用いなくても SVM などに匹敵する性能 問題点

◦ プレイアウトではほとんどあがれていない◦流局テンパイを目指す打法◦無駄な鳴きが増えてしまい、振り込みも多い

まとめ

28

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

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

29

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

訓練データ(棋譜)には多くの情報が含まれており、 それらを有効に活用したい◦将棋の囲い◦ 麻雀の役・点数など

評価関数の特徴として組み込めばよいが、特徴空間の構築と重み付けが難しい◦効く特徴と効かない特徴にしっかり重みを付けたい◦記述が難しい特徴をうまく表現したい

背景

30

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

訓練データに含まれる情報を有効に抽出・活用◦ 情報を抽出する

機械学習の問題として解き、モデルを作成◦ 情報を活用する

モデルそのものの情報を利用 モデルを用いた予測結果を利用

抽出した情報で特徴空間の構築・重み付けを改善◦ モデルを主成分分析して有効な特徴の重み付けを促進◦予測結果を使って記述しにくい特徴を表現

目的

31

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

Bonanza

牌譜を用いた評価関数の学習 SVD-ASO

関連研究

32

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

比較学習・・・棋譜の局面の評価値が他の局面の評価値よりも良くなるように調整 Bonanza では棋譜から探索した先の局面で調整

Bonanza [保木 , 2006]

探索posp negp

negp'posp'

posp が棋譜の局面

negpos pp ''

となるように調整

特徴空間の設計が重要33

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

牌譜を用いた評価関数の調整 [北川ら , 2007]◦ニューラルネットワーク◦ 1,532 の boolean 特徴◦ 一致率 56%

木カーネルを用いた SVM による学習 [ 三木ら , 2008]◦ 手牌の木構造特徴◦ 一致率 53%

非線形学習で特徴要素に重み付け

牌譜を用いた評価関数の学習

34

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

ラベルなしデータを用いた半教師あり学習 補助問題を作成して解き、得られたモデルを並べた行列から SVD( 特異値分解 ) によって特徴抽出

◦主成分分析と実質的に同じ 抽出した特徴を既存の空間に追加し、その上で学習を行う

SVD-ASO [Ando and Zhang, 2005]

ラベルなしデータから情報を抽出し、有効な特徴空間の発見に利用35

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

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

提案手法

36

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

既存の特徴空間上で大量の補助分類問題を学習 補助分類問題を利用して特徴空間を拡張

◦得られたモデルから特徴空間を抽出・追加◦ モデルによる予測結果を特徴として追加

拡張された特徴空間上で主問題(評価関数)を学習

提案手法の概要

37

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

人手では抽出が困難だが、評価関数に利用できる情報を分類問題として抽出する◦ 麻雀ではそのような補助分類問題が多くある

例:(この局面から)あがるか◦ 特徴として記述するのは困難◦ 人間は「あがりやすい局面」を選択しているはず

補助分類問題

38

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

どの特徴が効くか、効かないかはわからない◦ 学習しても、うまく重み付けがされるとは限らない

補助分類問題を解くのに有効な特徴は、評価関数の学習においても有効である可能性が高い◦ 例:「何切る」問題で有効な特徴は、実戦局面でも有効

モデルの行列から主成分分析で特徴抽出◦ 重みが大きく動いている軸が取り出される◦ 間接的な特徴選択効果

モデルを利用した特徴空間の拡張

39

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

直接記述するのは難しい特徴がある◦ 例:(この局面から)あがるか?◦「あがりやすい局面」を選択していれば、有効な特徴になる

予測結果をそのまま特徴として用いる

予測結果を利用した特徴空間の拡張

40

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

線形分類問題の場合org

Torg

Tall

org

org

org

Tallall

Tall fuf

MPI

w

Mf

Pf

f

wfw

allf

orgf

P

M

: 拡張された特徴空間: 元の特徴空間: 主成分分析の変換行列: 補助問題のモデルの行列

元の特徴空間で計算できる41

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

ベクトル uの中身

111

000

mwpww

mwpww

mp

mpu

主問題の重み

主成分分析による補正項予測結果による補正項

42

元の特徴が 2 次元、補助問題が 1 つの場合

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

線形だと次元数が変わっていない◦同じ結果になるのでは?

補助問題の幾何学的意味

0w

1w

0u

1u

11 mwpw mp

補助問題あり補助問題で最適だったところの近くで解を探す

2),(min wwX CLoss

正則化項

43

00 mwpw mp

原点の近くで解を探す補助問題なし

正則化する (ペナルティをかける ) と・・・

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

拡張した特徴空間上で学習を行う今回は SVM を用いる

◦ ( 牌譜の局面 - それ以外の局面 ) を正例、逆を負例

評価関数の学習

44

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

学習した評価関数と牌譜の手との一致率・不一致度を計測◦ 不一致度=予測順位の 1 位からのずれの平均

学習には LIBLINEAR を使用◦ L2損失・ L2正則化・ SVM

実験

45

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

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

補助分類問題

46

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

カテゴリ 要素数牌割 38面子 239

面子候補 133自分の状態 6

手牌の 1枚と河の 1枚の組み合わせ 5776状況別牌危険度 240

合計 6432

元の特徴要素

47

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

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

48

0 20000 40000 60000 800002.00

2.50

3.00

3.50

4.00

補助問題なし モデルのみ予測結果のみ モデル+予測結果

学習局面数不一致度

0 20000 40000 60000 8000030

35

40

45

50

55

60

補助問題なし モデルのみ予測結果のみ モデル+予測結果

学習局面数

一致率[

%]

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

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

絞り込み

49

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

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

50

0 20000 40000 60000 800002.00

2.50

3.00

3.50

4.00

補助問題なし モデルのみ予測結果のみ モデル+予測結果

学習局面数不一致度

0 20000 40000 60000 8000030

35

40

45

50

55

60

補助問題なし モデルのみ予測結果のみ モデル+予測結果

学習局面数

一致率[

%]

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

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

大量の補助問題

51

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

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

52

0 20000 40000 60000 8000030

35

40

45

50

55

60

補助問題なし モデルのみ予測結果のみ モデル+予測結果

学習局面数

一致率[

%]

0 20000 40000 60000 800002.00

2.50

3.00

3.50

4.00

補助問題なし モデルのみ予測結果のみ モデル+予測結果

学習局面数不一致度

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

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

53

0 20000 40000 60000 800002.00

2.50

3.00

3.50

4.00

補助問題なし モデルのみ予測結果のみ モデル+予測結果

学習局面数不一致度

0 20000 40000 60000 8000030

35

40

45

50

55

60

補助問題なし モデルのみ予測結果のみ モデル+予測結果

学習局面数

一致率[

%]

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

対戦実験

54

プレイヤ prediction w/o A w/o B w/o Cあがり率 [%] 17.88 19.44 18.81 16.69

平均収支 36 -46 166 -141

プレイヤ model w/o A w/o B w/o Cあがり率 [%] 20.13 18.31 17.44 17.75

平均収支 185 21 -107 -84

予測結果による拡張 対 補助問題なし ( 400試合 1600局)

モデルによる拡張 対 補助問題なし ( 400試合 1600局)

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

補助問題を用いて特徴空間を拡張して学習 モデルを用いた拡張では最高 9% の一致率上昇

◦ しかし学習の進行が不安定◦ 適切な補助問題を設定する必要がある

予測結果を用いた拡張では一致率・不一致度ともにそこそこ改善◦ こちらは学習の進行が安定◦「記述しにくい特徴」を抽出できる手法

まとめ

55

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

56

結論

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

多人数不完全情報ゲームにおける UCT の有効性◦ 不完全情報・不確定要素・多人数戦に適応

補助問題を用いた評価関数の学習の有効性◦予測結果による特徴空間の拡張が効果的◦線形分類問題でも有効

残る問題◦ 探索と評価関数を組み合わせて検証する必要あり◦作成したプレイヤが実戦では強くない

結論

57

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

UCT による探索◦ 不完全情報の推定◦ プレイアウトの改善◦ 探索効率の向上

補助問題を用いた評価関数の学習◦ 適切な補助問題の設定◦非線形学習◦ 他のゲームへの応用

その他の問題◦ 実戦的なプレイヤの設計

分類器を使って評価関数を切り替える、等

今後の課題

58