我有一个关于如何在我的应用程序中实现模糊逻辑的问题,但是用一个经典的例子来解释它会更好。 如果我使用模糊逻辑来控制汽车的转向,输出范围为:-1(左),0(前进)和+1(右),我可以直接使用输出中的数字来控制汽车。 在我使用模糊逻辑来控制行为的情况下,用一组定义的动作表示,所以不涉及数字,例如:-1(邪恶),0(中性),+ 1(良好) )。我可以得到一个范围从-1到1的输出,所以如果我得到0,385作为输出,我该如何将它转换为一组操作? 我在想做类似的事情:
if output < -0.5
evilActions()
if output > -0.5 && output < 0.5
neutralActions()
if output > 0.5
goodActions()
或者我也在考虑检查隶属函数的值并将最高值作为输出,如:
result.value = 0
foreach (membershipFunctions mf)
if (mf.value > result.value)
result = mf
if (result.label == "good")
goodActions()
if (result.label == "neutral")
neutralActions()
if (result.label == "evil")
evilActions()
这里的问题是,我不确定这是否仍然可以被视为模糊逻辑。
感谢您的帮助。