在大图中查找神经元点2的算法

时间:2012-07-25 16:13:53

标签: algorithm graph graph-algorithm

假设我有一个大的任意连接顶点图,如下所示。假设这些是网络连接。一些连接(用红色着色)比其他连接更容易损坏。如果两个红色连接失败,则许多点与剩余岛屿的成员之间没有更多连接。

如何找到这些神经连接?

是否有现有算法?

graph sample

2 个答案:

答案 0 :(得分:1)

您想知道Edge Connectivity。在你的情况下,你似乎只关心图形是2边连接,这种情况可能有特定的算法,但我不确定。这是一个我认为应该有效的简单算法:

For all edges, E, in your graph, G:
  Remove E from G.
  Find any path, P, from src(E) to dst(E).
  Remove all edges in P from G.
  Find a path from src(E) to dst(E),
    if none exists then E is one of your important edges.

这不是很快,但需要O(E *(E + V)),如果你的图是平面的,那么这不是太糟糕,因为O(E)== O(V),因此需要时间O(V ^ 2)。如果您的图表连接得更多,那么这可能与O(V ^ 4)一样糟糕,这可能是令人望而却步的。

答案 1 :(得分:0)

我想说你需要关注流量网络:http://en.wikipedia.org/wiki/Flow_network