模糊数学——模糊关系求解

题目

已知语言变量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}\\ 000.5010000.5010000.501000.50.50.510.5010.5111=
[ 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=R1R2=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]

总结及心得体会

模糊集理论是模糊控制的数学基础,是描述模糊性概念的有效的数学工具。模糊集合理论是普通集合理论的拓展,通过引入隶属函数的概念达到了对模糊概念描述的目的。模糊思想的引入不仅使数字量和模拟量更好的融合在一起,也加速了人脑与电脑的相互联系,是用机器语言表达人类思维的好方法。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MATLAB卡尔曼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值