假设在真实平面中给出了一组N个点(xi,yi)。
我们希望将它们与任意数量的线连接起来,这样对于每对点A,B,都有一条从A到B的路径(可能间接地通过另一个点) - 并且线的总长度是最小的
例如,假设这些是沙漠中的城镇,我们正在建设一个道路网络。我们希望使用最少量的材料来建造道路,但仍然可以通过公路到达每个城镇。
对于N = 2,解决方案当然只是两点之间的线段:
+------------------+
对于N = 3,假设点是共线的,那么解是一个线段:
+------+-----------+
对于N = 3,假设点将形成等边三角形的顶点,那么我们将在中心添加一个点,然后构造三个线段,将新的中心点连接到三个点中的每一个:
+
|
|
/ \
/ \
/ \
+ +
我确信问题及其解决方案应该得到很好的研究。问题和/或算法是否有名称?
答案 0 :(得分:2)
好吧,从来没有人放弃轻松的代表...
考虑the Steiner tree problem似乎比最小生成树更密切地描述您的问题。引用那篇文章:
Steiner树问题与最小值之间的差异 生成树问题是,在Steiner树问题中,额外的 可以将中间顶点和边缘添加到图形中以便 减少生成树的长度。