1. 请用回溯法的方法分析“最小重量机器设计问题”
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 在遍历解空间树的过程中,每个结点的状态值是什么
当前已购部件的价值cv,以及部件的重量cw以及记录当前在选第几个物品。
2. 你对回溯算法的理解
回溯法简单来说就是按照深度优先的顺序,穷举所有可能性的算法,但是回溯算法可以随时判断当前状态是否符合问题的条件。 一旦不符合条件,那么就退回到上一个状态,省去了继续往下探索的时间。回溯算法的本质是穷举, 总体来说效率并不是很高, 因此回溯算法一般只用于一些特定的问题中。