关于Hamilton问题的研究

关于Hamilton问题的研究

  首先介绍一下Hamilton问题:哈密顿问题寻找一条从给定的起点到给定的终点沿途恰好经过所有其他结点一次的路径。(摘自百度百科)

  从刚开始学OI买了信息学一本通,这个问题就常常出现.由于它题面的简洁性,看起来无比优美的性质和欧拉回路的高度相似性,它看起来很像一个好算法,可惜,这是一个NP-hard问题.

  首先介绍一下一种正确做法:状压dp.就是用$vis[i]$表示目前走过的点的状态为$i$,找到答案后倒着回溯回去输出方案,当然搜索也是可以的,总之都是指数级算法了.

  但是它有很多的不正确做法,看起来都很有道理,那么这篇文章就来介绍两种并且指出其中的问题.

  首先看这样一道题:单词游戏

  给定$n$个单词,求一种排列顺序使得相连单词首尾相接.$n<=10^5$

  这道题有两种解法:

  1.将单词作为点,如果两个单词可以首尾相接,那么连一条边,要求不重复的经过每一个点,是一个哈密尔顿路问题,于是这就得到了一个非常优秀的$2^{10^5}\times 10^5$的做法!

  2.将字母作为点,对于每个单词,将它的尾字母向首字母连边,要求不重复的经过每一条边,是一个欧拉路问题,于是这就得到了一个更加优秀的$10^5$的做法!

  这道题深刻的阐述了建图策略对于时间复杂度的影响,然而...这两种建图的复杂度都不是很高,如果可以设法进行一番逆变换,把一个普通图的哈密尔顿路转化为这个问题,再转化为欧拉路做,可以吗?

  事实上这是没有什么问题的,但是这种逆变换也无法在多项式时间内出解,所以总复杂度还是得不到保证。

  

  今天学习网络流的时候又看到了一种新的错误解法:

  使用无源汇上下界网络流,对于每个点进行拆点限制流量上下界均为为1,对于原有的边下界为0上界正无穷.

  网络流的复杂度是多项式级别的,如果这个做法是正确的,那么就可以解决哈密尔顿问题。可惜这个算法也是错误的,下面来说明一下:

  首先这种算法可能会把明明不符合条件的图也判断成满足条件,为什么?

  因为解决无源汇问题时,往往是通过转化为多源多汇再进一步转化为超级源汇来解决的,所以求出的可能不是一条路,而是多条路,举个最显然的例子:点数大于一但没有边的图。

  事实上哈密尔顿回路已被证明是没有多项式解法的,但是对于它的思考还是很有意义的.

  哈密尔顿问题虽然没有得到完美的解决,但是通过科学家们的研究,发现了一些充分条件和必要条件:

  1.如果一个图中有哈密尔顿回路,那么从这个图中删去x个点,新图中的连通分量不会超过$x$个;(必要)

  2.如果一个图中有哈密尔顿通路,那么从这个图中删去x个点,新图中的连通分量不会超过$x+1$个;(必要)

  3.Ore定理:如果对于一个无向简单图,任意不相邻两点的度数和大于等于n,那么这个图存在哈密尔顿回路(充分);

  4.如果对于一个无向简单图,任意不相邻两点的度数和大于等于n-1,那么这个图存在哈密尔顿通路(充分);

  

  ---shzr

转载于:https://www.cnblogs.com/shzr/p/10165374.html

近十年来,研究者分析时间序列数据的方式发生了巨大变化。这本十分必需的书归纳了这一日益重要领域的主要最新进展,并就其现有表述给出了一个单一的一致的表示。汉密尔顿就诸如向量自回归、广义矩方法估计、单位根的经济和统计结果、随时间变化的方差以及非线性时间序列模型等重要创新,首次给出了一本完整的和详细的教科书。另外,汉密尔顿还介绍了动态系统分析的传统工具,如线性表示、自协方差、生成函数、谱分析以及卡尔曼滤子,并介绍了它们在经济理论以及研究并解释真实一世界数据两方面的用途。 本书的目的在于为学生、研究者和预测者提供关于动态系统、经济计量学和时间序列分析方面的概览。从第一个原理开始,汉密尔顿的明析介绍使得新旧进展皆适合于大学一年级学生和非专业人员。另外,时间序列分析从内容的广度和深度上使其成为该领域前沿研究者不可多得的一本参考书。汉密尔顿通过大量的数值例子解释理论结果如何在实践中运用并将大量推导细节放在每章末的数学附录中,以此达到了上述双重目的。本书为该领域的学生和研究者提供了一个路径地图,相信在未来几年内它都会是较权威的指南。 詹姆斯D.汉密尔顿是加利福尼亚大学圣地亚哥分校的经济学教授。他获得了加利福尼亚大学伯克利分校的博士学位,并曾在弗吉尼亚大学任教。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值