主要内容

模糊逻辑基础

概述

模糊逻辑的重点是将输入空间映射到输出空间,完成此操作的主要机制是称为规则的if-then语句列表。所有规则都是并行计算的,规则的顺序并不重要。规则本身是有用的,因为它们涉及变量和描述这些变量的形容词。在构建解释规则的系统之前,必须定义计划使用的所有术语和描述它们的形容词。要说水是热的,你需要定义水温变化的范围,以及这个词的含义

一般来说,模糊推理是一种解释输入向量中的值,并基于一组规则将值赋给输出向量的方法。

本主题通过介绍模糊逻辑的理论和实践,引导您逐步了解模糊逻辑过程。

模糊集

模糊逻辑从模糊集的概念开始。一个模糊集是一个没有清晰界限的集合。它可以包含只有部分隶属度的元素。

为了理解什么是模糊集,首先考虑模糊集的定义经典集.经典集合是完全包含或完全不包含任何给定元素的容器。例如,一周的天数集无疑包括星期一、星期四和星期六。它同样毫无疑问地排除了黄油、自由和背鳍等等。

一种经典的集合,在中心包含一周中的日子,周围的元素不是一周中的日子

这种类型的集合被称为经典集合,因为它已经存在了很长时间。亚里士多德首先提出了中排律,即X要么在集合A中,要么在集合非A中。该定律的另一个版本是:

对于任何主题,有一件事要么肯定要么否定。

用注释来重申这个定律:“对于任何主体(比如星期一),有一件事(一周中的一天)必须被肯定或否定(我断言星期一是一周中的一天)。”这个定律要求对立面,A和非A两个范畴,在它们之间包含整个宇宙。所有的东西都不是这一类就是那一类。没有一件事既属于一周中的一天又不属于一周中的一天。

现在,考虑由周末组成的一组天。下面的图表试图对周末进行分类。

大多数人都同意周六和周日属于周末,但周五呢?这感觉像是周末的一部分,但从技术上讲,它似乎应该被排除在外。因此,星期五“跨在篱笆上”。经典集合不允许这种分类。一个东西要么在一个集合里,要么不在一个集合里。人类的经验告诉我们一些不同的东西,然而,跨越栅栏是生活的一部分。

周末集,包括周六和周日,在中心,周围的元素不是周末。周五是周末档期的边缘。

当然,当你定义什么是周末时,个人的看法和文化背景必须考虑在内。就连字典也不精确,它把周末定义为从周五晚上或周六到周一早上。你正在进入一个尖锐的、是非逻辑不再有用的领域。当你研究人们如何真正理解这个概念时,模糊推理就变得有价值了周末与仅用于会计目的的简单分类相反。最重要的是,下面的陈述为模糊逻辑奠定了基础。

在模糊逻辑中,任何陈述的真实性都是一个程度问题。

任何陈述都可能是模糊的。模糊推理提供的主要优势是能够用不完全是或不是的答案来回答一个是或不是的问题。人类一直在做这样的事情(想想看,对于一个看似简单的问题,你很少能得到一个直接的答案),但这对计算机来说是一个相当新的技巧。

它是如何工作的?模糊逻辑中的推理仅仅是将我们熟悉的是-否(布尔)逻辑一般化。如果将数值1设为true,将数值0设为false,则该值表示模糊逻辑也允许介于0.2和0.7453之间的值。例如:

问:周六是周末吗?
答:1(是,或正确)
问:周二是周末吗?
A: 0(否,或假)
问:星期五是周末吗?
答:0.8(大部分是,但不完全是)
问:星期天是周末吗?
A: 0.95美元(是的,但不像星期六那么多)。

左边的图表显示了如果你被迫回答一个绝对的是或不是的回答,周末度的真值。右边的图显示了周末度的真值,如果你被允许用模糊的中间值来回应。

在左边的图中,周四和周五的周末会员数为零。在右边的图中,这些日子的成员数小于1,且星期五大于星期四。

技术上讲,右边的表示法来自多值逻辑(或多价逻辑)。如果你问“X是集合a的成员吗?”这个问题,答案可能是是,不是,或者是介于两者之间的一千个中间值中的任何一个。因此,X可能在a中有部分成员,多值逻辑与更熟悉的二值(或二价是-否)逻辑的概念直接相反。

回到示例,现在考虑一个连续的周末度的时间刻度图,如下图所示。

在左边的图中,成员图在周六和周日的两边都有明显的转变。在右边的图中,从周末到非周末的过渡是平稳的。

通过使情节连续,您可以定义任何给定时刻属于周末而不是一整天的程度。在左边的图中,请注意,在周五的午夜,就在秒针扫过12时,周末真值从0间断地跳到1。这是定义周末的一种方式,虽然它可能对会计有用,但它可能与你自己在现实世界中对周末的体验并不真正相关。

右边的图表显示了一个平稳变化的曲线,这说明了这样一个事实:周五的全部时间,以及在一定程度上周四的部分时间,都具有周末的性质,因此应该在周末时刻的模糊集中占有部分席位。定义任何时刻的周末性的曲线是一个将输入空间(每周的时间)映射到输出空间(周末性)的函数。具体地说,它被称为a隶属函数.看到隶属度函数进行更详细的讨论。

作为模糊集的另一个例子,考虑季节问题。现在是什么季节?在北半球,夏天正式开始的时间正是地球轨道上北极最直接指向太阳的时刻。它每年恰好发生一次,在六月下旬。使用季节的天文定义,可以得到如下图左侧所示的清晰边界。但是你所经历的季节变化或多或少是连续的,如下图所示(在温带北半球气候中)。

左边的图显示了季节之间清晰的界限。右边的情节显示了平滑重叠的季节边界。

隶属度函数

一个隶属函数(MF)是一条曲线,它定义了输入空间中的每个点如何映射到0到1之间的隶属度值(或隶属度)。输入空间通常被称为话语世界

一个最常用的模糊集合的例子是高个子的集合。在这种情况下,话语的宇宙都是潜在的高度,比如从3英尺到9英尺。这个词对应于一个曲线,它定义了一个人的身高。如果给这组高个子的人一个明确(干脆)的经典边界,你可能会说所有身高超过6英尺的人都被正式认为是高个子。然而,当他们身高相差一英寸时,说一个人矮而另一个人高是不合理的。

你必须比这条线高才算高。一群人中越线的那个人对这种分类很满意。

如果前面所示的这种区分是行不通的,那么怎样才能正确地定义高个人群呢?与周末的图表一样,下图显示了一条从不高到高的平滑变化曲线。输出轴是一个数字,称为0到1之间的隶属度值。这条曲线被称为a隶属函数并且经常被指定为µ.例如,下图显示了清晰和平滑的高成员函数。在上面的图表中,这两个人被分为完全高和完全不高。在底部的图中,平滑的过渡允许不同的高度。两个人都在一定程度上很高,但其中一个明显低于另一个。身高隶属度为0.95的高个子肯定是高个子,但身高隶属度为0.3的人不是很高。

在上图中,一个清晰的隶属函数显示了从不高到高的急剧转变。在底部的图中,平滑的过渡允许高度的程度。

主观解释和适当的单位被构建成模糊集。如果你说"她很高"那会员功能应该已经考虑到你是指一个六岁的孩子还是一个成年妇女。同样,单位也包含在曲线中,因为说“她高的单位是英寸还是米?”没有意义。

会员资格模糊逻辑工具箱软件

隶属函数必须满足的唯一条件是它的隶属值必须在0到1之间变化。函数本身可以任意优化,以满足您对简单性、便利性、速度和效率的期望。

经典集合可以表示为:

一个 x | x > 6

模糊集是经典集的扩展。如果X话语的宇宙和它的元素是用什么来表示的x,然后是一个模糊集一个X定义为有序对的集合。

一个 x μ 一个 x | x X

µ一个x的隶属度函数(MF)x一个.隶属函数映射的每个元素X到0到1之间的成员值。

模糊逻辑工具箱™软件包括13个内置成员函数类型。这些函数又由几个基本函数构建而成。

  • 分段线性函数

  • 高斯分布函数

  • 乙状结肠曲线

  • 二次和三次多项式曲线

最简单的隶属函数是用直线构成的。这些直线隶属函数具有简单的优点。

  • trimf-三角隶属函数

  • trapmf-梯形隶属函数

  • linzmf-向左开放的线性z形隶属函数

  • linsmf-线性s形隶属函数向右开放

从左到右,样本线性z形、三角形、梯形和线性s形隶属函数

推导出两个隶属度函数高斯分布:简单的高斯曲线(gaussmf)和不同高斯曲线的双面复合(gauss2mf).

广义钟形隶属函数(gbellmf)在0和1之间也有相似的平稳过渡。它有第三个参数,您可以使用它来调整从0到1的过渡的陡度。

由于高斯函数和钟形隶属函数的平滑性和简洁的符号,它们是定义模糊集的常用方法。这两条曲线的优点是在所有点上都是平滑的且非零的。

从左到右分别是样本高斯函数、双面高斯函数和广义贝尔隶属函数

虽然高斯曲线和钟形曲线实现了平滑,但它们不能指定非对称隶属函数,这在某些应用中是重要的。为此,您可以使用s形隶属函数(sigmf),这是一个向左或向右开放的平滑隶属函数。您可以基于以下差异(dsigmf)或产品(psigmf)两个s型函数。

从左到右,样本左开s型,s型之差,s型之积,右开s型隶属函数

您还可以使用基于多项式的曲线创建平滑隶属函数,这些曲线以其形状命名。

  • zmf- z形会员功能向左打开

  • smf-s型会员功能向右开放

  • pimf- pi形隶属函数,是s形隶属函数和z形隶属函数的乘积

从左到右,样本Z, pi和S隶属度函数

您还可以创建自己的自定义会员函数。有关更多信息,请参见使用自定义函数构建模糊系统

逻辑运算

现在您已经理解了模糊推理,接下来需要了解模糊推理是如何与逻辑操作联系起来的。

关于模糊逻辑推理要认识到的最重要的事情是,它是标准布尔逻辑的超集。换句话说,如果将模糊值保持在极端值1(完全为真)和0(完全为假),则标准逻辑运算成立。例如,考虑下面的标准真值表。

当两个输入都为1时,and运算为1。当任意一个输入为1时,or操作为1。当输入为0时,not运算为1。

考虑到,在模糊逻辑中,任何陈述的真值都是程度的问题,这些真值表可以被改变吗?输入值可以是0到1之间的实数。什么函数保存了AND真值表的结果(例如),并扩展到0到1之间的所有实数?

一个答案是最小值操作。也就是说,解析语句一个B,在那里一个而且B被限制在(0,1)范围内,通过使用函数最小值一个B).使用相同的推理,可以将OR操作替换为马克斯函数,所以一个B变成等价于马克斯A、B).最后,操作NOT一个等价于运算 1 一个 .之前的真值表通过这个替换完全没有改变。

最小、最大和非模糊逻辑运算符为清晰的输入值生成相同的真值表,就像布尔逻辑分别为和、或和非操作生成相同的真值表一样。

此外,因为真值表后面有一个函数,而不仅仅是真值表本身,所以现在可以考虑1和0以外的值。

下一个图使用图形来显示相同的信息。在该图中,真值表被转换为两个模糊集一起应用以创建一个模糊集的图。图的上半部分显示了与前面的双值真值表对应的图,而图的下半部分显示了操作如何在连续变化的真值范围内工作一个而且B根据您所定义的模糊操作。

二值和多值逻辑中的从左到右、AND、OR和NOT运算

给定这三个函数,您可以使用模糊集和模糊逻辑运算and、OR和NOT来解析任何结构。

附加模糊算子

在本例中,在and、OR和NOT的二值和多值逻辑操作之间只定义了一种特定的对应关系。这种对应关系绝不是独一无二的。

在更一般的术语中,您定义了所谓的模糊交集或连接(AND),模糊并集或析取(or),模糊补(NOT)。这些函数的经典操作符是:AND =最小值,或=马克斯, NOT =附加补。通常,大多数模糊逻辑应用程序都使用这些操作,并将其保留在此。然而,一般来说,这些函数是任意的。模糊逻辑工具箱软件使用经典的模糊补运算符,如上图所示,但也允许您自定义AND和OR运算符。

两个模糊集的交集一个而且B一般由二进制映射指定T,它将两个成员函数聚合在一起,如下所示:

μ 一个 B x T μ 一个 x μ B x

例如,二进制操作符T可以表示µ一个x),µBx).这些模糊交集算子,通常被称为T-范数(三角范数)操作符,满足以下基本要求:

一个T-norm操作符是一个二进制映射T(.,.),具有以下属性:

  • 边界, T 0 0 0 T 一个 1 T 1 一个 一个

  • 单调性, T 一个 b T c d 如果 一个 c 而且 b d

  • 交换性, T 一个 b T b 一个

  • 结合性, T 一个 T b c T T 一个 b c

第一个要求将正确的泛化强加给清晰集。第二个要求意味着成员值的减少一个B中的成员值不能产生增加一个十字路口B.第三个要求表明算子对要组合的模糊集的顺序无关。最后,第四个要求允许我们以成对分组的任意顺序取任意数量的集合的交集。

像模糊交集一样,模糊联合算子一般由二进制映射指定年代

μ 一个 B x 年代 μ 一个 x μ B x

例如,二进制操作符年代可以表示加法吗µ一个x),µBx).这些模糊联合运算符,通常被称为T-conorm(或年代-norm)操作符,必须满足以下基本要求:

一个T-conorm(或年代-norm)操作符是一个二进制映射年代(.,.),具有以下属性:

  • 边界, 年代 1 1 1 年代 一个 0 年代 0 一个 一个

  • 单调性, 年代 一个 b 年代 c d 如果 一个 c 而且 b d

  • 交换性, 年代 一个 b 年代 b 一个

  • 结合性, 年代 一个 年代 b c 年代 年代 一个 b c

几个参数化T-范数和对偶T-一致性在过去已经被提出,例如Yager的那些[11]杜布瓦和普拉德[1],施韦泽和斯克拉[8]和苏格诺[9].每一种方法都提供了一种方法来改变函数的增益,这样它就可以非常严格或非常宽松。

if - then规则

模糊集和模糊算子是模糊逻辑的主语和动词。这些if-then规则语句用于表述包含模糊逻辑的条件语句。

一个模糊的if-then规则采用了这种形式

如果x一个,然后yB

在哪里一个而且B分别是在范围(话语宇宙)X和Y上由模糊集定义的语言值。规则的if部分"x一个被称为先行词或者前提,然后规则的一部分yB被称为顺向或结论。这种规则的一个例子可能是

如果服务很好,那么小费就是一般水平

这个概念表示为0到1之间的数字,因此先行项是返回0到1之间的单个数字的解释。相反,平均表示为一个模糊集,因此结果是将整个模糊集B赋值给输出变量y.在if-then规则中,单词以两种完全不同的方式使用,这取决于它是出现在先行词还是结果中。在MATLAB®术语来说,这种用法是使用“==”的关系测试和使用“=”符号的变量赋值之间的区别。编写规则的一种不那么令人困惑的方式是

如果服务==好,那么小费=一般

通常,if-then规则的输入是输入变量的当前值(在本例中,服务),输出是一个完整的模糊集(在这种情况下,平均).这一套以后会defuzzified,将一个值赋给输出。下一节将介绍去模糊化的概念。

解释if-then规则包括两个步骤:

  • 先行词的评价不分明化输入和应用任何必要的模糊的运营商

  • 将结果应用于结果。

第二步被称为含义.如果-那么规则,先行词,p意味着随之而来的,.在二进制逻辑中,如果p是真的,那么也是正确的(p).在模糊逻辑中,如果p对某种程度的成员来说是正确的,那么在同样程度上也是正确的(0.5p→0.5).在这两种情况下,如果p是假的,那么值呢是不确定的。

规则的先行项可以有多个部分。

如果天空是灰色的,风很大,气压计正在下降,那么……

在这种情况下,先行项的所有部分同时计算,并使用上一节中描述的逻辑运算符解析为单个数字。一条规则的结果也可以有多个部分。

如果温度较低,则热水阀打开,冷水阀关闭

在这种情况下,所有结果都同样受到先行词结果的影响。结果如何受先行词的影响?结果指定了一个被分配给输出的模糊集。的影响函数然后将该模糊集修改为由先行项指定的程度。修改输出模糊集的最常用方法是使用截断最小值函数(其中模糊集被截断如下图所示)或使用刺激函数(其中输出模糊集被压缩)。工具箱支持这两种方万博1manbetx法,但是对于本节中的示例使用截断。

模糊规则评价从上到下依次为:模糊化输入,对模糊化输入应用逻辑算子,对前项输出应用蕴涵算子

If-Then规则摘要

解释“如果-那么”规则分为三个部分。这个过程将在下一节中详细解释:

  1. Fuzzify输入:将先行词中的所有模糊语句解析为0到1之间的隶属度。如果先行词只有一个部分,那么这就是规则的支持度。万博1manbetx

  2. 将模糊算子应用于多部分前项:如果前项有多个部分,则应用模糊逻辑运算符,将前项解析为0到1之间的单个数字。这是对规则的支持程度。万博1manbetx

  3. 应用蕴涵法:用整个规则的支持度来塑造输出模糊集。万博1manbetx模糊规则的结果将整个模糊集赋给输出。这个模糊集是由一个隶属度函数来表示的,它被选择来表示结果的质量。如果前提条件只有部分为真,(即被赋值小于1),则根据蕴涵方法截断输出模糊集。

一般来说,单独的一条规则是无效的。两条或两条以上的规则可以相互抵消。每个规则的输出都是一个模糊集。然后将每个规则的输出模糊集聚合为单个输出模糊集。最后,结果集被去模糊化,或解析为单个数字。使用模糊逻辑设计器构建模糊系统展示了整个过程如何从开始到结束的一个特定类型的模糊推理系统称为aMamdani类型

参考文献

[1]杜布瓦,迪迪埃,亨利·m·普拉德。模糊集与系统:理论与应用.科学与工程中的数学,第144节。纽约:学术出版社,1980年。

[2]考夫曼A.和马丹M.古普塔。模糊算术概论:理论与应用.Van Nostrand Reinhold电气/计算机科学与工程系列。纽约:Van Nostrand Reinhold公司,1985年。

[3]李,C.C.“控制系统中的模糊逻辑:模糊逻辑控制器。”我”。IEEE系统、人与控制论汇刊20日,没有。2 (April 1990): 404-18。https://doi.org/10.1109/21.52551

[4]李,C.C.“控制系统中的模糊逻辑:模糊逻辑控制器。”二世”。IEEE系统、人与控制论汇刊20日,没有。2 (April 1990): 419-35。https://doi.org/10.1109/21.52552

[5] Mamdani, e.h.和S. Assilian。用模糊逻辑控制器进行语言合成的实验。国际人机研究杂志7,不。1(1975年1月):1 - 13。https://doi.org/10.1016/s0020 - 7373 (75) 80002 - 2

[6] Mamdani, E.H.“模糊控制器语言综合的进展”。国际人机研究杂志8,不。6(1976年11月):669-78。https://doi.org/10.1016/s0020 - 7373 (76) 80028 - 4

[7] Mamdani, E.H.“模糊逻辑在使用语言综合的近似推理中的应用”。IEEE计算机汇刊C-26,不。12(十二月1977):1182-91。https://doi.org/10.1109/TC.1977.1674779

[8] Schweizer, B.和A. Sklar,“联想函数和抽象半群”。出版。数学。德布勒森10(1963): 69-81。

[9] Sugeno, M.,“模糊度量和模糊积分:一个调查”(M.M. Gupta, g.n. Saridis和B.R. Gaines,编辑)模糊自动机与决策过程,第89-102页,北荷兰,纽约,1977年。

[10]苏格诺道夫编。模糊控制的工业应用.阿姆斯特丹 ;纽约 :美国纽约州纽约:北荷兰 ;美国和加拿大的独家经销商,爱思唯尔科学酒吧。有限公司,1985年版。

[11]罗纳德·r·耶格,《关于一类一般模糊连接词》。模糊集与系统4,没有。3(十一月1980):235-42。https://doi.org/10.1016/0165 - 0114 (80) 90013 - 5

[12] Yager, Ronald R.和Dimitar P. Filev。“山聚类模糊规则的生成”。智能与模糊系统学报2,没有。3(1994): 209-19。https://doi.org/10.3233/IFS-1994-2301

[13] Zadeh,洛杉矶“Fuzzy Sets”。信息与控制8,不。3(1965年六月):338-53。https://doi.org/10.1016/s0019 - 9958 (65) 90241 - x

[14] Zadeh, Lotfi a .“分析复杂系统和决策过程的新方法概述”。IEEE系统、人与控制论汇刊SMC-3,不。1(1973): 28-44。https://doi.org/10.1109/TSMC.1973.5408575

[15]扎德,洛杉矶“语言变量的概念及其在近似推理中的应用。我”。信息科学8,不。3(1975): 199-249。https://doi.org/10.1016/0020 - 0255 (75) 90036 - 5

[16]扎德,洛杉矶“语言变量的概念及其在近似推理中的应用。二世”。信息科学8,不。4(1975): 301-357。https://doi.org/10.1016/0020 - 0255 (75) 90046 - 8

[17]扎德,洛杉矶“语言变量的概念及其在近似推理中的应用。三世”。信息科学9日,没有。1(1975): 43 - 80。https://doi.org/10.1016/0020 - 0255 (75) 90017 - 1

[18]扎德,洛杉矶“模糊逻辑”。电脑21日,没有。4 (April 1988): 83-93。https://doi.org/10.1109/2.53

[19] Zadeh,洛杉矶“模糊逻辑中的知识表示”。IEEE知识与数据工程汇刊1,没有。1(1989年3月):89-100。https://doi.org/10.1109/69.43406

相关的话题