You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
341 lines
61 KiB
341 lines
61 KiB
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 99,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"#libraries\n",
|
|
"\n",
|
|
"import random\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import numpy as np"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 100,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#Creation of the random regular graph according to Configuration model (Bollobas paper)\n",
|
|
"\n",
|
|
"def RRG(k,N):\n",
|
|
" bool_graph = 0\n",
|
|
" while bool_graph == 0:\n",
|
|
" #print('ok')\n",
|
|
" bool_graph = 1\n",
|
|
" buckets = [[] for i in range(N)]\n",
|
|
" edges = [[] for i in range(int(N*k/2))]\n",
|
|
" edge_list = [[] for i in range(N)]\n",
|
|
" pool = [i for i in range(N*k)]\n",
|
|
"\n",
|
|
" i=0\n",
|
|
" j=0\n",
|
|
" while i<N:\n",
|
|
" if(len(buckets[i]) != k):\n",
|
|
" buckets[i].append(j)\n",
|
|
" j += 1\n",
|
|
" else:\n",
|
|
" i += 1\n",
|
|
" \n",
|
|
" for i in range(int(N*k/2)):\n",
|
|
" j = int(random.uniform(0, 1)*(N*k-2*i))\n",
|
|
" l = j\n",
|
|
" while l == j:\n",
|
|
" l = int(random.uniform(0, 1)*(N*k-2*i))\n",
|
|
" \n",
|
|
" edges[i].append(pool[j])\n",
|
|
" edges[i].append(pool[l])\n",
|
|
" if (j>l):\n",
|
|
" del pool[j]\n",
|
|
" del pool[l]\n",
|
|
" else:\n",
|
|
" del pool[l]\n",
|
|
" del pool[j]\n",
|
|
"\n",
|
|
" \n",
|
|
" for i in range(N*k): #We store the graph in a sort of compressed-row pythonic format (list of list) \n",
|
|
" for j in range(len(edges)):\n",
|
|
" if(i in edges[j]):\n",
|
|
" index = edges[j].index(i)\n",
|
|
" edge_list[int(i/k)].append(int(edges[j][1-index]/k))\n",
|
|
" \n",
|
|
" #print(edge_list)\n",
|
|
"\n",
|
|
" #I check if the graph I built is good (no multiedges/no loops), but in the limit of big N and low k,\n",
|
|
" #we could neglect this since the probability of finding such a wrong graph is .... (check paper Bollobas)\n",
|
|
"\n",
|
|
" for i in range(len(edge_list)):\n",
|
|
" for j in range(len(edge_list[i])):\n",
|
|
" temp = edge_list[i][j]\n",
|
|
" if i == edge_list[i][j]: #checking for loops\n",
|
|
" bool_graph = 0\n",
|
|
" no_element = list(edge_list[i])\n",
|
|
" del no_element[j]\n",
|
|
" for l in range(len(no_element)):\n",
|
|
" if no_element[l] == temp: #checking for multiedges\n",
|
|
" bool_graph = 0\n",
|
|
" break\n",
|
|
" del no_element\n",
|
|
" if bool_graph == 0:\n",
|
|
" break\n",
|
|
" if bool_graph == 0:\n",
|
|
" break\n",
|
|
" \n",
|
|
" if(bool_graph==0):\n",
|
|
" del buckets, edges, edge_list, pool\n",
|
|
" \n",
|
|
" return edge_list"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 101,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"#Creation of the random graph Naive way\n",
|
|
"\n",
|
|
"def ERG(p,N):\n",
|
|
" edge_list = [[] for i in range(N)]\n",
|
|
" for i in range(N):\n",
|
|
" j = i+1\n",
|
|
" while j < N:\n",
|
|
" p_trial = random.uniform(0, 1)\n",
|
|
" if p_trial <= p:\n",
|
|
" edge_list[i].append(j)\n",
|
|
" edge_list[j].append(i)\n",
|
|
" j+=1\n",
|
|
" return edge_list"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 102,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"#Computing numerically the clustering coefficient (we consider the definition 4.3 in Complex Networks)\n",
|
|
"#I do it in the naive way for the moment\n",
|
|
"\n",
|
|
"def C_numerical(edge_list):\n",
|
|
" C_i = []\n",
|
|
" for i in range(len(edge_list)): #for each i I consider the subgraph induced by the links attached to i\n",
|
|
" temp = 0\n",
|
|
" for j in range(len(edge_list[i])):\n",
|
|
" temp_edge_list_i = list(edge_list[i])\n",
|
|
" del temp_edge_list_i[j]\n",
|
|
" for l in range(len(temp_edge_list_i)):\n",
|
|
" if(edge_list[i][j] in edge_list[temp_edge_list_i[l]]):\n",
|
|
" temp += 0.5\n",
|
|
" del temp_edge_list_i\n",
|
|
" if(len(edge_list[i]) != 0 and len(edge_list[i]) != 1):\n",
|
|
" C_i.append(2*temp/(len(edge_list[i])*(len(edge_list[i])-1)))\n",
|
|
" else:\n",
|
|
" C_i.append(0)\n",
|
|
" return ((sum(C_i)/len(edge_list)))\n",
|
|
" "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 106,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#Main\n",
|
|
"\n",
|
|
"def Compare_formula_vs_algo(k,N_ens,dis):\n",
|
|
" dim_arr = [10,50,100,500,1000,5000]#,4000,5000]\n",
|
|
" C_num = [[] for i in range(len(dim_arr))]\n",
|
|
" C_num_mean = []\n",
|
|
" C_num_err = []\n",
|
|
" C_th = []\n",
|
|
" for N in dim_arr:\n",
|
|
" p = k/N\n",
|
|
" print(N)\n",
|
|
" for n in range(N_ens):\n",
|
|
" if(dis == 0):\n",
|
|
" #Graph creation from ERG\n",
|
|
" edge_list = ERG(p,N)\n",
|
|
" else:\n",
|
|
" #Graph creation from RRG\n",
|
|
" edge_list = RRG(k,N)\n",
|
|
" n+=1\n",
|
|
" \n",
|
|
" #Computing the clustering coefficient (algorithm)\n",
|
|
" C_num[dim_arr.index(N)].append(C_numerical(edge_list))\n",
|
|
" \n",
|
|
" #Calculating the average over the ensemble\n",
|
|
" C_num_mean.append(sum(C_num[dim_arr.index(N)])/N_ens)\n",
|
|
" \n",
|
|
" #Calculating the error for each value\n",
|
|
" C_num_err.append(np.std(C_num[dim_arr.index(N)]))\n",
|
|
" \n",
|
|
" if(dis == 0):\n",
|
|
" #Calculating the clustering coefficient for ERG (formula)\n",
|
|
" C_th.append(k/(N)) \n",
|
|
" else:\n",
|
|
" #Calculating the clustering coefficient for RRG (formula)\n",
|
|
" C_th.append((k-1)/(N-1))\n",
|
|
" \n",
|
|
" return (C_num_mean, C_num_err, C_th)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"10\n",
|
|
"50\n",
|
|
"100\n",
|
|
"500\n",
|
|
"1000\n",
|
|
"5000\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"ax_ERg = Compare_formula_vs_algo(4,100,0)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"10\n",
|
|
"50\n",
|
|
"100\n",
|
|
"500\n",
|
|
"1000\n",
|
|
"5000\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"ax_RRg = Compare_formula_vs_algo(4,100,1)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 92,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"ename": "NameError",
|
|
"evalue": "name 'k' is not defined",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
|
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
|
|
"\u001b[1;32m<ipython-input-92-d3889b8b50b5>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0merrorbar\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlog_dim_arr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0max\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0myerr\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfmt\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'--o'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'C from numerics'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 10\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlog_dim_arr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mN\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mN\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mN\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mN\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mdim_arr\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'.'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'C from theory'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 11\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mxlabel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Net size'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mylabel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Clustering coefficient'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[1;32m<ipython-input-92-d3889b8b50b5>\u001b[0m in \u001b[0;36m<listcomp>\u001b[1;34m(.0)\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0merrorbar\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlog_dim_arr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0max\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0myerr\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfmt\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'--o'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'C from numerics'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 10\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlog_dim_arr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mN\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mN\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mN\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mN\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mdim_arr\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'.'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'C from theory'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 11\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mxlabel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Net size'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mylabel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Clustering coefficient'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[1;31mNameError\u001b[0m: name 'k' is not defined"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#Plots for ER random graphs\n",
|
|
"#Remember to specify the mean degree of the graph\n",
|
|
"\n",
|
|
"dim_arr = [10, 50, 100, 500, 1000, 5000]#,4000,5000]\n",
|
|
"log_dim_arr = np.log10(np.asarray(dim_arr))\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"plt.errorbar(log_dim_arr, ax_ERg[0], yerr=ax_ERg[1], fmt='--o', label='C from numerics')\n",
|
|
"plt.plot(log_dim_arr, ax_ERg[2], '.', label='C from theory')\n",
|
|
"plt.xlabel('Net size')\n",
|
|
"plt.ylabel('Clustering coefficient')\n",
|
|
"plt.title('Comparison clustering coefficient numerics vs theory ERG')\n",
|
|
"plt.legend()\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 97,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x2e632fa1198>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"#Plots for random regular graphs\n",
|
|
"#Remember to specify the mean degree of the graph\n",
|
|
"\n",
|
|
"dim_arr = [10, 50, 100, 500, 1000, 5000]#,4000,5000]\n",
|
|
"log_dim_arr = np.log10(np.asarray(dim_arr))\n",
|
|
"\n",
|
|
"plt.figure(figsize=(20,10))\n",
|
|
"\n",
|
|
"plt.errorbar(log_dim_arr, ax_RRg[0], yerr=ax_RRg[1], fmt='--o', label='C from numerics')\n",
|
|
"plt.plot(log_dim_arr, [(4-1)*(N-2)/((N-1)*(N-1)) for N in dim_arr], '.', label='C from theory 1')\n",
|
|
"plt.plot(log_dim_arr, [(4-1)/(N-1) for N in dim_arr], 'x', label='C from theory 2')\n",
|
|
"plt.xlabel('Net size')\n",
|
|
"plt.ylabel('Clustering coefficient')\n",
|
|
"plt.title('Comparison clustering coefficient numerics vs theory RRG')\n",
|
|
"plt.legend()\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"#It seems the theory always overstimates the true value, is that possible? why?"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python [default]",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.6.2"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|
|
|