为什么欧拉路径可以在线性时间内实现,而不是哈密尔顿路径?

时间:2011-09-08 04:13:52

标签: graph-theory

我了解到即使看似相似,欧拉路径也可以在线性时间内求解,而哈密顿路径问题是NP完全的。我想知道造成这种差异的原因是什么?我不太了解图论,所以可能不太了解严格的证据,但有些术语应该没问题。

3 个答案:

答案 0 :(得分:4)

如果我们采用无向图的情况,如果图连接并且只有两个奇数度的顶点(开始和结束顶点),则存在欧拉路径。此路径仅访问每个边缘一次。因此,欧拉路径的存在取决于顶点度而不是实际顶点数。

对于哈密顿路径,没有简单的必要条件(当然也没有多项式时间算法)。由于路径必须恰好击中每个顶点一次,因此“硬”方法是检查顶点的所有排列并查看路径是否存在。

答案 1 :(得分:4)

基本上,欧拉问题可以通过动态规划来解决,而汉密尔顿问题则不能。

这意味着如果您拥有图表的子集并通过它找到有效的循环路径,则可以将此部分解决方案与其他部分解决方案相结合,并找到全局有效的路径。对于最佳路径而言并非如此:即使在通过图的一小部分找到最佳路径之后,这很可能成为全局最优路径的一部分(事实上,它通常不是)。非正式地说,通过大图的最佳路径取决于图中所有其他部分的确切值,因此没有人找到一种方法在问题上正确使用“分而治之”。

答案 2 :(得分:1)

事实上, 汉密尔顿路径的局限是你必须只访问一次边缘。但是对于欧拉,你可能会访问相同的顶点,有时相同的边缘会反向。但是,在大多数情况下,可以创建新的顶点,但只能添加边。

Bellman,R。(1962),“旅行商问题的动态规划处理”,ACM 9:61-63期刊,doi:10.1145 / 321105.321111。

如果您只是检查那篇文章,那么图形的动态编程实现(当然不适用于所有类型的图形)。还有一些HMM实现,

Björklund,Andreas(2010),“无向汉密尔顿性的行列式和”,Proc。第51届IEEE计算机科学基础研讨会(FOCS '10),第173-182页,arXiv:1008.0541,doi:10.1109 / FOCS.2010.24。

欧拉路径的好处是;你可以得到子图(分支和绑定),然后得到总循环图。说实话,欧拉主要用于本地解决方案..

希望有所帮助..