Python,使用图形工具生成随机图

时间:2015-12-03 17:47:30

标签: python graph graph-tool

所以我试图生成一个随机有向图,使每个顶点有3个节点和1个节点。但是图形工具似乎陷入了deg_sampler()函数。

from graph_tool.all import *

def deg_sampler():
    return 1,2
g = random_graph(1000,deg_sampler,verbose=True)

运行代码后出现此错误

adding vertices: 1000 of 1000 (100%)
fixing average degrees. Total degree difference: 1000^CTraceback (most recent call last):
  File "code.py", line 6, in <module>
    g = random_graph(1000,deg_sampler,verbose=True)
  File "/usr/lib/python2.7/dist-packages/graph_tool/generation/__init__.py", line 384, in random_graph
    _get_rng(), verbose, True)
  File "/usr/lib/python2.7/dist-packages/graph_tool/generation/__init__.py", line 379, in <lambda>
    sampler = lambda i: deg_sampler()
KeyboardInterrupt

1 个答案:

答案 0 :(得分:1)

度数采样器函数应返回节点的入度和出度。在您的实现中,每个节点的度数为1,出度为2.当然,不可能构造具有该度数序列的图,因为平均入度和出度必须相同。这就是为什么算法陷入&#34;固定平均度数&#34;相。