Вычисление подмножества центральности граничной близости - PullRequest
0 голосов
/ 02 октября 2019

В простом графике с 5 узлами, подобными этому:

g=nx.Graph()
e=[(1,2),(1,3),(2,4),(2,5),(5,3)]
g.add_edges_from(e)

Если я запусту nx.edge_betweenness_centrality_subset(g,[2],[3]), результат будет:

{(1, 2): 0.25, (1, 3): 0.25, (2, 4): 0.0, (2, 5): 0.25, (3, 5): 0.25}

Однако, исходя из определения,подмножество между (1,2),(1,3),(2,5) и (3,5) должно составлять 0.5, поскольку между узлами 2 (источник) и 3 (цель) есть два кратчайших пути, и каждый из этих путей лежит на одном из них, поэтому он должен основываться на 1/2по формуле. Пожалуйста, помогите мне понять результаты.

Ответы [ 2 ]

0 голосов
/ 03 октября 2019

Это известная проблема, в которой вводится коэффициент 2.

https://github.com/networkx/networkx/issues/3481

Документация обновляется в версии 2.4, чтобы объяснить, что такое расчет. Билет был закрыт 4 ранее на этой неделе, поэтому я ожидаю, что он скоро будет окончательно оформлен.

0 голосов
/ 02 октября 2019

Похоже, что 2 кратчайших пути имеют длину 2 ребра, и ожидаемое значение 0,5 (1 из 2 путей) снова делится (1 из 2 ребер), что приводит к 0,25 для каждого ребра.

Просто предположение.

...