How to use Rete Algorithm

限于喜欢 提交于 2019-12-04 23:17:48

问题


How can i use Rete Algorithm in java?

Do i need to write my own algorithm implementation?

Or is there already implemented library available?


回答1:


So this is a pretty old question, but ranks highly if you're googling for Rete Implementations, so I'll leave some info here.

The wikipedia entry is pretty good and here is a paper about Rete/UL which is according to Doorenbos more efficient than ReteII Doorenbos, 1995.

Some Implementations include:

  • Drools for java
  • Jess also java
  • Wongi-Engine for ruby (I use this one) based on the same paper as listed above.
  • Ruleby also ruby but defunct
  • Mirmir clojure
  • Clara Rules also clojure (added 4/20/15)
  • Rete for Triples clojure (maybe defunct?)
  • kongra's Rete haskell (wow) based on the same paper as listed above.
  • and all of these

Its a really useful algorithm if you need to make decisions based on patterns of facts, and as a bonus, you'll have to learn some cool things about graphs and pattern matching.

Hope this is helpful!




回答2:


A simple Google search for "Rete Algorithm Java" showed up this result (among others): http://java-source.net/open-source/rule-engines.

The first entry reads: Drools is an Object-Oriented Rule Engine for Java. Drools is an augmented implementation of Forgy's Rete algorithm tailored for the Java language.

So the answer seems to be: Yes, there already is a library that implements the algorithm you're looking for.




回答3:


See the References section on the Wikipedia entry on the Rete Algorithm, it contains code snippets in both Pascal and LISP (?) style languages - nothing C-like, though.

Cheers,



来源:https://stackoverflow.com/questions/12474769/how-to-use-rete-algorithm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!