簡易檢索 / 詳目顯示

研究生: 陳羽恆
Chen, Yu-Heng
論文名稱: 電腦五子棋程式JacksonFive之設計與實作
Design and Implementation of the Outer-Open Gomoku Program JacksonFive
指導教授: 林順喜
Lin, Shun-Shii
學位類別: 碩士
Master
系所名稱: 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2018
畢業學年度: 106
語文別: 中文
論文頁數: 55
中文關鍵詞: 電腦對局五子棋蒙地卡羅樹贏率加權深度加權
英文關鍵詞: computer games, gomoku, Monte Carlo tree, win rate reward, depth reward
DOI URL: http://doi.org/10.6345/THE.NTNU.DCSIE.015.2018.B02
論文種類: 學術論文
相關次數: 點閱:283下載:28
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 五子棋(Gomoku)是個歷史悠久的棋類遊戲,規則簡單但遊戲複雜度相當高,非常具有研究價值。其中比較常見的搜尋演算法有MiniMax、Alpha Beta Pruning、Iterative Deepening及Monte Carlo Tree Search(MCTS)等等。在這些演算法的實作細節中,存在著一些可以改進搜尋效率或精準度的地方。包括MCTS中的expansion階段可以利用米字型遮罩來減少搜尋廣度、simulation階段加上深度加權的調整,使得不同模擬深度有不同的分數。
    在最傳統的MCTS算法中,也存在著一些尚待解決的問題。例如贏率稀釋問題,最優走步的贏率會被其他分支稀釋掉,因此分支愈多的子樹會被稀釋得更嚴重,因此,本論文提出了兩種解決稀釋問題的方法。
    MCTS也存在一個缺點,就是不管盤面為何,都要經過固定的搜尋時間、或是一定的模擬次數才會決定走步。因此,本論文提出了一套時間控管機制,可以針對不同的盤面情況,給予不同的MCTS搜尋時間。
    透過種種的改良,我所撰寫的程式JacksonFive也參加過數次的電腦對局比賽的外五棋項目,其中在TCGA 2015拿到銅牌、ICGA 2016拿到銅牌、TAAI 2017拿到銅牌、TCGA 2017拿到銀牌、ICGA 2018拿到金牌。另外,本論文的部份成果已發表在The 10th International Conference on Computers and Games (CG 2018)的一篇論文中。

    Gomoku is a long-existing chess game that, despite its simple rules, has high game complexity, thus making it worthy of study. Commonly used search algorithms in Gomoku include MiniMax, Alpha Beta Pruning, Iterative Deepening and Monte Carlo Tree Search (MCTS). However, the search efficiency and precision of these algorithms can still be improved. For example, in MCTS, using a Union jack-shaped mask can narrow the breadth of search in the expansion phase, while adding depth reward adjustment to the simulation phase can help differentiate the scores in different depth simulations.
    The traditional MCTS algorithm also has its weaknesses. For example, the win rate of the optimal move will be averaged by other branches, and the more branches a node has, the more pronounced the averaging effect. In response to this problem, this thesis provides two solutions.
    Another problem with the traditional MCTS is that, before it determines a move, it requires a fixed amount of search time or number of times running simulations, regardless of the board position. As a solution to this problem, this thesis provides a method that can regulate the MCTS search time according to the board position.
    With a series of modifications, our program, JacksonFive, competed in the category of Outer-Open Gomoku in several computer game competitions and has won a bronze medal at the TCGA 2015, a bronze medal at the ICGA 2016, a bronze medal at the TAAI 2017, a silver medal at the TCGA 2017 and a gold medal at the ICGA 2018. In addition, some of the findings of this study have been published in a paper in the 10th International Conference on Computers and Games (CG 2018).

    第一章 緒論 1 1.1 研究背景 1 1.2 研究目的 4 1.3 程式開發之軟硬體環境 5 第二章 文獻探討 6 2.1 資料結構 6 2.2 審局函式 9 第三章 研究方法 15 3.1 搜尋演算法 15 3.1.1 Alpha Beta Search 15 3.1.2 逐層加寬展開節點 16 3.1.3 Iterative Deepening 18 3.1.4 蒙地卡羅樹搜索演算法 19 3.2 MCTS搜尋時間控管 24 3.3 米字型遮罩 26 3.4 米字型遮罩範圍調整 27 3.5 深度加權 28 3.6 稀釋問題 32 3.7 MINIMAX-MCTS 33 3.8 贏率加權MCTS 34 3.9 棋譜產生 35 第四章 結論與未來方向 40 參考文獻 41 附錄A 43 附錄B 45 附錄C 46

    [1] Gomocup五子棋對局網站,http://gomocup.org/
    [2] 翁茲孝,電腦五子棋程式珠連設計與製作。國立東華大學碩士論文,2004年。
    [3] 黃德彥,五子棋相關棋類人工智慧之研究。國立交通大學碩士論文,2005年。
    [4] 林氏五子棋新棋規首頁,http://www.csie.ntnu.edu.tw/~linss/Lin-Rule-For-Five-in-a-row.htm。
    [5] 維基百科:五子棋,https://zh.wikipedia.org/wiki/%E4%BA%94%E5%AD%90%E6%A3%8B
    [6] 維基百科:Alpha Beta Pruning,https://en.wikipedia.org/wiki/Alpha%E2%80%93beta_pruning
    [7] L. V. Allis, “Searching for Solutions in Games and Artificial Intelligence,” Ph.D. Thesis, University of Limburg, Maastricht, 1994.
    [8] L. V. Allis, H. J. van den Herik, and M. P. H. Huntjens, “Go-Moku Solved by New Search Techniques,” Computational Intelligence, Vol. 12, 1996, pp. 7-–23.
    [9] L. V. Allis, M. van der Meulen, H. J. van den Herik, “Proof-number search,” Artificial Intelligence, Vol. 66 (1), 1994, pp. 91-–124.
    [10] P. S. Segundo, R. Galán, F. Matía, D. R.-Losada, A. Jiménez, "Efficient Search Using Bitbaord Models", Intelligent Control Group, Universidad Politécnica de Madrid, 2006.
    [11] Renju International Federation, The International Rules of Renju, http://www.renju.nu/ rifrules.htm.
    [12] 六子棋介紹,http://www.connect6.org/chinese/connect6.html
    [13] Chih-Hung Chen, Wei-Lin Wu, Yu-Heng Chen and Shun-Shii Lin, " Some Improvements in Monte Carlo Tree Search Algorithms for Sudden Death Games ", The 10th International Conference on Computers and Games (CG2018), National Taipei University, New Taipei City, Taiwan, July 9-11, 2018.
    [14] 維基百科:蒙地卡羅樹搜尋,https://zh.wikipedia.org/wiki/%E8%92%99%E7%89%B9%E5%8D%A1%E6%B4%9B%E6%A0%91%E6%90%9C%E7%B4%A2
    [15] 陳志宏,六子棋之棋型分類及審局函數之研究。國立臺灣師範大學碩士論文,2011年。

    下載圖示
    QR CODE