小生境及其常用机制
多模态多目标优化中提高种群多样性最常用的方法就是小生境技术。
- 小生境的定义
- 在生态学中,小生境(niche)是指一个生物个体或物种在生态系统中的特定位置和功能,包括它所占据的空间、利用的资源以及与其他生物的相互关系。在计算科学,特别是进化算法的背景下,小生境是一种模拟生态小生境概念的技术。它是一种在种群中划分不同子区域的方法,使得种群中的个体可以在这些子区域(小生境)中进行相对独立的进化,从而维持种群的多样性。
- 例如,想象一个生态系统中有多种鸟类。不同种类的鸟在食物获取(有的吃种子,有的吃昆虫)、栖息位置(有的在树枝高处,有的在灌木丛)等方面存在差异,这些差异就构成了它们各自的小生境。在进化算法中,小生境类似地将个体按照某些特征(如适应度、基因距离等)划分到不同的区域进行进化。
- 关于进化方式
- 不是只在小生境内部进化。在一些小生境技术应用的进化算法中,小生境之间会有信息交流和个体迁移。例如,在基于小生境的遗传算法中,个体主要在自己所属的小生境中进化,但也会存在一定概率的个体从一个小生境迁移到另一个小生境,这种迁移可以促进整个种群的进化和多样性的维持。
- 也不是每个子代都来自两个不同小生境的父代。在很多情况下,子代可以来自同一个小生境中的父代,这是主要的繁殖方式,以保证小生境内部的进化趋势能够延续。不过,有些算法会设计交叉操作,使得有一定机会子代是由不同小生境的父代产生的。这种跨小生境的繁殖操作可以增加种群的多样性,并且有利于发现不同小生境之间的优良基因组合。例如,在某些多模态优化问题的求解中,通过这种跨小生境的繁殖,可能会找到同时兼顾不同局部最优解特征的更好的解。
- 常用的小生境机制
- 距离(Distance)机制
- 原理:距离机制主要是根据个体之间的某种距离度量来划分小生境。这个距离可以是在解空间中的欧几里得距离、汉明距离(对于二进制编码)或者其他自定义的距离函数。通常设定一个距离阈值,当个体之间的距离小于这个阈值时,就认为它们属于同一个小生境。例如,在一个二维函数优化问题中,如果两个个体的坐标在一定范围内接近,就划分到同一个小生境。
- 作用:它有助于将种群中的个体聚类,使得相似的个体可以在相近的小生境中进化。这样可以防止种群过度集中在某一个区域,有利于探索不同的局部最优解,从而提高种群的多样性。同时,距离机制也可以用于控制小生境之间的相互影响,例如,距离较远的小生境之间的信息交流可能会受到限制。
- 清除(Clearing)机制
- 原理:清除机制是一种用于控制小生境规模的方法。在进化过程中,当一个小生境中的个体数量超过一定限度时,会根据某些规则清除一部分个体。这些规则可以是基于个体的适应度,例如清除适应度较低的个体;也可以是基于个体在小生境中的分布情况,比如清除那些处于小生境边缘且对小生境进化贡献较小的个体。
- 作用:通过清除机制,可以避免小生境中的个体过度拥挤,使得小生境能够保持一个合适的规模,有利于高效地探索解空间。同时,它也可以防止某个小生境因为个体过多而在进化过程中占据主导地位,从而维护种群中各个小生境之间的平衡,提高种群的多样性。
- 物种(Speciation)机制
- 原理:物种机制类似于生物学中的物种划分概念。在进化算法中,根据个体的特征将其划分为不同的物种(小生境)。这些特征可以包括个体的基因结构、适应度以及行为模式等。每个物种在进化过程中有其自己的进化策略和参数设置。例如,对于一个具有多个局部最优解的函数优化问题,根据个体所趋向的局部最优解的特征来划分物种,每个物种朝着对应的局部最优解方向进化。
- 作用:它能够使得种群在不同的方向上进行进化,就像生态系统中不同物种适应不同的环境一样。这种机制有利于同时探索多个局部最优解,并且每个物种内部可以根据自身特点进行更有针对性的进化,从而提高了整个种群对复杂解空间的探索能力和多样性。
- 拥挤(Crowding)机制
- 原理:拥挤机制主要是通过控制个体在小生境中的拥挤程度来影响进化。在产生新个体后,计算新个体与小生境中已有个体的拥挤程度。如果拥挤程度超过一定阈值,就会采取措施,比如调整新个体的位置或者限制新个体的加入。拥挤程度的计算通常基于个体之间的距离或者其他相似性度量。例如,在一个基于小生境的遗传算法中,当新生成的子代个体加入小生境时,如果会导致小生境中的个体过于拥挤,可能会通过改变子代个体的某些基因位来降低拥挤程度。
- 作用:拥挤机制可以有效地防止小生境中的个体过度聚集,使得小生境中的个体分布更加均匀。这有助于维持小生境的多样性,并且可以促进个体在小生境中的均匀进化,避免局部区域过度搜索而忽略其他区域,从而提高整个种群对解空间的探索效率。
- 适应度共享(Fitness share)机制
- 原理:适应度共享机制是基于这样一种思想:当多个个体处于同一个小生境时,它们需要共享资源(在进化算法中主要是适应度)。具体来说,个体的实际适应度会根据其所在小生境中的个体数量进行调整。例如,如果一个小生境中有很多个体,那么每个个体的适应度会被降低;反之,如果个体较少,每个个体的适应度相对较高。适应度共享通常通过一个共享函数来实现,该函数根据个体之间的距离等因素来确定共享程度。
- 作用:这种机制可以防止某个小生境中的个体因为适应度高而过度繁殖,导致种群多样性下降。它鼓励个体在不同的小生境中分布,使得种群能够更全面地探索解空间,并且可以避免算法过早收敛到局部最优解,有利于发现更多的全局最优解或者多个局部最优解。
- 聚类机制
- 聚类基础:聚类是一种数据分析技术,它根据数据点之间的相似性(如距离)将数据集划分为不同的组(类)。在基于聚类的进化算法多样性机制中,同样利用距离等因素将种群中的个体划分到不同的子种群。例如,在一个由基因编码表示个体的种群中,如果两个个体的基因编码在某种距离度量下(如欧几里得距离)很接近,那么它们可能会被划分到同一个子种群。
- 子种群特点:同一子种群中的个体具有相似性,这种相似性可以体现在个体的特征(如基因结构、适应度值等)上。而不同子种群之间的个体相异。例如,在一个函数优化问题中,一个子种群中的个体可能都倾向于在函数的某一个局部最优解附近,而另一个子种群中的个体则倾向于在函数的另一个局部最优解附近。
- 进化引导:在进化过程中,各个子种群相对独立地进行进化。通过选择子种群中适应度较好的个体作为领导者来引导子种群的进化方向。这个领导者就像是一个团队中的核心成员,它的特征和行为会对整个子种群产生影响。例如,在遗传算法的框架下,领导者个体的基因组合可能会通过交叉和变异等操作在子种群中传播,从而引导子种群朝着更优的方向进化
- 限制锦标赛选择
- 锦标赛选择基本概念
在传统锦标赛选择中,会从种群中随机选取一定数量(即锦标赛规模)的个体组成一个 “锦标赛组”,然后比较这些个体的适应度,适应度最高的个体被选中作为父代用于产生下一代。例如,若锦标赛规模为 3,就会随机挑选 3 个个体,选择其中适应度最优的个体。 - 受限规则的引入
受限锦标赛选择法在此基础上增加了 “受限” 规则。这个规则主要是对锦标赛组的选取范围进行限制,使得个体只能与和它在某种意义上 “相近” 的个体竞争。相近的定义可以基于多种因素,常见的有: - 空间距离:在解空间中,个体可以用坐标表示,那么可以规定个体只能和在一定空间距离范围内的其他个体进行锦标赛竞争。例如在一个二维函数优化问题中,个体是二维平面上的点,某个个体只能和距离它在半径为 r 的圆形区域内的其他个体竞争。
- 特征相似性:根据个体的某些特征(如基因编码的相似程度、适应度值的接近程度等)来定义相近关系。比如,对于基因编码表示的个体,只有基因编码相似度超过一定阈值的个体才能组成锦标赛组。

浙公网安备 33010602011771号