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

sudaKK12 2022级 2023-12-05 17:35:00

1.1 解空间就是记录当前重量下每个部件供应商对应序号的一个一维数组,每次深度搜索遍历时,记录当前选择的部件,对应的层次即该一维数组的序号(选择的部件是第几个,就放在这个数组的第几位)。

1.2 解空间树总共有n层,从第1层开始,第一层有m个结点,分别代表不同供货商供应的第一个部件,第二层有m的平方个结点,代表每个结点又产生了m个子节点,这些子节点代表在当前已选择的部件的基础下,下一次部件选择所选择的供货商,所以,第n层有m的n次方个结点。整棵树代表了每个部件不同的选择所产生的不同路径

1.3  在遍历解空间树的过程中,每个结点的状态值有3个: 第一个是记录供应商序号的数组;第二个是当前已经采用部件的价值之和;第三个是当前已经采用部件的重量之和

1.4剪枝的策略有两方面:第一个就是用当前已经采用部件的重量之和加上想选择的部件的重量,看他们的和会不会超过目前记录的最小总重量,如果超过的话就不用继续遍历这个分支;第二个就是用当前已经采用部件的价值之和加上当前想选择的部件的价值,看他们是否超过规定总价格,超过的话就不用继续遍历

2、当该问题需要限定的条件以及从多种可能的解中寻找正确的解决方法,并且经过判断可以构建一个回溯解空间树时(解空间树深度不能过大),可以考虑使用回溯算法。

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

434

社区成员

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

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