【发布时间】:2012-02-26 17:02:42
【问题描述】:
我正在使用表示 2 人正常形式游戏(博弈论)的特定图形结构。我知道我可以通过 Tarjans 在 O(V+E) 中计算有向图的所有强连通分量,但想知道计算强连通分量的所有简单循环的复杂性是多少?并且,在给定定义强连通分量的顶点数的情况下,是否存在已知的此类简单循环数的上限?
我正在寻找与这两个问题相关的任何文献/算法。谢谢!
【问题讨论】:
标签: detection cycle graph-theory
我正在使用表示 2 人正常形式游戏(博弈论)的特定图形结构。我知道我可以通过 Tarjans 在 O(V+E) 中计算有向图的所有强连通分量,但想知道计算强连通分量的所有简单循环的复杂性是多少?并且,在给定定义强连通分量的顶点数的情况下,是否存在已知的此类简单循环数的上限?
我正在寻找与这两个问题相关的任何文献/算法。谢谢!
【问题讨论】:
标签: detection cycle graph-theory
图是有向图还是无向图? 在任何一种情况下,周期数显然可以是节点/边数的指数。例如,在一个完整的图中,从 2 到 n 的每个可能大小的每一个排列都将导致一个循环。
Johnson's algorithm 用于枚举循环(在有向图中)似乎是更有效的方法之一。鉴于您对强连接组件的循环感兴趣,因此实现比本文中描述的更容易。论文中的伪代码有点难读;这个Ocaml implementation 可能更容易处理。该算法的复杂度为O(n+e)(c+1),其中c是图中的循环数。
【讨论】: