評価関数サンプル(媒介度)の続きです。
有向グラフにおいてminisum評価の基になる、各ノードからの他のすべてのノードに行く距離の合計の求め方
#sum to go
for n in g.nodes:
n.sumdistance = 0
for n in g.nodes:
g.Dijkstra(n)
for nn in g.nodes:
n.sumdistance += nn.cost
for n in g.nodes:
print n.sumdistance
有向グラフにおいてminisum評価の基になる、各ノードへの他のすべてのノードから来る距離の合計の求め方(超絶微妙な違いわかります?)
#sum to come
for n in g.nodes:
n.sumdistance = 0
for n in g.nodes:
g.Dijkstra(n)
for nn in g.nodes:
nn.sumdistance += nn.cost
for n in g.nodes:
print n.sumdistance
以下のように続ければ、数値の高いノードほどminisum近接性が高いということになります
import sys
maxsumdist = sys.float_info.min
for n in g.nodes:
if maxsumdist < n.sumdistance:
maxsumdist = n.sumdistance
for n in g.nodes:
print n.name, 1. / (n.sumdistance / maxsumdist)
if maxsumdist < n.sumdistance:
maxsumdist = n.sumdistance
print "maxsumdist", maxsumdist
Comments are closed.