给定一个以间隔为边成本的图来检查MST有效性

时间:2018-12-31 16:15:40

标签: algorithm minimum-spanning-tree

我真的想弄清楚这个问题。 给定无向图和连通图G,G中的所有边都具有未知成本,但是已知每个边的每个成本的间隔,例如边e的成本在闭合区间[i,j]中,其中i和j为实数。我还得到了一个名为T的G的生成树。我需要创建一种算法来检查T是否可以是G的最小生成树。 我尝试将此问题连接到网络流,但无法找到解决方案。有没有找到这样的解决方案的提示?

1 个答案:

答案 0 :(得分:0)

可以使用linear programming解决此问题。检查T是否可以是最小生成树等于检查一组| E |上的线性约束的可行性。变量,每个图形边沿一个。变量x(u,v)对应于边缘的权重(u,v)。也就是说,线性程序的可行解决方案是将权重分配给图边缘,以使T为最小生成树。因此,一开始,每个变量x(u,v)都应限制在指定的时间间隔内。

我将在不久之后指定的其他约束旨在满足且仅当T是解决程序的分配下的最小生成树时。

要了解为什么在满足以下约束的每个分配下T必须是最小生成树,您必须使自己相信最小生成树的以下属性:

当且仅当对于不在T中的每个边(u,v)和在t中从u到v的路径中的每个边ew(u,v)>=w(e),生成树T都是最小生成树。此属性来自the cut property

因此,要检查T是否可以是最小生成树,应该检查由以下约束集定义的线性程序的可行性。

  • 对于图形中的每个边,i(u,v)<=x(u,v)<=j(u,v)
  • 对于不在T中的每个边(u,v)和在T中从eu的路径中的每个边vx(u,v)>=x(e)