在有向图中找到具有最大权重的电路的算法是什么?
What is an algorithm to find the circuit with max weight in a directed graph?
第一个问题是我找不到一个算法,给定一个有向图作为输入,给出一个包含图中所有循环的列表作为输出。 (这道题应该是NP完全的)。
考虑了一会儿这个问题后,我意识到我真正需要的可能是找到具有最大权重(边的权重之和)的电路(它可以有重复的顶点但不能有重复的边)。
这应该也是一个 NP 完全问题,一种处理方法可能是列出图中存在的所有电路,然后按边权重之和对它们进行排序。
您是否知道某种算法可以输出 有向 图中所有电路的列表?或者找到最大权重的电路?
我找到了这个,但这不是我需要的。
http://epubs.siam.org/doi/abs/10.1137/0205007
但是您确认这些问题的计算复杂度吗?
你可以做某事。喜欢这里:Finding all cycles in a directed graph.
您对每个节点执行此搜索并将其并行化以减少运行时间。之后,您将有效的 sort-algorithm 应用于循环列表,其中每个循环都是一个节点列表。排序算法可能是我的 Mergesort 或 Quicksort,但选择你喜欢的..
我希望这能让你进步。
第一个问题是我找不到一个算法,给定一个有向图作为输入,给出一个包含图中所有循环的列表作为输出。 (这道题应该是NP完全的)。
考虑了一会儿这个问题后,我意识到我真正需要的可能是找到具有最大权重(边的权重之和)的电路(它可以有重复的顶点但不能有重复的边)。
这应该也是一个 NP 完全问题,一种处理方法可能是列出图中存在的所有电路,然后按边权重之和对它们进行排序。
您是否知道某种算法可以输出 有向 图中所有电路的列表?或者找到最大权重的电路?
我找到了这个,但这不是我需要的。
http://epubs.siam.org/doi/abs/10.1137/0205007
但是您确认这些问题的计算复杂度吗?
你可以做某事。喜欢这里:Finding all cycles in a directed graph.
您对每个节点执行此搜索并将其并行化以减少运行时间。之后,您将有效的 sort-algorithm 应用于循环列表,其中每个循环都是一个节点列表。排序算法可能是我的 Mergesort 或 Quicksort,但选择你喜欢的..
我希望这能让你进步。