首页 > 解决方案 > 如何创建具有给定指数 gamma 的幂律分布无标度网络

问题描述

我已经使用此站点上的方法创建了一个配置序列, https://cs.stackexchange.com/questions/55342/how-to-generate-a-degree-sequence-of-a-degree-distribution 我得到了一个具有 1000 个节点和最小度数为 2 的度数序列。现在如何生成一个度数分布与序列显示的网络完全相同的网络?

标签: pythongraph

解决方案


如果您已经给出了度数序列,您可能应该使用 Havel 和 Hakimi 的算法:https ://en.wikipedia.org/wiki/Havel%E2%80%93Hakimi_algorithm

它通过迭代连接顶点来工作,直到度数序列被实现,或者它证明给定的度数序列无法实现(是的,这是一种可能性)。

请注意,还有一些算法可以直接生成具有幂律分布的图,而无需先间接创建度数序列,例如“森林火灾”生成器或“Barabasi-Albert 优先附件”生成器。

如果您只是想快速生成这样的图并且您了解一点 Python,NetworKit 库包含所有提到的生成器(以及更多):https ://networkit.iti.kit.edu/


推荐阅读