在无向图中可以遍历每个节点一次的最大节点数是多少?

时间:2012-11-23 18:45:51

标签: graph tree nodes traversal graph-traversal

所以我有一个非定向的非加权图。它包含周期。我想找到访问大多数节点的路径,而不会重复访问任何节点。由于这是一个图遍历,您可以在任何您喜欢的节点上开始和结束。

背景研究 我看过旅行商问题(TSP);这个问题是不同的,不允许你完成从哪里开始,没有权重。我已经看了几个其他算法,但发现没有适合这个问题。

图表大小:图表中有100个节点;有10个断开的节点。

更新:我已将其移至:https://math.stackexchange.com/questions/243375/what-is-the-maximum-number-of-nodes-i-can-traverse-in-an-undirected-graph-visiti

2 个答案:

答案 0 :(得分:1)

寻找汉密尔顿循环问题

http://en.wikipedia.org/wiki/Hamiltonian_cycle

答案 1 :(得分:0)

您应该查看具有非循环图算法的wikipedia entry。你的图表有周期,使你的问题NP难。

我会尝试使用表示强连接组件的节点创建DAG。然后,您至少可以找到访问最强连接组件的路径。然后,您可以通过用每个子图中最长的路径替换单个(强连接组件)节点来扩展该路径。

找到子图中最长的路径现在与原始问题相同,但至少你的图形较小。如果你的运气好,那么子问题就很简单了。在一般情况下,它们可能不会那么小,您可以使用一些先进的启发式方法。也许看看this paperthis question(您可以使用那里的答案来完全解决您的问题,但我不确定)