drools入门(二)

       背景介绍

       人工智能(AI)是一个非常广泛的研究领域,关注“使计算机象人一样思索”,包括的学科有神经网络、遗传算法、决策树、框架系统和专家系统。知识表示属于 AI 的领域,其关注知识如何表示和利用。专家系统使用知识表示,促进编纂的知识转化为一个可以被用于推理的知识库。例如,我们可以使用这个知识库处理数据而推断结论。专家系统也被称为基于知识的系统和基于知识的专家系统, 被认为是“应用人工智能“。利用专家系统的开发过程是知识工程。EMYCIN 是用于专家系统的一流"shells"之一,它是根据 MYCIN 医疗诊断专家系统创建的。而早期的专家系统有它们的逻辑硬代码,"shells"独立于系统的这个逻辑,提供一个更容易使用的用户输入环境。Drool 是一个规则库,它使用基于规则的方法改进了专家系统,并更正确地分类为生产规则系统。

       术语"生产规则(Production Rule)"起源于形式语法,它被描述为“一个准确地描述形式语言的抽象结构,即,一组规则,其准确地描述超过(通常是有限的)一个字母表的一组(通常是无限的)有限长度的字符串”。 (Wikipedia)
       通过提供用于规则的建立、管理、部署、协作、分析的业务用户集中系统和终端用户工具,业务规则管理系统在通用规则引擎的顶上构建了附加价值。进一步增加该价值的是快速发展而流行的方法 “业务规则方法(Business Rules Approach)”,它有助于形式化在企业中的规则引擎的角色。
       术语规则引擎(Rule Engine)是相当含糊的,在于它可以是使用规则的任何系统,以任何形式,可以被用于数据产生结果。这包含简单系统,如表单验证和动态表达式引擎。 Malcolm Chisholm 的书"How to Build a Business Rules Engine (2004)"例证了这种含糊。该书实际上是关于为支持验证规则,如何构建和改变数据库模型(schema)。然后该书显示了如何根据这些验证规则生成 VB 代码用于验证数据的输入。这,尽管对某些人是一个非常有效和有用的话题,却带给了笔者巨大的惊喜,当时没有察觉到规则引擎的细微差异,希望找到一些隐藏的秘密来帮助改进 Drools 引擎。 JBoss jBPM在控制一个流中转向的决策节点中使用了表达式和代理。在每个节点时,它计算指示采取转向的一组规则,所以它也是一个规则引擎。虽然一个生产规则系统是一类规则引擎,也是一个专家系统,然而前面提及的验证和表达式运算的规则引擎并不是专家系统。
       生产规则系统是完全图灵(Turing complete)的,使用了一个关注知识表示的表达命题,和简明、不含糊、陈述式的一阶逻辑。生产规则系统的大脑是一个推理引擎,它可以按比例决定大量的规则和事实。 推理引擎根据生产规则——也被称为生产或仅是规则——匹配事实和数据,而推理结果导致行为。一个生产规则由两部分构成,使用在知识表示上进行推理的一阶逻辑。
       Drools 实现和提供了 Rete 算法;也曾提供 Leaps,但因为它无人维护而撒销了。Drools Rete 实现也被称为 ReteOO,意味着 Drools 增强和优化了面向对象系统的 Rete 算法。其他基于 Rete 的引擎也有他们私有的 Rete 增强的营销术语,如 RetePlus 和 Rete III。最常见的增强包含在 Robert B.Doorenbos 的"Production Matching for Large Learning Systems (Rete/UL)" (1995)中。
        规则被存储在生产内存,而推理引擎匹配根据的事实存储在工作内存。事实被插入到工作内存,然后在那儿可以修改或撤销它们。一个具有大量规则和事实的系统,可能对相同的事实断言导致许多规则为真;这些规则通常被认为是在冲突状态中。议程(Agenda)使用一个冲突解析策略管理这些冲突规则的执行顺序。


 Drools编译与运行

     在Drools当中,规则的编译与运行要通过Drools提供的各种API来实现,这些API总体来讲可以分为三类:规则编译、规则收集和规则的执行。

      Drools官网:http://www.jboss.org/drools 

      Drools and jBPM consist out ofseveral projects:(Drools软件包提供的几个部分的功能)

      Drools Guvnor (Business Rules Manager) (规则集管理器)

      Drools Expert (rule engine)                     (规则引擎)    

      jBPM 5 (process/workflow)                      (工作流)
      Drools Fusion (event processing/temporal reasoning)   (规则集引擎搜索与规划)

      Drools Planner (automated planning)        (决策表)  

       

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值