1
生成用于随机测试图算法的输入?
在测试算法时,一种常见的方法是随机测试:根据某种分布(通常是均匀的)生成大量输入,对它们运行算法并验证正确性。给定算法签名,现代测试框架可以自动生成输入,但有一些限制。 如果输入是数字,列表或字符串,则直接生成此类输入。树比较难,但仍然很容易(使用随机的无上下文语法或类似方法)。 如何有效地生成随机图?通常,随机地均匀地选择图形不是您想要的:它们应该是连接的,平面的,无循环的或具有任何其他属性。由于潜在的大量不良图集,拒绝采样似乎次优。 有哪些有用的发行版可以查看?在这里有用意味着 这些图很可能很好地测试了算法 它们可以有效地产生。 我知道有很多用于随机图的模型,因此我希望能从中获得一些最了解图的模型的见解。 如果“某些算法”过于笼统,请使用最短路径查找算法作为测试中的具体算法类别。用于测试的图应该是连通的并且相当密集(具有很高的概率,或者至少在预期中)。对于测试,最佳解决方案是围绕最短路径创建随机图,以便我们知道所需的结果(而不必采用其他算法)。