Revision 3673c3e8 fiddle/heuristicbetweennesscentrality/betweenness_centrality.py
fiddle/heuristicbetweennesscentrality/betweenness_centrality.py  

211  211 
print "ERROR in get_value_from_traffic_matrix" 
212  212 
return 1 
213  213  
214 
def _accumulate_basic(betweenness, S, P, sigma, s, traffic_matrix, nodes): 

215 
delta = dict.fromkeys(S, 0) 

216 
while S: 

217 
w = S.pop() 

218 
coeff = (1.0 + delta[w]) / sigma[w] 

219 
for v in P[w]: 

220 
h = _get_value_from_traffic_matrix(nodes, traffic_matrix, s, v) 

221 
delta[v] += sigma[v] * coeff + h 

222 
if w != s: 

223 
betweenness[w] += delta[w] 

224  
225  
226  214 
def _accumulate_weight_basic(betweenness, S, P, sigma, s): 
227  215 
r"""Accumlate the BC score. 
228  216  
...  ...  
235  223 
.. [1] Rami Puzis 
236  224 
Optimization of NIDS Placement for Protection of Intercommunicating Critical Infrastructures 
237  225 
""" 
226 
# betweenness[s] += len(S)  1 

238  227 
delta = dict.fromkeys(S, 0) 
239  228 
while S: 
240  229 
w = S.pop() 
241 
if w != s: 

242 
delta[w] += 1 # this is the h, when w != s, then h(s, w) = 1


230 
# if w != s:


231 
delta[w] += 1 # this is the h, when w != s, then h(s, w) = 1 

243  232 
coeff = delta[w] / sigma[w] 
244  233 
for v in P[w]: 
245  234 
delta[v] += sigma[v] * coeff 
...  ...  
255  244 
.. [1] Rami Puzis 
256  245 
Optimization of NIDS Placement for Protection of Intercommunicating Critical Infrastructures 
257  246 
""" 
247 
# betweenness[s] += len(S)  1 

258  248 
delta = dict.fromkeys(S, 0) 
259  249 
while S: 
260  250 
w = S.pop() 
261  251 
h = _get_value_from_traffic_matrix(nodes, traffic_matrix, s, w) 
262  252 
delta[w] += h 
253  
263  254 
coeff = delta[w] / sigma[w] 
264  255  
265  256 
for v in P[w]: 
Also available in: Unified diff