遗传算法实验报告

上传人:daj****de2 文档编号:182643602 上传时间:2023-01-26 格式:DOCX 页数:6 大小:24.65KB
收藏 版权申诉 举报 下载
遗传算法实验报告_第1页
第1页 / 共6页
遗传算法实验报告_第2页
第2页 / 共6页
遗传算法实验报告_第3页
第3页 / 共6页
资源描述:

《遗传算法实验报告》由会员分享,可在线阅读,更多相关《遗传算法实验报告(6页珍藏版)》请在装配图网上搜索。

1、人工智能实验报告遗传算法实验报告一、问题描述对遗传算法的选择操作,设种群规模为4,个体用二进制编码,适应度函数,x的取值 区间为0,30。若遗传操作规定如下:(1)选择概率为 100%,选择算法为轮盘赌算法;(2)交叉概率为 1,交叉算法为单点交叉,交叉顺序按个体在种群中的顺序;(3)变异几率为 0 请编写程序,求取函数在区间0,30的最大值。二、方法原理遗传算法:遗传算法是借鉴生物界自然选择和群体进化机制形成的一种全局寻优算法。 与传统的优化算法相比,遗传算法具有如下优点:不是从单个点,而是从多个点构成的群体 开始搜索;在搜索最优解过程中,只需要由目标函数值转换得来的适应值信息,而不需要导

2、数等其它辅助信息;搜索过程不易陷入局部最优点。目前,该算法已渗透到许多领域,并成 为解决各领域复杂问题的有力工具。在遗传算法中,将问题空间中的决策变量通过一定编码 方法表示成遗传空间的一个个体,它是一个基因型串结构数据;同时,将目标函数值转换成 适应值,它用来评价个体的优劣,并作为遗传操作的依据。遗传操作包括三个算子:选择、 交叉和变异。选择用来实施适者生存的原则,即把当前群体中的个体按与适应值成比例的概 率复制到新的群体中,构成交配池(当前代与下一代之间的中间群体)。选择算子的作用效 果是提高了群体的平均适应值。由于选择算子没有产生新个体,所以群体中最好个体的适应 值不会因选择操作而有所改进

3、。交叉算子可以产生新的个体,它首先使从交配池中的个体随 机配对,然后将两两配对的个体按某种方式相互交换部分基因。变异是对个体的某一个或某 一些基因值按某一较小概率进行改变。从产生新个体的能力方面来说,交叉算子是产生新个 体的主要方法,它决定了遗传算法的全局搜索能力;而变异算子只是产生新个体的辅助方法, 但也必不可少,因为它决定了遗传算法的局部搜索能力。交叉和变异相配合,共同完成对搜 索空间的全局和局部搜索。三、实现过程(1)编码:使用二进制编码,随机产生一个初始种群。L表示编码长度,通常由对问题 的求解精度决定,编码长度L越长,可期望的最优解的精度也就越高,过大的L会增大运 算量。(2)生成初

4、始群体:种群规模表示每一代种群中所含个体数目。随机产生N个初始串结 构数据,每个串结构数据成为一个个体,N个个体组成一个初始群体,N表示种群规模的大 小。当N取值较小时,可提高遗传算法的运算速度,但却降低种群的多样性,容易引起遗传 算法早熟,出现假收敛;而 N 当取值较大时,又会使得遗传算法效率降低。一般建议的取值 范围是 20100。遗传算法以该群体作为初始迭代点;(3)适应度检测:根据实际标准计算个体的适应度,评判个体的优劣,即该个体所代表 的可行解的优劣。本例中适应度即为所求的目标函数;(4)选择:从当前群体中选择优良(适应度高的)个体,使它们有机会被选中进入下一 次迭代过程,舍弃适应度

5、低的个体。本例中采用轮盘赌的选择方法,即个体被选择的几率与 其适应度值大小成正比;(5)交叉:遗传操作,根据设置的交叉概率对交配池中个体进行基因交叉操作,形成新 一代的种群,新一代中间个体的信息来自父辈个体,体现了信息交换的原则。交叉概率控制 着交叉操作的频率,由于交叉操作是遗传算法中产生新个体的主要方法,所以交叉概率通常应取较大值;但若过大的话,又可能破坏群体的优良模式。一般取0.4到 0.99。(6) 变异:随机选择中间群体中的某个个体,以变异概率大小改变个体某位基因的值。 变异为产生新个体提供了机会。变异概率也是影响新个体产生的一个因素,变异概率小,产 生新个体少;变异概率太大,又会使遗

6、传算法变成随机搜索。一般取变异概率为 0.0001 0.1。(7) 终止进化代数。本例中规定遗传代数的收敛判据,根据设置好的进化代数,搜索到 规定代数后自动停止。四、具体代码代码如下:ttinclUdp ttinclude ttinclude typtcfef structint code; 打染色体int degree;/适应度indi;Indi group1flj ;/种群规模为伽 uoid JudgefIndi &x)m-degree=x.codecode;int happenedfdouble p)#/发生一个卩=间槪率的事件return randf ) (int) ( pRAND;u

7、oid Cross(Indi &xvIndi 士買操FETndi z,z1;int tenp,tempi;tenp=x,code&0x3;tenp1=y _code&0x3;z.code=x.code-tenp+tempi; z1_code=y.code-tempi+tenp; Judge(z);Judge(z1);if( x_degree=x.degree如果新个休不如双亲,淘汰之 x=z;elseif(z.degree=y.degree U=z;if(x _degr?e-x.degree)如杲新个体不如j?又亲,淘汰之 m=z1 ;elseif(21 .degree-y.degree)yo

8、id niainf)Indi indidest; int i. j .best x bc; int sumtstficktSLM-; static int n=o; rndtime(NUl I);ForCi-0;ii0j*i)/fiJ机得到初姑种群groupfiJ.code=randC)32; printf(%d groupi.code; Jude(yruupij);printf(,+n);固定进化 弋f or(sun=0.best=0i ji=0; jgroupbest.degree)求当前最优个体printU第器叫弋中最优个林为和懐町平均适应度为露1肺5.i ,groupbest J,cc

9、d,groupbest.degree,sum/i0-O);for(c10;c;-c)Strick-( Float)rand()/Hf ND_IIAK*Suft); 诸盘中的色亍,起择个依36For(s0;x=group(x.degree;+x)strick-=groupx-degree;5trick-(int) ( (Float)rand( )/f!AND_MA2!*5Un);strick-=groupy.degree; i1=(hjpppn?d(eL9)cross(grnupxj tgroupy)交叉For(y=a;ijl06lstricl=grjoup|y .degree ;*+y)五、实验结果口口 口意2 3 4按C:Wi r d o ws terr 3 2c md.exeia 3 ? ?为54平均适应度为 &?30盹盹0为2&4平均适应庫为 777.000000为33 f爭国平均适应庫为 710.000000为33 f爭国平均适应度为 ?3?.000000六、 实验总结 经过实验的实践,使我更加清楚了解了遗传算法的应用与原理 如有侵权请联系告知删除,感谢你们的配合!精品

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!