{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Algorithm run animation creator\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "id": "bQX5hbAmIKRO", "outputId": "10242ef7-4936-4970-9711-0379033b9d30" }, "outputs": [], "source": [ "# for interactive plots\n", "%matplotlib notebook\n", "\n", "from pydistsim.network import NetworkGenerator\n", "from pydistsim.demo_algorithms.santoro2007.yoyo import YoYo\n", "from pydistsim.simulation import Simulation\n", "from pydistsim.network.behavior import NetworkBehaviorModel\n", "from pydistsim.gui import drawing as draw" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### As always, let's start with network and simulation object creation\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "net = NetworkGenerator.generate_hypercube_network(8)\n", "\n", "# Let's add some random delays to the communication, so we can see it in action\n", "net.behavioral_properties = NetworkBehaviorModel.RandomDelayCommunication\n", "\n", "\n", "sim = Simulation(net, (YoYo,))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create a frame with the simulation's current state\n", "\n", "In the following cell, we show how to create a figure with the current state of the simulation.\n", "This will show each node's state and the messages that are currently in transit, lost, delivered,\n", "or pending to be sent.\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sim.run(10)\n", "fig = draw.draw_current_state(sim)\n", "\n", "fig" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Keep going and watch the simulation as it runs\n", "\n", "We can run the simulation and update the figure at each step to see how the algorithm works.\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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CMfPkRHo2bs3Dh46xKuMRMVYuXLlcPnqdUgMLFBvcwKmn0vAg1epEEKk2S5FJnAuMAUDj0jReY8Urdu0x8nTZ3iVkYiKlUJ9T+MXNWvWxIO//4abmxv27NkDr3dBqKyjAysVVWhIJIiTyXA/OQnRSUmoWqkytv42HS4uLgyMRITy5cvjzr0HmDNnDry3b8Oy6x9RpbQGqpeSQVtdgphEAb8ICd7EJKO8jRXWrZuC0aNHQ0Wl0H/mJiLKliLT6xkaGmLjxo149fYtjhw5gsY9e0Jauxbu6WhD0rgRRk2ejIcPH+KfAH8MHjyYgZGI5PT09LB69WpEvn6LkydPws5hAKJMmuLiGyN8MrfHwBHjcfv2bTwPDMLYsWMZGImoWCoSVxq/pqWlBUdHRzg6OiI0NBTu7u6YNWsWn44lIoXU1dXRqVMndOrUif0HEdF/8OMyERERESnE0EhERERECjE0EhEREZFCDI1EREREpBBDIxEREREpxNBIRERERAoxNBIRERGRQgyNRERERKQQQyMRERERKcTQSEREREQKMTQSERERkUIMjURERESkEEMjERERESnE0EhERERECjE0EhEREZFCDI1EREREpBBDIxEREREpxNBIRERERAoxNBIRERGRQgyNRERERKQQQyMRERERKcTQSEREREQKMTQSERERkUIMjURERESkEEMjERERESnE0EhERERECjE0EhEREZFCDI1EREREpBBDIxEREREpxNBIRERERAoxNBIRERGRQgyNRERERKQQQyMRERERKcTQSEREREQKMTQSERERkUIMjURERESkEEMjERERESnE0EhERERECjE0EhEREZFCDI1EREREpBBDIxEREREpxNBIRERERAoxNBIRERGRQgyNRERERKQQQyMRERERKcTQSEREREQKMTQSERERkUIMjURERESkEEMjERERESnE0EhERERECjE0EhEREZFCDI1EREREpBBDIxEREREpxNBIRERERAoxNBIRERGRQgyNRERERKQQQyMRERERKcTQSEREREQKMTQSERERkUIMjURERESkEEMjERERESnE0EhERERECjE0EhEREZFCDI1EREREpBBDIxEREREpxNBIRERERAoxNBIRERGRQgyNRERERKQQQyMRERERKcTQSEREREQKMTQSERERkUIMjURERESkEEMjERERESnE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", "text/plain": [ "
" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sim.run(1)\n", "fig = draw.draw_current_state(sim)\n", "\n", "fig" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Video creation\n", "\n", "The simplest way to understand how the algorithm works is to watch it in action. We can create something like a stop-motion\n", "video of the simulation to see how the algorithm evolves over time.\n", "\n", "In the following cell, we show how to create a video with the whole simulation process. You should be able to watch\n", "the video from the notebook.\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import HTML\n", "\n", "sim.reset()\n", "anim = draw.create_animation(sim)\n", "video = anim.to_html5_video()\n", "\n", "HTML(video) # Careful! This must be the last line of the cell, otherwise the video will not be displayed." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To save the video, you can use the `save` method of the `Animation` class.\n", "\n", "This will raise an exception if FFMpeg is not installed.\n", "\n", "Learn more about animation writers at:\n", "\n", "https://matplotlib.org/stable/api/animation_api.html#writer-classes\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from matplotlib.animation import FFMpegFileWriter\n", "\n", "writer = FFMpegFileWriter()\n", "sim.reset()\n", "anim = draw.create_animation(sim)\n", "\n", "anim.save(\"yoyo.mp4\", writer=writer)" ] } ], "metadata": { "colab": { "provenance": [] }, "kernelspec": { "display_name": "venv_pydistim_dev", "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.11.0" } }, "nbformat": 4, "nbformat_minor": 0 }