当前课程知识点:智能控制 > 第八章 遗传编程 > 8.4 遗传编程的工作步骤及实例分析 > 8.4 遗传编程的工作步骤及实例分析
那么归纳一下
遗传编程的工作步骤如下
第一 确定每个个体的表达方式
它的基因型是什么
包括函数集F
有哪些函数
加 减 乘 除
还有对数、指数等等
及终止符集有哪些变量
常量、数字等等
第二 随机产生初始种群
第三 计算个体的适应度值
这是根据目标函数来确定
第四 根据遗传参数
用下述操作产生新个体
包括复制 交换 突变
所谓复制就是采用轮盘赌法
将已有的优良个体进行复制
加入新群体中
并相应地删除劣质个体
第二 交换
将选出的两个个体进行交换
这里面存在一个谁和谁配对的问题
第二个问题就是说
配对之后在哪个地方进行交换
第三 突变
随机地改变个体的某一部分
将新个体插入新群体中
第五 反复执行第三第四步
直到取得满意的结果
下面看一个例子
函数集F定义为加 减 乘 除
终止符集定义为a
a取10个不同的值时
表达式函数f(a)取值
分别列表
如这个表所示
当a取2.81的时候
f(a)为95.2425
a为6的时候
f(a)为1554
a等于2的时候
f(a)等于168420
那么采用遗传编程的方法
选择迭代次数为50代
种群个数规模为30个
运行了100次
终止允许绝对误差是0.01
得到了下面这个图
这个图呢
实际上就是
我们可以把它进行简化
我们发现最后一行都是a
终止符集
它没有
它已经到底了
那么把它解这张图简化一下
得到了这样一个树形的图
我们很容易算出来
它对应的结果就是
函数表达式是(见公式)
我们可以简单验证一下
当a等于10的时候
f(a)等于10的4次方 10000
加上10的3次方 1000
加上10的平方 100
加上10等于11110
正好等于f(a)的值
实际上这也是刚好拟合了这个函数
它的一个最优的结果
是这样的一个东西
也体现它良好的一个优化性能
下面我们看第二个例子
函数集F还是加 减 乘 除
终止符集T为a
a取10个不同的值
a从1取到10
f(a)分别从15对应到54321
那么采用遗传编程时
选择迭代次数100代
种群个数为60个
运行100次
终止允许绝对误差0.01
那么得到下图就是
这样的一个树形的结构图
那么得到的结果就是
(见公式)
我们可以验证一下
当a等于1的时候
f(a)等于多少呢
5+4+3+2+1
刚好等于15
这说明它是符合的
-开篇
--开篇
-1.1课程考试方式
-1.2 数据、信息、知识与智能
-1.3传统控制面临的挑战
-1.4 控制科学发展过程
-1.5 智能控制的多元论
--1.5
-1.6 控制策略的渗透与融合
--1.6
-1.7 智能控制与传统控制的联系与区别
--1.7
-1.8 智能控制的类型之分级递阶智能控制系统
--1.8
-1.9 智能控制的类型之专家控制系统
--1.9
-1.10 智能控制的类型之模糊控制系统
--1.10
-1.11 智能控制的类型之神经网络控制系统,智能控制的类型之基于规则的仿人智能控制系统,集成智能控制系统,组合智能控制
--1.11
-1.12智能控制系统的类型之基于规则的仿人智能控制系统,集成智能控制系统,组合智能控制
--1.12
-1.13本章小结
--1.13
-第一章测试
-2.1基于搜索的问题求解
-- 2.1.7 均一代价搜索
-- 2.1.10 A星算法
-2.2 专家系统简介
- 2.3 专家PID
-第二章测试
-3.1 模糊控制概述
-3.2 模糊集合
-3.3 隶属函数
--3.3隶属函数.
-3.4 模糊关系及其运算
-第三章测试
- 4.1 模糊自适应整定PID控制原理
-4.2 基于FF的模糊PID控制试验验证
-第四章测试
- 5.1 神经网络简介
- 5.2 神经网络的发展简史
-5.3 神经网络的基本概念
- 5.4 神经网络的分类
-5.5 神经网络的学习算法、基本特征和研究领域
-第五章测试
-6.1 感知器
--6.1.2.1 感知器应用实例分析(实现逻辑运算与或非)
- 6.2 BP神经网络
--6.2.2.1 BP神经网络应用实例分析之一:逻辑运算异或实现
--6.2.2.2 BP神经网络应用实例分析之二:非线性函数拟合
-第六章测试
- 7.1 什么是遗传算法
-7.2 遗传算法的特点
-7.3 遗传算法的基本操作之复制
-7.4 遗传算法的基本操作之交叉与变异
-第七章测试
-8.1 遗传编程工作原理
-8.2 遗传编程基本操作之复制
-8.3 遗传编程基本操作之交换和突变
- 8.4 遗传编程的工作步骤及实例分析
-第八章测试
-期末测试