Summary
This chapter served as an introduction to the underlying pattern matching algorithm used by Drools. An explanation on how the rules and their internal patterns and constraints are decomposed into a network of nodes was provided. Some important tips on how to improve the performance of our KIE Bases was also included.
This chapter also covered a major topic in Drools: backward-chaining. We saw how, using queries, we can construct knowledge that follows the backward reasoning concept: start from a goal and try to fulfill it. The hybrid approach between forward and backward reasoning that Drools takes gives us a powerful and very expressive way to define our knowledge.
The main differences between RETEOO (the algorithm used in previous versions of Drools) and PHREAK were also explained in this chapter. Features such as delayed rule evaluation, set-oriented propagation, and network segmentation, not only make PHREAK a more efficient algorithm, but also facilitate real parallel evaluation...