📅  最后修改于: 2023-12-03 14:57:40.741000             🧑  作者: Mango
旅行推销员问题(Traveling Salesman Problem,TSP),是一个著名的组合优化问题,也是一个NP难问题。问题描述为:给定一系列的城市和每对城市之间的距离,求解访问每一座城市一次并回到起始城市的最短回路。
该问题具有重大的实际意义,在许多领域得到广泛应用,如电路设计、货车调度、计算机制作、DNA测序等等。
NP Hard是指不仅是NP问题,而且还是NP问题中最困难的那一类问题。换一种说法,就是所有NP问题都可以约化为NP Hard问题,即如果我们能在多项式时间内解决某个NP Hard问题,那么我们就可以在多项式时间内解决所有的NP问题。
我们将证明旅行推销员问题是NP Hard,通过将其约化为图的哈密顿回路问题(Hamiltonian Circuit Problem,HCP)。
HCP指的是在无向图中存在一条包含所有顶点的简单回路,称为哈密顿回路。该问题也是一个NP难问题。我们可以将TSP转化为HCP,从而证明TSP是NP Hard。
具体来说,我们可以借助一个图的变换,将TSP的问题转化为HCP的问题。该变换方式称为Gadget方法:
我们来看一个例子:
在这个例子中,我们有4个城市,分别为A、B、C、D。它们分别被画在4个盒子中(4个盒子放在了完全图的4个顶点上)。它们之间的距离用红色的线段表示。
城市盒子中的子图以绿色的虚线包围。每个子图是一个完全图,但是所有边的权值被设置为无限大,因此我们可以将它们看作是没有边的子图。
我们可以证明:
在这个新的图上,找出哈密顿回路的复杂度与长度为N的TSP问题是等价的。因此,如果我们能够解决这个新的问题,那么我们也可以解决TSP问题。由于这个新的问题是NP难问题,我们可以得出旅行推销员问题也是NP难问题。
通过Gadget方法的转换,我们可以将旅行推销员问题TSP转换为图的哈密顿回路问题HCP,从而证明TSP是NP hard。这个证明方式说明了TSP是一个极其困难的问题,在实际使用时需要特别小心和谨慎。