Graph 如何在无向加权图中找到最长(最重)的轨迹?

Graph 如何在无向加权图中找到最长(最重)的轨迹?,graph,trail,Graph,Trail,我有一张美国空间地图,用权重(距离)连接城市。我想在这张地图上找到最长(最重)的路线 每个边访问0或1次 每个节点可以访问[0,inf]次 不需要访问所有节点或边 方法和序言资源建议可以。我不知道我是否正确,但您可以尝试以下方法: 你可以检查这个图是否是欧拉图。如果是,你的问题是找到欧拉回路,这可以在多项式时间内完成 否则你就有问题了,因为如果我没有错的话,你必须找到最大(可能是诱导的)欧拉子图,这是NP难的 当然,一切都假设所有权重都是非负的。听起来像是旅行推销员,但我们不需要访问此问题中

我有一张美国空间地图,用权重(距离)连接城市。我想在这张地图上找到最长(最重)的路线

  • 每个边访问0或1次
  • 每个节点可以访问[0,inf]次
不需要访问所有节点或边


方法和序言资源建议可以。

我不知道我是否正确,但您可以尝试以下方法:

  • 你可以检查这个图是否是欧拉图。如果是,你的问题是找到欧拉回路,这可以在多项式时间内完成

  • 否则你就有问题了,因为如果我没有错的话,你必须找到最大(可能是诱导的)欧拉子图,这是NP难的


  • 当然,一切都假设所有权重都是非负的。

    听起来像是旅行推销员,但我们不需要访问此问题中的所有城市。您不想访问所有城市,但希望访问尽可能多的边缘,因为这就是约束所在。将您的边缘视为城市,它将成为trav我几秒钟前就这么想了,但现在我看到旅行推销员想要访问所有的城市(在本例中是所有的边缘),但这个问题是它的一个放松版本。有没有办法解决TSP,从而消除“所有城市”的约束?