什么是模糊逻辑?

人工智能 深度神经网络 术语 模糊逻辑
2021-10-18 19:26:46

我是 AI 新手,我想简单地说一下,什么是模糊逻辑概念?它有什么帮助,什么时候使用?

4个回答

随着复杂性的增加,精确的陈述失去意义,有意义的陈述失去精确性。(洛夫蒂扎德)。

模糊逻辑处理近似而不是固定和精确的推理。这可能使推理对人类更有意义:

精确和意义 - 漫画


模糊逻辑是 Lotfi Zadeh 于 1965 年在模糊集合的数学理论的基础上对布尔逻辑的扩展,是经典集合论的推广。通过在条件验证中引入度的概念,从而使条件处于非真或假的状态,模糊逻辑为推理提供了非常有价值的灵活性,这使得考虑不准确和不确定性成为可能。

为了使人类推理形式化,模糊逻辑的一个优点是规则是用自然语言设置的。例如,假设他不想失去驾驶执照,以下是驾驶员遵循的一些行为规则:

模糊逻辑决策表

直觉上,像这个例子中的输入变量似乎被大脑近似地理解了,例如模糊逻辑中条件的验证程度。


我写了一篇关于模糊逻辑的简短介绍,其中包含更多细节,但应该很容易理解。

模糊逻辑基于常规布尔逻辑。布尔逻辑意味着您正在使用真值或假(或 1 或 0,如果您愿意)。模糊逻辑是一样的,除了你可以有介于真假之间的真值,也就是说,你正在使用介于 0(包括)和 1(包括)之间的任何数字。您可以拥有“部分正确和部分错误”的真值这一事实是“模糊”一词的来源。自然语言经常使用诸如“那个气球是红色的”之类的模糊逻辑,这意味着气球可以是任何与红色足够相似的颜色,或者“淋浴是温暖的”。这是一个粗略的图表,说明“淋浴的温度是温暖的”如何用模糊逻辑表示(y 轴是真实值,x 轴是温度):

y轴=关于温度的陈述的真值,x轴=温度

模糊逻辑可以应用于布尔运算,例如andornot请注意,您可以用不同的方式定义模糊逻辑运算。一种方法是使用 min 和 max 函数,它们分别返回输入的两个值中较小的值和较大的值。这将这样工作:

A and B = min(A,B)
A or B  = max(A,B)
not A   = 1-A
(where A and B are real values from 0 (inclusive) to 1 (inclusive))

当这样定义时,它们被称为Zadeh 运算符

另一种方法是将和定义为第一个参数乘以第二个参数,这对于与 Zadeh运算符 ( min(0.5,0.5)=0.5, 0.5*0.5=0.25)相同的输入产生不同的输出。然后根据andnot运算符派生出其他运算符。这将这样工作:

A and B = A*B
not A = 1-A
A or B = not ((not A) and (not B)) = 1-((1-A)*(1-B)) = 1-(1-A)*(1-B)
(where A and B are real values from 0 (inclusive) to 1 (inclusive))

然后,您可以使用三个“基本模糊逻辑运算”构建所有其他“模糊逻辑运算”,就像您可以使用三个“基本布尔运算”构建所有其他“布尔逻辑运算”一样。

资料来源: 模糊逻辑维基百科布尔代数维基百科Youtube上的模糊逻辑解释

注意:如果有人可以在评论中建议一些更可靠的来源,我很乐意将它们添加到列表中(我知道当前的不太可靠)。

编辑:我的错,我混淆了在模糊逻辑中定义不同运算符的不同方法与在模糊逻辑中定义相同运算符的不同方法。

它类似于模拟与数字,或黑白之间的许多灰色阴影:在评估结果的真实性时,在二进制布尔值中它是真或假(0 或 1),但在使用模糊逻辑时,它是估计的0 到 1 之间的概率(例如 0.75 很可能是真的)。当所需的所有信息不一定都可用时,它对于做出有计划的决策很有用。

维基百科为此提供了一个很棒的页面

为什么有用?

很多事情我们都不确定。我们估计并且经常不确定,但几乎从来没有 100% 确定。这似乎是一个弱点,但由于这种模糊的方法,我们可以在这个复杂的世界中发挥作用,甚至表现得非常聪明。因此,这是一种简化事情的方法。它为您提供了一些余地来适当地填补空白,例如适应略有变化的情况。PS:在自然语言中,我们用更多、更少、几乎、相当、巨大等量化术语来表达这一点。但是量化事物对我们来说很困难。