【中国象棋在线人机对弈】五子棋人机对弈系统
作者姓名: 指导教师: 所在学院: 专业(系): 班级(届):
年 月 日
目 录
中文摘要、关键字.............................................................................................
........... 1 1 概述 .................................................................................
........................................ 2 1.1 人机对弈五子棋介绍 ...........................................
........................................... 2 1.2 开发背景 .............................................
............................................................. 3 1.3 国内外现状 ..........................
............................................................................ 3 2 需求分析 ..............
................................................................................................... 4 2.
1 功能需求 .........................................................................................
................. 4 2.2 性能需求 .......................................................................
................................... 4 2.3 系统目标 .....................................................
..................................................... 4 2.4 运行环境需求 .................................
................................................................. 5 2.5 五子棋的规则 .....................
............................................................................. 5 3 总体设计 .............
....................................................................................................
.. 8 3.1 引言 ........................................................................................
.......................... 8 3.2 五子棋人机对弈的基本原理 ......................................................
.................... 8 3.3 资源准备 ....................................................................
...................................... 9 3.3 相关算法 ..................................................
........................................................ 9 3.3.1 显示游戏状态的方法 .........................
...................................................... 9 3.3.2 坐标系与数组下标 ............................
....................................................... 9 3.3.3 三个重要的数组 ............................
......................................................... 10 3.3.4 关于ptable、ctable数组的说明: ...........
............................................ 10 3.3.5 用来表示游戏进度的标量 ..................................
..................................... 14 3.3.6 其他自定义函数和数据 ..........................................
............................... 14 3.3.7 视图类自定义函数和数据: ..............................................
................... 14 3.3.8 绘图的实现 .................................................................
............................ 15 3.3.9 玩家落子 .........................................................
........................................ 15 3.3.10 游戏的保存和载入 ........................................
....................................... 17 4 人机对弈的实现 ...............................................
.................................................... 18 4.1 局面优劣的评估算法: ................................................................................ 18
5 总结 ................................................................................................
....................... 20 5.1 系统不足 ................................................................
........................................ 20 5.2 整个设计总结 .............................................
................................................... 21 参考文献.........................................
............................................................................. 21 英文摘要、关键字...................................................................................................... 23
五子棋人机对弈系统
******** 指导教师 ******** 作 者 ********
摘要:人工智能是一门正在迅速发展的新兴的,综合性很强的边缘科学。它与生物工程、空间技术一起被并列为二十一世界三大尖端技术。它的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。目前各发达国家都把人工智能作为重点列入本次的高科技发展计划当中,投入巨大的人力和物力。
计算机人机对弈也是其中之一。作为人智能研究的一个重要分支,计算机博弈是检验人工水平的一个重要方面。它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。
五子棋人机对弈是计算机博弈中的一种。研究其计算机算法,可以让我们看到人工智能的初影,也有助于我们人脑的开发。五子棋是我国发明的,研究它可以让更多的外国人了解,有助于我国优秀文化的推广。
本文以C 语言作为开发语言,设计了五子棋游戏软件,使该软件具有美观友好的界面,在人机对弈时,使电脑具有较高的智商。本游戏采用搜索算法设计最优落子点开发的游戏软件。本文详细地介绍了五子棋游戏软件设计的全过程,描述了该软件的功能,以及和其它五子棋程序的一些比较。
关键词:人工智能 人机对弈 五子棋 C 语言
1 概述
随着科学的进步和社会的发展。当电脑进入我们的生活中,与之相关的许多学科都在飞速发展。典型的有电子邮件、电子商务等。当然也有人智能了。人工智能与生物工程、空间技术一起被并列为二十一世界三大尖端技术。人们在惊叹机器人高效工作的同时,也在深思自己的聪明和睿智。人工智能的主要任务就是去研究如何让计算机去做那些曾经只能依靠人类的智力才能去做的工作。由此,人工智能逐渐走入人们的生活之中。
1.1 人机对弈五子棋介绍
早在四千年前五子棋就变得非常流行了,所以五子棋是我们中华民族的传统,它有着悠久的历史,经过几千年的发展,如今的五子棋已经变得非常正规,也是我们中华民族文化的一种象征,有一定的民族性。
五子棋的源头是中国古代的黑白棋,现代五子棋日文称之为“连珠”,它如今有很多的别称,比如:“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种名称,不同的国家有不同的称呼,韩国人甚至会把它成为“情侣棋”,因为他们认为下棋是一种交流感情的好办法,夫妻之间可以借此机会表达对对方的爱意。
所以,五子棋现在已经跨越了国界,不仅仅中国人喜爱它,很多外国朋友也经常下五子棋,所以五子棋不但有东方文化的神秘感,也有西方文化的直观,所以是中西方文化的交汇点,是我们多年来智慧的结晶。
人们的压力现在逐渐增大,如果没有劳逸结合,很难有更加高效的工作效率,对于每一个人来说,工作之余的娱乐都是必须的。五子棋这种娱乐游戏不但简单易学而且还具有深奥的技巧,真的是既富有趣味性又富有消遣性。在经过不断的发展后,它已经成为棋盘类娱乐中的一个非常重要的部分,它可以增强发散思维、开发智力,是我们在休闲娱乐时的不错选择。
我们现在要做的是在计算机上下棋,这是从我们现实生活中发展过来的,所以我们应该尽可能的模拟现实生活,根据生活中的五子棋来设计我们计算机应该实现的五子棋,应该包含棋盘和棋子,五子棋已经越来越成为我们中华民族的一种代表,在人们下棋过程中的趣味是我们他人所无法想象的,甚至有的旁观者都感觉非常有趣,投入其中,在我们快乐的同时还能增强思维能力,提高智力,且富含着丰富的哲理,有助于我们平时修身养性。