人工智能的发展与应用-论文.doc_第1页
人工智能的发展与应用-论文.doc_第2页
人工智能的发展与应用-论文.doc_第3页
人工智能的发展与应用-论文.doc_第4页
人工智能的发展与应用-论文.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

巴州石油一中高中部研究性学习人工智能的发展与应用作 者: 谭承志 王智贺 潘永臻指导教师: 周朝晖 2020年2月6日13人工智能的发展与应用研究论文暨结题报告关键字:人工智能 发展 中学生 XNA C#作者:谭承志 王智贺 潘永臻1. 前言人工智能(英语:Artificial Intelligence, AI)有时也称作机器智能,是指由人工制造出来的系统所表现出来的智能。通常人工智能是指通过普通计算机实现的智能。该词同时也指研究这样的智能系统是否能够实现,以及如何实现的科学领域。本论文就旨在以中学生的视角探究人工智能的发展,并能尝试进行适度的尝试。2. 课题成员介绍小组组长:谭承志 副 组 长:王智贺小组成员:潘永臻 顾家默 贾维康 李宝3. 正文3.1人工智能的定义人工智能的定义可以分为两部分,即“人工”和“智能”。“人工”比较好理解,争议性也不大。有时我们会要考虑什么是人力所能及制造的,或者人自身的智能程度有没有高到可以创造人工智能的地步,等等。但总的来说,“人工系统”就是通常意义下的人工系统。关于什么是“智能”,就问题多多了。这涉及到其它诸如意识、自我、心灵(包括无意识的精神等等问题。人唯一了解的智能是人本身的智能,这是普遍认同的观点。但是我们对我们自身智能的理解都非常有限,对构成人的智能的必要元素也了解有限,所以就很难定义什么是“人工”制造的“智能”了。因此人工智能的研究往往涉及对人的智能本身的研究。其它关于动物或其它人造系统的智能也普遍被认为是人工智能相关的研究课题。3.2人工智能的发展历史人工智能的传说可以追溯到古埃及,但随着1941年以来电子计算机的发展,技术已最终可以创造出机器智能,“人工智能”(Artificial Intelligence)一词最初是在1956年Dartmouth学会上提出的,从那以后,研究者们发展了众多理论和原理,人工智能的概念也随之扩展,在它还不长的历史中,人工智能的发展比预想的要慢,但一直在前进,从40年前出现到现在,已经出现了许多AI程序,并且它们也影响到了其它技术的发展。计算机时代1941年的一项发明使信息存储和处理的各个方面都发生了革命。这项同时在美国和德国出现的 发明就是电子计算机。第一台计算机要占用几间装空调的大房间,对程序员来说是场噩梦:仅仅为运行一个程序就要设置成千的线路。1949年改进后的能存储程序的计算机使得输入程序变得简单些,而且计算机理论的发展产生了计算机科学,并最终促使了人工智能的出现。计算机这个用电子方式处理数据的发明, 为人工智能的可能实现提供了一种媒介。AI的开端虽然计算机为AI提供了必要的技术基础,但直到50年代早期人们才注意到人类智能与机器之间的联系。Norbert Wiener是最早研究反馈理论的美国人之一。最熟悉的反馈控制的例子是自动调温器。它 将收集到的房间温度与希望的温度比较,并做出反应将加热器开大或关小,从而控制环境温度。这项对反馈 回路的研究重要性在于: Wiener从理论上指出,所有的智能活动都是反馈机制的结果。而反馈机制是有可 能用机器模拟的。这项发现对早期AI的发展影响很大。1955年末,Newell和Simon做了一个名为逻辑专家的程序。这个程序被许多人 认为是第一个AI程序。它将每个问题都表示成一个树形模型,然后选择最可能得到正确结论的那一枝来求解 问题。逻辑专家对公众和AI研究领域产生的影响使它成为AI发展中一个重要的里程碑。1956年,被认为是 人工智能之父的John McCarthy组织了一次学会,将许多对机器智能感兴趣的专家学者聚集在一起进行了一个月的讨论。他请他们到 Vermont参加 Dartmouth人工智能夏季研究会。从那时起,这个领域被命名为 人工智能。虽然 Dartmouth学会不是非常成功,但它确实集中了AI的创立者们,并为以后的AI研究奠定了基础。Dartmouth会议后的7年中,AI研究开始快速发展。虽然这个领域还没明确定义,会议中的一些思想 已被重新考虑和使用了。 Carnegie Mellon大学和MIT开始组建AI研究中心。研究面临新的挑战: 下一步需 要建立能够更有效解决问题的系统,例如在逻辑专家中减少搜索;还有就是建立可以自我学习的系统。1957年一个新程序,通用解题机(GPS)的第一个版本进行了测试。这个程序是由制作逻辑专家 的同一个组开发的。GPS扩展了Wiener的反馈原理,可以解决很多常识问题。两年以后,IBM成立了一个AI研究组。Herbert Gelernter花3年时间制作了一个解几何定理的程序。当越来越多的程序涌现时,McCarthy正忙于一个AI史上的突破。1958年McCarthy宣布了他的新成果: LISP语言。 LISP到今天还在用。LISP的意思是表处理(List Processing),它很快就为大多数AI开发者采纳。1963年MIT从美国政府得到一笔220万美元的资助,用于研究机器辅助识别。这笔资助来自国防部 高级研究计划署(ARPA),已保证美国在技术进步上领先于苏联。这个计划吸引了来自全世界的计算机科学家, 加快了AI研究的发展步伐。大量的程序以后几年出现了大量程序。其中一个著名的叫SHRDLU。SHRDLU是微型世界项目的一部分,包括 在微型世界(例如只有有限数量的几何形体)中的研究与编程。在MIT由Marvin Minsky领导的研究人员发现, 面对小规模的对象,计算机程序可以解决空间和逻辑问题。其它如在60年代末出现的STUDENT可以解决代数 问题,SIR可以理解简单的英语句子。这些程序的结果对处理语言理解和逻辑有所帮助。70年代另一个进展是专家系统。专家系统可以预测在一定条件下某种解的概率。由于当时计算机已 有巨大容量,专家系统有可能从数据中得出规律。专家系统的市场应用很广。十年间,专家系统被用于股市预 测,帮助医生诊断疾病,以及指示矿工确定矿藏位置等。这一切都因为专家系统存储规律和信息的能力而成为可能。70年代许多新方法被用于AI开发,著名的如Minsky的构造理论。另外David Marr提出了机器视觉方 面的新理论,例如,如何通过一副图像的阴影,形状,颜色,边界和纹理等基本信息辨别图像。通过分析这些信 息,可以推断出图像可能是什么。同时期另一项成果是PROLOGE语言,于1972年提出。 80年代期间,AI前进更为迅速,并更多地进入商业领域。1986年,美国AI相关软硬件销售高达4。25亿 美元。专家系统因其效用尤受需求。象数字电气公司这样的公司用XCON专家系统为VAX大型机编程。杜邦,通用 汽车公司和波音公司也大量依赖专家系统。为满足计算机专家的需要,一些生产专家系统辅助制作软件的公 司,如Teknowledge和Intellicorp成立了。为了查找和改正现有专家系统中的错误,又有另外一些专家系统被设计出来。从实验室到日常生活人们开始感受到计算机和人工智能技术的影响。计算机技术不再只属于实验室中的一小群研究人员。 个人电脑和众多技术杂志使计算机技术展现在人们面前。有了像美国人工智能协会这样的基金会。因为AI开发 的需要,还出现了一阵研究人员进入私人公司的热潮。150多所像DEC(它雇了700多员工从事AI研究)这样的公司共花了10亿美元在内部的AI开发组上。其它一些AI领域也在80年代进入市场。其中一项就是机器视觉。 Minsky和Marr的成果现在用到了生产线上的相机和计算机中,进行质量控制。尽管还很简陋,这些系统已能够通过黑白区别分辨出物件形状的不同。到1985年美国有一百多个公司生产机器视觉系统,销售额共达8千万美元。但80年代对AI工业来说也不全是好年景。86-87年对AI系统的需求下降,业界损失了近5亿美元。象 Teknowledge和Intellicorp两家共损失超过6百万美元,大约占利润的三分之一巨大的损失迫使许多研究领 导者削减经费。另一个另人失望的是国防部高级研究计划署支持的所谓智能卡车。这个项目目的是研制一种能完成许多战地任务的机器人。由于项目缺陷和成功无望,Pentagon停止了项目的经费。尽管经历了这些受挫的事件,AI仍在慢慢恢复发展。新的技术在日本被开发出来,如在美国首创的模糊逻辑,它可以从不确定的条件作出决策;还有神经网络,被视为实现人工智能的可能途径。总之,80年代AI被引入了市场,并显示出实用价值。可以确信,它将是通向21世纪之匙。 人工智能技术接受检验 在沙漠风暴行动中军方的智能设备经受了战争的检验。人工智能技术被用于导弹系统和预警显示以 及其它先进武器。AI技术也进入了家庭。智能电脑的增加吸引了公众兴趣;一些面向苹果机和IBM兼容机的应用 软件例如语音和文字识别已可买到;使用模糊逻辑,AI技术简化了摄像设备。对人工智能相关技术更大的需求促 使新的进步不断出现。人工智能已经并且将继续不可避免地改变我们的生活。3.3人工智能的研究现状为了将人工智能的理论研究成果应用于实际,人们发明了多种方法。目前大部分的人工智能应用系统是在冯诺依曼结构的通用数字计算机或通用算机上运行求得结果。这种用软件实现的方法灵活性强但速度较慢。 目前人工智能的研究方向已经被分成几个子领域,研究人员希望一个人工智能系统应该具有某些特定能力,以下将这些能力列出并说明。演绎、推理和解决问题早期的人工智能研究人员直接模仿人类进行逐步的推理,就像是玩棋盘游戏或进行逻辑推理时人类的思考模式。到了1980和1990年,利用机率和经济学上的概念,人工智能研究还发展了非常成功的方法处理不确定或不完整的资讯。对于困难的问题,有可能需要大量的运算资源,也就是发生了“可能组合爆增”:当问题超过一定的规模时,电脑会需要天文数量级的记忆体或是运算时间。寻找更有效的算法是优先的人工智能研究项目。人类解决问题的模式通常是用最快捷,直观的判断,而不是有意识的,一步一步的推导,早期人工智能研究通常使用逐步推导的方式。人工智能研究已经于这种“次表征性的”解决问题方法取得进展:实体化的代理人研究强调感知运动的重要性。神经网络研究试图以模拟人类和动物的大脑结构重现这种技能。多元智能大多数研究人员希望他们的研究最终将被纳入一个具有多元智能(称为强人工智能),结合以上所有的技能并且超越大部分人类的能力。有些人认为为了达成以上目标,可能需要拟人化的特性,如人工意识或人工大脑。 上述许多问题被认为是人工智能完整性:为了解决其中一个问题,你必须解决全部的问题。即使一个简单和特定的任务,如机器翻译,要求机器按照作者的论点(推理),知道什么是被人谈论(知识),忠实地再现作者的意图(情感计算)。因此,机器翻译被认为是具有人工智能完整性:它可能需要强人工智能工,就像是人类一样。规划智能Agent必须能够制定目标和实现这些目标。他们需要一种方法来建立一个可预测的世界模型(将整个世界状态用数学模型表现出来,并能预测它们的行为将如何改变这个世界),这样就可以选择功效最大(或“值”)的行为。 在传统的规划问题中,智能Agent被假定它是世界中为一具有影响力的,所以它要做出什么行为是已经确定的。但是,如果事实并非如此,它必须定期检查世界模型的状态是否和自己的预测相符合。如果不符合,它必须改变它的计划。因此智能代理必须具有在不确定结果的状态下推理的能力。 在多Agent中,多Agent规划采用合作和竞争去完成一定的目标,使用演化算法和群体智慧可以达成一个整体的突现行为目标。知觉机器感知是指能够使用传感器所输入的资料(如照相机,麦克风,声纳以及其他的特殊传感器)然后推断世界的状态。计算机视觉能够分析影像输入。另外还有语音识别、人脸辨识和物体辨识。社交情感和社交技能对于一个智慧代理人是很重要的。 首先,通过了解他们的动机和情感状态,代理人能够预测别人的行动(这涉及要素 博弈论、决策理论以及能够塑造人的情感和情绪感知能力检测)。此外,为了良好的人机互动,智慧代理人也需要表现出情绪来。至少它必须出现礼貌地和人类打交道。至少,它本身应该有正常的情绪。创造力一个人工智能的子领域,代表了理论(从哲学和心理学的角度)和实际(通过特定的实现产生的系统的输出是可以考虑的创意,或系统识别和评估创造力)所定义的创造力。 相关领域研究的包括了人工直觉和人工想象。3.4 作为中学生我们对人工智能的尝试(软件成果展示)人工智能虽然听起来是一门非常高深的科学,但是作为21世纪的高中生在掌握了一定的编程知识后也可以在利用现在已经了解和学习的人工智能知识的基础上,做一些简单的弱人工智能程序,毕竟人工智能的定义还是相当广泛的。为此,我们研究性学习小组用C#面向对象语言在.net的XNA平台上编写了一款小程序生命游戏(Life Game)来简单的模拟生物的繁衍。图1.程序的启动界面生命游戏这款软件通过展现三种生物(Life)之间的生物竞争与捕食来模拟一种弱人工智能,这些物种分为两种敌对生物(Life1和Life2)和一种植物(Plant),植物可以通过光合作用产生食物,而两种其他生物通过消耗食物来繁衍自身、增加数量。但是生物在这个过程中也会产生毒素(Poison),对生存环境产生破坏。在整个过程中没有人的参与,完全依靠生物自己的智能,自主的行为、生活、繁衍与竞争。接下来,我将会对这个软件进行具体的功能与操作方法的介绍。图2 软件正在进行模拟中在这个软件界面中(图2),可以在左边主视图中许多各种颜色的小点,这些小点分别代表着不同的含义:绿色代表植物,为整个生态环境提供食物来源;红色和橙色则分别代表着两种敌对的生物;而最小的那种蓝色的小点则代表着生命活动的能量来源食物;不过还有一种橙色的小点代表毒素并没有在上面显现出来。在程序的右边还有一个信息栏,用以展现小地图、环境信息、生物状况和保存读取操作。图3,4自带的编辑器 之前介绍过,这个软件除了编辑环境(图3,4)在生物模拟的整个过程中完全没有人的干预与操作,既“0玩家游戏”,全部是依靠程序实现人工智能。下面部分是软件的核心部分人工智能AI。通过代码中的绿色字体注释部分可以对其进行大致的介绍 /C# Code void AIUpdata(GameTime gameTime) lastUpdateTime += gameTime.ElapsedGameTime.Milliseconds; if (lastUpdateTime = targetTime) lastUpdateTime = 0; /UpdeteMap Block, lastBlocks = map.Blocks; /遍历所有格子 for (int i = 0; i map.Width; i+) for (int j = 0; j map.Heigth; j+) /创建格子引用 Block b = map.Blocksi, j; for (int k = 0; k b.Lifes.Count; k+) /消耗食物 if (!(b.Lifesk is Plant) float foodget = 0; /食物获取值 foodget = Math.Min(b.FoodConcentration * foodGetprob, (config.HP - b.Lifesk.Hp) * foodPerHp + foodNneed); if (foodget foodNneed) /食物不充足而造成活力降低 b.Lifesk.Hp -= (int)(foodNneed - foodget) / foodPerHp*2); /食物减少 b.FoodConcentration -= foodget; /消耗毒物 float poisonGet = 0;/毒物获取值 /按物种分类讨论 if (b.Lifesk.CultureNum = 1) /物种1 /毒物获取值 poisonGet = Math.Min(b.Poison2Concentration * poisonGetProb, config.Defence + b.Lifesk.Hp * poisonPerHp); /减血 b.Lifesk.Hp -= (int)(poisonGetProb - config.Defence) / poisonPerHp; /毒物减少 b.Poison1Concentration -= poisonGet; if (b.Lifesk.CultureNum = 2) /物种2 poisonGet = Math.Min(b.Poison2Concentration * poisonGetProb, config.Defence + b.Lifesk.Hp * poisonPerHp); b.Lifesk.Hp -= (int)(poisonGetProb - config.Defence) / poisonPerHp; b.Poison2Concentration -= poisonGet; if (b.Lifesk.CultureNum = 0) /植物 poisonGet = Math.Min(b.Poison2Concentration * poisonGetProb, config.Defence + b.Lifesk.Hp * poisonPerHp); b.Lifesk.Hp -= (int)(poisonGetProb - config.Defence) / poisonPerHp; b.Poison2Concentration -= poisonGet; poisonGet = Math.Min(b.Poison2Concentration * poisonGet

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论