{ "cells": [ { "cell_type": "code", "execution_count": 1, "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, expand_factor = 2, inflate_factor = 2, max_loop = 10 , mult_factor = 1):\n", " M = add_diag(M, mult_factor)\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, expand_factor = 2, inflate_factor = 2, max_loop = 50 , mult_factor = 1):\n", " A = nx.adjacency_matrix(G)\n", " return mcl(np.array(A.todense()), expand_factor, inflate_factor, max_loop, mult_factor)\n", "\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", "execution_count": 2, "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": { "image/png": "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\n", "text/plain": [ "
" ] }, "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", "execution_count": 3, "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": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAADnCAYAAAC9roUQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAuw0lEQVR4nO3deXyUxf3A8c88OUhIgHC63PcCIqgrxCoe1TYa7zPeWq1WXWxtY6vVaH/W2kZtrdG2Eu8TtTWitlaMxgvF1gYJWo/CKveR5T5DQo5nfn/McsVk99ndZ5NN8n2/Xnmhm5nvThS+zM4z8x2ltUYIIUTbsNp7AEII0ZVI0hVCiDYkSVcIIdqQJF0hhGhDknSFEKINpbb3AITobOygdyLwCjA2yq4auBe42fIEbNcHJpKCki1jQrjHDnqnAa8DveII8xJwkeUJNLgzKpFMJOkK4ZLQDPcj4ku4uz0BXGV5AvIHtJORNV0hXGAHvd2Al3En4QL8ELjSpVgiichMV3RIdtDbCzgbmAr0BzKAbcAq4B3g7bZcF7WD3muBUpfDrgWGWZ5AvctxRTuSpCs6FDvonQxMBy4BssI0XYpJgk9ansCGBI9JAZ8BkxIQ/nzLE3gxAXFFO5HlBdEh2EFvlh30PoVJbtcQPuECjAR+Dyyxg95Ef0yfRgsJ98EntpB74goyh3/DFT8N7nn9q0W7yD1xBX3HL6bv+MWccN4qvlq0q7XY0xMzZNFeZKYrkp4d9PYHZgNT4gjzB+CXiXgwZQe9pcC1zV9/+fUdWBa89f5OautsnnzAA8CWrU1s2WYzfEgqtg0zntzK489v5dN3h7f2FkMtT2CV2+MW7UP26YqkZge92UA54Isz1I1APXBb3IP6thbHdvYp2QDM/6yOVdV7l5dzeqWQ0ysFAK01KSnwzdKwu8N8mLVq0QlI0hXJ7nHiT7i73WoHvZ9ZnkCZS/F26xdLpz7jFrOjxsa24Y4b+4ZtGtuwRDKSpCuSlh30HgWc53LYEjvofdXlgwfpsXTatGg0NTttnnlxG8OGpIVr2i22YYlkJA/SRDL7cQJiDgbOcDnm1lg7ZnW3uOayXlx+fZB1Gxpdjy+SjyRdkZTsoNcDnNP89dZ2BOzrzvs2kjLwa97+YGdr4d3eEbAsns62DTtrNaurW026y+OJL5KLJF2RrC6hheWvgQekUvSzPlxxQc8WOy1eVs9Lr+1g4AEp4WIfZwe9I90ZJgBvtfRiY6Omrs6mqQmamqCuzqaxUVMxp4YFn9fR1KTZtr2Jn/96Pb17WUwY2+IqxSZgvotjFe1Mkq5IVtNaevHsU7I586Rs+vZu+bfuj29Zz1239SM9TUWKf2Sc49vXs0Bt8xd/d/8mskYu5p6/bOa5WdvJGrmY392/iS3bbC72B+ntXczY7yxn8bIGZj8/mIyMFn+mx+VEWuciD9JEsjog2g5lr22nWzfFyd+LdG4CgAHRD6llliew2Q56n6dZrYTbf9GX23/R8q6EgtN6OAmtgYfjHqBIKjLTFcmqezSNt++wue2ujdx/Z3+nXRxl5ig8ALhd6+FVyxNY7HJM0c4k6YpktSOaxnfcu5FLzu3BiKFht17ta3v0Q2qd5Ql8DhS7GHId8FMX44kkIUlXJKvqaBq/O3cnf35sC4MmL2HQ5CWsXNPIBddU8/u/bHIlvkO3A8+5EKcGOM3yBFa6EEskGVnTFclqDnBu8xcbGzWNjXq/HQGpqYqKF4fQ0Li3rMLhJ63k3l/346TjW1xF0Jhi466yPAHbDnovx5SY9McYZh1wquUJzHNtYCKpyExXJKvniGJHQN8+KXgGpO75SrGgd68UsrNa/C3+uuUJrE7EoC1PoBG4Drhs46amb40/DI25pmeKJNzOTaqMiaRlB72PY25QcNvJlifwRgLi7qGUmpSaQsXyqpGFngGpVwB5rTTdADwGPGJ5AksTOSaRHCTpiqRlB72HAlVuxqyttVdmZlojEn2rhFLqVWCO1roE9pywOxToi6mlsBVYASyQCyi7Fkm6IqnZQe8MYl8f3Y/WWp9y8Zqtb76388/AnVrrhCQ7pVQuMAsYq7WuS8R7iI5Lkq5IanbQm44pYP49F8JdnzLw61mYj/MHAJdprb+MYiwKOAY4FhgE9AB2AuuBfwNvWp5AvVKqAijTWj/iwphFJyNJVyS9UCHzMiA/xhAauMHyBO4HUEop4CrMvtq7gfu11k1h3j8H+AFmxj0uzPsEq/5b99a5V1Yfs3xVozdRM2nRsUnSFR2CHfSmAr8GbgIcn4DA3LhwreUJvN78G0qpUcDTmJNkl2utv/Ugyw56rwLuJYqr1W1bN1mWuhu43fIEWk3momuSpCs6FDvoHYiZpV6DqY3bmo+AGcAsyxNo9dZHpVQKUAj8ErgFeFxrre2g18Ik28I4hvsacIHlCbRaY1J0PZJ0RYcUmvkeD+RirsvJxOwIWA28Y3kCX0QTTyl1EPAMsAb4UVP12BuAX7gw1NnAGaH9u0JI0hViN6VUOvCrH17Y8/pH7zug5YK9sbnX8gRudDGe6MAk6QqxDzvo7d7QoNekpSnHa7hOwgITLE8g4GJM0UHJMWAh9neBywkXzJ+za12OKTooSbpChIT24V7ntP1fX93OxKOX0WPUN4z9zjI+/DhsqYUr7KA3qhrBonOSKmNC7HUw4HPSsGJODbf8dgMvPOwh99AMqtdG3BmWA5wNzIxviKKjk5muEHsd5bThHfdu4rYb+vCdwzKxLMXggakMHhhxDnN0fMMTnYEkXSH28jhp1NSk+eSzOjZsbMJ7xDKG+Zbyk6J11NZGrKHjKL7o3CTpCrGXo3vT1q5voqEBZv1zB3NeHUJVxTA+/WIXv7u/1VsqdsuOf4iio5OkK8ReNU4aZWaY692vuzKHgQek0q9vCj+7Ooc33o148Cyqe99E5yRJV4i9gk4a9c5JYcigVNQ+r5kaOhGtjWlUolORpCvEXnOdNrz8/J48+MQW1m1oZPOWJh54ZDOnfD/i6sSH8Q1PdAayZUyIvT7D3FQRcdvYbYV92LCpifHTlpPRTVFwejZFP+0drstWTGFz0c5yy4uGAmcBBwG9MZPPLcAi4LXK/OL/JfL95RiwEPuwg94rMUXO3Xa/5QnEU7FMxCG3vMjCFMKfDpxO+E/57wGlwKuV+cWu10SWpCvEPkKnxlYCfdwMi9ReaDe55UWjgGeBI6PsuhC4rDK/2NXbmWVNV4h9hGrf3uBy2BJJuO0jt7xoCvAx0SdcgPHAnNzyotPcHJMkXSGasTyBp4E/uhTuDeBml2KJKOSWFx0IVAD94wiTCczKLS9y444+QJKuEK25CXggzhj/BM6VAuZtL7e8KBvz3z/HhXBpwMu55UXDXIglSVeIlliegG15Aj/DXAu0PcrujcBdwFlyVU+7uQEY6WK8nsDv3AgkD9KEiMAOensDl2NuAx7bWrsNm5oa+vVJuQd4xPIEVrbR8EQzueVFacByYKDLoeuBoZX5xeviCSL7dIWIwPIENgMldtD7AHAM8F3MH+iemKPD62t22vOGHrLkkfoGHtdaS8JtX2fSQsJd+49P2PD259QuXU+f7x7IqJ+fCoDd0MSSe/5OzddB6tdtZdw9F9Fz8vCW4qYDV2I+xcRMkq4QDlmegA28H/raTw+gvkGdBJyLuUVYtJ8ftvRiWt8eDLpgGlvnL8Gu33+ZPXviEA44cyqLi19xEjuupCtrukK4pwwoaO9BCKa19GKfaePofaSX1J6Z+71upaXgOSuXHgcNBStiShyTW140IJ7BSdIVwj3vAaOUUiPaeyBdVW55USbmg0ciHRBPZ0m6QrhEa90AvIpZYhDtw1FN5DjFVRdZkq4Q7noRWWJoT21RszjaLYT7kaQrhLtkiaEdVeYX12EqhiWSo7rLrZGkK4SLtNaNwCvIEkN7+qClF3WTjV3fiLY12KF/bjL32tn1jXt2NOiGJvO9ls8w/K8yv3hDPIOTLWNCuK8Mc3pJto4BueVFqcAwzJFchZmJrqzML65PxPs1bq99OrVH5unNX1/zwkeseW5vnfqN737JoIuPYvAlR/P5jx6hft1WAAK3/Q2AyU/56XZATvMwj8Y7PjmRJoTLlFKpQDUwVWu9rJ2H0y5yy4sUcASmfu0ZfPvhUy3wOjADeL8yvzjuRKSUGgD4sZT/kJk/6ZXWOysj3pjN1AKDK/OLN8cTRJYXhHBZV15iyC0vUrnlRecCC4CPgItp+Wl/Jua/z7vAV7nlRZeGEnXUlFIHKqUexdz8MBhbH5/WO+v22H6CsGbGm3BBkq4QiVIGnNfeg2hLoZoHj2B+9oOj6DoeeAb4a255kaPZqTLylFJvYBL3SsCrtb5aa/0V8CfAzWt3NgC/ciOQLC8IkQBdbYkhtG77EmYpIR7vAidX5hfvaumbSqkM4CJg99VH9wEvaK3rWhjTSODfxHmYAbOscFxlfvF/4owDSNIVImGUUo8AXzdVj/0TMJr9L0FcYnkCNe04PFfllheVAte6FO4F4OJ913mVUv0xVd6mY5Yu7gPe1hESWG550QSgHPMgLxZbgDMr84vnxNj/W2R5QYgEsINedd8d/Ra9/tygWzA3AX+JueL9A+C/wFY76H3TDnrPsIPeDr2LKLe86CTcS7gAFwIXwJ712keAADAEOF5rfZLWuiJSwgUI3ez7HcxDu2hVAke6mXBBZrpCuMoOehVwPvB/wASH3VYCvwdKLU+gKVFjS5Tc8qIPgKPdjNlUs2tp1bn3LQIOxexweEhrHVcd29B9aX7M8kRra8dNmKPcM4D33NhV0ZwkXSFcYge9aZiru6+MMUQ5cJ7lCcR1zLQt5ZYXTcLM3MNaeNNz7Fi4GpViPlyn9+3BpMeuCdtnxSNv3732lXl3tLReG4/c8qI+wMnARPZf8gkAb1TmF6928/2a69Afa4RIFqElgjLie5CUD7xjB73HW55AW9QQcIPfacPh00+gf/4hjgMPu/r7I4IvV7qacAEq84s3ATPdjuuUJF0h3PEn4n9yDzAVeNEOek9L9qWG0L7ab538ctEpueVFKZX5xQn/75BbXnQA5hPKicAIoBfQAGzEPLh7HpjtxlhkeUGIONlB7wnAmy6H9VuewEMux3RVbnlRFg6rei286Tlql68HIGNIHwb/4NjWrsRpbkgiP+7nlhdNxVxieQ7m1t9wlgMPATMq84u3xfqeknSFiJMd9L4DHO9y2KXAmNAVQUkpt7xoMLDKSdsdC1eTOawfKjWFTXO+YnlpBRP/8kMyBvWO1PWgyvziL+MebDO55UUpwN3AL2Lovho4J9Z9u7JlTIg42EHvBCIk3F27bK66YS0jpyyl15hv8H1/OW+8E3GL7kjMR912Ezr11UMpNUIpNUUpla+UukQp9TOl1G8/v/oRx3eFZY8fTEr3bljpqfTLm0z2gYPZOm+xk66u/6UTOjn3V2JLuACDgfdCW+WiJmu6QsQn4v7UxiYYOiiV914ZwrDBqcx+p4YLrqnms/eGM2Jo2E+004E33BqoUqo70K+Vr76tvN6AOQK7AbO+ufufNzRsqZkHXBrjWABHn7LjrnWwr9A69EPEXxcjE5iVW14U9Uk1WV4QIg520LsYGBVtv0OOX86vbujDOaeGvc6rHuhleQLfeoKvlMqk5UTZWvLsF+q6nhYSKC0n1o1a69pwA8wtL4r48zfuqKNm0Rp6TBqGSrHYNOcrlv2pnIl/uYKMIX1b77e9Vi84/4EVaP0x8DHwH2BBPFvIcsuLLgeejLV/C1YDEyrzix1v85OZrhAxCm0Tizrhrl3fSGBJAxPHdYvUNH3aqSsf+ni+SuPbiTUNk0BbSp4B4F/Nv6e13hntWB14CbgpXAPdaLPq6TnUrdqEshQZQ/oy5v/OCZtwAVKyMx5F6/uAwzGnyi4FxiulvmRvEv4YWOLkdFqoPsSdjn4q5wZjPpHc47SDJF0hYtcr2g4NDZpLrwtyWUEPxo9Nj9h+3Oi0jR/Pr1vAtxNrjZNE0wYeBm7EFCdvUVpOdyb+6YqoAyulSrXWizAlG58JvdYd8GGS8JmYh2EZSqn/sDcJz9Nab2kh5KmYo8Ruuya3vOhep9vJZHlBiBjZQW8OUaw52rbm4ulBtm23efWpQaSlOSofO8XyBObHOsa2kFte9DrmhJeb/lWZXzzNSUOl1GDMbHj3jNiHOVq9Own/B/hi6hu3zAby9u279h+fsOHtz6ldup4+3z2QUT8/FYAd/1vN6mc/oObrIMpS9Jg8nGH+PNL7tHoR8CmV+cWznYxXdi8IEbttOHy6rrXmqhvWsm59Ey89NtBpwgXYFPPo2s5vExDzN04baq1Xa61f1lr/Umt9LOZo70WYhPsd4IXUnO5baJZwAdL69mDQBdPod8Lk/V5v3FFH/5MO4eCnpjP56etIyUxn6X3/DDeMi5yOV5KuEDEK7aF1tId0+i/XsfDrBv7+zCAyMx3/sdsOrIh1fG2lMr/435gCP265rzK/OObDJlrrRq31p1rrh7XWV2itJ0y499JLWmrbZ9o4eh/pJbVn5n6v50wdTZ+jJ5CS1Y2UjDQGnH4YO74Ke0bjUKfjk6QrRHzKIjVYvrKBR57dxqdf7mLQ5CX0HP0NPUd/w3OzIh5qmpXsR4H38VvgQRfizMSsEbsqY3CfuO5L2/75CjKH9QvXpI/TWPIgTYj4PIqZ5bX6Z2n40DSaqsfGEtuNJNYmKvOLdW550U+ANZgEHMt9Z/cARZX5xYk4hRfpiG+rdi5dx5rnP2Ls7WG39kZ+KhoiM10h4mB5AkFgVgJCz7M8gU8SEDdhKvOLdWV+cTFmHfXvOD9NVg4cW5lffHOCEi6YQvJRq1uzicCv/sawa79Pj4OGhmu6xWlMmekKEaeGBv27lBQKLEu5OYm5w8VYbaoyv7gSODO3vGgYcA1wFt8u6P418A/gocr84m/aYFhLo+2wa+1WFt3yVwZdOI1+35sUqfkyp3El6QoRB6VUFnDjjdf1Dt59W79BLoW9z/IEYrleJqlU5hevAG4Fbg0VmOmFWXbYWplf3NjGw/kSU5xnv326usk2X7YG28aub0SlWDRsrmHRzc8z4LTDGHCKz0n8cqcDkX26QsRIKTUOcyKrCvA3VY/9JfE/xX8WuDyZq4t1VLnlRbfR7ETa6pkfsua5ufu1G3TxUaBgzcy5WBn7LwUf9kqLNXJ2YUpQbnAyDkm6QsRAKXUe5kFXEfDY7tNhdtA7HXiA2D5F3g3cKgk3MXLLizyYQxNuf8J/tjK/+DKnjeVBmhBRUEqlK6UeAO4CTtRaP7rvcVzLE5gBHIzZ+lTvIKSNWducZnkCt0jCTZzK/OIg5pOEm2ygJJoOknSFcEgpNQyYg7nOZYrWuqqldpYn8JXlCVyKWT+8GfgE2LcyVgNmjbEYGGV5AmdYnsC/Ejl2sccvMTdAuOWuyvziBdF0kOUFIRxQSp0IPA3cB/whlmIzdtCbiXmQVGt5AvIHr53klhcdCHxIFAcaWvE8cGm029wk6QoRhlIqBfNw7CrgIq31nHYeknBBKPHOBhxd1NaCUuD6WHZhyPKCEK1QSvXH3NxwDHCYJNzOozK/+CtgCvA4ZrnHqWXAxcB1sW57k5muEC1QSh2JuUfrOeBXWuu23lcq2kjo+vUfYq5eGtZCE435y3cGUB7vNeySdIXYhzKXd/0UsxXsSq31a+08JNFGcsuLLGA85kFpDmb3ySbg08r8YtdKbErSFSJEKdUT83FzFHCu1jrqo6NCRCJrukIASqlJmK1dG4BpknBFokjSFV2eUuoHwLvAnVprfzy3zQoRiRS8EV2WUioD+DNwNHCc1vqLdh6S6AJkpiu6JKXUaMw15T2BqZJwRVuRma7oUOygNwNzkigdczHklmjrFSilzsDc+PAb4MEkucpcdBGye0EkPTvoHQBcCVwCHNjs29uACuAh4N1wCVgplYqpd3A+cL7W+uPEjFiI1knSFUnLDnrHAr8GCnB2x1UAUxvhseYXOiqlBgJ/A3YCl2itHdU+FcJtsqYrkpId9J4PfA5chPNLBb2YGW+FHfT23v2iUuo4YD5mRnyyJFzRnmSmK5KOHfT6MUcu4/Hlug2Nxw2ctPQq4HrgMq11RfyjEyI+8iBNJBU76D0Td64en7h2fdOi7plq0c5aPVVrvcqFmELETWa6ImmEHpgtwpx7d0VDg76729Cvb3ErnhDxkjVdkUx+jIsJFyAtTf3EDnp7uRlTiHhI0hVJwQ5604EfRWq3aXMTZ1+xhh6jvmHklKU8//K2SF2ygEvdGKMQbpCkK5LFWYAnUqMfF60jPV1R/fkonn3Qw3U3r+fLRbsidZtuB73KlVEKESdJuiJZnBWpQc1Om5df38FvbupLdpbFUYdnctoJWcx8aXukrhMw28mEaHeSdEWyaH7S7FsCi+tJTVF4R6fvee3gid34cpGTm84jxxeiLUjSFckiJ1KDHTWanj32/y3bs4fFjh2OSi/0jtxEiMSTpCuSRcQ11+wsxbbt+yfY7TtssrMd/TaWNV2RFCTpimSxJVID7+h0Gps0Xy/Zu5zw2Ze7mDguPUyvPTbHPjQh3CNJVySLhZEaZHW3OOvkbG7/w0Zqdtp8VFnLP96s4ZJze7gSX4i2IElXJItXnTR68K4B1NZqPAct4WJ/kAfv7s/Ecd0idfsa+F+8AxTCDXIMWCQFO+jtBqwE+icgfKHlCdyfgLhCRE1muiIpWJ7ALuCxBISuBZ5OQFwhYiJJVySN2lr7z/X1rt/E+6DlCchDNJE0JOmKpKCU6pU9avED1928bq2LYedjbp4QImlI0hXtTimVCywA1j/xwrbxwM9dCPs1cKrlCdS4EEsI18iDNNFulFIWUAj8EvBrrWft/p4d9F6OubE3lkL7/wZOtzwBuZZHJB1JuqJdKKX6YR5w9QUu0Fova97GDnonAncCZ+DsU9ly4H7MOm6Da4MVwkWSdEWbU0odC8wEngdu01qHTZB20DsUU2v3EmBks2/XAe8BpcDs5rcAC5FsJOmKNqOUSgFuBfzAFVrr8mhjhG757QN0A7YC6y1PwFGZMSGSgWtJN88q6AacAhwBDAC6AzuANZiZyLsVdpmjclCi81FKDQKeAzRwidZ6TTsPSYh2EXfSzbMKRgDXAFcS/jTREuAh4MkKu0wecHQhSql84EnMEsDvtNayBCC6rJiTbp5VkAr8DrO9JyWKrjuAm4EZFXaZrG10YkqpNMzvkQsxs9s57TwkIdpdTEk3zyrIAl4C8uN47xnAT2TJoXNSSo0A/gpsAC7XWsunGyGI4XBEnlWQBswivoQLMB0oiTOGSEJKqXOASuBF4HRJuELsFcuJtHuAE116/+vzrIIrXYol2plSKkMpNQP4A3Cq1vo+rbV8khFiH1EtL+RZBeOAr3D3+PAWYGiFXbbDxZiijSmlxgF/AwLAj7TWW9t5SEIkpWiTpz+GPpHkABe5HFO0IaXUZcBczO6E8yXhCtE6xzPd0MOz1UCvcO1qdQ0LWcBWNmJhMYAheDkYS4XN1f8FDpHdDB2LUiobeBDIBc7TWn/ezkMSIulFU0zkHCIkXICFLCCdbhzNqTTSQBUfsIrFDGNsuG6TAR+mFJ9IIJ+/ZBwmSfYHMoBtwCpgblVpoeMHXkqpgzHLCf8CpmitpZqXEA5Ek3SnOWlUSw1DGU2KSiGFFPppDzVscxpfkm4C+PwlmcB5mB0jua00a/D5S2ZhtvLNrSotbPFTh1JKYZaZ7gAKtdYzEzBkITqtaJLuAU4aDWMsQVbSW/engQY2EGQ0E12LH688q6AXcDCmulU6Zqa3DFjY2ZY3fP4SBVwF3IX5ecNJAy4IfVX5/CXXVJUWfrJvA6VUDuZKnVHANK11wPVBC9HJRZN0s5w06k0/VrOE9/k7Gs1AhtOfQU66ZkcxlqjkWQUW8H3MTO80Wn4YuCLPKngYeLzCLnPz9oJ24fOXpGJmrT+KpTsw1+cvubSqtLAMQCl1OOaww2vAxVrrXa4NVoguJJqdCBHX7LTWLGAuAxjMcZzJMZxGA/V8g6PnKwnZMpZnFZwDLATeJHxd1mGYI6sr86yCJ/KsggGJGE9bCM1wnyS2hLtbN+Bvh15z7/lKqRuBfwA3aK2vl4QrROyiSbrVkRo0UE8dOxnKGCyVQrrqxiBGsIGgk/iOGjmVZxVYeVbBHzHHlcM+xWsmDbgC+CTPKjjIzTG1odswtWfjpbTWz2cPGn0pkKu1fsWFmEJ0adEk3bmRGqSrbmSSxSoWY2ubBl1PNcvJjrzpgfl6ztlKqelKqdFRjKlFeVaBAh4GbogjzFDgwzyrYFK842lLPn/JGOD/3IpnpaRaY06b3nTotfetcCumEF1ZNEn3FSDiVdaTOYINBPmA1/gX5SgsvBwcto+t7c82s/5R4HDgI6XUN0qpB5VSpyulekQxxt2KMA+Q4pUDzM6zCtrkIZ9LriO2e8VapZQ6BDjGzZhCdFXRHgO+F3duam3uygq77AnYsyVpMqa+w4mYLU7zMWuybwKfhjvPn2cVHAh8hruJ57kKu8yNj+sJ5fOXODrAsv6LD9m4aB51G6vpPcbH8OMvdBL+xarSwvPdGKcQXVm0R3ofAtwuQL0R81QcAG18prX+vdb6e4AHU0BlIPACUK2UmqmUulQp1dIM9Ke4PNMDLsizCoa4HDMRzsPBAZa07r3w+PLoO/7waGKf7fOXdNiHi0Iki6iSboVd9g0mAbqpsMIu29naN7XWNVrr10NPzccB3wE+BM4CFimlFiil7lZKHXeYOrY/Dh4gfaEr+UD/k/f0q/xLl7NaL43UJQW42vmP1G6+56RRzqjJ5IycREpG92hipwJHxzQqIcQesRSvuQ2zfcgNv6+wy56NpoPWeqnW+mGt9dmYo6w/ARqAe9ZTvQJzN1tYIxjHUZzEcepMDuZIFvMF23TE5eofhW7LSGaJno13hNm+EEkt6qRbYZc1AedjHqzF4w+Ya3tiprVu0FrP1Vr/SmudO4aDPnTSL1v1wlK7bxhSgKI28jZhD0R4IugipZSllOqulOqjlBqslBqtlDpIKTVFKXW0Uiov9KDxPKXUD5RS1zTs3Bb3zo8IIm9DEUKEFdPMrcIuq8uzCgows94izHFap7YAN1TYZU/G8t7hpKgUxzOxhbqKNSzHpoke5NCXgRH7bNdbD1NKbcUUisl08KuTNq39mg7UAbVOf7UbdkVzV10sahMcX4hOL+aPy6EZ7x15VsEjmO1Z1wCDw3T5CnMs9dkKu8xRBZwY5DhtOF75GKcPZSsb2cR6LAeT/tUs/j3mwZ/jRBhD+92/7tJRXmDn85d4gNOj6RMluXZHiDjFvUZZYZdVA3fmWQV3YeobHIFZa80CtgNrgDnAv9qgoExDNI2VUuTQj2q9wkn5ScYr309X2oufjmuEiTUPB0lX201o2wZto7WN3diAsiyUFXGiPM+VUQrRhbn2YKjCLmsEykNf7WUjpoZCVDQ2tZFLS+yOn8yeA36DWahuVXB+BcH5b+35981fz8dz2AkMnBr2rtEq4Es3BilEV+b60/g8qyAbM9uayrcLZb8DfJDAGe+nwKHhGtTrOjaxnn4MJIUUNrGWICuZhKM9q5+5MchEqSotXOrzl8wGTgnXbuDU/EgJtiUzWquxK4RwzrWkm2cVTMAUt/4B0LOVZr8CFuZZBaXAMxV22Ra33l8plTaGSUtHqHGRWrKKxSykCo0mg+6M42D6q4jlJz+ssMtWujTcRHqQCEk3BlswB1OEEHGK6hhwS/KsgkzgAaIvI7gZuL7CLovr5gGl1CTgcsyhiG+O5fTRaSo9EbUSLqywy/4auVn7CpV1fAuzvu6Wn1SVFv7FxXhCdFlx3eybZxX0xSwZxFK3tTfwbJ5VcEeoKphjob2rP1ZKfQK8AewCjtZaT0tT6XfHMJZI1gEvJyCu60JLABcBi10K+RRm9iyEcEHMSTd0O/AbmN0K8fg/4NZIjZRSqUqpk5VSZcBSzJ1qtwLDtdZF+1wd8yiwPM4xNXdHhV1W73LMhKkqLVwPnAAsiTPUi8DVspYrhHvimek+inlY5oY786yCM1r6hlJqglLqHmAFcDtmZj1Ca32h1vpNrfV+BXgq7LIazM3FrdZziNLzmEI/HUpVaeESTJ2Kd2Lo3gT8FriwqrQwqm14QojwYlrTzbMKpuGgqHmUlgNjKuyyxtAFiBdg1mqHA88CT2mtv4pijCdgjipHVdWlmX8C51bYZR32eprQGu9JmDq7JxF+O9l24GngwarSwoVtMDwhupxYk+4LmKToqjV62a+/4pPxwMmYh0FPAW9qrRtjiZdnFUzBJN5YCrX8BVMBLab3TkY+f8lI4FJMjeL+mOPGW7etCoxorN0xu89Y38+rSgsTcledEMKIOunmWQUezEf9tHDt3mt2nVYTTQxhNONV69tot+gN2z7h/VuBF7TWrhxEyLMKemBmeddiZs3hNAGvAiUVdtlHbrx/R6CUuhkYoLWO53ojIYQDsSTdXxBlTd1G3ciHvMYhHEVv1T9S8+EVdpnr93HlWQUpmI/XF2OuGO+LufF2K2Zp4y3gsQq7bLXb753slFLHA3doraVerhAJFsvhiGnRdljHKtLJIId+TpofiZlJuypUoOefoS+xv/nAoUqp1FiXcoQQzsSye8ETbYdqluNhGOb6s4g60iWQnYLWeivmL7qJ7T0WITq7WJJuVjSNa3UNm1nPIEY47ZId9YiEGyoxD9iEEAkUS9KN6ul2NSvIoR+ZynGu3h79kIQLJOkK0QZiSbrV0TQOspyBETcNNOsi2oMkXSHaQCxJ19E9ZABb9AbqqOUA59tkNdBltmolmf8CY5Ry/pFECBG9WJLuTEyBmYiqWc4ABpOqwm7p3dfsrrhlKxloreuBLzDb6YQQCRLLbcAbMIVQIpqgDuMgFdUn1hnRjke4SpYYhEiwWAveJKK26mLgzQTEFc5V4l4RIyFEC2JKuhV2WSXwhIvj0MB1oQMMov3ITFeIBIuntON04AOXxvHzCrtMZrnt72ugj1KRz2oLIWITc9INlTs8DXg3zjHcVGGXlcQZQ7hAa21jrlmXJQYhEsSNO9LSgbuAnxFdEg8C0yvsslcithQJF6q7e9yO4NIHMnIGDE7NyErH1CLegdmb/QGmcP08uUlCiNjFnXR3y7MKhgFXY+5LGxCm6TzMLoW/Vdhlta68uYiZz1+Sjvn/dh0w3kGX+cCfgJlVpYV2IscmRGfkWtLdLTTzPRHzQKYfoULZwCrg7Qq7bIGrbyhi5vOXjAD+AUyKofsHwDlVpYUbXB2UEJ2c60lXdAw+f8lEzP1p8VR1+xo4vqq0cJU7oxKi85Ok2wX5/CVDgI+BwS6E+wI4qqq0cKsLsYTo9OLZMiY6oNADs2dwJ+ECHAT82aVYQnR6knS7nuNCX2661Ocv8bocU4hOSZJu1zPdacO6Lev59NGbWPbOTCfN/bEPSYiuQ5JuF+LzlwwGznTaftXcWXTvP9Rp8yt8/hIpCylEBJJ0u5ZzgBQnDTd/s4CU9Ex6DB7rNHYvzFZBIUQYknS7loOdNGqqr6N6XjmDjzwj2viTox+SEF2LJN2upY+TRtWVb9B3fC7p2TkJiS9EVyZJt2uJuLSwc8Nqtq8O0H/ysbHET42lkxBdifwh6VoiHmDYseYb6rdv5suZdwJgN+xCa5uFm//I+HN/Hqn7lviHKETnJkm3a1kSqUG/CUfQe8yhe/593WfvU799E0OOPteV+EJ0dbK80LXMjtTASksnrXvPPV9WajoqJZW0zOxIXW3kuiUhIpKZbtdSCVQRxY2/A6fmO236WlVp4cpYBiVEVyIz3S4kVHw8UTcuy03OQjggSbfreQFT29hNnwJvuxxTiE5JSjt2QT5/SR7wBg5Pp4VjN9bbW5f/7+Slbz0l67lCOCAz3S6oqrSwAnNFT1y01o3BT956alnF008opeQySyEckKTbRVWVFj4BXKi1bogxxDalVH5wwTtXYu5Xm62UKnBvhEJ0TrK80IUppbpn9h+ycHT+lRvSsnodGrkHYLaGvQrcWFVauGdfrlLqUMx9aw8BxTrMb6xQ7d2rgGOBQUA2sBNYB/wbeLKqtHBeDD+SEElPkm4XppT6I+DRWl/s85eMB64FfgDktNB8LfAY8EhVaeGKVuINwiTe/wFXaa137f5e6MaKk4GfAnkOhjcPeBBz63CT4x9KiCQnSbeLUkodDvwdOEhrvedGX5+/JBWYAAwAsoDtQDUQcHLlulKqO+Y6IA9wltZ6vc9f0gN4Foi6bBlmb/FZVaWFa2LoK0TSkaTbyfj8JX0w95/1BOqA9cDK0B5dAJRS3TCHJO7UWv/V7TEopSzgTuDCnNGHXDIy77K/AE6XL1qyCvh+VWnhIlcGKEQ7kqTbCYRmkpdgdiQc0kKTIGb2+VBVaeFSpdRvMLV1zwy39hqvtO49rhx10lUPZQ0Y5sbJx2XAd6pKC9e6EEuIdiNJtwPz+UtygNsxD6UiFkcAdGNdzYffvFY6qXbjmoO01gn9yO7zl/wZ+LGLISuAE/edtQvR0UjthQ7K5y+ZgClgMyKKbio1I+uYcefe0KSU9V3g+USMDcDnLxlGFJdgOpQHfBd4z+W4QrQZ2afbAfn8JZOBuUSXcPdQykoBnvP5S651c1zNXE1ifn+5nciFaFOyvNDB+PwlgzBP9Ae7EM4GzqwqLXzNhVh7+Pwl6cBKzA6IsOo2r2Xlh7PYuWEVqRlZDD7iNHJGhr1qrQkYJrsZREclM92O50HcSbhg/v8/4fOX9HYp3m7H4yDharuJJeVP0Gv4gUy+/LcMO/Y8lr/zPHVb1oXrlgKc59ZAhWhrknQ7kNA67pkuh+0H/NDlmI62h9VtWUdDzVb6Tz4WZVn0GDyWLM8INgXmuxJfiGQkD9I6lm+twa7/4kM2LppH3cZqeo/xMfz4C/d8b/uqACvnvkz9js1kDRjG8OMuJL1Hixf2+n3+khInhx8c6htzTw11m6ojtZJbh0WHJTPdDsLnL8kCLm/+elr3Xnh8efQdf/h+rzfW7mDJW08xcGo+ky//Ld37D2VpxTOthR+Ns6O5TqU5aZTRawCpmdms+/Q9dFMT21YuYkf1YuzGiDV40uMfohDtQ5Jux3EU5pTZfnJGTSZn5CRSMrrv9/qWpZ+T2dtD79GHYKWm4ZlyIrUb11C3udWzBae5ONaItw4DqJQURuX/kG0rvuLzZ25n3WfvkzP6YNKye0XquiXuEQrRTmR5oePwRtO4blOQzL6D9vx7Slo3uvXsR93mIBm9D2ipy9g4x7evZU4bZvYdxNgz9p6fCLzyJ/qMm+JafCGSjcx0O46odhg0Ne7CSs/Y77WU9Aya6ne10qPFymKxqsBsR4uoduMa7MYG7IZ61n76Hg07t9FnXG6kbuVxj1CIdiIz3Y4jqodcKandsOvr9nutqaGOlPRursQPp6q0cKXPX/I6DpYsNgU+YeP//oO2m8gaOIoxp16DlRL2t+Ui4H2XhipEm5Ok23FsiqZxRh8PmxbtrQPe1LCLXds2ktHb01qXzXGMrSUzcJB0Bx9xOoOPOD2quFJ7QXRksrzQcXze0ovabjJP+7WN1jZ2YwPabqLXyEnUbg6yZcln2I0NBOe/RWafga2t5wJ84fJ432ptzHHYADztckwh2pQcA+4gfP6SNMwDpEH7vl49r5zg/Lf2a+s57AQGTs1n26oAq+a+TP32TWQNGM6w4y6kW89Wt7jmun1Fjs9fMgX4EMiI1NahgqrSwpdciiVEu5Ck24H4/CW3A79OQOhPqkoLE3Kbr89fchbwEvF/qrqpqrTwDy4MSYh2JcsLHcujmIIvbpuRgJgAVJUWvoK5pmdnjCFs4DpJuKKzkKTbgYQqaz3sctivgRdcjrmfqtLCfwJTMFvJouoKfLeqtDBhfykI0dZkeaGD8flLsoEPcKfoSw1wTFVpYZULsRwJFe3xY24d/tYJO6Ae+Btm9v0f2akgOhtJuh2Qz18yEHN7wrg4wtRhaum+6c6oouPzl3TD3Oc2EOiB+QtgPVBVVVpY0x5jEqItSNLtoHz+kr7AK8DRMXRfB5xRVVr4sbujEkJEIklXCCHakDxIE0KINiRJVwgh2pAkXSGEaEOSdIUQog1J0hVCiDYkSVcIIdrQ/wP3SS8ampwWGQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "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", "execution_count": 4, "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": { "image/png": "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\n", "text/plain": [ "
" ] }, "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", "execution_count": 10, "id": "excellent-bulletin", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " number of nodes: 10\n", "\n", "0 : [2, 5]\n", "1 : [3, 6]\n", "2 : [3, 7]\n", "3 : [0, 1, 8]\n", "4 : [4, 9]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "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", "execution_count": 6, "id": "acting-flight", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " number of nodes: 10\n", "\n", "Stop at iteration 14\n", "0 : [0, 3, 4, 7]\n", "1 : [2, 5, 6]\n", "2 : [1, 8, 9]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "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" ] } ], "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 }