Python,使用图形工具生成随机图形
Python, Generating Random Graphs with 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
度采样器函数应该 return 节点的入度和出度。在您的实现中,每个节点的入度为 1,出度为 2。当然,不可能用这种度数序列构造图,因为平均入度和出度必须相同。这就是算法卡在 "fixing average degrees" 阶段的原因。
所以我试图生成一个随机有向图,这样每个顶点都有 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
度采样器函数应该 return 节点的入度和出度。在您的实现中,每个节点的入度为 1,出度为 2。当然,不可能用这种度数序列构造图,因为平均入度和出度必须相同。这就是算法卡在 "fixing average degrees" 阶段的原因。