模糊控制理论理解与综述

目录

0、引言

1、模糊控制原理

1.1 模糊化

1.2 模糊规则

1.3 模糊推理

1.4 解模糊化

参考


0、引言

        课题方面要求,一直在做模糊控制相关的问题,网上查资料真的闹心,很多博客或者文章都会选择性的忽略掉一些东西,比如数据预处理、量化因子之类的,然后看起来就特别难以理解,没法套用。之前写了一篇模糊PID的MATLAB仿真,然后大家提问的比较多,所以就准备总结一下什么是模糊控制以及其演化算法。本文内容很多话纯属个人胡诌,请辩证采用。如果你是做科研的,就从数学角度上去研究吧,本文主要在于理解。

这可能是我最后一篇关于模糊控制的内容了,因为本渣硕毕业了!!!

在搜模糊控制和神经网络的时候经常看到的两句话,可能都不在意,但是往往这就是你理解为什么要有模糊控制、为什么要用神经网络、为什么还要将两者结合,还有那么多不同的结合方法等等问题的关键。两个理解模糊神经网络的重要前提:

(1)模糊控制的基本思想是利用计算机来实现人的控制经验[1];

(2)人工神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型[2];

         为什么说这两句话是关键呢?这两句话的公共部分就是“人”这个概念。在历史的发展中,人类始终以自己为中心来建立世界的模型。数学的哲学本质也可以理解为人们对客观世界建立的主观模型,这里就不得不夸一下数学和哲学了,这两个东西是真的好,欧几里得写的《几何原本》被一些大佬当诗读也不是没有根据的,因为这是从另一种角度去阅读自然(说多了,懂的自然懂,不懂勿强求)。模糊控制的诞生始于对客观世界复杂性和不确定性,当人们尝试探索一些物理过程内部的精确机理时,会发现有很多问题,比如Zadeh教授曾经指出的不相容性:“当一个系统复杂性增大时,人们能使它精确化的能力会降低,当达到一定阈值时,复杂性与精确性相互排斥”。这就意味着人无法完全掌握一些十分复杂的系统,实际上在实际应用中,也并不需要掌握,因为那些生产线上的工人不知道系统内部机理,他们控制系统的效果依然很好。这就是模糊控制,利用人的经验而不是系统内部原理来实现复杂系统控制。

         所以,大佬们就觉得,“人”或者“人脑”才是这个自然最完美的控制器,因此模拟人脑的过程就是人们为了实现完美控制的重要途经。

1、模糊控制原理

        前面已经说明了模糊控制为什么诞生了,可以说,模糊控制是一种最简单的人脑模拟器,那么这个“最简单的人脑”究竟做了什么?

1.1 模糊化

        人在处理外部信息的时候,并没有量化数据这个概念,而是根据自己的经验来判断。比如,你现在的位置与帝都的距离。你可能觉得很远,因为你在魔都。但是如果你自己在河北、天津,你就觉得不是很远。而你在5环,你依旧觉得你依然离帝都很远(哈哈)。这个“很远”,“不是很远”其实就是模糊化,因为人的“传感器”不能给你一个完全精确的距离,但你也不必关系,你关心的是这个距离你打车大概花多少钱,比如便宜、还行、贵,也是模糊化的概念。这里其实输入就是距离这个模糊概念,输出就是花的钱这个模糊化后的概念。这些概念人是可以理解的,但是电脑可不行,要想实现自动化的控制,就需要把这些概念通过一些转换,映射到电脑里面去做计算。

·        很多资料里面谈到模糊控制都要讲一大堆,什么隶属度函数、模糊集合、模糊运算.......其实这些总结为一句话就是如果把这些东西放到电脑里该怎么计算的。下面我们用到什么就用到什么就说什么。

官方定义:(1)论域:由被考虑对象的所有元素的全体组成的基本集合,对应“全集”这个概念;

(2)模糊子集:设论域 E ,E 到闭区间 [0,1] 的任一映射 \mu _{A}:E\rightarrow [0,1] ,它确定了 E 的一个模糊子集,简称模糊集。

        上面那个 \mu _{A} 就是隶属度函数。

        有了模糊子集的定义后就可以进入正题了 —— 隶属度函数。隶属度函数是模糊控制中的最重要的概念之一,它是由清晰输入到模糊输入的转变,是精确值到模糊语言的转化,也是模糊控制的第一步。

隶属度函数的设计上有很多要求,比如要符合客观规律,不能是主观臆想,还要能反映出客观模糊现象的具体特征。实际上,模糊隶属度函数的确定取决于设计控制系统的人,灵活性很大。灵活性大是好事,但也是坏事。我们刚接触模糊控制,就讲一些人家在用什么。

模糊隶属度函数的确定方法

        隶属度函数的确定已经可以初窥人们对控制器的追求。灵活性通常意味着人们可以自己随便设定隶属度函数,而实际的应用中,很明显不是所有人都能设计初适应性特别好、精度特别高的隶属度函数。所以大家就都用那些大佬设计好的隶属度函数,你也可以理解为专家设计的。本文我就只给出名字,然后用的多的就说一下,其他方法用到的自己去查资料吧。

(1)模糊统计法

(2)二元对比排序法

(3)专家经验法

        前面说灵活性,其实为了控制系统的性能着想,就要优化设计过程中的每一步,专家经验给定的就是比较准确的隶属度函数。总之不知道的时候就听专家的吧。其实,采用专家经验也是很多文献中采用的优化办法。

(4)演绎推理法

(5)角模糊集法

(6)神经网络法

        神经网络的在模糊控制的应用我们后面讲。神经网络也可以理解为是一种专家经验,通过试验数据或理论数据对一个网络进行训练,节省了训练“专家”的时间,并且降低了主观臆测的风险,因为神经网络是完全凭借数据说话的。你会发现在很多场合中,尤其是奥运会的评分项目中,人们都倾向于将评分尽量打的客观,避免“黑哨”,所以才有这个领域的专家,那么一旦神经网络模型完美模拟了人,那这些专家可真要喝西北风了。

(7)遗传算法

(8)归纳推理

(9)借助常见模糊分布函数(最常用)

        这里就不用说了,三角型、高斯型隶属度函数,用去吧。

模糊化得到的结果通常可以表示成语言变量,但是在计算机中则表现为一个具体的数值—隶属度。接下来就需要对这些隶属度做进一步处理——设计规则。

1.2 模糊规则

        模糊规则的设计实际上也十分灵活,取决于你的被控系统特性。比如要控制一个点的温度为50℃恒温。当它为40℃的时候你觉得可能是“偏低”,而我觉得“很低”,专家觉得“这样就行”,在误差范围内。那么结果就是你的行动是“稍微加热一下”,我的行动就是“全力加热”,专家直接“睡大觉”去了。这些行动其实就是规则,规则通常表现为查找表的形式,就是你让计算机去按照你设定的规则表去行动,如下表所示:

    模糊控制最常采用的输入是实际输出与期望输出的误差(error)和误差变化率(error rate)两个量。这里需要做以下说明:

    假设模糊控制全部采用误差与误差变化率的7*7规则表作为控制规则,那么当系统为单输入单输出(SISO)情况下,有7*7*1*1个规则,其中这个1为单输入,第二个1为单输出。当系统为1输入2输出的情况下,可以推理,每个输出应对应一个规则表,则两个输出有7*7*1*2个规则。这里输入为1的原因是评价系统的参数为单一参数,即如果你控制一个系统的温度,那么就根据这个温度的误差和误差变化率来设计对应的输出条件。则对于多输入的情况下 7*7*N*M个规则,我上一篇写了模糊控制静态特性中提到了模糊规则的设计,这对人工设计来说,工作量实在太大。这里我们就只说SISO系统的模糊控制。

1.3 模糊推理

    模糊推理是模糊规则运算的过程。对于一个模糊系统或者一个模糊过程,人们通常只能近似地进行推理,以得出一个近似的结果,这种推理方式也叫做似然推理。不过在模糊控制系统中已经发展出了一些比较固定的推理方法。

(1)Zadeh 推理

        Zadeh 几乎发展出来了一套系统化的模糊控制理论,当然也包括模糊推理的理论化过程。

蕴含算子:

 虽然我觉得写成下面这个样子好像更容易理解:

但是,大家都那么用,就那么用吧。

如果你不知道该如何理解“算子”两个字,没多大问题。学过传递函数得概念的话,你可以把算子理解为一个广义的传递函数,就是有个输入来的东西,通过与这个算子做运算,就可以得到你要的输出。其实本质上就是把一个映射单独拿了出来,就叫算子了(我是这样理解的,不要纠结在概念上)。 

(2)Mamdani 推理

Mandani推理简单粗暴,而且有效:

可以看到,在MATLAB的工具箱中,默认的就是这东西。 

这里写的并不是很全,另外推理算法还有Baldwin、T'sukamato、Yager等推理算法,希望有一天能有个国人的名字。

“通常把基于不精确的、不绝对可靠的或不完全的信息基础上的推理称为不确定性推理。同时,又把针对模糊系统的不确定性推理方法称为模糊推理方法。” 理解一下就是,在模糊系统中,基于不精确、不绝对可靠或信息不完全的推理就是模糊推理,也就是说,模糊推理本身上是无法做到完全准确的。注意啦,这是重点,这意味着我们可以把推理过程做到尽可能准确,那么用什么方法?—— 优化、神经网络......用你自己的办法。

1.4 解模糊化

        解模糊化的主要目的就是将模糊控制系统得到的模糊输出值映射到真实的世界中,而不再以模糊语言的形式来表示。最直观的理解如:求“很大”这个模糊语言的数值是多少。解模糊化也叫“去模糊化”、“清晰化”等。

        解模糊化没有确切统一的方法,最常用的有几种:

(1)最大隶属度法

        直接选择模糊输出中隶属度函数值最大的那个元素。

优点:主要信息突出,计算简单;

缺点:次要信息易丢失,方法粗糙,只适用于要求不高的模糊控制系统设计;

(2)中位数法(重心法、质心法、面积中心法)

        目前最流行、合理的解模糊化方法。该方法将模糊控制系统中的中位数作为控制量。

优点:相比最大隶属度法,重心法包含了模糊子集中的所有信息;

缺点:计算复杂,尤其是在隶属度函数的论域为连续时,需要求解积分方程。

(3)加权平均法

        适用于输出隶属度函数的模糊集是对称的。

相比重心法,计算相对简单。

(4)平均最大隶属度法

        与最大隶属度法类似,但这里的最大隶属度值可以不是一个,而是多个。

(5)求和中心法

        与加权平均法相似,但这里求和的是各个隶属度函数的面积,而加权平均的是隶属度函数值。

优点:计算速度很快。

(6)最大面积中心法

        如果输出模糊集至少有两个凸的子区域,则最大面积凸子区域的重心作为输出的解模糊化值。

(7)首尾最大值法

参考

[1] https://blog.csdn.net/ytffhew/article/details/84195081

[2] https://baike.baidu.com/item/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/174248?fr=aladdin

  • 46
    点赞
  • 224
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天狭鬼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值