434
社区成员
发帖
与我相关
我的任务
分享1.1 说明“最小重量机器设计问题"的解空间
解空间为解空间树的每个分支。例如,当n = 3,m = 3为例,该问题的解空间为:
(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 2, 1), (1, 2 ,2), (1, 2, 3), (1, 3, 1), (1, 3, 2), (1, 3, 3),
(2, 1, 1), (2, 1, 2), (2, 1, 3), (2, 2, 1), (2, 2, 2), (2, 2, 3), (2, 3, 1), (2, 3, 2), (2, 3, 3),
(3, 1, 1), (3, 1, 2), (3, 1, 3), (3, 2, 1), (3, 2, 2), (3, 2, 3), (3, 3, 1), (3, 3, 2), (3, 3, 3)
1.2 说明 “最小重量机器设计问题"的解空间树

1.3 在遍历解空间树的过程中,每个结点的状态值是什么
每个节点存放当前机器的总价格,以及当前机器总重量(通过两个状态值为遍历进行减枝)。
在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯。(其实回溯法就是对隐式图的深度优先搜索算法,这个解释又更加的精简而正确。用白话讲回溯法就是深度搜索问题隐含的图,找到正确的路径)。
求问题的所有解时,要回溯到根,且根结点的所有可行的子树都要已被搜索遍才结束。
其适用的场景——
1、求任一个解时,只要搜索到问题的一个解就可以结束。
2、判断有没有解、解的个数。