java中的模糊逻辑
Posted
技术标签:
【中文标题】java中的模糊逻辑【英文标题】:Fuzzy logic in java 【发布时间】:2011-03-30 07:25:51 【问题描述】:我获得了一个涉及模糊逻辑的新项目模块。它是使用模糊逻辑方法确定不同的Hydrometeors。我对模糊逻辑是什么知之甚少。所以我想从已经在 Java 中使用模糊逻辑做过项目的人那里得到一些建议(比如我可以采用的基本编程策略是什么)。
我遇到了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中的模糊逻辑的主要内容,如果未能解决你的问题,请参考以下文章