Drools rules and other technical analysis comparison engine

Project design and development of a rules engine needs service, so research the industry commonly used rule engine.

Common rules engine as follows:

  Ilog JRules  is the most famous commercial BRMS;
  Drools  is the most active open source rules engine;
  Jess  was Clips of java to achieve, as the JRuby in Ruby, on behalf of the Department of AI;

  Rules Visual (n flag rule engine) domestic brand business rules engine, can be considered a local version of ILOG.

  Mandarax is a pure Java implementation of a rules engine. Based on backward reasoning (induction).

 

Comparison follows :

1, are the four main foreward-chaining using the Rete engine, according to the priority of matching conditional statements, implementation of the rules statement. It will inspire change the fact that after the implementation of the rules, the engine will re-match the criteria, until no longer match so far, Rete algorithm guarantees the highest obedience.

. (1) Rete algorithm features:

a. Rete algorithm is a heuristic algorithm, often contain the same pattern among different rules, and therefore in the beta-network and may be shared BetaMemory betanode. If a betanode shared N rule, the algorithm on this node will improve the efficiency of N times.

State b. Rete algorithm thanks to store AlphaMemory and BetaMemory fact, little change when the set of facts stored in the alpha and beta node does not require much change, avoiding a large number of repeated calculations, improved matching efficiency.

c. it can be seen from the Rete network, regardless of Rete matching speed and the number of rules, which is due to the fact that only meet the present network node will continue down the delivery.

. (2) Rete algorithm shortcomings:

 a. Delete the facts of the same order of addition of the fact that, in addition to performing the same calculation to add facts, but also need to perform a search, the cost is very high.

        b. RETE algorithm uses an intermediate result storage area β is calculated, at the expense of space for time, thus speeding up the speed of the system. However, β store based on the number of conditions and facts from the exponential growth of the rules, so when a lot of rules and facts, the system will run out of resources.

(3) the characteristics and shortcomings of the Rete algorithm , or in the application of the rules engine based on the Rete algorithm development and improvement direction :

a. easy to change the rules try to match the rear, can bring about changes to reduce the change in the rule base rule.

B. binding stronger or more general pattern matching is set far forward, avoid unnecessary match.

c. Rete algorithm for increased memory overhead Japanese delete factual issues affecting the efficiency and technically should be in the alpha memory and beata memory stores only a pointer to memory, and built in index pointer (available hash table or unbalanced binary tree).

d. Rete algorithm can be extended to AndJoinNode JoinNode and OrJoinNode, two kinds of node may then be combined.

 

2, Ilog JRules   and is the commercial version of Visual Rules

3、Drools vs ILog vs Jess vs Mandarax

 

Guess you like

Origin www.cnblogs.com/xuzhujack/p/10975336.html