运行环境
Pycharm + Anaconda3
已知一组污泥和油脂两个参数的模糊集合
,以及对应的洗涤时间推理的结果。
现再给出一组污泥和油脂的模糊集合,进行模糊推理
,推出洗涤时间的模糊集合
。
最后进行模糊决策
,选择洗涤时间的档次,采用最大隶属度
和 加权平均法
两种方法
1. 模糊控制规则
“污泥/油脂越多,洗涤时间越长”;
“污泥/油脂适中,洗涤时间适中”;
“污泥/油脂越少,洗涤时间越短”。
测试样例:污泥 = [0,0.83,0.6]
油脂 = [0, 0.71, 0.7]
污泥和油脂都分为三个档次1、2、3 分别表示程度低、中、高
洗涤时间则分为五个档次,1、2、3、4、5分别表示时间很短、较短、中等、较高、很高
现给出控制的模糊集合污泥[0, 0.5, 1] , 油脂[0, 0.5, 1] , 洗涤时间[0, 0.25, 0.5, 0.75, 1]
其中的值表示隶属度,而对应的元素则省略。
程序运行逻辑图
2. 模糊规则控制矩阵
该矩阵是通过对污泥和油脂两个模糊集合进行模糊合成的结果,采用的是取大运算(V)。实现代码
def getRuleMatrix(a, b, r, c):
data = np.zeros(shape=(r, c), dtype=float)
for i in range(len(a)):
for j in range(len(b)):
data[i][j] = max(a[i], b[j])
return data
A = getRuleMatrix([0, 0.5, 1], [0, 0.5, 1], 3, 3)
结果
[[0. 0.5 1. ]
[0.5 0.5 1. ]
[1. 1. 1. ]]
3. 模糊关系
规则控制矩阵和洗涤时间的模糊关系,表示的是污泥和油脂进行模糊合成
后的模糊集合
与 洗涤时间
再次进行模糊合成
的结果文章来源:https://www.toymoban.com/news/detail-403146.html
需要注意的是,再次运算是[3 x 3] 的矩阵与 [1 x 5] 矩阵的计算,这里采用降维将[3 x 3] 转化为[9 x 1] 这样就可以和[1 x 5]矩阵进行模糊合成,最后生成一个[9 x 5] 的模糊关系矩阵。而且这次运算是Λ
取小。实现代码
文章来源地址https://www.toymoban.com/news/detail-403146.html
def getRelation(A, B):
A = [y for x in A for y in x]
data = np.zeros(shape=(len(A
到了这里,关于人工智能基础 | Python实现 洗衣机模糊推理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!