树分解中的分隔符概念是什么?

时间:2019-02-08 00:50:39

标签: tree dynamic-programming graph-theory graph-algorithm

我正在尝试使用动态编程来理解树分解中的最大独立集问题。但是,我无法在提出的算法中得到“分隔符”的概念。有人可以让我澄清这一点。预先感谢。

1 个答案:

答案 0 :(得分:2)

分隔符是顶点的子集,这些顶点的去除会留下带有多个连接组件的图形。如果每个连接的组件的顶点数少于原始图的一半,则分隔符 balanced

By removing the balanced separator S, the grid falls apart into the connected components A and B

树宽较小的图具有较小的平衡分隔符。更确切地说,树宽为k的图具有一个平衡器,该平衡器具有最多k + 1个顶点。

算法利用此漏洞如下:

  • 从图中删除一个小的平衡分隔符

  • 为连接的组件递归找到最佳解决方案

  • 再次添加分隔符(可能逐个顶点),然后使用所连接组件的解找到整个图的最佳解。

为使上述方案有效,需要满足一些要求:

  • 第一步中的分隔符很小(即大小不变)

  • 第二步中连接的分量的顶点数比原始图的顶点数少得多(即恒定分数,例如1/2)。

  • 以上属性均继承到诱导子图(否则您将无法高效递归)

  • 所连接组件的局部最优解可以有效地组合为整个图的最优解

低树宽的图形满足了这些要求-除了最后一个图形:这是针对每个优化问题的,这就是算法设计者撰写的研究论文的内容。

(图片摘自vertex separator上的维基百科文章。)