怎样研究算法遗传算法示例练习题答案解析.docx
《怎样研究算法遗传算法示例练习题答案解析.docx》由会员分享,可在线阅读,更多相关《怎样研究算法遗传算法示例练习题答案解析.docx(40页珍藏版)》请在冰豆网上搜索。
![怎样研究算法遗传算法示例练习题答案解析.docx](https://file1.bdocx.com/fileroot1/2023-2/4/f379e02f-2865-4135-93c6-c0aad98d746d/f379e02f-2865-4135-93c6-c0aad98d746d1.gif)
怎样研究算法遗传算法示例练习题答案解析
第9章怎样研究算法:
遗传算法示例
1、P类问题、NP类问题、NPC类问题是计算机科学领域关于可求解性可计算性很重要的概念。
关于P、NP和NPC类问题,回答下列问题。
(1)下列说法不正确的是_____。
(A)P类问题是计算机可以在有限时间内能够求解的问题;
(B)NP类问题是计算机可以在有限时间内能够验证“解”的正确性的问题;
(C)NPC类问题是对问题的每一个可能解,计算机都可以在有限时间内验证“解”的正确性的问题,被称为NP完全问题;
(D)上述说法有不正确的;
答案:
D
解释:
本题考核P类问题、NP类问题、NPC类问题的概念。
P类问题指计算机可以在有限时间内求解的问题,(A)正确;NP类问题指虽然在多项式时间内难于求解但不难判断给定一个解的正确性问题,(B)正确;NPC问题指NP问题的所有可能答案都可以在多项式时间内进行正确与否的验算,称为NP-Complete问题,(C)正确;(A)(B)(C)都正确,所以(D)错误。
具体内容请参考第九章视频之“可求解与难求解问题”以及第九章课件。
(2)可解性问题是指能够找到多项式时间复杂性算法进行求解的问题,难解性问题是指找不到多项式时间复杂性算法进行求解的问题。
下列说法不正确的是_____。
(A)P类问题是可解性问题,NP类问题是难解性问题。
(B)NP类问题不一定是难解性问题,因为P类问题也一定是NP类问题;
(C)NP类问题不确定是否是P类问题,但NPC类问题一定是难解性问题;
(D)上述说法有不正确的;
答案:
A
解释:
本题考核对可解性问题和难解性问题概念的理解。
P类问题指计算机可以在有限时间内求解的问题,所以是可解性问题;NP类问题指虽然在多项式时间内难于求解但不难判断给定一个解的正确性问题,但P类问题是NP类问题的一个子集,所以NP类问题不一定是难解性问题;NPC问题指NP问题的所有可能答案都可以在多项式时间内进行正确与否的验算,称为NP-Complete问题,是难解性问题,综上,(A)错误。
具体内容请参考第九章视频之“可求解与难求解问题”以及第九章课件。
(3)下列说法正确的是_____。
(A)P类问题是计算机可以在有限时间内能够求解的问题;
(B)NP类问题是计算机可以在有限时间内能够求解的问题;
(C)NPC类问题是计算机可以在有限时间内能够求解的问题;
(D)上述说法都正确;
答案:
A
解释:
本题考核P类问题、NP类问题、NPC类问题的概念。
只有P类问题是计算机可以在有限时间内能够求解的问题,所以(A)正确。
具体内容请参考第九讲视频之“可求解与难求解问题”以及第九章课件。
(4)P类问题是多项式问题(PolynomialProblem),NP类问题是_____。
(A)非多项式问题;
(B)非确定性多项式问题;
(C)非P类问题;
(D)确定性非多项式问题;
(E)上述说法都正确;
答案:
B
解释:
本题考核对NP类问题的理解。
P类问题是多项式问题(PolynomialProblem),NP类问题是非确定性多项式问题(Non-deterministicPolynomial),NPC问题是完全非确定性多项式问题(NP-Complete),所以(B)正确。
具体内容请参考第九章视频之“可求解与难求解问题”以及第九章课件。
(5)下列说法不正确的是_____。
(A)P类问题是总能找到一个多项式时间复杂性算法进行求解的问题;
(B)NP类问题是一定找不到多项式时间复杂性算法进行求解的问题;
(C)NP类问题是不确定能够找到多项式时间复杂性算法进行求解的问题;
(D)NP类问题虽然是不确定能找到多项式时间复杂性算法进行求解,但一定能找到多项式时间复杂性算法进行“解”的正确性验证的问题;
(E)上述说法有不正确的;
答案:
B
解释:
本题考核对P类问题、NP类问题概念的理解。
P类问题是总能找到一个多项式时间复杂性算法进行求解的问题,NP类问题虽然是不确定能找到多项式时间复杂性算法进行求解,但一定能找到多项式时间复杂性算法进行“解”的正确性验证的问题,所以(B)错误。
具体内容请参考第九章视频之“可求解与难求解问题”以及第九章课件。
(*6)非确定性多项式问题是指这样的问题,下列说法不正确的是_____。
(A)它能够找到一个算法、甚至是多项式时间复杂性算法进行求解,但算法中包含“不确定性”,如“任意组合一个解,…”、“随机组合一个解,…”等;
(B)它能够找到一个算法、甚至是多项式时间复杂性算法进行求解,但算法是通过“猜测”方式求出问题的解;
(C)它能够通过“产生任何一个解,并验证解的正确性”的方法进行求解;
(D)它一定是能够找到多项式时间复杂性算法以验证给定“解”的正确性的问题;
(E)上述说法有不正确的;
答案:
E
解释:
本题考核对NP类问题概念的理解。
NP类问题:
非确定性多项式问题(Non-deterministicPolynomial)。
有些问题,其答案是无法直接计算得到的,只能通过间接的猜算或试算来得到结果,这就是非确定性问题(Non-deterministic)。
虽然在多项式时间内难于求解但不难判断给定一个解的正确性的问题,即:
在多项式时间内可以由一个算法验证一个解是否正确的非确定性问题,所以(A)(B)(C)(D)都是正确的,(E)错误。
具体内容请参考第九章视频之“可求解与难求解问题”以及第九章课件。
(7)、关于NP类问题求解,下列说法正确的是_____。
(A)NP类问题求精确解,可能找不到多项式时间复杂性算法;但NP类问题求近似解,则一定能够找到多项式时间复杂性算法;
(B)NP类问题求精确解,可能找不到多项式时间复杂性算法;但NP类问题求近似解,则也可能找不到多项式时间复杂性算法;
(C)虽然能够找到求NP类问题近似解的多项式时间复杂性算法,但所求得的解一定不是满意解;
(D)既然能够找到求NP类问题近似解的多项式时间复杂性算法,则所求得的解就一定是满意解;
(E)上述说法都正确;
答案:
A
解释:
本题考核对NP类问题求解的理解。
NP类问题指虽然在多项式时间内难于求解但不难判断给定一个解的正确性的问题,即:
在多项式时间内可以由一个算法验证一个解是否正确的非确定性问题,所以NP类问题求精确解,可能找不到多项式时间复杂性算法,但NP类问题求近似解,则一定能够找到多项式时间复杂性算法,(A)正确(B)错误;虽然能够找到求NP类问题近似解的多项式时间复杂性算法,但所求得的解不一定是满意解,(C)(D)错误。
具体内容请参考第九章视频之“可求解与难求解问题”以及第九章课件。
2、下图能够基本反映生物学遗传与优胜劣汰的过程。
理解该图,联想计算类问题求解,回答下列问题。
(1)下列说法不正确的是_____。
(A)任何一个生物个体的性状是由其染色体确定的,染色体是由基因及其有规律的排列所构成的,因此生物个体可由染色体来代表;
(B)生物的繁殖过程是通过将父代染色体的基因复制到子代染色体中完成的,在复制过程中会发生基因重组或基因突变。
基因重组是指同源的两个染色体之间基因的交叉组合,简称为“杂交/交配”。
基因突变是指复制过程中基因信息的变异,简称“突变”;
(C)不同染色体会产生不同生物个体的性状,其适应环境的能力也不同;
(D)自然界体现的是“优胜劣汰,适者生存”的丛林法则。
不适应环境的生物个体将被淘汰,自然界生物的生存能力会越来越强;
(E)上述说法有不正确的。
答案:
E
解释:
本题考核对生物遗传观点以及所给图片的理解。
关于生物遗传进化的基本观点如下:
生物的所有遗传信息都包含在其染色体中,染色体决定了生物的性状;
(ii)染色体是由基因及其有规律的排列所构成的,遗传和进化过程发生在染色体上;
(iii)生物的繁殖过程是由其基因的复制过程来完成的;
(iv)通过同源染色体之间的交叉或染色体的变异会产生新的物种,使生物呈现新的性状。
(v)对环境适应性好的基因或染色体经常比适应性差的基因或染色体有更多的机会遗传到下一代。
故(A)、(B)、(C)、(D)均正确。
于是,(E)错误。
具体内容请参考课堂视频“遗传算法的缘起--生物学中的遗传与进化”和第九章课件。
(2-1)类比计算类问题求解,下列说法不正确的是_____。
(A)一个染色体即是指问题的一个“可能解”。
任何“可能解”都可以表达为编码形式,构成编码的基本单位即是基因;
(B)所谓的复制、杂交、突变,是指一个可能解或两个可能解之间发生的、编码片段之间的复制、交叉或变异,它们都是产生新可能解的一种方式;
(C)所谓的环境适应性,可以认为是对一个可能解的一种度量,即能够度量一个可能解的好与坏的某一函数值,被称为“适应度”;
(D)基于(A)(B)(C),遗传算法就是“通过复制、交叉或变异,不断产生新的可能解;计算可能解的适应度;淘汰掉适应度差的可能解,保留适应度好的可能解。
”
(E)上述说法有不正确的;
答案:
E
解释:
本题考核对生物学中的概念与计算机中的概念的映射的理解。
染色体映射到计算机中就是编码解。
(A)正确。
复制是指将一个解从一个解集复制到另外一个解集。
杂交是指对两个可能解的编码通过交换某些编码位而形成两个新的可能解的遗传操作,是新可能解的一种形成方式。
突变是指随机地改变一个可能解的编码的某些片段(或基因)而使一个可能解变为一新的可能解的遗传操作,也是新解的一种形成方式。
(B)正确。
适应度性是指一个可能解接近最优解的一个度量。
(C)正确。
由(A)(B)(C),可以得到遗传算法的基本思想。
(D)正确。
故(E)错误。
综上,(E)错误。
具体内容请参考课堂视频“计算学科的遗传算法”和第九章课件。
(2-2)类比计算类问题求解,下列说法不正确的是_____。
(A)一个染色体即是指问题的一个“可能解”,一个基因即是“可能解”的一个编码位或若干编码位的一个组合;
(B)一个种群即是一个包含问题满意解的“可能解”的集合;
(C)适应度,即是对“可能解”的一个度量,它可以衡量“可能解”接近最优解或精确解的程度;
(D)复制、交叉、变异等都是产生新“可能解”的方式;
(E)上述说法有不正确的;
答案:
B
解释:
本题考核对生物学中的概念与计算机中的概念的映射的理解。
染色体映射到计算机中就是编码解,即一个可能解的基因型。
一个基因即是指可能解的某一位或几位,(A)正确。
种群是指若干可能解的集合,而不一定包含问题的满意解,(B)错误。
适应度性是指一个可能解接近最优解的一个度量,(C)正确。
复制、交叉、变异等都是产生新“可能解”的方式,(D)正确。
因为(B)错误,故(E)正确。
综上,本题答案为(B)。
具体内容请参考课堂视频“计算学科的遗传算法”和第九章课件。
3、类比生物遗传与优胜劣汰而形成的遗传算法的求解过程如下图示意。
理解该图,回答下列问题。
(1)图中给出了遗传算法的基本求解过程示意。
关于图中包含了哪些过程,下列说法正确的是_____。
(A)可能解的编码过程和初始种群的产生过程;
(B)交叉、变异形成候选种群的过程;
(C)可能解的适应度计算过程和汰选可能解形成新一代种群的过程;
(D)算法终止及最终解的形成过程;
(E)上述全部过程。
答案:
E
解释:
本题考查学生对遗传算法基本求解过程的理解。
图中第一行第一个箭头即是可能解的编码过程和初始种群的产生过程。
最右的大方框内的即是交叉、变异形成候选种群的过程。
右下方的方框以及箭头即是可能解的适应度计算过程和汰选可能解形成新一代种群的过程。
左下的图与箭头即是算法终止及最终解的形成过程。
综上,(E)正确。
具体内容请参考课堂视频“怎样用遗传算法求解具体的应用问题”以及第九章课件。
(2)依据图中示例及求解过程示意,思考并回答,下列说法不正确的是_____。
(A)初始种群中的可能解可以随机产生;
(B)对于哪两个可能解进行交叉,可以采取随机方式从种群中选择出来;
(C)对于两个可能解进行两段交叉,其交叉点是固定的,不可以采取随机方式确定;
(D)对于哪个解进行变异,以及变异位置的确定,可以采取随机方式选择和确定;
(E)上述有不正确的说法。
答案:
C
解释:
本题考查学生对遗传算法随机性的理解。
在遗传算法中,所有的解的产生,以及交叉,变异等可以随机的产生,并不是固定的。
所以(C)的说法不正确。
具体内容请参考课堂视频“怎样用遗传算法求解具体的应用问题”以及第九章课件。
(3)依据图中示例及求解过程示意,思考并回答,下列说法不正确的是_____。
(A)种群的规模,即种群中可能解的个数是预先设定且固定不变的,其大小影响遗传算法求解的质量和效率;
(B)种群的规模,虽然是预先设定的,但其大小不会影响遗传算法求解的质量和效率;
(C)种群的规模可以依据问题的所有可能解的个数来确定:
太大,虽求解效果好但计算量却很大;太小,虽计算量很小,但求解效果却难以保证;
(D)种群规模不是随机确定的;
(E)上述有不正确的说法。
答案:
B
解释:
本题考查学生对遗传算法种群规模及其确定方法的理解。
在遗传算法的设计过程中,应该根据问题的具体情况设置合适的种群规模。
如果规模过大,虽然求解效果好,但是计算量很大。
如果规模太小,计算量虽然不大了,但是求解效果就难以保证了。
所以,种群规模的大小一定会影响遗传算法求解的质量和效率。
具体内容请参考课堂视频“怎样用遗传算法求解具体的应用问题”以及第九章课件。
(4)依据图中示例及求解过程示意,思考并回答,下列说法不正确的是_____。
(A)遗传算法可以一个轮次一个轮次迭代地进行(被称为“进化”),可以在迭代到一定次数后终止;
(B)遗传算法一定可以求得满意解或最优解,它一定是在得到满意解或最优解时才终止;
(C)遗传算法必定涉及随机处理,因为不仅仅是问题可能解的空间很大,而任何一个子解空间也都可能很大,穷举是难以办到的;
(D)遗传算法是以交叉操作为产生新可能解的主要操作,而以变异操作作为产生新可能解的辅助操作;
(E)上述有不正确的说法。
答案:
B
解释:
本题考查学生对遗传算法的迭代性和求解质量方面的理解。
遗传算法就是通过不断的迭代来淘汰不好的解,留下好的解,(A)正确。
不是任何问题采用遗传算法都可以得到满意解或最优解,因为遗传算法中会有随机的过程,算法每次执行的结果都不尽相同,(B)的说法不正确。
(C)(D)的说法都没有问题。
故此题的答案为(B)。
具体内容请参考课堂视频“怎样用遗传算法求解具体的应用问题”以及第九章课件。
(5)依据图中示例及求解过程示意,思考并回答,下列说法不正确的是_____。
(A)适应度,主要用于考察一个可能解是否接近最优解,以及接近的程度和方向,所以通常选择极值函数(如最大值函数或最小值函数)作为度量函数;
(B)一般而言,通过将可能解代入一个极值函数(如最大值函数或最小值函数)中获得函数值,以该函数值作为适应度的值;
(C)一个问题,若要用遗传算法求解,则要能够将其映射为类似于求极值一样的函数,即函数的极大值(或极小值)对应了问题的最优解/较优解,这是问题数学建模的一种方向;
(D)适应度函数可以任取一个极值函数,它与求解问题本身可以没有什么关系;
(E)上述有不正确的说法。
答案:
D
解释:
本题考查学生对遗传算法的适应度函数的理解。
遗传算法的适应度函数用来考察解与最优解的关系(接近程度、方向等)。
而极值函数可以简单、清晰地表现该关系。
所以,极值函数经常被选为遗传算法的适应度函数,(A)(B)(C)正确。
适应度函数不能随意选择,一定是问题映射形成的函数,否则该适应度函数没有意义,(D)错误。
故此题的答案为:
(D)
具体内容请参考课堂视频“怎样用遗传算法求解具体的应用问题”以及第九章课件。
4、关于遗传算法为什么可以求解NPC类问题。
理解下图,回答下列问题。
(1)遗传算法是典型的计算求解的方法,它通过“产生任何一个可能解,并验证可能解的正确性”的方法求解一个复杂问题。
关于计算求解,下列说法正确的是_____。
(A)可以从所有可能解的集合中产生每一个可能解,并验证可能解的正确性。
利用这种策略的算法,计算机一定能够在有限时间内找到精确解;
(B)可以从所有可能解的集合中随机产生一些可能解,并验证可能解的正确性。
利用这种策略的算法,计算机一定能够在有限时间内找到精确解;
(C)可以从所有可能解的集合中随机产生一些可能解,并验证可能解的正确性。
利用这种策略的算法,计算机一定能够在有限时间内找到满意解;
(D)可以从所有可能解的集合中随机产生一些可能解,并验证可能解的正确性。
利用这种策略的算法,如果随机产生的可能解越多,则计算机找到满意解的概率也越大,但耗费时间也越长;
(E)上述说法都正确;
答案:
D
解释:
本题考查遍历搜索与随机搜索的共性与差别;
从可能解中产生的集合,也许这个集合里并没有精确解,那么计算机不可能在该集合中找到精确解。
(A)(B)(C)说法不正确。
但是,产生的随机解越多,找到满意解的概率越大,(D)正确。
综上,此题的答案为(D)。
具体内容请参考课堂视频“遗传算法为什么可以求解NPC问题”以及第九章课件。
(2)遗传算法是典型的计算求解的方法,它通过“产生任何一个可能解,并验证可能解的正确性”的方法求解一个复杂问题。
关于计算求解,下列说法正确的是_____。
(A)可以从所有可能解的集合中随机产生一些可能解,并验证可能解的正确性。
利用这种策略的算法—可被称为随机搜索算法。
则,利用随机搜索算法,计算机在有限时间内一定能够找到满意解;
(B)为改进随机搜索算法的求解质量,在随机产生可能解的过程中,使后一个可能解的产生与前一个可能解相关联,即在前一个可能解的基础上随机产生后一个可能解,例如一个可能解编码为“110011001100”,可以通过改变该解编码的某些位产生下一个可能解(即相关),而改变哪些位则可随机处理。
利用这种策略的算法---可被称为导向性随机搜索。
则,利用导向性随机搜索,计算机在有限时间内一定能够找到满意解;
(C)和随机搜索相比,利用导向性随机搜索,计算机在有限时间内找到满意解的概率更大一些;
(D)和随机搜索相比,利用导向性随机搜索,初始的可能解对计算机在有限时间内找到满意解的概率的影响更大一些;
(E)上述说法都正确;
答案:
D
解释:
本题考查遍历搜索与随机搜索的共性与差别;
既然是随机的产生解,那么一定能产生满意解释不可能的。
只能说改进算法会让产生满意解的概率变大而已。
(A)(B)不正确。
导向性随机搜索只是能提高搜索效率,并不能提高找到满意解的概率,(C)错误。
(D)的说法没有问题。
因此,此题的答案为(D)。
具体内容请参考课堂视频“遗传算法为什么可以求解NPC问题”以及第九章课件。
(3)遗传算法是典型的计算求解的方法,它通过“产生任何一个可能解,并验证可能解的正确性”的方法求解一个复杂问题。
关于计算求解,下列说法不正确的是_____。
(A)在获得满意解的概率方面,如果初始可能解被恰当选择的话,导向性随机搜索一定比随机搜索更好一些;
(B)在获得满意解的概率方面,群导向性随机搜索一定比导向性随机搜索更好一些:
相比导向性随机搜索,群导向性随机搜索采取了多条导向搜索路径;
(C)遗传算法是一种群导向性随机搜索:
其有一定规模的种群,即可被认为是设置了多个初始的可能解;其交叉、变异产生新可能解的方法,即可被认为是新可能解与原可能解相关联;
(D)利用遗传算法,计算机在有限时间内一定能够找到满意解;
(E)上述说法有不正确的;
答案:
D
解释:
本题考查遍历搜索与随机搜索的共性与差别;
导向性随机搜索是根据初始解进行导向搜索的,如果初始解选择恰当,则能更快的找到满意解,(A)正确。
群导向搜索由于是搜索了多条路径,相比于导向性搜索更容易找到满意解,(B)正确。
(C)的说法没有问题。
遗传算法中包含随机过程,不能保证一定能找到满意解,(D)的说法不正确。
因此,此题的答案为(D)。
具体内容请参考课堂视频“遗传算法为什么可以求解NPC问题”以及第九章课件。
5、关于什么情况下应用遗传算法,下列说法正确的是_____。
(A)当对某问题求解,找不到更好的多项式时间复杂性算法的时候;
(B)当问题的可能解能够被表达,并能够确定问题的解空间的时候;
(C)当能够找到可能解的适应度计算方法,即能够判断一个可能解接近精确解的程度或方向的时候;
(D)前述(A)(B)(C)至少有一个满足的时候;
(E)前述(A)(B)(C)同时满足的时候;
答案:
E
解释:
本题考查什么情况下可以应用遗传算法;
遗传算法的使用条件:
(1)已知“解空间”,即可能解的表现型和基因型
(2)关于可能解的“适应度”函数的计算方法(适应度用于判断一个可能解接近精确解的程度或方向)。
故,本题的正确答案为(E)。
具体内容请参考课堂视频“遗传算法为什么可以求解NPC问题”以及第九章课件。
6、关于遗传算法相关应用问题的抽象,回答下列问题。
(1)为什么说会议室租用问题、测试用例选择问题和航班机组成员问题是同一个问题,下列说法不正确的是_____。
(A)对这三个问题进行抽象,会议室、测试用例和机组成员都可被看作是“资源”,而讲座、软件功能测试和航班都可被看作是“任务”,则这三个问题都可被看作是:
选取最少量的资源以满足其能够完成给定的所有任务;
(B)对这三个问题进行抽象,每个资源都能够完成一些任务,即覆盖一个任务集合。
不同资源,具有不同的使用成本。
上述问题都是选择具有最小成本的一些资源,使这些资源所覆盖任务集合的并集能够包含所有需要完成的任务;
(C)观察问题相同与否,可将问题语义剥离,形成数学模型。
如果数学模型是相同的,则其是相同的问题,否则便不是相同的问题。
上述三个问题抽象后都可以形成下列数学模型:
min
……………………………………………………
(1)
s.t.
…………………………………………………
(2)
…………………………………………………(3)
所以上述三个问题是同一个问题;
(D)前述说法(A)(B)(C)有不正确的;
答案:
D
解释:
本题考查问题抽象能力;
三个问题都是同一个问题:
一维的集覆盖问题。
他们数学模型均(C)选项所述,每一行都被选出的列覆盖,被哪一列或几列覆盖不重要,要满足约束矩阵。
故本题的正确答案为:
(D)。
具体内容请参考课堂视频“怎样用遗传算法求解具体的应用问题2”以及第九章课件。
(2)集覆盖问题可以抽象为下列模型,请对下列模型进行理解。
关于该模型,下列说法不正确的是_____。
min
……………………………………………………
(1)
s.t.
…………………………………………………
(2)
…………………………………………………(3)
(A)公式
(1)是计算所选择资源的总成本,目标是求具有最小总成本的资源集合。
其中资源被从1,…,n编号。
如果xj=1,表示资源j被选择;如果xj=0,表示资源j未被选择;cj表示选择资源j时所需消耗的成本。
(B)公式
(2)表示每一个任务i都被某一个已选择的资源j(xj>0)能完成的任务集所覆盖;
(C)当aij=1,且xj=1时,则aijxj=1,即任务i可以被资源j完成,且资源j已被选择;