大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
模糊数学基础
文章目录
1. 前言
1965年 美国著名控制论专家发表了Fuzzy Sets 从而开创了模糊数学的基本概念 用“隶属度”和“隶属函数”来描述差异的中间过渡,处理和刻画模糊现象.
处理现实现象的数学模型可以分为三大类:
- 确定性数学模型
- 随机性数学模型
- 模糊性数学模型
前两类模型的共同特点是所描述的食物本身的含义是确定的,它们赖以存在的基石-集合论,它满足互补率,就是非此即彼的清晰概念的抽象.而模糊数学模型所描述的事物本身的含义是不确定的.
2. 区分随机性和模糊性
随机性:是针对事件的某种结果的机会而言,由于条件不充分而导致各种可能的结果。这是因果律的破缺而造成的不确定性。
模糊性:是指存在于现实中的不分明现象。如“稳定”与“不稳定”等,从差异的一方到另一方,中间经历了一个从量变到质变的连续过渡过程。这是因排中律(在同一个思维过程中,两种思想不能同假,其中必有一真,即“要么A要么非A”,是形式逻辑的基本规律之一。)的破缺而造成的不确定性。
3. 模糊数学的基本概念
1. 模糊集和隶属函数
定义1:
被讨论的对象的全体称为论域.论域常用大写字母 U,V 等来表示.
对于论域U的每个元素和某一子集A,在经典数学中,那么 x ∈ A x\in{A} x∈A ,要么 x ∉ A x\notin{A} x∈/A.
描述这一事实的是特征函数 χ A ( x ) = { 1 , x ∈ A 0 , x ∉ A \chi_A(x)=\begin{cases} 1, x\in{A} \\0, x\notin{A} \end{cases} χA(x)={
1,x∈A0,x∈/A 即集合A由特征函数唯一确定.
在模糊数学中,称没有明确边界(没有清晰外延)的集合称为模糊集合.常用大写字母来表示.元素属于模糊集合的程度用隶属度来表示.用于计算隶属度的函数称为隶属函数.它们的数学定义如下.
定义2 论域U到[0,1] (隶属度的取值范围) 闭区间上的任意映射
M: U->[0,1],
u->M(u),
都确定了U上的一个模糊集合,M(u)叫做M的隶属函数,或称为u对M的隶属度.记作 M={
( u , M ( u ) ∣ u ∈ U {(u,M(u)|u\in{U}} (u,M(u)∣u∈U}
使得M(u)=0.5的称为模糊集M的过渡点,此点最具有模糊性.
我们一般称模糊集为F集(来源于英文单词Fuzzy),论域U上的F集记作 F ( U ) F(U) F(U).
2. 模糊集的表示
当论域U为有限集时,记U={u1,u2,···,un},则U上的模糊集M有下列三种常见表现形式.
-
序偶表示法
M = ( u 1 , M ( u 1 ) ) , ( u 2 , M ( u 2 ) ) , ⋅ ⋅ ⋅ , ( u n , M ( u n ) ) . M={(u1,M(u1)),(u2,M(u2)),···,(un,M(un))}. M=(u1,M(u1)),(u2,M(u2)),⋅⋅⋅,(un,M(un)).
-
向量表示法
M = ( M ( u 1 ) , M ( u 2 ) , ⋅ ⋅ ⋅ M ( u n ) ) . M=(M(u1),M(u2),···M(un)). M=(M(u1),M(u2),⋅⋅⋅M(un)).
-
扎德表示法
M = ∑ i = 1 n M ( u i ) u i = M ( u 1 ) u 1 + M ( u 2 ) u 2 + M ( u 3 ) u 3 + M ( u n ) u n M=\sum_{i=1}^{n}\frac{M(u_i)}{u_i}=\frac{M(u_1)}{u_1}+\frac{M(u_2)}{u_2}+\frac{M(u_3)}{u_3}+\frac{M(u_n)}{u_n} M=i=1∑nuiM(ui)=u1M(u1)+u2M(u2)+u3M(u3)+unM(un)
注:” ∑ \sum ∑“和”+”不是求和的意思,只是表示集合元素的记号. M ( u i ) u i \frac{M(u_i)}{u_i} uiM(ui)不是分数,它表示点 u i u_i ui对模糊集M的隶属度是 M ( u i ) M(u_i) M(ui).
当论域U为无限集时,U上的模糊集M可表示为: M = ∫ u ∈ M M ( u ) u M=\int_{u\in{M}}{\frac{M(u)}{u}} M=∫u∈MuM(u)
注:” ∫ \int ∫“也不是代表积分的意思
3. 确定隶属函数的方法
隶属函数通常采用模糊统计方法、例证法和指派法确定.下面重点给出指派法确定隶属函数.
指派法是一种主观的方法,它主要依据人们的实践经验来确定某些模糊集合的隶属函数.如果模糊集定义在实数域上,则隶属函数称为模糊分布.常见的几个模糊分布如下表所示.
来几个栗子:
4. 与传统集合论的区分
对于某F集A,若A(u)仅取0和1两个数时,A就退化为普通集合.所以,普通集合是模糊集的特殊情形.
若A(u)=0,则A为空集 ∅ \emptyset ∅;若A(u)=1,则A为全集U,即A=U.一般A(u)会是等于一个隶属函数.
4.模糊数学的基本运算
1.模糊集的运算
设A,B为论域U上的两个模糊集合,则A与B的并集 A ∪ B A\cup{B} A∪B、交集 A ∩ B A\cap{B} A∩B、补集 A ‾ \overline{A} A也是论域上的模糊集合,其定义如下:
并集: A ∪ B = { ( u , A ∪ B ( u ) ) ∣ A ∪ B ( u ) = m a x { A ( u ) , B ( u ) } , u ∈ U } A\cup{B}=\{(u,A\cup{B(u)})|A\cup{B(u)}=max\{A(u),B(u)\},u\in{U}\} A∪B={
(u,A∪B(u))∣A∪B(u)=max{
A(u),B(u)},u∈U}
交集: A ∩ B = { ( u , A ∩ B ( u ) ) ∣ A ∩ B ( u ) = m i n { A ( u ) , B ( u ) } , u ∈ U } A\cap{B}=\{(u,A\cap{B(u)})|A\cap{B(u)}=min\{A(u),B(u)\},u\in{U}\} A∩B={
(u,A∩B(u))∣A∩B(u)=min{
A(u),B(u)},u∈U}
补集: A ‾ = ( u , A ‾ u ) ∣ A ‾ ( u ) = 1 − A ( u ) , u ∈ U \overline{A}={(u,\overline{A}{u})|\overline{A}(u)=1-A(u),u\in{U}} A=(u,Au)∣A(u)=1−A(u),u∈U
来个栗子
2.模糊关系与运算
1. 关系与模糊关系
关系是对两个普通集合的直积释加某种条件限制后得到的序偶集合,常用R表示.
栗(这里我直接引用一个教材上的栗子):
可以看到,用矩阵表示关系会显得很清晰明了 前面的直积比较类似于矩阵乘法 np.dot(A,B) A(3,1) B(1,3)
模糊关系指对普通集合的直积释加某种模糊条件限制后得到的模糊关系,也记作R.
模糊关系可用扎德表示法、隶属函数或矩阵形式来表示.
来个模糊关系的栗子:
2. 模糊关系矩阵的运算
设 R = ( r i j ) m × n , S = ( s i j ) m × n R=(r_{ij})_{m\times{n}},S=(s_{ij})_{m\times{n}} R=(rij)m×n,S=(sij)m×n为同一论域U上的两个模糊关系矩阵,i=1,2,···,m
j=1,2,···,n,则其并、交、补运算分别定义为(因markdown实在不好打出 故采用手写)
来个模糊关系矩阵合成的例子:
可以看到,其运算过程和矩阵乘法基本相同 也需要满足左边矩阵的列维度等于右边矩阵的行维度
不同的只是最后并不是相乘积 而是用交并的形式(max和min)
3. python程序求解法
我们还可以编写python程序来求解
import numpy as np
a=np.array([0.3,0.35,0.1]); aa=np.tile(a,(len(a),1)) # 或者说平铺 第一个参数为axis=0复制几倍 第二个参数为axis=1轴复制几倍 使得维度与b匹配
b=np.array([[0.3,0.5,0.2],[0.2,0.2,0.4],[0.3,0.4,0.2]])
#模拟模糊关系矩阵合成运算
c=np.minimun(aa.T,b) #两个矩阵的元素对应求最小值
T=c.max(axis=0) #矩阵逐列求最大值成行向量
print("T=",T)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/206812.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...