算法设计与分析第五章

Faffa_ 2022级 2023-12-10 21:33:00

1.1 解空间:有n个部件,m个部件供应商,所以为m*n个一维数组内有n个元素(保存当前重量的部件供应商的编号选择)

1.2 解空间树:该树有n层,一层有m个结点,代表不同的供应商,判断在部件确定的情况下,通过对部件供应商的遍历选择找出最小重量,从而构成解空间树,第一层代表第一个部件所选择的供应商,第n层代表第n个部件所选择的供应商,得到最小重量的供应商的选择解集

1.3 结点状态为:1.供应商数组选择 2.当前部件的总重量 3.当前部件的总价格

1.4 如何利用限界函数进行剪枝:1.先判断当前总价格是否小于规定价格,加入当前供应商选择时,是否总重量小于已遍历的其他供应商选择,若大于,则进行剪枝

2.对回溯法的理解

回溯法是一种通过知道问题的所有解,并把所有解构成一个解空间,再构造解空间树,通过遍历解空间树,当到达叶子结点时,则得到该问题的一个可行解,通过剪枝函数还有限界函数使遍历整棵树的时间复杂度减小。

回溯法是通过深度优先搜索,通过遍历新结点,则此新节点为活结点,可以扩展新节点,若为死结点,则得到一个可行解,并回溯到上一个结点,从而得到不同的可行解。

回溯法结构:

1.对问题进行定义解空间

2.确定解空间的结构

3.通过深度优先搜索遍历解空间,并使用限界函数和剪枝函数,减少不必要的遍历

 

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

434

社区成员

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

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