zoukankan      html  css  js  c++  java
  • 北京地铁站点遍历最少经站次数问题普遍意义上是一个NP问题,目前不存在多项式时间算法能够解决该问题

    http://www.cnblogs.com/jiel/p/5852591.html

    众所周知求一个图的哈密顿回路是一个NPC问题:
      In the mathematical field of graph theory, a Hamiltonian path (or traceable path) is a path in an undirected or directed graph that visits each vertex exactly once. A Hamiltonian cycle (or Hamiltonian circuit) is a Hamiltonian path that is a cycle. Determining whether such paths and cycles exist in graphs is the Hamiltonian path problem, which is NP-complete.
    (来源于wiki:https://en.wikipedia.org/wiki/Hamiltonian_path

    那么对于这里的-a 选项的问题,我们要求解这个问题的答案,假设我们存在一个多项式算法能够解决这个问题,并且得到答案{Len,{Station1,Station2,...}},其中Len是经过的最少站点数(重复算多个站点),后面跟着的是经过的站点名称。那么我们只需要作一个O(1)的判断:if Len==M print "Yes" else print "No" 即可完成对一个无向图是否存在哈密顿回路的判断(M为站点总数)。所以得到结论:存在一个多项式时间复杂度的算法以及一个多项式时间复杂度的转移,使得判断哈密顿回路是否存在的问题可以解决。显然与哈密顿回路是一个NPC问题矛盾。因此不存在一个多项式算法能够解决这个问题。

    不知道这个推导是否正确?如果正确,那我想这个-a 的问题在这里是无法解决的(至少不能判定精确解)。

  • 相关阅读:
    HDU 2853 (KM最大匹配)
    HDU 2852 (树状数组+无序第K小)
    HDU 2851 (最短路)
    HDU 2846 (AC自动机+多文本匹配)
    MyBatis使用示例
    Hessian示例:Java和C#通信
    SQL Server2005配置同步复制
    【问】如何应对关系型数据库中列的不断增加
    Prolog学习:数独和八皇后问题
    Prolog学习:基本概念
  • 原文地址:https://www.cnblogs.com/toka/p/5883659.html
Copyright © 2011-2022 走看看