具有度序列的随机图

Random graph with degree sequence

我正在使用图形工具来尝试生成具有一系列度数的随机图形。例如,在一个 3 节点图中,我生成了一个随机图,其中所有节点的输入度数为 1,输出度数为 1。

>>> import graph_tool.all as gt

>>> def deg_sampler():
...         return 1,1

>>> g = gt.random_graph(3,deg_sampler,parallel_edges=True, self_loops=False)

>>> gt.graph_draw(g)

我可以生成一个随机图来定义每个节点的输入和输出度吗?例如输入度数(1, 2, 0) 和输出度数(1, 0, 2) 的树节点。

度数采样器可以带一个可选的参数对应顶点的索引,然后你可以使用它来return具体的度数:

kin = [1, 2, 0]
kout = [1, 0, 2]

g = random_graph(3, lambda i: (kin[i], kout[i]))