当前课程知识点:智能控制 > 第八章 遗传编程 > 8.1 遗传编程工作原理 > 8.1 遗传编程工作原理
下面我们开始讲第八讲
遗传编程
那么遗传算法虽然有很多优点
解决了很多优化问题
很方便解决大规模的优化问题
当然有一定的局限性
第一它不能描述层次化的问题
它只能直接描述这个问题本身
不能体现层次性
第二不能描述计算机程序
第三缺乏动态可变性
比较机械
它的优化过程中
它不能动态调整
那么针对这些缺陷
那么遗传编程就可以解决这些问题
我们看这样一个树形的图
它里面包括了a0、a1、a2
这些常量以及数字2,3
还有加号乘号
还有幂等运算法
那么它们通过这些变量 常量
以及运算符号的组合
就可以用来非常
方便的描述这样一个代数表达式
也就是说这张图描述的就是
(见公式)
这样一个多项式式的表达式的形式
我们跟遗传算法进行类比一下
我们就发现
其实在这里面的a0、a1、a2、a3这些常量
x这些变量
还有它的幂运算
加号乘号这些符号等等
就类似于遗传算法里头的0和1
那个基因型
那么通过这些基因型
或者这些常量的
变量的运算符号的组合
是不是也能够
类似于遗传算法进行优化
那答案是肯定的
这个方法叫做遗传编程
那么它是1992年美国专家John教授
正式提出来的遗传编程算法
他用层次化的结构性语言
表达了一个问题
举个例子
那么这是一个问题
我们列举了一组实测数据
xi和yi
i是1到17
有17组数据
现在要求计算出它们之间的函数关系
y和x之间到底什么函数关系
为了解决这样一个问题
这个问题本质上就是一个函数拟和问题
我们发现对于一个函数拟和问题
一个输入一个输出的函数拟合问题
我们经常常见的典型的函数形式
有这些类型
第一直线型(见公式)
我们只要确定两个参数
a、b就可以了
多项式函数(见公式)
我们需要确定四个参数
a、b、c、d待定参数
对数型(见公式)
a和b是待定参数
指数型(见公式)
确定两个参数a和b
那么这些是一些常见的
这些函数拟合时候的结构形式
那么在遗传编程里头
对于一个个体怎么描述的呢
那么再对比一下遗传算法
遗传算法里面是有0和1
这是它的基因型
通过二进制代码
来描述每个个体它的基因型
那么在遗传编程里头
类似
每一代种群里头包括多个的个体
组成了这一代的群体
遗传编程类似于遗传算法
在遗传编程的个体中
用广义的层状计算机程序表达
那么它的0和1这基因型的
组成单位是什么东西呢
它可以包括函数集F
终止符集T
函数集F可以包括N个函数
比如f(1)、f(2)、f(3)
一直到f(m)
那么函数集内的函数f(i)
可以是加减乘除等算术运算符
或者是正弦、余弦、对数、指数
等标准的数学函数
那么终止符集T
包含M个终止符
T里面有t1、t2、tm
终止符集内的终止符ti
可以是x、y、z等变量
或者是a、b、π等常量
这是函数集和终止符集
那么要这两个集合里面的
任何的若干个函数
或者是终止符相互组合
就可以构成
类似于下列这些式子
各种表达式
比如(见公式)
这是它对应的图形
(见公式)
底数是10
(见公式)
这样构成了遗传编程的个体
类似于遗传算法
只不过把遗传算法把里面0和1
这基因的个体
换成了a、b常量
以及变量x
还有这些终止符集
还有运算符集
函数符集
加乘对数指数等等
-开篇
--开篇
-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 遗传编程的工作步骤及实例分析
-第八章测试
-期末测试