模糊性来源于事物的复杂性和发展变化性(不确定性)。 所谓模糊,即是对一些常用的概念无法量化,如生活中的冷和热,高个子,青年人等概念,对于这样的概念,传统的集合论无能为力,因此美国的控制论专家
L
.
A
.
Z
a
d
e
h
L.A.Zadeh
L.A.Zadeh 于 1965 年提出了模糊集合用以描述模糊概念。 所谓模糊,即不再是传统的二值逻辑,非此即彼,而是用一个隶属函数
μ
A
(
x
)
\mu _A\left( x \right)
μA(x) 来表示
x
x
x属于
A
A
A的程度,
μ
A
(
x
)
\mu _A\left( x \right)
μA(x)的取值在0到1之间。
设
X
X
X是论域,
A
A
A是定义在
X
X
X上的一个模糊集合,对于
∀
x
∈
X
\forall x\in X
∀x∈X,定义实值函数
μ
A
(
x
)
∈
[
0,
1
]
\mu _A\left( x \right) \in \left[ \text{0, }1 \right]
μA(x)∈[0, 1]为
x
x
x属于集合
A
A
A的隶属度。
μ
A
(
x
)
\mu _A\left( x \right)
μA(x)也称为隶属函数。 举个例子,下图是成年人(非法定定义)这个模糊集合对应的隶属度函数曲线,可以看到,当年龄小于18时,隶属度小于0.5,“不怎么属于”,大于18岁时,隶属度大于0.5且在逐渐增长,符合一般规律。
对于集合的笛卡尔积,是指给定两个集合X和Y,由全体(x, y)组成的集合(
x
∈
X
,
y
∈
Y
x\in X, y\in Y
x∈X,y∈Y),叫做X与Y的笛卡尔积(或称直积)。记作
X
×
Y
X\times Y
X×Y
X
×
Y
=
{
(
x
,
y
)
∣
x
∈
X
,
y
∈
Y
}
X\times Y=\left\{ \left( x, y \right) |x\in X, y\in Y \right\}
X×Y={(x,y)∣x∈X,y∈Y} 这样直接看定义可能会有点懵,简单理解就是X中的每个元素和Y的每个元素一一配对,比如X={1,2}, Y={3, 4},那么
X
×
Y
X\times Y
X×Y={(1,3), (1,4), (2,3), (2,4)}。 笛卡尔积在很多场合都有使用,比如多重循环,多自变量函数图形的绘制等。
3.2 关系与模糊关系
所谓关系,是基于笛卡尔积提出的:存在两个集合X和Y,它们的笛卡尔积
X
×
Y
X\times Y
X×Y的一个子集R叫做X到Y的二元关系,简称关系
R
⊆
X
×
Y
R\subseteq X\times Y
R⊆X×Y。
怎么理解这个概念呢? 可以把X和Y想象成一个直角坐标系的横纵坐标,那么
X
×
Y
X\times Y
X×Y实际上就是形成的一个个网格点的坐标(或许这就是直角坐标系也叫笛卡尔坐标系的原因吧~),由于R为
X
×
Y
X\times Y
X×Y的子集,所以就相当于取了其中的一些点——类比线性规划,画一条直线(或曲线),那么平面上的点就被分为三部分:曲线内(左)、曲线上、曲线外(右),而R就相当于取其中的某部分。
如果令属于关系R的点取1,不属于R的点取0,那么R将是 一个
m
×
n
m\times n
m×n,且全部由0或1构成的矩阵。 举个例子:
已知两个集合之间的模糊关系,由一个集合上的模糊子集经过运算得到另一个集合上的模糊子集。从输入的模糊量求输出的模糊量。此即模糊变换。 设有限集
X
=
{
x
1
,
x
2
,
.
.
.
,
x
m
}
X=\left\{ x_1,x_2,...,x_m \right\}
X={x1,x2,...,xm}
Y
=
{
y
1
,
y
2
,
.
.
.
,
y
n
}
\,\,Y=\left\{ y_1,y_2,...,y_n \right\}
Y={y1,y2,...,yn},R是
X
×
Y
X\times Y
X×Y上的模糊关系,A和B分别为X和Y上的模糊集,且满足
则称B是A的象,A是B的原象,上式称为X到Y上的一个模糊变换。 举个例子:
这个例子有点抽象,个人觉得可以先掌握这种运算方式,然后在实际问题中去理解。
4. 模糊推理
4.1 模糊推理规则【重要!】
模糊推理的规则实际上是根据前面的理论基础总结出来的一些可以直接使用的结论。
(i)设
A
∈
F
(
U
)
,
B
∈
F
(
V
)
A\in F\left( U \right) , B\in F\left( V \right)
A∈F(U),B∈F(V),模糊条件语句为 “如果A,则B”。 这个推理规则用模糊关系R表示为:
此即Mamdani推理。上式中,A和B都是行向量,这样得到的R为
m
×
n
m\times n
m×n的矩阵,
m
m
m是A的长度,
n
n
n是B的长度。 第二个式子则是R矩阵的计算方式,因为A和B一行(列)只有一个元素,所以只有“^”号,没有或运算。
(ii)设
A
∈
F
(
U
)
,
B
∈
F
(
V
)
,
C
∈
F
(
V
)
A\in F\left( U \right) , B\in F\left( V \right),C\in F\left(V \right)
A∈F(U),B∈F(V),C∈F(V),模糊条件语句为 “如果A,则B,否则C”。用模糊关系
R
1
R_1
R1或
R
2
R_2
R2表示为:
(iii)设
A
∈
F
(
U
)
,
D
∈
F
(
U
)
,
B
∈
F
(
V
)
A\in F\left( U \right) , D\in F\left( U \right),B\in F\left(V \right)
A∈F(U),D∈F(U),B∈F(V),模糊条件语句为 “如果A或D,则B”。 用模糊关系R表示为:
(iv)设
A
∈
F
(
U
)
,
E
∈
F
(
W
)
,
B
∈
F
(
V
)
A\in F\left( U \right) , E\in F\left( W \right),B\in F\left(V \right)
A∈F(U),E∈F(W),B∈F(V),模糊条件语句为 “如果A且E,则B”。 用模糊关系R表示为:
先来看个例子。
已知
A
=
1
e
1
+
0.5
e
2
,
B
=
0.1
e
c
1
+
0.6
e
c
2
+
1
e
c
3
,如果
A
,则
B
。
当
A
∗
=
0.8
e
1
+
0.4
e
2
,求
B
∗
\text{已知}A=\frac{1}{e_1}+\frac{0.5}{e_2}, B=\frac{0.1}{ec_1}+\frac{0.6}{ec_2}+\frac{1}{ec_3}\text{,如果}A\text{,则}B\text{。} \\ \text{当}A^*=\frac{0.8}{e_1}+\frac{0.4}{e_2}\text{,求}B^*
已知A=e11+e20.5,B=ec10.1+ec20.6+ec31,如果A,则B。当A∗=e10.8+e20.4,求B∗ 对于这个问题,首先要根据已知的A和B,求出模糊关系矩阵R,然后代入
A
∗
A^*
A∗,即可得到其输出
B
∗
B^*
B∗。
其中,
α
=
⋁
x
∈
X
{
μ
A
∗
(
x
)
∧
μ
A
(
x
)
}
\boldsymbol{\alpha }=\bigvee_{\boldsymbol{x}\in \boldsymbol{X}}{\left\{ \boldsymbol{\mu }_{\boldsymbol{A}^*}\left( \boldsymbol{x} \right) \land \boldsymbol{\mu }_{\boldsymbol{A}}\left( \boldsymbol{x} \right) \right\}}
α=⋁x∈X{μA∗(x)∧μA(x)},相当于是一个行向量和一个列向量相乘,得到的是一个数,在这里叫
A
∗
A^*
A∗和
A
A
A的适配度。是
A
∗
A^*
A∗和
A
A
A交集的高度。
输入模糊化一般分为两步:①范围映射,②隶属函数分布。 ①范围映射:通常将偏差e与偏差变化率ec的值取在[-6, +6]之间,因此,论域[a, b]转化为论域[-6, +6]的变换公式为:
y
=
12
b
−
a
[
x
−
a
+
b
2
]
y=\frac{12}{b-a}\left[ x-\frac{a+b}{2} \right]
y=b−a12[x−2a+b] ②隶属函数分布:确定映射范围之后,接下来就是确定隶属函数的分布。在这一步常用的有两种方式:函数法和数值法。
加权平均法【也叫重心法】
u
=
∑
i
=
1
N
μ
(
u
i
)
⋅
u
i
∑
i
=
1
N
μ
(
u
i
)
u=\frac{\sum_{i=1}^N{\mu \left( u_i \right) \cdot u_i}}{\sum_{i=1}^N{\mu \left( u_i \right)}}
u=∑i=1Nμ(ui)∑i=1Nμ(ui)⋅ui