《中国人工智能学会通讯》——8.29 并行与分布式进化计算模型

8.29 并行与分布式进化计算模型

并行与分布式进化计算最早可追溯至 1987 年Cohoon 等人提出的并行遗传算法(PGA,ParallelGA) [50-51] 。早期的并行与分布式进化算法在每个计算核心上部署一个小种群,而后各个计算核心之间相互通信,共同协作寻找问题的最优解。因此,可以看出并行与分布式进化算法的执行效率往往取决于计算核心上每个种群的进化时间,以及计算核心之间的通信时间。虽然并行与分布式进化算法的运行时间大部分取决于前一部分,但是如果并行模型设计不合理,往往会导致进程之间产生大量通信,加长了进程间的通信时间,因此,为了减少通信量,研究者们相继提出了不同种类的并行与分布式进化模型,比如主从式分布式模型(Master-Slave Model) [43,52-53] 、岛屿式分布式模型(IslandModel) [49,54-55] 、 细 胞 式 分 布 式 模 型(CellularModel) [56-58] 以 及 混 合 式 分 布 式 模 型(HybridModel) [59-61] 等。

主从式分布式模型
主从式分布式模型是并行与分布式进化算法的一个经典模型,其主要框架如图 1 所示。从图中可以看出,在该模型中,只有主节点负责传递信息给从节点,而从节点与从节点之间没有通信。在早期的主从式模型中,主节点负责种群中个体的更新,更新完成后,主节点将一个或者多个个体发送给从节点,从节点负责评估每个个体的适应值。评估完成后,各从节点将适应值发送给主节点;而后主节点根据收集到的适应值,淘汰差的个体。在该模型中,主节点发送一个或者多个个体给从节点,导致主从节点之间存在大量通信,因此,该模型比较适合求解适应值计算时间比较长的优化问题。主节点从节点1 从节点2 从节点3 从节点4图1 主从式分布式模型image
为了进一步提高主从式分布式模型的性能,研究者们提出了许多改进版本。文献 [43,52-53] 提出每个从节点不仅评估所分配个体的适应值,而且还负责个体的更新。文献 [44] 提出了粗粒度主从式模型,在该模型中每个从节点维护一个小种群,并负责该种群的更新,每次迭代过程中,每个从节点把自身种群的当前全局最优解发送给主节点;而后主节点比较每个节点发送过来的全局最优解,获得当前代的全局最优解,并发送给每个从节点。另外,文献 [62] 提出在从节点上执行局部搜索算法来提高解的精度。在该算法中,主节点负责种群的更新,从节点负责评估主节点所分配的个体的适应值,并在该个体上执行局部搜索算法。

总体说来,主从式分布式模型主要有以下两个特点。

(1)同步通信。在该模型中,主节点负责全局操作,而从节点负责局部操作[43,52-53] 。主节点需要收集所有从节点传递的局部信息才能进行操作;从节点需要主节点传递的全局信息才能操作。因此,当主节点操作时,从节点处于空闲等待状态;当从节点操作时,主节点处于空闲等待状态。如此通信方式造成了一定的资源浪费和增加了空闲等待时间。

(2)加速比取决于适应值时间。该分布式模型比较适合于求解适应值评估时间长的优化问题。具体而言,适应值评估时间越长,该模型下的并行加速比越好;相反,适应值评估时间越短,该模型下的并行性能就越差。特别地,当适应值评估时间小于通信时间时,该模型下的并行与分布式进化算法性能往往比串行模式下的进化算法还要差。

岛屿式分布式模型
岛屿式分布式模型是另一种经典分布式模型,其核心框架如图 2 所示。从图中可以看出,在该模型中,没有主从节点之分,所有的节点同等看待,而且每个节点之间相互通信,相互协作寻找优化问题的最优解。image
节点1节点2 节点3节点4图 2 岛屿式分布式模型图 2 岛屿式分布式模型在岛屿式分布式模型中,整个种群被分割为多个小种群,而后每个节点负责优化一个小种群。每隔一定时间,节点之间相互通信。该通信通过一种移民策略(Migration Mechanism)使得各个节点从对方引进特定的个体(比如每个节点找到的全局最优个体)。在早期的岛屿式分布式模型中,每个进程都采用同样的操作算子,以及同样的参数来进化种群,即同构 / 同质(Homogeneous)更新策略。为了进一步增加算法的多样性,从而提高并行算法的性能,学者们提出了异构岛屿式分布式模型[63-64] 。文献 [65] 提出了异质岛屿式并行 GA 算法。在该算法中,所有节点被分为三层,上层负责改善算法的开发能力,以便能获得更好的全局最优解;中间层负责平衡算法的开发与探索能力;下层负责改善算法的探索能力以便种群能够逃出局部最优区域,从而向全局最优区域靠拢。文献 [66] 提出了超立方体岛屿式模型。在该模型中,立方体的正面所对应的进程采用不同的交叉策略,以此来提高并行算法的探索能力;立方体其他面对应的进程采用开发能力比较强的交叉策略,以此来提高算法的开发能力。另外,学者们还投入了大量精力研究岛屿式分布式模型的网络拓扑结构[49,67] 。文献 [70] 研究了包括环形、超立方体形、层次形等不同网络拓扑结构,对岛屿式分布式模型的性能影响。

综上所述,岛屿式模型有以下三个特点。

(1)同步通信。大多数的岛屿式分布式模型采用同步通信机制。即每个节点迭代相同次数之后,节点之间通过移民机制相互通信,引入其他节点的特定个体。

(2)提高进化算法的全局搜索能力。在该模型中,每个节点维持一个种群,并且每个节点可以采用不同的更新策略,因此不同的节点可以探索优化问题解空间的不同区域,大大提高了算法的多样性,从而提高算法的全局搜索能力。

(3)依赖于岛屿的拓扑结构以及通信的频率。由于每个节点与相邻节点相互通信,因此该模型的性能往往比较依赖于构建岛屿模型的拓扑结构[67] ;同时,文献 [67] 也指出该模型的性能也与通信的频率相关。通信越频繁,越有利于种群更快的收敛;然而过于频繁的通信容易导致种群陷入局部最优。相反,通信越少,不同节点内的种群可以更有效地探索和开发解空间内的不同区域,从而有利于种群跳出局优;然而过低的通信使得整个种群收敛变慢,降低了整个算法的开发能力,不利于解的精度的提高。

细胞式分布式模型
细胞式分布式模型是一个细粒度的并行与分布式模型,其常见构造模型如图 3 所示。在该模型中,每个节点负责一个个体的更新,并与相邻的节点进行通信。因而,可以看出构建细胞式分布式模型的网络拓扑结构对该模型的性能有着重要影响,因为不同的拓扑逻辑定义不同的网络邻居。image
因此,目前针对该模型的并行与分布式进化算法研究主要集中于探索不同网络拓扑逻辑对并行进化算法性能的影响。文献 [56-57,68] 分别研究线性拓扑逻辑(Linear Topology)、环形拓扑逻辑(ToroidTopology), 以 及 规 则 格 子 拓 扑 逻 辑(RegularLattices)对并行算法性能的影响。实验结果表明,选择一个合适的网络拓扑结构对并行算法的性能有着重要影响。为了缓解细胞式分布式模型的量级越来越大的情况,文献 [69-70] 将一些复杂网络拓扑结构引入该模型,比如 small-world 拓扑结构和scale-free 拓扑结构。实验结果表明,随着问题复杂度的提高,构建细胞式分布式模型的拓扑结构应该从简单网络结构(比如环形结构)升级到复杂网络结构(比如 scale-free 拓扑结构)。

另外,细胞式分布式模型的通信方式有同步通信和异步通信两种方式[71] 。在同步方式下,所有的节点更新完成后才开始通信,获取近邻节点信息,而后进行下一代更新;而异步通信方式下,所有进程随时跟近邻节点通信,并获取信息更新自己的个体。由于硬件差异或者网络延迟等原因,某些节点获取到的近邻信息可能不是最新信息。文献 [71] 探索了同步通信与异步通信对细胞式分布式模型下的并行算法影响。实验结果表明,同步通信有利于加速算法收敛速度,却有损解的质量;而异步通信有助于提高解的质量,却减缓了算法收敛速度。

总体说来,不同于岛屿式分布式模型,细胞式分布式模型是一种细粒度的空间分布式模型,每个节点负责一个个体的更新并与近邻节点通信,从而获取有利信息用于更新个体。

混合式分布式模型
混合式分布式模型也称为层级式分布式模型(Hierarchical Model),其结合两个或多个分布式模型,从而集成不同分布式模型的优势,达到提升并行与分布式进化算法性能的目的。目前主流的结合方式有岛屿 - 主从式混合模型、岛屿 - 细胞式混合模型和岛屿 - 岛屿式混合模型。

岛屿 - 主从式混合模型:文献 [59,72-73] 结合了岛屿式分布式模型和主从式分布式模型提出了岛屿 - 主从式混合模型,其主要框架如图 4(a) 所示。从图中可以看出,在该模型的外层,采用岛屿式模型;在内层中,每个岛屿式模型的节点被视为主节点,从而采用主从式模型。具体地,在该模型中,种群被分割为若干个小种群,每个小种群由岛屿式模型中的节点来维护更新;进一步地,每个岛屿式模型的节点被视为主节点,将所负责的小种群的每个个体分配给主从式模型的每个从节点,进行适应值评估,从而进一步提高算法的并行度。该模型一(image
方面缓解了岛屿式模型扩展性不足的限制,另一方面也减少了单个主从式模型中对主节点的依赖度。

岛屿 - 细胞式混合模型:文献 [61] 结合了岛屿式分布式模型和细胞式分布式模型,从而得到岛屿 -细胞式混合模型,其主要框架如图 4(b) 所示。从图中可以看出,该模型外层采用岛屿式模型,内层中每个岛屿式模型的节点采用细胞式模型。该文献的实验结果表明,该混合模型可以获得与岛屿式模型相同或者更好的解,同时大大提高岛屿式模型的可扩展性。

岛屿 - 岛屿式混合模型:文献 [60] 采用双层岛屿式模型,得到岛屿 - 岛屿式混合模型,其主要框架如图 4(c) 所示。该模型外层采用岛屿式模型,内层中将每个外层岛屿式模型的节点进一步细分,同样采取岛屿式模型。该文献指出,岛屿 - 岛屿式混合模型的关键点在于两层岛屿式模型的移民策略的不同,其中外层岛屿式模型采用全局移民策略,而内层岛屿式模型采用局部移民策略;同样地,每层岛屿式模型的各个节点进一步可以采取不同的种群更新策略。因此,在该模型下,并行与分布式进化算法不仅能够获得更好的解,而且使得各种群间能够获得更发散的协作(Diverse Cooperation),同时能够更好地联合异构更新策略和同构更新策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值