zoukankan      html  css  js  c++  java
  • 旅行商问题(TSP)、最长路径问题与哈密尔顿回路之间的联系(归约)

    一,旅行商问题与H回路的联系(H回路 定义为 哈密尔顿回路)

    旅行商问题是希望售货员恰好访问每个城市一次,最终回到起始城市所用的费用最低,也即判断图中是否存在一个费用至多为K的回路。(K相当于图中顶点的个数)

    由于售货员可以从某个城市到其他任何一个城市。因此,该问题对应的是一个完全图(设为G)。而关于判断哈密尔顿回路的图(设为G)并不一定为完全图,因此,在将哈密尔顿回路问题归约到旅行商问题时,定义一个费用函数(详情参考《算法导论第二版中文版》第626页。

    通过这个费用函数,将判断G是否存在一个费用至多为K的路径转化为G中是否有哈密尔顿回路。

    二,最长路径问题与H回路的联系

    图的最长路径:若一条路径包含了图中所有的顶点且各个顶点只包含一次,那么它就是一条最长路径。(如果有回路或圈则某个顶点一定会出现在路径中出现了两次)

    哈密尔顿回路问题对应的图为G,最长路径问题对应的图为G′,那么将哈密尔顿回路问题归约到最长路径问题,实质上是已经G具有H回路(H圈),如何判断G′具有H路?

    如何根据实际要证明的已知的最长路径问题建模而成的G′,构造出G呢?-----在G′的基础上增加一个顶点V,并将G′中各个点与V连一条边,形成的图即G。

    若G中存在H圈则G′中存在H路。

    理论证明参考《图论》中的度序列定理。

  • 相关阅读:
    python写的百度贴吧相册下载
    C#的图片拼接
    删除目录下的所有".svn"文件
    centOS 6.5 yum升级 gcc4.8 然后又退回来4.4
    代理的分类简述特点
    GCC 特性整理
    纯C 实现 strpos substr strspilt str_trim
    编译putty 源码去掉 Are you sure you want to close this session? 提示
    OpenWrt tcpdump 抓包
    安卓 打飞机 app 开发 第一篇
  • 原文地址:https://www.cnblogs.com/hapjin/p/4540596.html
Copyright © 2011-2022 走看看