中国工信出版集团、人民邮电出版社出版的赵卫东、董亮编著的《机器学习》慕课版

第9章 进化计算

1.遗传算法可以解决哪些问题?

解:遗传算法主要解决技术优化问题,可用于解决数值优化、组合优化、智能控制、人工生命、图像处理、模式识别等领域的问题。比较具体的有:函数最值问题、旅行商问题、背包问题、车辆路径问题、生产排程问题、选址问题等。

2.讨论遗传算法用于分类问题的原理。

解:用遗传算法做分类问题就是找到一组能很好拟合训练样例的IF-THEN规则,也就是目标概念。学习过程可以看作是一个搜索过程,也就是在搜索空间中搜索目标概念,目标概念的表示方法有种群表示方法以及单条染色体表示方法。

3.遗传算法的目标函数如何构造?

解:目标函数是期望得到的优化结果,比如函数的最大值或最小值,目标函数的构造与期望值有关,同时也需要不断的尝试,把每一次的目标函数以及得到的结果的平均值记录下来,绘制成图,选择可以使得遗传算法最有效的目标函数。

4.讨论遗传算法的常用编码方式,并举例说明。

解:a.二进制编码是遗传算法中最常用的编码方式,它使用二进制数组0、1表示染色体的基因信息,只要染色体足够长,就能描述个体的全部特征。二进制染色体示例如下:010010011011011110111110。

b.格雷码编码是二进制编码的一种变形,是指连续两个整数所对应的编码值之间只有一个码位是不同的。这一特点解决了二进制编码中的相临数字的距离较远问题,增强了遗传算法的局部搜索能力。如16位格雷码中用0100表示十进制中的7.

c.浮点数编码方式采用浮点数来表示个体的每个基因值,这种编码还要限制基因值的范围,保证基因值在给定的区间内,并且经过遗传算法的交叉、变异等操作后,还要保证运算结果所产生的新个体的基因值也在这个区间范围内。

d.符号编码法是指染色体编码串中的基因值可能涉及符号集(如|A,B,C……|)的字符,使用符号编码,便于编码有意义的基因值。这种编辑方法需要认真涉及交叉、变异等遗传运算,以满足问题的各种约束,从而提高算法的搜索性能。

5.遗传算法的步骤有哪些?讨论每个步骤的主要工作。

解:a.随机产生种群。

b.用轮盘赌策略确定个体的适应度,判断是否符合优化准则,若符合,输出最佳个体及其最优解,结束,否则,进行下一步。

c.依据适应度选择再生个体,适应度高的个体被选中的概率高,适应度低的个体被淘汰。

d.按照一定的交叉概率和交叉方法,生成新的个体。

e.按照一定的变异概率和变异方法,生成新的个体

f.由交叉和变异产生新一代种群,返回步骤b

6.初始种群的大小对遗传算法的性能有影响?

解:规模较大的群体一般对应的个体多样性较高,可以避免算法陷入局部最优解。但增大群体规模的同时会增加计算复杂度,降低算法效率。群体的规模选择过小会使搜索空间分布范围不足,搜索有可能会停止在一个次优解。

7.讨论基因突变的概率对遗传算法的影响。

解:变异算子能使个体按一定概率发生变异,产生新的遗传基因,有助于增加种群多样性,是提高全局最优搜索能力的有效步骤,也是保持群体差异、防止过早出现收敛的重要手段。在遗传算法中,交叉和变异这对相互配合又相互竞争的操作,使算法具备兼顾全局和局部的均衡搜索能力。

通过选择、交叉、变异得到新的群体替换率与交叉概率Pc和变异概率Pm相关,替换率较低的情况下,每代种群更新较慢,使得搜索的范围扩展较慢,但能够较大程度上的保留现有基因。过高替换率也是不可取的,会过滤掉当前的最优解。可以采用一种保留策略,使上一代的当前最优解强行遗传到下一代。

8.举例说明遗传算法的应用。

解:应用遗传算法解决旅行商(Travelling Salesman Problem, TSP)问题。

基于遗传算法求解旅行商问题的研究有很多。旅行商问题用于评价不同的遗传操作和选择机制的性能,主要原因有以下原因:

a.旅行商问题是一个易于描述却难以处理的问题,在可计算理论中有着重要的理论价值。

b.旅行商问题是诸多领域内出现的多种复杂问题的集中概括和简化形式,有一定的实际应用价值。

9.遗传算法的不足是什么?

解:a.遗传算法的编程实现比较复杂,首先需要对问题进行编码,找到最优解之后还需要对问题进行解码。

b.另外三个算子的实现也有许多参数,如交叉率和变异率,并且这些参数的选择严重影响解的品质,而目前这些参数的选择大部分是依靠经验。

c.没有能够及时利用网络的反馈信息,故算法的搜索速度比较慢,要得要较精确的解需要较多的训练时间。

d.算法对初始种群的选择有一定的依赖性,能够结合一些启发算法进行改进。

e.算法的并行机制的潜在能力没有得到充分的利用,这也是当前遗传算法的一个研究热点方向。在现在的工作中,遗传算法(1972年提出)已经不能很好的解决大规模计算量问题,它很容易陷入“早熟”。常用混合遗传算法,合作型协同进化算法等来替代,这些算法都是GA的衍生算法。

10.蚁群算法的原理是什么?

解:蚁群算法来源于蚂蚁寻找食物的过程。蚂蚁总能发现一条从蚁巢到食物源的最短路径。蚂蚁能够在经过的路途中留下“信息素”作为标记,以此来指导自己的活动轨迹。蚂蚁倾向于发现那些“信息素”浓度高的路径,某一路径上走过的蚂蚁越多,遗留下的“信息素”越多,被选中的概率越大,最终形成最短路径。

11.与遗传算法比较,蚁群算法为什么能取得更优的结果?

解:引入了“信息素”的设计,使得一定范围内的其他蚂蚁能够察觉到并由此影响它们以后的行为。当一些路径上通过的蚂蚁越来越多时,其留下的信息素轨迹也越来越多,以致信息素强度增大(随时间的推移会逐渐减弱),后来蚂蚁选择该路径的概率也越高,从而更增加了该路径的信息素强度,这种选择过程被称为蚂蚁的自催化行为。

12.结合案例,讨论蚁群算法的应用过程。

解:以TSP问题为例,算法步骤如下:

a.定义问题,给出城市间距离矩阵,初始化蚁群算法参数。

b.随机置放蚂蚁,计算下一访问点,直到遍历完所有节点。

c.计算所有路径,更新信息素,路径越短,信息素浓度越高,得到当前迭代最优解。

d.判断是否达到终止条件。达到条件:输入结果;未达到条件:步骤b。

e.输出全局最优结果。

13.与蚁群算法相比,蜂群算法有什么不同?

解:人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。为了解决多变量函数优化问题,Karaboga提出了人工蜂群算法ABC模型。

蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。

14.蜂群算法的主要步骤有哪些?

解:a.初始化

b.重复以下过程c — f

c.将采蜜蜂与蜜源一一对应,更新蜜源信息,同时确定蜜源的花蜜量

d.观察蜂根据采蜜蜂所提供的信息采用一定的选择策略选择蜜源,根据第一个公式更新蜜源信息,同时确定蜜源的花蜜量

e.确定侦查蜂,寻找新的蜜源

f.记忆迄今为止最好的蜜源

g.判断终止条件是否成立

15.举例说明蜂群算法的应用。

解:蜂群算法广泛应用于图像处理、无线通信、组合优化和控制工程等领域,能够较快地探索到优化问题的最优解。

将蜂群算法应用于车辆路径规划,采用一种基于车辆位置次序和车辆位置取整操作的三维编码方法。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐