这个问题(Steiner Tree)是NP-hard和max SNP-complete,因此除非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 .
如果您的图表是平面的,情况会更好 . 由于Borradaile,Kenyon-Mathieu&Klein( Build 于Erickson,Monma和Veinott),有一种快速算法可以给出任意近似的近似值:An O(nlogn) approximation scheme for Steiner tree in planar graphs(doi 10.1.1.133.4154)