职场大变样社区

5598

主题

6638

帖子

79

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
79
跳转到指定楼层
楼主
发表于 2016-11-10 12:10:59 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
技术:Java等
摘要:
西洋棋电脑博弈是人工智能研究领域的一个重要方面。由于国际象棋的复杂程度略高,人工智能的发展水平,切实的表现在计算机博弈的能力上。国际上对电脑国际象棋智能的研究有卓越的成就,而电脑智能跟人类国际象棋冠军对弈并获得胜利,已经广为人知。西洋棋电脑博弈在国际上的地位母庸置疑,在人工智能领域上也是举足轻重。 我在查阅大部分关于计算机博弈,游戏程序开发资料的基础上,结合我对西洋棋的理解,介绍如何实现一款具有一定棋力,且能双人博弈,交互友好的西洋棋学习软件程序,文中的主要工作如下:

1.简述西洋棋的历史与玩法,让人知道西洋棋的背景,包括西洋棋的起源,发展,以及在当今社会下的地位,并对西洋棋的玩法进行介绍,让大家深入地对西洋棋进行了解并让大家知道西洋棋的乐趣所在。
2.总结分析西洋棋电脑博弈的关键技术问题,包括数据结构的组成、搜索算法的研究、局面评估的函数还有交互界面的绘制等等。并对整个系统进行初步分析,确定开发过程中要实现什么功能。首先解决的是西洋棋在计算机中的绘制问题,研究如何能让计算机绘制成正确的棋盘跟把正确的棋子贴图放到正确的位置。
3.文中还研究了游戏中的算法设计,如何与人类对弈。而且要知道什么样的着法是合理的,假如程序连不合理的招数都不能检测出来,那么对手就可以利用这种招数来欺骗电脑;找出所有合理棋法的算法,这样程序就可以从这些棋法中找到最好的,而不是随便找一种棋法;要学会比较方法,包括比较着的方法和比较局面的方法,这样程序就可以选择最佳的棋法。 然后对搜索算法进行了一部分研究,首先对所处的局面进行评估,得出评估值,然后通过搜索算法搜索出最佳的局面,最后进行判断,做出电脑的选择。

关键词 : java  西洋棋  对弈

目录:
1绪论    10
    1.1西洋棋历史    10
1.1.1简述西洋棋    10
1.1.2西洋棋的起源    10
1.1.3西洋棋的变革    12
1.2西洋棋的基本规则    14
1.2.1 棋盘和棋子    14
1.2.2棋子的走法    15
1.2.3胜负的规则    17
2 西洋棋游戏的需求分析    18
2.1软件实现的目标分析    18
2.2用户的特点    18
2.3 系统初步分析    18
2.4对功能的设定    19
2.4.1对弈双方设定    19
2.4.2时间设定    20
2.4.3对弈开始结束的设定    20
3 西洋棋学习软件的架构设计    20
3.1初步设计    21
3.2 局面表示    22
3.3数据结构    23
3.4走法生成    23
3.5搜索算法    24
3.6局面评估    25
3.7窗口探测    25
3.7.1渴望搜索    25
3.7.2极小窗口算法    26
3.8静寂搜索    27
3.9历史启发    28
3.10深层迭代    29
3.11静态评估算法详述    30
3.11.1.对棋子攻击性和棋力的评估    31
3.11.2对棋子位置附加价值的综合评估    31
3.11.3.对灵活性的评估    31
3.11.4.对棋子的保护性和协调性的评估    32
3.11.5.静态估值函数    32
3.11.6.静态估值函数的缺陷    32
3.12局势因子及动态局势再评估函数    33
3.13动态局势再评估算法的步骤    34
4 西洋棋学习软件系统实现    35
4.1  界面实现    35
4.1.1  详细实现    35
4.1.2  关键代码展示    37
4.2  走棋规则    38
4.2.1  局面表示    38
4.2.2  走法表示    39
4.2.3  关键代码展示    42
4.3  胜负判断    44
4.3.1  王是否被吃    44
4.3.2  时间是否用完    45
4.3.3  王是否被将死    45
4.3.4  关键代码展示    46
4.4  游戏模式及限时    47
4.4.1  时间限制的设置    47
4.4.2游戏模式的设置    48
4.5 AI 算法分析    48
4.5.1  算法概述    49
4.5.2  局面评估    49
4.5.3  搜索算法    51
4.5.4  置换表和开局残局库    53
        4.6其余部分代码展示...................................................................................................54
5程序测试    56
5.1  系统测试环境    56
5.2  测试方法    57
5.3  测试用例设计    57
5.3.1  人人对弈    57
5.3.2  人机对弈    57
        5.3.3  走法错位判断.....................................................................................................57
5.3.4  胜负判断    58
5.4  测试计算时间    58
5.5  测试结果分析    58
    5.6项目运行截图...................................................................................................................59
结论    60
参考文献    61
致谢    62

论文字数:36257
包含资料:


截图:


百度网盘下载地址(金币充值):
游客,本付费内容需要支付 200金币 才能浏览支付


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

职场大变样社区 分享高质量学习资料(电子课本、毕业设计、编程视频、项目源码、电子书籍等)

快速回复 返回顶部 返回列表