(代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
拜托各位多多支持,让祭品文早日达标。