我想制作推理模糊引擎,推断出3种规则:
每条规则都有一个假设集,一个结论集和一个确定性因子。在集合的事实中,如果一个事实是一个模糊的事实,那么它就有一定程度的真实性。
有推断清晰规则和模糊规则的教程,但我如何推断混合规则?
答案 0 :(得分:1)
Aren的模糊规则对清晰规则的概括(如果我理解你的正则清晰规则是什么意思)。将模糊规则转换为清晰规则的方法是确保先行条件中的隶属函数(MF)不与任何其他隶属函数重叠,因此MF在去模糊化时基本上给出了单一的清晰值。
例如: 输入温度如下MF:
temp_low_mf = fuzz.trimf(x_temp, [0, 0, 10])
temp_med_mf = fuzz.trimf(x_temp, [0, 20, 45])
temp_high_mf = fuzz.trimf(x_temp, [20, 45, 45])
输出风扇速度有一个与清脆规则相关的MF:
fanspeed_low_mf = fuzz.trimf(x_fanspeed, [0, 0, 0])
下面的模糊规则实际上是一个清晰的规则:
rule1 = ctrl.Rule(tempAnt['low'], fanspeedCon['low'], "Cold Climate Rule")
即:如果temp小于10,则风扇速度应为0。