1 / 20
文档名称:

人工智能课程设计.doc

格式:doc   大小:116KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

人工智能课程设计.doc

上传人:sssmppp 2022/6/18 文件大小:116 KB

下载得到文件列表

人工智能课程设计.doc

文档介绍

文档介绍:人工智能课程设计
五子棋
姓名:徐慧
班级:计091 (杏)
学号:0913023001
指导老师:管致锦
引言 3
1. 1五子棋简介 3
3
开发工具可行性分析 5
需求分析 6
程序守。没关系我们完全可以通过一个加强算法来 改变当前的分值情况,也就是说当电脑或玩家有三个子或四个子连成一线时,我 们通过加强算法将当前与三个子或四个子有关的空格的分值提高,从而可以弥补 这一缺憾。
(四)、攻击与防守
以上的方式,事实上计算机只是计算出了最佳的攻击位置,为了防守我们还 应计算当前玩家的最佳的攻击位置。这样有什么用呢?道理很简单,如果玩家最 佳攻击位置的分数大于计算机最佳攻击位置上的分数,那么计算机就将下一步的 棋子摆在玩家的最佳攻击位上以阻止玩家的进攻,否则计算机便将棋子下在自己 的最佳攻击位置上进行攻击。
事实上,这个AI构想是很强大的如果你不是很厉害的五子棋高手的话,可 能很快会被计算机打败。我在联众上可是中级棋手啊,跟这种构想打的时候胜率 也不是很高。
开发工具可行性分析
。,就不 能不先提一下Visual Basic是Windows环境下的一种简单、易学的编程语言,由 于其开发程序的快速、高效,深受程序员的喜爱。

1、 真正成为面向对象以及支持继承性的语言。
2、 窗体设计器支持可视化继承,并且包含了许多新的特性,比如自动改变窗体 大小、资源本地化支持、数据类工具内在支持XML数据。
3、 , 特性,。
4、为Windows应用程序提供了 XCOPY部署,开发者不再需要为DLL的版本 问题担忧。
需求分析
人工智能的第一大成就是下棋程序,在下棋程度中应用的某些技术,如向 前看几步,把困难的问题分解成一些较容易的子问题,发展成为搜索和问题归纳 这样的人工智能基本技术。今天的计算机程序已能够达到下各种方盘棋和国际象 棋的锦标赛水平。但是,尚未解决包括人类棋手具有的但尚不能明确表达的能力。 如国际象棋大师们洞察棋局的能力。另一个问题是涉及问题的原概念,在人工智 能中叫问题表示的选择,人们常能找到某种思考问题的方法,从而使求解变易而 解决该问题。到目前为止,人工智能程序已能知道如何考虑它们要解决的问题, 即搜索解答空间,寻找较优解答。
在设计本系统时考虑到用户需要的是一个操作简便界面简单的游戏软件。 同时要提供人机和人人这样的功能。特别是人机部分,要考虑到不同级别的用户。 电脑智能不能太低需要有一定的智能下棋功能。
人机对战:选择和电脑对弈的等级操作,同样也可以执行网络联机的悔棋 等功能,只是因为是人机所以无需通过确认。
程序设计
游戏中提供两种选择模式:人机对战和人人对战。在人机对战中玩家通过选 择不同的等级和电脑一决高下,可以向后悔棋。在人人对战中双方通过选择一方 作为服务器,通过弹出对话框设置本地应用程序监听端口,而另外一方则作为客 户端,通过连接服务器选项,在弹出的对话框中设置要连接的服务器的IP地址 和端口号。当双方都提示连接成功后,两方才可以进行下棋。如要悔棋则需要通 过对方的同意。同时还可以实现在线聊天。AI的不同等级是以不同的搜索深度 确定的。
1程序设计特点
五子棋游戏程序由于规则简单操作简便等特点,自然就成为程序员对人工 智能研究的首选对象。所以网络上关于这类的程序很多,但是由于主要都是采用 搜索穷举技术作为解决方案,这将使得问题的规模变的很庞大如当搜索深度为3 时,每走一步电脑在将最坏的情况下需要搜索的点将达225*225*225=11390625 个。即使采用的剪枝技术,其某些点的响应的时间也是让人无法忍受的,如开局 时,因为这个时候每个点都是空的,没有可以剪枝的点,必须遍历真个盘面,所 以很耗时间,大约需要
30多秒的时间,这个显然是不可接受的。为了程序设计 和玩家的忍受时间的需要。不得不减小深度,所以绝大部分都采用深度为2的检 索,很明显深度越低系统的智力也相对的降低,需要代价的。
本程序的一个主要特点是,采用了高效的优化方法,使得在相同的搜索规模 中所花费的计算时间大幅度的减小。响应时间明显得到提高。即使搜索深度达到 4的时候,其响应时间在绝大部分的情况下还是可以接受的。
4.
结构设计的一条基本原理就是程序应该模块化,也就是一个大程序应该由许 多规模适中的模块按合理的层次结构组织而成。总体设计阶段的第二项主要任务 就是设计软件的结构,也就是确定程序由哪些模块组成以及模块间的关系