首页 > 编程知识 正文

决策引擎系统,多属性决策例题

时间:2023-05-04 13:09:38 阅读:160172 作者:4750

Charles Forgy博士在2013年召开的《今日决策》上就如何更简洁地写规则进行了演讲。

Rete算法之父、规则引擎的实现者之一Charles这次从用户的角度切入。 他发现规则的表现形式发生了根本性的变化,面向单实例的规则变成了面向集合的规则表现形式。 后者的重点是规则由一系列条件而不是单一条件触发。

查尔斯将两者区分如下。

在面向单实例的规则中:

条件可以设定为返回对象的组,也可以设定为从一组对象中选择一个对象条件,还可以设定为成为对象的集合并输出计算值,当然也可以将三者结合起来使用

相比之下,面向集合的规则具有以下特点。

更准确、更容易理解、更容易管理、更灵活、形式多样的格式对规则模型的性能有很大的影响。 Charles以WaltzDB为例进行了说明。 在作为该行业标准的数据库中,有4个规则是面向实例的规则。 每次程序运行时,都会触发两个规则,Charles测试时计算机上显示的结果为4.3秒的运行时间。 而且,他在集合指向上重新整理的这些规则,在相同的硬件环境下,规则模型的性能表现在几何学上得到了提高,从4.3降低到了0.1秒。

将集合指向规则定义应用于WaltzDB时,整体的执行时间从109秒降低到63秒,整体的可读性和管理性明显提高。 市面上流行的决策引擎、OPS/J、善良的行人、Drools、SMARTS明策,都以各自的方式支持面向集合的规则表达形式,但在语法表达上略有差异。

关于面向收藏的规则,Charles列举了他推荐的理由:

面向集合的规则更准确,有助于理解面向集合的规则,可以提高规则模型的表达性能,提供用户定制的规则集合形式。 要显著提高规则的表达性,结合SMARTS明策智能决策引擎进行具体介绍。

对于业务用户来说,我们相信面向集合的规则将成为提高业务规则模型性能的强大工具。 一般来说,需要解决的业务问题可以用以下面向集合的规则格式来表示:

如果购物车里有杂志和两种食品,过去三周消费超过50美元,我们将为顾客提供x促销计划。 如果决策引擎不支持高效的面向集合的规则,这些业务规则只能用复杂的迭代规则来表示,在规则的管理上存在巨大的挑战,业务人员无法应对。

SMARTS的明智决策引擎提供了完善的支持面向集合的规则的高级架构,使业务规则具有类似SQL的表达能力,可以方便地集成到规则管理系统中。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。