Создает ли networkX одинаковую матрицу смежности и одинаковое расположение узлов? - PullRequest
0 голосов
/ 14 мая 2018

Я работаю с networkX, чтобы сгенерировать сотню случайных графов класса:

complete_graph()
star_graph()
balanced_tree()
wheel_graph()
watts_strogatz_graph(n, 2, 0)

l установить количество узлов n=100

для каждого класса я получу 20 примеров.

У меня следующий вопрос:

for i in numpy.arange(20):
    complete_graph=networkx.complete_graph(n)
    node_positions = networkx.spring_layout(G, scale=100)
    Adjacency = networkx.adjacency_matrix(G)

Получаю ли я 20 различных графиков с точки зрения позиции матрицы смежности и узлов, или для всех 20 графиков я получаю одинаковую матрицу смежности и позиции узлов?

1 Ответ

0 голосов
/ 14 мая 2018

Вы получаете одну и ту же матрицу смежности каждый раз, когда вызываете complete_graph(n), а именно матрицу n на n, заполненную 1. Эта и другие неслучайные конструкции графа в NetworkX каждый раз дают один и тот же результат.

Однако методы размещения не являются детерминированными.Они включают в себя процесс оптимизации со случайной начальной точкой: сначала расположите вершины случайным образом, а затем переместите их, чтобы минимизировать определенное значение «энергии».Результирующий макет графика будет отличаться для каждого вызова spring_layout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...