2009-09-18 128 views
4

在课堂上,我们给了一个简单的决策树来排序3个元素(a,b,c)。如何编写程序来生成排序决策树?

alt text

虽然看着这一点,对我来说很有意义。我能够遵循它。

不过,我现在必须做出决定树4种元素(A,B,C,d),只是投篮命中率高达24

叶子我挣扎接近决策树的数量一种有系统的方式,可以帮助我跟踪每个分支的比较结果。

接近构建更大决策树的方法是什么?如果我知道如何去做,我甚至愿意写一个程序来吐出可能的叶子结构。

+0

+1。我现在正在阅读关于决策树的内容,这对我很有帮助。 – Peter 2012-04-18 04:21:21

回答

0

这种算法已由Charles Forgy描述:请参阅Rete algorithm。 (对不起,WP中的文章当然不是一个快速的答案,但它可能是一个好的开始)

1

你可能想看看S orting Networks。我认为,应该可以将给定数量输入的最优分类网络转换为决策树。

或者,您可以采用给定的排序算法并逐步完成,在每次比较时创建一个新分支。

最后,你可以做到相反 - 例如,采用合并排序类型的方法:在树的底部布置所有24种可能的排序顺序。选择一个比较,并根据结果将树叶分成两组。对每个分支递归地重复,直到每个分支只有一个叶子。