课程设计论文基于遗传算法的猕猴桃的培苗变异的仿真文档格式.docx

上传人:b****2 文档编号:15380437 上传时间:2022-10-29 格式:DOCX 页数:15 大小:212.89KB
下载 相关 举报
课程设计论文基于遗传算法的猕猴桃的培苗变异的仿真文档格式.docx_第1页
第1页 / 共15页
课程设计论文基于遗传算法的猕猴桃的培苗变异的仿真文档格式.docx_第2页
第2页 / 共15页
课程设计论文基于遗传算法的猕猴桃的培苗变异的仿真文档格式.docx_第3页
第3页 / 共15页
课程设计论文基于遗传算法的猕猴桃的培苗变异的仿真文档格式.docx_第4页
第4页 / 共15页
课程设计论文基于遗传算法的猕猴桃的培苗变异的仿真文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

课程设计论文基于遗传算法的猕猴桃的培苗变异的仿真文档格式.docx

《课程设计论文基于遗传算法的猕猴桃的培苗变异的仿真文档格式.docx》由会员分享,可在线阅读,更多相关《课程设计论文基于遗传算法的猕猴桃的培苗变异的仿真文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

课程设计论文基于遗传算法的猕猴桃的培苗变异的仿真文档格式.docx

2.程序流程图-------------------------------7

3.运行结果-----------------------------------9

4.分析总结-----------------------------------11

三、软件著作权

1.软件结构与开发环境----------------------11

2.设计说明---------------------------------------12

3.附录----------------------------------------------12

四、心得体会-----------------------------------------13

一、绪论3

1、任务3

2、对象3

3、意义4

4、技术路线4

1、JDK的获取4

2、JDK的安装及环境变量的配置4

3、Eclipse的获取与安装6

5、遗传算法6

1、选择:

6

2、交叉7

3、变异7

4、终止条件8

二、设计9

1、框架9

2、程序流程图9

3、运行结果10

4、分析总结12

三、软件著作权13

1、软件结构与开发环境13

2、设计说明13

3.附录13

四、心得体会15

1、任务

掌握JAVA语言环境的搭建,利用生物分子学内容,通过适应性函数等相关遗传算法对贝酵母SSUI基因的部分基因序列进行识别,筛选。

最终观察分析结果,从适应度等角度得到变异前后的差别联系,得到最优基因。

2、对象

贝酵母SSUI基因的部分基因序列。

3、意义

基因识别是生物信息学的一个重要分支,使用生物学实验或计算机等手段识别DNA序列上的具有生物学特征的片段。

基因识别的对象主要是蛋白质编码基因,也包括其他具有一定生物学功能的因子,如RNA基因和调控因子。

基因识别是基因组研究的基础。

利用JAVA程序的搭建,运用遗传算法对基因序列进行一代一代的变异遗传,然后对结果进行分析对比,得到最优基因。

最优基因的个体具有较强的适应性,是最适合环境的生物个体。

据此可以对遗传规律进行总结,对生物进行筛选。

4、技术路线

1、JDK的获取

从Oracle公司的网站上可以免费获取各种版本的JDK,Oracle公司的网址。

注意这次设计实用的是JDK1.7

2、JDK的安装及环境变量的配置

JDK有安装版和直接解压版。

安装版安装方法如下:

(1)找到下载的安装包,双击运行。

注意:

如果是32位系统运行jdk-7u60-windows-i586.exe,64位操作系统运行jdk-7u60-windows-x64.exe。

(2)按照系统提示安装JDK,需注意的是再安装时安装路径尽量不要再C盘,并且安装路径不要包含空格和中文。

(3)环境变量配置

WindowsXP:

在桌面右击“我的电脑”,然后单击“属性”,在“系统属性”对话框中选择“高级”选项卡,然后单击“环境变量”按钮,打开“环境变量”对话框,找到“系统变量”中名为Path的行,单击编辑,将JDK中bin目录的安装路径加入到环境变量中。

为了编程方便可以新建一个classpath的环境变量,并将JDK中lib目录的安装路径加入到该环境变量中。

Windows7,windows8,windows8.1:

在桌面右击“我的电脑”,然后单击“属性”,在“系统”对话框中选择“高级系统配置”,在打开的“系统属性”对话框中选择“高级”选项卡,然后单击“环境变量”按钮,打开“环境变量”对话框,找到“系统变量”中名为Path的行,单击编辑,将JDK中bin目录的安装路径加入到环境变量中。

3、Eclipse的获取与安装

Eclipse是IBM的开源项目,可以从Eclipse官方网站(http:

//www.eclipse.org)免费获取。

将下载的压缩包解压至一个不包含中文字符的目录下,即完成安装。

双击eclipse.exe打开eclipse。

5、遗传算法

遗传算法(GeneticAlgorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。

已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域,是现代有关智能计算中的关键技术。

遗传算法的基本运算过程如下:

(1)初始化:

设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)。

(2)个体评价:

计算群体P(t)中各个个体的适应度。

(3)选择运算:

将选择算子作用于群体。

选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。

选择操作是建立在群体中个体的适应度评估基础上的。

(4)交叉运算:

将交叉算子作用于群体。

遗传算法中起核心作用的就是交叉算子。

(5)变异运算:

将变异算子作用于群体。

即是对群体中的个体串的某些基因座上的基因值作变动。

群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t+1)。

(6)终止条件判断:

若t=T,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。

从群体中选择优胜的个体,淘汰劣质个体的操作叫选择。

选择算子有时又称为再生算子(reproductionoperator)。

选择的目的是把优化的个体(或解)直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。

选择操作是建立在群体中个体的适应度评估基础上的,目前常用的选择算子有以下几种:

适应度比例方法、随机遍历抽样法、局部选择法等。

其中轮盘赌选择法(roulettewheelselection)是最简单也是最常用的选择方法。

在该方法中,各个个体的选择概率和其适应度值成比例。

显然,概率反映了个体i的适应度在整个群体的个体适应度总和中所占的比例。

个体适应度越大。

其被选择的概率就越高、反之亦然。

计算出群体中各个个体的选择概率后,为了选择交配个体,需要进行多轮选择。

每一轮产生一个[0,1]之间均匀随机数,将该随机数作为选择指针来确定被选个体。

个体被选后,可随机地组成交配对,以供后面的交叉操作。

2、交叉

在自然界生物进化过程中起核心作用的是生物遗传基因的重组(加上变异)。

同样,遗传算法中起核心作用的是遗传操作的交叉算子。

所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。

通过交叉,遗传算法的搜索能力得以飞跃提高。

交叉算子根据交叉率将种群中的两个个体随机地交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。

根据编码表示方法的不同,可以有以下的算法:

1)实值重组(realvaluedrecombination)

2)离散重组(discreterecombination)

3)中间重组(intermediaterecombination)

4)线性重组(linearrecombination)

5)扩展线性重组(extendedlinearrecombination)。

6)二进制交叉(binaryvaluedcrossover)

7)单点交叉(single-pointcrossover)

8)多点交叉(multiple-pointcrossover)

9)均匀交叉(uniformcrossover)

10)洗牌交叉(shufflecrossover)

11)缩小代理交叉(crossoverwithreducedsurrogate)。

最常用的交叉算子为单点交叉(one-pointcrossover)。

具体操作是:

在个体串中随机设定一个交叉点,实行交叉时,该点前或后的两个个体的部分结构进行互换,并生成两个新个体。

下面给出了单点交叉的一个例子:

个体A:

1001↑111→1001000新个体

个体B:

0011↑000→0011111新个体

3、变异

变异算子的基本内容是对群体中的个体串的某些基因座上的基因值作变动。

依据个体编码表示方法的不同,可以有以下的算法:

a)实值变异

b)二进制变异。

一般来说,变异算子操作的基本步骤如下:

a)对群中所有个体以事先设定的变异概率判断是否进行变异

b)对进行变异的个体随机选择变异位进行变异。

遗传算法引入变异的目的有两个:

一是使遗传算法具有局部的随机搜索能力。

当遗传算法通过交叉算子已接近最优解邻域时,利用变异算子的这种局部随机搜索能力可以加速向最优解收敛。

显然,此种情况下的变异概率应取较小值,否则接近最优解的积木块会因变异而遭到破坏。

二是使遗传算法可维持群体多样性,以防止出现未成熟收敛现象。

此时收敛概率应取较大值。

遗传算法中,交叉算子因其全局搜索能力而作为主要算子,变异算子因其局部搜索能力而作为辅助算子。

遗传算法通过交叉和变异这对相互配合又相互竞争的操作而使其具备兼顾全局和局部的均衡搜索能力。

所谓相互配合.是指当群体在进化中陷于搜索空间中某个超平面而仅靠交叉不能摆脱时,通过变异操作可有助于这种摆脱。

所谓相互竞争,是指当通过交叉已形成所期望的积木块时,变异操作有可能破坏这些积木块。

如何有效地配合使用交叉和变异操作,是目前遗传算法的一个重要研究内容。

基本变异算子是指对群体中的个体码串随机挑选一个或多个基因座并对这些基因座的基因值做变动(以变异概率P.做变动),(0,1)二值码串中的基本变异操作如下:

基因位下方标有*号的基因发生变异。

变异率的选取一般受种群大小、染色体长度等因素的影响,通常选取很小的值,一般取0.001-0.1。

4、终止条件

当最优个体的适应度达到给定的阈值,或者最优个体的适应度和群体适应度不再上升时,或者迭代次数达到预设的代数时,算法终止。

预设的代数一般设置为100-500代。

<

遗传算法编写>

采用4位DNA编码,M条基因,交叉2带的计算。

采用四进制编码。

0,1,2,3分别代表G,A,T,C即:

用编码随机产生一个小数,进过筛选适应度后,进行交叉、变异计算后输出计算结果

包的定义

基因类(Gene)

基因型类(GeneType)

表现型类(PhenoType)

染色体类(Chromsome)

个体类(抽象Individual,具体类RosenbrockIndividual)

种群类(抽象类Population,具体类RosenbrockPopulation)

遗传类(抽象类GeneticAlgorithm,具体类RosenbrockGeneticAlgorithm)

类的定义

包含成员:

(1)常量:

(2)成员:

(3)成员方法:

成员函数

(1)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1