这个问题 (斯坦纳树 http://portal.acm.org/citation.cfm?id=1414423) 是 NP 困难且最大 SNP 完全的,因此除非 P = NP,否则既不存在多项式时间算法,也不存在 PTAS(任意接近的近似)。
MST 可以给出比最佳权重任意差的权重,除非您知道图的某些特殊特征(例如图是平面的,或者至少权重服从三角不等式)。例如,如果您有 K_1,000,000,001,所有边权重均为 1,且只有一个目标,则最优解的权重为 1,MST 的权重为 1,000,000,000。
如果您假设目标之间的所有边以及源与每个目标之间的所有边都存在,您仍然可以通过任意因子进行超调。考虑上面的示例,但将目标和源之间的边权重更改为 2,000,000,000,000,000,000(仍与最佳值相差十亿倍)。
当然,您可以通过遍历图形来转换图形以“删除”时间 O(E) 左右的高边权重。加上目标和源集的 MST,得出的近似比率为 2。
存在更好的近似比率。 Robins 和 Zelikovsky 有一个多项式时间算法,其性能永远不会比最优算法差超过 54.94%:http://www.cs.virginia.edu/~robins/papers/soda2000_camera.pdf http://www.cs.virginia.edu/~robins/papers/soda2000_camera.pdf
Chlebik 和 Chlebikova 表明,接近于 1.05% 是 NP 困难的:图上的斯坦纳树问题:不可近似性结果 http://portal.acm.org/citation.cfm?id=1414423(doi 10.1.1.4.1339)
如果你的图表是平面的,情况会更好。 Borradaile、Kenyon-Mathieu 和 Klein(基于 Erickson、Monma 和 Veinott)提出了一种快速算法,可以给出任意接近的近似值:平面图中 Steiner 树的 O(nlogn) 近似方案 http://portal.acm.org/citation.cfm?doid=1541885.1541892(DOI 10.1.1.133.4154)