Стандартное отклонение кратчайших путей в сетиx - PullRequest
0 голосов
/ 14 июня 2019

networkx.average_shortest_path_length (G) дает среднее значение кратчайших путей между всеми парами узлов.Я хочу стандартное отклонение всех этих кратчайших путей.Есть ли встроенный метод в пакете networkx?

Мне известно об использовании nx.all_pairs_shortest_path_length (G), который дает словарь всей длины кратчайшего пути.Я надеялся, что у networkx вместо этого есть какой-то встроенный метод, поскольку у него уже есть метод для вычисления среднего.

1 Ответ

0 голосов
/ 14 июня 2019

Текущая версия программного обеспечения (2,4rc1 на момент написания) не имеет такого метода.

Вы можете проверить список методов, доступных в этом контексте, здесь: https://networkx.github.io/documentation/latest/reference/algorithms/shortest_paths.html#module-networkx.algorithms.shortest_paths.unweighted

В связи с тем, что вычисление длины кратчайшего пути может быть выполнено множеством алгоритмических средств, и каждый изу них есть список их собственных специфических недостатков, такой метод на самом деле не имеет смысла с точки зрения того, что NetworkX предназначается, или цели достичь.В зависимости от того, как вы хотите рассчитать кратчайший путь, вы должны реализовать для него собственную функцию, которая затем может обойти эти ограничения в пределах конкретного графика, с которым вы работаете.

Вы можете легко рассчитать его по словарю, который уже предоставляет NetworkX.

import numpy as np
import networkx as nx

Pairs = nx.all_pairs_shortest_path_length(G)
np.std(Pairs)

Подробнее о numpy.std здесь: https://docs.scipy.org/doc/numpy/reference/generated/numpy.std.html

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