In [3]:
import networkx as nx #Knjizica, ki jo uporabljamo za ustvarjanje in analiziranje mreze
import random
import matplotlib.pyplot as plt
import numpy as np
from IPython.display import Image

Podrobneje bomo analizirali, kakšne lastnosti ima mrežni model Watts-Strogatz, pri različnih vrednostih mrežnega parametra. Mrežo bomo opredelili glede na njeno povprečno gručavost in povprečno najkrajšo razdaljo med vozlišči

In [4]:
Image(filename='mere.png')
Out[4]:
In [16]:
N=101 #Stevilo vozlišč

L=np.zeros([N],float)
C=np.zeros([N],float)

ii=np.linspace(0.0,1.0,num=101)
avg_L=0.0
avg_C=0.0
for k in range(N):
	for j in range(5):#Večkratno generiranje mreže za bolj natančno povprečje
		G=nx.watts_strogatz_graph(100,4,float(k)/N)
		L[k]+=nx.average_shortest_path_length(G)
		C[k]+=nx.average_clustering(G)
		G.clear()


L=L/5.0
C=C/5.0
L=1.0/L

fig1 = plt.figure()
ax1 = fig1.add_subplot(111)
grucavost =ax1.plot(ii,C,'o-')
plt.ylabel("<C>")
ax2 = fig1.add_subplot(111, sharex=ax1, frameon=False)
pot = ax2.plot(ii,L, 'xr-')
ax2.yaxis.tick_right()
ax2.yaxis.set_label_position("right")
plt.ylabel("<L>")
plt.xlabel("p")
ax2.set_xscale('log')
plt.savefig("WS_res.png")
plt.show()