构造覆盖特定顶点子集的最小生成树

发布于 2024-12-08 18:44:03 字数 345 浏览 4 评论 0原文

我有一个无向正边权图(V,E),我想要一个最小生成树覆盖顶点V的子集k em>(斯坦纳树问题)。

我没有将生成树的大小限制为 k 个顶点;相反,我确切地知道 MST 中必须包含哪些 k 个顶点。

从整个 MST 开始,我可以削减边缘/节点,直到获得包含所有 k 的最小 MST。

我可以使用Prim的算法得到整个MST,并在子集k的MST不被破坏的情况下开始删除边/节点;或者,我可以使用 Floyd-Warshall 来获取所有对的最短路径,并以某种方式合并路径。有更好的方法来解决这个问题吗?

I have an undirected, positive-edge-weight graph (V,E) for which I want a minimum spanning tree covering a subset k of vertices V (the Steiner tree problem).

I'm not limiting the size of the spanning tree to k vertices; rather I know exactly which k vertices must be included in the MST.

Starting from the entire MST I could pare down edges/nodes until I get the smallest MST that contains all k.

I can use Prim's algorithm to get the entire MST, and start deleting edges/nodes while the MST of subset k is not destroyed; alternatively I can use Floyd-Warshall to get all-pairs shortest paths and somehow union the paths. Are there better ways to approach this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

可爱咩 2024-12-15 18:44:03

这里有很多混乱。根据OP所说:

我没有将生成树的大小限制为 k 个顶点;相反,我确切地知道 MST 中必须包含哪些 k 个顶点。

这是图上的 Steiner 树问题。 这不是 k-MST 问题。 Steiner 树问题定义如下:

给定一个加权图 G = (V, E),顶点的子集 S ⊆ V,
和一个根 r ∈ V ,我们想要找到一个最小权重树,它将 S 中的所有顶点连接到
1

正如其他人提到的,这个问题是 NP 困难的。因此,您可以使用近似算法。

早期/简单近似算法

两种著名的方法是Takahashi 方法Kruskal 方法(两者均已由 Rayward-Smith 扩展/改进):

  • Takahashi H,Matsuyama A:图中斯坦纳问题的近似解。数学。日本 1980 年,24:573–577。
  • Kruskal JB:图的最短生成子树和旅行商问题。 《美国数学会会刊》,第 7 卷。; 1956:48–50。
  • Rayward-Smith VJ、Clare A:关于寻找斯坦纳顶点。网络 1986 年,16:283–294。

Takahashi 的最短路径近似(由 Rayward-Smith 修改)

在此处输入图像描述


Kruskal 近似算法(修改为雷沃德-史密斯)

在此处输入图像描述


现代/更高级的近似算法

在生物学中,最近的方法使用空腔方法来处理该问题,这导致了“改进的信念传播”方法在大数据集上表现出了良好的准确性:

  • Bayati, M.、Borgs, C.、Braunstein, A.、Chayes, J.、Ramezanpour, A.、Zecchina, R.:steiner trees 的统计力学。物理。莱特牧师。 101(3), 037208 (2008) 15.
  • 应用:用于最优子网识别的 Steiner 树方法:实证研究。 BMC 生物信息学。 BMC 生物信息学 2013 年 30;14:144。 Epub 2013 年 4 月 30 日。

在搜索引擎问题的背景下,方法重点关注可以在某种程度上进行预处理的大型数据集的效率。

  • G. Bhalotia、A. Hulgeri、C. Nakhe、S. Chakrabarti 和 S. Sudarshan。使用 BANKS 在数据库中进行关键字搜索和浏览。 ICDE,第 431-440 页。
  • G. Kasneci、M. Ramanath、M. Sozio、FM Suchanek 和 G. Weikum。 STAR:关系图中的斯坦纳树近似。 ICDE'09,第 868–879 页,2009 年

There's a lot of confusion going on here. Based on what the OP says:

I'm not limiting the size of the spanning tree to k vertices; rather I know exactly which k vertices must be included in the MST.

This is the Steiner tree problem on graphs. This is not the k-MST problem. The Steiner tree problem is defined as such:

Given a weighted graph G = (V, E), a subset S ⊆ V of the vertices,
and a root r ∈ V , we want to find a minimum weight tree which connects all the vertices in S to
r. 1

As others have mentionned, this problem is NP-hard. Therefore, you can use an approximation algorithm.

Early/Simple Approximation Algorithms

Two famous methods are Takahashi's method and Kruskal's method (both of which have been extended/improved by Rayward-Smith):

  • Takahashi H, Matsuyama A: An approximate solution for the Steiner problem in graphs. Math. Jap 1980, 24:573–577.
  • Kruskal JB: On the Shortest Spanning Subtree of a Graph and the Traveling Salesman Problem. In Proceedings of the American Mathematical Society, Volume 7. ; 1956:48–50.
  • Rayward-Smith VJ, Clare A: On finding Steiner vertices. Networks 1986, 16:283–294.

Shortest path approximation by Takahashi (with modification by Rayward-Smith)

enter image description here


Kruskal's approximation algorithm (with modification by Rayward-Smith)

enter image description here


Modern/More Advanced Approximation Algorithms

In biology, more recent approaches have treated the problem using the cavity method, which has led to a "modified belief propagation" method that has shown good accuracy on large data sets:

  • Bayati, M., Borgs, C., Braunstein, A., Chayes, J., Ramezanpour, A., Zecchina, R.: Statistical mechanics of steiner trees. Phys. Rev. Lett. 101(3), 037208 (2008) 15.
  • For an application: Steiner tree methods for optimal sub-network identification: an empirical study. BMC Bioinformatics. BMC Bioinformatics 2013 30;14:144. Epub 2013 Apr 30.

In the context of search engine problems, approaches have focused on efficiency for very large data sets that can be pre-processed to some degree.

  • G. Bhalotia, A. Hulgeri, C. Nakhe, S. Chakrabarti, and S. Sudarshan. Keyword Searching and Browsing in Databases using BANKS. In ICDE, pages 431–440.
  • G. Kasneci, M. Ramanath, M. Sozio, F. M. Suchanek, and G. Weikum. STAR: Steiner-tree approximation in relationship graphs. In ICDE’09, pages 868–879, 2009
乞讨 2024-12-15 18:44:03

你所说的问题是一个著名的NP难题,称为图中的Steiner树。多项式时间内没有已知的解,许多人认为不存在这样的解。

The problem you stated is a famous NP-hard problem, called Steiner tree in graphs. There are no known solutions in polynomial time and many believe no such solutions exist.

﹏雨一样淡蓝的深情 2024-12-15 18:44:03

在受限图 (k, E') 上运行 Prim 算法,其中 E' = {(x, < em>y) ε V : x ε ky ε k< /em>})。构建该图需要 O(|E|)。

Run Prim's algorithm on the restricted graph (k, E') where E' = {(x, y) ∈ V : xk and yk}). Constructing that graph takes O(|E|).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文