转自 http://markqiu.bokee.com/1580034.html
参考
http://www.cis.temple.edu/~ingargio/cis587/readings/rete.html
http://encyclopedia.thefreedictionary.com/Rete%20algorithm
其中,列出了几篇rete的文献。
另外,Jena的rdfs推理引擎,JESS 都是基于Rete的
我怎么到处都找不到大师的原文呢?
××××××××××××××××××××××××××××××
Forgy, C.L.: Rete: A Fast Algorithm for the Many Pattern/Many Object
Pattern Match Problem
Artificial Intelligence, 19(1982) 17-37
北大图书馆有吗?我在国图和中图都没有找到。
Java 规则引擎 (JSR-94) 相关资料
--------------------------------------------------------------------------------
http://www.blogcn.com 2004年7月26日14:5 作者:flier_lu
对 软件设计来说,如何在将用户业务相关问题域映射到与实现技术相关的面向对象体系架构,而又同时保证映射的准确性和灵活性,是构建大型系统的关键性因素之 一。个人认为通过构建基于工作流和规则驱动的软件体系架构是最终解决之道。工作流负责宏观的任务流程定制和重组;规则驱动则负责微观的任务逻辑与实现分 离。
Java在这方面先行一步,由JCP(JavaCommunityProcess)定义的JSR94:JavaRuleEngineAPI 描述了如何提供规则引擎API,实现客户程序与规则引擎的交互。此接口集包括了规则的载入、执行以及管理等等功能,由BEA、IBM等厂商推动支持,同时也有大量的开源实现。
过于规则引擎的目标和优势,可以参考下面这篇文章的介绍
Businessrulesmanagementsystems
在Java规则引擎领域,做得最好的三家商业公司分别是:
1.PST 的OPSJ
2.Sandia国家实验室的Jess
3.ILOG 的JRules
在开源阵营,则有众多的选择
OpenSourceRuleEnginesWrittenInJava
其中比较著名的Drools 可以参考TSS 上的一篇介绍文章
IntroductionDrools
javarules.org 网站上有相对较为全面的资源介绍。
而这些产品的算法 ,基本上都是来源于Dr.CharlesForgy 在1979年提出的[URL=http://encyclopedia.thefreedictionary.com/Rete%20algorithm]RETE 算法 [/URL]。其核心思想是将分离的匹配项根据内容动态构造匹配树,以达到显著降低计算量的效果。下面几篇文章简要介绍了此算法 :
CIS587:The RETE Algorithm
The Rete Algorithm
RETE演算法
《专家系统原理与编程》 中第11章
一个CMU同学的关于RETE改进算法的博士论文,其中有70页详细介绍了RETE算法及实现
Production Matching for Large Learning Systems
http://reports-archive.adm.cs.cmu.edu/anon/1995/CMU-CS-95-113.pdf