From ae6e74f2c2524c84c35ac2709d0adb983fd35662 Mon Sep 17 00:00:00 2001 From: MatOgr Date: Tue, 21 Jun 2022 13:00:45 +0200 Subject: [PATCH] Random walks with MCL implementation --- random-walks.ipynb | 500 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 500 insertions(+) create mode 100644 random-walks.ipynb diff --git a/random-walks.ipynb b/random-walks.ipynb new file mode 100644 index 0000000..2251507 --- /dev/null +++ b/random-walks.ipynb @@ -0,0 +1,500 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 96, + "metadata": { + "id": "buf7_VyObrNE" + }, + "outputs": [], + "source": [ + "from sklearn.preprocessing import normalize as skl_normalize\n", + "from matplotlib.pylab import show, cm, axis\n", + "import matplotlib.pyplot as plt\n", + "import networkx as nx\n", + "import numpy as np\n", + "import sys" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "metadata": { + "id": "G7NB8dWAbrPn" + }, + "outputs": [], + "source": [ + "def normalize_cols(target_matrix):\n", + " return skl_normalize(target_matrix, norm=\"l1\", axis=0)\n", + "\n", + "def inflate_matrix(target_matrix, factor):\n", + " return normalize_cols(np.power(target_matrix, factor))\n", + "\n", + "def expand_matrix(target_matrix, factor):\n", + " return np.linalg.matrix_power(target_matrix, factor)" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": { + "id": "WW5B8s6sbrRu" + }, + "outputs": [], + "source": [ + "def get_clusters(target_matrix):\n", + " print(\"Matrix to 'cluster':\\n\", target_matrix)\n", + " clusters = []\n", + " for i, edge in enumerate(target_matrix): \n", + " #* Check whether the there is connection between origin node and currently checked one\n", + " if edge[i]:\n", + " #* print(f\"For node {i} we have: {edge} → {target_matrix[i,:]}\")\n", + " clusters.append(edge)\n", + " \n", + " clust_map = {}\n", + " for cluster_id, cluster in enumerate(clusters): #* loop over clusters list and retrieve connected nodes ids \n", + " cluster_nodes = [ i for i, node in enumerate(cluster) if node ]\n", + " #* print(f\"For cluster {cluster_id} we have: {cluster} \\n\\t→\\tnodes: {cluster_nodes}\")\n", + " clust_map[cluster_id] = cluster_nodes\n", + " return clust_map\n", + "\n", + "def stop_condition(matrix, iteration):\n", + " #* print(\"Stop matrix: \", matrix)\n", + " if iteration % 5 == 4:\n", + " m = np.max( matrix**2 - matrix) - np.min( matrix**2 - matrix)\n", + " #* print(\"m = \", m)\n", + " if m == 0:\n", + " print(\"Stop at iteration %s\" % iteration)\n", + " return True\n", + " return False\n", + "\n", + "\n", + "def markov_chain(M, max_loop = 10):\n", + " expand_factor = 2\n", + " inflate_factor = 2\n", + " diag_factor = 1\n", + " \n", + " M = M + diag_factor * np.identity(M.shape[0]) #* add self-loops to the matrix by setting diagonal 1\n", + " #* print(\"My M after diagonalization\", M)\n", + " M = normalize_cols(M)\n", + " \n", + " for i in range(max_loop):\n", + " M = expand_matrix(M, expand_factor) #* expand by raising the matrix to the given power\n", + " M = inflate_matrix(M, inflate_factor) #* inflate the given matrix by raising each element to the given power\n", + " if stop_condition(M, i): #* if values 'converged' to ones (1) → stop the markov algorithm\n", + " break\n", + "\n", + " clusters = get_clusters(M)\n", + " return M, clusters\n", + "\n", + "def networkx_markov_chain(graph, max_loop=75):\n", + " A = np.array(nx.adjacency_matrix(graph).todense())\n", + " return markov_chain(A, max_loop)\n", + "\n", + "def draw_graph(graph, cluster_map, arrows):\n", + " _, _ = plt.subplots(figsize=(15,8))\n", + " graph = nx.Graph(graph)\n", + " clust_map = {v: k for k, vals in cluster_map.items() for v in vals} \n", + " colors = [clust_map.get(i, 100) for i in range(len(graph.nodes()))]\n", + " nx.draw_networkx(graph, node_color=colors, linewidths=5, arrows=arrows, cmap='gist_rainbow')\n", + " axis(\"off\")\n", + " show(block=False)\n", + "\n", + "def calculate_and_draw(graph, arrows=None): \n", + " M = nx.to_numpy_matrix(graph)\n", + " print(\"Nodes number: %s\\n\" % M.shape[0])\n", + " \n", + " M, clusters = networkx_markov_chain(graph)\n", + " print(f\"\\nClustering result:\")\n", + " for key, value in clusters.items():\n", + " print(key, \": \", value) \n", + " \n", + " draw_graph(graph, clusters, arrows)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 987 + }, + "id": "UQX13SKKbrUA", + "outputId": "ca417f85-a614-4265-c2b5-88a09878e3e7" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Nodes number: 16\n", + "\n", + "Stop at iteration 14\n", + "Matrix to 'cluster':\n", + " [[1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 1. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 1. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]\n", + "\n", + "Clustering result:\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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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "bin_graph = nx.binomial_tree(4) \n", + "calculate_and_draw(bin_graph)" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 883 + }, + "id": "FCc0vJOpbrWX", + "outputId": "cb2e2458-f7b5-4f63-f1a0-7d0fec5a4b97" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Nodes number: 15\n", + "\n", + "Matrix to 'cluster':\n", + " [[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]\n", + " [0. 0.5 0. 1. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. ]\n", + " [0. 0.5 0. 0. 1. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 1. 1. 0. 0. ]\n", + " [1. 0. 1. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 1. 1. ]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]]\n", + "\n", + "Clustering result:\n", + "0 : [1, 3, 7, 8]\n", + "1 : [1, 4, 9, 10]\n", + "2 : [5, 11, 12]\n", + "3 : [0, 2, 6, 13, 14]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "balanced_graph = nx.balanced_tree(2,3) # perfectly balanced \n", + "calculate_and_draw(balanced_graph)" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "_z3yxmBRbrZi", + "outputId": "f6ebfd7b-4b9b-4e1b-c027-468f047dc470" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Nodes number: 31\n", + "\n", + "Stop at iteration 69\n", + "Matrix to 'cluster':\n", + " [[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 1. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.\n", + " 1. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 1. 1. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 1. 1. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 1. 1.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0.]]\n", + "\n", + "Clustering result:\n", + "0 : [0, 1]\n", + "1 : [2]\n", + "2 : [3, 7, 15, 16]\n", + "3 : [8, 17, 18]\n", + "4 : [9, 19, 20]\n", + "5 : [4, 10, 21, 22]\n", + "6 : [5, 11, 23, 24]\n", + "7 : [12, 25, 26]\n", + "8 : [13, 27, 28]\n", + "9 : [6, 14, 29, 30]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "balanced_graph = nx.balanced_tree(2,4) \n", + "calculate_and_draw(balanced_graph)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 831 + }, + "id": "BNvzdWwZbriE", + "outputId": "6a233a07-9593-4178-88fa-3f9c0144f268" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Nodes number: 10\n", + "\n", + "Stop at iteration 14\n", + "Matrix to 'cluster':\n", + " [[1. 0. 0. 0. 0. 1. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 1. 1. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 1. 0. 1. 1. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [0. 0. 0. 0. 0. 0. 0. 0. 1. 0.]\n", + " [0. 0. 0. 1. 0. 0. 0. 0. 0. 1.]]\n", + "\n", + "Clustering result:\n", + "0 : [0, 5]\n", + "1 : [1, 2]\n", + "2 : [4, 6, 7]\n", + "3 : [8]\n", + "4 : [3, 9]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "random_tree = nx.random_tree(10) # uniformly random tree \n", + "calculate_and_draw(random_tree)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Directed graph" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "eiHmTzgNbrer", + "outputId": "bd4baaea-afa9-4732-907d-12973bfe10b4" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Nodes number: 10\n", + "\n", + "Matrix to 'cluster':\n", + " [[0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. ]\n", + " [0.5 1. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. ]\n", + " [0. 0. 0.33333333 0. 1. 0.\n", + " 0. 0. 0. 0. ]\n", + " [0. 0. 0.33333333 0. 0. 1.\n", + " 0. 0. 0. 0. ]\n", + " [0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. ]\n", + " [0.5 0. 0. 0. 0. 0.\n", + " 0. 1. 0. 0. ]\n", + " [0. 0. 0.33333333 0. 0. 0.\n", + " 0. 0. 1. 0. ]\n", + " [0. 0. 0. 1. 0. 0.\n", + " 1. 0. 0. 1. ]]\n", + "\n", + "Clustering result:\n", + "0 : [0, 1]\n", + "1 : [2, 4]\n", + "2 : [2, 5]\n", + "3 : [0, 7]\n", + "4 : [2, 8]\n", + "5 : [3, 6, 9]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gn_graph = nx.gn_graph(10) # growing network digraph \n", + "calculate_and_draw(gn_graph, arrows=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": { + "id": "cF-t3FQxySUP" + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "colab": { + "collapsed_sections": [], + "name": "random-walks-mpsic", + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}