算法设计与分析第五章作业

春边_ 2022级 2023-12-07 13:58:10

1. 请用回溯法的方法分析“最小重量机器设计问题”

1.1 说明“最小重量机器设计问题"的解空间

一共有n个部件,每一种部件都可以从m个不同的供应商处购得其解空间为由n种长度为m的向量构成。

1.2 说明 “最小重量机器设计问题"的解空间树

因为每个商品可以从m个供货商处获得,则解空间树是一颗m叉树,子集树

1.3 在遍历解空间树的过程中,每个结点的状态值是什么

每个结点的状态值记录当前所选供应商的重量和价格,即

cc += c[t][i];  //t代表是第t个物品,i代表为第i个供应商

cw += w[t][i];

x[t] = i;

1.4 如何利用限界函数进行剪枝

题目中要求给出总价格不超过d的最小重量机器设计,即:

总价格不能超过d:在每一次选择供应商的时候,都要进行cc <= d - c[t][i]的判断

最小重量:若选此供应商得到的质量比我现在已有的最小质量还要大,则不需要继续往下遍历了,即判断cw + w[t][i] < minw

2. 你对回溯算法的理解

回溯法在包含的所有可能解的解空间树中,从根节点出发,按照深度优先策略进行搜索。

搜索至解空间树的任意一点时,先判断该结点是否包含问题的解状态更新如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。

在搜索过程中用剪枝函数避免无效搜索。

故在使用回溯法时

(1)针对所给问题,定义问题的解空间;

(2)确定易于搜索的解空间结构;

(3)以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。

...全文
23 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

434

社区成员

发帖
与我相关
我的任务
社区描述
广东外语外贸大学信息科学与技术学院
算法 高校
社区管理员
  • brisksea
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧