计算智能题库 遗传算法
第三章 遗传算法 习题与答案
1. 填空题
(1)遗传算法的缩写是 ,它模拟了自然界中 过程而提出,可以解决 问题。在遗传算法中,主要的步骤是 、 、 。
(2)遗传算法的三个算子是 、 、 。
解释:
本题考查遗传算法的基础知识。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:
(1)GA,生物进化,全局优化,编码,计算适应度函数,遗传算子
(2)选择,交叉,变异
2. 对于编码长度为7的二进制编码,判断以下编码的合法性。
解释:
本题考查遗传算法的二进制编码的合法性。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:
3. 下图能够基本反映生物学遗传与优胜劣汰的过程。理解该图,联想计算
类问题求解,回答下列问题。
(1)下列说法正确的是_____。(多选)
A)任何一个生物个体的性状是由其染色体确定的,染色体是由基因及其有规律的排列所构成的,因此生物个体可由染色体来代表。
B)生物的繁殖过程是通过将父代染色体的基因复制到子代染色体中完成的,在复制过程中会发生基因重组或基因突变。基因重组是指同源的两个染色体之间基因的交叉组合,简称为“杂交/交配”。基因突变是指复制过程中基因信息的变异,简称“突变”。
C)不同染色体会产生不同生物个体的性状,其适应环境的能力也不同。
D)自然界体现的是“优胜劣汰,适者生存”的丛林法则。不适应环境的生物个体将被淘汰,自然界生物的生存能力会越来越强。
解释:
本题考核对生物遗传观点以及所给图片的理解。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:A、B、C、D
关于生物遗传进化的基本观点如下:
(1)生物的所有遗传信息都包含在其染色体中,染色体决定了生物的性状。
(2)染色体是由基因及其有规律的排列所构成的,遗传和进化过程发生在染色体上。
(3)生物的繁殖过程是由其基因的复制过程来完成的。
(4)通过同源染色体之间的交叉或染色体的变异会产生新的物种,使生物呈现新的性状。
(5)对环境适应性好的基因或染色体经常比适应性差的基因或染色体有更多的机会遗传到下一代。
故A、B、C、D均正确。
(2)类比计算类问题求解,下列说法正确的是_____。(多选)
A)一个染色体即是指问题的一个“可能解”。任何“可能解”都可以表达为编码形式,构成编码的基本单位即是基因。
B)所谓的复制、杂交、突变,是指一个可能解或两个可能解之间发生的、编码片段之间的复制、交叉或变异,它们都是产生新可能解的一种方式。
C)所谓的环境适应性,可以认为是对一个可能解的一种度量,即能够度量一个可能解的好与坏的某一函数值,被称为“适应度”。
D)基于A)、B)、C),遗传算法就是“通过复制、交叉或变异,不断产生新的可能解;计算可能解的适应度;淘汰掉适应度差的可能解,保留适应度好的可能解。
解释:
本题考核对生物学中的概念与计算机中的概念的映射的理解。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:A、B、C、D
染色体映射到计算机中就是编码解。A正确。复制是指将一个解从一个解集复制到另外一个解集。杂交是指对两个可能解的编码通过交换某些编码位而形成两个新的可能解的遗传操作,是新可能解的一种形成方式。突变是指随机地改变一个可能解的编码的某些片段(或基因)而使一个可能解变为一新的可能解的遗传操作 ,也是新解的一种形成方式。B正确。适应度性是指一个可能解接近最优解的一个度量。C正确。由A、B、C选项,可以得到遗传算法的基本思想。D正确。
(3)类比计算类问题求解,下列说法不正确的是_____。
A)一个染色体即是指问题的一个“可能解”,一个基因即是“可能解”的一个编码位或若干编码位的一个组合。
B)一个种群即是一个包含问题满意解的“可能解”的集合。
C)适应度,即是对“可能解”的一个度量,它可以衡量“可能解”接近最优解或精确解的程度。
D)复制、交叉、变异等都是产生新“可能解”的方式。
解释:
本题考核对生物学中的概念与计算机中的概念的映射的理解。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:B
染色体映射到计算机中就是编码解,即一个可能解的基因型。一个基因即是指可能解的某一位或几位,A正确。种群是指若干可能解的集合,而不一定包含问题的满意解,B错误。适应度性是指一个可能解接近最优解的一个度量,C正确。复制、交叉、变异等都是产生新“可能解”的方式,D正确。
4. 简述三个遗传算子。
解释:
本题考查遗传算法的核心算子的特点与作用。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:
遗传算子是模拟生物进化过程最关键的进化机制,包括选择算子、交叉算子和变异算子,它们是遗传算法的核心和基本算子。
(1)选择算子
选择是为了从当前种群中选出优良的个体,使它们有机会作为父代来繁殖子代。进化过程中是根据各个个体的适应度值,按照一定的规则或方法从上一代种群中选择出一些优良的个体遗传到下一代种群中,遗传算法正是通过选择算子的操作来体现这一思想,而进行选择的原则是适应度值高的个体为下一代贡献一个或多个子代的概率大,这是生物能够保持性状而达到物种稳定的最主要原因。
(2)交叉算子
交叉算子又称为交换算子,它同时对两个染色体的部分基因进行交换,是遗传算法中最主要的遗传操作。它的作用是不断产生新的染色体,避免算法陷入局部最优。
(3)变异算子
遗传算法在选择算子和交叉算子的作用下已经能起到种群进化的作用,但在这个过程中,算法无法保证一些重要的遗传信息不丢失。因此,仅仅依靠这两种遗传操作,算法缺乏搜索整个解空间的能力,并且所获得的解可能是局部最优解。在生物的遗传和进化过程中,生物的某些基因偶尔会发生变异,从而产生出新的个体,虽然其概率比较小,但对新物种的产生也是一个不可忽视的因素。为了模仿生物遗传和进化过程中的这种变异现象,在遗传算法中引入了变异算子来产生新的个体,在迭代过程中较好地扩展了算法的搜索空间,使算法有能力在整个解空间进行鲁棒搜索而不会陷入局部最优。
5. 讨论交叉率的重要性,讨论范围[0, 1]内的不同值的效果。
解释:
本题考查遗传算法交叉率的影响。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:
交叉概率控制着交叉算子的应用概率。较大的交叉概率可使各代充分交叉,产生更多的新解,使算法的探索能力增强,但同时种群中的优良模式遭到破坏的可能性也增大,以致产生较大的代沟,从而使搜索走向随机化;若交叉概率太低,就会使得更多的个体直接复制到下一代,遗传搜索可能陷入停滞状态。一般取=0.50~0.85。
6. “以高变异率开始进化,随着代数的增加,递减变异率”该策略是否有意
义?为什么?
解释:
本题考查遗传算法变异率的影响。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:
变异操作是对遗传算法的改进,对交叉过程中可能丢失的某种遗传基因进行修复和补充,也可防止遗传算法较快收敛到局部最优解。若变异概率取值较大,虽然能够产生较多的个体,增加了种群的多样性,但也有可能破坏掉很多好的模式,使得遗传算法的性能近似于随机搜索的性能;若变异概率较小,虽然种群的稳定性较好,但一旦陷入局部极值就很难跳出来,容易产生早熟收敛。
在进化初期应该保持较高的变异率,从而能够充分的对解空间进行探索,维护种群多样性,避免陷入局部最优;在进化中后期,由于对解空间的探索已经较为充分,应该加强对最优解附近的开发力度,从而保证算法的收敛性。所以“以高变异率开始进化,随着代数的增加,递减变异率”策略具有意义。
7. 在遗传算法中,变量x取0到63之间的整数值,如何对x进行二进制
编码?
解释:
本题考查遗传算法如何进行二进制编码。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:
因为x取值是0到63之间的整数,可以使每一个染色体长度均为6的二进制位串,其编码结果为000000至111111的64个染色体。
8. 在利用遗传算法解决旅行商问题时,若对下列一个染色体进行变异操作,
请写出变异结果。(假设变异点基因位置为3位和5位)
A:2 8 4 10 5 1 7 3 6 9
解释:
本题考查遗传算法求解TSP问题时变异操作的施行。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:
将3位和5为基因进行互换,得变异结果为:2 8 5 10 4 1 7 3 6 9
9. 在利用遗传算法解决旅行商问题时,若采用基于位置的交叉方式对下列
两个染色体进行交叉,请写出交叉结果。
A:2 8 4 10 5 1 7 3 6 9
B:5 6 7 1 10 2 8 3 9 4
解释:
本题考查遗传算法求解TSP问题时交叉操作的施行。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:
(1)两父代染色体串为:
A:2 8 4 10 5 1 7 3 6 9
B:5 6 7 1 10 2 8 3 9 4
得到3组映射关系:
4 7 5 10 3 3
(2)对于染色体A,依据3组映射关系,三个基因4、5、3应该分别变为7、10、3,同时染色体中原来为7、10、3的基因改成4、5、3,其中基因3与本身交换,即不变。得到A的子代染色体:
(3)对染色体,依据3组映射关系,三个基因7、10、3应该分别变为4、5、3,同时染色体中原来为4、5、3的基因改成7、10、3,其中基因3与本身交换,即不变。得到B的子代染色体:
交叉操作的结果为:
10. 遗传算法是一种算法设计策略。不同的问题甚至相同的问题都可以设计
不同的遗传算法进行求解,不同的遗传算法可能解编码的不同、交叉与变异规则的不同、概率模型的选择不同等。
(1)如何衡量遗传算法的性能好坏,下列说法正确的是_____。
A)对一些已知最优解的问题类别,可以通过精确算法获得最优解,然后使用“近似率”来衡量解的质量。所谓近似率是指算法求得的解与问题最优解的近似程度,近似率越高的遗传算法,性能好。
B)对理论最优解不知道的问题类别,可以通过不同遗传算法在相同问题实例集上测试结果的横向比较来进行评价,即有:在执行相同次数的迭代后,获得满意解越好的遗传算法,性能越好。
C)对于具有迭代特征的近似算法,在迭代多少次后能够使得结果稳定(通俗来讲,即结果不再随进一步迭代而发生变化或发生极小的可以被忽略的变化)—这被称为收敛速度,它从一定程度反映了算法求解的“快慢”。在达到期望的满意解的前提下,迭代次数越少越好。
D)遗传算法不一定能够得到满意解。因此,当不同算法均应用多次后,求得满意解次数越多的算法越好。
E)除上述衡量性能的指标外,还有其他的指标来衡量性能。
解释:
本题考查如何衡量遗传算法的性能。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:E
选择E。A、B、C、D均不全面,其他指标,诸如获得满意解所花费的平均时间以及占用的系统资源都可以列为衡量算法性能的指标。
(2)如何衡量遗传算法的性能好坏,下列说法不正确的是_____。
A)近似率越高的算法,性能越好。
B)在执行相同次数的迭代后,获得满意解越好的算法,性能越好。
C)在达到期望满意解的前提下,迭代次数越多的算法,性能越好。
D)当不同算法均应用多次后,求得满意解次数越多的算法,性能越好。
解释:
本题考查如何衡量遗传算法的性能。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:C
A、B、D正确,C迭代次数多的算法性能差。
11. 类比生物遗传与优胜劣汰而形成的遗传算法的求解过程如下图示意。理
解该图,回答下列问题。
(1)图中给出了遗传算法的基本求解过程示意。关于图中包含了哪些过程,下列说法正确的是_____。
A)可能解的编码过程和初始种群的产生过程。
B)交叉、变异形成候选种群的过程。
C)可能解的适应度计算过程和汰选可能解形成新一代种群的过程。
D)算法终止及最终解的形成过程。
E)上述全部过程。
解释:
本题考查对遗传算法基本求解过程的理解。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:E
图中第一行第一个箭头即是可能解的编码过程和初始种群的产生过程。最右的大方框内的即是交叉、变异形成候选种群的过程。右下方的方框以及箭头即是可能解的适应度计算过程和汰选可能解形成新一代种群的过程。左下的图与箭头即是算法终止及最终解的形成过程。综上,E正确。
(2)依据图中示例及求解过程示意,思考并回答,下列说法不正确的是_____。
A)初始种群中的可能解可以随机产生。
B)对于哪两个可能解进行交叉,可以采取随机方式从种群中选择出来。
C)对于两个可能解进行两段交叉,其交叉点是固定的,不可以采取随机方式确定。
D)对于哪个解进行变异,以及变异位置的确定,可以采取随机方式选择和确定。
解释:
本题考查对遗传算法随机性的理解。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:C
在遗传算法中,所有的解的产生,以及交叉,变异等可以随机的产生,并不是固定的。所以C的说法不正确。
(3)依据图中示例及求解过程示意,思考并回答,下列说法不正确的是_____。
A)种群的规模,即种群中可能解的个数是预先设定且固定不变的,其大小影响遗传算法求解的质量和效率。
B)种群的规模,虽然是预先设定的,但其大小不会影响遗传算法求解的质量和效率。
C)种群的规模可以依据问题的所有可能解的个数来确定:太大,虽求解效果好但计算量却很大;太小,虽计算量很小,但求解效果却难以保证。
D)种群规模不是随机确定的。
解释:
本题考查对遗传算法种群规模及其确定方法的理解。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:B
在遗传算法的设计过程中,应该根据问题的具体情况设置合适的种群规模。如果规模过大,虽然求解效果好,但是计算量很大。如果规模太小,计算量虽然不大了,但是求解效果就难以保证了。所以,种群规模的大小一定会影响遗传算法求解的质量和效率。
(4)依据图中示例及求解过程示意,思考并回答,下列说法不正确的是_____。
A)遗传算法可以一个轮次一个轮次迭代地进行(被称为“进化”),可以在迭代到一定次数后终止。
B)遗传算法一定可以求得满意解或最优解,它一定是在得到满意解或最优解时才终止。
C)遗传算法必定涉及随机处理,因为不仅仅是问题可能解的空间很大,而任何一个子解空间也都可能很大,穷举是难以办到的。
D)遗传算法是以交叉操作为产生新可能解的主要操作,而以变异操作作为产生新可能解的辅助操作。
解释:
本题考查对遗传算法的迭代性和求解质量方面的理解。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:B
遗传算法就是通过不断的迭代来淘汰不好的解,留下好的解,A正确。不是任何问题采用遗传算法都可以得到满意解或最优解,因为遗传算法中会有随机的过程,算法每次执行的结果都不尽相同,B的说法不正确。C、D的说法都没有问题。故此题的答案为B。
(5)依据图中示例及求解过程示意,思考并回答,下列说法不正确的是_____。
A)适应度,主要用于考察一个可能解是否接近最优解,以及接近的程度和方向,所以通常选择极值函数(如最大值函数或最小值函数)作为度量函数。
B)一般而言,通过将可能解代入一个极值函数(如最大值函数或最小值函数)中获得函数值,以该函数值作为适应度的值。
C)一个问题,若要用遗传算法求解,则要能够将其映射为类似于求极值一样的函数,即函数的极大值(或极小值)对应了问题的最优解/较优解,这是问题数学建模的一种方向。
D)适应度函数可以任取一个极值函数,它与求解问题本身可以没有什么关系。
解释:
本题考查对遗传算法的适应度函数的理解。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:D
遗传算法的适应度函数用来考察解与最优解的关系(接近程度、方向等)。而极值函数可以简单、清晰地表现该关系。所以,极值函数经常被选为遗传算法的适应度函数,A、B、C正确。适应度函数不能随意选择,一定是问题映射形成的函数,否则该适应度函数没有意义,D错误。故此题的答案为D。
12. 试分析遗传算法中选择、交换和变异的作用,在所有参数相同的情况下,
为什么算法每次得到的最优解有所不同。
解释:
本题考查对遗传算子的理解以及遗传算法的整体理解。
具体内容请参考课堂视频“第3章遗传算法”及其课件。
答案:
(1)选择作用:选择的目的是为了从当前群体中选出优良的个体,使它们有机会作为父代来繁殖下一代子孙,其作用是优胜劣汰。
(2)交叉作用:它同时对两个染色体的部分基因进行交换,是遗传算法中最主要的遗传操作,其作用是产生新解。
(3)变异作用:通常情况下变异操作是施加于种群内单个个体之上的,同生物界一样,遗传算法中的变异是个别染色体的局部变异,并且是偶尔发生的,其作用是随机偶然地产生新解。
在所有参数相同的情况下,遗传算法每次得到的最优解有所不同,这是因为
遗传算法每次都是随机产生初始种群,由于初始种群的不同,即使各参数都相同,每次迭代的结果都有所不同,因此得到的最优解有所不同,但相差不大,都是目标的近似解。