Java中的模糊逻辑

3
我被分配了一个新的项目模块,涉及模糊逻辑。它是使用模糊逻辑方法确定不同的水凝物。我对模糊逻辑知之甚少,所以我想向那些已经在Java中使用模糊逻辑完成项目的人寻求一些建议(例如我可以采用哪些基本编程策略)。
我发现了一个模糊逻辑API。使用过它的人请评论它的实用性。

3
另一篇关于SO的文章:什么是模糊逻辑 - Andreas Dolk
我曾经使用过这个API来教模糊逻辑。它非常简单易用,效果非常好。我强烈推荐。 - Chocksmith
2个回答

15

模糊逻辑是一个与编程语言完全独立的抽象概念。基本思想是,使用连续量代替布尔逻辑,其中任何语句都只能是“真”或“假”,而使用连续性可以将语句区分为“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页面已经很好地记录了这个算法,可以参考它来更好地理解模糊逻辑的工作原理。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接