(人工智能)人工智能连连看报告.

上传人:精****库 文档编号:136561034 上传时间:2020-06-29 格式:DOC 页数:18 大小:425KB
返回 下载 相关 举报
(人工智能)人工智能连连看报告._第1页
第1页 / 共18页
(人工智能)人工智能连连看报告._第2页
第2页 / 共18页
(人工智能)人工智能连连看报告._第3页
第3页 / 共18页
(人工智能)人工智能连连看报告._第4页
第4页 / 共18页
(人工智能)人工智能连连看报告._第5页
第5页 / 共18页
点击查看更多>>
资源描述

《(人工智能)人工智能连连看报告.》由会员分享,可在线阅读,更多相关《(人工智能)人工智能连连看报告.(18页珍藏版)》请在金锄头文库上搜索。

1、(人工智能)人工智能连连看报告人工智能期末考核大作业报告主题搜索算法在智能游戏开发领域的运用 班级计科0901 姓名汪胜圣 总学号0304090112 得分 目录第1章 人工智能31.1 什么是人工智能33.1 为什么要研究人工智能43.2 人工智能研究方法53.3 人工智能在游戏领域的一些应用6第2章 项目概要62.1 项目背景62.2 任务概述8第3章 分析游戏93.1 动手前的准备93.2 实现游戏的算法103.3 游戏设计核心问题14第4章 设计游戏154.1 用布局和按钮来实现算法的界面154.2 设计用户界面15第5章 核心代码165.1 图片的随机生成所用到的方法165.2 得分

2、设置 (对数组中两个元素是否可以消除的判断)175.3 过关设置19第6章 参考文献20第7章 人工智能设计小结20第1章 人工智能1.1 什么是人工智能人工智能(ArtificialIntelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。第2章 “人工智能”一词最初是在1956年Dartmouth学会上提出的。从那以后,研究者们发展了众

3、多理论和原理,人工智能的概念也随之扩展。人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,第3章 总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。例如繁重的科学和工程计算本来是要人脑来承担的,现在计算机不但能完成这种计算,而且能够比人脑做得更快、更准确,因之当代人已不再把这种计算看作是“需要人类智能才能完成的复杂任务”,可见复杂工作的定义是随着时代的发展和技术的进步而变化的,人工智能这门

4、科学的具体目标也自然随着时代的变化而发展。它一方面不断获得新的进展,一方面又转向更有意义、更加困难的目标。目前能够用来研究人工智能的主要物质手段以及能够实现人工智能技术的机器就是计算机,人工智能的发展历史是和计算机科学技术的发展史联系在一起的。除了计算机科学以外,人工智能还涉及信息论、控制论、自动化、仿生学、生物学、心理学、数理逻辑、语言学、医学和哲学等多门学科。人工智能学科研究的主要内容包括:知识表示、自动推理和智能搜索、机器学习和知识获取、知识处理系统、自然语言理解、计算机视觉、智能机器人、自动程序设计等方面。在智能搜索领域的运用是人工智能的一大运用领域。3.1 为什么要研究人工智能人工智

5、能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。人工智能将涉及到计算机科学、心理学、哲学和语言学等学科。可以说几乎是自然科学和社会科学的所有学科,其范围已远远超出了计算机科学的范畴,人工智能与思维科学的关系是实践和理论的关系,人工智能是处于思维科学的技术应用层次,是它的一个应用分支。从思维观点看,人工智能不仅限于逻辑思维,要考虑形象思维、灵感思维才能促进人工智能的突破性的发展,数学常被认为是多种学科的基础科学,数学也进入语言、思维领域,人工智能学科也必须借用数学工具,数

6、学不仅在标准逻辑、模糊数学等范围发挥作用,数学进入人工智能学科,它们将互相促进而更快地发展。从实用观点来看,人工智能是一门知识工程学:以知识为对象,研究知识的获取、知识的表示方法和知识的使用。3.2 人工智能研究方法人工智能在计算机上实现时有2种不同的方式。一种是采用传统的编程技术,使系统呈现智能的效果,而不考虑所用方法是否与人或动物机体所用的方法相同。这种方法叫工程学方法(Engineeringapproach),它已在一些领域内作出了成果,如文字识别、电脑下棋等。另一种是模拟法(Modelingapproach),它不仅要看效果,还要求实现方法也和人类或生物机体所用的方法相同或相类似。本书

7、介绍的遗传算法(GenericAlgorithm,简称GA)和人工神经网络(ArtificialNeuralNetwork,简称ANN)均属后一类型。遗传算法模拟人类或生物的遗传-进化机制,人工神经网络则是模拟人类或动物大脑中神经细胞的活动方式。为了得到相同智能效果,两种方式通常都可使用。采用前一种方法,需要人工详细规定程序逻辑,如果游戏简单,还是方便的。如果游戏复杂,角色数量和活动空间增加,相应的逻辑就会很复杂(按指数式增长),人工编程就非常繁琐,容易出错。而一旦出错,就必须修改原程序,重新编译、调试,最后为用户提供一个新的版本或提供一个新补丁,非常麻烦。采用后一种方法时,编程者要为每一角色

8、设计一个智能系统(一个模块)来进行控制,这个智能系统(模块)开始什么也不懂,就像初生婴儿那样,但它能够学习,能渐渐地适应环境,应付各种复杂情况。这种系统开始也常犯错误,但它能吸取教训,下一次运行时就可能改正,至少不会永远错下去,用不到发布新版本或打补丁。利用这种方法来实现人工智能,要求编程者具有生物学的思考方法,入门难度大一点。但一旦入了门,就可得到广泛应用。由于这种方法编程时无须对角色的活动规律做详细规定,应用于复杂问题,通常会比前一种方法更省力。3.3 人工智能在游戏领域的一些应用人工智能在游戏中的目标主要有五个:一是为玩家提供适合的挑战;二是使玩家处于亢奋状态;三是提供不可预知性结果;四

9、是帮助完成游戏的故事情节;五是创造一个生动的世界。这个生动的世界可以是类似现实生活中的世界,也可以是与现实世界完全不同的世界。但不管何种世界都要求有一整套能够自圆其说的游戏规则。在游戏制作过程中,实现人工智能的关键主要有:虚拟现实与拟人化、动画效果与机器角色场景感知、机器角色的机器学习和进化、玩家与机器角色之间的平衡性、人工愚蠢技术、确定性人工智能技术与非确定性人工智能技术的互补。人工智能在游戏中应用的技术非常之多,如:有限状态自动机(FiniteStateMachines)、模糊逻辑(FuzzyLogic)、产生式系统(productionsystem)、脚本设计(Scripting)、基于

10、规则的人工智能和系统(Rules-basedAIandSystems)、贝叶斯推论(BayesianInference)和非确定性贝叶斯网络(BayesianNetworksforUncertaintyDecisions)、人工生命(Artificiallife)、决策树(DecisionTree)、专家系统(Expertsystem)、神经网络(NeuralNetworks)、遗传算法(GeneticAlgorithms)等。下面MFC连连看就是运用人工智能中的智能深度搜索算法制作的,是人工智能在游戏开发领域的小应用。锻炼我的编程能力,更深入了我对人工智能这门课的了解与领悟。第2章 项目概要

11、2.1 项目背景2.1.1 连连看游戏产业作为现代电脑电子技术的产物,正在以其独特的魅力在全世界的娱乐领域占据主流位置,我们在承认广大娱乐网民的选择空间狭小的同时,也必须明确的一点就是游戏本身所具有的强大的吸引力。游戏的吸引力主要在于,它在让玩家打发时间的同时,可以让人实现在显示生活中不能实现的理想,得到在现实中不能得到的东西。而且游戏产业促动高科技技术不断升级,作为经济增长的一大支撑点,已经成为经济腾飞的“第四产业”。现在小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外(不像其他游戏还需要注册下载繁琐过程),很多游戏不乏经典。连连看游戏就是典型了!游戏“连连看”顾名思义就是找出相关联的东

12、西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以作为相关联处理。“连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。这其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。并于2004年,取得了国家版权局的计算机软件著作权登记证书。随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”。如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。2008年,随

13、着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。2.1.2 MFCMFC(MicrosoftFoundationClasses),是一个微软公司提供的类库(classlibraries),以C+类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。2.1.3 深度优先搜索深度优先搜索是一种在开发爬虫早期使用

14、较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件)。在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索单独的一条链。深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。2.2 任务概述2.2.1 任务概述1. 实现单机版连连看。2. 开始游戏后,随机生成图片位置。3. 实现深度搜索算法。4. 使用布局实现用户界面。5. 使用数组实现算法的核心。2.2.2 实现目标l 游戏概

15、况l 方案论证l 界面设计l 图片选取及生成l 算法路径实现l 游戏运行第3章 分析游戏3.1 动手前的准备3.1.1 看看别人现成的游戏在盖房子之前,我们都会先打好地基,然后搭起框架,最后再就是一点一点添砖加瓦,做软件也是一样的道理,都是从大体的框加向细节部分设计实现,现在,我们开始吧。其实不管是做软件也好,做游戏也好,只要是写程序,在动手之前是一定会存在需求和分析的,如果不经过一定的分析就开始动手写程序,那么,这个程序一定会很难写下去的,最后的结果可能会导致放弃。那么,在我们动手之前,让我们先简单的分析一下吧。由于“连连看”并不是一个我们凭空开发的游戏,并且网上也已经有很多别人已经开发好的版本,因此,对于我们来说,我们已经拥有了一个很好的原型(比如说QQ游戏中的“连连看”),分析起来也应该是轻松得多。由于QQ中的“连连看”是网络版,为了开发上的简便,我们先放弃网络功能,做一个简单的单机版就行了。现在,让我们现在来看一看QQ中的连连看吧。“连连看”的游戏规则其实并不复杂,首先,游戏开始的时候,地图上会有由数张不同的图片随机分散在地图上(并且每张图片会出现偶数次,通常是4次),只需要在地图上找出两张相同的图片(点),并且这两个点之前可以用不超过3条的直线连接起来就可以消除这两点,如此下去,直到地图上的点全部

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号