什么是规则引擎?

规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。(摘自百度百科)

drool就是用java语言开发的规则引擎插件,规则引擎的原理就是Rete算法。

Rete算法是Charles Forgy在1979年的论文中首次提出的,针对基于规则知识表现的模式匹配算法。

什么是业务规则?就是当发生了X后,执行Y操作,当发生了Z后,执行A操作。

rate主要就是分成了两个库,一个是规则库,一个是事实库:下面举一个经典且简单的例子

事实库:

1:积木1在积木2的上面

2:积木1在积木3的上面

3:积木1的颜色是红色的

4:积木2在桌子上面

5:积木2在积木3的左边

6:积木2是蓝色的

7:积木3在积木4的左边

8:积木3在桌子上

9:积木3的颜色是红色的

规则库

规则库分为左手规则-前提和右手规则-结论

依旧用上面积木的例子

找到一个红色积木左边堆在一起的东西

找到满足上述规则的事实

从规则中我们提取到了三个条件:也就是左手规则

条件1:某个东西在某个东西的上面

条件2:某个东西在某个东西的左边

条件3:某个东西是红色的

满足条件1的事实有1,2,4,8

满足条件2的事实有5,7

满足条件3的事实有3,9

首先是将满足条件1和条件2的所有事实进行一个合并会发现

1,5是积木3的左边是积木1在积木2的上边,满足

2,7是积木4的左边是积木1在积木3的上边,满足

将这两条再与条件三合并

会发现1,5,9是红色的积木3的左边是积木1在积木2的上边,满足然后就可以执行对应的右手规则操作。

原理还是非常简单的,主要还是在于运用。

【java】 drool规则引擎背后的Rete算法相关推荐

  1. Jess 7.2p2——Java平台规则引擎官方文档翻译1

    Jess 7.2p2--Java平台规则引擎官方文档翻译1 本博客转载自本体小本营. 1.入门 1.1.需求 在使用Jess前请先确认JVM是否正确安装并能正常工作. 使用JessDE集成开发环境,你 ...

  2. Jess 7.2p2——Java平台规则引擎官方文档翻译2

    Jess 7.2p2--Java平台规则引擎官方文档翻译2 本博客是本人接着[本体小本营][1]之前关于Jess的官方文档的补充翻译,前一部分请看转载的Jess 7.2p2--Java平台规则引擎官方 ...

  3. java 实现规则引擎_Java规则引擎 Easy Rules

    1.  Easy Rules 概述 Easy Rules是一个Java规则引擎,灵感来自一篇名为<Should I use a Rules Engine?>的文章 规则引擎就是提供一种可选 ...

  4. java开源规则引擎比较_规则引擎对比

    RuleEngine--一款使用简单,入门方便的数据库规则引擎_Rewen的专栏-CSDN博客_rulesengine https://blog.csdn.net/Rewen/article/deta ...

  5. 规则引擎 java 设计_规则引擎设计

    最近用到了规则引擎 ,简单做一个总结. 规则,说白了,就是,现状(fact)怎么样,如果(condition)怎么样,那么(action)怎么样. 规则引擎使用了rete算法,我这边使用的是drool ...

  6. 详解:Drools规则引擎探究

    引入 ▐ 问题引入 天猫奢品业务方为了吸引更多的新客,和提高会员的活跃度,做了一期活动,通过购买天猫奢品频道内的任意商品就赠送特殊积分,积分可以直接兑换限量的奢品商品.假如业务方给的规则如下: 主刃同 ...

  7. 使用 Drools 规则引擎实现业务逻辑,可调试drl文件

    http://www.srcsky.com/tech/arts/389.html 代码下载http://download.csdn.net/detail/zhy011525/2462313 使用 Dr ...

  8. .Net Core 环境下构建强大且易用的规则引擎

    1. 引言 1.1 为什么需要规则引擎 在业务的早期时代,也许使用硬编码或者逻辑判断就可以满足要求.但随着业务的发展,越来越多的问题会暴露出来: 逻辑复杂度带来的编码挑战,需求变更时改变逻辑可能会引起 ...

  9. 小明历险记:规则引擎drools教程一

    小明是一家互联网公司的软件工程师,他们公司为了吸引新用户经常会搞活动,小明常常为了做活动加班加点很烦躁,这不今天呀又来了一个活动需求,我们大家一起帮他看看. 小明的烦恼 活动规则是根据用户购买订单的金 ...

  10. 别再说你不会,规则引擎Drools了

    一.为什么要使用规则引擎 有一天运营想弄一个积分策略,计算额外积分金额 ,规则如下: 订单原价金额 100以下, 不加分: 100-500 加100分: 500-1000 加500分: 1000 以上 ...

最新文章

  1. web服务的搭建 windows server 2008
  2. 图解Linux系统启动流程
  3. linux如何输出当前时间,如何在linux下输出当前时间
  4. java中no1_Java程序设计实验(NO.1).doc
  5. linux新增动态库后可执行程序找不到的问题
  6. TeXstudio中文编码踩坑实录
  7. docker项目部署 php_使用Docker部署PHP开发环境的方法详解
  8. 国外项目跳板机访问时差问题
  9. 信息检索与利用(第三版)第五章 信息法与综合性信息检索
  10. 智能问答机器人python_帮帮智能问答机器人中TaskBot任务对话算法实践
  11. 好用的电子邮箱测评,这么多的邮箱究竟哪个最好用呢?
  12. 文章的DOI号是神马
  13. 教你如何赚你的第一桶金 - 2048(包括源代码)
  14. 选择短信平台请注意以下几点:
  15. cortex M7 MPU 总结
  16. 自学UG编程难吗?怎么样才能学好大型汽车模具编程?
  17. 日志瘦身神操作:从5G优化到1G到底是怎么做到的!(荣耀典藏版)
  18. python:私有属性
  19. layer 父获取子页面元素
  20. 解决 Idea 下 Tomcat 乱码(淇℃伅璀﹀憡)问题

热门文章

  1. ​十大骨传导耳机品牌,骨传导耳机推荐跑步用
  2. 跨境电商如何选择并且下载专用浏览器?电商浏览器下载指南
  3. svn各版本代码比较
  4. labview技巧——自定义 5位数码管字体 显示控件
  5. keytool-JDK导入证书
  6. 中国网络安全行业发展前景及投资战略研究报告(2022-2027年)
  7. 华为笔试题 2022.3.30
  8. gentoo linux 内核,Gentoo编译内核
  9. Qt5.12安卓开发环境搭建
  10. VideoPlayer