2

我有很多是/否问题的大决策树。

我需要用 c# 实现一些代码并通过这棵树并获得唯一的 id 作为返回。

if-> 1=true, A=true, C=true -> return 111;

if -> 1=true, A=true, C=false -> return 110;

如果没有 if else,我如何实现这样的逻辑?我的决策树要大得多,因为这个样本和 if/else 不是好的解决方案。我想用两种方法来做。首先获取 QuestionID,第二种方法将根据问题获取答案的唯一 ID。请帮我一些代码想法..

决策树: 在此处输入图像描述

4

2 回答 2

1

如果这棵树是固定的,您可以在决策表(有点像真值表)中设置所有备选方案并将其保存在字典中,然后使用该字典返回相应的结果。

Dictionary["1,A"]=OutCome_1;
Dictionary["1,A,C,true"]=OutCome_2;
Dictionary["1,A,C,false"]=OutCome_3;

ETC

于 2011-06-14T10:12:42.907 回答
0

您必须定义一个决策矩阵。您的代码将如下所示: discriminant = decision_matrix( 1, A, B, C, 2 ) switch (discriminant ) { case result_1: ... break;

案例结果_2:……休息;

默认值:抛出...中断;}

于 2011-06-14T10:02:43.753 回答