决策表(决策树)

决策表又称判断表,是一种呈表格状的图形工具,适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况。精确而简洁描述复杂逻辑的方式,将多个条件与这些条件满足后要执行动作相对应。但不同于传统程序语言中的控制语句,决策表能将多个独立的条件和多个动作直接的联系清晰的表示出来。

表示

决策表的一般表示如下表。

在决策表中,ai表示可供选择的决策行为,i=1, 2, ..., m; θj表示决策行为实施之后的自然状态,j=1, 2, ..., n ; 而xij表示实施选择决策 ai 后,自然状态是 θi的决策后果,人们有时喜欢使用这个矩阵的转置形式。

上述的决策表可以更加一般化,一方面,决策结果的自然状态可能是无限的、具有一定的相容性或者不可直接观察性等等变化; 另一方面,决策后果可能具有更加一般的信息含义,例如: 用效用函数衡量,而后果的出现并不单单是以概率方式描述,具有更为一般的不确定性性质等等。具体的使用,可以根据实际情况加以灵活运用。

结构

决策表一般分为4个部分。 每个条件对应一个变量、关系或预测,“候选条件”就是它们所有可能的值;动作指要执行的过程或操作;动作入口指根据该入口所对应的候选条件集,是否或按怎样的顺序执行动作。 许多决策表在候选条件中使用“不关心”符号来化简决策表,尤其是当某一条件对应要执行的动作影响很小时。有时,所有的条件在开始时都被认为是重要的,但最后却发现没有一个条件对执行的动作有影响,都是无关的条件。

在这4个部分的基础上,决策表根据候选条件和动作入口的表现方法的变化而变化。有些决策表使用true/false作为候选条件值(类似与if-then-else),有些使用数字(类似于switch-case),有些甚至使用模糊值或概率值,对应动作入口,可以简单的表示为动作是否执行(检查动作执行),或更高级些,罗列出要执行的动作(为执行的动作排序)。

优点

决策表能罗列出所有的可能情况,并清晰的指出相应的处理方式,用户不需要考虑其中的逻辑关系就能一眼看出其中什么样的动作对应什么样的情况,这比程序语言中层层嵌套的逻辑语句要强多了。而所有可能情况的平面罗列,也能避免在程序语言编写中,因为逻辑上的层层嵌套而产生遗漏,尤其在if-then-else结构中else部分是可选的情况下。

因为逻辑控制在编程中的重要地位,决策表成为设计逻辑控制时十分重要的一个工具。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值