在n个节点的加权无向图中,访问任何不同的k个节点的最低成本是多少?

时间:2013-04-05 06:59:24

标签: graph-algorithm

这里不同的k个节点是访问者,访问者访问它们。挑战在于,访客的数量,访问者数量,k个不同的访问者以及访问路径(从访问者到访问者)都需要决定。规则是被访者不能成为一个游客。以下是几个例子:

如果k = 1,我们只是在图中找到权重最小的边,比如说(u,v),然后你是访客(然后v是访客)或者v是访客(那么你就是访问者) )。最低成本是这个最小重量。

如果k = 2,我们只是在图中找到权重最小的两条边,比如说(u,v)和(u',v')。如果u,v,u',v'是四个不同的节点,则两个边缘之一中的任何节点可以是访问者而另一个节点是访问者。如果来自两个边缘的一个节点相同,比如说v = u',那么我们可以说你是访客而v,v'是访问者,或者v'是访问者而v,你是访问者,这两者都是最优的解。

如果k = 3,则找到三个最小加权边缘不一定给出最优解。这是一个例子。比方说,edge(u,v),(v,u')和(v,v')就是那三条边。我们可以说你访问了v和u'。但是,由于正在访问v,因此访问者不能访问v'。但v'也不能是访问v的访问者,因为v只能访问一次。在这种情况下,我们必须找到第四个最小边缘。

k的最大值可以是n-1,在这种情况下,我们应该找到一个访问者以最低成本访问所有其他n-1个访问者。这里与TSP不同,有可能多次访问节点,因为我们的图不是完整的图。要将此问题映射到TSP:我们希望以最低成本访问n个城市中的任何k个城市(访问者) - 为实现这一点,我们不介意尽可能多的销售人员(访问者),我们不要不管他们从哪个城市开始,我们关心正在访问的k个城市,并且有可能多次访问一个城市;此外,n个城市没有形成完整的图表。

感谢您的意见。

0 个答案:

没有答案