题目
已知语言变量x,y,z。X的论域为{1,2,3},定义有两个语言值:“大”={0,0.5,1}:“小”={1,0.5,0}。Y的论域为{10,20,30,40,50},语言值为:“高”={0,0,0,0.5,1};“中”={0,0.5,1,0.5,0};“低”={1,0.5,0,0,0}。Z的论域为{0.1,0.2,0.3},语言值为:“长”={0,0.5,1}:“短”={1,0.5,0}。则:
1)试求规则:
- 如果x是“大”,并且y是“高”,那么z是“长”;
- 否则,如果x是“小”,并且y是“中”,那么z是“短”。
所蕴涵的x,y,z之间的模糊关系 R R R。
2)假设在某时刻,是“略小”={0.7,0.25,0},y是“略高”={0,0,0.3,0.7,1}.试根据 R R R通过Zadeh法模糊推理求出此时输出z的语言取值。
问题分析
第一题
如果x是“大”并且y是“高”那么z是“长”;
否则,如果x是“小”,并且y是“中”那么是“短”。
由题意可得,x,y,z之间的模糊关系 R R R为:
( 大 × 高 × 长 ) ∪ ( 小 × 中 × 短 ) ( {\text{大}}\times {\text{高}}\times{\text{长}})\cup({\text{小}}\times{\text{中}}\times{\text{短}}) (大×高×长)∪(小×中×短)
第二题
假设在某时刻,x是“略小”={0.7,0.25,0},y是“略高”={0,0,0.3,0.7,1}。根据 R R R,通过 Z a d e h Zadeh Zadeh法模糊推理求出此时输出z的语言取值。
因为x、y、z之间的模糊关系为 R R R,所以当输入变量x、y的模糊取值为 A ∗ A^* A∗、 B ∗ B^* B∗时,与之对应的输出z的取值 C ∗ C^* C∗的值为:
C ∗ = ( A ∗ × B ∗ ) ∘ R {C^*}=({A^*}\times{B^*})\circ{R} C∗=(A∗×B∗)∘R
由此公式再进行计算即可。
问题解决
第一题
设x的语言值{大,小}=
{
A
1
,
A
2
}
\{A_1,A_2\}
{A1,A2},Y的语言值{高,中,低}=
{
B
1
,
B
2
,
B
3
}
\{B_1,B_2,B_3\}
{B1,B2,B3},Z的语言值{长,短}=
{
C
1
,
C
2
}
\{C_1,C_2\}
{C1,C2}。
则x,y,z之间的模糊关系
R
R
R为:
R
=
(
A
1
×
B
1
×
C
1
)
∪
(
A
2
×
B
2
×
C
2
{R}=({A_1}\times{B_1}\times{C_1})\cup({A_2}\times{B_2}\times{C_2}
R=(A1×B1×C1)∪(A2×B2×C2)\
其隶属函数为:
μ
(
x
,
y
,
z
)
=
(
μ
A
1
(
x
)
∧
μ
B
1
(
y
)
∧
μ
C
1
(
z
)
)
∨
(
μ
A
2
(
x
)
∧
μ
B
2
(
y
)
∧
μ
C
2
(
z
)
)
\mu(x,y,z)=(\mu_{A_1}(x)\land\mu_{B_1}(y)\land\mu_{C_1}(z))\lor(\mu_{A_2}(x)\land\mu_{B_2}(y)\land\mu_{C_2}(z))
μ(x,y,z)=(μA1(x)∧μB1(y)∧μC1(z))∨(μA2(x)∧μB2(y)∧μC2(z))
第二题
求 R : {R}: R:
R = ( A 1 × B 1 × C 1 ) ∪ ( A 2 × B 2 × C 2 ) {R}=({A_1}\times{B_1}\times{C_1})\cup({A_2}\times{B_2}\times{C_2}) R=(A1×B1×C1)∪(A2×B2×C2)
令 R 11 = A 1 × B 1 R_{11}={A_1}\times{B_1} R11=A1×B1
则
R
11
=
R_{11}=
R11=
[
0
∧
0
0
∧
0
0
∧
0
0
∧
0.5
0
∧
1
0.5
∧
0
0.5
∧
0
0.5
∧
0
0.5
∧
0.5
0.5
∧
1
1
∧
0
1
∧
0
1
∧
0
1
∧
0.5
1
∧
1
]
\begin{bmatrix} 0\land0 & 0\land0 & 0\land0 & 0\land0.5 & 0\land1\\ 0.5\land0 & 0.5\land0 & 0.5\land0 & 0.5\land0.5 &0.5\land1\\ 1\land0 & 1\land0 & 1\land0 & 1\land0.5 & 1\land 1 \end{bmatrix}\\
⎣⎡0∧00.5∧01∧00∧00.5∧01∧00∧00.5∧01∧00∧0.50.5∧0.51∧0.50∧10.5∧11∧1⎦⎤=
[
0
0
0
0
0
0
0
0
0.5
0.5
0
0
0
0.5
1
]
\begin{bmatrix} 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0.5 & 0.5\\ 0 & 0 & 0 & 0.5 & 1 \end{bmatrix}
⎣⎡00000000000.50.500.51⎦⎤
令 R 1 = A 1 × B 1 × C 1 {R_{1}}={A_1}\times{B_1}\times{C_1} R1=A1×B1×C1,则:
R 1 = R 11 T × C 1 {R_{1}}={R_{11}^T}\times{C_1} R1=R11T×C1=
[ 0 0 0 0 0 0 0 0 0.5 0.5 0 0 0 0.5 1 ] \begin{bmatrix} 0 & 0 & 0 & 0&0 &0 & 0 & 0 & 0.5&0.5&0&0&0&0.5&1 \end{bmatrix} [000000000.50.50000.51]
因为
C
1
=
[
0
0.5
1
]
{C_1}= \begin{bmatrix} 0&0.5&1 \end{bmatrix}
C1=[00.51],所以:
R
1
=
[
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.5
0.5
0
0.5
0.5
0
0
0
0
0
0
0
0
0
0
0.5
0.5
0
0.5
1
]
{R_1}= \begin{bmatrix} 0 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0.5 & 0.5\\ 0 & 0.5 & 0.5\\ 0 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0.5 & 0.5\\ 0 & 0.5 & 1 \end{bmatrix}
R1=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡000000000000000000000000.50.50000.50.5000000000.50.50000.51⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤.
同理,令
R
2
=
A
2
×
B
2
×
C
2
{R_{2}}={A_2}\times{B_2}\times{C_2}
R2=A2×B2×C2,则
R
2
=
[
0
0
0
0.5
0.5
0
1
0.5
0
0.5
0.5
0
0
0
0
0
0
0
0.5
0.5
0
0.5
0.5
0
0.5
0.5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
]
.
{R_2}= \begin{bmatrix} 0 & 0 & 0\\ 0.5 & 0.5 & 0\\ 1 & 0.5 & 0\\ 0.5&0.5&0\\ 0&0&0\\ 0&0&0\\ 0.5&0.5&0\\ 0.5&0.5&0\\ 0.5&0.5&0\\ 0&0&0\\ 0&0&0\\ 0&0&0\\ 0&0&0\\ 0&0&0\\ 0&0&0\\ \end{bmatrix}.
R2=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡00.510.5000.50.50.500000000.50.50.5000.50.50.5000000000000000000000⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤.\
R
=
R
1
∪
R
2
=
[
0
0
0
0.5
0.5
0
1
0.5
0
0.5
0.5
0
0
0
0
0
0
0
0.5
0.5
0
0.5
0.5
0
0.5
0.5
0.5
0
0.5
0.5
0
0
0
0
0
0
0
0
0
0
0.5
0.5
0
0.5
1
]
R=R_1\cup R_2=\begin{bmatrix} 0 & 0 & 0\\ 0.5 & 0.5 & 0\\ 1 & 0.5 & 0\\ 0.5&0.5&0\\ 0&0&0\\ 0&0&0\\ 0.5&0.5&0\\ 0.5&0.5&0\\ 0.5&0.5&0.5\\ 0&0.5&0.5\\ 0&0&0\\ 0&0&0\\ 0&0&0\\ 0&0.5&0.5\\ 0&0.5&1\\ \end{bmatrix}
R=R1∪R2=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡00.510.5000.50.50.500000000.50.50.5000.50.50.50.50000.50.5000000000.50.50000.51⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
由题意:x是“略小”=
{
0.7
,
0.25
,
0
}
\{0.7,0.25,0\}
{0.7,0.25,0},y是“略高”=
{
0
,
0
,
0.3
,
0.7
,
1
}
\{0,0,0.3,0.7,1\}
{0,0,0.3,0.7,1},可得各语言值的隶属函数:
μ
A
=
(
0.7
,
0.25
,
0
)
μ
B
=
(
0
,
0
,
0.3
,
0.7
,
1
)
\mu_A=(0.7,0.25,0)\\ \mu_B=(0,0,0.3,0.7,1)
μA=(0.7,0.25,0)μB=(0,0,0.3,0.7,1)
根据
R
R
R通过Zadeh法多输入模糊推理,可得:
C ∗ = ( A ∗ × B ∗ ) ∘ R {C^*}=({A^*}\times{B^*})\circ{R} C∗=(A∗×B∗)∘R\
所以:
C ∗ ( z ) = A ∗ ( x ) × B ∗ ( y ) ∘ R ( x , y , z ) {C^*(z)}={A^*(x)}\times{B^*(y)}\circ{R(x,y,z)} C∗(z)=A∗(x)×B∗(y)∘R(x,y,z)\
因为:
A
∗
(
x
)
×
B
∗
(
y
)
{A^*(x)}\times{B^*(y)}
A∗(x)×B∗(y)
0.7
0.25
0
0.7 \\ 0.25 \\ 0
0.70.250
×
\times
×
[
0
0
0.3
0.7
1
]
\begin{bmatrix} 0&0&0.3&0.7&1 \end{bmatrix}
[000.30.71]
[
0
0
0.3
0.7
0.7
0
0
0.25
0.25
0.25
0
0
0
0
0
]
\begin{bmatrix} 0&0&0.3&0.7&0.7\\ 0&0&0.25&0.25&0.25\\ 0&0&0&0&0\\ \end{bmatrix}
⎣⎡0000000.30.2500.70.2500.70.250⎦⎤
所以:
C ∗ ( z ) = A ∗ ( x ) × B ∗ ( y ) T = [ 0.5 0.5 0.25 ] {C^*(z)}={A^*(x)}\times{B^*(y)}^T=\begin{bmatrix} 0.5 & 0.5 & 0.25 \end{bmatrix} C∗(z)=A∗(x)×B∗(y)T=[0.50.50.25]
综上,此时输出z的语言取值为:
[
0.5
0.5
0.25
]
\begin{bmatrix} 0.5 & 0.5 & 0.25 \end{bmatrix}
[0.50.50.25]
总结及心得体会
模糊集理论是模糊控制的数学基础,是描述模糊性概念的有效的数学工具。模糊集合理论是普通集合理论的拓展,通过引入隶属函数的概念达到了对模糊概念描述的目的。模糊思想的引入不仅使数字量和模拟量更好的融合在一起,也加速了人脑与电脑的相互联系,是用机器语言表达人类思维的好方法。