...

モンテカルロ 木探索索 コンピュータ囲碁の進歩について

by user

on
Category: Documents
17

views

Report

Comments

Transcript

モンテカルロ 木探索索 コンピュータ囲碁の進歩について
モンテカルロ⽊木探索索
および
コンピュータ囲碁の進歩について
湊離離散構造処理理系プロジェクト
研究員 美添 ⼀一樹
1
1
ゲームAI研究の特徴
良いところ
悪いところ
✴ 目的が明確
✴ 評価基準が明確
✴ 実用性が磨かれる
✴ 研究のための研究は
✴ 問題の性質が偏る
✴ 評価基準が一つだけ
✴ 実装が大変
✴ 研究のための研究が
速やかに淘汰される
速やかに淘汰される
2
2
ゲームAIの現状
チェッカー
1994年年に世界チャンピオンに勝利利
(2007年年に引き分け証明)
オセロ
1997年年に世界チャンピオンに完勝
チェス
1997年年に世界チャンピオンに勝利利
(IBM DeepBlue vs Kasparov)
将棋
(削除)
囲碁
アマ6段くらい
Scrabble
⼈人間より強い
バック
ギャモン
⼈人間より強い
ポーカー
2008年年に⼈人間に勝利利
(1対1 Texas holdʼ’em)
クイズ
2011年年 IBM Watson
3
3
⼆二⼈人ゼロ和完全情報ゲームと
minimax探索索
末端のスコアが分かれば、
探索索により最善⼿手が分かる
50
50
47
50
50
70 47
24
70
25
47
67
15
67
Max node
65
Min node
4
4
minimax探索索の前提
末端のスコアが分からないとminimax探索索はできない
その1、本当に末端まで探索索
その2、評価関数を使う
f(局⾯面) = スコア
詰将棋
評価関数は、何とかして作る
(昔は⼿手作り)
最近は機械学習で作るのが主流流
? ?
? ?
五目並べ
5
5
囲碁の難しさ
探索索空間が巨⼤大=読み切切れない=その1はダメ
チェッカー 1020
オセロ
チェス
将棋
囲碁(9路路)
10
28
10
50
良良い評価関数が作れる
⼿手⽣生成、機械学習などによる
⾼高速(μ秒オーダー)、
正確な評価関数が存在する
1071
10
囲碁では、良良い
評価関数が作れない
=その2もダメ
38
囲碁(19路路) 10171
6
6
第3の⽅方法、モンテカルロ法
• 囲碁は終盤に近づくにつれ
て合法⼿手が減少する
• 合法⼿手の中からランダムに
選んで打つだけのプレイ
ヤーでも終局可能
•
ただし、少し制約が必要 「眼に打
たない」
• 終局まで simulation するこ
とを playout と呼ぶ (造語)
7
7
原始モンテカルロ囲碁
playout による局⾯面評価
[Brügmann 1993] [Bouzy, Cazenave など 2000ごろ]
⿊黒の⼿手番
⽩白の⼿手番
playout
⿊黒勝ち
⽩白勝ち
8
8
もちろん、
原始モンテカルロ囲碁は弱い
• playout の回数が多ければ強くなるという期待
• しかし、深さが2段以上の⽊木に対しては、最善⼿手を
返す保証がない (無限の計算時間があっても)
• 相⼿手のミスに期待した⼿手を打つ特徴がある
• 正しい応⼿手の数が少ない場合は特にその傾向が
強い
• どのくらいが強さの限界か調べた論論⽂文あり
• GNU Go 相⼿手の勝率率率は1割くらいだったようです
H.Yoshimoto, K.Yoshizoe, T. Kaneko, A. Kishimoto, and K. Taura
Monte Carlo Go Has a Way to Go, AAAI06,
9
9
モンテカルロ⽊木探索索
Monte Carlo Tree Search
[R. Coulom 2006, cf. CrazyStone]
「有望な」⼿手で多く
の playout を実⾏行行
playout の回数が
閾値を超えた
節点を展開
10
10
「有望」とは?の答え:UCB
[P. Auer, N. Cesa-Bianchi and P. Fischer 2002]
w : 報酬の合計=勝ち数
s : コインの数=playout数
t : コインの総数=総playout数
w
+
s
mean
2 ln t
s
bias
Multi-Armed Bandit Problem
Upper Confidence Bound 値が⾼高い節点を
「有望な」節点とする
11
11
UCTアルゴリズム
[L. Kocsis and C. Szepezvári 2006]
1
3
1, UCB値の⾼高い枝をたどって
2
末端まで⾏行行く
2, 末端で1回プレイアウト
3, たどった経路路上の勝率率率を更更新
(最適解に収束する証明あり)
12
12
2006年年5⽉月, Coulom
MCTSの進歩
囲碁プログラムCrazyStoneが登場
Monte Carlo Tree Search の成⽴立立。9路路盤で成功
2006年年9⽉月, Kocsis and Szepesvári [ECML2006]
UCT アルゴリズムが発表される
Monte Carlo Tree Search の理理論論化
2006年年11⽉月, Gelly,Wang, Munos, Teytaud
囲碁プログラム MoGo の登場
19路路盤でも成功。playout の強化
13
13
⼿手持ちの道具
スーパー
コンピュータ
分散並列探索
+
アルゴリズム
分散ハッシュ
深さ優先型
テーブル
モンテカルロ木探索
TDS-‐‑‒df-‐‑‒UCT アルゴリズム
K.Yoshizoe, A. Kishimoto, T. Kaneko, H.Yoshimoto and Y. Ishikawa.
Scalable Distributed Monte-Carlo Tree Search. SoCS 2011.
14
14
1000
速度向上
1200
TDS-‐‑‒df-‐‑‒UCTの性能
仮想ゲーム木が対象
600〜~750倍の速度度向上
800
既存⼿手法だと数⼗十倍
の速度度向上が限界
分岐8
600
分岐40
分岐150
400
(囲碁相当)
200
0
12 core / node (Xeon 2.93GHz x 2)
QDR Infiniband x 2 (80 Gbps)
Image provided by Tokyo Institute of Technology
Photographer: Takahiro Uozumi
0
200
400
600
800
コア数
TSUBAME2 supercomputer
1000 1200
4,800コアまでは実験済み
囲碁版はデバッグ中
15
15
現状の進捗
•
•
選択肢1 (今はこちら)
•
•
既存の囲碁プログラム (fuego) を並列列化 (デバッグ中)
•
•
fuego の開発者は共同研究者
Prof. Martin Mueller @ Alberta University
さらに機械学習などによって強化予定
選択肢2
•
•
全て⾃自分で書く
詳細は未定
16
16
この研究の (囲碁以外の)
•
•
•
意義
近い未来の計算機における並列列化
•
PCI Express ボード上に数⼗十〜~数百のコア
•
•
GPU, Xeon Phi (Intel MIC)
⼤大量量のコアと、遠いメモリ
分散メモリスパコンで動くアルゴリズムなら、上記の環
境でも動く期待が持てる
その他の分野にも貢献
•
グラフ探索索, SAT solver, 制約充⾜足問題など
17
17
Fly UP