分而治之和分支与归约有什么区别。
根据 Fomin 和 Kratsch 的精确指数算法,分支和归约算法使用两种类型的规则:
- 归约规则用于简化问题实例或停止算法
- 分支规则用于通过递归解决问题的较小实例来解决问题实例。
对我来说,这听起来很像维基百科上给出的分而治之的定义:
分而治之(D&C)是一种基于多分支递归的算法设计范式。分而治之算法的工作原理是递归地将问题分解为两个或多个相同或相关类型的子问题,直到这些问题变得简单到可以直接解决。
然而,当比较分支和归约算法(如 k 可满足性或计算最大独立集)和分而治之算法(如快速排序和合并排序)时,它们对我来说并不相同。
那么分而治之和分支与归约之间有区别吗?如果是这样,什么特征使它们与众不同?
分而治之算法对输入进行划分。分支和归约算法划分解空间。
Branch and Bound 是一种以分而治之的方法为核心的范式。
换句话说,B&B是一种D&C方式。