PTT推薦

[推坑] 分享鐵人賽電腦對局系列文

看板Soft_Job標題[推坑] 分享鐵人賽電腦對局系列文作者
oxlittle
(格子迷宮)
時間推噓 8 推:8 噓:0 →:1

(代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:著手分析通過優先展開較佳的走步來提昇剪枝效果,進階一點的ThreatSpace 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留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.76.65.95 (臺灣)
PTT 網址

qwe1927237510/17 06:27

Csongs10/17 08:09

melancholy0710/17 08:13

DrTech10/17 08:23可以出書了,那麼有系統的介紹

richardz10/17 08:44

johnbill10/17 10:03

cylee10/17 10:19出電子書加上 Sample 的話,我應該會買

xxxx965910/17 11:39讚讚

hobnob10/17 12:54推推!