分享好友 最新动态首页 最新动态分类 切换频道
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.

最新文章
老板(Robam)壁挂炉售后电话人工客服维修网点-《今日汇总》探秘2023年最炙手可热的增压燃气壁挂炉榜单:哪款才是温暖冬季的真正霸主?
400服务电话:400-117-9882(点击咨询)老板(Robam)壁挂炉全国各售后号码《今日汇总》老板(Robam)壁挂炉全国各售后服务热线号码2024已更新(2024已更新)老板(Robam)壁挂炉售后服务维修电话:(1)400-117-9882(点击咨询)(2)400-11
顺丰快递最新新闻,顺丰快递最新新闻,引领行业变革,创新服务再升级
随着电子商务的飞速发展,快递行业也迎来了前所未有的机遇与挑战,在众多快递公司中,顺丰快递凭借其高效、优质的服务赢得了广大消费者的信赖,顺丰快递再次成为行业关注的焦点,一系列创新举措和最新动态引发了广泛关注。为了进一步提升配
金融界安卓手机版11.0.15
金融界(NASDAQ:JRJC),中国在美上市财经互联网公司!年服务用户超2.53亿,几乎覆盖中国全部活跃的投资理财人群!注册用户超过5000万,平台聚集可投资资产超过万亿!知名财经大V都在金融界:股社区、林奇看盘、凯恩斯、王伦、空空道人、
百度网讯申请信息交互方法专利,利用相关模型实现信息交互
金融界2024年12月18日消息,国家知识产权局信息显示,北京百度网讯科技有限公司申请一项名为“信息交互方法、装置、电子设备和存储介质”的专利,公开号CN 119129646 A,申请日期为2024年9月。专利摘要显示,本公开提供了一种信息交互方法
百度上传自己店铺位置
2021年05月23日100地图标注,地图定位,导航地图标记,注册营业执照,注销营业执照法律、法规、国务院决定规定禁止的不得经营;法律、法规、国务院决定规定应当许可(审批)的,经审批机关批准后凭许可(审批)文件经营;法律、法规、国务院
运营高手如何有效推广获客?
在这个竞争激烈的市场环境中,每一位运营高手都深知,有效的推广获客是业务持续增长的关键。我曾亲历过从零到一的创业历程,也见证过无数项目在推广中沉浮。基于这些实战经验,我深刻体会到,推广获客并非简单的烧钱游戏,而是需要策略、执
阴阳师惊现人脸验证,玩家直呼这是要变天?
各位游戏迷们,你们好!今天要给大家带来一个消息,那就是我们熟悉的《阴阳师》游戏突然宣布要进行人脸验证了!是的,你没听错,就是那个风靡一时的手游大作,如今也迎来了实名认证的升级版——人脸识别验证,这一下子让玩家们炸开了锅,纷
翼龙面板保姆级教程汇总 ( Pterodactyl )
这篇文章已经年久失修,大部分的内容已经变更或失效,内容仅供参考,请不要跟随尝试。据反应,一键脚本现在含有广告且可能会破坏系统,请不要使用。搭配左侧目录食用效果更佳哦!什么是翼龙面板?翼龙面板是一个开源的,用于游戏服务器管理
抖音SEO优化小技巧
随着抖音用户数量的增长,越来越多的人开始关注如何把自己的内容推荐给更多人,实现增长和变现。而SEO作为优化手段之一,常常被提及,但很多人却不知道该如何去做。本文将为大家分享一些抖音SEO的小技巧如下:1、合理的标题标题是吸引用户
济南网站优化推广,双效合一,信赖与实效并行
济南网站优化推广服务,融合可靠性与实用性,致力于提升网站在搜索引擎中的排名,增强用户访问体验,助力企业高效触达目标客户,实现线上业务增长。随着互联网的快速发展,越来越多的企业和个人开始关注网站优化推广,希望通过这种方式提升
相关文章
推荐文章
发表评论
0评