Во-первых, вам может потребоваться какой-либо способ количественной оценки критических узлов.Для этого вы можете использовать некоторую меру центральности, возможно, центральность в вашем случае. Подробнее читайте здесь.
Далее, если вы знаете два узла, между которыми вы хотите перемещаться, вы можете использовать это как своего рода псевдокод, чтобы помочь вам туда добраться.Вы также можете перебрать все возможные пары узлов, через которые можно пройти, но это может занять некоторое время.
import NetworkX as nx
important_nodes=[]#list of important nodes
paths = nx.all_simple_paths(G, source, target)
paths=list(paths)
#This is pseudocode, next four lines could be done with list comprehension
exclusive_paths=[]
for path in paths:
if important_nodes not in path:
exclusive_paths.append(path)
Подробнее о all_simple_paths здесь .
понимание списка может выглядеть следующим образом
exclusive_paths=[x for x in paths if important_nodes not in x]