五子棋人工智能人机博弈毕业设计

五子棋人工智能人机博弈毕业设计

ID:1388179

大小:1.35 MB

页数:36页

时间:2017-11-11

五子棋人工智能人机博弈毕业设计_第1页
五子棋人工智能人机博弈毕业设计_第2页
五子棋人工智能人机博弈毕业设计_第3页
五子棋人工智能人机博弈毕业设计_第4页
五子棋人工智能人机博弈毕业设计_第5页
资源描述:

《五子棋人工智能人机博弈毕业设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、五子棋人工智能人机博弈毕业设计目 录第1章引言5§1.1人工智能5§1.2人机博弈和五子棋5§1.3VisualC++6第2章需求分析7§2.1使用范围要求7§2.2功能要求7§2.3系统平台要求7第3章人机界面设计8第4章面向对象分析11§4.1对象设计11§4.2动态模型12§4.3功能模型12第5章面向对象设计14§5.1类设计14§5.2控制流程15第6章详细设计及编码17§6.1全局数据17§6.2游戏循环17§6.3界面设计及事件处理17§6.4人类玩家的Think操作19第7章计算机智能设计20§7.1棋局估值20§7.2极大极小值算法21§7.3Alpha-beta算

2、法244§7.4Alpha-beta算法的窗口效应28§7.5极小窗口搜索/PVS算法29§7.6预估排序和历史启发30§7.7有限范围限定33§7.8多核优化33第8章总结结论35§8.1各算法效率对比35§8.2成果与不足36参考文献37致 谢384第1章引言§1.1人工智能提到人工智能,可能最著名的便是1997年超级计算机“深蓝”战胜国际象棋冠军卡斯帕罗夫的事,可以说“深蓝”的获胜是人工智能影响力的一个里程碑。对于什么是人工智能,有很多定义,我认为就是能自动完成人类所能完成的一些思维活动。如果从这个意义上说的话,计算机学科所要解决的所有问题都与人工智能有关。它的发展历史和计算机

3、科学的发展历史是联系在一起的,但也不仅仅局限于计算机科学,也涉及到心理学、哲学、语言学、医学等很多门学科。它所包含的内容有:知识表示、自动推理和搜索方法、机器学习和知识获取、知识处理系统、自然语言理解、计算机视觉、智能机器人、自动程序设计等方面。§1.2人机博弈和五子棋人机博弈就是人和计算机下棋,其重点在于计算机如何实现对弈,它是人工智能研究的一个重要分枝,五子棋是一种对弈游戏,本设计的目的就是通过五子棋这种对弈游戏初步探索实现博弈算法,为将来的人工智能研究打下一个基础,其实现方法可以从以下几方面概述:一、棋盘状态用一种数学模型来表示当前棋局的状态,不同的对弈游戏有不同的表示方法,本

4、设计用五子棋这种游戏来实现,它的棋盘状态比较简单,可以用一个15*15的二维数组表示15*15的棋盘,某棋盘上位置的状态就用该数组中单元的数字表示,比如1表示黑子,0表示白子,-1表示空位。二、对弈规则每种对弈游戏都有不同的规则,规定了棋子的走法(如象棋)或者能下子的位置以及胜负的判定。五子棋的规则很简单,如果不考虑禁手,任意空位都可以放棋子,只要一方有五个棋子连成一线,则判胜。三、搜索技术要让计算机在下棋中有智能,搜索技术是至关重要的,简单的说就是让计算机试着某步走法,这一步走了之后,再往后走若干步,按照某种规则给这一步评分,最后,在所有走法中选择一个相对最佳的走法。四、棋局估值4

5、就是对某一种棋盘局面的优劣作出评价,简单地就是说走某一步棋后,这一步棋走得好不好。它在博弈技术中也是很重要的,从某种意义上来说,搜索也是为了估值,或者说对估值作修正。§1.1VisualC++本次的开发工具为Microsoftvisualc++2005,它是微软公司推出的win32的开发工具,本次实现之所以选用VisualC++作为开发工具,除因个人使用习惯外,主要是它生成的代码高效,具有灵活方便的类管理,以及界面设计的可视化特点。另外,在VisualC++2005中引入了OpenMp的支持,OpenMp为快速开发具有多核优化的程序提供简单方便的支持,使得博弈程序更加高效。4第1章需

6、求分析§1.1使用范围要求五子棋规则简单,男女老幼都可以玩,不但能让人们在对弈过程中得到娱乐,而且还能开发智力。§1.2功能要求1、支持人机对战。2、能设置计算机智能等级。3、能保存棋局状态,同时也能读入上一次保存的棋局状态,并且能够接着上一次继续下棋。4、能悔棋,即玩家在下错子后能回到上一步。5、背景音乐和下棋音效。§1.3系统平台要求编程语言:C++操作系统:windows开发工具:microsoftVisualC++5毕业设计论文——博弈算法的设计及其实现第1章人机界面设计图3.1五子棋程序界面如图3.1,在左边的为15×15的棋盘,右边的“黑子”和“白子”下接列表框设定持黑子

7、和白子的玩家类型,各有三项,分别是“人”,“计算机”,“当选择“人”后,就可以用鼠标在棋盘下放该类型的棋子,当为“计算机”,则由计算机自动产生走法并在棋盘上下该种类型的棋子,并且会弹出一个选择智力级别的对话框。8毕业设计论文——博弈算法的设计及其实现图3.2计算机智力等级设定对话框在玩的过程中,如果不想玩了,可以把当前棋局保存下来,按保存按钮,此时弹出保存棋局对话框图3.3保存棋局对话框要载入以往的棋局继续玩,点击载入按钮,此时显示载入棋局对话框,选择以往

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。