評価関数サンプル(媒介度)の続きです。
有向グラフにおいて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.