电脑围棋程式设计的演进与发展.ppt
《电脑围棋程式设计的演进与发展.ppt》由会员分享,可在线阅读,更多相关《电脑围棋程式设计的演进与发展.ppt(90页珍藏版)》请在三一办公上搜索。
1、電腦圍棋程式設計的演進與發展,電腦對局(Computer Game),是人工智慧(Artificial Intelligent)的領域之一讓電腦程式具有思考分析能力,能夠與人進行黑白棋、五子棋、西洋棋、象棋、圍棋等等的對奕。例:由IBM超級電腦上所研發的西洋棋程式深藍(DeepBlue),在1997年擊敗了當代的世界冠軍卡斯帕洛夫(Kasparov)。,常見棋類遊戲介紹,黑白棋(Othello)五子棋(Go-moku)西洋棋(Chess)象棋(Chinese Chess)六子棋(Connect 6)圍棋(Go),一般常見的誤解,誤解1:電腦對局程式可以將所有的棋譜輸入電腦,因而戰勝人腦。誤解2
2、:電腦計算速度太快,人一定算不贏電腦,所以所有的棋類遊戲都一定是電腦必勝。誤解3:一個下棋很遜的程式設計者,無法設計出一個比他厲害的下棋程式。,象棋的複雜度概算,通常一盤棋大約經過40回合(共80步)可得到最後結果。每回合可走的所有棋步平均約有45種。複雜度粗略估計:45*45*45*45=4580最後再考慮去除一些對稱重複情形後,將之微調大約是10150。,棋類遊戲難易度分析,電腦 vs.人腦,電腦優勢:運算速度極快能記憶大量資料不會有情緒影響人腦優勢:具有敏銳的直覺能將經驗累積成知識,電腦對局理論基礎,遊戲樹(Game Tree)最大最小值搜尋(Minimax Search)-prunin
3、gIterative deepening search,遊戲樹(Game Tree),電腦程式先將所有可能的走法整理出來,然後嘗試走走看;接著再將對方所有可能走法也整理出來,接著也去走走看。如此循環反覆,一直進行到某種條件符合才停止,然後經過審局函數評估,再從其中選出最佳著手。用到遞迴呼叫觀念。執行時間通常相當久。除錯工作不容易。,遊戲樹概念圖,我方著手,敵方著手,我方著手,Win,Win,Lose,50,80,-5,20,40,0,90,審局函數(Evaluation),在遊戲樹中用來評估局面的優劣程度(假定正值表示我方佔優,負值表示敵方佔優,其絕對值大小代表優勢程度高低)。審局函數在計算上
4、愈快愈好。審局函數愈精準,則對於著手的建議愈正確。,象棋的審局函數(1),通常會將不同兵種給予一個固定分數審局時只要將雙方棋盤上的子力分數加總對比,就可以得到一個近似正確的估計值。,100002002001000420450100,象棋的審局函數(2),除了子力之外,尚可將棋子位置也納入評估優劣的考量。絕對位置:例如馬臥槽是絕佳位置,馬塞在將正前方是極惡位置。相對位置:馬被擋馬腳、象被塞象眼都是不好位置;而包佔據空頭是絕佳位置。但增加此項考量,亦有計算較費時的缺點,是否採用仍是trade-off的問題。,象棋局勢分析範例,最大最小值搜尋,概念:由於輪到我方著手時,會盡量使我方局勢有利(評估值愈
5、大愈好);輪到敵方著手時,會盡量使我方局勢不利(評估值愈小愈好)。作法:在搜尋過程上,由底層終端節點經由審局函數取得評估值後,視該層由何方著手來選出最大值或最小值予以傳回。,最大最小值搜尋概念圖,我方Max,敵方Min,我方Max,Win,Win,Lose,50,80,-5,20,40,0,90,-pruning,概念:是用來改良最大最小值搜尋的效能。亦即當某種條件成立時,一些搜尋的分支路徑完全可以省略。技巧:如果能將著手選擇優劣事先作排序,則-pruning 的效果會更好。,-pruning概念圖,我方Max,敵方Min,我方Max,Win,Win,Lose,50,80,-5,20,40,0
6、,90,圍棋基本規則氣與提子,圍棋基本規則打劫(1),圍棋基本規則打劫(2),圍棋基本規則打劫(3),圍棋基本規則打劫(4),圍棋的死活,圍棋基本規則勝負計算,黑棋29目,白棋25目,圍棋棋力鑑定標準,低 高9 8 7 6 5 4 3 2 1 初 2 3 4 5 6 7(業餘)級 段 初 2 39 段(職業),象棋與圍棋的相異處,可選擇棋步總數不同兵種與性質不同全局性與局部性設計困難處不同審局函數著手選擇,圍棋的困難,電腦圍棋的歷史,起始:Zobrist,1969年。早期時代:19701985年。過渡時代:約自1986年開始,局部重點加強,例如棋形資料庫與棋串吃逃搜尋。成熟時代:約始於1989
7、年,具備了多目標式的搜尋系統,而且也有了簡單的局勢分析,甚至是靜態的死活判斷。,電腦圍棋程式比賽,應氏盃(19852000)Computer Olympiad Tournament(1990)FOST盃(19952000),應氏盃早中期程式水平,1990年後程式水平,具有棋塊概念地域認知能力多目標搜尋系統靜態死活分析能力眼位分析能力死活知識庫建立,目前最強圍棋程式,HandTalk:廣東中山大學陳志行教授研發MoGo:為法國程式工程師Sylvain Gelly與 Yizao Wang所研發Crazy Stone:為法國程式工程師Remi Coulon所研發Go Intellect:北卡大學陳克
8、訓教授研發Aya:日本學者研發GnuGo:是個開放程式讓大家研發的程式,電腦圍棋的物件階層,棋子(stone)棋串(block)棋鏈(chain)棋塊(group),勢力影響值,作法:利用每個棋子對於周圍具有或多或少影響力的概念,去計算盤面的勢力值。目的:辨識雙方勢力強弱用於設定棋塊範圍預估雙方可能地域協助判斷棋塊安危,4 6 8 6 5 12 16 12 5 6 12 24 32 24 12 6 4 8 16 32 32 32 16 8 4 6 12 24 32 24 12 6 5 12 16 12 5 6 8 6 4,勢力影響值應用實例(1),-5-6 3 14 17 6-3-6 0-7-
9、1 8 28 32 11-8-6-5 6 12 44 50 40 8-22-22-8 12 36 48 62 41-10-30-34-21 18 36 61 51 16-34-65-53-24 17 35 42 32-8-59-72-56-27 16 34 34 24-18-54-68-46-20 12 24 30 16-17-38-44-24-11 5 12 16 7-7-22-20-11 0,勢力影響值應用實例(2),0 6 8 6 0 0 0 0 0 5 16 16 8 5 0-4 0 0 18 36 28 12 10 0-8-6 0 34 45 28 17 1-3-16-12-5 37
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电脑 围棋 程式 设计 演进 发展

链接地址:https://www.31ppt.com/p-6229364.html