投入計算量の有限性に基づく uct 探索の枝刈り

42
投投投投投投投投投投投投投 UCT 投投投投投投 投投投投投投投投投投 投投投投投投投 投投投投投 47-076308 投投投投

Upload: lev

Post on 12-Jan-2016

63 views

Category:

Documents


0 download

DESCRIPTION

投入計算量の有限性に基づく UCT 探索の枝刈り. 新領域創成科学研究科 基盤情報学専攻 近山研究室  47-076308  北川竜平. はじめに. 時間が限られている状態で最大の成果を得たい時には 現時点で良さそうなことを重点的に考える 考えても無駄そうなことは早めに打ち切る 例:数学の問題集 家で解くときは時間がたくさんあるので全ての問題を解いてみる 試験等で時間が限られている時は解けそうな問題から解く 解くのが難しそうなら後回し この考え方でアルゴリズムの性能強化を行う. 本研究の目的. 対象 非常に難しい問題を解くアルゴリズム - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 投入計算量の有限性に基づく UCT 探索の枝刈り

投入計算量の有限性に基づく UCT探索の枝刈り

新領域創成科学研究科基盤情報学専攻

近山研究室  47-076308  北川竜平

Page 2: 投入計算量の有限性に基づく UCT 探索の枝刈り

2

はじめに• 時間が限られている状態で最大の成果を得たい時には

– 現時点で良さそうなことを重点的に考える– 考えても無駄そうなことは早めに打ち切る

• 例:数学の問題集– 家で解くときは時間がたくさんあるので全ての問題を解いてみる– 試験等で時間が限られている時は解けそうな問題から解く– 解くのが難しそうなら後回し

• この考え方でアルゴリズムの性能強化を行う0232 xx

xeydx

dy

dx

yd

2

2

Page 3: 投入計算量の有限性に基づく UCT 探索の枝刈り

3

本研究の目的• 対象

– 非常に難しい問題を解くアルゴリズム– 処理性能の低い CPU (組み込み用等)上で実行されるアルゴリズ

ム• 実用的な時間内で精度の高い解が得られるとは限らない

• 投入できる計算量は有限– 使用可能な残りの計算量を意識させることでアルゴリズムの性能

強化を行う

• ゲーム木探索を例として、この考え方の有効性を実証– 解くのが非常に難しい問題– 処理性能の低い CPU 上での実行も想定可能  ( 携帯ゲーム機等 )– 評価が簡単

Page 4: 投入計算量の有限性に基づく UCT 探索の枝刈り

4

本研究の手法• 残り探索時間を考慮することによる探索の放棄

– いくつかの選択肢の中から最善のものを選ぶ問題• 評価値が一番高いものが最善

– 探索できる時間が までなら選択肢 B が選択肢 A を超えることはない

• 選択肢 B の探索を放棄してもよい– 探索できる時間が までなら選択肢 B が選択肢 A を超える可能性

はある• 選択肢 B の探索を放棄してはいけない

時間

評価値

選択肢 A

選択肢 B

1t 2t

それまでの評価値

評価値の推定値の上限下限

1t

2t

0t

Page 5: 投入計算量の有限性に基づく UCT 探索の枝刈り

5

本研究の位置づけ• 投入計算量の有限性を意識することによるアル

ゴリズムの性能強化手法の提案

• ゲーム木探索の性能強化手法の提案– ゲームの知識を用いない– ゲームの性質に依存しない

Page 6: 投入計算量の有限性に基づく UCT 探索の枝刈り

6

発表の流れ1. はじめに2. 背景3. 関連研究4. 提案手法5. 実験と評価6. 結論

Page 7: 投入計算量の有限性に基づく UCT 探索の枝刈り

7

背景• ゲームにおける“解”

– 与えられた局面において必勝の合法手を見つけること

• ゲームを解くには、ゲーム木探索を使用– ルートノード : 現在局面・枝 : 合法手・子ノード : 移行

局面ゲーム 探索空間の大き

さチェッカーオセロ囲碁

3010601036010

初期局面においては解かれた探索時間は数年単位

ゲーム木探索は、非常に難しい問題を解くアルゴリズムに相当

Page 8: 投入計算量の有限性に基づく UCT 探索の枝刈り

8

ゲーム木探索• 探索時間に上限が無ければ解くことは可能

– 全ての局面を探索• 実際には有限時間で探索を打ち切って近似解を使用

– モンテカルロ木探索 [Brugmann. 1996]– UCT 探索 [Kocsis et al. 2006]

• 各合法手の評価値にはゲームのプレイアウトを繰り返した時の勝率を用いる• 評価値の精度はプレイアウトの回数に依存• 評価関数を使用しないので知識表現の難しいゲームや新しいゲームで効果的

… … …

100

60

100

30

100

55

プレイアウト

プレイアウト回数勝ち数

何らかの方法により合法手を選ばせ、現在局面から終局までのゲームを行う

こと

プレイアウト

Page 9: 投入計算量の有限性に基づく UCT 探索の枝刈り

9

プレイアウト• モンテカルロ木探索

– 全てランダムで選択

• UCT 探索– 未探索ノード : ランダム選択– 探索されたことのあるノード :UCB 値が一番高いノードを選択

勝率の高いノード・探索された回数の少ないノード程探索されやすくなる

s

ncXlog

UCB

勝率 親ノードのプレイアウト回

そのノードのプレイアウト回数

正の定数

Page 10: 投入計算量の有限性に基づく UCT 探索の枝刈り

10

UCT の利点と欠点• 利点

– 結果的に勝率が高くなりそうなノードを多く探索• ゲーム木探索では選ばれそうな手の評価値の精度

が高いことが重要• 選ばれなさそうな手の評価値はデタラメで良い

• 欠点– 探索時間に上限が無ければ必ず最適な解が得られる

• 実際は探索に使える時間は有限• 探索時間の後半で、選ばれそうにない手に関して

も探索してしまう

Page 11: 投入計算量の有限性に基づく UCT 探索の枝刈り

11

関連研究• 選ばれそうな手のプレイアウトの回数を増やす

– UCB1-Tuned [Gelly et al. 2006]• 多腕バンディット問題の手法

– Progressive Pruning [Bouzy. 2006]• モンテカルロ木探索の手法

Page 12: 投入計算量の有限性に基づく UCT 探索の枝刈り

12

UCB1-Tuned[Gelly et al. 2006]• UCB 値を以下のように求める

s

ncXlog

UCB

),4

1min( Vc

s

nV

log22 報酬の分散

勝率親ノードのプレイアウト回

数そのノードのプレイアウト

回数を動的に求めるc

• プレイアウトが多くなると、極端に勝率の低い枝が探索される可能性が低下

Page 13: 投入計算量の有限性に基づく UCT 探索の枝刈り

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

Page 14: 投入計算量の有限性に基づく UCT 探索の枝刈り

14

問題点• 現時点までの探索の結果のみを用いて、選ばれ

そうな枝とそうでない枝とを判別している– 評価値は現時点までの結果と将来の結果に影響され

• 将来の結果を推定することで、より少ないプレイアウト回数で枝刈りを進めることが可能

Page 15: 投入計算量の有限性に基づく UCT 探索の枝刈り

15

提案手法• ゲーム木探索を行うのに使える時間は有限

– 今後プレイアウトが行える回数が有限

• 残りプレイアウト回数から、それぞれの手が到達する勝率の区間を推定– 現在非常に勝率の低い枝は、今後のプレイアウトで

たくさん勝ったとしても高い勝率にはならない

• その区間から選択される可能性の低い手を判断

Page 16: 投入計算量の有限性に基づく UCT 探索の枝刈り

16

提案手法概要

… … …

90

60

90

30

90

55

プレイアウト

プレイアウト数勝ち数

残り 10 回しかプレイアウトができな

100

70

100

40

100

65プレイアウト数勝ち数 結果が最善だった場合

100

60

100

30

100

55プレイアウト数勝ち数 結果が最悪だった場合

絶対に選択されないので枝刈り

Page 17: 投入計算量の有限性に基づく UCT 探索の枝刈り

17

到達勝率の推定• 合法手 が探索の終了時に到達する勝率

• 将来の報酬の平均 と推定残りプレイアウト回数 が必要

ii

iiii es

YeXP

現在の勝ち数

現在のプレイアウト回数

今後のプレイアウトによって得られる報酬の

平均

推定残りプレイアウト回数

今後のプレイアウトによる勝ち数

探索終了時の推定勝ち数

探索終了時の推定プレイアウト回数

iP

ieiY

i

Page 18: 投入計算量の有限性に基づく UCT 探索の枝刈り

18

将来報酬推定• 今後のプレイアウトによって得られる報酬の平均の区

間        を推定– 報酬の平均は [0,1] のため最大値と最小値を設定

),0max(i

iiLi

srXY

勝率 報酬の標準偏差

プレイアウト回数信頼係数

),1min(i

iiRi

srXY

],[ RL YY

Page 19: 投入計算量の有限性に基づく UCT 探索の枝刈り

19

残りプレイアウト回数推定 (1)• 安全な枝刈りにはプレイアウト回数の推定の上限が必要• 区間推定によって合法手 でプレイアウトが行われる確

率 の上限を推定• 親ノードの残りプレイアウト回数  と  に従う二項分布     から、合法手 の残りプレイアウト回数の上限  を推定– 親ノードの残りプレイアウト回数  が必要

Bjj

i

Bjj

ii

sr

s

sq

nqqnqe iiii )1(

iq

iq

i

in

プレイアウト回数の標準偏差

今回のプレイアウトで枝刈りされない手の集合

),( iqnBie

n

Page 20: 投入計算量の有限性に基づく UCT 探索の枝刈り

20

残りプレイアウト回数推定 (2)• 1段目の残りプレイアウト回数  は探索打ち切り条件

から推定– 例:プレイアウトの回数、経過時間

• 2段目以降の残りプレイアウト回数は本提案手法による推定値を用いる

N

1en

Nn

N

1e 2e 3e

11e 12e 13e

Page 21: 投入計算量の有限性に基づく UCT 探索の枝刈り

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

Page 22: 投入計算量の有限性に基づく UCT 探索の枝刈り

22

枝刈り条件•                    を満

たす枝 を枝刈り–   は最大のものが正確であることが重要–   は全て正確である必要がある

• 各種推定はプレイアウト回数が十分大きいときの近似– 最低枝刈りプレイアウト回数   を超えた枝でな

ければ枝刈りを行わない

mins

),,,max( 21 LkLLRi PPPP i

LP

RP

Page 23: 投入計算量の有限性に基づく UCT 探索の枝刈り

23

利点• 探索した回数が多くなると枝刈りが進む• 残り計算量が少なくなると枝刈りが進む

• 勝率の低い手のプレイアウト回数が少ない UCT探索でも効果が期待できる

Page 24: 投入計算量の有限性に基づく UCT 探索の枝刈り

24

実験• 対象ゲーム

– 囲碁 9路盤 コミ 5 目半• 実験環境

– CPU Opteron 2.1GHz QuadCore– メモリ 3GB

• 実験のパラメータ

• UCT と UCT に UCB1-Tuned を利用した探索(UCT-Tuned) に提案手法を実装

96.1r0.316min s

Page 25: 投入計算量の有限性に基づく UCT 探索の枝刈り

25

実験概要• 推定実験

– 将来報酬推定、残りプレイアウト回数推定、到達勝率推定

• 枝刈り実験– 枝刈りされた枝の割合、プレイアウト回数の割合、

最善手を選ぶ可能性の変化

• 対戦実験– 提案手法適用前と後との対戦結果、同一の相手に対

する対戦結果

Page 26: 投入計算量の有限性に基づく UCT 探索の枝刈り

26

推定実験• 全プレイアウト回数が 10,000 回の時点で推定• その後 10,000 回プレイアウトを行い、実際の

結果と推定を比較• 初期局面に対して 100 回行い,推定失敗率の平均を求める

• 1段目の手の推定について提示– 将来報酬推定– 残りプレイアウト回数推定– 到達勝率推定

Page 27: 投入計算量の有限性に基づく UCT 探索の枝刈り

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%

青よりも上になっている点が推定を失敗したノード

Page 28: 投入計算量の有限性に基づく UCT 探索の枝刈り

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

青:推定の上限 紫:推定の下限

下限より下になる割合が高い

Page 29: 投入計算量の有限性に基づく UCT 探索の枝刈り

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

青:推定の上限 紫:推定の下限

上限より上になる割合が少ない方が枝刈りを失敗する可能性は低い

Page 30: 投入計算量の有限性に基づく UCT 探索の枝刈り

30

推定の失敗率• 用いたパラメータによる失敗率が期待している

ものより高い• 探索の前半と後半で得られる結果の質が変化す

ることが原因– 各ノードは前半はランダム、後半では勝ちそうな手

を選びやすい

Page 31: 投入計算量の有限性に基づく UCT 探索の枝刈り

31

枝刈り実験• 枝刈りに関する実験

– 枝刈りされた枝の割合– プレイアウト回数の割合

• 枝刈りの影響に関する実験– 真の最善手の評価順位の変化

• ランダムに作成した 5 手目の 100 局面• 真の最善手は 100,000 回のプレイアウトを行う

Fuego を用いて判断

• 1段目の手に関して提示

Page 32: 投入計算量の有限性に基づく UCT 探索の枝刈り

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

•枝刈りされた枝の割合が下がることがあるのは、枝刈り条件の緩和による枝の復活のため

•残りプレイアウト回数が減ると、枝刈りされた枝が増加

Page 33: 投入計算量の有限性に基づく UCT 探索の枝刈り

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%

•提案手法を組み込むことで、選択された手のプレイアウト回数は増加

•評価順位が上位のプレイアウト回数も増加

•強い手に対する枝刈りが発生していなければ、性能向上が期待できる

Page 34: 投入計算量の有限性に基づく UCT 探索の枝刈り

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%

•最善手に対する枝刈りは発生している

•最善手を選択する割合は上昇

Page 35: 投入計算量の有限性に基づく UCT 探索の枝刈り

35

枝刈りによる影響• 枝刈りによって最善手を非常に悪い手と判断し

てしまうこともある– 行ってはいけない枝刈りの発生

• 最善手を選択する割合は増加• 枝刈りによって、選択された手や評価順位が上

位の手に関しての枝刈り回数は増加– 最善手を枝刈りされたとしても、枝刈りされていな

い手の中から、最も良い手を選択する可能性は向上

Page 36: 投入計算量の有限性に基づく UCT 探索の枝刈り

36

対戦実験• 提案手法適用前と後との対戦結果

– プレイアウト回数固定– 探索時間固定

• 同一の相手に対する対戦結果• 黒白 50戦ずつの計 100戦

– 有意水準 5% の二項検定で有意に勝ち越したと判断された合計の勝ち数には *マーク

Page 37: 投入計算量の有限性に基づく UCT 探索の枝刈り

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共に有意に勝ち越した

Page 38: 投入計算量の有限性に基づく UCT 探索の枝刈り

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共に有意に勝ち越した

Page 39: 投入計算量の有限性に基づく UCT 探索の枝刈り

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 :有意な差無し→有意に勝ち

Page 40: 投入計算量の有限性に基づく UCT 探索の枝刈り

40

まとめ• UCT を投入計算量の有限性から枝刈り

– 残りプレイアウト回数から探索終了時の状態を推定– ゲームの知識や性質に依存しない

• 最善手に対して枝刈りを行う可能性はあるが、結果的には最善手を選択する可能性は上昇– 推定の失敗は探索の前半と後半で得られる結果の質に違いがあ

るのが原因• 提案手法を組み込むことでゲーム木探索の性能強化に成功– UCT では勝率 8割以上、 UCT-Tuned では勝率 6割以上

• 投入できる計算量を意識することでアルゴリズムの性能強化は可能であることを示すことができた

Page 41: 投入計算量の有限性に基づく UCT 探索の枝刈り

41

今後の課題• 推定の改善

– 推定失敗率が期待されるものよりも高い• 探索の前半と後半で得られる報酬の質が違うため

– 近いプレイアウトによるものを重視させる推定手法

• ゲーム木探索以外への応用– 残り計算量を意識したアルゴリズム改善手法はゲー

ム木探索に限ったものではない

Page 42: 投入計算量の有限性に基づく UCT 探索の枝刈り

42

発表文献• 査読付会議論文

– 北川竜平,三輪誠,近山隆. 麻雀の牌譜からの打ち手評価関数の学習 . 第 12 回ゲームプログラミングワークショップ2007. pp.76--83,2007

– 北川竜平,栗田哲平,近山隆. 投入計算量の有限性に基づく UCT 探索の枝刈り . 第 13 回ゲームプログラミングワークショップ2008. pp.46--53,2008

• 研究奨励賞受賞