Я использую сети, чтобы получить соседей каждого узла с учетом матрицы смежности.
Например :
my_graph = nx.from_numpy_matrix(adjacency_matrix)
my_graph.neighbors(0)
возвращает соседей первого узла. Другими словами, соседи первого порядка
Для этого для всех узлов я сделал следующее:
import networkx as nx
my_graph = nx.from_numpy_matrix(adjacency_matrix)
number_nodes=len(adjacency_matrix)
for z in np.arange(number_nodes):
indexes = [n for n in my_graph.neighbors(z)]
Что я ищу?
функция, позволяющая получить соседей второго, третьего n-го порядка
пример :
соседи второго порядка:
Допустим, узел_1 является соседом узла_2 (соседи первого порядка); и node_2 является соседом с node_4 (соседи первого порядка) тогда: node_1 является соседом второго порядка с node_4 и соседом первого порядка с node_2:
Следовательно, ожидаемый результат node_1_neighbors = [2,4]
Соседи третьего порядка:
Допустим, узел_1 является соседом узла_2 (соседи первого порядка); и node_2 является соседом с node_4 (соседи первого порядка), а node_4 является соседом с node_5 (соседи первого порядка) тогда: node_1 является соседом третьего порядка с node_5, соседом второго порядка с node_4 и соседом первого порядка с node_2:
Следовательно, ожидаемый результат node_1_neighbors = [2,4,5]
Спасибо
Я хотел бы получить соседей данного узла с определенными переходами: 2 перехода, 3 перехода, ..., n-переходов
См. stackoverflow.com/questions/18393842/…
Возможный дубликат Соседи k-го порядка в графе - Python networkx
В чем конкретно ваша проблема?