人工智能课程报告:人工智能算法的应用_第1页
人工智能课程报告:人工智能算法的应用_第2页
人工智能课程报告:人工智能算法的应用_第3页
人工智能课程报告:人工智能算法的应用_第4页
人工智能课程报告:人工智能算法的应用_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉轻工大学数计学院人工智能课设报告名 称:人工智能算法的应用班 级:信计1201姓名:学 号:指导教师:学年学期:20152016学年第一学期2015 年12月11日1 知识简介 32发展概况 .43 研究与应用 54 遗传算法的研究 65 实验结果 76 课设总结 87 附录文件 91知识简介人工智能概述人工智能(ArtficialIntelligence ,简称AI),是相对自然人的天然智能而言,即用人工的方法和技术,模仿、延伸和扩展人的智能,实现某些“机器思 维”。作为计算机学科的一个重要分支,是由 McCarthy于1956年在Dartmouth 学会上正式提出,在当前被人们称为世界

2、三大尖端技术之一。美国斯坦福大学著 名的人工智能研究中心尼尔逊(Nilson )教授这样定义人工智能“人工智能是关 于知识的学科一一怎样表示知识以及怎样获得知识并使用知识的学科”,另一名著名的美国大学MIT的Winston教授认为“人工智能就是研究如何使计算机去 做过去只有人才能的智能的工作”。除此之外,还有很多关于人工智能的定义, 今尚未统一,但这些说法均反映了人工智能学科的基本思想和基本容,由此可以将人工智能概括为研究人类智能活动的规律,构造具有一定智能行为的人工系统。2发展概况人工智能(Artificial Intelligence) 自1956年正式问世以来的五十年间 已经取得了长足的

3、进展,由于其应用的极其广泛性及存在的巨大研究开发潜力,吸引了越来越多的科技工作者投入人工智能的研究中去。尤其是八十年代以来出现了世界范围的开发新技术的高潮,许多发达国家的高科技计划的重要内容是 计算机技术,而尤以人工智能为其基本重要组成部分。人工智能成为国际公认的 当代高技术的核心部分之一。人工智能的发展历史自古以来,人类就力图根据自己的认识水平和当时的技术条件,企图用机器来代替人的部分脑力劳动,以提高征服自然的能力。公元850年,古希腊就有制 造机器人帮助人们劳动的传说。在我国公元前900多年,也有歌舞机器人传说的记载,这说明古代人就有人工智能的幻想。随着历史的发展,到十二世纪末至十 三世纪

4、初,西班牙的神学家和逻辑学家 Romen Luee试图制造能解决各种问题 的通用逻辑机。十七世纪法国物理学家和数学家B Pascal制成了世界第一台会演算的机械加法器并获得实际应用。随后德国数学家和哲学家 G W-Leibniz在这台加法器的基础上发展并制成了进行全部四则运算的计算器。他还提出了逻辑机的设计思想,即通过符号体系,对对象的特征进行推理,这种“万能符号” 和“推理计算”的思想是现代化“思考”机器的萌芽,因而他被后人誉为数 理逻辑的第一个奠基人。接着,英国数学家、逻辑学家Boole初步实现了LeibniZ关于思维符号化和数学化的思想,提出了一种崭新的代数系统,这就是 后来在计算机上广

5、泛应用的布尔代数。十九世纪末英国数学和力学家 C Babbage致力于差分机和分析机的研究,虽因条件限制未能完全实现,但 其设计思想不愧为当年人工智能的最高成就。进入二十世纪后,人工智能相继出现若干开创性的工作。1936年,年仅24岁的英国数学家A - M- Turing在他的一篇 “理想计算 机”的论文中,就提出了著名的图林机模型,1945年他进一步论述了电子数字 计算机的设计思想,1950年他又在“计算机能思维吗? ” 一文中提出了机器能 够思维的论述,可以说这些都是图林为人工智能所作的杰出贡献。1946年美国科学家J W- Mauchly等人制成了世界上第一台电子数字计算机ENIAC。随

6、后又有不少人为计算机的实用化不懈奋斗, 其中贡献卓著的应当是VonNeomann 。目前世界上占统治地位的依然是冯诺依曼计算机。电子计算机的研制成功是许多代人坚持不懈地努力的结果。这项划时代的成果为人工智能研究奠定了坚实的物质基础。同一时代 ,美国数学家 N - Wiener控制论的创立,美国数学家 C E Shannon信息论的创立,英国生物学家 W R Ashby所设计的电脑等,这 一切都为人工智能学科的诞生作了理论和实验工具的巨大贡献。1.1 形成时期( 1956- 1961 年 )1956年夏季,在美国Dartmouth大学,由年青数学助教J Mdarthy和他 的三位朋友 M min

7、sky、N Lochester 和C Shannor共同发起,邀请旧M 公 司的 T More 和 A - Samuek MIT 的 O Self-ridge 和 R Solomonff 以及 RAND 公司和Carnagie 工科大学的A - Newell和HA - Simon等人参加夏季学术讨 论班 , 历时两个月。这 十位学者都是在数学神经生理学、心理学、信息论和计算机科学等领域中从事教学和研究工作的学者, 在会上他们第一次正式使用了人工智能( AI ) 这一术语, 从而开创了人工智能的研究方向。这次历史性的聚会被认为是人工智能学科正式诞生的标志, 从此在美国开始形成了以人工智能为研究目

8、标的几个研究组:如Newell和Simon的Carnegie- RANDB 作 组; Samuel 和 Gelernter 的 IBM 公司工程课题研究组; Minsky 和 Mccarthy 的MIT 研究组等, 这一时期人工智能的主要研究工作有下述几个方面:1957 年A - Newell、J - Shaw和H - Siomon等人的心理学小组编制出一个称为逻辑理论 机 LT(The Logic Theory Machine) 的数学定理证明程序, 当时该程序证明了B A W- Russell和A N Whitehend和“数学原理” 一书第二章中的 38个 定理。后来他们又揭示了人在解题

9、时的思维过程大致可归结为三个阶段:( 1 ) 先想出大致的解题计划;( 2 ) 根据记忆中的公理、定理和推理规则组织解题过程 ;( 3 ) 进行方法和目的分析, 修正解题计划。这种思维活动不仅解数学题时如此 , 解决其他问题时也大致如此。基于这一思想他们于1960 年又编制了能解十种类型不同课题的通用问题求解程序GPS(General Problem Solving) , 另外他们还发明了编程的表处理技术和NSS 国际象棋机, 和这些工作有联系的Newell 关于自适应象棋机的论文和Simon 关于问题求解和决策过程中合理选择和环境影响的行为理论的论文, 也是当时信息处理研究方面的巨大成就。1

10、956 年 Samuel 研究的具有自学习、自组织、自适应能力的西洋跳棋程序是 IBM 小组有影响的工作, 这个程序可以像一个优秀棋手那样, 向前看几步来下棋。 它还能学习棋谱, 在分析大约175000 幅不同棋局后, 可猜测出书上所有推荐的走步 , 准确度达48%, 这是机器模拟人类学习过程卓有成就的探索。1959 年这个程序曾战胜设计者本人,1962 年还击败了美国一个州的跳棋大师。在 MIT 小组 , 1959 年 Mccarthy 发明的表( 符号 ) 处理语言LISP , 成为人工智能程序设计的主要语言, 至今仍被广泛采用。1958 年 Mccarthy 建立的行动计划咨询系统以及1

11、960 年 Minsky 的论文 “走向人工智能的步骤”, 对人工智能的发展都起了积极的作用。此外,1956年N - Chomsky的文法体系,1958年 Selfridge 等人的模式识别系统程序等, 都对人工智能的研究产生有益的影响。这些早期成果, 充分表明人工智能作为一门新兴学科正在茁壮成长。1.2 发展时期(1961 年以后 )上世纪六十年代以来, 人工智能的研究活动越来越受到重视。为了揭示智能的有关原理, 研究者们相继对问题求解、博弈、 定理证明、程序设计、机器视觉、自然语言理解等领域的课题进行了深入的研究。四十多年来, 不仅使研究课题有所扩展和深入, 而且还逐渐搞清了这些课题共同的

12、基本核心问题以及它们和其他学科间的相互关系。1974年N J Nillson对发展时期的一些工作写过一篇综述论文 , 他把人工智能的研究归纳为四个核心课题和八个应用课题。这四个具有一般意义的核心课题是:( 1 ) 知识的模型化和表示方法;( 2 ) 启发式搜索理论 ;( 3 ) 各种推理方法( 演绎推理、规划、 常识性推理、归纳推理等) ;( 4 )人工智能系统结构和语言。这些课题的新成果极大地推动了人工智能应用课题的研 究 。 这 八 个 应 用 课 题 是 :( 1 ) 自 然 语 言 理 解 ( Natural Language Under-standing ) (2) 数 据 库 的

13、智 能 检 索 ( Intelligent Retrieval fromDatabase )( 3 ) 专家咨询系统( Expert Consulting Systems ) (4) 定理证明 ( Theorem Proving ) (5) 博 弈 ( Game Playing ) (6) 机 器 人 学 ( Robotics ) (7) 自动程序设计( Automatic Programming ) (8) 组合调度问题 ( Combinatorial and Scheduling Problems ) 。这一时期学术交流的发展对人工智能的研究有很大推动作用。1969 年国际人工智能联合会成

14、立, 并举行第一次学术会议IJCAI- 69 ( International Joint Conference On ArtificialIntelligence ) 以后每两年召开一次。随着人工智能研究的发展, 1974 年又成立了欧洲人工智能学会, 并召开第一次会议ECAI ( European Con-ference OnArtificial Intelligence ) , 也是相隔两年召开一次。此外, 许多国家也都有本国的人工智能学术团体。在人工智能刊物方面, 1970 年创办了 ArtificialIntelligence 国 际 性 期 刊 , 爱 丁 堡 大 学 还 不 定 期

15、 出 版 杂志 , 还有 IJCAI 会议文集, ECAI 会议文集等。另外许多国际知名刊物也刊载人工智能的论著。1.3 繁荣时期上世纪九十年代以来, 人工智能研究出现了新的高潮。这一方面是因为在人工智能理论方面有了新的进展, 另一方面也是因为计算机硬件突飞猛进的发展。随着计算机速度的不断提高、存储容量的不断扩大、价格的不断降低以及网络技术的不断发展, 许多原来无法完成的工作现在已经能够实现。因此, 人工智能研究也就进入繁荣期。目前人工智能研究的3 个热点是: 智能接口、数据挖掘、主体及多主体系统。其中某些技术已经实用化。技术的发展总是超乎人们的想象,从目前的一些前瞻性研究可以看出未来人工智能

16、可能会向以下几个方面发展:模糊处理、并行化、 神经网络和机器情感。人工智能一直处于计算机技术的前沿,人工智能研究的理论和发现在很大程度上将决定计算机技术的发展方向。今天,已经有很多人工智能研究的成果进入人们的日常生活。将来, 人工智能技术的发展将会给人们的生活、工作和教育等带来更大的影响。人工智能是计算机科学、控制论、信息论、神经生理学、心理学、语言学等多种学科互相渗透而发展起来的一门综合性学科, 就其本质而言, 它是研究如何制造出人造的智能机器或智能系统, 来模拟人类智能活动的能力, 以延伸人们智能的科学。计算机所要模拟的人类智能活动的能力, 具体地可以概括为:( 1 ) 通过视觉、听觉、

17、触觉等感官活动, 接受并理解文字、图象、 声音、 语言等各种外界的 “自然信息”, 这就是认识和理解世界环境的能力。( 2 ) 通过人脑的生理与心理活动以及有关的信息处理过程, 将感性知识抽象为理性知识, 并能对事物运动的规律进行分析, 判断和推理, 这就是提出概念 , 建立方法 , 进行演绎和归纳推理, 作出决策的能力。( 3 ) 通过教育、训练和学习过程, 日益丰富自身的知识和技能, 这就是学习的能力。( 4 ) 对变化多端的外界环境条件, 如干扰、刺激等作用能灵活地作出反应 , 这就是自我适应的能力。针对以上人类智能活动的能力, 目前研究人工智能主要有两条途径。一条是心理学家、生理学家们

18、希望搞清大脑信息处理过程的机理。他们认为大脑是智能活动的物质基础, 要揭示人类智能的奥秘, 就必须弄清大脑的结构, 也就是要从大脑的神经元模型着手研究。显然由于人脑有上百亿神经元, 而且现阶段要进行人脑的物理模拟实验很困难, 因而完成这个任务极其艰巨。但是这一学派试图创立“信息处理的智能理论”作为实现人工智能的长远研究目标, 这个观点是值得重视的。另一条是计算机科学家们提出的从模拟人脑功能的角度来实现人工智能,也就是通过计算机程序的运行, 从效果上达到和人们智能行为活动过程相类似作为研究目标, 因而这派学者只是局限于解决 “建造智能机器或系统为工程目标的有关原理和技术”作为实现人工智能的近期目

19、标, 这个观点比较实际, 目前引起较多人的注意。总之不论从什么角度来研究人工智能, 都是通过计算机来实现, 因此可以说人工智能的中心目标是要搞清楚实现人工智能的有关原理, 使计算机有智慧、更聪明、更有用。美国是人工智能的发源地, 随着人工智能的发展, 世界各国有关学者也都相继加入这一行列。英国在60 年代就起步人工智能的研究, 到70 年代 , 在爱丁堡大学还成立了人工智能系 , 日本和西欧一些国家虽起步较晚 , 但发展都较快, 前苏联对人工智能研究也给予重视。我国是从1978 年才开始人工智能课题的研究, 主要在定理证明、汉语自然语言理解、机器人及专家系统方面设立课题, 并取得一些初步成果。

20、八十年代国内也相应成立了中国人工智能学会 , 中国计算机学会人工智能和模式识别专业委员会, 中国自动化学会模式识别与机器智能专业委员会, 开展这方面的学术交流。作为 “ 86.3” 高科技计划的重要内容, 国家着手兴建了若干个人工智能研究中心实验室, 极大地促进了我国人工智能的研究, 缩短了我国人工智能技术与世界先进水平的差距, 也为未来的发展奠定了技术和人才基础。获得首届国家最高科学奖的数学家吴文俊院士 , 就是因为其研究领域主要集中在运用计算机进行定理证明方面。人工智能这门新兴学科也曾一度陷入低谷, 遭到某些人的攻击和非难。但是随着高科技竞争的愈演愈烈, 以及人工智能学者的艰苦卓绝的探索,

21、 它最终冲破迷雾以先锋的姿态披荆斩棘, 乘风破浪 , 成为二十一世纪的前卫学科。也许在不远的将来 , 我们会无法分辨谁是机器人, 谁是自然人。3 研究与应用3.1 问题求解问题求解,即解决管理活动中由于意外引起的非预期效应或与预期效应之间的偏差。 能够求解难题的下棋( 如国际象棋) 程序的出现,是人工智能发展的一大成就。 在下棋程序中应用的推理,如向前看几步,把困难的问题分成一些较容易的子问题等技术,逐渐发展成为搜索和问题归约这类人工智能的基本技术。搜索策略可分为无信息导引的盲目搜索和利用经验知识导引的启发式搜索,它决定着问题求解的推理步骤中,使用知识的优先关系。另一种问题的求解程序,是把各种

22、数学公式符号汇编在一起, 其性能已达到非常高的水平并正在被许多科学家和工程师所应用,甚至有些程序还能够用经验来改善其性能。例如, 1993 年美国发布的一个叫做MACSYMA勺软件,它能够进行较复杂的数学公式符号运算。 如 前所述,尚未解决的问题包括人类棋手具有的表达的能力, 如国际象棋大师们洞 察棋局的能力;另一个未解决的问题涉及问题的原概念, 在人工智能中叫做问题 表示的选择。人们常常能够找到某种思考问题的方法从而使求解变得容易而最终 解决该问题。3.2 专家系统专家系统ES (Expert System)是人工智能研究领域中另一重要分支,它将 探讨一般的思维方法转入到运用专门知识求解专门

23、问题,实现了人工智能从理论研究向实际应用的重大突破;专家系统可看作一类具有专门知识的计算机智能 程序系统,它能运用特定领域中专家提供的专门知识和经验,并采用人工智能中 的推理技术来求解和模拟通常由专家才能解决的各种复杂问题。总的来说,专家系统是一种具有智能的软件,它求解方法是一种启发式方法,专家系统所要解决 的问题一般无算法解,并且与传统的计算机程序上不同之处在于, 它要经常在不 完全、不精确或不确定的信息基础上做出结论。在近年来的专家系统或“知识工程的研究中,已经出现了成功和有效应用人 工智能技术的趋势,具有有代表性的是用户与专家系统进行“咨询对话”,如同 其与专家面对面的进行对话是一样的:

24、 解释问题并建议进行某些试验,向专家系 统询问以期得到有关解答等。当前的实验系统,在比如化学和地质数据分析、计 算机系统结构、建筑工程以及医疗诊断等咨询任务方面,已达到很高的水平。另 外,还有很多研究主要是集中在让专家系统能够说明推理的能力,从而使咨询更好地被用户接受,同时还能帮助人类发现系统推理过程中所出现的差错。发展专 家系统的关键在于表达和运用专家知识,即来自人类专家的且已被证明能够解决 某领域内的典型问题的有用的事实和过程。 不同领域与不同类型的专家系统,它 们的体系结构和功能是有一定的差异的, 但它们的组成基本一致。一个基本的专 家系统主要由知识库、数据库、推理机、解释机制、知识获取

25、和用户界面六部分 组成,如图1所示。3.3 机器学习机器学习(Machine Learning )是研究如何使用计算机模拟或实现人类的学习活动。 它是继专家系统之后人工智能的又一重要应用领域,是使计算机具有智能的根本途径,也是人工智能研究的核心课题之一,它的应用遍及人工智能的各个领域。学习是人类智能的重要特征,是获得知识的基本手段,而机器学习也是使计算机具有智能的根本途径,如香克所说: “一台计算机若不会学习,就不能称为具有智能的。”除此之外,机器学习还有助于发现人类学习的机理和揭示人脑的奥秘。 学习是一个有特定目的的知识获取过程,它的内部主要表现为新知识结构的不断建立和修改,外部表现为性能的

26、改善。一个学习过程本质上讲,就是学习系统把导师( 或专家) 提供的信息转换成能被系统理解并应用的形式的过程。按照系统对导师的依赖程度可将学习方法分类为: 机械式学习( Rotelearning ) 、讲授式学习( Learning from instruction ) 、 类比学习 ( Learning by analogy) 、归纳学习(Learning from induction )、观察发现式学习( learning byobservation and discovery )等。此外,近年来又发展了基于解释、事例、概念、神经网络的学习和遗传学习等学习方法。3.4 神经网络人工神经网络(

27、Aficial Neural Network) , 是由大量处理单元即神经元互连而成的网络,也常简称为神经网络或类神经网络。神经网络是一种由大量的节点(或称神经元)和之间相互联接构成的运算模型,是对人脑或自然神经网络一些基本特性的抽象和模拟,其目的在于模拟大脑的某些机理与机制,从而实现某些方面的功能。通俗地讲,人工神经网络是仿真研究生物神经网络的结果。详细地说, 人工神经网络是为获得某个特定问题的解,根据所掌握的生物神经网络机理,按照控制工程的思路及数学描述方法,建立相应的数学模型并采用适当的算法,而有针对性地确定数学模型参数的技术。神经网络的信息处理是由神经元之间的相互作用实现的:知识与信息

28、的存贮主要表现为网络元件互连间分布式的物理联系 。 人工神经网络具有很强的自学习能力,它可以不依赖于 “专家” 的头脑,而自动从已有的实验数据中总结规律。由此, 人工神经网络擅长于处理复杂多维的非线性问题,不但可以解决定性问题,也可解决定量的问题,同时还具有大规模并行处理和分布的信息存储能力,具有良好的自适应、自组织性以及很强的学习、联想、容错和较好的可靠性。3.5 模式识别计算机人工智能所研究的模式识别是指用计算机代替人类或帮助人类感知模式。 其主要的研究对象是计算机模式识别系统,也就是让计算机系统能够模拟人类通过感觉器官对外界产生的各种感知能力。较早的模式识别研究工作集中在对文字和二维图像

29、的识别方面,并取得了不少成果。自20 世纪 60 年代中期起, 机器视觉方面的研究工作开始转向解释和描述复杂的三维景物这一更困难的课题。罗伯斯特( Robest ) 于 1965 年发表的论文奠定了分析由棱柱体组成的景物的方向, 迈出了用计算机将三维图像解释成三维景物的一个单眼视图的第一步,即所谓的积木世界。接着, 机器识别由积木世界进入识别更复杂的景物和在复杂环境中寻找目标以及室外景物分析等方面的研究。目前研究的热点是活动目标( 如飞行器 ) 的识别和分析,它是景物分析走向实用化研究的一个标志。语音识别技术的研究始于20 世纪 50 年代初期,发展到20 世纪 70 年代,各种语音识别装置相

30、继出现,性能良好的能够识别单词的声音识别系统已进入实用阶段,神经网络用于语音识别也已取得成功。作为一门新兴学科, 模式识别在不断发展,其理论基础和研究范围也在不断发展。当前模式识别正处于大发展的阶段,随着其应用范围的逐渐扩大及计算机科学的发展,模式识别技术将在今后有更大的发展,并且量子计算技术也将用于模式识别的研究。3.6 人工生命人工生命( Artificial Life, 简称 AL) 是由美国圣菲研究所非线性研究组的计算机科学家Christopher Langton 于 1987 年与 Los Alamos NationalLaboratory 召开的 “生成以及模拟生命系统的国际会议”

31、上首先提出的。它主要是通过人工模拟生命系统来研究生命的领域。AL 的概念主要包括两方面内容:1) 计算机科学领域的虚拟生命系统,主要涉及计算机软件工程和人工智能技术;2)基因工程技术人工改造生物的工程生物系统,主要涉及合成生物学技术。相比于传统的人工智能和神经网络,人工生命不论在理论上还是方法上都有很大的区别。人工生命主要是通过计算机仿真生命现象来体现自适应机理,对相关非线性对象进行更真实的动态描述以及动态特征研究。人工生命学科主要包括仿生系统、人工建模与仿真、人工生命的计算理论、进化动力学、进化与学习综合系统以及人工生命的应用等研究内容。现阶段比较典型的人工生命研究有:计算机病毒、计算机进程

32、、进化机器人、自催化网络、细胞自动机、人工核苷酸和人工脑等。4 遗传算法的研究1 遗传算法概述遗传算法(GeneticAlgorithm,GA) 是模拟生物进化论的自然选择和遗传学进化过程的计算模型, 是一种通过模拟自然进化过程随机搜索最优解的方法, 体现了适者生存、优胜劣汰的进化原则, 其主要特点是直接对结构对象进行操作, 不存在求导和函数连续性的限定, 具有并行性和较强的全局寻优能力。遗传算法把问题的解表示成染色体,求解步骤如下:(1) 编码 : 定义问题的解空间到染色体编码空间的映射,一个候选解( 个体 ) 用一串符号表示。(2) 初始化种群: 在一定的限制条件下初始化种群, 该种群是解

33、空间的一个子空间。(3) 设计适应度函数: 将种群中的每个染色体解码成适于适应度函数的形式, 计算其数值。(4) 选择 : 根据适应度大小选择优秀个体繁殖下一代, 适应度越高, 选择概率越大。(5) 交叉: 随机选择两个用于繁殖下一代的个体的相同位置, 在选中的位置实行交换。(6) 变异: 对某个串中的基因按突变概率进行翻转。(7) 从步骤 4 开始重复进行, 直到满足某一性能指标或规定的遗传代数。GA在图像分割领域应用最为成熟,只要有两种应用,一是在多种分割结果中搜索最佳分割结果, 二是搜索图像分割算法的最优参数, 如用来确定图像最佳分割阂值。 Jincong 等使用最小误差概率做为适应度函

34、数来搜索图像最佳分割阂9 值,Leesu将GAffl于分割阂值计算,提高了分割效率,Bhanu使用GAft多个分割参数空间中搜索最优分割参数, 提出了动态环境中图像分割系统, 大大提高了环境适应性,iaJgniTan - ihz使用GA搜索最优细胞轮廓模型参数,对高噪声细胞图 像进行分割,chunDaeN使用GA寸灰度图像的区域进行模糊测量,搜索一最佳区域, GA在图像增强方面的应用主要是搜索最优或次优控制参数的过程。GA在图像恢复中的应用主要解决高噪声图像的恢复。在图像压缩中,GA能有效解决分形压缩的最优匹配问题, 提高了压缩比和精度, 可用于低比特率的图像压缩。GA在图像匹配方面的应用主要

35、解决速度问题,通过减少搜索位置的数量来减少计算量 , 提高效率。遗传算法是一类借鉴生物界自然选择和自然选择机制的随机化搜索方法,有美国J-Holhdn教授提出,他的主要特点是能够提供群体的搜索方案和实现群体里面个体之间的信息交换, 且搜索不会依赖于梯度信息。它尤其适用于处理传统搜索方法难于解决的复杂和非线性的问题, 可广泛应用于组合优化、机器学习、自适应控制、规划设计和图像处理等多个方面, 是二十一世纪的智能计算的关键技术之一。2 遗传方法在图像处理中的应用2.1 在图像增强中的应用。图像增强技术是将不清晰的图像经过优化处理变一张比之前更加清楚, 或者变成一张使得特点更加鲜明的照片, 以便于对

36、图像再进行后期的加工。目前图像增强方法主要包括将图像进行某种变换的频域法和对直接对原始图像进行处理的空域法两种。而基于遗传算法的图像增强技术的实现则是利用遗传的选择方法找到一个最优或者局部最优的方法。具体的操作方法是, 首先将每一个目标值设置一个基位, 用实数进行编码, 这样问题就转化成求解这个目标基位组合的题目。然后 , 对适应度进行设计, 适应度设计为个体进化提供动力, 在设置适应度的时候既要考虑图像的整体和局部的质量问题 , 也要将结构和细节考虑进去。再后 , 对遗传算子进行设计, 先根据前面设置的适应度值将个体从大到小进行排列 , 从中选择优秀的个体进入下一个程序当中; 为了防止遗传算

37、法在计算的过程中过早收敛, 对种群的多样性进行保护, 在计算过程中采用交叉操作的方法产生新的个体; 对进化方向进行微调, 采用变异操作的方法, 对一个被选中的变异操作来说 , 就是采用“1”一“0”和“1”一“0”的方式进行变异。最后 , 设置算法的结束条件, 一般算法的结束条件就是迭代次数达到了最大进化代数或者最大适应度的值变化不明显。2.2 图像恢复技术。图像恢复技术的目的就是降一些退化的图像经过技术处理使得图像的本来面目10得到恢复。作为数字图像处理技术的一个分支, 他的恢复方法有很多, 包括维纳滤波法 , 逆滤波法、最大嫡恢复法和奇异值分解伪逆法等。但是 , 上述方法在应用过程中都有自

38、己的缺陷, 图像退化原因的不确定性和无确定的函数表达式, 会导致上述算法过于复杂, 计算量过大和约束条件过多等情况的出现。采用遗传算法进行图像恢复, 突破了原有理论的缚, 能够更好的与其他一些计算方法进行融合, 使得计算率和精确度都有很大的提高。由于遗传算法具有功能强大的全局搜索能力, 采用遗传算法结合其他算法处理过的图像在客服噪影响方面具有很大的优势, 同时也能使得图像边缘不会出现条纹效应、过的更加平滑, 整体感觉好。2.3 图像重建技术。图像重建是由在某种观测方式下得到的携带图像信息的数据恢复出原图像的过程。 图像重建技术的方法也有很多种, 主要是根据取得图像信息的方法不同, 使用重建方法

39、也不同, 有迭代法、代数法和傅里叶变换法等法。遗传算法在图像重建中的应用主要是解决带有噪声的投影数据的图像处理问题。遗传算法在这方面的处理方法有很多, 包括利用最小化被测像素值和计算的线总和之间的差的方法; 利用松弛迭代的傅里叶变换算法来解决计算过程中出现的停滞现象 ; 假定目标组合点分散的条件下, 使用线性拟合方式来重建高分辨雷达图像数据。2.4 图像压缩技术。图像压缩技术最主要的原理就是将拥有自相似性的对象用这一组简单的代数关系式进行表达的过程。将互相不重叠的小块定义为值域块, 然后进行编码, 并使经过映射后的定义域块与值域块的距离在某种度量值下最小, 在分解和处理过程中由于值域块的数量过

40、于庞大, 压缩搜索过程任务繁重, 遗传算法的强大全局搜索能力就能很好的派上用场, 发挥良好的效果。遗传算法的基本原理遗传算法(GA)是基于“适者生存”的一种高度并行、随机和自适应的优化算法,它将问题的求解表示成“染色体”的适者生存过程 , 通过“染色体”群的一代代不断进化 , 包括复制、交叉和变异等操作, 最终收敛到 “最适应环境”的个体 , 从而求得问题的最优解或满意解。其中选择、交叉和变异是遗传算法的三个主要操作算子。具体操作步骤图如下:1) 在一定编码方案下, 随机产生一个初始种群;2) 用相应的解码方法将编码后的个体转换成问题空间的决策变量, 并求个体的适应值 ;113) 按照个体适应

41、值的大小, 从种群中选出适应值较大的一些个体构成交配池;4) 由交叉和变异这两个遗传算子对交配池中的个体进行操作, 并形成新一的种群;5) 反复执步骤2) 一 4), 直至满足收敛判据为止。GA是一种通用的优化算法,其编码技术和遗传操作比较简单,优化不受限制性条件的约束, 其搜索过程是从问题解的一个集合开始的, 而不是从单个个体开始的,具有隐含并行搜索特性, 也就大大减小了陷人局部极小值的可能。正是由于其具有以上突出的优点, 遗传算法几乎渗透到从工程到社会科学的各个领域。为了验证遗传算法的全局寻优能力,本文将运用基于MATLAB!制的遗传算法来求解数值优化和旅行商问题。遗传算法概述遗传算法(G

42、eneticAlgorithm,GA) 是借鉴生物界自然选择和群体进化机制形成的一种全局寻优算法。与传统的优化算法相比, 遗传算法具有如下优点1:1) 不是从单个点, 而是从多个点构成的群体开始搜索;2) 在搜索最优解过程中, 只需要由目标函数值转换得来的适应值信息, 而不需要导数等其它辅助信息;3) 搜索过程不易陷入局部最优点。目前 , 该算法已渗透到许多领域, 并成为解决各领域复杂问题的有力工具2 。 在遗传算法中, 将问题空间中的决策变量通过一定编码方法表示成遗传空间的一个个体, 它是一个基因型串结构数据; 同时 , 将目标函数值转换成适应值, 它用来评价个体的优劣, 并作为遗传操作的依

43、据。遗传操作包括三个算子 : 选择、 交叉和变异。选择用来实施适者生存的原则, 即把当前群体中的个体按与适应值成比例的概率复制到新的群体中, 构成交配池( 当前代与下一代之间的中间群体) 。选择算子的作用效果是提高了群体的平均适应值。由于选择算子没有产生新个体, 所以群体中最好个体的适应值不会因选择操作而有所改进。交叉算子可以产生新的个体, 它首先使从交配池中的个体随机配对, 然后将两两配对的个体按某种方式相互交换部分基因。变异是对个体的某一个或某一些基因值按某一较小概率进行改变。从产生新个体的能力方面来说, 交叉算子是产生新个体的主要方法, 它决定了遗传算法的全局搜索能力; 而变异算子只是产

44、生新个体的辅助方法, 但也必不可少, 因为它决定了遗传算法的局部搜索能力。交叉和变异相配合 , 共同完成对搜索空间的全局和局部搜索。遗传算法的基本步骤3 如下 :1)在一定编码方案下, 随机产生一个初始种群;2) 用相应的解码方法, 将编码后的个体转换成问题空间的决策变量, 并求得个体的适应值;3) 按照个体适应值的大小, 从种群中选出适应值较大的一些个体构成交配池;4) 由交叉和变异这两个遗传算子对交配池中的个体进行操作, 并形成新一代的种12 群;5)反复执行步骤24,直至满足收敛判据为止。使用遗传算法需要决定的运行参数有: 编码串长度、种群大小、交叉和变异概率。 编码串长度由优化问题所要

45、求的求解精度决定。种群大小表示种群中所含个体的数量, 种群较小时, 可提高遗传算法的运算速度, 但却降低了群体的多样性可能找不出最优解; 种群较大时, 又会增加计算量, 使遗传算法的运行效率降低。一般取种群数目为20100。交叉概率控制着交叉操作的频率,由于交叉操作是遗传算法中产生新个体的主要方法, 所以交叉概率通常应取较大值; 但若过大的话,又可能破坏群体的优良模式。一般取 0.40.99。变异概率也是影响新个体产生的一个因素, 变异概率小, 产生新个体少; 变异概率太大, 又会使遗传算法变成随机搜索。一般取变异概率为0.00010.1。遗传算法常采用的收敛判据有:规定遗传代数; 连续几次得

46、到的最优个体的适应值没有变化或变化很小等。3用MATLA改现遗传算法MATLAB! Matwork公司的产品,是一个功能强大的数学软件,其优秀的数值 计算能力使其在工业界和学术界的使用率都非常高。MATLAB2十分便于使用,它 以直观、 简洁并符合人们思维习惯的代码给用户提供了一个非常友好的开发环境。利用MATLAEBt理矩阵运算的强大功能来编写遗传算法程序有着巨大的优势。3. 1 编码遗传算法不对优化问题的实际决策变量进行操作, 所以应用遗传算法首要的问题是通过编码将决策变量表示成串结构数据。本文中我们采用最常用的二进制编码方案, 即 用二 进制 数 构成 的 符号串来表示一 个个体 , 用

47、下 面的encoding 函数来实现编码并产生初始种群:functionbin-gen,bits=encoding(min-var,max-var,scale-var,popsize)bits=ceil(log2( max-var-min-var)./scale-var);bin-gen=randint(popsize,sum(bits);在上面的代码中, 首先根据各决策变量的下界(min-var) 、上界 (max-var)及其搜索精度scale-var 来确定表示各决策变量的二进制串的长度bits, 然后随机产生一个种群大小为popsize 的初始种群bin - gen。编码后的实际搜索精

48、度为 scale-dec=(max-var-min-var)/(2bits-1), 该精度会在解码时用到。4. 2 解码编码后的个体构成的种群bin-gen 必须经过解码, 以转换成原问题空间的决策变量构成的种群var - gen, 方能计算相应的适应值。我们用下面的代码实现。functionvar-gen,fitness=decoding(funname,bin-gen,bits,min-var,max-var)13num-var=length(bits);popsize=size(bin-gen,1);scale-dec=(max-var-min-var)./(2.bits-1);bits

49、=cumsum(bits);bits=0bits;fori=1:num-varbin-vari=bin-gen(:,bits(i)+1:bits(i+1);vari=sum(ones(popsize,1) 2.(size(bin-vari,2)-1:-1:0). bin-vari,2). scale-dec(i)+min-var(i);endvar-gen=var1,:;fori=1:popsizefitness(i)=eval(funname,(var-gen(i,:);end解码函数的关键在于先由二进制数求得对应的十进制数D, 并根据下式求得实际决策变量值X:X=D scale -dec+

50、min-var3. 3 选择选择过程是利用解码后求得的各个体适应值大小, 淘汰一些较差的个体而选出一些比较优良的个体, 以进行下一步的交叉和变异操作。选择算子的程序如下:functionevo-gen,best-indiv,max-fitness=selection(old-gen,fit-ness)popsize=length(fitness);max-fitness,index1=max(fitness);min-fitness,index2=min(fitness);best-indiv=old-gen(index1,:);index=1:popsize;index(index1)=0;index(index2)=0;index=nonzeros(index);evo-gen=old-gen(index,:);evo-fitness=fitness(index,:);evo-popsize=popsize-2;ps=evo-fitness/sum(evo-fitness);pscum=cumsum(ps);14r=rand(1,evo

温馨提示

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

评论

0/150

提交评论