使用标准的模糊集算子,我们可以对简单的问题进行推理,但是对于大多数实际问题,都比较复杂。比如,当一个控制器的行为由多个模糊规则确定的时候,模糊规则if-then描述了可能发生的情形,当然可能有多个情形被激活,但是控制器只能选择一个动作去操作,我们需要一个机制来找出一组激活状态中的一个动作。模糊逻辑就是一个比较正式的逻辑系统,模糊逻辑连同推断系统构成了模糊推理的工具,对不确定性进行推理得到可能正确的动作。
1 模糊逻辑
模糊逻辑是多值逻辑的一个扩展,在模糊逻辑中有两个比较重要的概念——语言学变量和模糊if-then规则。
1.1 语言学变量和限定
语言学变量来源于自然语言中的词或句子并且具备值。感官输入是语言学变量(比如:高)、自然语言中的名词时语言学变量(比如:温度、压力)。
语言学变量可以被分为不同的类别:量化变量(全部、许多、没有等等)、通常变量(有时、频繁等等)、可能变量(可能、或许等等)。
在自然语言中,名词通常和对其量化的形容词进行结合,这些形容词在模糊系统理论里被称为限定。一个限定用作模糊值的修饰语,通过数学函数的定义来改变加入限定后所获得新集合的隶属度。
语言学变量和限定词允许将自然语言翻译为逻辑或数值表达,这为近似推理提供了工具。
根据限定的具体含义,可以对原本的隶属函数进行变换,进行相应的变化,比如进行平方或则开平方根的方式进行具体的变换。限定可以有很多种,比如:
(1)集中限定(例如:非常):隶属度会变得相对更小,更加集中在具有更高隶属度点的周围。
一般,集中限定可以被定义为:
(2)膨胀限定(例如:稍微、有些、通常):隶属度增加,通常被定义为:
(3)对比增强限定(例如:极端):即低于0.5的隶属度变小、高于0.5的隶属度变大。通常被定义为:
(4)模糊限定(例如:很少):与对比增强相反,限定通常被定义为:
(5)概率限定,表示可能性。例如:可能、大概等。
1.2 模糊规则
对于一般的模糊系统,系统的动态行为由一组语言模糊规则描述,这些规则通常基于其领域中人类专家的知识和经验。规则的一般形式:if 前提 then 结论。
一个模糊规则的前提和结论是包含语言学变量的命题,一个模糊规则通常表示为:if A is a and B is b then C is c。
模糊集连同模糊规则构成了基于模糊规则的推理系统的知识库。除了知识库外,一个模糊推理系统还包括模糊化、推理、去模糊化三个部分。
基于模糊规则的推理系统
2 模糊推理
2.1 模糊化
模糊化的过程关注于找到非模糊输入的模糊表示(本质:隶属函数)。假定有模糊集A和B,并且假定已经定义了相应的隶属函数。设X是两个集合的论域,模糊化过程接收元素a,b∈X,并且产生隶属度μA(a)、μA(b)、μB(a)、μB(b)。
2.2 推理
推理过程的任务是将模糊化的输入映射到规则库,并且为每一个规则产生一个模糊化的输出。
通过模糊化的过程,知道了μA(a)、μB(b),推理的过程如下:
第一步:使用算子对前提中的集合进行操作来获得每一个规则的触发强度(例如使用最小算子来获得触发强度)。
第二步:累加所有被激活的输出。
推理过程的最终输出是一些列模糊化的输出值。
2.3 去模糊化
规则的触发强度表示了对其结论中的集合的隶属度。给定一组被激活的规则以及其相应的触发强度,去模糊化的过程是将模糊值的输出转换成一个标量的非模糊的值。
为了找出表示将要采取行动的近似标量的值,存在的推理方法如下:
(1)最大-最小方法
根据被激活的规则里面最大或最小的隶属度值,找到被激活函数下的区域的质心,该质心所对应的水平坐标即为控制器的输出结果。
(2)平均法
根据所有被激活规则的触发强度的平均值,每一个隶属函数根据该平均值进行裁剪,计算合成区域的质心,该质心的横坐标值作为控制器的输出结果。
(3)平方和根法
(4)裁剪重心法
根据上述方法所获得的质心的横坐标即为去模糊化所得到的一个标量的确定值。