分支定界算法理解(摘抄)

news/2025/2/11 18:00:12/

解释一

分支定界算法(Branch and bound,简称为 BB、B&B, or BnB)始终围绕着一颗搜索树进行的。

我们将原问题看作搜索树的根节点。从这里出发,分支的含义就是将大的问题分割成小的问题。大问题可以看成是搜索树的父节点,那么从大问题分割出来的小问题就是父节点的子节点了。分支的过程就是不断给树增加子节点的过程。而定界就是在分支的过程中检查子问题的上下界,如果子问题不能产生比当前最优解还要优的解,那么砍掉这一支。直到所有子问题都不能产生一个更优的解时,算法结束。
在这里插入图片描述
原文链接:https://blog.csdn.net/cc098818/article/details/100550806

 解释二

分枝定界是一种深度优先的树搜索算法。通过对树进行剪枝,可以缩小了搜索范围,大大减小计算量。但同时又不会遗漏最优解。

回环检测的最优位姿,一定出现在叶子节点。什么情况下不能再分了呢?——到达了搜索框的最细分辨率则不能再分,也就是在暴力搜索中,那些所有的交点的集合构成了树的叶子节点。

在这里插入图片描述

来看这张图假设我们需要去计算检测匹配的点为如图所示16个。
则我们第一层搜索精度最低,只列举其中两个,并优先考虑靠左(优先考虑可能性最高的)。
对其继续分层,将其精度提高一倍,又可以列举出两个,并优先考虑靠左。
这样直至最底层,计算出该情况下的平凡得分,最左的底层有两个值A和B,我们求出最大值,并将其视为best_score。
然后我们返回上一层还未来得及展开的C,计算C的贪心得分并让它与best_score比较,若best_score依旧最大,则不再考虑C,即不对其进行分层讨论。
若C的贪心得分比best_score更大,则对其进行分层,计算D和E的值,我们假设D值大于E,则将D与best_score对比
若D最大,则将D视为best_score,否则继续返回搜索。

剪枝的原则是:如果子树的父节点的贪心score小于之前已经待定的best_score,那么直接将这个节点的子树全部减掉。best_score首次搜索至叶子节点之前,是设定的一个初始值(比如之前设置的0.9)。当第一次搜索到叶子节点之后,若叶子节点的得分高于best_score,best_score会被更新。

解释三

分枝:树搜索,扩展子节点的策略。

定界:每个节点的得分大于其所有子树叶子的得分,是其子树的“上界”

伪代码的流程

在这里插入图片描述

(1)先把A(1.5)分为 B(0.9) 和 C(0.8)
(2)先瞅准B(0.9),将其分为D(0.7)和E(0.2)
(3)再瞅准D(0.7),将其分为H(0.5)和I(0.4)
(4)得到了最大的叶子节点H(0.5),得到best(0.5)
(5)返回上一层看E(0.2),发现E(0.2) < best(0.5),直接将E及其子树JK剪枝,不再进行循环
(6)继续往上一层返回,看C(0.8),发现best(0.5)<C(0.8),则对C(0.8)继续向下分
(7)将C(0.8)分为F(0.4)和G(0.7)
(8)瞅准F(0.4),发现其小于best(0.5),则将F及其子树LM进行剪枝
(9)再看G(0.7),发现其大于best(0.5),将G(0.7)继续往下分
(10)将G(0.7)分为N(0.6)和O(0.1)
(11)发现N(0.6)大于best(0.5),则得到best(0.6)
(12)不像第(5)步,现在没有往上层返回的机会了。分枝定界结束
(13)最优位姿:best(0.6),即N(0.6)
————————————————
原文链接:https://blog.csdn.net/weixin_44684139/article/details/105690084

解释四

相当于“分田”,在空间坐标上将搜索空间划分为四个更小的区域,

图片名称

用于SLAM的cartographer回环检测中,scan与全局map进行匹配,为了找到此scan的最佳位姿以便于与地图进行更好的匹配,所以采用计算量较小的分支定界算法。

【cartographer】(二)分支定界_陋室逢雨的博客-CSDN博客

解释五

暴力搜索

暴力求解是有庞大的计算量的。因为你要把搜索框(search window)中的位姿以分辨率为步长全部遍历一遍。因此为了减少暴力搜索的巨大计算量,2016年有人提出“分支定界算法”,大大减少计算量。


http://www.ppmy.cn/news/409652.html

相关文章

37%法则

这在数学上称为"秘书问题"。 某公司招聘一名秘书&#xff0c;有100名候选人&#xff0c;依次面试。每面试完一个人&#xff0c;就必须立刻决定是否录取。也就是说&#xff0c;不能面试完所有人&#xff0c;再回过头决定录取哪一个&#xff0c;一旦放弃当前候选人&am…

各种法则定律-引论

参考&#xff1a; 一、墨菲定律&#xff1a;如果事情可能出错&#xff0c;它就会出错。 二、布鲁克定律&#xff1a;大部分情况下&#xff0c;为已经延期的软件项目增加人手只会让项目延期得更厉害。 三、霍夫施塔特定律&#xff1a;项目的实际完成时间总是比预期的要长。 …

关于“丛林法则”

体制内外&#xff1a; 体制内稳定&#xff0c;解决户口&#xff0c;每个月都有死工资&#xff0c;不用担心吃穿&#xff0c;还有空闲时间做自己的事情。很多人做不代表它是对的&#xff0c;我不觉得你稳定&#xff0c;因为你的生活是靠着一个政策或靠着领导的一句话&#xff0c…

《秘密》吸引力法则 书摘

吸引力法则就是将自己想象为一个磁铁&#xff0c;另外一块磁铁就会受吸引而来。 思想层面的&#xff0c;同类相吸&#xff0c;你要非常清晰的知道你想要什么。 也就是想法会成真&#xff0c;每个想法都有自己的频率&#xff0c;所以你不断重复自己的想法&#xff0c;在心中想…

第六章——分枝限界法

分枝限界法概述 分枝限界法和回溯法一样&#xff0c;也是一种在问题的解空间树上搜可行解的穷举算法。 其中“分枝”指的是“分枝限界法”搜索可行解采用的策略为广度优先搜索或实现方法和思路类似的代价优先搜索。 广度优先搜索的概念和实现前面已经介绍过很多次了&#xf…

克莱姆法则

克莱姆法则 基于线性方程组的解空间理论&#xff0c;线性方程组有唯一解当且仅当有效方程数等于未知数的个数。这时&#xff0c;可以运用各种方法具体求出唯一存在的解。克莱姆法则是一种求解线性方程组的方法&#xff0c;大多数线性代数教材都会提到。例如对于如下的线性方程…

求解4皇后问题(分枝限界法)

算法描述&#xff1a; 对于每一个放置点而言&#xff0c;它需要考虑四个方向上是否已经存在皇后。分别是行列&#xff0c;45度斜线和135度斜线。 行&#xff1a;每一行只放一个皇后&#xff0c;直到我们把最后一个皇后放到最后一行的合适位置&#xff0c;则算法结束。 列&am…

基于51单片机智能小车(超声波+舵机)

基于stc89c52单片机避障舵机两驱三轮智能小车 前期准备&#xff1a;学会使用Keil4,学好51单片机基本知识&#xff0c;学会控制IO的输入与输出&#xff0c;内容学到外部中断&#xff0c;定时器&#xff0c;&#xff08;串口通信&#xff0c;可以实现蓝牙控制&#xff09; 准备…