Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jaroslawjanas/177ec5c648329f0c287351cd79587c7b to your computer and use it in GitHub Desktop.
Save jaroslawjanas/177ec5c648329f0c287351cd79587c7b to your computer and use it in GitHub Desktop.
Reinforcement Learning - FrozenLake Problem.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"authorship_tag": "ABX9TyMnN+bqS6OAnOvxCTxfynU8",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/jaroslawjanas/177ec5c648329f0c287351cd79587c7b/reinforcement-learning-frozenlake-problem.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"# The FrozenLake Problem\n",
"\n",
"The *“deterministic”* FrozenLake is a toy problem from the so called *“grid world”* category of problems. In this problem the agent lives in a square grid and can move in 4 directions, “up”, “down”, “left” and “right”. The agent always starts in the top-left position and its goal is to reach the bottom right position on the grid (see image below)."
],
"metadata": {
"id": "rwNu_2ajQI0h"
}
},
{
"cell_type": "markdown",
"source": [
"![frozenlake_legended.webp](data:image/webp;base64,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)"
],
"metadata": {
"id": "QHwvpd6qOkAS"
}
},
{
"cell_type": "markdown",
"source": [
"Just like the basic *Gridworld* actions are deterministic i.e. a move to the “right” will always move the agent to the cell directly to their right. The FrozenLake however does have holes in the ice and if the agent falls in, it will drown. Any action which causes a move off the grid results in the agent’s state remaining unchanged. "
],
"metadata": {
"id": "0rAX4vzvP8kO"
}
},
{
"cell_type": "markdown",
"source": [
"# Part 1: Create the FrozenLake\n",
"\n",
"1. Using Python, create a 5x5 grid sized FrozenLake, with a start state at the top left corner and a goal state at the bottom right corner.\n",
"2. Place four holes at the following grid positions in the FrozenLake. **(1,0)**, **(1,3)**, **(3,1)**, **(4,2)**\n",
"3. The reward for reaching the goal state is **+10.0**. The reward for falling into a hole is **-5.0** (because you die!) and the rewards for each transition to a non-terminal state is **-1.0**.\n",
"4. The episode ends if the agent falls into a hole or reaches the goal state.\n",
"5. The actions are **“up”**, **“down”**, **“left”** and **“right”**.\n"
],
"metadata": {
"id": "tSjWuCQOQEmP"
}
},
{
"cell_type": "markdown",
"source": [
"![111111111111.png](data:image/png;base64,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)"
],
"metadata": {
"id": "-vpFn3pBS0uf"
}
},
{
"cell_type": "code",
"source": [
"# Imports\n",
"import numpy as np\n",
"import random\n",
"from itertools import groupby\n",
"import matplotlib.pyplot as plt\n",
"from scipy.interpolate import make_interp_spline"
],
"metadata": {
"id": "EqkSWCDJXG71"
},
"execution_count": 20,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# Board Size\n",
"BOARD_ROWS = 5\n",
"BOARD_COLS = 5"
],
"metadata": {
"id": "ljT5gaMUh8ca"
},
"execution_count": 21,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"## Why is this solution good?\n",
"\n",
"* Note that you could easily pass in state `actions` and `q_actions` as arguments of *State*. This makes it possible to define per *State* actions.\n",
"\n",
"* It's easier to work with, for any state based application **OOP** is the king."
],
"metadata": {
"id": "z0KwI_JsvX3h"
}
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"id": "SERbkZfqRnlM"
},
"outputs": [],
"source": [
"# State\n",
"class State:\n",
" states = {}\n",
" alpha = 0.5\n",
" gamma = 0.9\n",
" epsilon = 0.1\n",
"\n",
"\n",
" def __init__(self, pos, reward=-1, is_end=False):\n",
" self.pos = pos\n",
" self.reward = reward\n",
" self.is_end = is_end\n",
" self.actions = [\"up\", \"down\", \"left\", \"right\"]\n",
" self.q_actions = {\n",
" \"up\": 0,\n",
" \"down\": 0,\n",
" \"left\": 0,\n",
" \"right\": 0\n",
" }\n",
"\n",
" self.states[self.pos] = self\n",
"\n",
"\n",
" def move(self, action): \n",
" if self.is_end:\n",
" return None\n",
"\n",
" if action == \"up\": \n",
" next_pos = (self.pos[0] - 1, self.pos[1]) \n",
" elif action == \"down\":\n",
" next_pos = (self.pos[0] + 1, self.pos[1])\n",
" elif action == \"left\":\n",
" next_pos = (self.pos[0], self.pos[1] - 1)\n",
" else:\n",
" next_pos = (self.pos[0], self.pos[1] + 1)\n",
" \n",
" if (next_pos[0] >= 0) and (next_pos[0] <= BOARD_COLS - 1):\n",
" if (next_pos[1] >= 0) and (next_pos[1] <= BOARD_ROWS - 1): \n",
" \n",
" if next_pos in self.states:\n",
" return self.states[next_pos] \n",
" return State(next_pos)\n",
"\n",
" return self\n",
"\n",
"\n",
" # https://stackoverflow.com/questions/3844801/\n",
" # check-if-all-elements-in-a-list-are-identical\n",
" @staticmethod\n",
" def all_equal(iterable):\n",
" g = groupby(iterable)\n",
" return next(g, True) and not next(g, False)\n",
"\n",
"\n",
" def best_action(self):\n",
" if self.is_end:\n",
" return (None, 0)\n",
"\n",
" if State.all_equal(self.q_actions):\n",
" return (None, None)\n",
"\n",
" best_value = max(self.q_actions.values())\n",
" best_action = max(self.q_actions, key=self.q_actions.get)\n",
"\n",
" return best_action, best_value\n",
"\n",
"\n",
" def choose_action(self):\n",
" if self.is_end:\n",
" return None\n",
"\n",
" best_action, best_value = self.best_action()\n",
"\n",
" if random.uniform(0, 1) < self.epsilon:\n",
" other_actions = \\\n",
" [action for action in self.actions if action != best_action]\n",
" return random.choice(other_actions)\n",
"\n",
" return best_action \n",
"\n",
"\n",
" def update_q_action(self, action, next_state):\n",
" # print(next_state.reward)\n",
"\n",
" self.q_actions[action] += \\\n",
" self.alpha * (next_state.reward + \\\n",
" (self.gamma * next_state.best_action()[1]) - \\\n",
" self.q_actions[action])"
]
},
{
"cell_type": "code",
"source": [
"# Board Layout\n",
"\n",
"WIN_STATE = State((4, 4), reward=10, is_end=True)\n",
"START_STATE = State((0, 0), reward=-1)\n",
"HOLES_STATES = [\n",
" State((1, 0), reward=-5, is_end=True),\n",
" State((1, 3), reward=-5, is_end=True),\n",
" State((3, 1), reward=-5, is_end=True),\n",
" State((4, 2), reward=-5, is_end=True)\n",
" ]"
],
"metadata": {
"id": "6buN6gMqh3RI"
},
"execution_count": 23,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Part 2: Implement the Reinforcement Learning algorithm Q-learning\n",
"\n",
"1. Using the algorithmic steps outlined in the notes (Week 9 – Model Free Learning (Temporal Difference Learning)) (or S&B book), implement Q-learning on the FrozenLake problem to learn a policy which can navigate optimally through the lake.\n",
"2. Set the parameters Alpha = **0.5**, Gamma = **0.9**, and Epsilon = **0.10**\n",
"3. Run the frozen lake experiment for **10000** episodes and output the action value estimates at the end of the learning process.\n",
"4. Plot a curve of the reward per episode (similar to what was depicted in the slides for the cliff walking task Q-learning vs SARSA)."
],
"metadata": {
"id": "PY4gH1aKRdMl"
}
},
{
"cell_type": "code",
"source": [
"# Agent \n",
"\n",
"class Agent:\n",
"\n",
" def __init__(self):\n",
" self.start_state = START_STATE\n",
" \n",
"\n",
" def qlearn(self, episodes):\n",
"\n",
" data = {\n",
" \"episodes\": [],\n",
" \"rewards\": []\n",
" }\n",
"\n",
" for episode in range(episodes):\n",
" reward_sum = 0\n",
" data[\"episodes\"].append(episode + 1)\n",
"\n",
" state = self.start_state\n",
"\n",
" while not state.is_end:\n",
"\n",
" action = state.choose_action()\n",
"\n",
" next_state = state.move(action)\n",
" state.update_q_action(action, next_state)\n",
" reward_sum += next_state.reward\n",
"\n",
" state = next_state\n",
"\n",
" data[\"rewards\"].append(reward_sum)\n",
"\n",
" return data \n",
"\n",
"\n",
" def show_values(self):\n",
" for i in range(BOARD_ROWS):\n",
" print('-----------------------------------------')\n",
" out = '| '\n",
" for j in range(BOARD_COLS):\n",
" state = State.states.get((i, j), None)\n",
"\n",
" best_value = 0\n",
" if state:\n",
" if state.is_end:\n",
" out += \"END\".ljust(5) + ' | '\n",
" continue\n",
"\n",
" best_choice, best_value = state.best_action()\n",
"\n",
" out += str(round(best_value, 2)).ljust(5) + ' | '\n",
" print(out)\n",
" print('-----------------------------------------')"
],
"metadata": {
"id": "FZWY5jHPXMaC"
},
"execution_count": 24,
"outputs": []
},
{
"cell_type": "code",
"source": [
"agent = Agent()\n",
"data = agent.qlearn(100000)\n",
"print(agent.show_values())"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "bzpnTFYzBn5R",
"outputId": "3233b517-2fdb-4dd3-cf11-25cfb599a511"
},
"execution_count": 25,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"-----------------------------------------\n",
"| -0.43 | 0.63 | 1.81 | 3.12 | 4.58 | \n",
"-----------------------------------------\n",
"| END | 1.81 | 3.12 | END | 6.2 | \n",
"-----------------------------------------\n",
"| 1.81 | 3.12 | 4.58 | 6.2 | 8.0 | \n",
"-----------------------------------------\n",
"| 0.63 | END | 6.2 | 8.0 | 10.0 | \n",
"-----------------------------------------\n",
"| -0.53 | -0.5 | END | 10.0 | END | \n",
"-----------------------------------------\n",
"None\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"plt.plot(data[\"episodes\"],data[\"rewards\"])"
],
"metadata": {
"id": "9N_q9WxFBptB",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 447
},
"outputId": "f951580c-b19a-49a1-8f99-683754eb56d0"
},
"execution_count": 26,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fe6f431c070>]"
]
},
"metadata": {},
"execution_count": 26
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAGdCAYAAAA1/PiZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA0mUlEQVR4nO3deXyU1aH/8e9kmyQkmUBWlgAJAcJOAIlBQFAuoNSlilVEFkXcsCpQFIpC1WIQKa1Sr0sV9d5aUX9Va91qRK16i1CpqMiiXEEQDNqLZtTaIOT8/sCMmWQmmQmzneTzfr3mBTPPec5znvMs883MM+dxGGOMAAAALBAX7QYAAAAEiuACAACsQXABAADWILgAAABrEFwAAIA1CC4AAMAaBBcAAGANggsAALBGQrQbcKxqa2u1f/9+paeny+FwRLs5AAAgAMYYffXVV+rUqZPi4gL/HMX64LJ//34VFBREuxkAAKAF9u7dqy5dugRc3vrgkp6eLunoimdkZES5NQAAIBBut1sFBQWe9/FAWR9c6r4eysjIILgAAGCZYC/z4OJcAABgDYILAACwBsEFAABYg+ACAACsQXABAADWILgAAABrEFwAAIA1CC4AAMAaBBcAAGANggsAALAGwQUAAFiD4AIAAKxh/U0Ww+XwkVoVL34+2s0AACDq3lk6Xq6UxGg3QxKfuPh12192RLsJAADEhAm/fi3aTfAguPjx6o7Po90EAABiQpX739FuggfBBQAAWIPgAgAArEFw8cPIRLsJAACgAYILAACwBsEFAABYg+ACAACsQXDxw3CJCwAAMYfgAgAArEFw8ePDz76OdhMAAEADBBcAAGANggsAALAGwQUAAFiD4AIAAKxBcAEAANYguAAAAGsQXAAAgDUILgAAwBoEFwAAYA2CCwAAsAbBBQAAWIPgAgAArEFwAQAA1iC4AAAAaxBcAACANQguAADAGgQXAABgjZgILnfeeae6d++u5ORklZWVaePGjdFuEgAAiEFRDy6PPvqo5s2bp6VLl+of//iHBg0apAkTJuizzz6LdtMAAECMiXpwWbVqlWbPnq0LL7xQffv21d13363U1FStWbMm2k0DAAAxJqrB5dChQ9q0aZPGjRvneS0uLk7jxo3T+vXrfc5TU1Mjt9vt9QAAAG1DVIPLP//5Tx05ckR5eXler+fl5amqqsrnPBUVFXK5XJ5HQUFBJJoKAABiQNS/KgrWokWLVF1d7Xns3bs32k0CAAARkhDNhWdnZys+Pl4HDhzwev3AgQPKz8/3OY/T6ZTT6YxE8wAAQIyJ6icuSUlJGjp0qNatW+d5rba2VuvWrVN5eXkUWwYAAGJRVD9xkaR58+ZpxowZGjZsmIYPH67f/OY3+uabb3ThhRdGu2kAACDGRD24nHvuufr888+1ZMkSVVVVafDgwXrhhRcaXbALAAAQ9eAiSVdeeaWuvPLKaDcDAADEOOt+VQQAANouggsAALAGwQUAAFiD4AIAAKxBcAEAANYguAAAAGsQXAAAgDUILgAAwBoEFwAAYA2CCwAAsAbBBQAAWIPgAgAArEFwAQAA1iC4AAAAaxBcAACANQguAADAGgQXAABgDYILAACwBsEFAABYg+ACAACsQXABAADWILgAAABrEFwAAIA1CC4AAMAaBBcAAGANggsAALAGwQUAAFiD4AIAAKxBcAEAANYguAAAAGsQXAAAgDUILgAAwBoEFwAAYA2CCwAAsAbBBQAAWIPgAgAArEFwAQAA1iC4AAAAaxBcAACANQguAADAGgQXAABgjagGl+7du8vhcHg9li9fHs0mAQCAGJYQ7QbcdNNNmj17tud5enp6FFsDAABiWdSDS3p6uvLz86PdDAAAYIGoX+OyfPlyZWVlqbS0VLfddpsOHz7cZPmamhq53W6vBwAAaBui+onLVVddpSFDhqhDhw7629/+pkWLFunTTz/VqlWr/M5TUVGhG2+8MYKtBAAAscJhjDGhrHDhwoW69dZbmyyzbds2lZSUNHp9zZo1uvTSS/X111/L6XT6nLempkY1NTWe5263WwUFBaqurlZGRsaxNb6e7gufDVldAADYbvfySSGtz+12y+VyBf3+HfJPXObPn6+ZM2c2WaaoqMjn62VlZTp8+LB2796t3r17+yzjdDr9hhoAANC6hTy45OTkKCcnp0Xzbt68WXFxccrNzQ1xqwAAQGsQtWtc1q9frw0bNmjs2LFKT0/X+vXrNXfuXF1wwQVq3759tJoFAABiWNSCi9Pp1Nq1a/WLX/xCNTU1Kiws1Ny5czVv3rxoNQkAAMS4qAWXIUOG6M0334zW4gEAgIWiPo4LAABAoAguAADAGgQXAABgDYILAACwBsEFAABYg+ACAACsQXABAADWILgAAABrEFwAAIA1CC4AAMAaBBcAAGANggsAALAGwQUAAFiD4AIAAKxBcAEAANYguAAAAGsQXAAAgDUILgAAwBoEFwAAYA2CCwAAsAbBBQAAWIPgAgAArEFwAQAA1iC4AAAAaxBcAACANQguAADAGgQXAABgDYILAACwBsEFAABYg+ACAACsQXABAADWILgAAABrEFwAAIA1CC4AAMAaBBcAAGANggsAALAGwQUAAFiD4AIAAKxBcAEAANYguAAAAGsQXAAAgDUILgAAwBphCy7Lli3TiBEjlJqaqszMTJ9l9uzZo0mTJik1NVW5ublasGCBDh8+HK4mAQAAyyWEq+JDhw7pnHPOUXl5ue6///5G048cOaJJkyYpPz9ff/vb3/Tpp59q+vTpSkxM1C233BKuZgEAAIuF7ROXG2+8UXPnztWAAQN8Tn/xxRe1detW/f73v9fgwYN1yimn6Oabb9add96pQ4cOhatZAADAYlG7xmX9+vUaMGCA8vLyPK9NmDBBbrdb77//vt/5ampq5Ha7vR4AAKBtiFpwqaqq8gotkjzPq6qq/M5XUVEhl8vleRQUFIS1nQAAIHYEFVwWLlwoh8PR5GP79u3haqskadGiRaqurvY89u7dG9blAQCA2BHUxbnz58/XzJkzmyxTVFQUUF35+fnauHGj12sHDhzwTPPH6XTK6XQGtAwAANC6BBVccnJylJOTE5IFl5eXa9myZfrss8+Um5srSaqsrFRGRob69u0bkmUAAIDWJWw/h96zZ48OHjyoPXv26MiRI9q8ebMkqbi4WGlpaRo/frz69u2radOmacWKFaqqqtL111+vOXPm8IkKAADwKWzBZcmSJXrooYc8z0tLSyVJr7zyisaMGaP4+Hg988wzuvzyy1VeXq527dppxowZuummm8LVJAAAYDmHMcZEuxHHwu12y+Vyqbq6WhkZGSGrt/vCZ0NWFwAAttu9fFJI62vp+zf3KgIAANYguAAAAGsQXAAAgDUILgAAwBoEFwAAYA2CCwAAsAbBBQAAWIPgAgAArEFwAQAA1iC4AAAAaxBcAACANQguAADAGgQXAABgDYILAACwBsEFAABYg+DSQs/8dGS0mwAAQJtDcAEAANYguAAAAGsQXFrImGi3AACAtofg0kJGJBcAACKN4NJCfOICAEDkEVwAAIA1CC4txAcuAABEHsGlhQzfFQEAEHEElxYitgAAEHkEFz8ykhM8/8/LcEaxJQAAoA7BxQ+Hw9HkdL4pAgAg8gguLUZyAQAg0gguLcQnLgAARB7BpYXILQAARB7BpYX4xAUAgMgjuATAV0hhHBcAACKP4NJCxBYAACKP4NJCfOACAEDkEVwAAIA1CC5+NBx/7oELj/P8f1TPbA0v7BDhFgHwpf4o1wivlecMinYTECXP/HRktJvgQXAJ0NjeudpVcap2VZyq/7pouOLjHOraITUiyz6lf35A5XrlpXnauKvi1EbTzx7SJaB6zjuuoNkyN57ez+frm64fF9AyomVgF1ezZX55Zn/tqjhVf7y8PAItCp0O7ZI8/3/+6lHaVXGqPrql8X7QnLLCDnrs0tCu++7lk3Tzmf2bLPO/QbR12Y9/qKty3ome/79x3dig23bFmB5Bz+PPib1yfL7u75hsbpq/8k1xJsRpV8WpOndY88dxU+3ZvXyS1/7zh4vLNHloF73V4BjffvNEz/9f/dmYoNbn4YvL5Ezw/TZ05uBOLWi9f9dO7B3S+vxJSojT3xdH5jxY/3zf1Lk/WOnJCXryihFey+nfuflzZ6Twp0oQGt4GoJm7AoRwuQGWk6PJWxWEsr3+6mruVgk2cDjq1sPedalbh5ZsjqPzhqFNzUyPC2KZDj+1xer+1/RxGVybAynf0m3fsP64+hvF4fWPn3mDWx+HIngejeDxHLn3hvAsqGGtsXZc8YlLAGy5DtdY01IgPGLr9Bodde8xMfZeE3UR6w9j/34Ya0GlIYLLMeCXRWiNwvWXaaweLqFsV4yf78Oi/nkwkp9qxLK4trgjRBDBBY209WOOQAqbER6iy8i0+XNouIUtuCxbtkwjRoxQamqqMjMzfZY5+j2s92Pt2rXhahIQpLabYFrzeZc3ldA6pq+oW+m2IDyGV9guzj106JDOOecclZeX6/777/db7oEHHtDEiT9cle4v5ABAnWN5s3SodUfSaAYzQuH3WkE/xPIxErbgcuONN0qSHnzwwSbLZWZmKj8/sJ/7AseKr4FiV7QuCGSfCE6sX7gZbcYE9ws5BC/q17jMmTNH2dnZGj58uNasWdPszQtramrkdru9HtHCr3gAxK4wXWTd4BxtS/CLZJYg3IVXVIPLTTfdpMcee0yVlZU6++yzdcUVV2j16tVNzlNRUSGXy+V5FBS0bJCl5tTf7cb29j2olG0GF2SGrK7i3DSfr6ckxis/I7nR650zU0K2bISXwyHl+diGx6qnj32mf+eMFtWV5vzhw+J2fv7vT/esdi1api1+OHdZkigs13Ag0v/om9cavimKaUEFl4ULF/q8oLb+Y/v27QHXd8MNN+iEE05QaWmprrvuOl177bW67bbbmpxn0aJFqq6u9jz27t0bzCq0yNLTfI8S2xJpzgQ9d9UorZg8UC/NO1F5GU7PtJ+eVBxQHTedEXx7Ks4aoCnDu+ov14wOoHTzh92IHtla9ZNB+vOVPwwDPbRbe6UkxeupOSfo5gZtfO6qUSpr4jYJd0wpDaBdR9UfNfVY/PLM/po8NLDRhIN169kDAi47vbxbo9eWn9X8/MvPGqAX5wayPYNX0CFVd18wRGsvOf6Y6rln2lA9MvtoHccXZTWa/tOTerao3ozkRM//05wJ+q+LhuuBmcfJlZLYxFxH9evs8hpVNtg/jl+aF54+D8SEfnmSpBeuGaWLTigMeD8L9Ji5a+qQoNoTzq9E6seun43vpSQ/I+xG222TB+qmM/rphWtG6eYz+unWyQO51ifMgtoT5s+fr23btjX5KCoqanFjysrK9Mknn6impsZvGafTqYyMDK9HuAXyV1ygfn3uYPXtlKGfDCtQcW6aHr3kh6HVB3XJDKiO6eXdg17ulOFdFR/nUO/89KDn9eesIV00oN4Q+nXDnee7kjWtvLtWnD3QM82VmqhHmxhG/vRBgQ/vPbWsm6Yd3/jNPlgXHN8tLCfDzpkpOve4rkGVb6ikY/P79XnDu6pXXui2Z0MT+3f0GTaCMaFfvsp7+K/D33DvzWrwxjC6V47GluQGPPtp9fa3YL/qKM5NV0pifHAzhUjnzKN/3ZfkZ2jJaX197me+vqaYWhbY8dIngP2uvu5Z7SLyuc6VJ/XUhSO6R2BJwctISdT08u4qyc/QtPLuykhOtH4cl1hvflDvyDk5OcrJCd/XJps3b1b79u3ldDqbL9xK8GFudPk6Puu2iS3f3YdarJ+0QuFY19Hf9W1toOua1Bb2HURf2H5VtGfPHh08eFB79uzRkSNHtHnzZklScXGx0tLS9Oc//1kHDhzQ8ccfr+TkZFVWVuqWW27Rz372s3A1KeZx0IcfF1TDZoGcIyJ6GjnGhbXW8U5aw7k8lv9wC1twWbJkiR566CHP89LSo9cwvPLKKxozZowSExN15513au7cuTLGqLi4WKtWrdLs2bPD1aSQa8mGDef+HMs7GoBIi8y7Z3O/BG2LWmsgixVhCy4PPvhgk2O4TJw40WvgObSOlA7Yhk/hQif4O12HqSFRxjgu4RWbl2m3YpwiAfvF9IcMx/Cm2VqDhBTZdWMcl/AiuKARjjkgNsXioRnLGS5aYnE7tSYElwhjh0Yg2E/QUtHcd8J6DV8Y6w41/vgLL4LLMYgP8ReZx3pBV7THDmi09DA2p6Vd37CPmuqzSHWnr+W05CQdquZGez8KxLG2sP78oVzfWPiKIO77gyMS11k0XERL9tt4P30W6v0wkhfMxsJ+cCziHI6YDl8EFz8C2fFWTylVdlqSlvyor8/pl57Y/GB83Tqkami39hrdK0cje2Y3GvlzxeSBXs9Lu2b6retXPxnU7PKa88QVIxq91qV908P1XzyyUJ0zUxoNjPejgR3VPStV55f9MEjWST4GCXvwwuMavZbVLkmzRxX6XeacscXKz0jWT08q1qAGtzLolZemMwd30n/PGq4O7ZK8pq2YPFDZaU798syjI4n+9KSj9Vx9ck9dcHxXdctK1VmlnSUdHRCwX6cMDaw3yF4wLh55tP3lRVkq9zOQ28kluTpveONBxArq9fm904Z6/v/zU0vUyZWsy07s0WiesqIfRibulRv8wHRXn9xTOelO/eJ071GPF5/aRznpTl11UrHaJTU98Nolo5ve5+uP9Hrj6f00oke2euel64zBTQ9A2D7V+7hoar6pZY37Mzfde2yo4wo7qCQ/XT8a2NGznRry9YeJr36XpLNKOysn3akbftTX560N6lw5tlgdXb5vp3CVj5GzG96mw9dp6fIxP7QpziHdP2PY0fpO7qm8DKeuPrlloxPXmTSwo0ry03Vc96P7V/1j6u4LhirdmaCRxdka3r2DOtVbt+b2hToPXDhcWe2SVNFgtOj543spL8Opn43vJcl3WB1ZnN2gruMaHfN1inPTdO6wAhVl+7/lw6/O8X0O7dAuKejbUwzv7nuk8Iajik/s532T4dsmD9SAzi6N75vX5IjHvZsYfLLh8eLL/7vMe0DQ355fqt+cO1hZ7ZL0u+lDNbCzS/07Z3hGa44lDmP5b9ncbrdcLpeqq6tDOorukJsrdfCbQ5Kk3csn+S1njJHD4fD8JHDYL1/S/9Wb79eVH+j2dR96yt83fZjG9c1rVIckr3rqOBwOXfHwJj33XpVXW7ovfLZRWxq2s67M8UUdtLbeCL31571jSqmueuRtSdKuilPlcDj08yff0x827PGUGdTFpafmnKBfV36gO17e6XNZdf3gr3/qu/ihv+ulbZ95LbNhu+per+uPSXe8oa2fur2WXb/vCxc912jeujL1p+1ePqlRm+o/9zetYX/vqjjVq976Omem6H8WnuQ1/6wH/6512z9rVLbh9nzoouEa3TNbX/zrOw25uVKStHHxycpJO/rGW7e+9dtYN+9pgzrpjvMGe8o1nO6r3bsqTvX831fdDfuhbntc+ODf9eqOzxvVcd/ru7TsuW2N1q9hXfXbWH+ZvvZr6Wif7vvyW696/bW1rs7fvf6Rbnlue6P1Pn1QJ90xpbTRdven4f4jSb2vf141h2v9tscYo58/uUWPbNzTqB+MMRp044ty//uwz2nubw9r0E0vSpLWLzpJP7rjDc85ZfaoQi2e1PgPpfrt97dv1/XtVScVa+5/9NJxy9bpn197j1L+1wVj1M3HvZx8HRf1l9XweZ362/PcYQV69C3vW7SsveR4HV+U5al/5K0v65MvvvX0S/3lVjy3Tfe89pHX/H9beJL+deiIxq36qyRp57JTFB/n8GyzP14+Qmff9TdJR/9AGtM71+uc8MI1o7T7n9/ost//w7NMX8d63br995sf64antnhNf/7qUX5HHL7svzfphferGtVTvw2Vc0d73fut4XH43ifVOu23bzSq+/HLyj1h0peGx2zD81Vd/9Zfbv35Gv4/HFr6/h22n0O3FXUb1d/Gbfiyr2L1543mR4xNLdvhcDT53Yn/9ff1evPr27Bfm+q3hnU015/BlA9uvVpezlPezzyB7iPNLa+59Qt4ewSxzGDb0NJ6Gk5zNLOfhfq4C8U2Onqc/fDcmAAHnQtmP3XU3Vuu+Xr91dOSbdhUEX/HebD11t0zz9+0hnUe3UcCP2aC3Uvq/9Q+mPOMv3UIRnPvTf6mxcr7UVP4qghoJWLzFANfmvqYO0bfKyC2TawguIRZLIygeMxtCPnRavW3k2HFiTH8bN77YvUv4JZqXWuDSCG4hJjNJ0UgUIF+NRpNsdSWYxHJqxBj4Q+tcLF1zey+CjU8CC5ArOPE1fqwTUMi0uG0NQc7mxBcIqy1/BUYaW3lr466EyO7Cep4XWAavWYAMYPgAiBolo+igDYoFH80xtIfnm35ECS4wAqxdMKItDZ8fgKARggufrT0fbK5v0S7tE9tYc2hUzca59jeOU1OrzOix9FRX/v6GWSprSno0PRIwif66NfjCv0PFOVLWw5qvtTvU2dCZE9bdcdJwxGamzO4wP+Iyyf3OTqCdKGPUVyT4n9Yv3bOtjXUVrCfIhgjZdYbbbypw6ZTpu/jtluW9zk52BFymzKsW3DHvS+GP10aaVtHRZTdef4Q9WpimOZIuX/GMD373qc6Y1BnvfpB49FcJw/potpaozxXsj754ludM7SLJGlCvzytmDxQ/Tu1bAj81mBUz2yt/H5Y8NcWjNVrH36u678fSXN6eTf1zE3T2d/3V32zRhYqPTlBVdX/1sT++dp78Ftl+hiW+1gCS2s+vV0/qY+Kstup+tvv9JNhBRFd9m/OLdWf3tmnSQM6+pz+/NWjfL4+eWiBao00rFv7RtN++eMBGtqtvSY0GO5dkpIT4/VfFw3XkVrT6BYgre0il6B+3u2naFaaU/fPGCZnQrznPk31Z3n8snJ9/lWNeuT4vhVDn44ZWj2l1BNsHrxwuCqe264//uOTQJvg18wTuqudM0HlPXzf8iNYU4YX6JGNe5sv2Azb/zAiuETQpIG+T3yRlpXmbHRfofri4hw+75/jcDhC8qZh83ez047vpryMo/dj6ZqVqguyunmCS15Gsqb56dfE+DhNLevmed6vDYe/lkhNStDFowK7902ouVITmzxe/A33Hh/n0BQfx5EkpTkT/O4rkjS6l+9PQ+HbyX3830+nqWHx65w26Id7XmWnOTW9vJvP4BKsxPg4r3u1Hasfl3YJSXCxHV8VhVksJNtYaAMQaeEcrM3i7O3h82YcnCtgAYILEEN430BTWts4IrYFJdva21oRXEKsNfwlFos4YQBoi2z+aj1cCC4AAASgtXziZftaEFwAtEq2n5wB+EZwAYIQ9k9tebdFE0L5lSlfv8JWBBcAAAJB2IsJBJcQa3ghVSj282P9WWdTs4fzJ6OhXGZcG/vzsP536YFenBfJHrJhe1jQxIDU7+uQnE+amBbtC0Hj4/y3ztc+F67mRnLfaW4dvG6yGaJ22XD8NoXg4keotuv08u7qnJmi2aMKW1zHwoklyk136tqJvRtNG9cnT1ntknT7eYMbTVvyo77KTnPqxtP7+617fN88FeW000+GNR7tNVyun9RHOelO/fzUEq/XH7pouDq0S9L9M4Y1mmfF5IHKTnPql2f6Xxd/7ps+TB3aJemhi4a3uM1NmTWyUJ0zU3TB8d2aL+zHpIEdVZKf7hksKyMlQScUZ2l4YQflZTibnPfaib2Vm+7UggmN9w9JSk2KlyTdM22oJGnNzKP98eCFx7W4vTf8qK/PbVjfVSf3DLrecX1yNaiLS0tP6+t5ra7dwTpnWIG6dkjV9PKWb5dYcHe99T+WQfguHV2kzpkpmjmie6Npo3vlaFi39s3eziJYd18wRB3aJekPF5cFVH71lFJlpyXptskDG027eGShOrmSdfmYHhrVM1vDu3dQJ1eyz3om9MtT/84ZGtgl0+f0sb1zNLggUz1zfY+m26+TSwM6uzS+r/fAdqF8uz+pJFeDCzJV7GdEX19tKa1324khXTP9zuPLtO/PT86EOP33rMC2R6xyGMtv8+p2u+VyuVRdXa2MjBDeY+KXlfrn14ckSbuXTwp4vkE3vqjqb7/zms8Yc8yfbDSso/vCZyVJC08p0aWji/zWH8iyQ9G+YPlbZlNtaWpaXX9IvrfXsa5jXf33TBvqc5j2cGzjukMzkHqbW76vukPdXkm67/WP9Mtnt0kK7rjxVW8w6x9IG+u24WmDOmn1lNIW1ylJva5/XocO10pq+XoGIxR9UVdPXR1lt7ykA+4aSdKuilNDUn9Ty1z4x3e19u/eo74+fll5o5FtAzkHBNIfwR4TgUx//K29WvD/3vV67fmrR/kdPbk5gR6H9csdy74Qqv0oVFr6/s2Q/xEQip2kqTpaOi2YMqHmb5nHui7hmDdS9TesI5g6myt7LHW3dJnHWm8stzHSQrUeLTnuwrXMlpQPZt8I9pgIdnooBLqM+uVi+TwYKXxVBCBkWsuJEZFh297C/h0bCC4AAMAaBJcQs/ySIQAAYhrBBQCAAPBFUWwguABAGxQL993hkhG0BMEFAIAAELRiA8EFCAKXMAFAdBFcQoz3NSC2BTviqC//8f2Iqv5GXkVjg+uN+mqrwux2jV7LapcUhZa0bQxA5xefCQKtycvzT9SbHx0Mye0tlp81QMcXdtCE/o1HUYZv5wwrkJF0XPf2GrfqtWg3p0VKu7bX7ecNVtcOqfr20BF9c+iIcjN833YA4UNwARAysRz3i3LSVNTMfWEClZ6cqGnl3UNSV1sRH+fQlOFdo92MY3bG4M7RbkKbx1dFAIAoieWoi1hFcAEAANYguIQaV+cCABA2BBcAAGCNsAWX3bt3a9asWSosLFRKSop69OihpUuX6tChQ17l3n33XY0aNUrJyckqKCjQihUrwtUkAABgubD9qmj79u2qra3VPffco+LiYm3ZskWzZ8/WN998o5UrV0qS3G63xo8fr3Hjxunuu+/We++9p4suukiZmZm65JJLwtU0AABgqbAFl4kTJ2rixIme50VFRdqxY4fuuusuT3B5+OGHdejQIa1Zs0ZJSUnq16+fNm/erFWrVhFcAABAIxG9xqW6ulodOnTwPF+/fr1Gjx6tpKQfRh6cMGGCduzYoS+++MJnHTU1NXK73V6PWBIXF9mf9/FjQm8R7n40wL1c7BHPwQJLRSy47Ny5U6tXr9all17qea2qqkp5eXle5eqeV1VV+aynoqJCLpfL8ygoKAhLe1t6Ar5/xjBltUvS7ecNDml7GrrwhO7q0j5FU8rsH9ApFO6aOkRZ7ZL0+4vLwlL/WaWd1TM3TWNLcsJSf2txzrACde2Qqunl3aLdFDTjzu+PmZXnDIp2U4CgOIwJ7rZxCxcu1K233tpkmW3btqmkpMTzfN++fTrxxBM1ZswY3XfffZ7Xx48fr8LCQt1zzz2e17Zu3ap+/fpp69at6tOnT6O6a2pqVFNT43nudrtVUFCg6upqZWRkBLMqTTpu2Uv6/Kujy9m9fFJQ8xpj5IjAn56RWo4twt0f9Hdg6Cd7RGtbdV/4rCTpj5eP0NBu7SO+fMQGt9stl8sV9Pt30Ne4zJ8/XzNnzmyyTFFRkef/+/fv19ixYzVixAjde++9XuXy8/N14MABr9fqnufn+74HiNPplNPpDLbZERWpEwFvDt7C3R/0d2DoJ3tEe1uxq6Algg4uOTk5yskJ7OPyffv2aezYsRo6dKgeeOABxcV5fzNVXl6uxYsX67vvvlNiYqIkqbKyUr1791b79qRwAADgLWzXuOzbt09jxoxR165dtXLlSn3++eeqqqryunbl/PPPV1JSkmbNmqX3339fjz76qG6//XbNmzcvXM0CAMQIPnBBS4Tt59CVlZXauXOndu7cqS5dvG8jX3dZjcvl0osvvqg5c+Zo6NChys7O1pIlS/gpNAAA8ClswWXmzJnNXgsjSQMHDtTrr78ermYAAIBWhHsVAQAAaxBcAACANQguAADAGgQXAABgDYKLH/xMDwCA2ENwAQBERbRH7oWdCC4AAMAaBBcAAGANggsAALAGwQUAAFiD4AIAAKxBcAEAANYguAAAAGsQXAAAgDUSot2AWMW4SAAQHhP65Wn/l//WgM6uaDcFFiK4AAAi6p5pw2SMYeRctAhfFQEAIo7QgpYiuAAAAGsQXAAAgDUILgAAwBoEFwAAYA2CCwAAsAbBBQAAWIPgAgAArEFwAQAA1iC4+OEQgyMBABBrCC4AAMAaBBcAAGANggsAALAGwQUAAFiD4AIAAKxBcAEAANYguAAAAGsQXAAAgDUILgAAwBoEFz8cDJwLAEDMIbgAAABrEFwAAIA1CC4AAMAaBBcAAGANggsAALBG2ILL7t27NWvWLBUWFiolJUU9evTQ0qVLdejQIa8yDoej0ePNN98MV7MAAIDFEsJV8fbt21VbW6t77rlHxcXF2rJli2bPnq1vvvlGK1eu9Cr70ksvqV+/fp7nWVlZ4WoWAACwWNiCy8SJEzVx4kTP86KiIu3YsUN33XVXo+CSlZWl/Pz8cDUFAAC0EhG9xqW6ulodOnRo9Prpp5+u3NxcjRw5Uk8//XSTddTU1Mjtdns9AABA2xCx4LJz506tXr1al156qee1tLQ0/epXv9Ljjz+uZ599ViNHjtSZZ57ZZHipqKiQy+XyPAoKCiLRfAAAEAMcxhgTzAwLFy7Urbfe2mSZbdu2qaSkxPN83759OvHEEzVmzBjdd999Tc47ffp07dq1S6+//rrP6TU1NaqpqfE8d7vdKigoUHV1tTIyMoJYk6aNqFin/dX/liTtXj4pZPUCAICj798ulyvo9++gr3GZP3++Zs6c2WSZoqIiz//379+vsWPHasSIEbr33nubrb+srEyVlZV+pzudTjmdzoDbCwAAWo+gg0tOTo5ycnICKrtv3z6NHTtWQ4cO1QMPPKC4uOa/mdq8ebM6duwYbLMAAEAbELZfFe3bt09jxoxRt27dtHLlSn3++eeeaXW/IHrooYeUlJSk0tJSSdITTzyhNWvWNPt1EgAAaJvCFlwqKyu1c+dO7dy5U126dPGaVv+ymptvvlkff/yxEhISVFJSokcffVSTJ08OV7MAAIDFgr44N9a09OKe5nBxLgAA4dPS92/uVQQAAKxBcAEAANYguAAAAGsQXAAAgDUILn44HI5oNwEAADRAcAEAANYguAAAAGsQXAAAgDUILgAAwBoEFwAAYA2CCwAAsAbBBQAAWIPgAgAArEFwAQAA1iC4AAAAaxBcAACANQguAADAGgQXAABgDYILAACwBsEFAABYg+ACAACsQXABAADWILgAAABrEFwAAIA1CC4AAMAaBBc/HI5otwAAADREcAEAANYguAAAAGsQXAAAgDUILgAAwBoEFwAAYA2CCwAAsAbBBQAAWIPgAgAArEFwAQAA1iC4+DGmd44kKSfdGeWWAACAOgnRbkCs+vmpfdQ7P0Pj+uRGuykAAOB7BBc/UpMSNO34btFuBgAAqIevigAAgDUILgAAwBoEFwAAYA2CCwAAsEZYg8vpp5+url27Kjk5WR07dtS0adO0f/9+rzLvvvuuRo0apeTkZBUUFGjFihXhbBIAALBYWIPL2LFj9dhjj2nHjh364x//qP/93//V5MmTPdPdbrfGjx+vbt26adOmTbrtttv0i1/8Qvfee284mwUAACzlMMaYSC3s6aef1plnnqmamholJibqrrvu0uLFi1VVVaWkpCRJ0sKFC/XUU09p+/btAdXpdrvlcrlUXV2tjIyMcDYfAACESEvfvyN2jcvBgwf18MMPa8SIEUpMTJQkrV+/XqNHj/aEFkmaMGGCduzYoS+++MJnPTU1NXK73V4PAADQNoQ9uFx33XVq166dsrKytGfPHv3pT3/yTKuqqlJeXp5X+brnVVVVPuurqKiQy+XyPAoKCsLXeAAAEFOCDi4LFy6Uw+Fo8lH/a54FCxbo7bff1osvvqj4+HhNnz5dx/Lt1KJFi1RdXe157N27t8V1AQAAuwQ95P/8+fM1c+bMJssUFRV5/p+dna3s7Gz16tVLffr0UUFBgd58802Vl5crPz9fBw4c8Jq37nl+fr7Pup1Op5xObnwIAEBbFHRwycnJUU5OTosWVltbK+nodSqSVF5ersWLF+u7777zXPdSWVmp3r17q3379i1aBgAAaL3Cdo3Lhg0b9Nvf/labN2/Wxx9/rJdffllTpkxRjx49VF5eLkk6//zzlZSUpFmzZun999/Xo48+qttvv13z5s0LV7MAAIDFwnZ36NTUVD3xxBNaunSpvvnmG3Xs2FETJ07U9ddf7/mqx+Vy6cUXX9ScOXM0dOhQZWdna8mSJbrkkksCXk7d9TL8uggAAHvUvW8He91rRMdxCYdPPvmEXxYBAGCpvXv3qkuXLgGXtz641NbWav/+/UpPT5fD4Qhp3W63WwUFBdq7dy+D24UR/RwZ9HNk0M+RQT9HRjj72Rijr776Sp06dVJcXOBXroTtq6JIiYuLCyqptURGRgYHRgTQz5FBP0cG/RwZ9HNkhKufXS5X0PNwd2gAAGANggsAALAGwaUJTqdTS5cuZcC7MKOfI4N+jgz6OTLo58iIxX62/uJcAADQdvCJCwAAsAbBBQAAWIPgAgAArEFwAQAA1iC4+HHnnXeqe/fuSk5OVllZmTZu3BjtJsWMiooKHXfccUpPT1dubq7OPPNM7dixw6vMv//9b82ZM0dZWVlKS0vT2WefrQMHDniV2bNnjyZNmqTU1FTl5uZqwYIFOnz4sFeZV199VUOGDJHT6VRxcbEefPDBRu1pK9tq+fLlcjgcuuaaazyv0c+hsW/fPl1wwQXKyspSSkqKBgwYoLfeessz3RijJUuWqGPHjkpJSdG4ceP04YcfetVx8OBBTZ06VRkZGcrMzNSsWbP09ddfe5V59913NWrUKCUnJ6ugoEArVqxo1JbHH39cJSUlSk5O1oABA/Tcc8+FZ6Uj7MiRI7rhhhtUWFiolJQU9ejRQzfffLPXfWro55Z57bXXdNppp6lTp05yOBx66qmnvKbHUr8G0pZmGTSydu1ak5SUZNasWWPef/99M3v2bJOZmWkOHDgQ7abFhAkTJpgHHnjAbNmyxWzevNmceuqppmvXrubrr7/2lLnssstMQUGBWbdunXnrrbfM8ccfb0aMGOGZfvjwYdO/f38zbtw48/bbb5vnnnvOZGdnm0WLFnnKfPTRRyY1NdXMmzfPbN261axevdrEx8ebF154wVOmrWyrjRs3mu7du5uBAweaq6++2vM6/XzsDh48aLp162ZmzpxpNmzYYD766CPzl7/8xezcudNTZvny5cblcpmnnnrKvPPOO+b00083hYWF5ttvv/WUmThxohk0aJB58803zeuvv26Ki4vNlClTPNOrq6tNXl6emTp1qtmyZYt55JFHTEpKirnnnns8Zf7nf/7HxMfHmxUrVpitW7ea66+/3iQmJpr33nsvMp0RRsuWLTNZWVnmmWeeMbt27TKPP/64SUtLM7fffrunDP3cMs8995xZvHixeeKJJ4wk8+STT3pNj6V+DaQtzSG4+DB8+HAzZ84cz/MjR46YTp06mYqKiii2KnZ99tlnRpL561//aowx5ssvvzSJiYnm8ccf95TZtm2bkWTWr19vjDl6oMXFxZmqqipPmbvuustkZGSYmpoaY4wx1157renXr5/Xss4991wzYcIEz/O2sK2++uor07NnT1NZWWlOPPFET3Chn0PjuuuuMyNHjvQ7vba21uTn55vbbrvN89qXX35pnE6neeSRR4wxxmzdutVIMn//+989ZZ5//nnjcDjMvn37jDHG/Od//qdp3769p9/rlt27d2/P85/85Cdm0qRJXssvKyszl1566bGtZAyYNGmSueiii7xeO+uss8zUqVONMfRzqDQMLrHUr4G0JRB8VdTAoUOHtGnTJo0bN87zWlxcnMaNG6f169dHsWWxq7q6WpLUoUMHSdKmTZv03XffefVhSUmJunbt6unD9evXa8CAAcrLy/OUmTBhgtxut95//31Pmfp11JWpq6OtbKs5c+Zo0qRJjfqCfg6Np59+WsOGDdM555yj3NxclZaW6ne/+51n+q5du1RVVeW1/i6XS2VlZV79nJmZqWHDhnnKjBs3TnFxcdqwYYOnzOjRo5WUlOQpM2HCBO3YsUNffPGFp0xT28JmI0aM0Lp16/TBBx9Ikt555x298cYbOuWUUyTRz+ESS/0aSFsCQXBp4J///KeOHDnidaKXpLy8PFVVVUWpVbGrtrZW11xzjU444QT1799fklRVVaWkpCRlZmZ6la3fh1VVVT77uG5aU2Xcbre+/fbbNrGt1q5dq3/84x+qqKhoNI1+Do2PPvpId911l3r27Km//OUvuvzyy3XVVVfpoYcekvRDPzW1/lVVVcrNzfWanpCQoA4dOoRkW7SGfl64cKHOO+88lZSUKDExUaWlpbrmmms0depUSfRzuMRSvwbSlkBYf3doRNecOXO0ZcsWvfHGG9FuSquzd+9eXX311aqsrFRycnK0m9Nq1dbWatiwYbrlllskSaWlpdqyZYvuvvtuzZgxI8qtaz0ee+wxPfzww/rDH/6gfv36afPmzbrmmmvUqVMn+hlB4ROXBrKzsxUfH9/olxkHDhxQfn5+lFoVm6688ko988wzeuWVV9SlSxfP6/n5+Tp06JC+/PJLr/L1+zA/P99nH9dNa6pMRkaGUlJSWv222rRpkz777DMNGTJECQkJSkhI0F//+lfdcccdSkhIUF5eHv0cAh07dlTfvn29XuvTp4/27Nkj6Yd+amr98/Pz9dlnn3lNP3z4sA4ePBiSbdEa+nnBggWeT10GDBigadOmae7cuZ5PE+nn8Iilfg2kLYEguDSQlJSkoUOHat26dZ7XamtrtW7dOpWXl0exZbHDGKMrr7xSTz75pF5++WUVFhZ6TR86dKgSExO9+nDHjh3as2ePpw/Ly8v13nvveR0slZWVysjI8LyJlJeXe9VRV6aujta+rU4++WS999572rx5s+cxbNgwTZ061fN/+vnYnXDCCY1+zv/BBx+oW7dukqTCwkLl5+d7rb/b7daGDRu8+vnLL7/Upk2bPGVefvll1dbWqqyszFPmtdde03fffecpU1lZqd69e6t9+/aeMk1tC5v961//Ulyc91tOfHy8amtrJdHP4RJL/RpIWwIS8GW8bcjatWuN0+k0Dz74oNm6dau55JJLTGZmptcvM9qyyy+/3LhcLvPqq6+aTz/91PP417/+5Slz2WWXma5du5qXX37ZvPXWW6a8vNyUl5d7ptf9THf8+PFm8+bN5oUXXjA5OTk+f6a7YMECs23bNnPnnXf6/JluW9pW9X9VZAz9HAobN240CQkJZtmyZebDDz80Dz/8sElNTTW///3vPWWWL19uMjMzzZ/+9Cfz7rvvmjPOOMPnz0lLS0vNhg0bzBtvvGF69uzp9XPSL7/80uTl5Zlp06aZLVu2mLVr15rU1NRGPydNSEgwK1euNNu2bTNLly61+me69c2YMcN07tzZ83PoJ554wmRnZ5trr73WU4Z+bpmvvvrKvP322+btt982ksyqVavM22+/bT7++GNjTGz1ayBtaQ7BxY/Vq1ebrl27mqSkJDN8+HDz5ptvRrtJMUOSz8cDDzzgKfPtt9+aK664wrRv396kpqaaH//4x+bTTz/1qmf37t3mlFNOMSkpKSY7O9vMnz/ffPfdd15lXnnlFTN48GCTlJRkioqKvJZRpy1tq4bBhX4OjT//+c+mf//+xul0mpKSEnPvvfd6Ta+trTU33HCDycvLM06n05x88slmx44dXmX+7//+z0yZMsWkpaWZjIwMc+GFF5qvvvrKq8w777xjRo4caZxOp+ncubNZvnx5o7Y89thjplevXiYpKcn069fPPPvss6Ff4Shwu93m6quvNl27djXJycmmqKjILF682OvntfRzy7zyyis+z8kzZswwxsRWvwbSluY4jKk3bCEAAEAM4xoXAABgDYILAACwBsEFAABYg+ACAACsQXABAADWILgAAABrEFwAAIA1CC4AAMAaBBcAAGANggsAALAGwQUAAFiD4AIAAKzx/wH2LVmI4NvWsAAAAABJRU5ErkJggg==\n"
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [
"# Smoothed\n",
"# https://www.geeksforgeeks.org/how-to-plot-a-smooth-curve-in-matplotlib/\n",
"spline = make_interp_spline(data[\"episodes\"],data[\"rewards\"])\n",
"\n",
"x = np.linspace(min(data[\"episodes\"]), max(data[\"episodes\"]), 50)\n",
"y = spline(x)\n",
"\n",
"plt.plot(x, y)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 447
},
"id": "J53mi64-z_wT",
"outputId": "de816835-115f-404d-b310-1ce4a924f01b"
},
"execution_count": 27,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fe6f4474430>]"
]
},
"metadata": {},
"execution_count": 27
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "aZd9XTsi1cia"
},
"execution_count": 27,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment