下載 - 元智大學資訊工程學系

Download Report

Transcript 下載 - 元智大學資訊工程學系

電腦對局的過去、現在與未來
Bo-Nian Chen (陳柏年)
財團法人資訊工業策進會
大綱
 簡介
 決策問題
 電腦對局基本知識
 電腦對局歷史與進展
 電腦對局核心技術
 對局遊戲選例
 未來展望
大綱
 簡介
 決策問題
 電腦對局基本知識
 電腦對局歷史與進展
 電腦對局核心技術
 對局遊戲選例
 未來展望
智慧
 智慧(狹義的)是高等生物所具有的基於神經器官(物質
基礎)一種高級的綜合能力,包含有:感知、知識、記憶
、理解、聯想、情感、邏輯、辨別、計算、分析、判斷、
文化、中庸、包容、決定等多種能力。智慧讓人可以深刻
地理解人、事、物、社會、宇宙、現狀、過去、將來,擁
有思考、分析、探求真理的能力。
 與智力不同,智慧表示智力器官的終極功能,與「形而上
謂之道」有異曲同工之處,智力是「形而下謂之器」。
 智慧使我們做出成功的決策。有智慧的人稱為智者。
 智慧(廣義的)涉及到其它諸如意識、自我、心靈(包括
無意識的精神)等等問題。
人工智慧
 人工智慧 (Artificial Intelligence)
 約翰·麥卡錫於1955年的定義是「製造智慧機器的科學
與工程。」
 誕生於1956年Dartmouth研討會
 亦稱機器智慧,是指由人工製造出來的系統所表現出來
的智慧。
 智慧型代理人 (Intelligent Agent)
 智慧型代理人是指一個可以觀察周遭環境並作出行動以
達致目標的系統。
 核心問題包括推理、知識、規劃、學習、自然語言處理
、感知、運動和控制、社交等。
古典人工智慧
 強人工智慧(Strong AI)是具備與人類同
等智慧、或超越人類的人工智慧,能表現
正常人類所具有的所有智能行為。
 遊戲人工智慧
 一直被認為是評價AI進展的一種標準
 例:西洋跳棋 (Checkers)、西洋棋 (Chess)
 圖靈測試 (Turing Test)
 如果一台機器能夠與人類展開對話
(通過電傳設備)而不能被辨別出其
機器身份,那麼稱這台機器具有智慧
深藍 vs. 卡斯帕洛夫
出乎棋王意料的一手棋
 1996年深藍首次挑戰西洋棋世界冠軍卡斯帕洛夫,但以2-4
落敗。
 1997年5月再度挑戰卡斯帕洛夫,深藍電腦以3.5–2.5擊敗卡
斯帕洛夫,成為首個在標準比賽時限內擊敗西洋棋世界冠
軍的電腦系統。
現代人工智慧
 弱人工智慧觀點認為不可能製造出能真正地推理和解
決問題的智慧機器,這些機器只不過看起來像是智慧
的,但是並不真正擁有智慧,也不會有自主意識。
 熱門領域
 機器學習 (Machine Learning)

單純貝式分類器、類神經網路、決策樹、支持向量機
 資料探勘 (Data Mining)

關聯規則分析、分群、描述
 知識發掘 (Knowledge Discovery)

模式辨識、資料視覺化、最佳化
巨量資料時代
 巨量資料指的是所涉及的資料量規模巨大到無法透過人工




,在合理時間內達到擷取、管理、處理、並整理成為人類
所能解讀的資訊
IBM 定義巨量資料:3V (Volume, Variety, Velocity)
可用來察覺商業趨勢、判定研究品質、避免疾病擴散、打
擊犯罪或測定即時交通路況等
截至2012年,全世界每天產生2.5艾位元組(2.5×1018)的
資料
應用實例
 感測裝置網路、天文學、大氣學、基因組學、生物學、大社
會資料分析、通訊記錄明細、軍事偵查、社群網路、通勤時
間預測、醫療記錄、照片圖像和影像封存、大規模的電子商
務等
人工智慧能做什麼
 讓電腦與人交談
 自然語言處理、知識庫
 知道我們想要什麼
 機器學習、物聯網
 知道我們在想什麼
 推理、知識庫
 人工智慧的應用
 機器人學、虛擬實境、專家系統、自然語言處理、情感
計算
大綱
 簡介
 決策問題
 電腦對局基本知識
 電腦對局歷史與進展
 電腦對局核心技術
 對局遊戲選例
 未來展望
決策問題
 囚犯困境 (Prisoner's Dilemma)
甲沉默(合作)
甲認罪(背叛)
乙沉默(合作)
二人同服刑半年
甲即時獲釋;乙服
刑10年
乙認罪(背叛)
甲服刑10年;乙即 二人同服刑2年
時獲釋
 策略:
 若對方沉默、我背叛會讓我獲釋,所以會選擇背叛
 若對方背叛指控我,我也要指控對方才能得到較低的刑期,所以也
是會選擇背叛
 二人面對的情況一樣,所以二人的理性思考都會得出相同的結論—
—選擇背叛
華容道
 由放在方形盤中的10塊方片拼成,目標是在只滑動方
塊而不從棋盤中拿走的情況下,將最大的一塊(曹操
)移到底部出口
 「橫刀立馬」布局最少的步數為81步
 「峰迴路轉」需要138步
橫刀立馬
對弈遊戲之類別
 單人遊戲
 華容道、孔明棋、Puzzles、2048
 雙人零和遊戲
 非合作遊戲,對弈雙方是競爭關係
 完全資訊

象棋、西洋棋、圍棋
 不完全資訊

暗棋
 多人遊戲
 橋牌、麻將
大綱
 簡介
 決策問題
 電腦對局基本知識
 電腦對局歷史與進展
 電腦對局核心技術
 對局遊戲選例
 未來展望
組成要素:棋子與棋盤
 對弈遊戲
 棋盤(大小為NxM)
 棋子(雙方棋子數量、兵種)
 初始盤面狀態
9x10
8x8
19x19
棋子走法規則
 以象棋為例
 棋盤:9x10
 棋子:紅黑雙方各16顆,紅方兵種為
帥、仕、相、俥、傌、炮、兵;黑方
對應之兵種為將、士、象、車、馬、
包、卒
 走法介紹(出自中華民國象棋文化協
會網站)
 記譜方法


棋子-目的地
例:炮二平五、馬8進7、傌二進三、
車9平8
勝、負、和之條件
 以象棋為例
 嬴棋條件


吃到對方將帥
對方無子可動
 和棋條件


雙方均無法嬴棋,協議和棋
60步無吃子
棋類競賽規則
 賽制
 循環賽:任兩位選手皆對戰過
 瑞士制:固定輪數(例:五輪),每輪結束後依分數相近程度排次輪
對手
 計分規則
 每局依勝(2分)和(1分)負(0分)計分,比賽結束後計算總分做為
排名
 總分計算方式:針對特定分數依序比較(例:大分、小分、對手分)
 棋規(以象棋為例)
 摸子走子,落子為定
 不可長將、長捉(亞洲棋規:一將一捉算閒)
 用時規則
 包幹制:雙方一局時限(例:30分鐘),時間先用完的一方判負
 兩段制:時間用完進入限時限步(例:5分鐘須走滿10步)
大綱
 簡介
 決策問題
 電腦對局基本知識
 電腦對局歷史與進展
 電腦對局核心技術
 對局遊戲選例
 未來展望
Shannon – 如何寫西洋棋程式
 Shannon的貢獻
 分析棋類的複雜度,用以判
別各種棋類是否能被解
 定義最大最小搜尋演算法,
並一直延用至今
 定義審局函數,用以計算西
洋棋盤面分數,並做為現今
電腦對局程式之共通架構
盤面之意義
 西洋棋
 棋盤與棋子狀態
 輪走方
 上一手是否兵向前兩格(吃過路兵)
 王與城堡是否移動過(入堡)
 象棋
 當前棋盤狀態
 輪走方
 歷史棋盤狀態
 暗棋
 多記錄暗子之各兵種數量
吃過路兵
入堡
盤面分數
 分數之意義
+1, 勝
f(P) =
0, 和
-1, 負
 西洋棋審局函數
f(P) = 200(K-K') + 9(Q-Q') + 5(R-R') + 3(B-B'+N-N') +
(P-P') + ...
最大最小搜尋法
回溯分析法
 棋局三階段
 開局:約前十回合雙方之走法
 中局:開局布陣後交戰之過程
 殘局:子力交換減少後,以殘餘子力作戰之階段
 象棋經典殘局
 馬擒孤士:29手
帥兵 vs.將士 帥炮仕 vs.將
 車炮巧勝單車(海底撈月):43手
 炮兵仕相對士象全:189手
帥兵 vs.將 帥炮 vs.將
 回溯分析法解殘局問題
 建立殘局知識庫
 推理過程:Bottom-up
帥 vs.將
棋類複雜度
遊戲名稱
Log10(狀態空間)
Log10(對局樹)
Nine Men’s Morris (直棋)
10
50
Checkers (西洋跳棋)
21
31
Othello (黑白棋)
28
58
Gomoku (五子棋)
105
70
Chess (西洋棋)
46
123
Dark Chess (暗棋)
37
135
Chinese Chess (象棋)
48
150
Go (圍棋)
172
360
紅色:已解棋類
1991年水晶球 [Allis et al 1991]
已解遊戲
超越世界冠軍
世界冠軍
特級大師
業餘水準
四子棋
西洋跳棋 (8x8)
西洋棋
圍棋 (9x9)
圍棋 (19x19)
多層式四子棋
連珠
西洋跳棋 (10x10) 象棋
直棋
黑白棋
五子棋
填字遊戲
西非播棋
西洋雙陸棋
橋牌
已解 >超越世界冠軍 >世界冠軍 >特級大師 > 業餘水準
紅:正確
黑:差一些
藍:差很多
綠:超前
2002年水晶球[Herik et al 2002]
已解遊戲
超越世界冠軍
世界冠軍
特級大師
業餘水準
西非播棋
西洋棋
圍棋 (9x9)
橋牌
圍棋 (19x19)
黑白棋
西洋跳棋 (10x10)
象棋
日本將棋
西洋跳棋 (8x8) 集結棋
填字遊戲
六貫棋
亞馬遜棋
西洋雙陸棋
已解 >超越世界冠軍 >世界冠軍 >特級大師 > 業餘水準
紅:正確
黑:差一些
藍:差很多
綠:超前
大綱
 簡介
 決策問題
 電腦對局基本知識
 電腦對局歷史與進展
 電腦對局核心技術
 對局遊戲選例
 未來展望
Alpha-beta Pruning
 Window: [𝛼, 𝛽]代表搜尋中已知之分數界限
 初值為[−∞, ∞]
 所需時間:bd bd/2 [Knuth and Moore 1975]
<=7
>=8
Nega-Scout
 想法
 Window愈小愈易產生切捨
 發展出Zero Window([𝛼, 𝛼 + 1])
 利用Scout在搜尋中用Zero Window只判斷值是否可能大
於𝛼
 可能造成快速切捨,但也有可能需要多算的overhead
 在正常情況下,約可改善10%~20%效能 [Reinefeld
1983]
搜尋強化策略
 同形表(Transposition Table)
 將搜尋過之盤面記錄下來,做為Cache之用
 用雜湊法比對盤面 [Zobrist 1970]
 走法排序 (Move Ordering)
 在Alpha-beta pruning中,較好走法優先搜尋,切捨效果較佳
 利用簡易經驗法則,快速將Move Queue進行順序上的調整
 其他方法
 殺手經驗法則 (Killer Heuristic)
 歷史走法經驗法則 (History Heuristic)
 引入特殊知識 (Knowledge Heuristic)
 平靜搜尋 (Quiescence Search)
 後走法修剪 (Late move reduction)
開局、殘局知識庫輔助法
 開局知識庫
 收集大師、特級大師開局走法
 電腦推演產生
 收集大量棋局,並以統計方法選步 [陳志昌,2001]
 殘局知識庫
 利用回溯分析法產生
 精減殘局資料量
 殘局相關知識表(在中局搜尋以審局函數形式使用)
自動化知識系統
 知識擷取
 從資料取得知識
 自動生成知識
知識擷取
 知識推論
 依知識間之關聯性,推理出知
識相關知識
 知識歸納
知識歸納
知識推論
 減少不必要之資料量
 從資料中粹取出重要知識
知識擷取:象棋評注分析
分數
意義
 「兌車之後,和棋的成份很大」
0
紅方必勝
 「被黑方走過河包,紅方還是被反先了,因為黑方
1
紅方大優
有平包射傌的棋,或者出貼身車抓士角炮的棋」
2
紅方優勢
3
紅方巧勝
4
紅方難勝
5
均勢
6
必和
7
黑方難勝
8
黑方巧勝
9
黑方優勢
10
黑方大優
11
黑方必勝
 分析評注文字,尋找專家對盤面的評價
知識推論:大量生成兵種組合知識
 根據現有知識,推論未知情況之結果
 例:現有知識
 俥 v.s. 馬雙士(必勝)
 俥 v.s. 馬雙象(巧勝)
 依換子之結果,回推原盤面評價
 若能以兵換雙象 => 必勝
 計算換子之機率,求出期望值
 用以生成大量知識,正確率達90%
未知情況
知識衝突化解
 利用通用規則
 我方加一子,
應更為有利
 尋找知識庫之衝
突,並加以化解
 建造0衝突知識
庫
vs.
vs.
優勢
必和
歸納殘局知識庫
紅勝局
黑勝局
和局
總計
所有盤面
18,983,304
4,853,416
242,420
24,079,140
紅先盤面
11,976,152
32,822
30,596
12,039,570
黑先盤面
7,007,152
4,820,594
211,824
12,039,570
和棋定式:黑方「馬三象」
紅勝局(大於18步): 516,378 個盤面(7.70%)
黑先和:110,625個盤面(1.10%)
使用目標搜尋+盤面歸納
小於等於18步之紅勝局不需記錄(用搜尋即可找到解)
大綱
 簡介
 決策問題
 電腦對局基本知識
 電腦對局歷史與進展
 電腦對局核心技術
 對局遊戲選例
 未來展望
電腦象棋
 電腦棋力:特級大師(7~8段)
 估計十年後仍未能被解掉
 實戰選例
 TCGA 2014:BrainChess先勝奇謀
 電腦象棋關鍵難題
 審局函數之設計
 自動策略之處理
電腦暗棋
 電腦棋力:無法測量
 估計十年後仍未能被解掉
 實戰選例:
 TCGA 2014:Observer先負Flipper
 電腦暗棋關鍵難題
 翻子估計之準確度
 含暗子盤面之搜尋深度
 審局函數之設計
 殘局知識庫(7子)
大綱
 簡介
 決策問題
 電腦對局基本知識
 電腦對局歷史與進展
 電腦對局核心技術
 對局遊戲選例
 未來展望
電腦對局的未來
 解更多棋類
 圍棋(目前初段)
 日本將棋(3~6段)
 暗棋(未達職業水準)
 了解電腦對局遊戲之知識
 電腦對局自動取得知識
電腦對局的目標
 了解我們在想什麼
 提供諮詢服務
 可應用於商業、金融、國防
 提供教學服務
 智慧型教學系統
 自動化即時處理困難問題
 與雲端結合,隨時解決各式各樣之困難問題
知識發掘
 自動化知識系統
 知識庫技術
 自動擷取知識
 自動推論
 知識庫歸納
 應用
 股票金融
 醫師處方
 商品分析
大數據時代
 「樣本=母體」的時代來臨
 當一切成為資料,用途無窮無盡
 不在乎擁有,只在乎充分運用
 應用實例
 Google工程師預測H1N1在美國爆發的流感
 伊茲奧尼機票比價系統
未來的可能性
 「魔鬼終結者」
 「A.I. 人工智慧」
 「駭客任務」
 「機械公敵」
 「全面進化」