生成修正的小世界网络并与理论预测进行比较。
smallworld的Python项目详细描述
根据修正后的模型生成和分析小世界网络 watts-strogatz模型,其中β=1处的随机化真正等于erd_s-rényi网络模型。
在watts-strogatz模型中,每个节点重新布线其k/2 最右边的边具有概率β。这意味着每个节点都有暂停 最小度数k/2。此外,在β=1处,每个边都已重新布线。 因此,它存在的概率小于^ {EM1}$KEEE> /(^ {EM1}$NE-EEM>1),与ER模型相反。
在调整后的模型中,每对节点都与 连接概率。如果 连接的节点是d(i,j)<;=k/2,然后它们与 短期概率p_S = k / (k + β (N-1-k)),否则 与长程概率p_L = β * p_S有关。
安装
pip install smallworld
注意:smallworld只适用于python 3!
示例
在下面的示例中,您可以看到如何根据 到上面描述的模型。
fromsmallworld.drawimportdraw_networkfromsmallworldimportget_smallworld_graphimportmatplotlib.pyplotaspl# define network parametersN=21k_over_2=2betas=[0,0.025,1.0]labels=[r'$\beta=0$',r'$\beta=0.025$',r'$\beta=1$']focal_node=0fig,ax=pl.subplots(1,3,figsize=(9,3))# scan beta valuesforib,betainenumerate(betas):# generate small-world graphs and drawG=get_smallworld_graph(N,k_over_2,beta)draw_network(G,k_over_2,focal_node=focal_node,ax=ax[ib])ax[ib].set_title(labels[ib],fontsize=11)# showpl.subplots_adjust(wspace=0.3)pl.show()
可视化示例