所以我有一个非定向的非加权图。它包含周期。我想找到访问大多数节点的路径,而不会重复访问任何节点。由于这是一个图遍历,您可以在任何您喜欢的节点上开始和结束。
背景研究 我看过旅行商问题(TSP);这个问题是不同的,不允许你完成从哪里开始,没有权重。我已经看了几个其他算法,但发现没有适合这个问题。
图表大小:图表中有100个节点;有10个断开的节点。
答案 0 :(得分:1)
答案 1 :(得分:0)
您应该查看具有非循环图算法的wikipedia entry。你的图表有周期,使你的问题NP难。
我会尝试使用表示强连接组件的节点创建DAG。然后,您至少可以找到访问最强连接组件的路径。然后,您可以通过用每个子图中最长的路径替换单个(强连接组件)节点来扩展该路径。
找到子图中最长的路径现在与原始问题相同,但至少你的图形较小。如果你的运气好,那么子问题就很简单了。在一般情况下,它们可能不会那么小,您可以使用一些先进的启发式方法。也许看看this paper或this question(您可以使用那里的答案来完全解决您的问题,但我不确定)