fifo算法_算法复习第七篇——分支限界法

4b8a4b31c396caa044d950d2158e0cce.png

2020年5月7日。距离算法考试仅剩两天。这次期末考试,软件学院的要求是指考相关概念,所以本篇文章只针对概念进行讲解。

一、知识归纳

1.算法思想

(1) 类似于回溯法,在问题的解空间树上搜索问题的解

(2) 搜索策略

广度优先(BFS)

  • 队列式(FIFO)分支限界法
  • 栈式(LIFO)分支限界法

最小代价(LC, 最大效益)优先

  • LC分支限界法

(3) 按照BFS的原则,一个活结点R成为E-结点 (扩展结点)后,算法将

  • 依次将R的全部孩子结点逐一加入活结点表
  • R自身成为死结点
  • 从新的活结点表中选一个活结点作为扩展结点
以广度优先或以最小耗费方式搜索问题的解。

2.和回溯法的异同

相同点:

  • 都是一种在问题的解空间树T中搜索问题解的算法

不同点:

  • ① 求解目标不同;
  • ② 搜索方式不同;
  • ③ 对扩展结点的扩展方式不同;
  • ④ 存储空间的要求不同。

3.分支限界法的步骤

① 对解进行编码

  • 针对所给问题,定义问题的解空间

② 按树或图组织解

  • 确定易于搜索的解空间结构

③ 搜索解空间

  • ✧ 保证系统式搜索
  • 广度优先
  • 最小耗费(最大收益)优先
  • ✧ 辅助以跳跃式搜索,进行剪枝以避免无效搜索
  • 约束函数
  • 限界函数
注:深度优先是使用回溯法思想的。

4.分支限界法的搜索策略

在E-结点处,先生成其所有的儿子结点(分支),然后再从当前的活结点表中选择下一个E-结点。

为了有效地选择下一扩展结点,加速搜索的进程,在每一个活结点处,计算一个函数值(限 界),并根据函数值,从当前活结点表中选择一个最有利的结点作为E-结点,使搜索朝着解 空间上有最优解的分支推进,以便尽快地找出一个最优解。

5.队列式(FIFO)分支限界法

从活结点表中选出下一个E-结点时的策略

队列中的最先入队的结点优先被选择

6.LC(最小代价)分支限界法

选取结点的原则是“结点优先级高优先”

☞采用优先队列作为活结点表

✧ 优先队列和队列一样吗?


二、考点归纳

1.优先队列式分支限界法选取扩展结点的原则是 结点的优先级

2.分支界限法的搜索方式:广度优先,最小耗费优先,最大效益优先。

深度优先是回溯法范畴的。

3.状态空间树中每个结点对应着一个候选解,每个叶子结点对应着一个可行解 (x)

4.解决0/1背包问题可以使用动态规划、回溯法和分支限界法,其中不需要排序的是 动态规划法 ,需要排序的是 回溯法 分支限界法

5.以广度优先或以最小耗费方式搜索问题解的算法称为 分支限界法

有待完善,请关注更新!

7893b969bce0ed2893265aff5306acda.png
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值