我正在开发一个程序,使用蒙特卡罗模拟方法来找到进化图论的性质。其中一个主要功能是能够生成均匀分布的随机图,以便我们可以确定图的一般属性。对于连通无向图的情况,我已经实现了此答案中概述的解决方案。
然而,对于有向图,生成从Wilson算法获得的单向均匀生成树并不能保证图是强连通的,并且似乎添加额外的边以使生成树双向化会引入偏差。
我觉得我可能漏掉了一些明显的东西/误解了一些东西,但我的请求基本上是:是否有人能向我推荐一个高级方案,使我能够生成强连通、均匀分布的随机有向图?
我正在开发一个程序,使用蒙特卡罗模拟方法来找到进化图论的性质。其中一个主要功能是能够生成均匀分布的随机图,以便我们可以确定图的一般属性。对于连通无向图的情况,我已经实现了此答案中概述的解决方案。
然而,对于有向图,生成从Wilson算法获得的单向均匀生成树并不能保证图是强连通的,并且似乎添加额外的边以使生成树双向化会引入偏差。
我觉得我可能漏掉了一些明显的东西/误解了一些东西,但我的请求基本上是:是否有人能向我推荐一个高级方案,使我能够生成强连通、均匀分布的随机有向图?
有人能够推荐一个高级方案,使我能够生成强连通、均匀分布的随机二分图吗?
我曾经遇到过类似的问题,需要生成测试数据的表达式树。我发现,如果你找出如何计算唯一树的数量,问题就变得容易了。我的意思是,我发现对于具有N个内部节点的完全二叉树,基于N的唯一树的数量是卡特兰数。然后对于具有N个总节点的带有一元分支的二叉树,基于N的唯一树的数量是莫茨金数。
然后我找到了整数序列在线百科全书®。因此,如果您知道一个可以唯一标识图形的值N,并且您知道相应的唯一图形计数,并将这些计数放入OEIS搜索中,您应该会得到一个页面,可以帮助您进行搜索。例如,对于完全二叉树,使用卡特兰数或莫兹金数。在此过程中,我发现生成它们的关键之一是递归关系。rooted
、labeled
、cyclic
等。我希望发布悬赏的人能够明确哪个是正确的OEIS序列。如果他们这样做了,那么我会更努力地工作。 - Guy Coder