【问题标题】:How to experimentally simulate and compare various graph cycle detection algorithms?如何通过实验模拟和比较各种图循环检测算法?
【发布时间】:2016-11-18 23:04:53
【问题描述】:

我研究了有向图中的循环检测算法的各种算法,如增量路搜索,强连通分量,BFS,双向搜索等。现在我想模拟它并比较性能。每当我插入边缘时,我都会调用循环检测函数。

所以,我的问题是我应该考虑什么样的数据集。如果我考虑随机图,那么评估各种算法的标准应该是什么。一些随机图可能很大;但它们可能会导致几次迭代中的循环。如果有人可以建议如何去做这将很有帮助。

另外,为了比较性能,删除循环然后再次继续插入是否有意义。一旦它终止,比较所有实现的执行时间?

【问题讨论】:

    标签: algorithm graph cycle-detection


    【解决方案1】:

    这真的取决于你这样做的目的。一般来说,有很多随机图生成方法,但可以说最著名的是Erdos-Renyi。但是请注意,对于具有 n 个顶点的图没有循环,它必须最多具有 n - 1 条边,因此此类随机图生成器将具有高概率的循环。根据您的具体情况,您可能会发现最好使图形尽可能稀疏(即允许少数边)。

    【讨论】:

    • 但是为了比较不同算法的性能,应该考虑最坏的情况,即更多的边缘插入。另外,为了比较性能,删除循环然后再次继续插入是否有意义。一旦它终止,比较所有实现的执行时间?
    猜你喜欢
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 2011-09-17
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多