哥尼斯堡七桥问题是在寻找一条遍历图中所有边的简单路径,而哈密尔顿的周游世界问题则是在寻找一条遍历图中所有点的基本路径。在无向图G=<V,E>中,遍历G中每个顶点一次且仅一次的路径称为哈密尔顿路径,遍历G中每个顶点一次且仅一次的回路称为哈密尔顿回路。具有哈密尔顿回路的图称为哈密尔顿图。哈密尔顿问题是一类问题的总称。

问题提出没过多久,哈密尔顿就收到许多来自世界各地的表明成功周游世界的答案。然而,有没有一个一般的方法来判定一个图是或者不是哈密尔顿图呢? 一个半世纪过去了,这个问题即一个图是否为哈密尔顿图的判定问题至今悬而未决。哈密尔顿问题一直是图论中的世界性难题,到目前为止仍然没有找到一个像欧拉图那样简单的充分必要条件。目前的研究结果仅仅可以分别给出哈密尔顿回路存在的必要条件和充分条件。

如果图G=<V,E>是哈密尔顿图,则它必然具备下述性质:

对V的每个非空真子集 S均有w(G-S)<=|S| ,其中|S|是S中的顶点数, w(G-S)表示G删去顶点集S后得到的图的连通分图个数。

上述条件是一个必要条件,但不是一个充分条件。因此,可以运用它来判定某些图不是哈密尔顿图。即哈密尔顿图都满足这样的条件,但符合该条件的图不一定是哈密尔顿图,彼得森图就不是一个哈密尔顿图,但它却满足上述条件。

下面给出一个判定哈密尔顿回路存在的充分条件:

如果图G=<V,E>是具有n>=3个顶点的简单无向图,且在图G中每一对顶点的度数和都不小于n ,那么 G中必然存在一条哈密尔顿回路。

上述条件是一个充分条件,但不是一个必要条件。也就是说满足该条件的图必然是哈密尔顿图,但不满足该条件的图也有可能是哈密尔顿图。

在计算理论中,我们定义P类是确定形 单带图灵机在多项式时间内 可以判定的 语言类,即

P大致对应于在计算机上实际可以解的问题类。与之相对应的,还有NP类,NP类是具有多项式时间验证机的语言类,其中验证机的定义如下:语言A的验证机是一个算法V,其中A = {w | 对某个字符串c, V 接受<w,c>}

因为只根据w的长度来度量验证机的时间 ,所以多项式时间验证机在w的长度的多项式时间内运行。如果语言A有一个多项式时间验证机,我们就称它是多项式时间可验证的。

验证机利用额外的信息(即上述定义中的符号c)来验证字符串w 是A 的成员。该信息称为A 的成员资格证书.或证明。注意,对于多项式验证机,证书具有多项式的长度( w的长度),因为这是该验证机在它的时间界限内所能访问的全部信息长度。

NP的意思就是非确定型多项式时间,这也是使用非确定型多项式时间图灵机的一个特征。一个非常重要的定理就是:一个语言在NP 中,当且仅当它能被某个非确定型多项式时间图灵机判定。

回到我们所谈论的哈密尔顿路径问题,考虑验证一个有向图是否包含连接两个指定节点的哈密尔顿路径问题,我们用HAMPATH来表示这个问题,即

HAMPATH = {<G, s, t> | G是包含从s到t 的哈密尔顿路径的有向图}

HAMPATH是一个典型的NP问题。我们把验证机的定义应用到HAMPATH 上。对于HAMPATH 问题,字符串<G, s, t>∈HAMPATH的证书就是只有一条从s到t 的哈密尔顿路径。

下面给出一个在非确定型多项式时间内判定HAMPATH 问题的非确定型图灵机

如前所述, NP 是在非确定型图灵机上多项式时间内可解的语言类,或者等价地说,是成员资格可以在多项式时间内验证的语言类。P 是成员资格可以在多项式时间内判定的语言类。把这些内容总结如下,其中,把多项式时间可解的粗略地称为“快速地”可解的。
P = 成员资棉可以快速地判定的语言类
NP =成员资格可以快速地验证的语言类
       我们已经给出了语言的例子,如HAMPATH  , 它是NP 的成员.但不知道是否属于P。多项式可 验证性的能力似乎比多项式可判定性的能力大得多。但是, P 和 NP 也可能相等,虽然这一点可能难以想象。还不能证明在NP 中存在一个不属于P 的语言。
       P = NP 是否成立的问题是理论计算机科学和当代数学中最大的悬而未决的问题之一。如果这两个类相等,那么所有多项式可验证的问题都将是多项式可判定的。 大多数研究人员相信这两个类是不相等的,因为人们已经投入了大量精力为NP中的某些问题寻找多项式时间算法,但皆以失败告终。

研究人员还试图证明这两个类是不相等的,但是这要求证明不存在快速算法来代替蛮力搜索(Brute Force Search)。目前, 科学研究还无法做到这步。

2000年5月24日,美国克雷数学研究所(Clay Mathematics Institute,CMI) 指出新世纪亟待解决的七大数学难题,又称千禧年大奖难题(Millennium Prize Problems),P=NP?问题位列其中。根据克雷数学研究所订定的规则,任何一个猜想的解答,只要发表在数学期刊上,并经过两年的验证期,解决者就会被颁发一百万美元奖金。就目前来看,这一世纪难题似乎还没有任何将要被破解的迹象。

在有向图中也可以定义哈密尔顿有向路径和哈密尔顿有向回路。最后,我们来考虑哈密尔顿回路的一个特例——骑士周游问题。

骑士周游问题(又称骑士漫游或马踏棋盘问题)是算法设计的经典问题。现在已知的关于该问题的最早记录可追溯到公元九世纪,印度诗人和文艺理论家楼陀罗托(Rudrata)在其著作《诗庄严论》中对此给出了直观的描述。欧拉是西方最早研究骑士周游问题的数学家之一。但第一个系统化解决骑士周游问题的方法则是由德国学者冯·恩斯多夫(H. C. von Warnsdorf)于1823年提出的,这个方法现在被称为恩斯多夫规则或恩斯多夫算法。

如果图G=V,E是哈密尔顿图,则它必然具备下述性质相关推荐

  1. 图论(10)欧拉图与哈密尔顿图

    目录 一.欧拉图 欧拉图与欧拉回路 欧拉图性质 Fleury算法找欧拉回路 二.哈密尔顿图 哈密尔顿图与哈密尔顿路(圈) 性质与判定 哈密尔顿图的性质定理 哈密尔顿图判定定理 闭图与闭包 邦迪--闭包 ...

  2. 【算法设计与分析】分支限界法解决单源最短路径问题:输入带权图G=(V,E)以及出发顶点s,然后用分支限界法解决问题,要求输出路径和长度以及计算时间;

    目的: 1.掌握分支限界法的基本思想: 2.掌握解决单源最短路径问题的分支限界法实现方法: 3.学会分析算法的时间复杂度: 4.学会用分支限界法解决实际问题. 要求: 1.输入带权图G=(V,E)以及 ...

  3. 图论及其应用-哈密尔顿图(alpha)

    http://www.cnblogs.com/titer1/archive/2011/04/12/2014226.html 图论及其应用-哈密尔顿图(alpha)   小结:2010-04..todo ...

  4. 图论学习--4 欧拉图与哈密尔顿图(思维导图)

    欧拉图与哈密尔顿图 Euler图 定义 经过G的每条边的迹被称为欧拉迹 迹的边,每个边只出现一次,但是点不一定,可以多次 能够闭合的迹被称为闭迹 存在欧拉闭迹的图称为欧拉图 欧拉闭迹又称为欧拉回路 欧 ...

  5. 图论(十)——欧拉图和哈密尔顿图

    一.欧拉图及其性质 两种问题背景: 对于图G,它在什么条件下满足从某点出发,经过每条边一次且仅一次,可以回到出发点 一笔画,对于一个图G, 笔不离纸, 一笔画成 \quad概念:对于连通图G,如果G中 ...

  6. 图论(12)超哈密尔顿图与超可迹图

    目录 一.超H图与超H迹 超H图 超可迹图 关于H图的一些猜想 二.E图与H图的关系 线图概念 线图性质 从线图的角度考虑欧拉图与哈密尔顿图关系(考试不作要求) 一.超H图与超H迹 超H图 彼得森图是 ...

  7. 从哈密尔顿路径谈NP问题

    1859年,爱尔兰数学家哈密尔顿(Hamilton)提出下列周游世界的游戏:在正十二面体的二十个顶点上依次标记伦敦.巴黎.莫斯科等世界著名大城市,正十二面体的棱表示连接这些城市的路线.试问能否在图中做 ...

  8. 哈密尔顿道路与哈密尔顿回路

    简介 1857年爱尔兰数学家哈密尔顿发明了"周游世界"玩具,用一个正十二面体的20个顶点表示世界上20个大城市,30条棱代表这些城市之间的道路.要求游戏者从任意一个城市(即顶点)出 ...

  9. 设无向图g如图所示_阿里重磅发布大规模图神经网络平台 AliGraph,架构算法解读...

    图神经网络 (GNN) 主要是利用神经网络处理复杂的图数据,它将图数据转换到低维空间,同时最大限度保留结构和属性信息,并构造一个用于训练和推理的神经网络.在实际应用中,为了加速 GNN 训练和新算法的 ...

最新文章

  1. 三次握手+四次挥手,一文搞定所有!历史最佳剖析!
  2. Qt的4个图像类QImage/QPixmap/QBitmap/QPicture 转
  3. Android之微信支付
  4. HDU 3507 Print Article(斜率优化DP)
  5. 如何更改Spring Boot应用程序的默认端口
  6. C#中变量(成员变量、局部变量、全局变量)的作用域
  7. linux用call调存储过程,存储过程调用其他模式的存储过程需要注意的地方
  8. 解码(四):avcodec_send_packet和avcodec_receive_frame函数讲解
  9. 【免费毕设】ASP.NET公交车管理系统的实现与设计(源代码+lunwen)
  10. 寻找指定型别的父控件
  11. Maven Build Profiles
  12. CSR867x — 说说什么是ANC、CVC、DSP降噪
  13. 电脑无法进入路由器192.168.1.1的解决办法
  14. vios接口虚拟服务器,虚拟VIOS服务器安装手册V1.0.doc
  15. 第3.1章:StarRocks数据导入--Insert into
  16. oracle pga的作用,Oracle PGA作用
  17. 如何将访问的接口去掉token验证
  18. 用 matplotlib 做交互式的票房分析
  19. 使用ANTLR进行语法分析
  20. 华为u8860 V100R001CHNC00B919版本 无法保存联系人到手机

热门文章

  1. ios开发:UINavigationController反方向滑动push
  2. 【渝粤教育】 国家开放大学2020年春季 1332中文学科论文写作 参考试题
  3. php m403n安装错误,HP LaserJet M403n驱动
  4. larval 使用redis做缓存
  5. 【转】电脑电源如何安装 (清晰大图详解电脑组装时各接口线缆细节)
  6. 浅谈零知识证明之二:简短无交互证明(SNARK)
  7. JS中可以表示数字的最大值
  8. ios网易大白Crash自动防护
  9. idea Translation插件问题 TKK: 更新 TKK 失败,请检查网络连接解决办法
  10. Java—二维码生成与识别(一)