计算方法实验5参考.docVIP

  • 5
  • 0
  • 约3.77千字
  • 约 6页
  • 2016-12-25 发布于重庆
  • 举报
回溯法实验 一、实验目的 (1)理解回溯法的思想。 (2)掌握回溯递归原理。 (3)了解回溯法典型问题。 二、实验内容 (1)编写一个简单的程序,解决8皇后问题; (2)批处理作业调度; (3)回溯法解决0-1背包问题。 举例:0-1背包问题 问题描述 给定种物品和一背包。物品的重量是,其价值为,背包的容量为。问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大? 回溯法思想 回溯法就是一种有组织的系统化搜索技术, 可以看作是穷举搜索的改进。回溯法每次只构造可能解的一部分(深度优先), 然后评估这个部分解, 如果这个部分解有可能导致一个完整解, 则对其进一步构造, 否则, 就不必继续构造这个部分解了。回溯法常常可以避免搜索所有的可能解。 问题分析 0-1背包问题用回溯法实现就是要枚举其所有的解空间(二叉树),时间复杂度为左右。 搜索的具体方法如下: 对于每一个物品,对于该物品只有选与不选2个决策,总共有个物品,可以顺序依次考虑每个物品,这样就形成了一棵解空间树: 基本思想就是遍历这棵树,以枚举所有情况,最后进行判断,如果重量不超过背包容量,且价值最大的话,该方案就是最后的答案。 利用回溯算法写还可以加入一些优化,进行剪枝,因为很多情况是没有意义的,例如当重量大于背包容量的时候,没有必要对剩下的物品再来决策了。或者将剩下的所有物品都选取其总价值也没有目前已经求得的方

文档评论(0)

1亿VIP精品文档

相关文档