本书编写时间为20世纪90年代,主要是从自然中昆虫的一些社会性行为,来向人们展示集群智能的作用。
一个贯穿整本书的概念:
一段对后续研究非常有指导性的文字: 所以本书的目的并不是介绍多么复杂的公式,而是向人们展示如何将自然界中(生活中)的现象进行建模,从而为我们所用。
1 简介
在群落的巢穴中,按分工执行任务通常比非专业群体按顺序执行任务更加高效。
如此数量巨大的昆虫群落是如何呈现出良好的组织关系?
研究表明,自组织确实是社会性昆虫表现出各种集体性行为的主要原因。
如何将这种自组织的行为应用到我们的研究中?
一个合理的方法是研究昆虫群落共同执行某些特定任务的机制,并对这一行为进行数学建模,然后以该模型为基础研究其在人工智能体上的应用规律。在这一过程中可能需要调整模型中的参数(甚至超出生物范围)或者是向模型中添加非生物学的特征。还有一种非常有前途的办法就是引入经济或金融领域中的概念!!!
这也是本书的写作目的:介绍一系列基于自然观察得到的集群智能模型,以及如何将它们转化为有用的人工集群智能设备。
1.1 社会性昆虫群落的集体行为建模
①自组织所依赖的四个基本要素:
- 正反馈(扩增):”经验法则“,形态发生变化的基础。
- 负反馈:抵消正反馈对群体的影响,使群体状态稳定。可采用饱和、衰竭或竞争等形式。
- 自组织系统依赖于对波动(随机游走、误差、随机任务切换等)的放大。
- 所有自组织系统都依赖于多重交互。
②自组织产生的现象通常具备的关键属性:
- 在最初的同质介质中创建时空结构:比如蜂巢内部的结构(包括蜂蜜、划分等的分布)
- 几种稳定状态可能共存(多稳态)
- 当一些参数变化时集群系统将存在分支
③共识主动性
本书根据所提出的蚂蚁筑巢的例子以及其他例子又引入了增量构造概念,即基于先前的解决方案构造新的解决方案。
1.2 交互建模
理解自然现象和设计有用的智能系统是两种截然不同的过程。理解自然现象需要观察、实验,建立受到观察和实验结果约束的数学模型。而设计过程则只会受到工程师的想象力以及现有技术的限制。
建立昆虫群落中发生自然现象的模型是构建放生集群人工智能系统的基础。一个优秀的模型通常具有简单、一致、可测量等特点。
上述文字的意思是在已有模型上进行改进可能会更有效,通过修改参数使得原模型应用在新的案例上更加吻合。参数的修改可以突破自然的约束!
1.3 从算法到机器人
2 蚂蚁觅食行为在通信网络中的应用:组合优化和路由
2.1 概述
本章基于旅行商问题(TSP)给出蚁群算法的详细介绍,受蚁群行为启发而设计出的算法已经应用到许多组合优化问题中,例如二次分配问题、图形着色问题、作业车间调度问题、顺序编排问题以及车辆路径规划问题等。
2.2 蚁群觅食策略
觅食过程的短暂时间的波动并不会影响最终的结果。
参数n可以调节这一方程的非线性程度,当n很大时,拥有更多信息素的路径优势将被放大,下一只蚂蚁会有很高概率选择这一路径。参数k用于量化处于选择劣势的路径的吸引程度,k越大,代表下一只蚂蚁不根据信息素的积累并做出随机选择的概率增加。
说明真实蚁群和人工蚁群之间存在明显差异的一个例子:“在某些情况下,将觅食活动集中在一个特定的地点或区域对群落而言可能是更好的选择,原因是即使食物源并不是最好的,但因为路径简单反而更容易保护;如果以”机会主义“的方式专项其他食物源可能会产生代价,例如可能导致种群保护水平急速降低。”
其中Pm表示蚂蚁是否移动的概率。
2.3 蚁群优化算法:旅行商问题
蚁群优化算法最初由多里戈、克洛尔尼与曼尼佐联合提出,近期研究表明,将蚁群优化算法与局部搜索或其他优化方法结合使用的方式是非常有前途的。
①正反馈和负反馈以及挥发时间尺度的选择和作用?
②TSP问题中决定蚂蚁k在第t次迭代中,从城市i移动到城市j的概率的因素有哪些?
- 是否已经访问过该城市,定义一个列表用于为每只“蚂蚁”k定义其在城市i时仍需要访问的城市集合。
- 城市间距离dij的倒数称为可见性。
- 连接城市i和城市j的“边”所包含的虚拟信息素来度量。
转移概率公式如下:
建议设置m=n,即迭代的“蚂蚁”的总数量与问题中涉及的城市数量一致,以此来保持良好的性能平衡。数值实验已经证明少量的“精英蚂蚁”可以提高算法的性能(“精英蚂蚁”概念和遗传算法中的精英策略相似)。
③AS-TSP伪代码:
④有趣的非收敛特性!
从上面这张图可以看出(还有一张关于标准差的对比图),标准差较高和平均分支数仍超过5,这成呈现出了一种”非收敛“特性,这种特性优势如下:
- 这种”非收敛“可以保护蚂蚁系统算法免于陷入局部最优解;
- “非收敛”的倾向使蚂蚁系统算法适用于动态问题(问题特性随时间变化);
⑤蚂蚁系统(AS)和蚁群系统(ACS)的区别?
蚂蚁系统仅能在合理时间内找到小规模问题的良好解决方案。蚁群系统对蚂蚁系统进行了4个方面的修改:转移规则、信息素踪迹更新规则、使用信息素踪迹的局部更新、使用候选列表。详细描述如下:
- 转移规则:
理论上可以通过从0-1调整q0值来逐步的控制系统,使得算法在初始阶段偏向探索,而在后续阶段偏向利用。 - 信息素踪迹更新规则,蚂蚁系统和蚁群系统区别如下:
Ⅰ 在蚂蚁系统中,所有“蚂蚁”在完成旅行后均可以释放信息素。而蚁群系统只有在自实验开始以来产生了最佳路线的“蚂蚁”可以更新路径上的信息素浓度。
Ⅱ 蚂蚁系统中,信息素轨迹更新规则应用于所有路径,而在蚁群系统中,信息素更新规则仅应用于搜索到的“最佳”路径的组成路径。
总之,这种规则只允许通过全局更新来加强最佳路径,同时执行局部更新以搜索新的解决方案。 - 使用信息素踪迹的局部更新,一整个不理解????P50
- 使用候选列表的原理如下:
⑥ACS-TSP伪代码:
2.4 蚁群优化:二次分配问题
用于解决二次分配问题的蚂蚁系统简称为“AS-QAP”。蚁群优化算法应用于二次分配问题时,采用了图论的表示方法。在QAP问题中,和AS-TSP问题类似,信息素会释放在路径上并用于在下一步时帮助构建类似的解决方案。
①QAP和TSP的区别和共同点:
- 区别:QAP中,构造解是通过从最小距离势对应的行开始去寻找符合条件的最小交互势(匹配过程是以概率性的方式从所有行为中进行选择)
参数α和β用于调整信息素轨迹和启发式吸引力的相对重要程度
-
相同点:AS-QAP和AS-TSP中关于信息素更新的算法相同。
②算法对比:
在一系列规模为5-30的标准问题中,AS-QAP的性能优于两个进化算法(遗传算法GA和进化策略ES),但劣于模拟退火算法(SA)、禁忌搜索算法(TS)、采样与聚类算法(SC)。
下面的表格字母什么意思???
③混合蚂蚁系统(HAS-QAP):
主要创新点有两个方面:
- “蚂蚁”的作用是修改解,而非生成解。
- 信息素轨迹用于指导“蚂蚁”如何对解进行修改,而非引导其重新构造解。
该算法由三部分组成:
- 基于路径上的信息素及逆行解的修改
- 局部搜索:该过程以随机顺序检查所有可能的交换,并接受任何能够改进当前方案的交换。
- 路径上信息素的更新:当所有“蚂蚁”都进行了对路径上的信息素修改并进行了局部搜索后,全局信息素矩阵就会更新。更新素更新规则类似于AS-TSP和AS-QAP的规则,而更新项类似于ACS-TSP。
也就是说 只有属于从试验开始时的最佳组合的路径才会得到正向强化。为了避免算法进入停滞状态,如果在连续S次迭代中未能找到提高当前最佳解决方案的组合,则激活多样化进程,激活后,所有路径上的信息素值都会被重置。
对于不规则的问题,无论是短期运行还是长期运行,HAS-QAP算法始终能够提供最优或接近最优的解决方案。但是在常规问题上,TT算法和RTS算法表现最佳,HAS-QAP表现不佳,原因是这些常规问题缺乏“结构”。蚁群算法能够通过强化优良解的方式探测优良解所包含的结构,如果问题中大部分的优良解位于最优解附近,则该方法就具有优势。
综上所述,HAS-QAP算法在针对具有结构化解的实际问题时,是一个非常好的启发式算法。
2.5 蚁群算法在优化领域中的其他应用
详细介绍没怎么看~
2.6 关于ACO算法的几点思考
①神经网络和蚁群算法中的概念对比
二者基本原则均可以表述为:加强属于优秀解决方案的组成部分,并且逐渐弱化这一强化作用的影响以避免算法陷入局部最优解。
②ACO算法和进化算法比较
基于人口的增量学学习算法(PBIL)受到遗传算法的启发。比如n个城市则为每个城市分配一个长度为的字符串, 通过增加整数值来排序城市,数值相等时,优先选择字符串最前端的城市。该算法中使用的排序生成向量和ACO算法中的信息素矩阵的作用相似。但是在ACO算法中,信息素矩阵在“蚂蚁”构建解决方案时发生变化;而在PBIL算法中,概率向量仅在生成一组解决方案后才被修改。此外,ACO算法使用启发式方法指导搜索,而PBIL算法则没有。
2.7 电信网络中的应用
之前讨论的优化问题都是静态的,即问题不会随着时间的推移而改变。但是实际上分布式十遍问题是下一个重要的研究领域,首次的典型应用就是电信网络中的路由,该问题不仅是动态的,而且是分布式的。
2.7.1 ABC:电话网络中的路由
该算法由肖恩德沃德等人为电话网络提出的基于蚁群概念的控制方法,是一种自适应路由算法,基于许多简单的个体(可称为蚂蚁),这些个体通过在路由列表上存储的路径虚拟信息素来修改电话网络中每个节点的路由策略。个体的目标是在运行时构建路由表并适应网络流量负载的变化,以最大化网络性能。
总的来说,引入“蚂蚁”对路由列表进行更新的影响如下:在为一个更新的呼叫构建路由时,更倾向于选择经常被访问和被“年轻蚂蚁”访问的路由方案。该方法可以使靠近蚂蚁源节点的线路比更远的线路获得更好程度的强化。
呼叫路由、蚂蚁路由、蚂蚁更新路由列表以及用户生成的流量之间存在复杂的相互作用,图示如下:
后续看不下去就没再看!