投入計算量の有限性に基づく uct 探索の枝刈り
DESCRIPTION
投入計算量の有限性に基づく UCT 探索の枝刈り. 新領域創成科学研究科 基盤情報学専攻 近山研究室 47-076308 北川竜平. はじめに. 時間が限られている状態で最大の成果を得たい時には 現時点で良さそうなことを重点的に考える 考えても無駄そうなことは早めに打ち切る 例:数学の問題集 家で解くときは時間がたくさんあるので全ての問題を解いてみる 試験等で時間が限られている時は解けそうな問題から解く 解くのが難しそうなら後回し この考え方でアルゴリズムの性能強化を行う. 本研究の目的. 対象 非常に難しい問題を解くアルゴリズム - PowerPoint PPT PresentationTRANSCRIPT
投入計算量の有限性に基づく UCT探索の枝刈り
新領域創成科学研究科基盤情報学専攻
近山研究室 47-076308 北川竜平
2
はじめに• 時間が限られている状態で最大の成果を得たい時には
– 現時点で良さそうなことを重点的に考える– 考えても無駄そうなことは早めに打ち切る
• 例:数学の問題集– 家で解くときは時間がたくさんあるので全ての問題を解いてみる– 試験等で時間が限られている時は解けそうな問題から解く– 解くのが難しそうなら後回し
• この考え方でアルゴリズムの性能強化を行う0232 xx
xeydx
dy
dx
yd
2
2
3
本研究の目的• 対象
– 非常に難しい問題を解くアルゴリズム– 処理性能の低い CPU (組み込み用等)上で実行されるアルゴリズ
ム• 実用的な時間内で精度の高い解が得られるとは限らない
• 投入できる計算量は有限– 使用可能な残りの計算量を意識させることでアルゴリズムの性能
強化を行う
• ゲーム木探索を例として、この考え方の有効性を実証– 解くのが非常に難しい問題– 処理性能の低い CPU 上での実行も想定可能 ( 携帯ゲーム機等 )– 評価が簡単
4
本研究の手法• 残り探索時間を考慮することによる探索の放棄
– いくつかの選択肢の中から最善のものを選ぶ問題• 評価値が一番高いものが最善
– 探索できる時間が までなら選択肢 B が選択肢 A を超えることはない
• 選択肢 B の探索を放棄してもよい– 探索できる時間が までなら選択肢 B が選択肢 A を超える可能性
はある• 選択肢 B の探索を放棄してはいけない
時間
評価値
選択肢 A
選択肢 B
1t 2t
それまでの評価値
評価値の推定値の上限下限
1t
2t
0t
5
本研究の位置づけ• 投入計算量の有限性を意識することによるアル
ゴリズムの性能強化手法の提案
• ゲーム木探索の性能強化手法の提案– ゲームの知識を用いない– ゲームの性質に依存しない
6
発表の流れ1. はじめに2. 背景3. 関連研究4. 提案手法5. 実験と評価6. 結論
7
背景• ゲームにおける“解”
– 与えられた局面において必勝の合法手を見つけること
• ゲームを解くには、ゲーム木探索を使用– ルートノード : 現在局面・枝 : 合法手・子ノード : 移行
局面ゲーム 探索空間の大き
さチェッカーオセロ囲碁
3010601036010
初期局面においては解かれた探索時間は数年単位
ゲーム木探索は、非常に難しい問題を解くアルゴリズムに相当
8
ゲーム木探索• 探索時間に上限が無ければ解くことは可能
– 全ての局面を探索• 実際には有限時間で探索を打ち切って近似解を使用
– モンテカルロ木探索 [Brugmann. 1996]– UCT 探索 [Kocsis et al. 2006]
• 各合法手の評価値にはゲームのプレイアウトを繰り返した時の勝率を用いる• 評価値の精度はプレイアウトの回数に依存• 評価関数を使用しないので知識表現の難しいゲームや新しいゲームで効果的
… … …
100
60
100
30
100
55
プレイアウト
プレイアウト回数勝ち数
何らかの方法により合法手を選ばせ、現在局面から終局までのゲームを行う
こと
プレイアウト
9
プレイアウト• モンテカルロ木探索
– 全てランダムで選択
• UCT 探索– 未探索ノード : ランダム選択– 探索されたことのあるノード :UCB 値が一番高いノードを選択
勝率の高いノード・探索された回数の少ないノード程探索されやすくなる
s
ncXlog
UCB
勝率 親ノードのプレイアウト回
数
そのノードのプレイアウト回数
正の定数
10
UCT の利点と欠点• 利点
– 結果的に勝率が高くなりそうなノードを多く探索• ゲーム木探索では選ばれそうな手の評価値の精度
が高いことが重要• 選ばれなさそうな手の評価値はデタラメで良い
• 欠点– 探索時間に上限が無ければ必ず最適な解が得られる
• 実際は探索に使える時間は有限• 探索時間の後半で、選ばれそうにない手に関して
も探索してしまう
11
関連研究• 選ばれそうな手のプレイアウトの回数を増やす
– UCB1-Tuned [Gelly et al. 2006]• 多腕バンディット問題の手法
– Progressive Pruning [Bouzy. 2006]• モンテカルロ木探索の手法
12
UCB1-Tuned[Gelly et al. 2006]• UCB 値を以下のように求める
s
ncXlog
UCB
),4
1min( Vc
s
nV
log22 報酬の分散
勝率親ノードのプレイアウト回
数そのノードのプレイアウト
回数を動的に求めるc
• プレイアウトが多くなると、極端に勝率の低い枝が探索される可能性が低下
13
Progressive Pruning [Bouzy. 2006]• 勝率は正規分布に従うと仮定• 区間推定で勝率の区間 を推定
• 手 A の より手 B の の方が大きければ、手 A が選択される可能性は低い 手 A を枝刈り(=探索の放棄)
],[ RL XX
srXX
srXX
R
L
RX
勝率 報酬の標準偏差
プレイアウト回数
信頼係数
LX
RXLX X
RXLX X
RXLX X
勝率
手 A
手 B
手 C
14
問題点• 現時点までの探索の結果のみを用いて、選ばれ
そうな枝とそうでない枝とを判別している– 評価値は現時点までの結果と将来の結果に影響され
る
• 将来の結果を推定することで、より少ないプレイアウト回数で枝刈りを進めることが可能
15
提案手法• ゲーム木探索を行うのに使える時間は有限
– 今後プレイアウトが行える回数が有限
• 残りプレイアウト回数から、それぞれの手が到達する勝率の区間を推定– 現在非常に勝率の低い枝は、今後のプレイアウトで
たくさん勝ったとしても高い勝率にはならない
• その区間から選択される可能性の低い手を判断
16
提案手法概要
… … …
90
60
90
30
90
55
プレイアウト
プレイアウト数勝ち数
残り 10 回しかプレイアウトができな
い
100
70
100
40
100
65プレイアウト数勝ち数 結果が最善だった場合
100
60
100
30
100
55プレイアウト数勝ち数 結果が最悪だった場合
絶対に選択されないので枝刈り
17
到達勝率の推定• 合法手 が探索の終了時に到達する勝率
• 将来の報酬の平均 と推定残りプレイアウト回数 が必要
ii
iiii es
YeXP
現在の勝ち数
現在のプレイアウト回数
今後のプレイアウトによって得られる報酬の
平均
推定残りプレイアウト回数
今後のプレイアウトによる勝ち数
探索終了時の推定勝ち数
探索終了時の推定プレイアウト回数
iP
ieiY
i
18
将来報酬推定• 今後のプレイアウトによって得られる報酬の平均の区
間 を推定– 報酬の平均は [0,1] のため最大値と最小値を設定
),0max(i
iiLi
srXY
勝率 報酬の標準偏差
プレイアウト回数信頼係数
),1min(i
iiRi
srXY
],[ RL YY
19
残りプレイアウト回数推定 (1)• 安全な枝刈りにはプレイアウト回数の推定の上限が必要• 区間推定によって合法手 でプレイアウトが行われる確
率 の上限を推定• 親ノードの残りプレイアウト回数 と に従う二項分布 から、合法手 の残りプレイアウト回数の上限 を推定– 親ノードの残りプレイアウト回数 が必要
Bjj
i
Bjj
ii
sr
s
sq
nqqnqe iiii )1(
iq
iq
i
in
プレイアウト回数の標準偏差
今回のプレイアウトで枝刈りされない手の集合
),( iqnBie
n
20
残りプレイアウト回数推定 (2)• 1段目の残りプレイアウト回数 は探索打ち切り条件
から推定– 例:プレイアウトの回数、経過時間
• 2段目以降の残りプレイアウト回数は本提案手法による推定値を用いる
N
1en
Nn
N
1e 2e 3e
11e 12e 13e
21
到達勝率区間推定• 探索終了時に合法手 が到達する勝率の区間
を将来報酬の平均の区間 と推定残りプレイアウト回数 から推定
• 手 A の より手 B の の方が大きければ、手 A が選択される可能性は低い手 A を枝刈り(=探索の放棄)
ii
LiiiLi es
YeXP
ii
RiiiRi es
YeXP
],[ RiLi PP],[ RiLi YY ie
RPLP X
RPLP X
RPLP X
勝率
手 A
手 B
手 C
RP LP
22
枝刈り条件• を満
たす枝 を枝刈り– は最大のものが正確であることが重要– は全て正確である必要がある
• 各種推定はプレイアウト回数が十分大きいときの近似– 最低枝刈りプレイアウト回数 を超えた枝でな
ければ枝刈りを行わない
mins
),,,max( 21 LkLLRi PPPP i
LP
RP
23
利点• 探索した回数が多くなると枝刈りが進む• 残り計算量が少なくなると枝刈りが進む
• 勝率の低い手のプレイアウト回数が少ない UCT探索でも効果が期待できる
24
実験• 対象ゲーム
– 囲碁 9路盤 コミ 5 目半• 実験環境
– CPU Opteron 2.1GHz QuadCore– メモリ 3GB
• 実験のパラメータ
• UCT と UCT に UCB1-Tuned を利用した探索(UCT-Tuned) に提案手法を実装
96.1r0.316min s
25
実験概要• 推定実験
– 将来報酬推定、残りプレイアウト回数推定、到達勝率推定
• 枝刈り実験– 枝刈りされた枝の割合、プレイアウト回数の割合、
最善手を選ぶ可能性の変化
• 対戦実験– 提案手法適用前と後との対戦結果、同一の相手に対
する対戦結果
26
推定実験• 全プレイアウト回数が 10,000 回の時点で推定• その後 10,000 回プレイアウトを行い、実際の
結果と推定を比較• 初期局面に対して 100 回行い,推定失敗率の平均を求める
• 1段目の手の推定について提示– 将来報酬推定– 残りプレイアウト回数推定– 到達勝率推定
27
残りプレイアウト回数推定実験
UCT UCT-Tuned
0
50
100
150
200
250
300
350
40 60 80 100 120 140 160 180 200 220 240
each
mov
e's
play
out o
f las
t 10,
000
play
outs
each move's playout of first 10,000 playouts
resultmean
prediction
0
100
200
300
400
500
600
700
0 50 100 150 200 250 300 350
each
mov
e's
play
out o
f las
t 10,
000
play
outs
each move's playout of first 10,000 playouts
resultmean
prediction
アルゴリズム 推定失敗率UCT 11.7%
UCT-Tuned 18.7%
青よりも上になっている点が推定を失敗したノード
28
将来報酬推定実験
UCT UCT-Tuned
アルゴリズム
上限より上
下限より下
合計推定失敗率
UCT 1.7% 21.6% 23.3%
UCT-Tuned 2.6% 29.4% 32.0%
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6
mea
n of
rew
ards
of l
ast 1
0,00
0 pl
ayou
ts
mean of rewards of first 10,000 playouts
resultmeanupperlower
0
0.1
0.2
0.3
0.4
0.5
0.6
0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55
mea
n of
rew
ards
of l
ast 1
0,00
0 pl
ayou
ts
mean of rewards of first 10,000 playouts
resultmeanupperlower
青:推定の上限 紫:推定の下限
下限より下になる割合が高い
29
到達勝率推定実験
UCT UCT-Tuned
アルゴリズム 上限より上
下限より下 推定失敗率
UCT 1.6% 6.7% 8.4%
UCT-Tuned 3.5% 2.7% 6.2%
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6
eval
uate
d va
lue
of n
ext 1
0,00
0 pl
ayou
ts
evaluated value of 10,000 playouts
resultmeanupperlower
0
0.1
0.2
0.3
0.4
0.5
0.6
0 0.1 0.2 0.3 0.4 0.5 0.6
eval
uate
d va
lue
of n
ext 1
0,00
0 pl
ayou
ts
evaluated value of 10,000 playouts
resultmeanupperlower
青:推定の上限 紫:推定の下限
上限より上になる割合が少ない方が枝刈りを失敗する可能性は低い
30
推定の失敗率• 用いたパラメータによる失敗率が期待している
ものより高い• 探索の前半と後半で得られる結果の質が変化す
ることが原因– 各ノードは前半はランダム、後半では勝ちそうな手
を選びやすい
31
枝刈り実験• 枝刈りに関する実験
– 枝刈りされた枝の割合– プレイアウト回数の割合
• 枝刈りの影響に関する実験– 真の最善手の評価順位の変化
• ランダムに作成した 5 手目の 100 局面• 真の最善手は 100,000 回のプレイアウトを行う
Fuego を用いて判断
• 1段目の手に関して提示
32
枝刈りされた枝の割合
UCT UCT-Tuned
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000
prun
ing
rate
number of playouts
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000
prun
ing
rate
number of playouts
•枝刈りされた枝の割合が下がることがあるのは、枝刈り条件の緩和による枝の復活のため
•残りプレイアウト回数が減ると、枝刈りされた枝が増加
33
プレイアウト回数の割合
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0 10 20 30 40 50 60 70 80
play
out r
ate
rank
UCTUCT-Tuned
UCT+proposalUCT-Tuned+proposal アルゴリズム 選択された手のプレ
イアウト回数の割合UCT 4.5%
UCT+ 提案手法 10.9%
UCT-Tuned 11.6%
UCT-Tuned+ 提案手法 17.7%
•提案手法を組み込むことで、選択された手のプレイアウト回数は増加
•評価順位が上位のプレイアウト回数も増加
•強い手に対する枝刈りが発生していなければ、性能向上が期待できる
34
最善手の評価順位
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 10 20 30 40 50 60 70 80
rate
rank
UCTUCT-Tuned
UCT+proposalUCT-Tuned+proposal アルゴリズム 平均順位 一致率
UCT 6.13 25%
UCT+ 提案手法 9.64 37%
UCT-Tuned 10.06 33%
UCT-Tuned+ 提案手法 14.99 39%
•最善手に対する枝刈りは発生している
•最善手を選択する割合は上昇
35
枝刈りによる影響• 枝刈りによって最善手を非常に悪い手と判断し
てしまうこともある– 行ってはいけない枝刈りの発生
• 最善手を選択する割合は増加• 枝刈りによって、選択された手や評価順位が上
位の手に関しての枝刈り回数は増加– 最善手を枝刈りされたとしても、枝刈りされていな
い手の中から、最も良い手を選択する可能性は向上
36
対戦実験• 提案手法適用前と後との対戦結果
– プレイアウト回数固定– 探索時間固定
• 同一の相手に対する対戦結果• 黒白 50戦ずつの計 100戦
– 有意水準 5% の二項検定で有意に勝ち越したと判断された合計の勝ち数には *マーク
37
プレイアウト回数固定での対戦結果
1 手 20,000 プレイアウト
提案手法適用後の適用前に対する勝ち数
84
39
45
16
11
5
0% 20% 40% 60% 80% 100%
計
後手
先手
勝ち
負け
68
33
35
32
17
15
0% 20% 40% 60% 80% 100%
計
後手
先手
勝ち
負け
*
*
UCT
UCT-Tuned
UCT,UCT-Tuned共に有意に勝ち越した
38
探索時間固定での対戦結果
1 手 2秒
提案手法適用後の適用前に対する勝ち数
83
39
44
17
11
6
0% 20% 40% 60% 80% 100%
計
後手
先手
勝ち
負け
61
27
34
39
23
16
0% 20% 40% 60% 80% 100%
計
後手
先手
勝ち
負け
*
*
UCT
UCT-Tuned
UCT,UCT-Tuned共に有意に勝ち越した
39
同一相手に対する対戦結果
1 手 20,000 プレイアウト
61
56
45
16
39
44
55
84
0% 20% 40% 60% 80% 100%
UCT-Tuned+提案手法
UCT-Tuned
UCT+提案手法
UCT
勝ち
負け
GnuGo level10 に対する各種アルゴリズムの勝ち数
*
*
提案手法を用いることで勝率は上昇
UCT : 有意に負け→有意な差無し
UCT-Tuned :有意な差無し→有意に勝ち
40
まとめ• UCT を投入計算量の有限性から枝刈り
– 残りプレイアウト回数から探索終了時の状態を推定– ゲームの知識や性質に依存しない
• 最善手に対して枝刈りを行う可能性はあるが、結果的には最善手を選択する可能性は上昇– 推定の失敗は探索の前半と後半で得られる結果の質に違いがあ
るのが原因• 提案手法を組み込むことでゲーム木探索の性能強化に成功– UCT では勝率 8割以上、 UCT-Tuned では勝率 6割以上
• 投入できる計算量を意識することでアルゴリズムの性能強化は可能であることを示すことができた
41
今後の課題• 推定の改善
– 推定失敗率が期待されるものよりも高い• 探索の前半と後半で得られる報酬の質が違うため
– 近いプレイアウトによるものを重視させる推定手法
• ゲーム木探索以外への応用– 残り計算量を意識したアルゴリズム改善手法はゲー
ム木探索に限ったものではない
42
発表文献• 査読付会議論文
– 北川竜平,三輪誠,近山隆. 麻雀の牌譜からの打ち手評価関数の学習 . 第 12 回ゲームプログラミングワークショップ2007. pp.76--83,2007
– 北川竜平,栗田哲平,近山隆. 投入計算量の有限性に基づく UCT 探索の枝刈り . 第 13 回ゲームプログラミングワークショップ2008. pp.46--53,2008
• 研究奨励賞受賞