The TREAT algorithm is similar to RETE, but does not record partial matches. As a result, in some situations it may use less memory than RETE. In addition, if you change a significant amount of known facts, then TREAT can be much faster because you do not need to spend time on retraction.
There's also RETE * , which balances between RETE and TREAT, saving some node connection depending on how much memory you want to use.Thus, you still save some approval time, but also get memory and tap-off time savings depending on of how you set up your system.
You can also check out LEAPS , which uses a lazy rating scheme and includes both RETE and TREAT elements.
I only have personal experience with RETE, but it seems that RETE * or LEAPS is a better, more flexible choice.
David crow
source share