模糊逻辑中的断言错误足够规则

Assertion error in fuzzy logic enough rules

提问人: 提问时间:7/16/2023 更新时间:8/25/2023 访问量:101

问:

我有一个模糊逻辑的用例。我想根据需求推荐产品。然而,我的逻辑总是错误的,即使应该有足够的规则。


AssertionError 回溯(最近一次调用最后一次) 文件 ~/opt/anaconda3/lib/python3.9/site-packages/skfuzzy/control/controlsystem.py:586, in CrispValueCalculator.defuzz(self) 585 尝试: --> 586 返回去模糊(ups_universe, output_mf, 587 self.var.defuzzify_method) 588 除外 AssertionError:

文件 ~/opt/anaconda3/lib/python3.9/site-packages/skfuzzy/defuzzify/defuzz.py:248, in defuzz(x, mfx, mode) 247 zero_truth_degree = mfx.sum() == 0 # 总面积的近似值 --> 248 断言不zero_truth_degree,“去模糊化的总面积为零! 250 如果模式下的“质心”:

AssertionError:去模糊化的总面积为零!

在处理上述异常的过程中,发生了另一个异常:

python scipy 人工智能 模糊逻辑 skfuzzy

评论

0赞 Community 7/16/2023
请修剪您的代码,以便更轻松地找到您的问题。请遵循这些准则,以创建最小的可重现示例

答:

1赞 algorythms 7/16/2023 #1

您的程序会给出错误,因为它没有针对每种可能情况的规则。这就像尝试玩棋盘游戏,但你没有对每一个可能的动作都有说明。

要修复它,您可以:

  1. 添加更多规则:这就像在游戏中添加更多指令一样。
  2. 添加默认规则。
  3. 更改您的成员资格函数:如果条件过于具体,则 规则可能永远不会被使用。