![f29c6cb1ff1537597dd966c148b38f75.png](https://i-blog.csdnimg.cn/blog_migrate/9ab0bc1c371d3479ac6fa70872cda256.jpeg)
六子棋是一种两人对弈的棋类游戏,类似于五子棋或连珠棋。规则与五子棋非常相似,首先黑方在棋盘上下第一个黑子,然后,白黑双方轮流在棋盘上下子,而且每一轮每一方各下两子,先连成六子者获胜(横向、纵向、斜向皆可)。
六子棋游戏规则简单、公平,先手方并没有优势,并由于每手都要下两子,使得六子棋比五子棋要复杂的多,事实上,六子棋的状态空间复杂度和游戏树复杂度远比五子棋高几个数量级,其复杂程度已经和围棋和国际象棋差不多。
我们用Haskell语言进行编程,利用评估函数和基于博弈树极大极小值的 alpha-beta 剪枝搜索算法,设计了chessAI人工智能程序。下面的视频展示了如何在mac系统下双开terminal实现chessAI的自我对弈。
知乎视频www.zhihu.com在编程过程中,我们发现网上的参考资料质量参差不齐,对想要进行游戏AI设计的新人十分不友好。于是我们将自己的程序设计报告分享在此,希望能帮助到需要的人。如果有人在编程时有一些问题或新思路,欢迎私信交流源代码。
链接: https://pan.baidu.com/s/1xqe2b1qc9Rv2BKlSg3dEVA 密码: c5a9