- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能信息处理实验报告.
智能信息处理实验报告一、实验目的掌握遗传算法的基本原理和程序流程。理解TSP问题的基本概念。能利用遗传算法求解TSP问题。二、实验环境与设备实验由1个学生独立完成,实验环境:笔记本电脑(Eclipse /Android Studio IDE)。三、预备知识1、TSP问题基本概念TSP问题即旅行商问题(Traveling Salesperson Problem)。该问题给定n个城市和两两城市之间的距离,要求确定一条经过各城市当且仅当一次的最短路线。其图论描述为:给定图G=(V, A),其中V为顶点集,A为各顶点相互连接组成的边集,已知各顶点间的连接距离,要求确定一条长度最短的Hamilton回路,即遍历所有顶点当且仅当一次的最短回路。2、遗传算法的基本原理遗传算法是一类随机优化算法,但它不是简单的随机比较搜索,而是通过对染色体的评价和对染色体中基因的作用,有效地利用已有信息来指导搜索有希望改善优化质量的状态。标准遗传算法主要步骤可描述如下:随机产生一组初始个体构成初始种群。计算每一个体的适配值(fitness value,也称为适应度)。适应度值是对染色体(个体)进行评价的一种指标,是GA进行优化所用的主要信息,它与个体的目标值存在一种对应关系。判断算法收敛准则是否满足,若满足,则输出搜索结果;否则执行以下步骤。根据适应度值大小以一定方式执行复制操作(也称为选择操作)。按交叉概率pc执行交叉操作。按变异概率pm执行变异操作。返回步骤②。标准遗传算法流程图下图所示。NN计算各个体的适配值(适应度)算法收敛准则满足?Yrandom[0,1]Pc?复制(选择)输出搜索结果交叉Yrandom[0,1]Pm?变异N随机产生初始种群Y图2.1 标准遗传算法流程图四、实验内容1、设计算法的编码方式路径编码是描述TSP解的最常用的一种策略。所谓路径编码,即直接采用城市在路径中的位置来构造用于优化的状态。例如:设九城市TSP问题的路径为5-4-1-7-9-8-6-2-3,对应的路径编码为:(5 4 1 7 9 8 6 2 3)。这种编码形式自然直观,易于加入启发式信息,也有利于优化操作的设计。2、设计遗传算法的适应度函数对个体i,计算与路径编码相对应的距离,设为di。显然距离值di越大,适应度值应越小。因此,适应度函数可定义为:。这里我们在算法程序中个体适应度函数定义为:tempf[k] = 10.0 / fitness[k]。3、设计遗传算法的选择操作选择是用来确定交叉个体,以及被选个体将产生多少个子代个体。它是基于适应度值计算基础上进行的。在实现算法的程序中,挑选种群中适应度最高的个体。挑选函数为selectBestGh()。挑选策略为赌轮选择策略。函数实现: public void select() { int k, i, selectId; float ran1; for (k = 1; k scale; k++) { ran1 = (float) (random.nextInt(65535) % 1000 / 1000.0); // 产生方式 for (i = 0; i scale; i++) { if (ran1 = Pi[i]) { break; } } selectId = i; // System.out.println(选中 + selectId); copyGh(k, selectId); } } 在被选集中,每个个体都有一个选择概率,这个概率由种群中个体的适应度及其分布决定。若某个个体i,其适应度为fi,则其被选取的概率表示为:。函数实现: 计算种群中各个个体的累积概率,前提是已经计算出各个个体的适应度fitness[max],作为赌轮选择策略一部分,Pi[max] void countRate() { int k; double sumFitness = 0;// 适应度总和 double[] tempf = new double[scale]; for (k = 0; k scale; k++) { tempf[k] = 10.0 / fitness[k]; sumFitness += tempf[k]; } Pi[0] = (float) (tempf[0] / sumFitness); for (k = 1; k scale; k++) { Pi[k] = (float) (tempf[k] / sumFitness + Pi[k - 1]); } } 为了选择交叉个体,需要进行多轮选择,每一轮产生一个[0, 1]均匀随机数,将该随机数作为选择指针来确定被选个体。4、设计遗传算法的交叉操作在选择操作的
您可能关注的文档
- 易燃煤层采空区防火控制方法..doc
- 易混易错题..doc
- 昔阳氯碱详设隔热统一规定..doc
- 星云社周一班天文试题小练手(12月31日-1月9日)..docx
- 星星厨具营销策划..doc
- 星云车联网技术平台解决方案..doc
- 昆虫标本制作..docx
- 星火词汇周计划六级词汇..doc
- 星空咖啡屋创业计划书..doc
- 春城十八里地下室地面施工方案..doc
- 2022年重庆市梁平区小升初语文真题.pdf
- 2022-2023学年辽宁沈阳铁西区五年级上册语文期末试卷及答案.pdf
- 2023-2024年上海六年级上册语文第一次月考试题及答案B卷.pdf
- 2022-2023学年河北省承德市兴隆县四年级上学期期中数学真题及答案.pdf
- 2022下半年湖南教师资格证中学教育知识与能力真题及答案.pdf
- 2022-2023学年福建省厦门市集美区三年级上学期期末语文试卷及答案.pdf
- 2024年福建漳州教师招聘考试模拟题及答案.pdf
- 2022年辽宁成人高考高起点数学(文)真题及答案.pdf
- 2022年宁夏成人高考专升本语文真题及答案.pdf
- 2022-2023学年湖南衡阳耒阳市五年级上册语文期末试卷及答案.pdf
最近下载
- 党员领导干部2024年度民主生活会个人对照检查材料.docx VIP
- 新改版苏教版六年级下册科学全册知识点.doc
- 建设单位管理指南.ppt VIP
- 人力资源管理诊断告及建议.ppt
- 新闻采访与写作.ppt VIP
- 项目1 1.1 植物生产与环境概述(1)(课件)- 《植物生产与环境》(高教版第四版)同步精品课堂.pptx
- (人教2024版)英语七年级下册全册单元知识点讲解+思维导图(新教材).docx
- 2025年临床医师定期考核试题中医知识题库及答案(共300题).doc
- 学校校长2023年度生活会个人对照检查材料.doc VIP
- 2024-2025年度民主生活个人“四个带头”检查发言材料八篇.docx VIP
文档评论(0)