看板 Soft_Job作者 oxlittle (格子迷宮)標題 [推坑] 分享鐵人賽電腦對局系列文時間 Thu Oct 17 03:21:04 2024
(代po)
各位軟工版的大神們安安,跟大家分享我的鐵人賽系列文。
小弟選了一個非常冷門的主題,覺得電腦對局這麼有趣的領域居然沒有人寫過真的是太可
惜了,希望可以推更多的人入坑。
https://ithelp.ithome.com.tw/users/20169302/ironman/7684
這次的電腦對局系列文可以分成五個部分,每篇都是有連貫性的(除了幾篇意外的小插曲)
,建議按照順序閱讀。
第一部分:簡介
Day2、3、4:介紹了電腦對局的類型、複雜度與小故事。
Day8:介紹了電腦對局競賽。
第二部分:搜尋演算法
Day5、6:使用Minimax Algorithm搭配審局函數使用做出簡單的對局AI。
Day7、9:利用Alpha-Beta Pruning、Scout Algorithm等方式進行剪枝,來優化程式效能
。
Day10、11、12:著手分析通過優先展開較佳的走步來提昇剪枝效果,進階一點的Threat
Space Search,還有不能不注意的Horizon Effect。
Day16:用Bouzy's 5/21 Algorithm實作圍棋的形勢判斷,也算是一種審局函數。
Day13、14:最後利用實作圍棋征子邏輯來複習前面所學的演算法。
第三部分:Monte Carlo Tree Search
這邊介紹MCTS花了比較多的篇幅,所以我把它切出來。
Day15、17、18:介紹了MCTS的原理與優化方式。
Day19、20:介紹AlphaGo與開源框架AlphaZero General。
第四部分:進階優化方式
這部分屬於網路上能找到的資料比較少,一般人很難接觸到的部分,還有像是Bitboard等
實作細節,感覺都是透過比賽或是實驗室前輩的傳承,幾乎沒有看到網路上有相關學習資
源。
Day21:棋盤的資料結構。
Day22:利用Transposition Table增加程式效能。
Day23、24:介紹開局庫與殘局庫。
Day25、26:實作蜜月橋牌殘局庫。
Day27:通過位元運算來增加程式效能。
第五部分:生活中的應用?!
Day28、29:這邊純屬娛樂,幫大家增加一些無用的知識,但是祭品文的部分是真的有在
準備XDD。
這是去年底C_Chat版熱烈討論的[新聞] 陸「民間棋王」賽後浴缸排泄!遭質疑塞肛
我對其進行了深度的學術探討,寫成以下兩篇。
Day28 從象棋比賽作弊事件探討資料傳輸與資料結構
https://ithelp.ithome.com.tw/articles/10367074
Day29 什麼?肛門也能下棋!
https://ithelp.ithome.com.tw/articles/10367432
拜託各位多多支持,讓祭品文早日達標。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.76.65.95 (臺灣)
※ 作者: oxlittle 2024-10-17 03:21:04
※ 文章代碼(AID): #1d418aS4 (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1729106468.A.704.html
→ DrTech: 可以出書了,那麼有系統的介紹4F 10/17 08:23
推 cylee: 出電子書加上 Sample 的話,我應該會買7F 10/17 10:19
推 buke: 推推13F 10/17 15:14
推 s9041200: 推,一直有興趣的主題,但不得其門而入,謝大大21F 10/17 19:51
推 crowley: 肛門也能下棋XDDD22F 10/17 21:22
推 frakw: 推26F 10/18 00:05
--