Случайный граф с последовательностью степеней - PullRequest
0 голосов
/ 03 октября 2019

Я использую Graph-Tool, чтобы попытаться сгенерировать случайные графы с последовательностью градусов. Например, в трехузловом графе я сгенерировал случайный граф со всеми узлами с входными градусами 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).

1 Ответ

0 голосов
/ 09 октября 2019

Сэмплер степени может принимать необязательный параметр, соответствующий индексу вершины, который затем можно использовать для возврата определенной степени:

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

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