1.简介
决策树又称为规则树,是URule Pro规则引擎中提供的另外一种构建规则的方式,它以一棵躺倒的树形结构来表现规则(之所以将其躺倒是为了节省空间,否则一棵稍微大点的树将会占用很大的页面空间)。
创建决策树
打开项目,在测试项目的决策树节点下右键,在弹出菜单中选择添加决策树项就可以创建一个决策树文件。
决策树默认有一个根变量节点,是不可删除的。在决策树当中有三种类型的树节点,分别是变量节点、条件节点以及动作节点。
定义好变量节点上要使用的变量后,就可以添加下级子节点,变量节点下只能添加条件节点,一个变量节点可添加多个条件节点,每个条件节点上配置的条件与当前变量节点构成一个完整的约束条件,条件的定义与向导式规则中完全相同。如下图:
一旦某个条件节点下添加了动作节点,那么就意味着这个条件分支的结束,一个动作节点中可添加多个动作,同样一个条件节点下可以有多个动作节点,动作节点上的动作类型与动作定义方式与向导式规则中完全相同。
在URule Pro当中,为了方便大家定义较为复杂的决策树,我们提供了两种类型的决策树设计器,一种就是上面介绍的那种设计器,我们称之为“横向树编辑器”;还有一种就是传统的树形结构决策树设计器,称之为“纵向树设计器”,如下图所示:
总结:
决策树表现业务规则更为形象,实际上,无论是决策树、决策表还是评分卡,都可以通过决策集来实现,只是,对于某些业务规则来说,通过决策树或决策表或评分卡实现起来更为形象、快捷。
相比“横向树设计器”,这种传统类型树设计器节点菜单内容更多,对树的编辑能力更强,因为它采用的是传统的树形结构展示,所以这种“纵向树设计器”有非常强大的树表现能力,可以快速展示成千上万个节点。 你在定义决策树时,如果节点数量过多,采用“横向树设计器”会发现其加载速度很慢,但切换到“纵向树设计器”则不存在这种问题。 同时大家也能看到“纵向树设计器”这种传统的树结构相比“横向树设计器”对树的表现能力略差一些,具体使用中大家可以根据情况灵活选择。
通过决策树设计器工具栏里的“切换设计器”按钮可在两种设计器间自由切换,切换信息会保存在当前浏览器的cookie中,所以下次在打开决策树文件时会采用最后一次使用的决策树设计器来打开目标文件。