{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[{"file_id":"1LzGE4i3yZtwb_0HCJ85y60ND5h4GsaZK","timestamp":1770932259871},{"file_id":"1nz8UK_z6WCLABUMlWrUKAtjAoOdyQiEr","timestamp":1683837098702}],"machine_shape":"hm"},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"kPt5q27L5557"},"source":["# CS246 - Colab 6 (Winter 2025)\n","## node2vec"]},{"cell_type":"markdown","metadata":{"id":"p0-YhEpP_Ds-"},"source":["### Setup"]},{"cell_type":"markdown","metadata":{"id":"82kmj9fIVlq0"},"source":["First of all, we install the [graph2vec library](https://github.com/VHRanger/graph2vec) which offers a fast implementation of the node2vec method.\n","\n","If you are curious to learn how to implement fast random walks on graphs, I recommend you to [read the blog post](https://www.singlelunch.com/2019/08/01/700x-faster-node2vec-models-fastest-random-walks-on-a-graph/) which explains some of the design choices behind this library."]},{"cell_type":"code","source":["!python -m pip install 'csrgraph @ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7'\n","!python -m pip install 'nodevectors @ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2'"],"metadata":{"id":"5XivxOcOKLvQ","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1770929497566,"user_tz":480,"elapsed":17495,"user":{"displayName":"Rishabh Ranjan","userId":"14643331064616738605"}},"outputId":"ccaa6b58-d08a-4b72-8a2d-84baa5942f44"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Collecting csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7\n","  Cloning https://github.com/VHRanger/CSRGraph (to revision f052c1cf128ab21d21a4710337dc7c1cd5658df7) to /tmp/pip-install-w1e50clg/csrgraph_82767dc30bde494ea910a421a1abd3db\n","  Running command git clone --filter=blob:none --quiet https://github.com/VHRanger/CSRGraph /tmp/pip-install-w1e50clg/csrgraph_82767dc30bde494ea910a421a1abd3db\n","  Running command git rev-parse -q --verify 'sha^f052c1cf128ab21d21a4710337dc7c1cd5658df7'\n","  Running command git fetch -q https://github.com/VHRanger/CSRGraph f052c1cf128ab21d21a4710337dc7c1cd5658df7\n","  Running command git checkout -q f052c1cf128ab21d21a4710337dc7c1cd5658df7\n","  Resolved https://github.com/VHRanger/CSRGraph to commit f052c1cf128ab21d21a4710337dc7c1cd5658df7\n","  Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n","Requirement already satisfied: networkx in /usr/local/lib/python3.12/dist-packages (from csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (3.6.1)\n","Requirement already satisfied: numba in /usr/local/lib/python3.12/dist-packages (from csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (0.60.0)\n","Requirement already satisfied: numpy in /usr/local/lib/python3.12/dist-packages (from csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (2.0.2)\n","Requirement already satisfied: pandas in /usr/local/lib/python3.12/dist-packages (from csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (2.2.2)\n","Requirement already satisfied: scipy in /usr/local/lib/python3.12/dist-packages (from csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (1.16.3)\n","Requirement already satisfied: scikit-learn in /usr/local/lib/python3.12/dist-packages (from csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (1.6.1)\n","Requirement already satisfied: tqdm in /usr/local/lib/python3.12/dist-packages (from csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (4.67.3)\n","Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in /usr/local/lib/python3.12/dist-packages (from numba->csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (0.43.0)\n","Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.12/dist-packages (from pandas->csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (2.9.0.post0)\n","Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.12/dist-packages (from pandas->csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (2025.2)\n","Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.12/dist-packages (from pandas->csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (2025.3)\n","Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.12/dist-packages (from scikit-learn->csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (1.5.3)\n","Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.12/dist-packages (from scikit-learn->csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (3.6.0)\n","Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.12/dist-packages (from python-dateutil>=2.8.2->pandas->csrgraph@ git+https://github.com/VHRanger/CSRGraph@f052c1cf128ab21d21a4710337dc7c1cd5658df7) (1.17.0)\n","Building wheels for collected packages: csrgraph\n","  Building wheel for csrgraph (setup.py) ... \u001b[?25l\u001b[?25hdone\n","  Created wheel for csrgraph: filename=csrgraph-0.1.29-py3-none-any.whl size=19407 sha256=1c9790838e8ff9712d6ea1e9b5f895fe5be6aed23c76dc44641abb67403ccd73\n","  Stored in directory: /root/.cache/pip/wheels/d8/37/b5/23a3b4e7d4b9b1e519caf7475ec887e1e89945e2bddb8a3f9b\n","Successfully built csrgraph\n","Installing collected packages: csrgraph\n","Successfully installed csrgraph-0.1.29\n","Collecting nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2\n","  Cloning https://github.com/aman0456/nodevectors (to revision 67e9af0506236be9aae6d460e96d4dec6329bcd2) to /tmp/pip-install-q96sfl5v/nodevectors_a48d3412fee14ff29e18d0629706c0e4\n","  Running command git clone --filter=blob:none --quiet https://github.com/aman0456/nodevectors /tmp/pip-install-q96sfl5v/nodevectors_a48d3412fee14ff29e18d0629706c0e4\n","  Running command git rev-parse -q --verify 'sha^67e9af0506236be9aae6d460e96d4dec6329bcd2'\n","  Running command git fetch -q https://github.com/aman0456/nodevectors 67e9af0506236be9aae6d460e96d4dec6329bcd2\n","  Running command git checkout -q 67e9af0506236be9aae6d460e96d4dec6329bcd2\n","  Resolved https://github.com/aman0456/nodevectors to commit 67e9af0506236be9aae6d460e96d4dec6329bcd2\n","  Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n","Requirement already satisfied: csrgraph in /usr/local/lib/python3.12/dist-packages (from nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (0.1.29)\n","Collecting gensim (from nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2)\n","  Downloading gensim-4.4.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (8.4 kB)\n","Requirement already satisfied: networkx in /usr/local/lib/python3.12/dist-packages (from nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (3.6.1)\n","Requirement already satisfied: numba in /usr/local/lib/python3.12/dist-packages (from nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (0.60.0)\n","Requirement already satisfied: numpy in /usr/local/lib/python3.12/dist-packages (from nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (2.0.2)\n","Requirement already satisfied: pandas>=1.0 in /usr/local/lib/python3.12/dist-packages (from nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (2.2.2)\n","Requirement already satisfied: scipy in /usr/local/lib/python3.12/dist-packages (from nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (1.16.3)\n","Requirement already satisfied: scikit-learn in /usr/local/lib/python3.12/dist-packages (from nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (1.6.1)\n","Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.0->nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (2.9.0.post0)\n","Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.0->nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (2025.2)\n","Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.0->nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (2025.3)\n","Requirement already satisfied: tqdm in /usr/local/lib/python3.12/dist-packages (from csrgraph->nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (4.67.3)\n","Requirement already satisfied: smart_open>=1.8.1 in /usr/local/lib/python3.12/dist-packages (from gensim->nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (7.5.0)\n","Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in /usr/local/lib/python3.12/dist-packages (from numba->nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (0.43.0)\n","Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.12/dist-packages (from scikit-learn->nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (1.5.3)\n","Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.12/dist-packages (from scikit-learn->nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (3.6.0)\n","Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.12/dist-packages (from python-dateutil>=2.8.2->pandas>=1.0->nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (1.17.0)\n","Requirement already satisfied: wrapt in /usr/local/lib/python3.12/dist-packages (from smart_open>=1.8.1->gensim->nodevectors@ git+https://github.com/aman0456/nodevectors@67e9af0506236be9aae6d460e96d4dec6329bcd2) (2.1.1)\n","Downloading gensim-4.4.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (27.9 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m27.9/27.9 MB\u001b[0m \u001b[31m60.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hBuilding wheels for collected packages: nodevectors\n","  Building wheel for nodevectors (setup.py) ... \u001b[?25l\u001b[?25hdone\n","  Created wheel for nodevectors: filename=nodevectors-0.1.23-py3-none-any.whl size=18803 sha256=477e395b3d3c5bdce5292b62126a78d8d00861d5c67c59126fb0c024b0df1591\n","  Stored in directory: /root/.cache/pip/wheels/52/52/97/930e55de8d5b84c7ab149254201ea051f09f7264b46a67d8ea\n","Successfully built nodevectors\n","Installing collected packages: gensim, nodevectors\n","Successfully installed gensim-4.4.0 nodevectors-0.1.23\n"]}]},{"cell_type":"markdown","metadata":{"id":"pUCNE4-5Wc8b"},"source":["We now import the library, and create a small wrapper class which will expose only the few hyperparameters we will need to tune in this Colab."]},{"cell_type":"code","metadata":{"id":"QiIPtudrGlTf"},"source":["from nodevectors import Node2Vec\n","import networkx as nx\n","\n","class Node2VecNew(Node2Vec):\n","  \"\"\"\n","  Parameters\n","  ----------\n","  p : float\n","      p parameter of node2vec\n","  q : float\n","      q parameter of node2vec\n","  d : int\n","      dimensionality of the embedding vectors\n","  \"\"\"\n","  def __init__(self, p=1, q=1, d=32):\n","    super().__init__(\n","                 n_components=d,\n","                     walklen=10,\n","                     epochs=50,\n","                     return_weight=1.0/p,\n","                     neighbor_weight=1.0/q,\n","                     threads=0,\n","                     w2vparams={'window': 4,\n","                                'negative': 5,\n","                                'iter': 10,\n","                                'ns_exponent': 0.5,\n","                                'batch_words': 128})"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"qwtlO4_m_LbQ"},"source":["Lastly, let's import some of the common libraries needed for our task."]},{"cell_type":"code","metadata":{"id":"twk-K-jilWK7"},"source":["import pandas as pd\n","import numpy as np\n","import matplotlib.pyplot as plt\n","from tqdm import tqdm\n","%matplotlib inline"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"kAYRX2PMm0L6"},"source":["### Example\n","\n","In the example below, we will try to reproduce the Figure 1 in [the paper](https://arxiv.org/pdf/1403.6652), which is also shown in Lecture 12."]},{"cell_type":"code","metadata":{"id":"2PsVt5f2CsmP","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1770929530559,"user_tz":480,"elapsed":13856,"user":{"displayName":"Rishabh Ranjan","userId":"14643331064616738605"}},"outputId":"da6e2d05-9067-44df-a922-0a204b3dbff6"},"source":["# Load the Zachary's Karate Club as a NetworkX Graph object\n","KCG = nx.karate_club_graph()\n","\n","# Fit embedding model to the Karate Club graph\n","n2v = Node2VecNew(1, 1, 2)\n","n2v.fit(KCG)"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Making walks... Done, T=13.15\n","Mapping Walk Names... Done, T=0.12\n","Training W2V... WARNING: gensim word2vec version is unoptimizedTry version 3.6 if on windows, versions 3.7 and 3.8 have had issues\n","Done, T=0.47\n"]}]},{"cell_type":"code","metadata":{"id":"ZEjzhwEiC1HD"},"source":["embeddings = []\n","for node in KCG.nodes:\n","  embedding = list(n2v.predict(node))\n","  club = KCG.nodes[node]['club']\n","  embeddings.append(embedding + [club])\n","\n","# Construct a pandas dataframe with the 2D embeddings from node2vec,\n","# plus the club name that each node belongs to after the split\n","df = pd.DataFrame(embeddings, columns=['x', 'y', 'club'])"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"fJBTilMGLInb","colab":{"base_uri":"https://localhost:8080/","height":466},"executionInfo":{"status":"ok","timestamp":1770929531172,"user_tz":480,"elapsed":599,"user":{"displayName":"Rishabh Ranjan","userId":"14643331064616738605"}},"outputId":"ef5e0e1f-a0c0-4698-e5bf-d3cd4f43a969"},"source":["# Nodes who stayed with the Mr. Hi will be plotted in red, while nodes\n","# who moved with the Officer will be plotted in blue\n","colors = ['red' if x == 'Mr. Hi' else 'blue' for x in df.club]\n","df.plot.scatter(x='x', y='y', s=50, c=colors)"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["<Axes: xlabel='x', ylabel='y'>"]},"metadata":{},"execution_count":6},{"output_type":"display_data","data":{"text/plain":["<Figure size 640x480 with 1 Axes>"],"image/png":"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\n"},"metadata":{}}]},{"cell_type":"markdown","metadata":{"id":"e6vmpmj6Ylph"},"source":["If our example trained correctly, you should notice a clear separation between the blue and red nodes.  Solely from the graph structure, node2vec could predict how the Zachary's Karate Club split!\n","\n","Tune the hyperparameters ```p``` and ```q```, and notice how they affect the resulting embeddings."]},{"cell_type":"markdown","metadata":{"id":"vbmr23B2rJKR"},"source":["### Your Task"]},{"cell_type":"markdown","metadata":{"id":"x15OQeyys1xd"},"source":["Now we will study the behavior of node2vec on [barbell graphs](https://en.wikipedia.org/wiki/Barbell_graph).\n","\n","Below you can see a toy example of a barbell graph generated with NetworkX."]},{"cell_type":"code","metadata":{"id":"xUYxs4E8aHgG","colab":{"base_uri":"https://localhost:8080/","height":516},"executionInfo":{"status":"ok","timestamp":1770929531412,"user_tz":480,"elapsed":237,"user":{"displayName":"Rishabh Ranjan","userId":"14643331064616738605"}},"outputId":"7ef36fa7-8854-4775-a820-7362e6c076ed"},"source":["toy_barbell = nx.barbell_graph(7, 0)\n","nx.draw_kamada_kawai(toy_barbell)"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"text/plain":["<Figure size 640x480 with 1 Axes>"],"image/png":"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\n"},"metadata":{}}]},{"cell_type":"markdown","metadata":{"id":"G7K3-57FyD8D"},"source":["Generate a larger barbell graph, where each complete graph has exactly 1000 nodes.\n","\n","Then, learn node2vec embeddings on this graph, setting ```p = 1, q = 1``` and ```d = 10```."]},{"cell_type":"code","metadata":{"id":"k_rmp-SvaIOt","colab":{"base_uri":"https://localhost:8080/","height":35},"executionInfo":{"status":"ok","timestamp":1770929531428,"user_tz":480,"elapsed":13,"user":{"displayName":"Rishabh Ranjan","userId":"14643331064616738605"}},"outputId":"33c5b8d4-c2d9-4e1b-a438-ce03e8565bf5"},"source":["''' 5-7 lines of code in total expected but can differ based on your style.\n","For sub-parts of the question (if any), creating different cells of code would be recommended.'''\n","# YOUR CODE HERE\n","\n"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["' 5-7 lines of code in total expected but can differ based on your style.\\nFor sub-parts of the question (if any), creating different cells of code would be recommended.'"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"}},"metadata":{},"execution_count":8}]},{"cell_type":"markdown","metadata":{"id":"fyxZBVwhzLQe"},"source":["Write a function that takes as input a node id ```n``` in the graph (e.g., ```5```) and returns a list containing the cosine similarity between the node2vec vector of the input node ```n``` and all the nodes in the given barbell graph (including the similarity with ```n``` itself)."]},{"cell_type":"code","metadata":{"id":"aq7advtkjXSp","colab":{"base_uri":"https://localhost:8080/","height":35},"executionInfo":{"status":"ok","timestamp":1770929531439,"user_tz":480,"elapsed":8,"user":{"displayName":"Rishabh Ranjan","userId":"14643331064616738605"}},"outputId":"f085c818-7ac2-45a7-bd9e-e627cef68b91"},"source":["''' 8-15 lines of code in total expected but can differ based on your style.\n","For sub-parts of the question (if any), creating different cells of code would be recommended.'''\n","\n","# YOUR CODE HERE\n","\n"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["' 8-15 lines of code in total expected but can differ based on your style.\\nFor sub-parts of the question (if any), creating different cells of code would be recommended.'"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"}},"metadata":{},"execution_count":9}]},{"cell_type":"markdown","metadata":{"id":"zw1oNDDD2dZO"},"source":["Generate another barbell graph, this time adding a path of length 51 between\n","\n","---\n","\n","the two complete graphs. To find out how, refer to the NetworkX documentation: [https://networkx.github.io/documentation/stable/reference/\n","\n","---\n","\n","generated/networkx.generators.classic.barbell_graph.html#networkx.generators.classic.barbell_graph](https://networkx.github.io/documentation/stable/reference/generated/networkx.generators.classic.barbell_graph.html#networkx.generators.classic.barbell_graph)\n","\n","Learn the node2vec embeddings for the nodes of this new graph, using the same hyperparameters as before."]},{"cell_type":"code","metadata":{"id":"Wrv5Eyba3NM0","colab":{"base_uri":"https://localhost:8080/","height":35},"executionInfo":{"status":"ok","timestamp":1770929531508,"user_tz":480,"elapsed":66,"user":{"displayName":"Rishabh Ranjan","userId":"14643331064616738605"}},"outputId":"5c79fbd6-45a8-4152-e47c-7579ffe49413"},"source":["''' 10-12 lines of code in total expected but can differ based on your style.\n","For sub-parts of the question (if any), creating different cells of code would be recommended.'''\n","# YOUR CODE HERE\n","\n"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["' 10-12 lines of code in total expected but can differ based on your style.\\nFor sub-parts of the question (if any), creating different cells of code would be recommended.'"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"}},"metadata":{},"execution_count":10}]},{"cell_type":"markdown","metadata":{"id":"SIrXJyVNP2AI"},"source":["Once you have working code for each cell above, **head over to Gradescope, read carefully the questions, and submit your solution for this Colab**!\n"]},{"cell_type":"code","source":[],"metadata":{"id":"uBEUQ976itJg"},"execution_count":null,"outputs":[]}]}