Пример #1
0
#graph of ER
er_graph = er_algorithm(len(cn_graph.keys()), 0.002)
#print er_graph
print edges_in_undirected_graph(er_graph)

#graph of UPA
upa_graph = get_upa_graph(len(cn_graph.keys()), 2)
print edges_in_undirected_graph(upa_graph)

#random attack
cn_attack_order = random_order(cn_graph)
er_attack_order = random_order(er_graph)
upa_attack_order = random_order(upa_graph)

#resilience for different graphs
cn_resilience = pj2.compute_resilience(aa2p.copy_graph(cn_graph), cn_attack_order)
er_resilience = pj2.compute_resilience(aa2p.copy_graph(er_graph), er_attack_order)
upa_resilience = pj2.compute_resilience(aa2p.copy_graph(upa_graph), upa_attack_order)

#making comparison plots
fig, ax = plt.subplots()

print len(cn_resilience)
x_vals = [idx for idx in range(len(cn_graph.keys()) + 1)]
print len(x_vals)

ax.plot(x_vals, cn_resilience, '-b', label = 'computer network')
ax.plot(x_vals, er_resilience, '-r', label = 'ER graph (p = 0.002)')
ax.plot(x_vals, upa_resilience, '-g', label = 'UPA graph (m = 2)')
ax.legend(loc = 'upper right')
ax.set_title('Resiliences of different models ')