Version 3

    What version of Rete (I, II or II) is Drools implementing?

     

    The Rete algorithm by Charles Forgy is a popular approach to Forward Chaining, Leaps is another approach. Drools has implementations for both Rete and Leaps. The Drools Rete implementation is called ReteOO signifying that Drools has an enhanced and optimised implementation of the Rete algorithm for Object Oriented systems. Other Rete based engines also have marketing terms for their proprietary enhancements to Rete, like RetePlus and Rete III. It is important to understand that names like Rete III are purely marketing where, unlike the original published Rete Algorithm, no details of implementation are published; thus asking a question like "Does Drools implement Rete III?" is nonsensical. The most common enhancements are covered in "[Production Matching for Large Learning Systems (Rete/UL)|http://portal.acm.org/citation.cfm?coll=GUIDE&dl=GUIDE&id=220593]" (1995) by Robert B. Doorenbos