1、“.....更加方便算法即使在基因数很少的条件下也具有较好的搜索性能。但对于使用字符型编码方法的遗传算法,般需要认真设计交叉变异等遗传运算的操作方法,以满足问题的各种约束要求,这样才能提高算法的搜索性能。在遗传算法的实现中,由于算法本身的特点,采取各种算法对的效率和性能相差很大,但对算法设计来说差别不是很大,具体在下面的论述中会有涉及。类对象数据的编码策略对于类对象数据的编码策略,参考文献的方法,再结合本文中提出的上述两种编码方案进行合并。类对象不同于基本数据类型,因为类对象的类型是类本身,而类是由若干个成员变量成员对象和成员函数组成的。下面显示了个包含了成员变量和成员对象的基本类结构语言成员变量∥成员变量成员对象生成类对象,就是生成其内部的成员变量和成员对象,因此这里略去成员函数。目前尚无种固定的方法来生成类对象。在本文中......”。
2、“.....具体依成员变量的具体类型来定的浮点数表示是数值型工的字符型表示是非数值型厂是类对象这样,整个类对象最终表示的形式将是个中间由若干个符号分隔开的字符串,如个类对象的表示是,其中代表的是对象中的成员变量,代表的是对象中的成员变量,代表的是对象中的成员对象。这样表示的好处是,可以根据分隔符逐个生成类对象的成员变量和成员对象。最后再将字符串恢复成个完整的类对象。适应度函数的选取设是被测试程序的条路径,路径测试数据生成问题的目标是找到个程序输入,使被测试程序在上通过路径。该目标可简化为系列的子目标,用函数极小化搜索技术可解决每个子目标。假定分支谓词是简单关系表达式,即具有如下形式。其中和是算术表达式,关系运算符∈,。适值函数的构造方法是检测条件语句的真假值关系,若能满足给定的真假值......”。
3、“.....表适值函数值计算方法适值函数值表达式表达式为表达式为,文中在分支函数基础上,引入分支函数叠加法。分支函数是个分支谓词到实际值的映射,可以量化地反映在测试数据的驱动下,被测试程序的实际执行路径对选路径的覆盖程度。具体做法是假定选定路径上有个分支点,参与编码的参数个数为个扫描被测试程序,在决定路径转移的语句自动插入段代码,同时返回个适值函数值。若条路径所经过的条件判断语句不止个,则将每个适值函数值进行累加,最后的和为此个体的适值函数值。⋯⋯,⋯最后的适值函数值为王,⋯甲其中时时,甲。当在生成非数值型数据时,每个字符都对应码中的个值,也可以对其进行类似的操作。在生成类对象数据时,虽然为混合型,看似麻烦,但在每次生成数据时都是在同个条件下的,在同条件下的数据编排格式是样的,所以也可以进行类似的操作。遗传算子的选取选择算子选择即从当前群体中选择适应值高的个体以生成交配池的过程......”。
4、“.....适应值比例选择是最基本的选择方法,其中每个个体被选择的期望数量与其适应值和群体平均适应值的比例有关,通常采用轮盘赌方式实现。这种方式首先计算每个个体的适应值,然后计算出此适应值在群体适应值总和中所占的比例,表示该个体在选择过程中被选中的概率。选择过程体现了生物进化过程中适者生存,优胜劣汰的思想,并且保证优良基因遗传给下代个体。对于给定的规模为的群体⋯个体∈的适应值为,其选择概率为如声丽㈡叫⋯,该式决定后代种群中个体的概率分布。经过选择操作生成用于繁殖的交配池,其中父代种群中个体生存的期望数目为,⋯,当群体中个体适应值的差异非常大时,最佳个体与最差个体被选择的概率之比选择压力也将按指数增长。最佳个体在下代的生存机会将显著增加,而最差个体的生存机会将被剥夺。目前,轮盘赌是使用得比较广泛的策略之......”。
5、“.....本文中的选择操作是从父代中选取相对优良的个体进入中间代,使用轮盘赌法选取适应度高的个体,并复制进入中间代。对于种群中的个个体来说,具体操作如下顺序计算种群中各个个体的适应度,求得第个个体的适应度,累计值,在司,内随机生成个均匀分布的随机数⋯在第次,用与⋯进行比较,当第次出现时,选取第个个体进入中间代。若,则选取第个个体进入中间代。交叉算子交叉操作是进化算法中遗传算法具备的原始性的独有特征。中交叉算子是模仿自然界有性繁殖的基因重组过程,其作用在于将原有的优良基因遗传给下代个体,并生成包含更复杂基因结构的新个体。交叉操作般分为下几个步骤从交配池中随机取出要交配的对个体根据位串长度,对要交配的对个体,随机选取,中个或多个的整数作为交叉位置根据交叉概率实施交叉操作,配对个体在交叉位置处,相互交换各自的部分内容,从而形成新的对个体。本文采用的交叉算子为点交叉,或称单点交叉......”。
6、“.....对于从交配池中随机选择的两个串⋯⋯,⋯⋯,随机选择个交叉位∈⋯,不妨设,对两个位串中该位置右侧部分的染色体位串进行交换,产生两个子位串个体为⋯⋯⋯⋯变异算子变异操作模拟自然界生物体进化中染色体上位基因发生的突变现象,从而改变染色体的结构和物理性状。在遗传算法中,变异算子通过按变异概率随机反转等位基因的二进制字符值来实现。对于给定的染色体为串⋯具体如下若否则,。其中∈⋯,是对应于每个基因位产生的均匀随机变量,∈,。这是对二进制编码而言,本文采取的是浮点数编码,所以变异是发生的并不是,之间的转换,而是实数间的替换,本文的具体方法是自动生成个满足条件的数,用它来替换。变异操作作用于个体位串的等位基因上,由于变异概率比较小,在实施过程中些个体可能不发生次变异,造成大量计算资源的浪费。因此,在具体应用中,我们可以采用种变通措施,首先进行个体层次的变异发生的概率判断......”。
7、“.....般包括两个基本步骤计算个体发生变异的概率以原始的变异概率为基础,可以计算出群体中个体发生变异的概率,⋯,给定均匀随机变量∈若,则对该个体进行变异,否则表示不发生变异。计算发生变异的个体上基因变异的概率由于变异操作方式发生了改变,被选择变异的个体上基因的变异概率也需要相应修改,以保证整个群体上基因发生变异的期望次数相等。传统变异方式下整个群体基因变异的期望次数为。设新的基因变异概率为,新的变异方式下整个群体基因变异的期望次数为。要求两者相等,即可以导出裔丽面。,位串越短,越比大。当位串长度趋于无穷大时两者相等,即。厶∞传统变异方式下的计算量为,新的变异方式下的计算量,计算量差异为,显然新的变异方式比传统方式计算量降低了,且随着位串长度的增大而下降。但是,这种新变异方式也在定程度上偏离了原来的变异基因位在全部群体个体基因位中的均匀分布的情况......”。
8、“.....可能会带来定的变异误差。为了保证个体变异后不会与其父体产生太大的差异,变异概率般取值较小,以保证种群发展的稳定性。当交叉操作产生的后代个体的适应值不再比它们的前辈更好,但又未达到全局最优解时,就会发生成熟前收敛或早熟收敛。这时引入变异算子往往能产生好的效果。方面,变异算子可以使群体进化过程中丢失的基因信息得以恢复,以保证群体中的个体差异性,防止发生成熟前收敛另方面,当种群规模较大时,在交叉操作基础上引入适度的变异,也能够提高遗传算法的局部搜索效率。在群体进化的整个过程中,交叉操作是主要的基因重组和群体更迭的手段,变异操作的作用是第二位的,变异算子仅仅充当背景性的角色。终止条件的确定关于迭代过程如何终止,由于实际问题的复杂性和遗传算法本身的随机性,在实际应用中常根据经验采用固定的进化迭代次数作为遗传算法的终止条件。其次,遗传算法的终止条件也可以是基于种判定标准的......”。
9、“.....例如,根据连续几代个体的平均适应度值之差小于个较小的正数值,或者根据群体中最佳个体适应度值与平均适应度值之差小于个较小的正值作为终止条件。本文在采用遗传算法进行搜索计算的过程中,通过采用设定最大代数的方法来控制遗传算法的终止,但是本文的目的是要产生大量的符合要求的测试数据,而并非是遗传算法的般应用寻求最优解。所以本文采取的具体思路是,旦有符合适应度函数要求的个体,就先输出个体,再对整个群体进行迭代,生成新的代,然后再对新的代个体计算适应度函数值,输出符合要求的个体⋯⋯,这样重复下去直到到达限定的最大迭代次数为止。算法实现步骤算法流程本文中提到的算法的实现过程如下砌始化个体计算个体的适应度函数值,丧取当前种群中的最优个体选择复制操作腋叉操作腋异操作计算个体的适应度函数值肠莛取当前种群中的最优和最差个体初始化个体随机生成符合要求的数据作为初始基因......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。