分享好友 最新动态首页 最新动态分类 切换频道
1.1. 什么是规则引擎?
2024-12-26 20:43

Artificial Intelligence (A.I.) is a very broad research area that focuses on "Making computers think like people" and includes disciplines like Neural Networks, Genetic Algorithms, Decision Trees, Frame Systems and Expert Systems. Knowledge representation is the area of A.I. concerned with how knowledge is represented and manipulated. Expert Systems use Knowledge representation to facilitate the codification of knowledge into a knowledge base which can be used for reasoning - i.e. we can process data with this knowledge base to infer conclusions. Expert Systems are also known as Knowledge-based Systems and Knowledge-based Expert System and are considered 'applied artificial intelligence'; the process of developing with an Expert System is Knowledge Engineering. EMYCIN was one of the first "shells" for an Expert System, which was created from the MYCIN medical diagnosis Expert System. Where early Expert Systems had their logic hard coded "shells" separated the logic from the system, providing an easy to use environment for user input. Drools is a Rule Engine that uses the Rule Based approached to implement an Expert System and is more correctly classified as a Production Rule System.

1.1. 什么是规则引擎?

The term "Production Rule" originates from formal grammer - where it is described as "an abstract structure that describes a formal language precisely, i.e., a set of rules that mathematically delineates a (usually infinite) set of finite-length strings over a (usually finite) alphabet" (wikipedia).

Business Rule Management Systems build value on top of an Rule Engine providing systems for rule management, deployment, collaboration, analysis and end user tools for business users. Further to this the "Business Rules Approach" is a fast evolving and popular methodology helping to formalise the role of Rule Engines in the enterprise.

The term Rule Engine is quite ambiguous in that it can be any system that uses rules, in any form, that can be applied to data to produce outcomes; which includes simple systems like form validation and dynamic expression engines: "How to Build a Business Rules Engine (2004)" by Malcolm Chisholm exemplifies this ambiguity. The book is actually about how to build and alter a database schema to hold validation rules which it then shows how to generate VB code from those validation rules to validate data entry - while a very valid and useful topic for some, it caused quite a suprise to this author, unaware at the time in the subtleties of Rules Engines differences, who was hoping to find some hidden secrets to help improve the Drools engine. jBPM uses expressions and delegates in its Decision nodes; which controls the transitions in a Workflow. At each node it evaluates a rule that dicates the transition to undertake - this is also a Rule Engine. While a Production Rule System is a kind of Rule Engine and also Expert System, the validation and expression evaluation Rule Engines mention previously are not Expert Systems.

A Production Rule System is turing complete with a focus on knowledge representation to expression propositional and first order logic in a concise, non ambigious and declarative manner. The brain of a Production Rules System is an Inference Engine that is able to scale to a large number of rules and facts. The Inference Engine matches facts, the data, against Production Rules, also called Productions or just Rules, to infer conclusions which result in actions. A Production Rule is a two-part structure using First Order Logic for knowledge representation.

The process of matching the new or existing facts against Production Rules is called Pattern Matching, which is performed by the Inference Engine. There are a number of algorithms used for Pattern Matching by Inference Engines including:

Drools has implementations for both Rete and Leaps; Leaps is considered experimental, as it is quite new. The Drools Rete implementation is called ReteOO signifying that Drools has an enhanced and optimised implementation of the Rete algorithm for Object Oriented systems. Other Rete based engines also have marketing terms for their proprietary enhancements to Rete, like RetePlus and Rete III. It is important to understand that names like Rete III are purely marketing where, unlike the original published Rete Algorithm, no details of implementation are published; thus asking a question like "Does Drools implement Rete III?" is nonsensical. The most common enhancements are covered in "Production Matching for Large Learning Systems (Rete/UL)" (1995) by Robert B. Doorenbos.

The Rules are stored in the the Production Memory and the facts that the Inference Engine matches against the Working Memory. Facts are asserted into the Working Memory where they may then be modiied or retracted. A system with a large number of rules and facts may result in many rules being true for the same fact assertion, these rules are said to be in conflict. The Agenda manages the execution order of these conflicuting rules using a Conflict Resolution stategy.

A Production Rule System's Inference Engine is stateful and able to enforce truthfulness - called Truth Maintence. A logical relationship can be declared by actions which means the action's state depends on the inference remaining true; when it is no longer true the logical dependant action is undone. The "Honest Politician" is an example of Truth Maintenance, which always ensures that hope can only exist for a decomcracy while we have honest politicians.

There are two methods of execution for a Production Rule Systems - Forward Chaining and Backward Chaining; systems that implement both are called Hybrid Production Rule Systems. Understanding these two modes of operation are key to understanding why a Production Rule System is different and how to get the best from them. Forward chaing is 'data-driven' and thus reactionary - facts are asserted into the working memory which results in one or more rules being concurrently true and scheduled for execution by the Agenda - we start with a fact, it propagates and we end in a conclusion. Drools is a forward chaining engine.

最新文章
百度词条每个人可以编辑吗怎么弄?如何参与编辑?
在众多网络百科中,百度百科因其用户基数庞大、信息量丰富而备受关注。百科创建搜锦随推。许多人出于学习和工作的需求,在使用百度时需要获取更多更详尽的信息。随着互联网的发展,越来越多的用户希望了解能否参与词条的编辑工作,以及具体
飞纳台式扫描电镜大样品室卓越版
产品性能PhenomXL 是一款使用高亮度 CeB6 灯丝的大样品室台式扫描电镜。大样品直径为 100mm,放大倍数 200,000 倍以下, PhenomXL 是您正确的选择。在继承飞纳电镜 15抽真空成像、全自动化操作、直接观测绝缘体、防震设计等优点的基础上,
谷歌发布最强量子计算芯片,宁德时代将在西班牙建厂 | 财经日日评
  日本企业商品价格指数连创历史新高  12月11日,日本央行数据,11月日本企业商品价格指数(CGPI)达到124.3,同比上涨3.7%,超过市场预测中值的3.4%,连续第三个月创下历史新高。本次增长主要受食品、有色金属和塑料制品价格上涨影响
贵阳专业LOGO设计公司,品牌标志设计,LOGO设计,LOGO美化,商标设计,LOGO制作
贵阳LOGO设计公司着力提供涉及企业品牌形象、平面广告设计、品牌策略策划,旨在协助客户提高销售额,贵阳LOGO设计公司并以建立长期品牌价值为使命,让各行业的品牌形象结合销售推向市场,贵阳LOGO设计公司赢得足够的社会关注,成为企业成长
遵义学历提升教育机构哪个好?
遵义学历提升教育机构哪个好?面临升职就业等就业从业压力,提升自我优势是必不可少的方式,比如成人高考是国家承认学历,学信网可查,其享受待遇和全日制学历是等同的。下面本小编为大家解答一下关于成人高考相关信息,希望对大家有所帮助
root权限怎么开
在计算机领域,Root权限通常指的是Linux或Android等类Unix操作系统的最高权限用户账户,类似于Windows系统中的管理员账户。获取Root权限意味着用户可以对系统进行深度控制和修改,包括访问所有文件、更改系统配置以及安装需要更高权限的软
雪花啤酒二维码营销系统(雪花啤酒瓶盖二维码营销软件)
雪花啤酒二维码营销系统现成案例,我们是帮助啤酒企业搭建营销活动系统的软件开发公司,不是雪花啤酒平台,消费者兑奖请找雪花客服,想搞外挂扫码薅羊毛的人别来找我,否则本人提交报警。在数字经济的环境下,不论是各个领域,不容置疑,企
阳性率上升,排名居首
12月12日,中国疾病预防控制中心发布的《全国急性呼吸道传染病哨点监测情况(2024年第49周)》显示:12月2日至8日,急性呼吸道传染病呈现持续上升趋势;其中流感病毒阳性率近期上升趋势明显,流感病毒门急诊流感样病例占比10.8%,远超其他
黑龙江蔓越莓淘宝搜索量激增958%,网友比本地人先吃上新鲜蔓越莓了
近日,东北成了热门旅游地。广西一批小朋友在东北旅行时,被当地一路守护的故事在网络上引发热议,为了答谢东北“老铁”对孩子们的暖心守护,广西各地市花式回礼发出一车又一车的柑橘、柿饼投喂东北“老铁”。1月6日为了感谢广西“砂糖橘”
网站建设范本/常见的网络推广方式有哪些
html语言-----超文本标记语言 标记—即标签的意思 简单的格式— 用记事本新建一个txt文档,在文档中加入以下内容,然后修改后缀名为 html或者htm,之后用浏览器打开被所包围有头和身子部分,然后用浏览器打开,一个简单的html页面就诞生了; 但是
相关文章
推荐文章
发表评论
0评