1.1 实验目的
熟悉和掌握博弈树的启发式搜索过程、α-β 剪枝算法和评价函数,并利用 α-β 剪枝算法开发一个五子棋人机博弈游戏。详细可以划分为:
熟悉 Minimax 算法,学会使用 α-β 剪枝算法优化博弈树搜索;
根据五子棋本身的特点,给出其评价函数与细节优化方式;
完成实现优化算法,并将之包装为一个可供人机对战的游戏。
1.2 实验内容
根据《人工智能课程设计》实验二指导书,结合本小组自身能力与完成情况,可以对本次实验的实验内容作出如下划分:
以五子棋人机博弈问题为例,使用 C++ 语言编写代码实现 α-β 剪枝算法的求解程序,并根据五子棋本身的特点设计了相应的评估函数。
使用 Qt 框架实现 15×15 棋盘下人机对战的 UI 交互,同时实现重新开始、悔棋等操作并添加交互按钮;额外添加了先后手的选择按钮,用以提升用户的对战乐趣。
定义了两个实例对象用以模拟玩家和 AI,使用 vector 容器用以存储双方的落子位置,使用二维数组存储当前的棋局。
源码和文档都托管在了【WRITE-BUG数字空间】上面了,有需要的可自取~