如何为最小生成树添加弹性?

时间:2019-06-27 10:39:56

标签: algorithm networking tree graph-theory

我有一个完整的,加权的,无向的图。边缘权重是两个节点之间连接的成本,因此最小生成树是总成本最低的边缘的子集,从而使图保持连接状态。

MST必须一直处于连接状态,但是不幸的是,连接不是很可靠,因此我想为该图形/网络添加冗余。

是否可以计算一条边的子集,以使总边成本最小化 边连接性超过一定的最小值?

我可以看到暴力破解是怎么可能的,但是我一直在寻找更实用的东西。关于这个问题,我还没有找到很多,主要是因为我没有掌握搜索所需要的词汇。

我当前的想法是:

  • 计算MST
  • 虽然它仍然低于一定的连通性
    • 在该连接下找到最远的节点
    • 以最低的权重激活该节点的边缘

之所以无法一次找到某个连通性之下的所有节点,是因为激活边缘可能会提供另一个足够的连通性。

我很确定这不会产生100%可证明的最佳网络,因为使用此方法,可能会过度连接节点(例如,您为一个节点激活k个边缘,然后另一个节点激活更多共享的边缘,从而其中k个多余)。我希望这是有道理的。

任何提示将不胜感激!

1 个答案:

答案 0 :(得分:0)

edge connected graphs上的Wikipedia文章以一个相关的问题结尾:查找G的最小k边连接的跨子图(即:在G中选择的边缘尽可能少)对于k> = 2,它是NP-困难的。然后他们引用了1979年的一篇论文来显示它。

因此,我建议您采取一种贪婪的方法,并tip起脚尖。