版权归原作者所有,如有侵权,请联系我们

[科普中国]-去模糊化

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

基本概念

去模糊化:去模糊化是模糊推理机中重要的一步,也称解模糊化。解模糊化的方法有很多种,最常用的有最大隶属度法,重心法和加权平均法。

模糊化:将输入值以适当的比例转换到论域的数值,利用口语化变量来描述测量物理量的过程,依适合的语言值(linguisitc value)求该值相对之隶属度,此口语化变量我们称之为模糊子集合(fuzzy subsets)。

模糊推理机一般控制系统的架构包含了五个主要部分,即:定义变量、模糊化、知识库、逻辑判断及反模糊化。下面是框架结构图:

模糊控制定义变量也就是决定程序被观察的状况及考虑控制的动作,例如在一般控制问题上,输入变量有输出误差E与输出误差变化率EC,而模糊控制还将控制变量作为下一个状态的输入U。其中E、EC、U统称为模糊变量。

模糊控制模糊化将输入值以适当的比例转换到论域的数值,利用口语化变量来描述测量物理量的过程,根据适合的语言值(linguistic value)求该值相对的隶属度,此口语化变量称为模糊子集合(fuzzy subsets)。

模糊控制知识库包括数据库(data base)与规则库(rule base)两部分,其中数据库提供处理模糊数据的相关定义;而规则库则藉由一群语言控制规则描述控制目标和策略。

模糊控制逻辑判断模仿人类下判断时的模糊概念,运用模糊逻辑和模糊推论法进行推论,得到模糊控制讯号。该部分是模糊控制器的精髓所在。

模糊控制解模糊化解模糊化(defuzzify):将推论所得到的模糊值转换为明确的控制讯号,做为系统的输入值。

去模糊化方法在实行模糊控制时,将许多控制规则进行上述推论演算,然后结合各个由演算得到的推论结果获得控制输出;为了求得受控系统的输出,必须将模糊集合解模糊化。

过模糊控制决策得到的是模糊量,要执行控制,必须把模糊量转化为精确量,也就是要推导出模糊集合到普通集合的映射(也称判决)。实际上是在一个输出范围内,找到一个被认为最具有代表性的、可直接驱动控制装置的确切的输出控制值。主要反模糊化判决方法有:最大隶属度法,重心法和加权平均法1。

最大隶属度法选取推理结果模糊集合中隶属度最大的元素作为输出值,即

如果在输出论阈V中,其最大隶属度对应的输出值多于一个,则取所有具有最大隶属度输出的平均值,即

N为具有相同最大隶属度输出的总数。

最大隶属度法不考虑输出隶属度函数的形状,只考虑最大隶属度处的输出值。因此,难免会丢失许多信息。它的突出优点是简单,在一些控制要求不高的场合,可以用最大隶属度法。

重心法为了获得准确的控制量,就要求模糊方法能够很好的表达输出隶属度函数的计算结果。重心法是取隶属度函数曲线与横坐标围成面积的重心,作为模糊推理的最终输出值,即

对于具有m个输出量化级数的离散阈情况:

与最大隶属度法相比较,重心法具有更平滑的输出推理控制。即使对应于输入信号的微小变化,输出也会发生变化。

加权平均法工业控制中广泛应用的反模糊化法是加权平均法,输出值由下式决定:

其中系数ki的选择根据实际情况而定。不同的系数决定系统具有不同的响应特性。当系数ki取隶属度时,就化为重心法。

Matlab中的解模糊化方法MATLAB提供五中解模糊化方法:

(1)centriod:面积重心法;

(2)bisector:面积等分法;

(3)mom:最大隶属度平均法;

(4)som:最大隶属度取最小法;

(5)lom:最大隶属度取最大法。

在MATLAB中,可通过setfis()设置解模糊化方法,通过defuzz()执行反模糊化运算。