2011-06-14 39 views
2

我有很多是/否問題的大決策樹。如何實現基於決策樹的C#代碼/邏輯?

我需要用c#實現一些代碼,並通過這棵樹並獲得唯一的id作爲返回。

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

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

我該如何實現這樣的邏輯沒有其他的? 我的決策樹比這個樣本多得多,如果/ else不是很好的解決方案。 我認爲這樣做有兩種方法。首先獲取問題ID,第二種方法將根據問題獲得唯一的答案ID。請幫助我做一些代碼的想法..

決策樹: enter image description here

+0

可能重複? http://stackoverflow.com/questions/3889301/how-to-implement-decision-tree-with-c-visual-studio-2008-help – Reniuz 2011-06-14 10:02:02

+0

不,這是一些不同的想法背後..我無法找到一些合理的解決方案我的問題。那就是我問的問題。 – 2011-06-14 10:04:41

+0

爲什麼決策2在你的圖中有3個結果(4,5,6)? – 2011-06-14 10:44:27

回答

1

你必須定義一個決策矩陣。您的代碼將如下所示: discriminant = decision_matrix(1,A,B,C,2) 開關(判別式) { case outcome_1:... break;

case outcome_2:... break;

默認值: 丟... break; }

1

如果這個樹是固定的,你可以在決策表中設置所有的選擇(有點像真值表),並將其保存在字典中,然後使用該字典返回相應的結果。

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