图表中最大重量的周期

时间:2010-10-06 16:31:31

标签: algorithm graph graph-theory graph-algorithm

给定加权图(有向或无向)我需要找到具有最大权重的图的周期。

周期的权重是图表边缘权重的总和。

它可以是任何循环,而不仅仅是我们可以

的基本循环

我可以尝试枚举图形的所有周期,然后计算最大值,但是周期总数可能非常大(如果图形完整,那么第一个和最后一个相同的任何顶点序列都是一个周期)。

您是否有任何想法可以在不计算所有周期的情况下找到最大重量周期?

如果您需要图表上的假设(例如正数权重),请表明它们。

2 个答案:

答案 0 :(得分:12)

这是NP-Hard。

哈密顿循环问题可以归结为此。

给定我们需要检查是否存在哈密顿循环的图表,为每个边缘分配权重1.

现在运行算法以获得最大重量循环。如果重量<1。 n,那么原始图形没有哈密顿循环,否则就是。

答案 1 :(得分:1)

如果您可以在特定情况下找到最小加权路径,只需反转所有权重的符号并应用算法即可。当然,你正在做一些未说明的假设,因为莫伦的论证是正确的(没有双关语意)。您正在做的假设可能是正权重或没有负权重周期。我认为你应该努力陈述它们,而不是让人们在可能的假设的无限空间中进行搜索。至于硬度结果,这也很难近似,请查看this paper。同一篇论文包含了重要类型图表的几个积极结果,但它关注的是最长的未加权路径,因此我的猜测是本文中的大多数算法都不会对您的情况有直接帮助。如果您搜索“重循环”,您会发现许多有趣的论文,但它们在数学上更具数学性。如果您的权重是小整数(最多为图表大小的多项式),您可以尝试用未加权的路径替换每个边缘,以将问题减少到未加权的情况。我希望这在一定程度上有所帮助,但你手上可能有一个开放的研究问题。