如何在 Java 中使用 Rete 算法?
我需要编写自己的算法实现吗?
或者是否已经实现了可用的库?
所以这是一个很老的问题,但是如果你在谷歌上搜索 Rete 实现,那么排名很高,所以我会在这里留下一些信息。
维基百科条目非常好,这是一篇关于 Rete/UL 的论文,根据 Doorenbos 的说法,它比 ReteII Doorenbos, 1995更有效。
一些实现包括:
如果您需要根据事实的模式做出决策,它是一个非常有用的算法,而且作为奖励,您必须学习一些关于图形和模式匹配的很酷的东西。
希望这有帮助!
一个简单的谷歌搜索“Rete Algorithm Java”显示了这个结果(等等):http: //java-source.net/open-source/rule-engines。
第一个条目是:Drools 是 Java 的面向对象的规则引擎。Drools 是为 Java 语言量身定制的 Forgy 的 Rete 算法的增强实现。
所以答案似乎是:是的,已经有一个库可以实现您正在寻找的算法。
请参阅Rete Algorithm的 Wikipedia 条目上的参考部分,它包含 Pascal 和 LISP (?) 样式语言的代码片段——不过,它与 C 完全不同。
干杯,