我想知道是否有办法生成一个决策树来解决选择n个k类对象的排列。我们设置 A = {1,2,...,10} ,子集 B = {1,2,..,5},C = {6,7 } 和 D = {8,9,10} 。排列总数可以通过
计算x <- factorial(10)/(factorial(5)*factorial(2)*factorial(3))
我想生成一个类似于边缘列表的决策树,如下所示:
1 2 5 B
1 3 2 C
1 4 3 D
2 5 4 B
2 6 2 C
2 7 3 D
3 8 5 B
3 9 1 C
3 10 3 D
4 11 5 B
4 12 2 C
4 13 2 D
5 14 3 B
5 15 2 C
5 16 3 D
6 17 4 B
6 18 1 C
6 19 3 D
7 20 4 B
7 21 2 C
7 22 2 D
8 23 4 B
8 24 1 C
8 25 3 D
9 26 5 B
9 27 3 D
10 28 5 B
10 29 1 C
10 30 2 D
11 31 4 B
11 32 2 C
11 33 2 D
12 34 5 B
12 35 1 C
12 36 2 D
13 37 5 B
13 38 2 C
13 39 1 D
14 40 2 B
14 41 2 C
14 42 3 D
15 43 3 B
15 44 1 C
15 45 3 D
16 46 3 B
16 47 2 C
16 48 2 D
17 49 3 B
17 50 1 C
17 51 3 D
18 52 4 B
18 53 3 D
19 54 4 B
19 55 1 C
19 56 2 D
20 57 3 B
20 58 2 C
20 59 2 D
21 60 4 B
21 61 1 C
21 62 2 D
22 63 4 B
22 64 2 C
22 65 1 D
23 66 3 B
23 67 1 C
23 68 3 D
24 69 4 B
24 70 3 D
25 71 4 B
25 72 1 C
25 73 2 D
26 74 4 B
26 75 3 D
27 76 5 B
27 77 2 D
28 78 4 B
28 79 1 C
28 80 2 D
29 81 5 B
29 82 2 D
30 83 5 B
30 84 1 C
30 85 1 D
31 86 3 B
31 87 2 C
31 88 2 D
32 89 4 B
32 90 1 C
32 91 2 D
33 92 4 B
33 93 2 C
33 94 1 D
34 95 4 B
34 96 1 C
34 97 2 D
. . . .
. . . .
. . . .
前两列对应于边列表,第三列是每个子集中元素的数量,每个分支减少,第四列只是子集名称。
一个人计算了边缘列表,我正在考虑用这个命令绘制图形:
plot(g, layout = layout.reingold.tilford(g, root=1)