0

我正在实现一个具有以下规则的模糊逻辑系统。

输入:

  • 温度 [0, 10]
  • 湿度 [0, 10]

规则:

  • 如果温度很高,那么危险很高
  • 如果湿度正常,则危险低
  • ...

现在,如果系统的输入激活了这些规则(例如:温度 = 9 和湿度 = 2),我将得到类似的输出:

             -                  -
            - -                - -
           -   -              -   -
          -     -            -     -
         -----------------------------
Danger:   low       medium    high

COG 会给我一个中等范围内的输出值。

我的问题是,我们知道(仅通过查看情节)危险很高,我不想因为低危险“三角形”而“衰减”输出值。

我应该使用其他去模糊化方法吗?或其他激活/累积方法?我想我可能会使用每个规则的权重得到我想要的,但这是最好的方法吗?

4

2 回答 2

1

为什么如果您有 2 个输入,那么您将规则分开。我建议您制定规则以避免诸如“如果温度正常且湿度正常则危险低”之类的模棱两可的问题。

于 2013-11-28T20:35:12.697 回答
0

从最初的问题来看,正常的湿度(或其中一个)似乎是低危险的弱指标。在这种情况下,我会制定这些规则:

如果温度正常且湿度正常,则危险低

如果温度高且湿度高,则危险高

但是,可能会发生其中一个传感器既不正常也不高的情况,因为它有缺陷。上面的 AND 最终不会激活这两个规则中的任何一个。因此,我总是制定额外的规则:

如果温度很高,那么危险很高,0.5

如果湿度很高,则危险很高,为 0.5

(您也可以将两者与 or 结合使用)

危险的错误指示可能不如没有危险的错误指示那么危险,因此:

如果湿度正常或温度正常,则危险低 0.1

于 2018-05-17T02:09:40.563 回答