一文搞懂什么是模糊逻辑【附应用举例】

本文介绍了模糊逻辑的基础概念,包括模糊集合、模糊逻辑及其运算,并详细阐述了模糊推理的过程及应用。通过实例说明如何进行模糊计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文参考了很多张军老师《计算智能》的第三章知识。

本文来源:https://blog.csdn.net/qq_44186838/article/details/109181453
模糊逻辑
著名的“沙堆问题”

“从一个沙堆里拿走一粒沙子,这还是一个沙堆吗?”

如果有人正正经经地问你这个问题,那你毫无疑问是会回答“是”。
但如果每拿一粒就问你这个问题,问题的答案会一直都是“是”吗?

如果每次都是拿走一粒,始终还是一个沙堆的话,那么到最后一粒沙都没有的沙堆也能成为沙堆咯。

这显然是违背我们认知的,那么这里的问题出在哪呢?

这里的问题就在于“沙堆”这个概念是模糊的,没有一个清晰的界限将“沙堆”与“非沙堆”分开。我们没有办法明确指出,在这个不断拿走沙子的过程中,什么时候“沙堆”不再是“沙堆”。

与“沙堆”相似的模糊概念还有“年轻人”、“小个子”、“大房子”等。这种在生活中常见的模糊概念,在用传统数学方法处理时,往往会出现问题。

那么,如果尝试消除这些概念的模糊性,会怎样呢?

如果规定沙堆只能由10000粒以上的沙子组成,“沙堆”这个概念的模糊性就消除了。10000粒沙子组成的是沙堆,9999粒沙子组成的不是沙堆:这在数学上没有任何问题。

然而,仅仅取走微不足道的一粒沙子,就将“沙堆”变为“非沙堆”,这又不符合我们日常生活中的思维习惯。

在企图用数学处理生活中的问题时,精确的数学语言和模糊的思维习惯产生了矛盾。

传统的数学方法常常试图进行精确定义,而人关于真实世界中事物的概念往往是模糊的,没有精确的界限和定义。在处理一些问题时,精确性和有效性形成了矛盾,诉诸精确性的传统数学方法变得无效,而具有模糊性的人类思维却能轻易解决。例如人脸识别问题。

所以,模糊逻辑就是用来解决这一矛盾的工具之一。

1.1 模糊逻辑简介
经典二值逻辑中,通常以0表示“假”以1表示“真”,一个命题非真即假 。

在模糊逻辑中,一个命题不再非真即假,它可以被认为是“部分的真” 。

模糊逻辑取消二值之间非此即彼的对立,用隶属度表示二值间的过度状态 。

打个比方,身高一米178是高个子。这句话无论你认为是真还是否,其实都是不准确的。
然后结合上文我们提到的隶属度,可以认为身高178对“高个子”的隶属度为0.7。

下文放一张模糊理论的发展历程图。

在这里插入图片描述
1.2 模糊集合与模糊逻辑
在介绍模糊集合之间,我们先来回忆一下我们之前学习过的古典集合。

古典集合:对于任意一个集合A,论域中的任何一个元素x,或者属于A,或者不属于A。集合A也可以由其特征函数定义:
在这里插入图片描述
而模糊集合呢,则是论域上的元素可以“部分地属于”集合A 。一个元素属于集合A的程度称为隶属度,模糊集合可用隶属度函数定义。

模糊集合的完整定义如下:
设存在一个普通集合U,U到[0,1]区间的任一映射f都可以确定U的一个模糊子集,称为U上的模糊集合A。其中映射f叫做模糊集的隶属度函数,对于U上一个元素u, f(u)叫做u对于模糊集的隶属度,也可写作A(u) 。

看不懂这句话就多看几遍,哈哈。然后还可以结合下文的内容,增进理解。

1.2.1 模糊集合与隶属度函数

隶属度表示程度,它的值越大,表明u属于A的程度越高,反之则表明u属于A的程度越低 。
古典集合可以看作一种退化的模糊集合,即论域中不属于该古典集合的元素隶属度为0,其余元素隶属度为1。

模糊集合的表示法
一共有两种表示方法,分别如下所示。
(1)Zadeh表示法
当论域U为离散集合时,一个模糊集合可以表示为:
在这里插入图片描述
当论域U为连续集合时,一个模糊集合可以表示为:
在这里插入图片描述
需要注意的是,这里仅仅是借用了求和与积分的符号,并不表示求和与积分
(2)序对表示法
对于一个模糊集合来说,如果给出了论域上所有的元素以及其对应的隶属度,就等于表示出了该集合。所以,序对表示法出现了。
在这里插入图片描述
括号里面这两个是啥意思,我想不用多说了吧。

模糊集合表示法示例

在这里插入图片描述
在这里插入图片描述
简单总结一下就是,模糊集合可以让很多情况的分类不显得那么绝对,而显得相对。

至于上文提到的隶属度函数,显而易见的是,隶属度函数十分重要,而不同问题对应的隶属度函数也不同,并且往往需要专家提供专业知识。

1.2.2 模糊集合上的运算定律
没啥好说的,基本同古典集合的运算定律一致。除了在古典集合中成立的矛盾律和排中律在模糊集合上不成立外。
定义:当且仅当对论域上任意元素u,都有在这里插入图片描述
则称模糊集合A是模糊集合B的子集。

在这里插入图片描述
1.2.3 模糊逻辑
经典逻辑是二值逻辑,其中一个变元只有“真”和“假”(1和0)两种取值,其间不存在任何第三值。
模糊逻辑也属于一种多值逻辑,在模糊逻辑中,变元的值可以是[0,1]区间上的任意实数。
设P、Q为两个变元,模糊逻辑的基本运算定义如下:
在这里插入图片描述
1.2.4 模糊关系及其合成运算
模糊关系也是模糊集合上的一种映射。像经典关系一样,模糊关系上也定义了映射特有的合成运算。
设X,Y,Z为论域,R是X×Y上的模糊关系,S是Y×Z上的模糊关系,T是R到S的合成,记为T=R◦S,其隶属度函数定义如下:
在这里插入图片描述
在这里插入图片描述
这里稍微提一句,3.33这个公式后面会经常用到。

1.3 模糊推理
模糊推理可以认为是一种不精确的推理,是通过模糊规则将给定输入转化为输出的过程。

模糊推理是将输入的模糊集通过一定运算对应到特定输出模糊集的计算过程。模糊规则是在进行模糊推理时依赖的规则,通常可以用自然语言表述。

1.3.1 模糊规则、语言变量和语言算子
啥叫模糊规则?举个例子:“如果天气比较热,那么教室就应该开空调。”

但如果想具体了解模糊规则,那首先得了解一下几个概念。

语言变量 :对应于自然语言中的一个词或者一个短语、句子。它的取值就是模糊集合。
在这里插入图片描述
语言算子 :用于对模糊集进行修饰。作用类似于在自然语言常常的“可能”、“大约”、“比较”、“很”等,表示可能性、近似性和程度。

如果-则”规则 :模糊规则的一般形式。基础的“如果-则”规则表述如下:
If x is A then y is B(若x是A,那么y是B)
其中,设A的论域是U,B的论域是V,A与B均是语言变量的具体取值,即模糊集,x与y是变量名。规则中的“If x is A ”又称前件,“y is B”又称后件。“如果张三比较胖则运动量比较大”中,x就是“张三”,y为“运动量”,“比较胖”和“比较大”分别为x和y的取值之一。
模糊集A与B之间的关系是A×B上的模糊蕴含关系 ,记作A→ B,其定义有多种,常见的两种是最小运算(Mamdani)和积运算(Larsen)。

大家应该都听说过三段式推理吧,即:猫是人类的主人,小白是猫;结论:小白是人类的主人。
下面看下一个比较有趣的东西:
大前提(规则):若x是A,那么y是B。
小前提(输入):x是C。
结论(输出):y是 D。

???
如果你没接触古模糊推理的话,那肯定是???这种反应。那现在我们来具体解释一下。
即:在模糊推理中,小前提没有必要与大前提的前件一致(A与C不必完全一致),结论没有必要与大前提的后件一致(B与D不必完全一致)。

关于模糊蕴含的推理方式有两种:肯定式的推理和否定式的推理。下文将主要介绍肯定式推理。
在这里插入图片描述
在这里插入图片描述
上式中的合成操作有不同的定义方法,最常用的就是最大-最小合成。

如果看到这不是很懂怎么操作的话,下面阔以看一下这个实例。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

稍微解释一下题中B’1的求解,这里就是用到了最大—最小合成。即:
在这里插入图片描述
1.4 模糊计算的流程
生活中经常能遇到这样的情况:要根据几个变量的输入,以及一组自然语言表述的经验规则,来决定输出。 这就是一个模糊计算的过程。
如现实生活中,我们在夏天往往会根据温度和湿度,决定开空调的温度。

模糊计算的过程可以分为四个模块:
模糊规则库、模糊化、推理方法和去模糊化

模糊规则库是专家提供的模糊规则。模糊化是根据隶属度函数从具体的输入得到对模糊集隶属度的过程。推理方法是从模糊规则和输入对相关模糊集的隶属度得到模糊结论的方法。去模糊化就是将模糊结论转化为具体的、精确的输出的过程。
在这里插入图片描述
最后来看下实例。

在这里插入图片描述
在这里插入图片描述
计算输出过程如下:
(1) 输入变量模糊化并激活相应规则
输入变量模糊化,得到隶属度如表:
在这里插入图片描述
由于温度对“低”的隶属度为0,而湿度对“大”的隶属度为0,故控制规则表内条件包含低温度和大湿度的规则不被激活。而有如下4条规则被激活:
a. 若温度为高且湿度为小,则运转时间为长。
b. 若温度为中且湿度为中,则运转时间为中。
c. 若温度为中且湿度为小,则运转时间为长。
d. 若温度为高且湿度为中,则运转时间为中。

(2) 计算模糊控制规则的强度
这一步骤属于“推理方法”模块。采用不同的推理方法,(2)的具体步骤也不相同。
由于规则条件中连接两个条件的是“且”,故在此选用取最小值法确定四条规则的强度:
规则a:温度对“高”隶属度为0.1,湿度对“小”隶属度为0.075,min(0.1, 0.075)=0.075
规则b:温度对“中”隶属度为0.53,湿度对“中”隶属度为0.467,min(0.53, 0.467)=0.467
规则c:温度对“中”隶属度为0.53,湿度对“小”隶属度为0.075,min(0.53,0.075)=0.075
规则d:温度对“高”隶属度为0.1,湿度对“中”隶属度为0.467,min(0.1,0.467)=0.1

(3)确定模糊输出并去模糊化
这一步骤属于“推理方法”和“去模糊化”模块。采用不同的推理方法,(3)的具体步骤也不相同。

规则a和规则c的结论是运转时间为长,规则b和规则d的结论是运转时间为中。故运转时间对“长”的隶属度是规则a和规则c强度较大者0.075,运转时间对“中”的隶属度是规则b和规则d强度较大者0.467。

进行去模糊化,最终的输出为:
在这里插入图片描述
总结一下,其实我们不难发现,上述实现过程非常简单。尽管现实生活中的实例要更复杂得多,但是只要我们掌握了模糊逻辑的思想,一切都会慢慢变得简单的!

最后挂一下书中的算法思想详解:
在这里插入图片描述
1.5 模糊逻辑的应用
模糊计算适用于:

(1)复杂且没有完整数学模型的非线性问题
可在不知晓具体模型的情况下利用经验规则求解。

(2)与其它智能算法结合实现优势互补
提供了将人类在识别、决策、理解等方面的模糊性引入机器及其控制的途径 。

模糊系统与神经网络

模糊系统适合于描述自然语言与人类思维中的模糊性,而神经网络具有学习、联想、记忆的能力。模糊系统与神经网络结合,实现了优势互补。

模糊逻辑与进化计算

(1)在进化计算算法运行时使用模糊控制来调整群智能算法的参数。
(2)在模糊系统中用进化计算算法来产生、挑选和优化模糊控制规则与隶属度函数。

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

报告,今天也有好好学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值