文章目录
考试重点:
遗传算法中交叉和变异的概念和实现
选择中轮盘赌之前不能进行排序
i区间需要两边有值
多峰优化小生境
惩罚函数
pareto解的性质
模式定理的基本概念:模式的概念,模式的阶,模式的长度
蚁群算法信息素
城市选择概率怎么得到,参数的意义以及对选择概率的影响
粒子群算法速度和位置的更新
免疫算法什么是疫苗?怎么接种?疫苗跟记忆细胞比较,什么是记忆细胞?免疫算子是什么?各种选择算法的选择算子
模糊数学,分析计算题,模糊综合计算题,模糊综合评价和模糊聚类为计算大题
lambda结集
填空、判断、程序、简答、分析计算
第一章 绪论
智能的定义:通俗地讲,智能是个体认识客观事物、客观世界和运用知识解决问题的能力。智能是人类具有的特征之一
人类智能包括:
1)感知与认识事物、客观世界与自我的能力;
2)通过学习取得经验、积累知识的能力;
3)理解知识、运用知识和运用经验分析问题和解决问题的能力;
4)联想、推理、判断、决策的能力;
5)运用语言进行抽象、概括的能力;
6)发现、发明、创造、创新的能力;
7)实时地、迅速地、合理地应付复杂环境的能力;
8)预测、洞察事物发展变化的能力;
能感知、能学习、能思维、能记忆、能决策、能行动
人工智能:用人工的方法和技术,研制智能机器或智能系统来模仿、延伸和扩展人的智能,实现智能行为和“机器思维” 。
人工智能的物质基础:计算机
计算机之父——冯·诺依曼
达特莫斯会议
(1956
年夏天):首次提出了“人工智能” (Artificial Intelligence,AI)这一术语。分别从不同的角度共同探讨人工智能的可能性。
主要发起人是麦卡锡
主要参与人:
哈佛大学明斯基
(图灵奖)
贝尔实验室香农
IBM公司信息研究中心罗彻斯特
卡内基—梅隆大学赫伯特·西蒙
(图灵奖)
人工智能的三大门派
- 符号主义(Symbolism)
- 联接主义(Connectionism)
- 行为主义(Behaviorism)
从不同侧面模拟人的智能和智能行为。
符号主义的基本思想:
认知
的本质是计算思维
的基本单元是符号智能活动
的是对物理符号进行运算
- 人脑和电脑都是物理符号系统
- 人的智能可以通过基于符号逻辑的智能系统来模拟
- 启发式算法→专家系统→知识工程理论与技术是其典型代表
联接主义的基本思想:
- 人类认知活动主要基于大脑神经元的活动
- 人类思维的基本单元是神经元而不是符号
- 智能是互连神经元竞争与协作的结果
- 模拟人的智能要依靠仿生学,特别是模拟人脑,建立脑模型。
- 电脑模拟人脑应着重于结构模拟,即人的生理神经网络结构,不同的结构表现出不同的功能、行为。
符号主义和联接主义对比
符号主义采用知识表达
和逻辑符号系统
来模拟人类的智能。符号主义对智能进行宏观
研究
联接主义则从大脑和神经系统
的生理背景出发来模拟它们的工作机理和学习方式。联接主义则是一种微观
意义上的探索。
计算智能(Computational Intelligence,CI):借鉴仿生学的思想,基于人们对生物体智能机理的认识,采用数值计算的方法去模拟和实现人类的智能借助自然界规律,设计出求解问题的算法
进化计算
- 是建立在群智能基础上的随机搜索算法
- 进化计算为解决复杂优化问题提供了新思路和新手段
- 包括遗传算法、蚁群优化算法、粒子群优化算法、人工免疫算法、模拟退火算法、禁忌搜索算法,等等。
生物智能、人类智能、人工智能三者之间有什么区别和联系?
经典集合和模糊集合的主要区别是什么?
计算智能和人工智能的区别是什么?
第二章 遗传算法
优化问题
是指在满足一定条件下,在众多方案或者参数值中寻找最优方案或参数值,使得某个或多个优化指标达到最优(最大值或最小值)。
单目标优化问题
- 单峰优化问题
- 多峰优化问题
多目标优化问题
- 二、三维多目标优化问题
- 高维多目标优化问题
连续变量–函数优化问题
离散变量–组合优化问题
模型有三要素:目标函数,约束条件,决策变量
传统优化的局限性:
- 单点计算,难以发挥计算机高速性能
- 容易陷入局部最优
- 应用范围窄
进化优化的特点以及优势:
- 多点并行计算,发挥了计算机高速性能
- 全局搜索,避免陷入局部最优
- 目标函数没有要求,应用范围广
- 求解近似解 无限逼近最优解
遗传算法基本概念
-
编码:在遗传算法中,不是直接对决策变量的值来进行操作,而是对决策变量进行某种形式的编码
-
交叉:编码的交叉重组,类似于染色体的交叉重组。
-
变异:编码按小概率扰动产生的变化,类似于基因的突变。
-
选择:通过适应度的计算,选择好的个体,淘汰不合理的个体。类似于自然界的物竞天择,优胜劣汰.
-
最优解:末代种群中得到的最优个体经过解码
遗传算法基本结构
遗传算法与传统算法比较
全局探索用在算法开始阶段,扩大搜索范围
局部开发用在算法结束时,提高精度
遗传算法是结合上述两种搜索能力的算法,对深度搜索和广度搜索进行平衡!
编码过程以及存在问题
- 不冗余:码空间到解空间是1对1影射.
- 合法性:对编码的任意排列对应一个解.
- 完备性:任意一个解都对应一个编码
编码方式:
- 二进制编码(存在汉明悬崖问题)
- 浮点数编码
- 序列编码
种群初始化
- 一种是
完全随机
的方法产生的,它适合于对问题的解无任何先验知识的情况; - 另一种是根据某些
先验知识
转变为必须满足的一组要求,然后在满足这些要求的解中再随机地选取样本。
种群规模设定
- 从群体多样性方面考虑,群体规模越大越好,避免陷入局部最优。
- 从计算效率,群体规模应小。群体越大,其适应度评估次数增加,计算量增加。
- 应该针对不同的实际问题,确定不同的种群规模。 Goldberg证明了在二进制编码的前提下,若个体长度为L,则种群规模的最优值为2L/2
适应度函数(Fitness Function)
遗传算法要求适应度函数非负,还要求问题的优化方向要与适应度函数值的增大方向一致
- 最优解与具有最大适应值的个体相对应.
- 适应值能够反映个体质量的差异.
- 计算量应尽可能的少
- 对于最小化问题,适应度函数构造如下:
- 对于最大化问题,适应度函数构造如下:
- 适应度变换
- 避免个体之间的差距过大,限制竞争(避免出现超级染色体)
- 维持个体之间的合理差距,加速竞争(保证后期收敛速度)
- 线性变换、乘幂变换、归一化、玻尔兹曼变换
交叉算子
交叉算子又称为交换算子,它同时对两个染色体的部分基因进行交换是遗传算法中最主要的遗传操作。它的作用是不断产生新的染色体,避免算法陷入局部最优。一方面,它使得原来种群中优良个体的特性能够在一定程度上保留:另一方面,它使得算法能够探索新的解空间,从而使新种群中的个体具有多样性
分别有1-断点交叉、双断点交叉、算术交叉、基于方向交叉、模拟二进制交叉、单峰正态交叉、多父辈交叉
变异算子
- 遗传算法模仿这种变异现象,引入变异算子。变异发生在单个个体的某个基因上,并且变异概率Pm一般取值很小,以保证种群发展的稳定性。
- 在一次迭代过程中,必须有选择和交叉操作,但不一定要有变异操作。
- 包括随机变异、均匀变异(适用于浮点数编码)、
选择算子
选择是进化算法中的主要算子之一,与达尔文式的适者生存的概念直接相关。选择算子的主要目标是获得更好的解,通过进化算法中的两个步骤来完成:
- 繁殖:后代通过交叉或变异算子生成。在交叉中,优良个体应该有更多的机会去繁殖,以确保后代包含最好个体的基因。在变异中,选择机制关注 “劣势”个体目的是引入更好的性状,以增加劣势个体的生存能力。方式:轮盘赌
- 新种群的选择:在每一代的结束,一个由备选解构成的新种群会被选择作为下一代种群。新种群可以仅从后代中选择,或是同时从后代与父代中选择。选择算子的目标是确保优良个体能存活到下一代。
策略:1.(μ+λ)-selection(μ个父代, λ个子代,从μ+λ选择最好的μ)
2.(μ, λ)-selection(μ个父代, λ个子代,从λ选择最好的μ)
3.拥挤策略 :当一个新个体产生,死亡的个体应该是和他最接近的父代个体 - 选择压力:最佳个体选中的概率与平均选中概率的比值。
合适的选择压力很重要
太大:容易早熟,降低种群的多样性
太小:进化缓慢.
进化初期:小的选择压力,可以增加种群的多样性,对搜索区域进行探索(wide exploration)
进化后期:大的选择压力,可以开发优秀个体周围的区域(exploit the most promising regions)
轮盘赌
- 是遗传算法中使用最多的选择策略之一。
- 模拟博彩游戏中的轮盘赌
- 一个轮盘被划分为N个扇形,每个扇形表示种群中的一个个体,而每个扇形的面积与该个体的适应值成正比,设想有一个指针指向轮盘,转动轮盘,当轮盘停止后,指针所指向的个体被选择
- 因此,如果个体的适应值越大,表示该个体的扇形面积就越大,因此它被选择的可能性也就越大。
- 实现步骤
- 计算种群中所有个体适应值之和
- 计算每个个体的概率
- 计算每个个体的累计概率
- 产生[0,1]中的一个随机数r,来模拟一次轮盘转动,若 q<r<q+1,这说明指针指向第k个扇形,这时选择第k个个体。
- 转动轮盘N次,从中选出N个染色体
终止条件
- 当最优个体的适应度值达到给定的阙值,迭代结束.
- 当最优人体的适应度和种群适应度不再上升时,迭代结束
- 当进化选代次数达到预设的最大进化迭代次数时,迭代结束
- 在一些工程优化问题中,最优解的适应度值未知时,依据人为的经验或对问题的期望是出一个理想适应度值,一旦某代最优人体的适应度值超过了这个理想值,则迭代结束
参数设置
- 群体规模N:影响算法的搜索能力和运行效率。
若N设置较大,可以保证群体的多样性,但增加算法的计算量,降低了算法的运行效率。N的设置一般为20~100。 - 染色体长度L:影响算法的计算量和交叉变异操作的效果。
对于二进制编码方法,染色体的长度L根据解的取值范围和规定精度要求选择大小。 - 基因取值范围R :R视采用的染色体编码方案而定。
对于二进制编码方法,R ={0,1}
对于浮点数编码方法,R与每一维变量的取值范围相同。 - 交叉概率Pc :决定了进化过程种群参加交叉的染色体平均数目。
取值一般为0.4至0.99。
也可采用自适应方法调整。 - 变异概率Pm:Pm的值不宜过大。因为变异对已找到的较优解具有一定的破坏作用。
Pm的取值一般为0.001至0.1之间。
也可采用自适应方法调整。 - 适应值评价:适应度函数的设置同优化问题的求解目标有关。
为了更好地提高选择的效能,可以对适应度函数做出一定的修正。 - 终止条件:可以使算法在达到最大进化代数时停止,最大进化代数一般可设置为100~1000,根据具体问题可对该建议值作相应的修改。
也可以通过考察找到的当前最优解是否达到误差要求来控制算法的停止。
或者是算法在持续很长的一段进化时间内所找到的最优解没有得到改善时,算法可以停止。
遗传算法性能评估
- 成功率:在给定的时间内,算法终止时找到所需质量解的运行次数与运行总次数之比
- 有效性:在给定的运行时间或运行代数内算法的求解质量
- 平均最好适应值;
- 历史最好(Best-ever)适应值;
- 历史最差(Worst-ever)适应值
- 效率: 算法得到满意解时所花费的计算量或计算时间来度量。用计算时间度量效率时,依赖所用的计算机的类型、操作系统和编译软件等。
遗传算法有以下特点:
(1)遗传算法是对决策变量的编码进行遗传操作
(2)遗传算法是从许多点开始并行
操作,因而可以有效地防止搜索过程收敛于局部最优解。
(3)遗传算法不需要其他推导和附加信息,对问题的依赖性小。
(4)遗传算法在解空间进行高效启发式搜索
,而非盲目地穷举或完全随机搜索。
(5)遗传算法对于待寻优的函数基本无限制,因而应用范围较广
。
(6)遗传算法具有并行计算
的特点,因而可通过大规模并行计算来提高计算速度。
(7)遗传算法更适合大规模复杂问题的优化。
(8)遗传算法计算简单,功能强。
模式理论
模式:指编码的某些位置具有相似结构的染色体集合
模式阶:指模式中具有确定取值的基因个数
模式的长度:指模式中第一个具有确定取值的基因到最后一个具有确定取值的基因的距离
模式定理:在遗传算子选择、杂交和变异的作用下,具有低阶
、短长度
以及平均适应值高于群体
平均适应值的模式在子代中将得以指数级增长。
解决多峰优化问题(小生境)
优化问题往往不止存在一个全局最优解,还存在多个局部极值解。
在大多工程优化问题中,人们的目标除了获得全局最优解以外,还需要获得比较全面的一批次优解,以便为决策者提供更多的规划方案。
如何构造一种多峰优化算法,使之能够搜索到全局最优解和尽量多的局部最优解,已成为一个重要的研究分支。
大量研究表明,多峰优化问题存在解个数的不确定性、解分布的不确定性等问题。要求多峰优化算法:
- 增强峰的辨识能力和集聚能力
- 增加种群多样性和对已得极值解的保存能力
- 小生境技术,定位不止一个最优解
单峰函数用来测试算 法的收敛速度
多峰函数用来测试算法的全局搜索能力
- 小生境:生物学上,往往习性或特征相似的物种聚集在一起,并倾向在同类中繁衍后代。“物以类聚,人以群分” ,就是一种小生境的自然现象,是生物界可以保持无限多样性的重要原因之一。
- 优化算法中的小生境:极值及其周围的个体。多个极值,就形成多个小生境。
- 小生境技术: 分群,分类,以维持种群的多样性
1、基于排挤机制的小生境技术
当生物共生于一个有限的生存环境时,它们为了能够继续存活,必须通过相互竞争有限生存资源来维持生命
因此设置排挤成员,从父代中随机选取的CF个个体组成,然后依据新产生的个体与排挤成员的相似性来排挤掉一些与排挤成员相类似的个体。
个体之间的相似性可以用个体编码串之间的海明距离
来度量
随着排挤过程的进行,种群中的个体逐渐被分类,形成了许多小的进化环境,并维持了种群的多样性
2、基于共享适应度的小生境技术
提出反映个体之间相似程度
的共享函数
来调整群体中个体的适应度(共享适应度),算法能够依据这个共享适应度
来进行选择,以维护群体的多样性,创造出小生境的进化环境。
对共享函数及共享适应度的要求:越相似的个体,共享度越大
在一个小生境内个体数目越多,每个个体的共享适应度相应要降低
共享函数
共享度:个体与种群中其它每个个体间共享函数值的和,用于度量个体在种群中的共享程度
共享适应度值:
引入基于共享适应度的小生境技术后,可以适当降低那些相对比较集中的个体选择概率,而增大那些空间分布比较分散的个体的选择概率,使其有更多的机会参与进化。
这种调整适应度的方法使适应度较低的个体有更多的选择概率,从而维持了群体的多样性。
解决约束优化问题(惩罚函数)
常用的约束处理技术
1.拒绝法
抛弃所有在演化过程中产生的不可行染色体
2.修复法
通过一个修复程序对不可行个体进行修复,使之成为可行个体。
3.算子修正法
设计专门的遗传算子来保持种群中个体的可行性。
譬如:对TSP问题,需要重新设计交叉算子和变异算子。
4.惩罚函数法
惩罚函数法是一种常用的处理约束条件的方法
本质上它是通过惩罚不可行解,将约束问题转化为无约束问题
通过对目标函数加上一个惩罚函数
以构成一个广义目标函数。
对于极小(极大)化问题,惩罚函数应具有这样的性质:
对可行解X有P(x) = 0 ,即不产生惩罚
对不可行解x有P(x) > 0 (P(x) < 0 )
(1) 静态惩罚函数
c是预先指定的常数,d是一个常数,通常取d=1或2。
(2) 动态惩罚函数
c 随着迭代次数而变化。
选择适当的惩罚系数并不是一件容易的事
一种较好的方法是对每个约束,根据该约束的违反程度来确定惩罚系数。
对每个约束,确定 个区间
对每个区间,建立一个惩罚系数
该方法的优点是简单、直接、易于实现
对具有M个约束的问题,需要确定个M(2L+1)参数。
即 M(L+1) 个待确定区间的端点,ML个惩罚系数。
解决多目标优化问题(pareto前沿)
单目标优化问题只需要求得一个最优解即可,而多目标优化问题需要求解一个由不同程度折中
的最优解组成的解集,Pareto解
- A 与 B 均 Pareto 占优于 C
- PF上的解:在所有可行解中找不到其他解占优于这些解
- PF上的四个解 A、B、D、E 是平等的,不存在某个解比其他解更优的情况
Pareto 支配
Pareto 最优解
Pareto 最优解集
Pareto 最优前沿
多目标优化算法的目的:寻找一个具有一定大小的解集,并且该解集中的这些解可以在目标空间中近似代表 PF
。
这对多目标优化算法提出了两方面的要求:
一方面,所求最优解在目标空间要尽可能的逼近 PF
,解的质量不至于太差,具有收敛性;
另一方面,所求最优解在目标空间中要尽可能的沿 PF 均匀分布
,维持种群的多样性
例题
(1)下列说法正确的是_____。(多选)
A)任何一个生物个体的性状是由其染色体确定的,染色体是由基因及其有规律的排列所构成的,因此生物个体可由染色体来代表。
B)生物的繁殖过程是通过将父代染色体的基因复制到子代染色体中完成的,在复制过程中会发生基因重组或基因突变。基因重组是指同源的两个染色体之间基因的交叉组合,简称为杂交。基因突变是指复制过程中基因信息的变异,简称“突变”。
C)不同染色体会产生不同生物个体的性状,其适应环境的能力也不同。
D)自然界体现的是“优胜劣汰,适者生存”的丛林法则。不适应环境的生物个体将被淘汰,自然界生物的生存能力会越来越强。
答案:A、B、C、D
(2)类比计算类问题求解,下列说法正确的是_____。(多选)
A)一个染色体即是指问题的一个“可能解”。任何“可能解”都可以表达为编码形式,构成编码的基本单位即是基因。
B)所谓的复制、杂交、突变,是指一个可能解或两个可能解之间发生的、编码片段之间的复制、交叉或变异,它们都是产生新可能解的一种方式。
C)所谓的环境适应性,可以认为是对一个可能解的一种度量,即能够度量一个可能解的好与坏的某一函数值,被称为“适应度”。
D)基于A)、B)、C),遗传算法就是“通过复制、交叉或变异,不断产生新的可能解;计算可能解的适应度;淘汰掉适应度差的可能解,保留适应度好的可能解。
答案:A、B、C、D
(3)类比计算类问题求解,下列说法不正确的是_____。
A)一个染色体即是指问题的一个“可能解”,一个基因即是“可能解”的一个编码位或若干编码位的一个组合。
B)一个种群即是一个包含问题满意解的“可能解”的集合。
C)适应度,即是对“可能解”的一个度量,它可以衡量“可能解”接近最优解或精确解的程度。
D)复制、交叉、变异等都是产生新“可能解”的方式。
答案:B
(4)简述三个遗传算子
遗传算子包括选择算子、交叉算子和变异算子,它们是遗传算法的核心和基本算子。
1)选择算子
选择是为了从当前种群中选出优良的个体,使它们有机会作为父代来繁殖子代;并且选出新的种群。
2)交叉算子
交叉算子又称为交换算子,它同时对两个染色体的部分基因进行交换,是遗传算法中最主要的遗传操作。它的作用是不断产生新的染色体,增加种群的多样性,避免算法陷入局部最优。
3)变异算子
为了模仿生物遗传和进化过程中的变异现象,在遗传算法中引入了变异算子来产生新的个体。变异算子不是每次迭代都会进行的,有时候在算法中不允许对适应度最大的染色体进行变异
(5)在利用遗传算法解决旅行商问题时,若采用基于位置的交叉方式对下列两个染色体进行交叉,请写出交叉结果。
(6)讨论交叉率的重要性,讨论范围[0, 1]内的不同值的效果
较大的交叉概率可使各代充分交叉,产生更多的新解,使算法的探索能力增强,但同时种群中的优良模式遭到破坏的可能性也增大,以致产生较大的代沟,从而使搜索走向随机化;
若交叉概率太低,就会使得更多的个体直接复制到下一代,遗传搜索可能陷入停滞状态
(7)如何衡量遗传算法的性能好坏,下列说法不正确的是_____。
A)近似率越高的算法,性能越好。
B)在执行相同次数的迭代后,获得满意解越好的算法,性能越好。
C)在达到期望满意解的前提下,迭代次数越多的算法,性能越好。
D)当不同算法均应用多次后,求得满意解次数越多的算法,性能越好。
答案:C
A、B、D正确,C迭代次数多的算法性能差。
第三章 蚁群算法
蚁群算法觅食过程
自然界蚂蚁群体在寻找食物的过程中,通过一种被称为信息素(Pheromone)的物质实现相互的间接通信,从而能够合作发现从蚁穴到食物源的最短路径
-
蚂蚁在寻找食物的过程中往往是随机选择路径的,但它们能感知当前地面上的信息素浓度,并倾向于往
信息素浓度高
的方向行进。 -
信息素会随着时间的推移逐渐挥发掉,于是路径的长短及其蚂蚁的多少就会对信息素的浓度产生影响
-
由于较短路径上蚂蚁的往返时间比较短,单位时间内经过该路径的蚂蚁多,所以信息素的浓度比长路径高。
-
当后续蚂蚁在路口时,就能感知先前蚂蚁留下的信息,并倾向于选择一条较短的路径前行。这种
正反馈机制
使得越来越多的蚂蚁选择在较短路径上行进。 -
由于其他路径上的信息素会随着时间蒸发,最终所有的蚂蚁都在
最优路径
上行进。
蚁群算法基本原理
-
AS釆用人工蚂蚁的行走路线来表示问题的可行解
-
每只蚂蚁在解空间中独立地搜索可行解,当它们碰到未走过的路口时,会随机(概率)选择一条路径前行,同时释放信息素。
-
当后续蚂蚁来到这个路口时,会以相对较大的概率选择信息素浓度大的路径(路径越短,信息素的浓度就越大),并在“行走路线”上留下信息素,影响后来的蚂蚁,形成正反馈机制。
-
随着算法推进,代表最优解路线上的信息素逐渐增多,选择它的蚂蚁也逐渐增多。同时,其他路径上的信息素会随着时间推移而逐渐挥发,导致选择的蚂蚁越来越少,这是负反馈机制。
-
最终整个蚁群集中到最优解的路线上,即找到最优解。
构建路径时,蚂蚁k由当前城市i转到下一个城市j的决定因素有如下几个方面:
1.禁忌列表
为了避免蚂蚁重复走入同一个城市,AS算法为每只蚂蚁配备一个路径记忆向量,用来存放该蚂蚁依次经过的城市, 称为禁忌列表。
2.能见度(启发信息)
定义为城市i到城市j的距离的倒数,表示为ηi,j=1/di,j。两个城市之间的距离越短,其能见度越大,被选择的愿望越大。这种信息是固定的,也称为启发信息。
3.虚拟信息素
当蚂蚁由城市i选择城市j后,将在路径i,j上遗留虚拟信息素,表示为τi,j。
是一种动态的信息,反映了蚂蚁在解决问题过程中的经验积累和向其他蚂蚁学习的能力,该参数是在线更新的。
信息素的更新公式:
根据信息素的计算方式不同,提出了三种不同的AS模型:
-
蚁量模型
-
蚁周模型
Ant-cycle模型中,所有蚂蚁都构建完一条完整的闭合路径
后才进行信息素更新
利用的是整体信息
,充分体现全局范围内较短路径的影响力,加强了信息的正反馈性能,提高了搜索收敛的速度
在解决TSP问题时,性能较好,是常用的AS算法的基本模型 -
蚁密模型
4.路径构建
蚂蚁选择下一个城市的概率:
长度越短、信息素浓度越大的路径被蚂蚁选择的概率越大。
α和β是两个预先设置的参数,用来控制启发式信息与信息素浓度作用的权重关系
当α = 0时,算法演变成传统的随机贪心算法,最邻近城市被选中的概率最大
当 β=0时,蚂蚁完全只根据信息素浓度确定路径,算法将快速收,这样构建出的最优路径往往与实际目标有着较大的差异,算法的性能比较糟糕
根据实验结果表明,通常在AS中设置α =1 ,β =[2,5] 比较合适
实现步骤:
步骤1:初始化,设定相关参数:
全部城市数n
全部蚂蚁数m, m<n
循环(迭代)次数的最大值Nmax
初始时各路径信息素τi,j(0)=τ0
信息素挥发系数ρ以及α、β、Q等
建立禁忌列表Jk,并保证此时表中没有任何城市。
步骤2:将m只蚂蚁随机放在各个城市上,每个城市至多分布一个蚂蚁,并将m个蚂蚁所在城市存入禁忌列表Jk。
步骤3:所有蚂蚁依据概率选择下一城市,并将选择城市存入禁忌列表。
步骤4:所有蚂蚁都构建完一条完整的路径后,在所经过的路径上更新信息素,并记录本次迭代过程中的最优路径和最优路径长度。
步骤5:清空禁忌列表Jk,重复步骤2和步骤4直到每一只蚂蚁完成Nmax次迭代,或者出现停滞现象(所有蚂蚁都选择相同路径,路径不再变化),最后输出最优路径。
蚁群算法的参数选择
-
参数α的大小反映了蚁群在路径搜索中随机性因素作用的强度;
越大,则信息素积累的作用越强,随机性搜索的越弱;
越小,随机性搜索越强 -
参数β的大小反映了蚁群在路径搜索中先验性、确定性因素作用的强度;
过小,则陷入随机搜索;
过大,则算法虽然会很快找到一个优选的解,但易陷入局部最优 -
参数ρ表示信息素挥发因子,参数1-ρ表示信息素残留因子,ρ的大小从另一个侧面反映了蚂蚁群体中个体间相互影响的强弱
1-ρ越大,则正反馈作用增强,随机性减弱
1-ρ越小,则随机性增强,有利于搜索更多潜在的最优解,但是算法收敛速度降低。
直接关系到蚁群算法的全局搜索能力及收敛速度 -
m大,则全局搜索能力增强
m小,则收敛速度加快,算法过早停滞
蚁群算法参数“三步走”思想,其步骤如下:
步骤1:确定蚂蚁数目,可参照“实际问题的规模大致是蚂蚁数量的1.5倍”的选择策略来确定蚂蚁的总数目。
步骤2:参数粗调:调整α、β以及Q等参数,可得到较理想的解
步骤3:参数微调:调整ρ
蚁群算法主要特点
(1)一种基于多主体的智能算法,不是单个蚂蚁行动,而是多个蚂蚁同时搜索,具有分布式的协同优化机制。
(2)本质上属于随机搜索算法(概率算法),具有概率搜索的特征
(3)是一种全局搜索算法,能够有效地避免局部最优
(4)求解问题的快速性一一由正反馈机制决定
例题
1.下列关于蚁群算法说明错误的是( )
A)信息素的积累是正反馈过程,信息素的挥发是负反馈过程。
B)TSP问题中禁忌列表是为了防止同一城市出现多次。
C)概率转换规则中参数α越小,蚁群算法的随机性越强
D)概率转换规则中参数β越大,蚁群算法的随机性越强
2、下列关于禁忌列表的说法错误的是( )。
A)禁忌列表的作用是为了避免重复访问同一城市。
B)禁忌列表记录的是蚂蚁当前访问过的城市序号。
C)初始禁忌列表是空的。
D)遍历所有城市后,禁忌列表不需要清空。
填空题
(1)蚁群算法模拟了自然界中______过程而提出,可以解决______问题。
(2)蚁群算法需要一个记忆空间,称为______,表示已经过的路径。判断选择城市的主要依据有_____和_____,前者代表_____愿望,后者代表______愿望,反映了问题求解过程中经验的积累。
答案:
1.蚂蚁觅食,组合优化2. 禁忌列表,能见度,虚拟信息素,启发式,获知式
3、简述蚁群算法中参数α和β的作用
参数α的大小反映了蚁群在路径搜索中随机性因素作用的强度;
越大,表示选择以前走过路径的概率越大,随机性越弱;
参数β的大小反映了蚁群在路径搜索中能见度,即确定性因素作用的强度;
越大,则选择短路径的概率越大,易陷入局部最优,随机性越弱;
4、探讨在信息素公式中蒸发率的重要性。
蚁群算法中存在一种挥发机制,与真实蚂蚁一样,人工蚁在释放信息素的同时路径上信息素也在挥发,挥发系数通常用 ρ 表示
ρ反映了蚂蚁个体之间相互影响的强弱,直接影响算法的收敛速度和全局搜索能力
ρ 过小,蚂蚁将继续选择以前所走路径,全局搜索能力减弱,最终找不到全局最优解;表面上能提高算法的收敛速度,但实质上过度强化了算法的正反馈机制
ρ 过大,虽能增强算法的全局寻优能力,但降低了收敛速度
针对信息素挥发系数 ρ 的取值,通常采用仿真实验方式来确定,一般取 ρ ∈[0.1 ,0.5]效果较好
5、简述蚁群算法的特点
(1)蚁群算法是一种自组织的优化算法。自组织就是在没有外界作用下使得系统熵减小的过程(即系统从无序到有序的变化过程),蚁群算法充分体现了这个过程。
(2)蚁群算法是一种分布式计算的优化算法,易于并行实现。每只蚂蚁搜索的过程彼此独立,仅通过信息素进行通信。提高了算法的效率,使得算法具有较强的全局搜索能力。
(3)蚁群算法是一种具有正反馈机制的优化算法。对蚁群算法来说,初始状态时各个路径存在完全相同的信息素,算法采用的反馈方式是较优的路径上留下更多的信息素,而更多的信息素又吸引了更多的蚂蚁选择这条路径,这个正反馈的过程使得这个路径上的信息素不断增多,引导整个系统向最优解的方向进化。
(4)蚁群算法具有较强的鲁棒性。相对于其它算法,蚁群算法对初始路线要求不高,即蚁群算法的求解结果不依赖于初始路线的选择,而且在搜索过程中不需要进行人工的调整。其次,蚁群算法的参数数目少,设置简单,易于蚁群算法应用到其他组合优化问题的求解中。
第四章 粒子群算法
鸟群觅食过程
一群鸟在一片区域内搜寻食物,所有的鸟一开始都不知道食物具体在哪里。
假设它们能感知:
当前位置
和以往飞行的位置哪个离食物更近,
以及通过群体协作知道哪只鸟的位置
离食物最近
每只鸟根据自己的飞行经验和群体中距离食物最近的鸟的指引,不断的调整飞行方向。
所有的鸟向离食物最近的鸟靠拢
,去搜寻该鸟周围的区域,直到最终找到食物。
粒子群算法原理
有效解:粒子(鸟)的位置
最优解:对应着食物的位置
鸟在不清楚食物位置的情况下,能够感知三个位置:
- 当前位置
- 以往飞过的离食物最近的位置
- 群体中距离食物最近的鸟的位置
鸟的这种感知能力,在算法中是通过计算适应度函数来模拟实现的。
个体最优位置:
- 计算粒子当前位置的适应度函数
- 与它飞过的最优位置的适应度函数进行比较,得出
个体最优位置
- 代表了粒子本身的
飞行经验
(个体认知)。
局部最优位置:
- 计算所有粒子的适应度函数,比较得到一个最优适应度值
- 其对应粒子的位置就是局部最优位置
- 它代表
群体协作
(社会指引)
每只鸟(粒子)都根据自己的飞行经验
和群体协作
,不断调整自己的飞行方向向距离食物最近的鸟靠拢,搜寻该鸟周围的区域,直到找到食物的位置。
上述过程,在算法中是通过更新粒子的速度和位置来模拟。粒子具有位置和速度
的属性。
粒子的个体速度与位置更新公式
学习因子C1和C2的取值在0~4之间,为了平衡群体因素和个体因素对算法的影响,经过大量的实验研究,C1=C2=2的效果较好
流程图
PSO改进措施
在进化初期
,应设置较大的 C1值和较小的 C2值,令“认知模型”占较大的比重,“社会模型”占较小的比重,这样设置,可以让粒子在进化初期仔细地在自身的邻域内搜索,防止粒子匆忙向局部最优解会聚而错过自身邻域内的全局最优解
: 进化末期
,应设置较小的 C1 值和较大的 C2,值,这样可以使粒子更快速、更准确地收敛于全局最优解
。所以,该算法将学习因C 构造成随着进化推进而单调递减的函数,将学习因子 C构造成随着进化推进而单调递增的函数,并通过参考前人所设置的学习因子的固定值,经过大量的仿真试验,将参数 C 和 C用数学表达式表示为式 (6.17) 的形式。
例题
填空题
(1)粒子群算法的缩写是____,它模拟了自然界中_____过程而提出。在粒子群算法中,最关键的两个变量分别是_____和______ 。
(2)粒子群算法的每一次迭代之后,都会得到一个_____最优解和______ 局部最优解。
答案
(1)PSO,鸟群觅食,位置,速度
(2)个体的,群体的
4.请简述粒子群优化算法的操作流程。
5.说明学习因子的作用以及C1、C2之间的辩证关系
第五章 免疫算法
生物免疫系统
免疫:是对“自我”和“非我”的识别,并排除“非我”的能力
抗原:任何能够诱发免疫反应的有害物质。它可以刺激机体产生抗体,并与抗体发生免疫反应。
抗体:是一类与抗原进行特异性结合的物质,该物质能够与抗原发生免疫反应,从而保护机体健康
免疫应答:是指生物机体受到抗原刺激后,机体产生抗体并清除抗原的一系列特异性免疫反应过程。
免疫疫苗:是一种病原微生物试剂。该试剂是病原微生物经过人工处理后可以预防传染病发生的一种生物制剂。
生物免疫过程
1、抗原识别:
抗体的抗原识别受体和抗原的抗原决定基之间进行匹配,匹配的程度决定了两者的结合强度,这种结合力称为亲和度
抗体和抗原之间无需完全匹配,只要亲和度超过一定的水平,即可激活免疫应答
这种识别称为非精确识别,免疫系统的这个特性,使其具有极高的识别效率和良好的泛化识别能力
2、初次免疫应答:
免疫系统选择亲和度高的B细胞变异,期待产生更高亲和度的B细胞。
当免疫细胞的亲和度达到一个更高水平时,系统便启动克隆选择过程:
只有高亲和度的B细胞
通过才能进行克隆,并通过超变异调整自身抗体与抗原亲和度直至亲和度成熟,产生最佳抗体,最终消除抗原。
一部分最佳抗体会转化为记忆B细胞,实施存储记忆功能,以应付日后的二次免疫应答
3、二次免疫应答:
在抗原识别的过程中,记忆B细胞也参与其中
如果某些记忆B细胞能够与抗原匹配,将产生较高的亲和度
免疫系统将直接大量复制这种记忆B细胞。
免疫遗传算法
在遗传算法的框架中引入免疫算子
而形成
免疫算子:
- 疫苗接种
- 免疫选择
疫苗: 待求问题的局部特征信息
接种疫苗:它通过局部信息干预全局搜索,避免随机搜索的盲目性,有效抑制种群退化,提高种群的质量。
疫苗的获取和接种
- 将原问题简化处理,简化后的求解规律越明显,就越容易获取疫苗
- 从最佳个体的基因中提取有效信息作为疫苗
- 以一定概率对种群中的所有抗体接种疫苗,以提高亲和度
- 疫苗不是一个成熟或完整的抗体,它是抗体中一些优秀的基因
疫苗与记忆细胞的区别:
记忆细胞是亲和度高的抗体
疫苗是一些基因,可以用来提高接种疫苗后抗体的亲和度
免疫选择:
免疫检测:计算被接种疫苗的抗体的亲和度
如果其亲和度值比其父代低,则放弃该接种疫苗后的抗体(退化现象),保留其父代,否则:退火选择:以一定的概率选择子代以生成下一代种群,对 Ck中的每个个体计算概率p(xi),对 Ck中的每个个体产生一个随机数ξi,若ξi> p(xi),则该个体进入Ak+1,否则其父代进入Ak+1
克隆选择算法
克隆选择原理:无性繁殖、复制自身
的过程,是生物免疫系统理论的重要组成部分
只有能够识别抗原
的细胞才被选择并进行超变异
,而不能识别抗原的细胞则不被选择。
克隆选择算法步骤:
Step 1: 初始化:产生初始抗体种群
Step 2: 亲和度计算:计算抗体 - 抗原亲和度,即抗体的适应度值
Step 3: 选择 m 个与抗原亲和度高的抗体
Step 4: 克隆操作:对所选择的抗体进行克隆操作
Step 5: 免疫基因操作:对克隆个体实施超变异操作
Step 6: 克隆选择操作:对新产生的抗体进评估,选择亲和度高的 n 个抗体到下一代
Step 7: 终止条件判断。
克隆操作的实质就是将抗体A复制q次
2.免疫基因操作
免疫基因操作包括超变异和交叉
其中仅采用超变异的算法为单克隆选择算法
;变异和交叉都采用的为多克隆选择算法
在算法中,超(高频)变异
是提高亲和度和种群多样性的主要措施
超变异直接在单个父代上进行,随机选择一个或者一段基因位进行改变,能显著增加抗体的多样性。
超变异的频率一般遵循与抗体的亲和度成反比的规律,即适应度高的个体其变异的频度越低。
3.克隆选择操作
与遗传算法中的选择操作(轮盘赌)不同,克隆选择操作 是从抗体各自克隆后的子代中选出优秀的个体,按照类似退火算法的概率来选择
第六章 模糊数学
模糊数学是用来描述、研究、处理事务所具有的模糊特征(及模糊概念)的数学。
模糊(Fuzzy):有“不分明”、“界限不清”之意,是指研究对象。而“数学”是指研究方法,方法可以是精确的,二者并不矛盾。
1965年,扎德(L. A. Zadeh)教授首先提出用隶属度函数(membership function)来描述模糊概念,创立了模糊集合论,为模糊数学奠定了基础。
事物越复杂,人们对它的认识也就越模糊,也就越需要模糊数学(不相容原理)。
论域:被讨论的全体对象称为论域,每个对象称为元素
集合:在论域中,具有某种属性的元素组成的总体称为集合。
模糊集合:论域U上的一个模糊集合F是指,对于论域U中的任一元素u∈U,都指定了[0,1]闭区间中的一个数μF(u)∈[0,1]与之对应,μF(u)称为u对模糊集合F的隶属度。
μF :U→[0,1]
u→ μF(u)
这个映射称为模糊集合F的隶属度函数。 模糊集合有时也称为模糊子集。
模糊集合的表示
(1)向量表示法
(2) Zadeh 表示法
(3)序偶表示法
描述法,隶属度函数法,几何图示法(略)
幂等律:A∪A = A, A∩A = A;
交换律:A∪B = B∪A,A∩B = B∩A;
结合律:(A∪B)∪C = A∪(B∪C),
(A∩B)∩C = A∩(B∩C) ;
吸收律:A∪(A∩B) = A,A∩( A∪B)= A;
分配律:(A∪B)∩C = (A∩C)∪(B∩C);
(A∩B)∪C = (A∪C)∩(B∪C);
0-1律: A∪U = U,A∩U = A;
A∪空集= A,A∩ = 空集 ;
还原律: (Ac)c = A ;
A∪Ac≠U, A∩Ac ≠ 空集
除了最后一条,模糊集的运算性质与经典集合一致。
原因:模糊集不再具有“非此即彼”的特点
目前隶属度函数的确定方法大致有以下几种:
- 模糊统计方法:用对样本统计实验的方法确定隶属度函数。
- 例证法:从有限个元素的隶属度值来估计隶属度函数。
- 专家经验法:根据专家的经验来确定隶属度函数。
- 机器学习法:通过神经网络的学习训练得到隶属度函数。
隶属度函数反映了事物的渐变性
λ截集
λ截集是指隶属度大于等于λ的元素组成的集合
表示为: Aλ ={x X:A(x)≥λ }
称Aλ为A的λ截集,其中λ称为阈值或置信水平
又记:Aλ+={x X:A(x)>λ } 称Aλ+为A的λ强截集
Aλ是经典(精确)集:明确定义了对A的隶属度到达或超过某个λ水平者才算是Aλ的成员
分解定理
设A为论域X上的模糊集合,Aλ是A的截集,则有
这个定理说明了:
大量的、甚至无限多的清晰事物重叠加在一起,总体上就形成了模糊事物。
关系:描写事物之间联系的数学模型。如:
x 对 y 有余弦关系( y=cos x )
a 对 b 有大小关系( a>b )
集合的笛卡尔积:
给定集合X和Y,由全体序偶(x,y)(x∈X,y∈Y)组成的集合,叫做X与Y的笛卡儿积(或称直积),记做:
X×Y={(x,y)|x∈X,y∈Y}
模糊关系:是指笛卡儿积上的模糊集合,表示多个集合的元素间所具有的某种关系的程度。
模糊关系的合成是指:由第一个集合和第二个集合之间的模糊关系及第二个集合和第三个集合之间的模糊关系得到第一个集合和第三个集合之间的模糊关系的一种运算
模糊关系的合成,因使用的运算不同而有各种定义。下面给出常用的max-min 合成法。
设R1是X和Y的模糊关系,R2是Y和Z的模糊关系,那么R1和R2的合成是X到Z的一个模糊关系,记作R1οR2,其隶属度函数为
模糊聚类
模糊聚类分析:为了解决客观世界中存在的界限不分明的聚类问题。
依据事物的某些属性将其聚集成类,属性值包括数值属性和符号属性。
分类后类与类之间的相似性尽量小,而同类之间的的相似性尽量大。
模糊聚类的方法
- 系统聚类法
- 传递闭包法(理论成熟,易于实现)
- 最大支撑树Prim算法
- Kruskal算法
- 动态直接聚类法
- 模糊C-均值聚类法
- 人工神经网络模糊聚类法等
模糊聚类的步骤:
1、依题意写出特性指标矩阵
2、数据格式化
3、构造模糊相似矩阵
4、求出模糊相似矩阵的传递闭包
5、进行分类
例题
模糊综合评价
在对某一事务进行评价时:
评价事务是由多方面的因素所决定的,因而要对每一因素进行评价
在每一因素作出一个单独评价的基础上,考虑所有因素作出一个综合评语。
模糊综合评价:
一级模糊综合评价
多级模糊综合评价(略)
一级模糊综合评判的步骤:
例题