computer go… is not only for go暗棋(dark chess) 7. 象棋,圍棋(chinese chess, go) 40...
TRANSCRIPT
1
Computer Go…is not only for Go
國立東華大學
資訊工程系 副教授
顏士淨
2
棋類複雜度比較
Games 複雜度 與最強程式比較
跳棋 1032 Solved
黑白棋 1058 Logistello>H
九路圍棋 1085 MogoTW<=H
西洋棋 10123 Deep Blue>=H
象棋 10160 ELP<=H
圍棋 10400 MogoTW<H
3
圍棋
4
棋子與棋盤
5
棋力分級
弱 強
5 4 3 2 1 Kyu
1 2 3 4 5 6
1 9 Dan
912
業餘初學者 職業棋士
段
6
百萬美金的懸賞
應昌期先生曾提供一百萬美金給能夠寫出擊敗職業棋士的圍棋程式的人
7
Rank of Computer Go
0
2
4
6
8
10
12
14
16
18
20
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 00 01 02 03 04 05 06 07 08 09
8
電腦棋類的設計方式
西洋棋,象棋game tree, α-β cut off成功原因
合法步不多(30~40)有一個簡單而合理的審局函數
此方式不適用於圍棋合法步太多(>200)
目前沒有好的審局函數
9
圍棋與西洋棋之比較
圍棋 西洋棋
勝負目標 地多為勝 吃掉對方國王
棋子死活 有程度上差異 非生即死
分支度 約200 約40
10
電腦圍棋設計方法
電腦圍棋的傳統設計法
模擬人類思維;經驗法則
JIMMY程式(since 1994)
2007年UCT出現,奪得奧林匹亞19路圍棋的金牌
UCT:運用蒙地卡羅法為基礎的樹狀搜尋演算法
Monte Carlo Application
11
37個
63個
Left = 0.37 * the measure of areaRight = 0.63 * the measure of area
12
UCT樹狀搜尋演算法
UCT:一個樹狀搜尋演算法
特性:往較有可能為好點的分支,展開較深,最後會長成一棵不平衡樹
如何決定一個點是否為好點?蒙地卡羅法
統計許多模擬棋局之結果,進行局面之判斷
13
UCT運用在圍棋
14
Scheme of a Monte-Carlo Tree Search(2007, Herik)
教育部「大專校院研究人才延攬方案」
15
UCT-不平衡的樹
17
UCT搜尋方法
進行多次搜尋,每次均由上而下拓展UCT Tree每次如何決定往哪個分支深入拓展?UCBUCT : UCB for Tree search UCB : Upper Confidence BoundUCB原本用來解決吃角子老虎問題
18
吃角子老虎問題
開發:依照目前經驗決定下一次要選擇的機器
探險:嘗試其他機器
19
Scheme of a Monte-Carlo Tree Search(2007, Herik)
教育部「大專校院研究人才延攬方案」
20
UCT搜尋方法
最佳路徑:每次搜尋,均藉由UCB公式找一條由根節點到葉節點的最佳路徑
更新UCT樹:找到最佳路徑後,對葉節點代表之盤面執行模擬棋局,所得的勝負結果更新路徑上所有節點
21
UCT例子
22
搜尋樹的裁剪方法
多算勝,少算不勝
分支度的多寡直接影響搜尋樹的深度
如何減少無用子點為一改良重點
三種裁剪法:JIMMY裁剪、一線裁剪、棋塊裁剪
23
JIMMY裁剪
JIMMY對目前盤面作判斷,給定著手分數
UCT Tree創子點時,排除沒分數之點
24
JIMMY裁剪效果
未裁剪:第一層子點數量為40~80個裁剪後第一層子點之數量控制在1~15個左右
大幅排除無用之點,並加深搜尋深度
25
JIMMY裁剪實驗結果
結果分析
JIMMY裁剪可行
26
模擬棋局方法
工作:給定盤面,將此局下到終局,計算勝負
意義:作為UCT樹的節點的收益值之來源
影響UCT判斷、選擇最佳路徑之正確性
重點在於選擇下一步的函式
目標:1.快速 2.準確
27
最簡單的方法:隨機落子
優點:簡單、速度快
缺點:準確性較低,需統計較多棋局
若棋步越有意義,則越準確,但花較多時間
目標:讓電腦所選的著手更具有圍棋上的意義
28
經驗法則與棋形比對
選擇下一步:根據此盤面下合法著手
的著手機率決定
著手機率:根據經驗法則判斷與棋形比對所的的分數決定,分數越高,機率越高
29
著手機率分布範例
30
經驗法則
利用已有的知識,快速判斷著點價值
目前使用的經驗法則:「長」與「提」
31
長與提子的例子
32
棋形比對
棋形:棋子在棋盤上的分布狀況
可幫助人類棋手在對奕時快速排除無用著手
棋形表達:要下之點置中,周圍是棋子分佈狀態
33
棋形比對做法
棋形資料庫
來源:約四萬個職業棋譜
擷取每一手所產生的棋形,統計出現次數
依照出現次數排序
34
實驗結果
棋形比對
取棋形資料庫中排名較前的棋形以比對
比對前一手周圍的八個點
棋力增益
35
Computer Go Future work
Multi-core ParallelizationMessage passing ParallelizationBias in the tree (patterns, rules)RAVE valuesOpening book by meta-UCT...
36
Beyond Go
Why Computer Go, Is it worth?No!It’s only a game.
37
Beyond Go
Why Computer Go, Is it worth?
Yes! it’s for many other applications: all discrete-time control problems.
38
Beyond Go
But perhaps we need more experiments beyond Go (already notable successes!) and extensions to of UCT to other frameworks.
39
線上遊戲排行榜
1. 麻將(MahJong)2. 牌七(Fantan)3. 大老二(Big Two)4. 十三張(Card13)5. 梭哈(Showhand)6. 暗棋(Dark Chess)7. 象棋,圍棋(Chinese chess, Go)
40
Games是否使用UCT?
行棋方式?落子 vs 移動
將軍棋步?
需檢查迫著
複雜度?
下棋資訊是否透明?
大部分商業遊戲都適用
High-dimensional discrete time control
A main application: the management of many energy stocks in front of randomness
At each time step we see random outcomesWe have to take decisionsAfter H time steps, we observe a cost
41
42
pattern的特徵值列表
特徵 意義 區間
股價漲跌趨勢股價漲跌幅度上影線下影線交易量漲跌趨勢交易量漲跌幅度開盤價漲跌趨勢開盤價漲跌幅度MAC與收盤價關係MAC趨勢
平/漲/跌0%~7%0%~7%0%~7%漲/跌漲/跌0%~7%>/=/<平/漲/跌
0~20~60~60~60~10~30~10~30~20~2
43
模擬時,欲獲取次日股價與pattern之過程
44
MO-PSO
Particle Swarm Optimization(Kennedy,Eberhart,1995)多目標最佳化演算法
根據各股票模擬結果,找多組投資策略組合,希望這些投資組合在N日後賣出有較大的獲利或是在N日內有較小的風險
以此取代UCT搜尋部分
45
46
Introduction-PSO
The green points are particles and we want to find the target.
Every particle have there’s own local best we called pb , and the local best means the best solution it found from initial to this generation.
And the best of all pb we called gb, it means the global best solution.
PSO method use the velocity V, pb, and gb to move the particle, and we wish the particle according the pb and gb will be better.
使用不同的feature對模擬結果帶來的影響
K-Line VO MAC 平均誤差比
相關係數
O X X 9.59% -0.11O O X 8.44% 0.45O X O 7.73% 0.40O O O 7.59% 0.47
47
鴻海(0.03535 0.910207 )
48
Portfolio Eg.
49
THANK YOU!!
50