什么样的图来表示这个业务逻辑决策树?

Posted

技术标签:

【中文标题】什么样的图来表示这个业务逻辑决策树?【英文标题】:What sort of graph to represent this business logic decision tree? 【发布时间】:2011-01-27 13:35:56 【问题描述】:

我通常如何在图表中表示此业务逻辑?

A is true if
 B is true or
 C is true

C is true if
 D is true and
 E is true and
 F is true

X is true if
 Y is true and
 C is not true 

它是有向无环图吗?如何用图形术语表示图形中的“和”/“或”逻辑?

(我正在寻找正确的图形术语,以便我可以集中阅读。)

【问题讨论】:

为什么不尝试决策树?看起来这是一个很好的决策树分析候选者 [en.wikipedia.org/wiki/Decision_tree]. 这是个好问题。我没有解释的是这个结构可能有两个“根”,所以它不是真正的树。已编辑我的问题。 你需要一个not谓词吗,有没有可能有像X = (Y and C) or (not C and B)这样稍微复杂一点的逻辑,当然有了not,你就可以分解更复杂的逻辑运算通过引入临时工。 是的,有可能有这样的逻辑,是的,每个值都可以是真或假。 【参考方案1】:
     (D)  (E)  (F)
      |    |    |
       \   |   /
         [AND]
          |
(B)      (C)
 |       |
  \     /
   [OR]
    |
   (A)

有一些节点代表布尔变量和其他布尔运算的图怎么样?

这是有向无环图。

注意:我不确定这是否很有帮助。期待 cmets。 :)

【讨论】:

那么在这个图中会有三种“颜色”的顶点吗?说:AND:红色,OR:蓝色,布尔变量:绿色。 有没有办法摆脱 [AND] 和 [OR] 节点并在其他节点中表达该信息?图中的每个节点(叶节点除外)都会首先连接到 [AND] 或 [OR] 节点,这似乎很奇怪,并且具有根本不同类型的节点似乎很奇怪。是吗? :) +1 John 我希望它类似于数学推理流程。您从一些参数(D,E,F)开始,在途中添加一些参数(B),最后得出结论(A)。 @Nick 我不觉得有不同类型的节点很奇怪,但正如你所说,如果它们都在同一时间会更好。 @Nick Miller:有时,通过“后代节点”(因此在本例中为 C)附近的连接线的弧用于表示 AND 关系。我怀疑一种更通用的方法是画一条弧线,然后注意需要多少个“真”才能使后代成为“真”。不过,我不知道这种做法有多普遍。【参考方案2】:

如何使用卡诺图?对我来说,他们觉得代表您的数据是一种自然的形式..

【讨论】:

【参考方案3】:

好的,因此您可能需要查看Specification pattern。

但听起来你让事情变得过于复杂......你只需要一个复合数据类型。随便你怎么称呼它,只要它有效。

【讨论】:

以上是关于什么样的图来表示这个业务逻辑决策树?的主要内容,如果未能解决你的问题,请参考以下文章

逻辑回归 VS 决策树 VS 支持向量机

逻辑回归决策树和支持向量机

逻辑回归 vs 决策树 vs 支持向量机

业务逻辑和数据访问层的循环依赖

选择逻辑回归或决策树

为啥业务逻辑应该从 JSP 中移出?