Согласно do c, all_simple_paths
найдите все пути между двумя заданными узлами, которые отсутствуют в вашем коде. И я думаю, что вы можете неправильно понять, что делает partial
. Насколько я понимаю, partial
повторяет выполнение функции (1-й аргумент) несколько раз (2-й аргумент).
Один из способов найти все пути в сети - найти все возможные пары узлов, а затем пути, соединяющие пары.
Пример:
from itertools import combinations
import numpy as np
import networkx as nx
a = np.array([
[0, 1, 0, 1, 0, 0],
[1, 0, 1, 0, 0 ,0],
[0, 1, 0, 1, 0, 0],
[1, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 1],
[0, 0, 0, 0 ,1, 0]
])
g = nx.from_numpy_array(a)
for x, y in combinations(g.nodes, 2):
for p in nx.all_simple_paths(g, x, y):
print(p)
# Output
# [0, 1]
# [0, 3, 2, 1]
# [0, 1, 2]
# [0, 3, 2]
# [0, 1, 2, 3]
# [0, 3]
# [1, 0, 3, 2]
# [1, 2]
# [1, 0, 3]
# [1, 2, 3]
# [2, 1, 0, 3]
# [2, 3]
# [4, 5]