推理引擎 - 具有清晰和模糊事实的混合规则

时间:2016-10-15 02:08:26

标签: fuzzy-logic inference-engine

我想制作推理模糊引擎,推断出3种规则:

  • 清晰的规则。
  • 模糊规则。
  • 具有清晰和模糊事实的混合规则。

每条规则都有一个假设集,一个结论集和一个确定性因子。在集合的事实中,如果一个事实是一个模糊的事实,那么它就有一定程度的真实性。

有推断清晰规则和模糊规则的教程,但我如何推断混合规则?

1 个答案:

答案 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。