摘要:本课题旨在以五子棋为入口,实现人和计算机两方进行博弈,并以此来探索人机五子棋博弈中具有人工智能程序的主要算法、估值函数的实现。计算机博弈是人工智能研究的一个重要分支,它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。目前人机博弈算法已经发展到相当高的水平。本文利用Python作为开发语言,并借助pygame模块开发了一个具有一定智能的五子棋人机对战系统。本文采用了静态估值函数对不同棋型进行评估,并利用Alpha-Beta剪枝搜索算法来搜索博弈树,大大降低了搜索的复杂度,提高了搜索速度。这种方法在程序中取得了不错的效果,通过实验得到的对弈结果,可知该五子棋人机对弈程序已经超过了业余玩家的水平,能够达到比较高的胜率。该系统在低难度对弈中更有可能胜出,在高难度对弈中更有可能打平局,而不论在哪种情况下都能保证一个比较低的失败率。
关键词:五子棋 计算机博弈 Alpha-Beta剪枝 Python
目录
摘要
ABSTRACT
第一章 绪论-1
1.1选题背景及意义-1
1.2计算机博弈的发展状况-2
第二章 计算机博弈与搜索算法-4
2.1计算机博弈的基本思想-4
2.2搜索算法-4
第三章 五子棋人机对战系统的实现-7
3.1五子棋特点及规则-7
3.2五子棋人机对战系统的实现思想-7
3.3 Python游戏开发相关技术-7
3.4游戏界面-8
3.5游戏主要逻辑实现-9
3.6五子棋核心对战系统主要函数-11
3.7评估函数-17
3.8五子棋程序测试及分析-18
第四章 总结与展望-20
4.1工作总结-20
4.2后续工作展望-20
致 谢-21
参考文献-22