本文章所有知识点均为作者本人学习刘杰、李允公等老师的教材《智能控制与MATLAB实用技术》时所作笔记,在此发自肺腑地表达对老师们辛勤劳动的感谢和尊敬,也安利一下这本书,对入门智能控制的同学们来说是一本极其优秀的教材!

模糊集合

1. 基本概念

(1) 论域,即为全集,用大写字母表示, X , V X, V X,V等。
(2) 集合,论域中具有性质 p p p的元素的全体称为集合,表示为 A = { x ∣ p ( x ) } A=\{x|p(x)\} A={xp(x)}
(3) 并集。 A A A B B B的并集运算为: A ∪ B = { x ∣ x ∈ A ∨ x ∈ B } A \cup B = \{ x|x \in A \vee x \in B \} AB={xxAxB}其中 ∨ \vee 符号表示取大值。
(4) 交集。 A A A B B B的交集运算为: A ∩ B = { x ∣ x ∈ A ∧ x ∈ B } A \cap B=\{ x|x \in A \wedge x \in B \} AB={xxAxB}其中,符号 ∧ \wedge 表示取小值。
(5) 补集。 A A A的补集为 A C = { x ∣ x ∉ A } A^C=\{ x|x \notin A \} AC={xx/A}

2. 特征函数

设有集合 A A A,其特征函数记为
G A ( x ) = { 1 ( x ∈ A ) 0 ( x ∉ A ) G_A(x) = \begin{cases} 1 \quad (x \in A) \\ 0 \quad (x \notin A) \end{cases} GA(x)={1(xA)0(x/A)1表示元素属于集合,0表示不属于。

特征函数是一个二值函数

3. 模糊集合

笼统地来说,对于实际中的很多情况,我们无法定量确定其性质,大多数情况下都是用一种“模糊”的概念来描述,如“温度较高”“水位较浅”等,甚至“ x x x y y y大一些”“ x x x非常大,而 y y y比较适中”等。在这种情况下,很难确定所描述的对象应该被划在哪种集合里。

相应地,上述问题可以转化为“所描述的对象对于某个集合的隶属度高/不高/比较低(……)”等。

那么,特征函数如果不仅仅取 { 0 , 1 } \{0,1 \} {0,1},而是 [ 0 , 1 ] [0,1] [0,1],这样其取值就不再是二元性的了,而是一种连续的取值。

定义 若对于论域 X X X,如果存在一实值函数 μ A \mu_A μA,使得 μ A : X → [ 0 , 1 ] \mu_A: X \rightarrow [0,1] μA:X[0,1] A A A为论域 X X X上的模糊集合,特征函数 μ A ( x ) \mu_A(x) μA(x)称为隶属函数,表示 x x x μ A ( x ) \mu_A(x) μA(x)程度上隶属于集合 A A A μ A ( x ) = 0 \mu_A(x)=0 μA(x)=0表示 x x x不属于集合 A A A,反之则属于。

需要注意的是,很多情况下,隶属度取值的确定是一个主观的定义,答案不唯一。

表示模糊集合的方法:

1) 向量表示法

A = ( μ A ( x 1 ) , μ A ( x 2 ) , ⋯   , μ A ( x n ) ) A=\left (\mu_A(x_1),\mu_A(x_2), \cdots, \mu_A(x_n) \right) A=(μA(x1),μA(x2),,μA(xn))要按顺序写出所有元素的隶属度,不能省略为0的项。

2) Zadeh表示法(Zadeh也是模糊集合理论的创始人)

A = μ A ( x 1 ) x 1 + μ A ( x 2 ) x 2 + ⋯ + μ A ( x n ) x n A=\frac{\mu_A(x_1)}{x_1}+\frac{\mu_A(x_2)}{x_2}+\cdots+\frac{\mu_A(x_n)}{x_n} A=x1μA(x1)+x2μA(x2)++xnμA(xn)需要注意, μ A ( x i ) x i \frac{\mu_A(x_i)}{x_i} xiμA(xi)不是分数,“+”也不是相加。
该方法中,隶属度为0的项可以忽略。

3) 序偶表示法

A = { ( x 1 , μ A ( x 1 ) ) , ( x 2 , μ A ( x 2 ) ) , ⋯   , ( x n , μ A ( x n ) ) } A=\left\{ \left( x_1, \mu_A(x_1) \right),\left( x_2, \mu_A(x_2) \right), \cdots, \left( x_n, \mu_A(x_n) \right) \right\} A={(x1,μA(x1)),(x2,μA(x2)),,(xn,μA(xn))}

4. 隶属函数

隶属函数的确定必须满足的条件:必须使模糊集合为凸模糊集合,即隶属函数的曲线必须是单峰的。

一些基本的隶属函数形式:
(1) 三角形
f ( x ) = { 0 ( x ≤ a ) x − a b − a ( a ≤ x ≤ b ) c − x c − b ( b ≤ x ≤ c ) 0 ( x ≥ c ) f(x)= \begin{cases} 0 \quad (x \leq a) \\ \frac{x-a}{b-a} \quad (a \leq x \leq b) \\ \frac{c-x}{c-b} \quad (b \leq x \leq c) \\ 0 \quad (x \geq c) \end{cases} f(x)=0(xa)baxa(axb)cbcx(bxc)0(xc)(2) 钟形
f ( x ) = 1 1 + ∣ x − c a ∣ 2 b f(x)=\frac{1}{1+\left| \frac{x-c}{a} \right| ^{2b} } f(x)=1+axc2b1(3) 梯形
f ( x ) = { 0 ( x ≤ a ) x − a b − a ( a ≤ x ≤ b ) 1 ( b ≤ x ≤ c ) d − x d − c ( c ≤ x ≤ d ) 0 ( x ≥ d ) f(x)= \begin{cases} 0 \quad (x \leq a) \\ \frac{x-a}{b-a} \quad (a \leq x \leq b) \\ 1 \quad (b \leq x \leq c) \\ \frac{d-x}{d-c} \quad (c \leq x \leq d) \\ 0 \quad (x \geq d) \end{cases} f(x)=0(xa)baxa(axb)1(bxc)dcdx(cxd)0(xd)(4) 高斯型
f ( x ) = e − ( x − c ) 2 2 σ 2 f(x)=e^{-\frac{(x-c)^2}{2\sigma ^2}} f(x)=e2σ2(xc)2(5) Sigmoid型:
f ( x ) = 1 1 + e − a ( x − c ) f(x)=\frac{1}{1+e^{-a(x-c)}} f(x)=1+ea(xc)1

5. 模糊集合的运算和性质

A ∪ B A \cup B AB的隶属函数: μ A ∪ B ( x ) = μ A ( x ) ∨ μ B ( x ) = max ⁡ ( μ A ( x ) , μ B ( x ) ) \mu_{A \cup B}(x)=\mu_A(x) \vee \mu_B(x)=\max \left( \mu_A(x), \mu_B(x) \right) μAB(x)=μA(x)μB(x)=max(μA(x),μB(x))两集合中各元素隶属度取大值
A ∩ B A \cap B AB的隶属函数: μ A ∩ B ( x ) = μ A ( x ) ∧ μ B ( x ) = min ⁡ ( μ A ( x ) , μ B ( x ) ) \mu_{A \cap B}(x)=\mu_A(x) \wedge \mu_B(x)=\min \left( \mu_A(x), \mu_B(x) \right) μAB(x)=μA(x)μB(x)=min(μA(x),μB(x))两集合中各元素隶属度取小值
A C A^C AC的隶属函数: μ A C ( x ) = 1 − μ A ( x ) \mu_{A^C}(x)=1-\mu_A(x) μAC(x)=1μA(x)

常用性质:

  1. 幂等律。 A ∪ A = A , A ∩ A = A A \cup A=A, A \cap A=A AA=A,AA=A
  2. 交换律。 A ∪ B = B ∪ A , A ∩ B = B ∩ A A \cup B = B \cup A, A \cap B = B \cap A AB=BA,AB=BA
  3. 结合律。 ( A ∪ B ) ∪ C = A ∪ ( B ∪ C ) , ( A ∩ B ) ∩ C = A ∩ ( B ∩ C ) (A \cup B) \cup C=A \cup (B \cup C), (A \cap B) \cap C=A \cap (B \cap C) (AB)C=A(BC),(AB)C=A(BC)
  4. 分配率。 ( A ∪ B ) ∩ C = ( A ∩ C ) ∪ ( B ∩ C ) , ( A ∩ B ) ∪ C = ( A ∪ C ) ∩ ( B ∪ C ) (A \cup B) \cap C=(A \cap C)\cup(B \cap C), (A \cap B) \cup C=(A \cup C) \cap (B \cup C) (AB)C=(AC)(BC),(AB)C=(AC)(BC)
  5. 吸收率。 ( A ∪ B ) ∩ A = A , ( A ∩ B ) ∪ A = A (A \cup B) \cap A=A, (A \cap B) \cup A=A (AB)A=A,(AB)A=A
  6. 对偶率。 ( A ∪ B ) C = A C ∩ B C , ( A ∩ B ) C = A C ∪ B C (A \cup B)^C=A^C \cap B^C, (A \cap B)^C=A^C \cup B^C (AB)C=ACBC,(AB)C=ACBC
    注意 A ∪ A C ≠ E , A ∩ A c ≠ ∅ A \cup A^C \neq E, A \cap A^c \neq \emptyset AAC=E,AAc=,其中 E E E为全集。
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐