From Wikipedia (http://en.wikipedia.org/wiki/Rete_algorithm ):

The Rete algorithm was designed by Dr Charles L. Forgy of Carnegie Mellon University, first published in a working paper in 1974, and later elaborated in his 1979 Ph.D. thesis and a 1982 paper (see References). Rete was first used as the core engine of the OPS5 production system language which was used to build early systems including R1 for Digital Equipment Corporation.

Rete has become the basis for many popular rule engines and expert system shells, including Tibco Business Events, Newgen, OmniRules,  CLIPSJessDroolsIBM Operational Decision Management, OPSJ, Blaze Advisor, BizTalk Rules Engine and Soar. The word 'Rete' is Latin for 'net' or 'comb'. The same word is used in modern Italian to mean network. Charles Forgy has reportedly stated that he adopted the term 'Rete' because of its use in anatomy to describe a network of blood vessels and nerve fibers.[1]

The Rete algorithm is designed to sacrifice memory for increased speed. In most cases, the speed increase over naïve implementations is several orders of magnitude (because Rete performance is theoretically independent of the number of rules in the system).

In very large expert systems, however, the original Rete algorithm tends to run into memory consumption problems. Other algorithms, both novel and Rete-based, have since been designed which require less memory (e.g. Rete*[2] or Collection-Oriented Match[3]).


Download the PDF file