图解模糊推理过程(超详细步骤)

        我们前面已经讨论了三角形、梯形、高斯型、S型、Z型、Π型6种隶属函数,下一步进入模糊推理阶段

        有关六种隶属函数的特点在“Pi型隶属函数(Π-shaped Membership Function)的详细介绍及python示例”都有详细讲解:https://lzm07.blog.csdn.net/article/details/146461397

        模糊推理的核心是根据规则库将输入映射到输出,所以需要分步骤解释这个过程。需要将输入变量T和H的隶属度结合模糊规则库来计算输出Y的隶属度。

        模糊推理是模糊逻辑系统的核心步骤,其目标是根据输入变量的隶属度和预先定义的模糊规则库,推导出输出变量的隶属度。整个过程分为以下四个关键阶段:模糊化、规则评估、聚合和解模糊化等步骤。

        前面多次用空调控制系统举例,其中温度T和湿度H作为输入,冷气阀门的开度作为输出。在例子中,需要定义输入变量T和H的隶属函数,比如低温、中温、高温,低湿、中湿、高湿。然后建立规则库,例如如果温度高且湿度高,则阀门全开。接着,计算每个规则的激活强度,如何应用蕴含方法(比如最小操作),然后通过聚合所有规则的输出,最后解模糊化得到具体数值。比如假设输入温度为30度,湿度为70%,计算每个条件的隶属度,应用规则,得到每个规则的输出,再聚合和解模糊化。简化步骤为:

(1)定义输入变量T和H的隶属函数

(2)建立规则库

(3)计算每个规则的激活强度

(4)聚合所有规则的输出

(5)解模糊化得到具体数值

        接下来对推理过程的各个阶段进行详细说明:

1. 模糊化 (Fuzzification)

(1)目标:将精确的输入值(如温度T=28∘C、湿度H=70%)转换为对应模糊集合的隶属度

如前文使用三角形隶属函数对温度T进行处理的例子:

        其中,a表示左边界(隶属度为0的点),b表示顶点(隶属度为1的点),c表示右边界(隶属度为0的点)。

(2)步骤:对每个输入变量(T和H)的模糊集合(如“低温”、“中温”、“高温”),计算输入值在这些集合中的隶属度

        例如:温度T=28∘C在模糊集合“中温”的隶属度为0.8,在“高温”的隶属度为0.2。湿度H=70% 在模糊集合“高湿”的隶属度为0.6,在“中湿”的隶属度为0.4。

2. 规则评估 (Rule Evaluation)

        目标:根据模糊规则库中的每条规则,计算其激活强度(Firing Strength),并确定输出隶属度的初步形状

        模糊规则是自己建立的。

关键操作:

(1)激活强度计算:使用模糊逻辑操作(如“与”操作取最小值“或”操作取最大值)。

(2)输出隶属度裁剪:将激活强度作用于输出隶属函数,通常使用最小蕴含法(Min-Implication)乘积蕴含法(Product-Implication)

示例规则库:

(1)规则1:如果T 是“高” 且H 是“高”,则Y 是“全开”。

(2)规则2:如果T 是“中” 或H是“中”,则Y是“半开”。

(3)规则3:如果T 是“低” 且H 是“低”,则Y 是“关闭”。

计算示例(假设T=28∘C, H=70%):

(1)规则1:

  1. T 是“高”的隶属度 = 0.2
  2. H 是“高”的隶属度 = 0.6
  3. 激活强度 = min(0.2, 0.6) = 0.2
  4. 输出隶属度:将激活强度 0.2 作用于“全开”隶属函数(如裁剪到高度0.2)

(2)规则2:

  1. T 是“中”的隶属度 = 0.8
  2. H 是“中”的隶属度 = 0.4
  3. 激活强度 = max(0.8, 0.4) = 0.8
  4. 输出隶属度:将激活强度 0.8 作用于“半开”隶属函数

(3)规则3:

  1. T 是“低”的隶属度 = 0
  2. H 是“低”的隶属度 = 0
  3. 激活强度 = min(0, 0) = 0
  4. 输出隶属度:无贡献。

3. 聚合 (Aggregation)

目标:将所有规则的输出隶属度合并为一个综合的模糊输出集合

方法:将每条规则裁剪后的输出隶属函数取最大值求和,得到最终的模糊输出隶属度分布。

示例:

规则1的裁剪输出为高度0.2的“全开”隶属函数。

规则2的裁剪输出为高度0.8的“半开”隶属函数。

聚合结果 = max(规则1输出, 规则2输出)。

4. 解模糊化 (Defuzzification)

目标:将模糊的输出隶属度转换为精确的控制值(如阀门开度Y=65%)

常用方法:

(1)重心法 (Centroid):计算隶属度曲线下面积的质心。

  (2)最大值平均法 (Mean of Maxima):取隶属度最大点的平均值。

示例:假设聚合后的输出隶属度分布如图,通过重心法计算得到Y=65%。

5.完整案例演示

(1)场景:空调阀门控制系统

(2)输入变量:

温度T=28∘C

湿度H=70%

(3)模糊规则库:

如果T 高 且 H 高,则 Y 全开。

如果T 中 或 H 中,则 Y 半开。

如果T 低 且 H 低,则 Y 关闭。

(4)步骤说明:

1)模糊化:T=28 ∘C 的隶属度:

中温(Medium):0.8

高温(High):0.2

2)H=70% 的隶属度:

中湿(Medium):0.4

高湿(High):0.6

(5)规则评估:

规则1:激活强度 = min(0.2, 0.6) = 0.2 → 裁剪“全开”隶属函数至高度0.2。

规则2:激活强度 = max(0.8, 0.4) = 0.8 → 裁剪“半开”隶属函数至高度0.8。

规则3:激活强度 = 0 → 无贡献。

(6)聚合:将规则1和规则2的裁剪结果取最大值,得到综合输出隶属度。

(7)解模糊化:使用重心法计算聚合后的隶属度曲线质心,假设得到Y=65%。

关键总结

(1)模糊规则库设计:规则需覆盖所有可能的输入组合,逻辑需符合实际控制需求。

(2)参数敏感性:激活强度计算方法(min/max)、蕴含方法(min/product)和解模糊化方法(重心法/MoM)直接影响输出结果。

(3)可视化调试:通过绘制聚合后的输出隶属度曲线,验证逻辑合理性(如是否出现意外多峰或隶属度突变)。

通过模糊推理,系统能够以人类可理解的规则处理不确定性,在复杂控制场景中表现出色(如温度控制、自动驾驶决策)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38643.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

001-JMeter的安装与配置

1.前期准备 下载好JMeter : https://jmeter.apache.org/download_jmeter.cgi 下载好JDK : :Java Downloads | Oracle 中国 下载图中圈蓝的JMeter和JDK就行,让它边下载,我们边往下看 2.为什么要下载并安装JDK ? JMeter 是基于 Java 开发的工具&#…

英伟达有哪些支持AI绘画的 工程

英伟达在AI绘画领域布局广泛,其自研工具与第三方合作项目共同构建了完整的技术生态。以下是其核心支持AI绘画的工程及合作项目的详细介绍: 一、英伟达自研AI绘画工具 1. GauGAN系列 技术特点:基于生成对抗网络(GAN)&…

Netty源码—4.客户端接入流程二

大纲 1.关于Netty客户端连接接入问题整理 2.Reactor线程模型和服务端启动流程 3.Netty新连接接入的整体处理逻辑 4.新连接接入之检测新连接 5.新连接接入之创建NioSocketChannel 6.新连接接入之绑定NioEventLoop线程 7.新连接接入之注册Selector和注册读事件 8.注册Rea…

2025.3.17-2025.3.23学习周报

目录 摘要Abstract1 文献阅读1.1 动态图邻接矩阵1.2 总体框架1.2.1 GCAM1.2.2 输出块 1.3 实验分析 总结 摘要 在本周阅读的文献中,作者提出了一种名为TFM-GCAM的模型。TFM-GCAM模型的创新主要分为两部分,一部分是交通流量矩阵的设计,TFM-GC…

生活电子类常识——搭建openMauns工作流+搭建易犯错解析

前言 小白一句话生成一个网站?小白一句话生成一个游戏?小白一句话生成一个ppt?小白一句话生成一个视频? 可以 原理 总体的执行流程是 1,用户下达指令 2,大模型根据用户指令,分解指令任务为多个细分步骤…

深入解析 Uniswap:自动做市商模型的数学推导与智能合约架构

目录 1. 自动做市商(AMM)模型的数学推导1.1 恒定乘积公式推导1.2 价格影响与滑点 2. Uniswap 智能合约架构解析2.1 核心合约(Core)2.1.1 工厂合约(Factory)2.1.2 交易对合约(Pair) 2…

高频面试题(含笔试高频算法整理)基本总结回顾20

干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…

生成模型速通(Diffusion,VAE,GAN)

基本概念 参考视频https://www.bilibili.com/video/BV1re4y1m7gb/?spm_id_from333.337.search-card.all.click&vd_sourcef04f16dd6fd058b8328c67a3e064abd5 生成模型其实是主要是依赖概率分布,对输入特征的概率密度函数建模 隐空间(latent space)…

Android在kts中简单使用AIDL

Android在kts中简单使用AIDL AIDL相信做Android都有所了解,跨进程通信会经常使用,这里就不展开讲解原理跨进程通信的方式了,最近项目换成kts的方式,于是把aidl也换成了统一的方式,其中遇到了很多问题,这里…

学习本地部署DeepSeek的过程(基于ollama)

DeepSeek除了支持在线调用服务接口外,还支持本地部署后调用本地服务,这样的好处是不需要api key,且资源独占,还能训练个人知识库。本文学习并记录本地部署DeepSeek的过程。   参考文献3中列出了不同模型对于电脑硬件的要求&…

文献分享: ColXTR——将ColBERTv2的优化引入ColXTR

1. ColXTR \textbf{1. ColXTR} 1. ColXTR原理 1.1. ColBERTv2 \textbf{1.1. ColBERTv2} 1.1. ColBERTv2概述 1.1.1. \textbf{1.1.1. } 1.1.1. 训练优化 1️⃣难负样本生成 初筛:基于 BM-25 \text{BM-25} BM-25找到可能的负样本重排:使用 KL \text{KL} KL…

Altium Designer数模电学习笔记

模电 电容 **退耦:**利用通交阻直,将看似直流的信号中的交流成分滤除 (一般用在给MPU供电,尽量小一些,10nf~100nf~1uf以下) **滤波:**也可以理解为给电容充电,让电容在电平为低时…

从指令集鸿沟到硬件抽象:AI 如何重塑手机与电脑编程语言差异——PanLang 原型全栈设计方案与实验性探索1

AI 如何跨越指令集鸿沟?手机与电脑编程语言差异溯源与统一路径——PanLang 原型全栈设计方案与实验性探索1 文章目录 AI 如何跨越指令集鸿沟?手机与电脑编程语言差异溯源与统一路径——PanLang 原型全栈设计方案与实验性探索1前言一、手机与电脑编程语言…

python 实现一个简单的window 任务管理器

import tkinter as tk from tkinter import ttk import psutil# 运行此代码前,请确保已经安装了 psutil 库,可以使用 pip install psutil 进行安装。 # 由于获取进程信息可能会受到权限限制,某些进程的信息可能无法获取,代码中已经…

C之(15)cppcheck使用介绍

C之(15)cppcheck使用介绍 Author: Once Day Date: 2025年3月23日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可查看专栏: Linux实践记录_Once_day的博客-CS…

Ant Design Vue Select 选择器 全选 功能

Vue.js的组件库Ant Design Vue Select 选择器没有全选功能&#xff0c;如下图所示&#xff1a; 在项目中&#xff0c;我们自己实现了全选和清空功能&#xff0c;如下所示&#xff1a; 代码如下所示&#xff1a; <!--* 参数配置 - 风力发电 - 曲线图 * 猴王软件学院 - 大强 …

CaiT (Class-Attention in Image Transformers):深度图像Transformer的创新之路

CaiT (Class-Attention in Image Transformers)&#xff1a;深度图像Transformer的创新之路 近年来&#xff0c;Transformers 模型在自然语言处理领域的成功逐渐扩展到了计算机视觉领域&#xff0c;尤其是图像分类任务中&#xff0c;Vision Transformer (ViT) 的提出打破了卷积…

Qt之MVC架构MVD

什么是MVC架构&#xff1a; MVC模式&#xff08;Model–view–controller&#xff09;是软件工程中的一种软件架构模式&#xff0c;把软件系统分为三个基本部分&#xff1a;模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;和控制器&#xff08;Controll…

数组,指针 易混题解析(二)

目录 一.基础 1. 2. 二.中等 1. 坑 2. 3.指针1到底加什么 三.偏难 1.&#xff08;小端 x86&#xff09; 2.通过数组指针进行偏移的时候怎么偏移 3. 大BOSS &#xff08;1&#xff09;**cpp &#xff08;2&#xff09;*-- * cpp 3 &#xff08;3&#xff09;*c…

数据建模流程: 概念模型>>逻辑模型>>物理模型

数据建模流程 概念模型 概念模型是一种高层次的数据模型&#xff0c;用于描述系统中的关键业务概念及其之间的关系。它主要关注业务需求和数据需求&#xff0c;而不涉及具体的技术实现细节。概念模型通常用于在项目初期帮助业务人员和技术人员达成共识&#xff0c;确保对业务需…