模糊控制器合成的进化算法:理论、实践与优化
1. 进化算法基础
进化算法采用基于竞争的新型选择模型,绕开了定义合适适应度函数这一难题。随机生成初始条件,对两个竞争控制器进行并行模拟,直至一方失败或成功,成功或未失败的控制器获胜。该算法依赖系统模拟器,若有专家知识,可将手写规则集插入初始种群。
算法整体结构如下:
1. 初始化种群,可随机初始化或从文件读取。
2. 重复以下步骤直至满足终止条件:
- 随机从种群中选取两个个体进行竞争,获胜者繁殖,失败者被其后代取代。
- 以概率 $p_x$ 随机选取两个个体进行竞争,获胜者与前次竞争的获胜者进行交叉操作。
- 对后代进行随机变异。
- 用后代替换第一次竞争的失败者。
3. 将种群保存到文件。
终止条件可以是时间相关(如达到预定代数),也可以由种群统计量的(模糊)谓词触发。
2. 算法实现细节
2.1 编码
W.A.R.P. 程序编码分为三个主要部分:输入变量的隶属函数集、输出变量的对称隶属函数集(用面积 - 质心对表示)和规则集。
- 单个输入变量隶属函数由 32 个点定义,每个点是一个字节大小的定点数对。
- 输出变量隶属函数因硬件架构要求对称,可用面积和质心两个参数描述。
- 规则由最多四个联合前件子句(IF 部分)和一个后件子句(THEN 部分)组成,子句由变量和其模糊子域(隶属函数)的索引对表示。
硬件实现要求每个输出变量至少有两个隶属函数且在至少一个规则中使用,算法通过规定前规则的后件固定来满足此要求,每个输出变量的前两个隶属函数分别对应
超级会员免费看
订阅专栏 解锁全文
616

被折叠的 条评论
为什么被折叠?



