java中的模糊逻辑

Posted

技术标签:

【中文标题】java中的模糊逻辑【英文标题】:Fuzzy logic in java 【发布时间】:2011-03-30 07:25:51 【问题描述】:

我获得了一个涉及模糊逻辑的新项目模块。它是使用模糊逻辑方法确定不同的Hydrometeors。我对模糊逻辑是什么知之甚少。所以我想从已经在 J​​ava 中使用模糊逻辑做过项目的人那里得到一些建议(比如我可以采用的基本编程策略是什么)。

我遇到了fuzzy logc API。用过的人请评价一下它的用处。

【问题讨论】:

关于 SO 的另一篇文章:What is fuzzy logic 我已经使用这个 API 来教授模糊逻辑。它很简单,效果很好。我推荐。 【参考方案1】:

Fuzzy logic 是一个完全独立于编程语言的抽象概念。基本思想是,不是使用任何语句为“真”或“假”的布尔逻辑,而是使用一个连续统一体,其中一个语句可以在“100% 真”和“0% 真”之间的任何地方。这使您可以比布尔逻辑更好地对一些真实场景进行建模,但当然需要不同(更复杂)的规则来组合语句。

我没有使用您链接的 API 库,但乍一看它看起来维护得很好(它定期更新,有一个最近的版本,甚至还有一个 eclipse 插件)。

【讨论】:

【参考方案2】:

我们在 Java 中开发了一种模糊逻辑匹配算法来查找字符串中的相似性。

https://github.com/intuit/fuzzy-matcher

在现实生活中二进制结果不够用并且想要找到相似匹配的情况下,模糊逻辑非常有用。

例如,如果您有一组名称,例如

["John Doe","Jack Miller","Jon Doe","J Doe","Miller J"]

并且想将相似的名字组合在一起,并找出它们相似程度的概率

所以运行库会将["John Doe","Jon Doe","J Doe"] 组合在一起并将["Jack Miller","Miller J"] 组合在一起

GitHub 页面有很好的文档记录,看看这是否有助于理解模糊逻辑的工作原理。

【讨论】:

以上是关于java中的模糊逻辑的主要内容,如果未能解决你的问题,请参考以下文章

Javascript中的模糊逻辑?

C中的模糊逻辑隶属函数

F# 和模糊逻辑

模糊逻辑匹配

模糊逻辑

模糊逻辑的一个具体例子