群体智能算法

1 群体智能

概念

  • 英文:swarm intelligence

  • 超越个体智慧水平的总体智慧

  • 面向共同问题,自发进行组织。

  • 个体如何通过与群内其它个体的连接、信息交流、沟通、组织和自组织,产生群体的智能优化行为。

特点

  • 自组织的(self orgnization)
  • 分布式的(distributed)没有中心的控制与数据。
  • 个体简单,群体复杂,信息交流
  • 可扩充。

(1) 控制是分布式的,不存在中心控制。因而它更能够适应当前网络环境下的工作状态,并且具有较强的鲁棒性,即不会由于某一个或几个个体出现故障而影响群体对整个问题的求解。
(2) 群体中的每个个体都能够改变环境,这是个体之间间接通信的一种方式,这种方式被称为“激发工作”(Stigmergy) 。由于群体智能可以通过非直接通信的方式进行信息的传输与合作,因而随着个体数目的增加,通信开销的增幅较小,因此,它具有较好的可扩充性。
(3) 群体中每个个体的能力或遵循的行为规则非常简单,因而群体智能的实现比较方便,具有简单性的特点。
(4) 群体表现出来的复杂行为是通过简单个体的交互过程突现出来的智能( Emergent Intelligence) ,因此,群体具有自组织性。 [1]

基本原则

(1) 邻近原则( Proximity Principle) ,群体能够进行简单的空间和时间计算;
(2) 品质原则(Quality Principle) ,群体能够响应环境中的品质因子;
(3) 多样性反应原则( Principle of Diverse Response) ,群体的行动范围不应该太窄;
(4) 稳定性原则(Stability Principle) ,群体不应在每次环境变化时都改变自身的行为;
(5) 适应性原则(Adaptability Principle) ,在所需代价不太高的情况下,群体能够在适当的时候改变自身的行为。

应用领域

  • 旅行者商问题
  • 车间任务调度问题
  • 资源受限的工程调度问题
  • 多机器人系统的任务分配
  • 目标聚类
  • 通信网的路由选择
  • 图着色
  • 分割等最优化问题

2 基本群体智能算法

粒子群优化算法PSO

人工蜂群算法ABC

蚁群优化算法ACO

布谷鸟算法CS

萤火虫优化算法GSO

灰狼算法GWO

蝙蝠算法

海豚算法

细菌觅食算法

蛙跳算法

3 群体智能应用方案

群体智能与漏洞挖掘

  • 漏洞挖掘分析的自动化规模化
  • 卡耐基梅隆大学Myahem自动挖掘与利用系统,自动发现二进制代码中的漏洞。->自动化
  • google的并行漏洞挖掘与分析系统->规模化
  • 文章给出了群体智能与漏洞挖掘的理论模型,但并没有详细介绍结合方式。理论构成主要包括:主体集合、工具集合、目标任务集合、上下文环境集合、路径代价函数(负责利用四个集合,寻找最优路径)
  • 违章给出了平台的架构设计:理论方法层、基础设施层、资源架构层、应用服务层。

群体智能算法与密码学

  • 构造流密码密钥生成器。显然不知道这是个什么东西。
  • 秘钥很难保证真正的随机。使用群体智能算法进行搜索。

群体智能在网络入侵检测中的应用

  • 分布式地检测和响应系统。信息素服务器,发送警报信息素;观察者观测主机遭受到攻击时候的状况;淋巴细胞随机游走,寻找信息素,聚集到被感染的主机。
  • PSO-BP,PSO-SVM入侵检测

4 群体智能优化方案

还有各种诡异的名字的算法,留待以后补充。需要对这些基本的算法进行掌握。然后了解前沿的算法应用。