第三章 模糊控制的理论基础 第一节 概述 一、模糊控制的提出
以往的各种传统控制方法均是建立在被控对象精确数学模型基础上的,然而,随着系统复杂程度的提高,将难以建立系统的精确数学模型。 在工程实践中,人们发现,一个复杂的控制系统可由一个操作人员凭着丰富的实践经验得到满意的控制效果。这说明,如果通过模拟人脑的思维方法设计控制器,可实现复杂系统的控制,由此产生了模糊控制。
二、模糊控制的特点 模糊控制是建立在人工经验基础之上的。对于一个熟练的操作人员,他往往凭借丰富的实践经验,采取适当的对策来巧妙地控制一个复杂过程。若能将这些熟练操作员的实践经验加以总结和描述,并用语言表达出来,就会得到一种定性的、不精确的控制规则。如果用模糊数学将其定量化就转化为模糊控制算法,形成模糊控制理论。
模糊控制理论具有一些明显的特点: (1)模糊控制不需要被控对象的数学模型。模糊控制是以人对被控对象的控制经验为依据而设计的控制器,故无需知道被控对象的数学模型。 (2)模糊控制是一种反映人类智慧的智能控制方法。模糊控制采用人类思维中的模糊量,如“高”、“中”、“低”、“大”、“小”等,控制量由模糊推理导出。这些模糊量和模糊推理是人类智能活动的体现。
(3)模糊控制易于被人们接受。模糊控制的核心是控制规则,模糊规则是用语言来表示的,如“今天气温高,则今天天气暖和”,易于被一般人所接受。 (4)构造容易。模糊控制规则易于软件实现。 (5)鲁棒性和适应性好。通过专家经验设计的模糊规则可以对复杂的对象进行有效的控制。
第二节 模糊集合 一、模糊集合 对大多数应用系统而言,其主要且重要的信息来源有两种,即来自传感器的数据信息和来自专家的语言信息。数据信息常用0.5,2,3,3.5等数字来表示,而语言信息则用诸如“大”、“小”、“中等”、“非常小”等文字来表示。传统的工程设计方法只能用数据信息而无法使用语言信息,而人类解决问题时所使用的大量知识是经验性的,它们通常是用语言信息来描述。语言信息通常呈经验性,是模糊的。因此,如何描述模糊语言信息成为解决问题的关键。
模糊集合的概念是由美国加利福尼亚大学著名教授L. A 模糊集合的概念是由美国加利福尼亚大学著名教授L.A.Zadeh于1965年首先提出来的。模糊集合的引入,可将人的判断、思维过程用比较简单的数学形式直接表达出来。模糊集理论为人类提供了能充分利用语言信息的有效工具。 模糊集合是模糊控制的数学基础。
1.特征函数和隶属函数 在数学上经常用到集合的概念。 例如:集合A由4个离散值x1,x2,x3,x4组成。A={x1,x2,x3,x4} 例如:集合A由0到1之间的连续实数值组成。
以上两个集合是完全不模糊的。对任意元素x,只有两种可能:属于A,不属于A。这种特性可以用特征函数 来描述:
为了表示模糊概念,需要引入模糊集合和隶属函数的概念: 其中A称为模糊集合,由0,1及 构成。 表示元素x属于模糊集合A的程度,取值范围为[0,1],称 为x属于模糊集合A的隶属度。
或 2. 模糊集合的表示 ① 模糊集合A由离散元素构成,表示为: ② 模糊集合A由连续函数构成,各元素的隶属度就构成了隶属度函数(Membership Function),此时A表示为:
在模糊集合的表达中,符号“/”、“+”和“∫”不代表数学意义上的除号、加号和积分,它们是模糊集合的一种表示方式,表示“构成”或“属于”。 模糊集合是以隶属函数来描述的,隶属度的概念是模糊集合理论的基石。
例3.2 设论域U={张三,李四,王五},评语为“学习好”。设三个人学习成绩总评分是张三得95分,李四得90分,王五得85分,三人都学习好,但又有差异。 若采用普通集合的观点,选取特征函数
此时特征函数分别为(张三)=1,(李四)=1,(王五)=1。这样就反映不出三者的差异。假若采用模糊子集的概念,选取[0,1]区间上的隶属度来表示它们属于“学习好”模糊子集A的程度,就能够反映出三人的差异。 采用隶属函数 ,由三人的成绩可知三人“学习好”的隶属度为(张三)=0.95,(李四)=0.90,(王五)=0.85。用“学习好”这一模糊子集A可表示为:
其含义为张三、李四、王五属于“学习好”的程度分别是0.95,0.90,0.85。 例3.3 以年龄为论域,取 。Zadeh给出了“年轻”的模糊集Y,其隶属函数为 通过Matlab仿真对上述隶属函数作图,隶属函数曲线如图所示。
图 “年轻”的隶属函数曲线
二、模糊集合的运算 1 模糊集合的基本运算 由于模糊集是用隶书函数来表征的,因此两个子集之间的运算实际上就是逐点对隶属度作相应的运算。 (1)空集 模糊集合的空集为普通集,它的隶属度为0,即
(2)全集 模糊集合的全集为普通集,它的隶属度为1,即 (3)等集 两个模糊集A和B,若对所有元素u,它们的隶属函数相等,则A和B也相等。即
(4)补集 若 为A的补集,则 例如,设A为“成绩好”的模糊集,某学生 属于“成绩好”的隶属度为: 则 属于“成绩差”的隶属度为:
(5)子集 若B为A的子集,则 (6)并集 若C为A和B的并集,则 C=A∪B 一般地,
(7)交集 若C为A和B的交集,则 C=A∩B 一般地, (8)模糊运算的基本性质 模糊集合除具有上述基本运算性质外,还具有下表所示的运算性质。
运 算 法 则 1.幂等律 A∪A=A,A∩A=A 2.交换律 A∪B=B∪A,A∩B=B∩A 3.结合律 (A∪B)∪C=A∪(B∪C) (A∩B)∩C=A∩(B∩C)
4.吸收律 A∪(A∩B)=A A∩(A∪B)=A 5.分配律 A∪(B∩C)=(A∪B)∩(A∪C) A∩(B∪C)=(A∩B) ∪(A∩C) 6.复原律
7.对偶律 8.两极律 A∪E=E,A∩E=A A∪Ф=A,A∩Ф=Ф
例3.4 设 求A∪B,A∩B 则
例3.5 试证普通集合中的互补律在模糊集合中不成立,即 , 证:设 , 则
2 模糊算子 模糊集合的逻辑运算实质上就是隶属函数的运算过程。采用隶属函数的取大(MAX)-取小(MIN)进行模糊集合的并、交逻辑运算是目前最常用的方法。但还有其它公式,这些公式统称为“模糊算子”。 设有模糊集合A、B和C,常用的模糊算子如下:
(1)交运算算子 设C=A∩B,有三种模糊算子: ① 模糊交算子 ② 代数积算子 ③ 有界积算子
(2)并运算算子 设C=A∪B,有三种模糊算子: ① 模糊并算子 ② 代数和算子 ③ 有界和算子
(3)平衡算子 当隶属函数取大、取小运算时,不可避免地要丢失部分信息,采用一种平衡算子,即“算子”可起到补偿作用。 设A和B经过平衡运算得到C,则 其中γ取值为[0,1]。 当γ=0时, ,相当于A∩B时的算子。
当γ=1, ,相当于A∪B时的代数和算子。 平衡算子目前已经应用于德国Inform公司研制的著名模糊控制软件Fuzzy-Tech中。
第三节 隶属函数 一、几种典型的隶属函数 在Matlab中已经开发出了11种隶属函数,即双S形隶属函数(dsigmf)、联合高斯型隶属函数(gauss2mf)、高斯型隶属函数(gaussmf)、广义钟形隶属函数(gbellmf)、II型隶属函数(pimf)、双S形乘积隶属函数(psigmf)、S状隶属函数(smf)、S形隶属函数(sigmf)、梯形隶属函数(trapmf)、三角形隶属函数(trimf)、Z形隶属函数(zmf)。
在模糊控制中应用较多的隶属函数有以下6种隶属函数。 (1)高斯型隶属函数 高斯型隶属函数由两个参数 和c确定: 其中参数b通常为正,参数c用于确定曲线的中心。Matlab表示为
(2) 广义钟型隶属函数 广义钟型隶属函数由三个参数a,b,c确定: 其中参数b通常为正,参数c用于确定曲线的中心。Matlab表示为
(3) S形隶属函数 S形函数sigmf(x,[a c])由参数a和c决定: 其中参数a的正负符号决定了S形隶属函数的开口朝左或朝右,用来表示“正大”或“负大”的概念。Matlab表示为
(4)梯形隶属函数 梯形曲线可由四个参数a,b,c,d确定: 其中参数a和d确定梯形的“脚”,而参数b和c确定梯形的“肩膀”。 Matlab表示为:
(5)三角形隶属函数 三角形曲线的形状由三个参数a,b,c确定: 其中参数a和c确定三角形的“脚”,而参数b确定三角形的“峰”。 Matlab表示为
(6)Z形隶属函数 这是基于样条函数的曲线,因其呈现Z形状而得名。参数a和b确定了曲线的形状。Matlab表示为 有关隶属函数的MATLAB设计,见著作: 楼顺天,胡昌华,张伟,基于MATLAB的系统分析与设计-模糊系统,西安:西安电子科技大学出版社,2001
例3.6 隶属函数的设计:针对上述描述的6种隶属函数进行设计。M为隶属函数的类型,其中M=1为高斯型隶属函数,M=2为广义钟形隶属函数,M=3为S形隶属函数,M=4为梯形隶属函数,M=5为三角形隶属函数,M=6为Z形隶属函数。如图所示。
图 高斯型隶属函数(M=1)
图 广义钟形隶属函数(M=2)
图 S形隶属函数(M=3)
图 梯形隶属函数(M=4)
图 三角形隶属函数(M=5)
图 Z形隶属函数(M=6)
二、隶属函数的仿真 例3.7 设计一个三角形隶属函数,按[-3,3]范围七个等级,建立一个模糊系统,用来表示{负大,负中,负小,零,正小,正中,正大}。仿真结果如图所示。
图 三角形隶属函数曲线
例3.8 设计评价一个学生成绩的隶属函数,在[0,100]之内按A、B、C、D、E分为五个等级,即{不及格,及格,中,良,优}。分别采用五个高斯型隶属函数来表示,建立一个模糊系统,仿真结果如图所示。
图 高斯型隶属函数曲线
三、 隶属函数的确定方法 隶属函数是模糊控制的应用基础。目前还没有成熟的方法来确定隶属函数,主要还停留在经验和实验的基础上。通常的方法是初步确定粗略的隶属函数,然后通过“学习”和实践来不断地调整和完善。遵照这一原则的隶属函数选择方法有以下几种。
(1)模糊统计法 根据所提出的模糊概念进行调查统计,提出与之对应的模糊集A,通过统计实验,确定不同元素隶属于A的程度。 对模糊集A的隶属度 =
(2)主观经验法 当论域为离散论域时,可根据主观认识,结合个人经验,经过分析和推理,直接给出隶属度。这种确定隶属函数的方法已经被广泛应用。 (3)神经网络法 利用神经网络的学习功能,由神经网络自动生成隶属函数,并通过网络的学习自动调整隶属函数的值。
第四节 模糊关系 一、模糊关系 例3.9 设有一组同学X,X={张三,李四,王五},他们的功课为Y,Y={英语,数学,物理,化学}。他们的考试成绩如下表:
表 考试成绩表 取隶属函数 ,其中u为成绩。如果将他们的成绩转化为隶属度,则构成一个x×y上的一个模糊关系R,见下表。
表 考试成绩表的模糊化 将上表写成矩阵形式,得:
该矩阵称作模糊矩阵,其中各个元素必须在[0,1]闭环区间上取值。矩阵R也可以用关系图来表示,如图所示。
二、模糊矩阵运算 设有n阶模糊矩阵A和B, , ,且 。则定义如下几种模糊矩阵运算方式:
例3-10 设
三、模糊矩阵的合成 模糊矩阵的合成类似于普通矩阵的乘积。将乘积运算换成“取小”,将加运算换成“取大”即可。 设矩阵A是x×y上的模糊关系,矩阵B是y×z上的模糊关系,则C=AοB称为A与B矩阵的合成,合成算法为:
例 3-11 设, , 则A和B的合成为: 其中
第五节 模糊推理 一、模糊语句 将含有模糊概念的语法规则所构成的语句称为模糊语句。根据其语义和构成的语法规则不同,可分为以下几种类型: 第五节 模糊推理 一、模糊语句 将含有模糊概念的语法规则所构成的语句称为模糊语句。根据其语义和构成的语法规则不同,可分为以下几种类型: (1)模糊陈述句:语句本身具有模糊性,又称为模糊命题。如:“今天天气很热”。 (2)模糊判断句:是模糊逻辑中最基本的语句。语句形式:“是a”,记作(a),且a所表示的概念是模糊的。如“张三是好学生”。
(3)模糊推理句:语句形式:若是,则是。则为模糊推理语句。如“今天是晴天,则今天暖和”。 二、模糊推理 常用的有两种模糊条件推理语句:If A then B else C;If A AND B then C 下面以第二种推理语句为例进行探讨,该语句可构成一个简单的模糊控制器,如图所示。
图 二输入单输出模糊控制器 其中A,B,C分别为论域x,y,z上的模糊集合,A为误差信号上的模糊子集,B为误差变化率上的模糊子集,C为控制器输出上的模糊子集。
常用的模糊推理方法有两种:Zadeh法和Mamdani法。Mamdani推理法是模糊控制中普遍使用的方法,其本质是一种合成推理方法。 定义:若有两个模糊集A和B,其论域分别为X和Y,则定义在积空间 上的模糊集合 为 的直积,隶属函数表达为: 或
模糊推理语句“If A AND B then C”确定了三元模糊关系R,即: R=(A×B)T1×C 其中(A×B)T1为模糊关系矩阵(A×B) (m×n)构成的m×n列向量,n和m分别为A和B论域元素的个数。 基于模糊推理规则,根据模糊关系R,可求得给定输入A1和B1对应的输出C1: C1=(A1×B1)T2R
例3-9 设论域x={a1,a2,a3},y={b1,b2,b3},z={c1,c2,c3},已知 , 。试确定“If A AND B then C”所决定的模糊关系R,以及输入为 , 时的输出C1。
解: 将A×B矩阵扩展成如下列向量:
当输入为A1和B1时,有: 将A1×B1矩阵扩展成如下行向量: 最后得: 即:
三、模糊关系方程 1、模糊关系方程概念 将模糊关系R看成一个模糊变换器。当A为输入时,B为输出,如图所示。 图 模糊变换器
可分为两种情况讨论: (1)已知输入A和模糊关系R,求输出B,这是综合评判,即模糊变换问题。 (2)已知输入A和输出B,求模糊关系R,或已知模糊关系R和输出B,求输入A,这是模糊综合评判的逆问题,需要求解模糊关系方程。
2、模糊关系方程的解 近似试探法是目前实际应用中较为常用的方法之一。 例3.10 解方程
解: 由方程得: 显然三个括弧内的值都不可能超过0.4。由于 是显然的,因此x2可以取[0,1]的任意值,即x2=[0,1]。 现在只考虑: 这两个括弧内的值可以是:其中一个等于0.4,另一个不超过0.4。分两种情况讨论:
(1) 设0.6∧x1=0.4,0.4∧x3≤0.4,则 , 即方程的解为 (2) 设0.6∧x1≤0.4,0.4∧x3=0.4,则 , 即方程的解为: