MRules and expert systems

A quick search will show that products similar to MRules already exist. Some questions might be asked: what’s the difference between these products and MRules? Which are pros and cons? Why should I integrate one more than another to my IS?

First, the majority of the other products are based on RETE algorithm. Without going into details, Rete algorithm is designed to quickly solve complex problems. We are refering here to expert systems. RETE has the disadvantage of being complex to configure and of consuming a large amount of memory. Moreover it does not offer the same flexibility in the actions to perform or the possible customizations (i.e. personalized Addons).

MRules has made the decision not to include a RETE implementation, at least in versions 1 and 2. Why? Because RETE is not the answer in many cases, for example in the one exposed in the page “When to use MRules”.

MRules aims to be simple to set up, requiring only very limited technical skills while intending to perform well on the simple and moderately complex systems.

The various available demonstration projects expose concrete example cases. They demonstrate that for these concrete cases, several thousand executions per second is an achievable requirement of performance, including on a development computer.

RETE algorithm and expert system implementations would not actually bring any noticeable performance improvements in such cases (or even would degrade with pre-computations).

MRules is an appropriate response for all systems where standard business rules are implemented and will have to evolve.