Random_walks/main.ipynb

317 lines
95 KiB
Plaintext
Raw Permalink Normal View History

2021-06-28 11:15:03 +02:00
{
"cells": [
{
"cell_type": "code",
2021-06-28 11:16:57 +02:00
"execution_count": 7,
2021-06-28 11:15:03 +02:00
"id": "3580fb47",
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"import numpy as np\n",
"import networkx as nx\n",
"import sklearn.preprocessing\n",
"from matplotlib.pylab import show, cm, axis\n",
"\n",
"def draw(G, A, cluster_map):\n",
"\n",
" graph = nx.Graph(G)\n",
" clust_map = {}\n",
" for k, vals in cluster_map.items():\n",
" for v in vals:\n",
" clust_map[v] = k\n",
"\n",
" colors = []\n",
" for i in range(len(G.nodes())):\n",
" colors.append(clust_map.get(i, 100))\n",
" \n",
" nx.draw_networkx(graph,node_color =colors,linewidths=7)\n",
" axis(\"off\")\n",
" show(block=False)\n",
"\n",
"def normalize(A):\n",
"# Normalize the columns of the given matrix\n",
" return sklearn.preprocessing.normalize(A, norm=\"l1\", axis=0)\n",
"\n",
"def inflate(A, inflate_factor):\n",
"# Apply cluster inflation to the given matrix by raising each element to the given power.\n",
" return normalize(np.power(A, inflate_factor))\n",
"\n",
"def expand(A, expand_factor):\n",
"# Apply cluster expansion to the given matrix by raising the matrix to the given power.\n",
" return np.linalg.matrix_power(A, expand_factor)\n",
"\n",
"def add_diag(A, mult_factor):\n",
"# Add self-loops to the matrix by setting the diagonal to 1\n",
" return A + mult_factor * np.identity(A.shape[0])\n",
"\n",
"def get_clusters(A):\n",
" clusters = []\n",
" for i, r in enumerate((A>0).tolist()): # Pętla po każdym node, jeśli nie jest listą samych \n",
" # False to dodajemy do tablicy klastrów\n",
" if r[i]:\n",
" clusters.append(A[i,:]>0)\n",
" clust_map ={}\n",
" for cn , c in enumerate(clusters): # Pętla po tablicy klastrów i zamiana wartości True na dany węzęł\n",
" for x in [ i for i, x in enumerate(c) if x ]:\n",
" clust_map[cn] = clust_map.get(cn, []) + [x]\n",
" return clust_map\n",
"\n",
"def stop(M, i):\n",
" if i%5==4:\n",
" m = np.max( M**2 - M) - np.min( M**2 - M)\n",
" if m==0:\n",
" print(\"Stop at iteration %s\" % i)\n",
" return True\n",
" return False\n",
"\n",
"\n",
"def mcl(M, max_loop = 10):\n",
" expand_factor = 2\n",
2021-06-28 11:16:57 +02:00
" inflate_factor = 2\n",
2021-06-28 11:15:03 +02:00
" M = add_diag(M, 1)\n",
" M = normalize(M)\n",
" \n",
" for i in range(max_loop):\n",
" M = expand(M, expand_factor)\n",
" M = inflate(M, inflate_factor)\n",
" \n",
" if stop(M, i): break\n",
"\n",
" clusters = get_clusters(M)\n",
" return M, clusters\n",
"\n",
"def networkx_mcl(G, max_loop = 50):\n",
" A = nx.adjacency_matrix(G)\n",
2021-06-28 11:16:57 +02:00
" return mcl(np.array(A.todense()), max_loop)\n",
2021-06-28 11:15:03 +02:00
"\n",
"\n",
"def calculate_and_draw(Graph): \n",
" M = nx.to_numpy_matrix(Graph)\n",
" print(\" number of nodes: %s\\n\" % M.shape[0])\n",
" \n",
" M, clusters = networkx_mcl(Graph)\n",
" [print(key, \": \", value) for key, value in clusters.items()]\n",
" \n",
" draw(Graph, M, clusters)\n",
"\n",
"\n",
"# https://networkx.org/documentation/stable/reference/generators.html"
]
},
{
"cell_type": "code",
2021-06-28 11:16:57 +02:00
"execution_count": 8,
2021-06-28 11:15:03 +02:00
"id": "dying-impact",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" number of nodes: 16\n",
"\n",
"Stop at iteration 14\n",
"0 : [0, 1]\n",
"1 : [2, 3]\n",
"2 : [4, 5]\n",
"3 : [6, 7]\n",
"4 : [8, 9]\n",
"5 : [10, 12]\n",
"6 : [11, 13]\n",
"7 : [14, 15]\n"
]
},
{
"data": {
2021-06-28 11:16:57 +02:00
"image/png": "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
2021-06-28 11:15:03 +02:00
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"G_bin = nx.binomial_tree(4) # Returns the Binomial Tree of order n.\n",
"calculate_and_draw(G_bin)"
]
},
{
"cell_type": "code",
2021-06-28 11:16:57 +02:00
"execution_count": 9,
2021-06-28 11:15:03 +02:00
"id": "wooden-harbor",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" number of nodes: 15\n",
"\n",
"0 : [0, 1, 3, 7, 8]\n",
"1 : [0, 1, 4, 9, 10]\n",
"2 : [0, 2, 5, 11, 12]\n",
"3 : [0, 2, 6, 13, 14]\n"
]
},
{
"data": {
2021-06-28 11:16:57 +02:00
"image/png": "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
2021-06-28 11:15:03 +02:00
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"G_balanced = nx.balanced_tree(2,3) # Returns the perfectly balanced r-ary tree of height h.\n",
"calculate_and_draw(G_balanced)"
]
},
{
"cell_type": "code",
2021-06-28 11:16:57 +02:00
"execution_count": 10,
2021-06-28 11:15:03 +02:00
"id": "perceived-principal",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" number of nodes: 31\n",
"\n",
"0 : [0, 1]\n",
"1 : [0, 2]\n",
"2 : [3, 7, 15, 16]\n",
"3 : [3, 8, 17, 18]\n",
"4 : [4, 9, 19, 20]\n",
"5 : [4, 10, 21, 22]\n",
"6 : [5, 11, 23, 24]\n",
"7 : [5, 12, 25, 26]\n",
"8 : [6, 13, 27, 28]\n",
"9 : [6, 14, 29, 30]\n"
]
},
{
"data": {
2021-06-28 11:16:57 +02:00
"image/png": "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
2021-06-28 11:15:03 +02:00
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"G_balanced = nx.balanced_tree(2,4) # Returns the perfectly balanced r-ary tree of height h.\n",
"calculate_and_draw(G_balanced)"
]
},
{
"cell_type": "code",
2021-06-28 11:16:57 +02:00
"execution_count": 17,
2021-06-28 11:15:03 +02:00
"id": "excellent-bulletin",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" number of nodes: 10\n",
"\n",
2021-06-28 11:16:57 +02:00
"0 : [0, 1]\n",
"1 : [0, 2]\n",
"2 : [0, 6]\n",
"3 : [5, 7]\n",
"4 : [3, 4, 8]\n",
"5 : [5, 9]\n"
2021-06-28 11:15:03 +02:00
]
},
{
"data": {
2021-06-28 11:16:57 +02:00
"image/png": "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
2021-06-28 11:15:03 +02:00
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"G_gn = nx.gn_graph(10) # (Directed) Returns the growing network (GN) digraph with n nodes.\n",
"calculate_and_draw(G_gn)"
]
},
{
"cell_type": "code",
2021-06-28 11:16:57 +02:00
"execution_count": 15,
2021-06-28 11:15:03 +02:00
"id": "acting-flight",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" number of nodes: 10\n",
"\n",
2021-06-28 11:16:57 +02:00
"Stop at iteration 19\n",
"0 : [1, 2, 6]\n",
"1 : [3]\n",
"2 : [4, 5, 8, 9]\n",
"3 : [0, 7]\n"
2021-06-28 11:15:03 +02:00
]
},
{
"data": {
2021-06-28 11:16:57 +02:00
"image/png": "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
2021-06-28 11:15:03 +02:00
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"G_tree = nx.random_tree(10) # Returns a uniformly random tree on n nodes.\n",
"calculate_and_draw(G_tree)\n"
]
2021-06-28 11:16:57 +02:00
},
{
"cell_type": "code",
"execution_count": null,
"id": "loved-north",
"metadata": {},
"outputs": [],
"source": []
2021-06-28 11:15:03 +02:00
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 5
}