A new efficient algorithm is presented for finding all simple cycles that satisfy a length constraint in a directed graph. When the number of vertices is non-trivial, most cycle-finding problems are of practical interest for sparse graphs only. We show that for a class of sparse graphs in which the vertex degrees are almost uniform, our algorithm can find all cycles of length less than or equal to $k$ in $O((c+n)(k-1)d^k)$ steps, where $n$ is the number of vertices, $c$ is the total number of cycles discovered, $d$ is the average degree of the graph's vertices, and $k > 1$. While our analysis for the running time addresses only a class of sparse graphs, we provide empirical and experimental evidence of the efficiency of the algorithm for general sparse graphs. This algorithm is a significant improvement over the only other deterministic algorithm for this problem known to us; it also lends itself to massive parallelism. Experimental results of a serial implementation on some large real-world graphs are presented.
翻译:显示一种新的有效算法, 以查找所有在定向图表中满足长度限制的简单周期。 当顶点数量不是三重的时, 大多数周期调查问题是只对稀有图表有实际兴趣的。 我们显示, 对于一个顶点度几乎一致的稀少图表类别, 我们的算法可以找到长度小于或等于美元( 美元) 美元( (c+n) (k-1) d ⁇ k) 级的所有周期, 其值为顶点数, 美元( c) 是所发现周期的总数, 美元( 美元) 是图形顶点的平均水平, 美元 > 1美元。 虽然我们对于运行时间的分析只涉及一个稀有图表的类别, 我们提供一般稀有图表算法效率的经验和实验证据。 这种算法比我们所知道的关于这个问题的唯一其它确定性算法有重大改进; 它本身也具有大规模平行性。 一些大型真实世界图表的序列执行的实验结果。