什么样的图来表示这个业务逻辑决策树?
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。
但听起来你让事情变得过于复杂......你只需要一个复合数据类型。随便你怎么称呼它,只要它有效。
【讨论】:
以上是关于什么样的图来表示这个业务逻辑决策树?的主要内容,如果未能解决你的问题,请参考以下文章