在无向图中找到不超过O(m + n log n)最小成本两倍的哈密顿循环,其成本满足三角不等式

时间:2018-06-02 14:09:57

标签: graph hamiltonian-cycle

所以我接受了这个任务,我不知道如何使用有关费用的信息。这是要求,我没有其他信息。

1 个答案:

答案 0 :(得分:0)

这应该可以通过双树近似算法来解决,以解决TSP(旅行商问题)/汉密尔顿电路。 它需要满足两个输入图条件:

  • 三角不等(你有这个)
  • 完整的图表(你有这个吗?这意味着图中每两个顶点之间必须有一条边。)

算法的工作原理如下:

  • 找到输入图的最小生成树(对此有一些算法;如果图形表示是对象列表,则复杂度为O(e + v * log(v)))
  • 生成树中每个边缘的两倍 - 您将拥有多图(O(e))
  • 在此图中创建一个Euler路径 - 如果您第二次遇到一个顶点,则跳过它并直接到达下一个顶点(由于您有完整的图形,此边缘存在于图中) - 这也应该是像O(e + some logarithm)
  • 你完成了 - 你找到了汉密尔顿赛道(并解决了TSP)

这个算法是2-approx(电路的成本是最佳解决方案的两倍 - 如果你愿意,我可以提供一个证据)。 最差的复杂性是O(e + v log(v)) - e是边数,v个顶点数......这应该映射到你的O(m + n log(n)) 。

目前我找不到与算法解释有任何好的联系,我会稍后尝试提供。