第3章 模糊计算 不确定性的产生有多种原因,如随机性、模糊性等。处理随机性的理论基础是概率论,处理模糊性的基础是模糊集合论。模糊集合论是由L.A.Zadeh于1965年提出的。随后,他又将模糊集合论应用于近似推理方面,形成了可能性理论。近似推理的基础是模糊逻辑(fuzzy logic),它建立在模糊理论的基础上,是一种处理不精确描述的软计算,它的应用背景是自然语言理解。可以说模糊逻辑是直接建立在自然语言上的逻辑系统,与其他逻辑系统相比较,它考虑了更多的自然语言成分。按照Zadeh的说法,模糊逻辑就是词语上的计算。 自模糊逻辑和可能性理论提出后,经过Zadeh和其他研究者的共同努力,模糊逻辑和可能性理论取得了很大的发展,并已经广泛地应用于专家系统和智能控制中。在人工智能领域里,特别是在知识表示方面,模糊逻辑有相当广阔的应用前景。 第3章模糊计算 3.1模糊集合 3.1模糊集合 3.1.1模糊集合的定义 模糊集合(fuzzy set)是经典集合的扩充[1]。首先介绍集合论中的几个名词。 论域: 所讨论的全体对象称为论域。一般用U、E等大写字母表示论域。 元素: 论域中的每个对象。一般用a、b、c、x、y、z等小写字母表示论域中的元素。 集合: 论域中具有某种相同属性的、确定的、可以彼此区别的元素的全体,常用A、B、C、X、Y、Z等表示集合。 在经典集合中,元素a和集合A的关系只有两种: a属于A或a不属于A,即只有两个真值“真”和“假”。 例如,若定义18岁以上的人为“成年人”集合,则一 位超过18岁的人属于“成年人”集合,而另外一位 不足18岁的人,哪怕只差一天也不属于该 集合。 经典集合可用特征函数表示。例如,“成年人”集合可以表示为 μ成年人(x)=1,x≥180,x<18(3.1) 如图3.1所示,这是一种对事物的二值描述,即二值逻辑。 经典集合只能描述确定性的概念,而不能描述现实世界中模糊的概念。例如,“天气很热”等概念。模糊逻辑模仿人类的智慧,引入隶属度(degree of membership)的概念,描述介于“真”与“假”中间的过程。隶属度是一个命题中所描述的事物的属性、状态和关系等的强度。 模糊集合中每个元素被赋予一个0~1的实数,描述其元素属于这个模糊集合的强度,该实数即为该元素属于这个模糊集合的隶属度,模糊集合中所有元素的隶属度全体构成模糊集合的隶属度函数。如上述例子中,一个人变成“成年人”的过程可用连续曲线表示,如图3.2所示。 图3.1“成年人”特征函数 图3.2“成年人”隶属度函数 模糊集合是经典集合的推广。实际上,经典集合是模糊集合中隶属度函数取0或1时的特例。 3.1.2隶属度函数定义 模糊集合中所有元素的隶属度全体构成模糊集合的隶属度函数。隶属度函数(membership function)是用于表征模糊集合的数学工具。隶属度函数对应的每个隶属度描述某个元素u对U上的一个模糊集合的隶属关系,由于这种关系的不分明性,它用从区间[0,1]中所取的数值表示元素属于某模糊集合的“真实程度”。对于模糊集合来说,某一集合中的每个元素的隶属度代表了这些元素属于该集合的程度,隶属度函数可以是离散的,也可以是连续的[2]。 如图3.3所示,黑色曲线就是一个隶属度函数,0表示不属于,1表示完全属于。由于集合的模糊性,因此需要用在[0,1]的数代替0和1表示元素属于模糊集合的程度。 下面介绍在模糊控制中常见的几种隶属度函数类型。 (1) 矩形分布的隶属度函数如图3.4所示,可表示为 μ(x)=0,xd(3.3) (3) K次抛物型分布的隶属度函数如图3.6所示,可表示为 μ(x)=x-ab-ak,a≤x,<属性>,(<属性值>,<隶属度>)) 可以看出,它实际是通常三元组(<对象>,<属性>,<属性值>)的细化,其中的<隶属度>一项是对前面属性值的精确刻画。在模糊数学中,通常将带有模糊词的条件语句称为模糊条件语句。例如,用模糊命题A 表示“x是a”,B表示“y是b”,则简单模糊条件语句可表示为 如果A,则B 对应的命题表达式为A→B=A×B,其真值是上的一个二元模糊关系R,其隶属度函数为 μR(x,y)=μA→B(x,y)=μA(x)∧μB(y)(3.53) 实际应用中,许多模糊规则是多重简单模糊条件语句,表示为 (如果A1,则B1)或(如果A2,则B2)或……或(如果An,则Bn) 则其命题表达式为 (A1→B1)∪(A2→B2)∪…∪(An→Bn)=(A1×B1)∪(A2×B2)∪…∪(An×Bn) 对应的隶属度函数为 μR(x,y)=Vni=1(μAi(x)∧μBi(y))(3.54) 对于条件论域由多个论域交集构成的语句,一般称为多维模糊条件语句。其句型表示为 如果(A且B),则C 其命题表达式为 (A×B)→C=A×B×C 真值定义为X×Y×Z上的一个三元模糊关系,其隶属度函数为 μR(x,y,z)=(μA(x)∧μB(y))∧μC(z)=μA(x)∧μB(y)∧μC(z)(3.55) 3.3.2模糊推理规则 模糊推理又称模糊逻辑推理,是指从已知模糊命题(包括大前提和小前提),推出新的模糊命题作为结论的过程,是一种近似推理。模糊推理的常用方法为关系合成推理法(Compositional Rule of Inference,CRI),CRI包括两种计算方法: Zadeh推理法和Mamdani推理法。以下主要介绍Mamdani推理法。 (1) 对于模糊取式推理,已知命题A→B,其中R为A到B的模糊关系,对于给定的A′,则可以推出 B′=A′R 对应的隶属度函数计算公式为 μB′(y)=μA′(x)μR(x,y)=μA′(x)(μA(x)∧μB(y))(3.56) (2) 对于模糊拒取式推理,已知命题A→B,其中R为A到B的模糊关系,对于给定的B′,则可以推出 A′=RB′ 对应的隶属度函数计算公式为 μA′(x)=μR(x,y)μB′(y)=(μA(x)∧μB(y))μB′(y)(3.57) 因此通过条件模糊向量与模糊关系的合成进行模糊推理,得到结论的模糊向量,然后采用“清晰化”方法(模糊判决)将模糊结论转换为精确量。 例3.7根据例3.5所示的模糊系统,求当输入为A′=0.2a1+0.7a2+0.2a3+0.5a4时,系统的输出B′。 解: 例3.5中已经得到模糊关系,下面进行模糊合成得到模糊输出。 B′=A′R=0.20.70.20.5T0.30.70.20.60.30.70.20.60.20.20.20.20.30.50.20.5=[(0.2∧0.3)∨(0.7∧0.3)∨(0.2∧0.2)∨(0.5∧0.3),(0.2∧0.7)∨(0.7∧0.7)∨(0.2∧0.2)∨(0.5∧0.5),(0.2∧0.2)∨(0.7∧0.2)∨(0.2∧0.2)∨(0.5∧0.2),(0.2∧0.6)∨(0.7∧0.6)∨(0.2∧0.2)∨(0.5∧0.5)]=(0.3,0.7,0.2,0.6) 因此系统的输出为 B′=0.3b1+0.7b2+0.2b3+0.6b4 例3.8某工业窑炉模糊控制系统,输入为温度,输出为压力。已知在论域T(温度)={0,20,40,60,80,100},P(压力)={1,2,3,4,5,6,7}上定义了模糊子集的隶属度函数为 μA(温度高)=00+0.120+0.340+0.660+0.8580+1100μB(压力大)=01+0.12+0.33+0.54+0.75+0.856+17 模糊命题是“如果温度高,那么压力就大”,根据经验给定“温度较高”的隶属度函数定义为 μA′(温度较高)=0.10+0.1520+0.440+0.7560+180+0.8100 利用模糊推理方法确定在“温度较高”的情况下“压力较大”的隶属度函数。 解: 首先将模糊子集写成向量形式,即 A(x)=00.10.30.60.851B(y)=00.10.30.50.70.851A′(x)=0.10.150.40.7510.8 计算A到B的模糊关系R,即 R=A×B=μTAμB=00.10.30.60.85100.10.30.50.70.851=000000000.10.10.10.10.10.100.10.30.30.30.30.300.10.30.50.60.60.600.10.30.50.70.850.8500.10.30.50.70.851 B′=A′R=0.10.150.40.7510.8000000000.10.10.10.10.10.100.10.30.30.30.30.300.10.30.50.60.60.600.10.30.50.70.850.8500.10.30.50.70.851=00.10.30.50.70.850.85 因此“压力较大”的隶属度函数可以表示为 μB(压力较大)=01+0.12+0.33+0.54+0.75+0.856+0.857 3.3.3模糊判决 由上述模糊推理得到的结论或者操作是一个模糊集合,不能直接应用,需要先转换为确定值。将模糊推理得到的模糊集合,转换为确定值的过程称为“模糊判决”,或者“模糊决策”“解模糊化”。下面介绍几种简单的模糊判决方法[7]。 1. 最大隶属度法 最大隶属度法是在模糊集合中,取隶属度最大的量作为推理结果。即把模糊推理所得到的模糊向量中最大隶属度所对应的精确量作为模糊判决得到的精确量,若有多个最大隶属度,则取其对应的平均值作为模糊判决的结果。 例如,模糊集合为 U=0.12+0.93+0.37+0.49 可得到该模糊集合元素3的隶属度最大,所以取结论为U=3。 这种方法的优点是简单易行,缺点是完全排除了其他隶属度较小的量的影响和作用,没有充分利用推理过程取得的信息。 2. 加权平均判决法 为了克服最大隶属度法的缺点,可以采用加权平均判决法,即取输出模糊集合隶属度函数曲线与横坐标轴围成面积的重心相应的输出当作精确值的输出。一般在连续论域下的计算公式为 x0=∫baxμ(x)dx∫baμ(x)dx(3.58) 3. 中位数法 中位数法也称面积平均法。在论域上把隶属度函数曲线与横坐标围成的面积平分为两部分的元素称为模糊集的中位数,中位数点所对应的横坐标值作为系统控制量,如图3.13所示。 图3.13中位数法隶属度函数计算示意图 当论域为有限离散点时,中位数μ*可以用下列公式求取: ∑μ*μ1μ(μi)=∑μnμ*+1μ(μj)(3.59) 如果该点在有限元素之间,可用插值的方法来求取。实际上,模糊推理不需要很精确,因此也可以不用插值法,直接取靠近μ*的其中一个元素作为μ*。 与最大隶属度法相比,这种方法利用了更多的信息,但计算比较复杂,特别是在连续隶属度函数时,需要求解积分方程,因此应用场合要比加权平均法少。加权平均法比中位数法具有更佳的性能,而中位数法的动态性能要优于加权平均法,静态性能则略逊于加权平均法。而一般情况下,这两种方法都优于最大隶属度法。 3.4模糊计算应用 3.4模糊计算应用 40年来,模糊数学获得了蓬勃发展,其触角遍及自然科学、社会科学及横断交叉学科,在数学理论(如拓扑学、逻辑学、测度论等)、应用方法(如控制论、聚类分析、模式识别、综合评估等)、实际应用(如中长期气象预报、成矿预测、良种选择、故障诊断等)及人文系统(如经济系统、政治系统、决策系统、教育系统)等诸多方面都取得了很多有价值的成果。本节将重点介绍模糊计算在聚类分析和控制系统两个领域中的经典应用: 模糊C均值聚类算法和模糊控制。 3.4.1模糊C均值聚类算法 模糊C均值聚类算法(Fuzzy CMeans clustering algorithm,FCM)是一种基于划分的聚类算法,它的思想就是使被划分到同一簇的对象之间的相似度最大,而不同簇的对象之间的相似度最小。根据模糊集合与隶属度函数的概念,在聚类的问题中,可以把聚类生成的簇看成模糊集合,因此,每个样本点隶属于簇的隶属度就是[0,1]区间内的值。具体地,FCM的目标函数可以定义为 Jm=∑Ni=1∑Cj=1umijd2(xi,vj)(3.60) 其中,X={x1,x2,…,xN}Rp是在p维空间中的数据,N是数据项的数目; C是聚类的数目且2≤C