Rule based algorithms
What algorithms can be us开发者_如何学Ced to evaluate rules and facts in rule based systems?
Currently I found Rete, Treat, Rete* and brute force (try each fact in each rule). Are there any existed other algorithms? (I would appreciate links to publications or websites that describe them and show the (dis)advantages).
I am interested both in forward and backward chaining
In the 80s we implemented Parallel Inference Machines that fired all applicable rules simultaneously. By "simultaneously" I mean that we take a snapshot of the "world," apply all rules to the snapshot finding applicable rules, fire the applicable rules in some (a priori priority based) order to create a new "world." This "systolic" process can be synchronized to a real time clock, given sufficient hardware, to make real time expert systems.
At the time, our systems reached 1 MLIPS (1 million logical inferences per second), and were used in real time applications with as many as 10,000 I/O points. Some of these systems are still deployed and maintained.
The RETE Match Algorithm is a method for comparing a set of patterns to a set of objects in order to determine all the possible matches. RETE can be used for production, business and expert systems. I have a simple explanation about about RETE network and engine based on this algorithm at my blog. You can find it at http://www.flexrule.com/archives/forward-chain-inference-engine-with-rete/.
精彩评论