{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Q-learning " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "try:\n", " import google.colab\n", " IN_COLAB = True\n", "except:\n", " IN_COLAB = False\n", "\n", "if IN_COLAB:\n", " !pip install -U gymnasium pygame moviepy\n", " !pip install gymnasium[box2d]" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gym version: 0.26.3\n" ] } ], "source": [ "import numpy as np\n", "rng = np.random.default_rng()\n", "import matplotlib.pyplot as plt\n", "import os\n", "\n", "import gymnasium as gym\n", "print(\"gym version:\", gym.__version__)\n", "\n", "from moviepy.editor import ImageSequenceClip, ipython_display\n", "\n", "class GymRecorder(object):\n", " \"\"\"\n", " Simple wrapper over moviepy to generate a .gif with the frames of a gym environment.\n", " \n", " The environment must have the render_mode `rgb_array_list`.\n", " \"\"\"\n", " def __init__(self, env):\n", " self.env = env\n", " self._frames = []\n", "\n", " def record(self, frames):\n", " \"To be called at the end of an episode.\"\n", " for frame in frames:\n", " self._frames.append(np.array(frame))\n", "\n", " def make_video(self, filename):\n", " \"Generates the gif video.\"\n", " directory = os.path.dirname(os.path.abspath(filename))\n", " if not os.path.exists(directory):\n", " os.mkdir(directory)\n", " self.clip = ImageSequenceClip(list(self._frames), fps=self.env.metadata[\"render_fps\"])\n", " self.clip.write_gif(filename, fps=self.env.metadata[\"render_fps\"], loop=0)\n", " del self._frames\n", " self._frames = []\n", "\n", "def running_average(x, N):\n", " kernel = np.ones(N) / N\n", " return np.convolve(x, kernel, mode='same')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this short exercise, we are going to apply **Q-learning** on the Taxi environment used last time for MC control.\n", "\n", "As a reminder, Q-learning updates the Q-value of a state-action pair **after each transition**, using the update rule:\n", "\n", "$$\\Delta Q(s_t, a_t) = \\alpha \\, (r_{t+1} + \\gamma \\, \\max_{a'} \\, Q(s_{t+1}, a') - Q(s_t, a_t))$$\n", "\n", "**Q:** Update the class you designed for online MC in the last exercise so that it implements Q-learning. \n", "\n", "The main difference is that the `update()` method has to be called after each step of the episode, not at the end. It simplifies a lot the code too (no need to iterate backwards on the episode).\n", "\n", "You can use the following parameters at the beginning, but feel free to change them:\n", "\n", "* Discount factor $\\gamma = 0.9$. \n", "* Learning rate $\\alpha = 0.1$.\n", "* Epsilon-greedy action selection, with an initial exploration parameter of 1.0 and an exponential decay of $10^{-5}$ after each update (i.e. every step!).\n", "* A total number of episodes of 20000.\n", "\n", "Keep the general structure of the class: `train()` for the main loop, `test()` to run one episode without exploration, etc. \n", "\n", "Plot the training and test performance in the end and render the learned deterministic policy for one episode.\n", "\n", "*Note:* if $s_{t+1}$ is terminal (`done` is true after the transition), the target should not be $r_{t+1} + \\gamma \\, \\max_{a'} \\, Q(s_{t+1}, a')$, but simply $r_{t+1}$ as there is no next action." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "class QLearningAgent:\n", " \"\"\"\n", " Q-learning agent.\n", " \"\"\"\n", " \n", " def __init__(self, env, gamma, epsilon, decay_epsilon, alpha):\n", " \"\"\"\n", " :param env: gym-like environment\n", " :param gamma: discount factor\n", " :param epsilon: exploration parameter\n", " :param decay_epsilon: exploration decay parameter\n", " :param alpha: learning rate\n", " \"\"\"\n", " self.env = env\n", " self.gamma = gamma\n", " self.epsilon = epsilon\n", " self.decay_epsilon = decay_epsilon\n", " self.alpha = alpha\n", " \n", " # Q_table\n", " self.Q = np.zeros([self.env.observation_space.n, self.env.action_space.n])\n", " \n", " def act(self, state):\n", " \"Returns an action using epsilon-greedy action selection.\"\n", " \n", " action = rng.choice(np.where(self.Q[state, :] == self.Q[state, :].max())[0])\n", " \n", " if rng.random() < self.epsilon:\n", " action = self.env.action_space.sample() \n", " \n", " return action\n", " \n", " def update(self, state, action, reward, next_state, done):\n", " \"Updates the agent using a single transition.\"\n", " \n", " # Bellman target\n", " target = reward\n", " \n", " if not done:\n", " target += self.gamma * self.Q[next_state, :].max()\n", " \n", " # Update the Q-value\n", " self.Q[state, action] += self.alpha * (target - self.Q[state, action])\n", " \n", " # Decay epsilon\n", " self.epsilon = self.epsilon * (1 - self.decay_epsilon)\n", " \n", " \n", " def train(self, nb_episodes, recorder=None):\n", " \"Runs the agent on the environment for nb_episodes. Returns the list of obtained returns.\"\n", "\n", " # Returns\n", " returns = []\n", " steps = []\n", "\n", " # Fixed number of episodes\n", " for episode in range(nb_episodes):\n", "\n", " # Reset\n", " state, info = self.env.reset()\n", " done = False\n", " nb_steps = 0\n", "\n", " # Store rewards\n", " return_episode = 0.0\n", "\n", " # Sample the episode\n", " while not done:\n", "\n", " # Select an action \n", " action = self.act(state)\n", "\n", " # Perform the action\n", " next_state, reward, terminal, truncated, info = self.env.step(action)\n", " \n", " # End of the episode\n", " done = terminal or truncated\n", "\n", " # Learn from the transition\n", " self.update(state, action, reward, next_state, done)\n", "\n", " # Go in the next state\n", " state = next_state\n", "\n", " # Increment time\n", " nb_steps += 1\n", " return_episode += reward \n", " \n", "\n", " # Record at the end of the episode\n", " if recorder is not None and episode == nb_episodes -1:\n", " recorder.record(self.env.render())\n", "\n", " # Store info\n", " returns.append(return_episode)\n", " steps.append(nb_steps)\n", " \n", " \n", " return returns, steps\n", " \n", " def test(self, recorder=None):\n", " \"Performs a test episode without exploration.\"\n", " previous_epsilon = self.epsilon\n", " self.epsilon = 0.0\n", " \n", " # Reset\n", " state, info = self.env.reset()\n", " done = False\n", " nb_steps = 0\n", " return_episode= 0\n", "\n", " # Sample the episode\n", " while not done:\n", " action = self.act(state)\n", " next_state, reward, terminal, truncated, info = self.env.step(action)\n", " done = terminal or truncated\n", " return_episode += reward\n", " state = next_state\n", " nb_steps += 1\n", " \n", " self.epsilon = previous_epsilon\n", " \n", " if recorder is not None:\n", " recorder.record(self.env.render())\n", "\n", " return return_episode, nb_steps" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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qO48dmcuBJFf6NTflu6poHWRpIyqV5ytq7UaMnIKytla/STu0/WH9el6z8x3V9898QCgNCYga+BuHdLB2yUAAAB43aJFi9wez507V61atdL69et18cUXu7bbbDbFxMTUd3k+IUeBeqdwlCb7LdZ0///oTcd4FfjonwNzfzjguv/D3hO1Oscry/bqlWV7ZfOzyF7oPi/bLXPXamfKqQoXfTjT3R9uqHDfnGV79PHaRJ3MzteWIxlaWTwstHtsWK3qLnHmyrFzf9jvthpseUFfPXdA85hTeQV6oHh+vtEJMWpm882fWwCQ6BHX4AX6W71dAgAAQIOTkVE011dkZKTb9u+++06tWrVS165dNWXKFKWmppZ3eJP1cuE1rvsfB/zZi5V4ztur9lfZ5ovNScovLH8RhDNDOEnamXLK7b8VSa9Gz7wdyZk6mV3U7qdfT4eGS3ZUsLJrNQenpmS6927bddS91jPPsiMpUz/v98xCFkt/Oao9xdfLK3Do801HlJZ9+rU4kWXX459v04/7ip6vw2nqyy1l596r7tDUvILT75HdA73Z1h9MO+tzNCWJJ3P01dbkCntx1tS2Ixn6odQiK0BTQxAHAAAAn2KapqZNm6YLL7xQCQkJru1jx47VvHnztGzZMs2ePVtr167VJZdcIrvdXuG57Ha7MjMz3W6NWbpCNafwKklSP8seRapxP98S9320UX9Z6PlJ+n9XjbnWSmcXpcPA98qZH06SDqdVbzis2zWq0eayV76v8XnLs+FQmm57d51GvrRSkvTs1zv1h4836cZ//OR2rfd+PKgb//GTK6jbfLjqhTIqUt1wsrqe+GK7TuWVN1QW5bnoueWaOm+DFmw64pHzXT5nlW765886kl7zn3WgMSCIAwAAgE+55557tGXLFn300Udu26+//nqNGzdOCQkJGj9+vL7++mvt3r1bCxdWPB/arFmzFB4e7rrFx8dX2LYuvHR973q9nuTeK+5h/w/r/freUlHwdTa2HM6oslfclsPpNTrnnqNZOpmdr8STOTU67szOSqfyCl33a3quEr8eK7uowcozVlz9ckuypKLegw6nqe1JGTqaeTr8thc49coZc9eVzBdXukPc4bQcncgqOs40Ta3ee1wbDqXp0Ikct6TRqGY3utRTeUqqJOg5lVeo3UdPKTffobwCh3amZLp6fJ35uDpKnntNVvGtK4dO5Lj1UPSUn/Z5pkdliSO1CJ3RtCWezHH1MPZlBHEAAADwGffee6+++OILLV++XG3atKm0bWxsrNq1a6c9eyqewH7GjBnKyMhw3RITEz1dcqU6twyt1+tJkkNWXWN/QpJ0rXWlzjN213sNjUmfp5ZUuj+t3EUKKnbXB+t13p+X6KLnlut4VsW9Oc80f2PFvZUuem55jWooccnsFdqZ4t5r8uVv3X+fSudif/5yh8a9sspt/7e/HNWBE+5BYO+nFpe51oV/Xa5+f/lWkvTRmkRN/OfPmvDaal38/HK3RSaqE8M5naYueHqpBj+7TDn5heW2WbXnuEa9tFKXz/leN7z1k8a8/L0Wbi0KFX/7z5815uXv9cXmssNpK/KXhUXP/Zmvfqn2MXXhaGaeLn5+ufr+ufKfS8DXpJ7K00XPLdd5jeBnmyAOAAAADZ5pmrrnnnv02WefadmyZerQoeoFrU6cOKHExETFxsZW2MZmsyksLMzt1hSsN8/Rfme0JGlewDNqZ6R4uSKUZ/fRUypwOFXgKBrSWv7Ko0W9zmoqN796c619v/t4tdu/s/pAmW3v/1R+T0Sn01S+o/y65/7gPu9fdXsV5uY7lJvvUIHz9HkPHC+/N+B/i1dg3XcsW5sSi87/ydqiIH5d8Rxy5a2EW5GSBURKz1lY+jU78/WzFzpUWMHzP1N+4emfgapsPYshwFUxZdaolqoYRvV/DtG4VefnYHtS45lKgSAOAAAADd7dd9+tDz74QB9++KFCQ0OVkpKilJQU5eYWDW3KysrS9OnT9eOPP+rAgQP67rvvNH78eEVFRenqq6/2cvUN060FD0qSgox8veb/NwWIObMaGqdTGvjMUg2atUwvLdldbk8yqXbzv3V/fJHeWrnPbZu9sOwfw4YhPTJ/q7o/vkibiwOrEv9el1hlD7VNZxxT4to3Vuu7XcfKbN+eVDZIKj1C9H/lLPogSYu2paj744vU/fFFOufR06ssX/bK9/pfOT3b1hyoepjl2QwyXbDxiLo/vkjvrj6gxz/fpu6PL3K9FvZCh857aomGvfBdlecpdDh1/tPfasizy+SsxrDXuhwYW+gw1f8vS3ThX5d5ZOGGOcv2qvvji/RtBQuXoGmYvXiXuj++qMyw9zP56qrP5SGIAwAAQIP3+uuvKyMjQ8OGDVNsbKzr9sknn0iSrFartm7dqiuvvFJdu3bVpEmT1LVrV/34448KDa3/4Z++YL8Zq4F5c3TSbKaeloN60u8db5eEMxzPsutEdr6OZ9n1t6UVD7GurWe+2un2+Ndj2eW2m1fcM+zMud4e/O+Waq98eqYNh9LL3f7ad/vKhEmlQ5/HP99e7nF/+u/mCq/1x0821bC6kgvX7jBJur/4mk98sd01P+FLS4qGge8/nq3sfEe1FuZIzshTRm6BUk/ZlVuNFWM9tbJpeQ6n5Sozr1BHM+3lrjZcUyXByyMLtp71ueC75izbK0l68n/l/26XqO78kL7Az9sFAAAAAFWp6o/LoKAgffPNN/VUTeORohaaXnCX/uk/Wzf6LVeS2UJzHBO8XRaK3V/bAKkGrnx1lTYfzlDnVs20N7Xs4gzOUr97S3emltlveLifysLixR9Ke+rLyle8vfP9dW6LU5TnL1WcozxrDpzUsOeX67lre+uCDpGu7bMX79K3v6Rq3u0DdMvcNW77KrNi9zHZCx1lFtbYejhD9360QQ+N7aYxCbGaOm+97AVO/XNSf7d2d3+4QRbD0HX94/Xs179odM8YLd5xVK/ddJ7shU7d//HGKmsxTdMt0NicmK4/fLxRD1/WXaN6xri1Tc3M08R//lyt51Zdr323t9bH3jJ3jZbvOqZbhrTXlsMZ6hEbpj9fVbRydmZega5740eNSYjR/SO6Vnqe0693d41JiKm0rVTUq/P+jzfqkXE9NLJHtOv9/+9dgxRiKxupzPhsiz5ak6hJg9rpySsTyjkjamP6fyoO230NPeIAAACAJmyZ8zz9yzFGkvSA/3/V3igbhPx/e/cdJ1V1/3/8dadub2ynVymLSFE6KCqCYk/sBhQLKootCSYajck3EhONv3wTTWx8bYnGxJZgVIhgA0Vp0qX3pSxb2d0pO+f3x+wOO7uz7EJgtvB+Ph77YOfec+895947M4fPfs490natqH6mWKQgHMCyBjLXakQjSaWxEZkfrm58aOPzn29ptEwkWwvKufq5L8OW/e/HG1m7p4QfvPgVK3YW89xnTd/33AjDMG955Ru2FpQz7dWlHPL4eX9lPv9Zt4/8ksqw87tg/X4+XrePaa8uYWtBOX/+dDNbDhxixuvLmPp/X7O1oJy/fbPzqNo39aXgdre8sqTeuic++q7B++JYPf7B+mParrjCx/zqocyzv9jKkm2FYc8ffHnhVtbll9abTCSSm1+uOd/12xxJzbm9+eVvgMPX/6+LIz9D8K+Lg88afOkEzNR8Mttf2vTJa1o6BeJERERERFqItY9OaJbj/j//5aHfF7jv43Rr3RFKy8nk36uOPJHHnlozmkZTVcBw88vf0GXmnEbL+pvwbLUar0aYXKIqYHh3+S7ueG3pESdgqHGkOq3cFf4MvC4z54Sdw9o1NaZpw/EqfQHKI9TFGEMgYPjx37/lxepA5F8X72DK7MV0mTmHLjPncKDM2+B+607KYBoYqztvzV5ufeUbCg95KSr3cusr30QMODZkb0nkAMucb/dw+2tLKPP4Gxwm/Oynm+gycw6//Sh89ueDh4L1+HhdsB47C4OBtAfe+pb8kqO7ZyOdW6h/X/mqAsx4fVnEsu8u38Udf1lKpa8Krz9Y7m9fR3eW7g17S7nppW9YtavhCT2MMYx7YgFdZs4hv7gSf1WAe95Y3ujEJf9csZs7Xlva4CzF0WaM4aF3VvHMgk2NF24GGpoqIiIiItJCxLrszXLcUuIYVvm/fBlzJwBvuh+l3Li5w3cX8wMDm6VOIkfy4er8owr2NEWFt4oH31kVcd2M15cD0Df3v5tZ+c+fbObiAe2bXN72X2QcLtpUQJUxvPFNMOBz46iu/OTto3geW51jN/SEgJuqM8XS4oMB/A9X7+XD1XvZOuuCo65zbXf8ZSkAXdPjuWV094hl6j7nsMasf68Nq8c9byzn662Fx1SPpmZ9vr10F+8ujzyZSM39k5ebTEqck3eX7+bd5bu54vSOx1SnY3H9C4vJL6lkwfp9bPzV+RHLrNhZHHpW5I//8S2XDMzl7WW7eHvZLq4Z2qnBfd/512AAsldWIjPO6Xn8K3+UVu8uCWVM3nZm5HunOSkQ14J1S49v7iqIiIiIyEkin3aM8jzFe64HSbPKiLM8zHb9BoAf+W7mzaqxGA2okRbgybnf1Zs44nj4ZlvjgZrffHh4aOWmBia3aMxvP2p4eKa31iQICzcV8J+1jQcbtx8sj7j8mue/4pw+WaHXTckeBFi2vZBLn15Ix7TYsOWHamWG/W7ed1w+qANvLd0VWravxIOvVpZYhbeKpxds5Ny+WXj8AT7fcKDBY3763X7G9MqIuK6gzHtUz5b72bureKdWQGxfaWWDQbhnP93Exn1lpMS5uGFkF3KSYyko8/D851u4YkhHuqbHh2XE1c6w+s2H6zmnTybpCW6e/XRzxKGTe4orQpN1APz6g3XcXStQVVzh49rnv2TVrhI+uHs0S7cVEe+2c/Fp7Vm46QDfbC1k+lk9sB0hIvv11oN8vuEAMU47/qoAC77bjzGGUT3Suevsnjjswc/tmkzAI2WIlnsOZ7TtLqqgpOLw61W7ivlgVT63ndk94rPxAD7bsP+4B+LeXb4rmBVZizGGXUUVvPbVdqaM6EJWUgzGGJ5esIn+7ZOJcTbPH7WaSoG4FqxDWlxzV0FERERETiI7TSZneJ7mz87fcbb98BCrx53PcZfjbf7iH8erVedSgv5gLM3nRAThounjCJNe1Hj+s82h34/Hw+nnNSGQV9elTy8EYMfB8Fld1+4pCf3+50828+dPNlOXv9Zw1j/O38gf5m8MzYp5JD94cXGDGXQL1u8/quGkL9d5Ntv01yIPF4XwjLpPv9vPB3eP4Yd//5aP1+3jlUXbeOv2EWHlf/3B4fJVAcP4333KpFNzeW9F5Ey4G2Z/zbr80rBls7/YGvr95++tZtWu4Hmd8NRnoeUXDcjlmueCE2V0bhfHxac1nEX5/T8tirh86fYiMpJiuH5YZ77ZerDB7WurHaILGBOWkTnpfz8HoNJXxYOT+h7eplaqZFOC2UfDGBPKJqzt/ZX5PP7hOrYVlLNw4wHenT6KuWv2hgLlb04bflzrcbwpECciIiIiIiF+HEz1/RB80MfaxjTHP7nYvpAO1gF+5Pwb9zvexIedO3wz+E9goLLkRI6jp5vxmVZdZs7hfy499lk+686q+4f5RzdD6h2vLeXWsd0oLPexcmdRaPnRPtOtrsVNDEKtyy+l0lcVCpSWefxHfJ4aBCcSaSgIV7PPuoorfKHf31q2q956AG+tgOb2gnJ2FpbzwFsruXFUVzbtK6OkwsdpnVLokHrk5J0lWw8S77Jz79/Cg7rvLNvFiB7tyEyMYf66fWDB0/M3hj2TcNP+QxGzPt9bsRuPP4A/YHDYLGKc4d8Bn3y3n7G9Miiu8PGftXsZ2SOdLzYe4IyuaSzecpBz+2bx7c5i4lx2BnZKDTve2j0l5CbH8p91ezmvXzaxDWS2bTt4iG0FwUzQFTuLueO1peS1Tw6tr/1Mu7lr9tIpLY5TshOPeK6iyTKNzQUv9ZSUlJCcnExxcTFJSf/dMwLqqp0uPLZXBi/deMZx3b+IiIg0jxPZf5DjJ9rXaeXOYi78w+eh11tnXdDk4WPRlEIp0xz/ZJL9SzpYh4eXHTQJfBnoy6pAV7abTD4N9KeEhGasqYjIsbt1TDf+/Gn9TL9oO79/Nu+vDE6Ucte4Hvy+CVmFRysryc0rU4cy/nefHvd9b511AZNfXMwn3+2vt25AxxRW7CgKlav7nVcTsLtoQC5PXjGAHj/9d719nNcvq0mzJdet04l0NP0HZcSJiIiIiLQAH949prmr0KAiEpnlv4bf+q/gMvtnnGf7hrPty0izyjjfvpjz7YtDZbcGsvgs0J//BAbyVaAPFcQ0Y81FRJquJQThgFAQDuDFWkNZj6e9JR6mvbLkhOz7Z++uihiEA0JBOAgfil1j8ZZgBuN7K3Zzy5huEfcRKdOwMRv3lZGR6CY51nnU2x5vCsSJiIiIiLQALWnYTEP8OPhb1Vn8reos3D4vQ21rGWFbQ3drF92t3XSz5dPFtpcutr1czzwAdpp0lge6U4WdEhPHLpPORtOenSaDUhPLHtoR0PBWEZGI6k5UcDxtPnBsE440pu5z+hryyzlrj7i+5rl0ddUMSz0a5zz5CTFOG+t+MfGotz3eFIhrwZo6TbKIiIiISLR5cPFpYACfBgZULzF0svbRw9rFebZvGGVfSXurgA7WATrYG54tsdjEsdukU0w8pSaOEmLZZdIpNIl4cBGDFzc+NpscikwCm002+0kB1FkWEZGmq/QFGi8UBQrEiYiIiIjIcWCx3WSx3WTxcWAQ+KEdxeTZttLH2oYbH0lWObnWAXpb2+lqCz7fJ9kqJ9na3si+w/mNjYMkEYOHRYF+VOAigI2FgX4cNInsMJnsNamUEIcCdiIi0pIoENfC3DiyKy9+saW5qyEiIiIi8l8rIJlPAgP4hAER17vw0cvaQbpVQgIVJFrlpHCInraduPDhwk8Fbtz46GzlE4eHzrZ9OKwAmRQBcJ79m9D+LrOHD2MqNAkcIob9JoUDJoltJosSE88hYig0CZQQT7GJpxw3HpwcNEmU46YSFwrgiYjIiaBAXAvTLsEV+l1f/SIiIiLSlnlxssp0A1NnRVXD27jw0dHaRw9rN/FUEGd5SLeKGWBtItUqI5FyOlj7cVt+Uq0yUikLm+m1KSqNEy9OYvAAkG/SsIBy3NgJ4MSPBydV2CkjBidVOPFTjpu9JjUU0DtkYthpMthPCoUmgSKTQBHB4KB6+yIiJycF4kREREREpNXw4mSTac8m0/6I5WKppL8VHGmSYpWRYx0kxyogkQrirQoyKCbBqiDbCs7Ql0Q5sZYXgBjLRwy+0L46WZFn/zvmNhg75cRQYJIoJZZYvLjwUUEMPuxUYaPcuDlELD4ceHFQaZxU4gbAj50KXHiMCw8OPLioxEWZiaWMWHzGQSmxVOCmChsBbHiMEyd+9pCG0eQYInKSCgQMNlvz/iFEgbgWpvYEDe1TY5uvIiIiIiIirVgFMSw2fYIv6mbcNcBGgFiCGXYOqjhkYrATIMcqwI7BZgWwMFQaF27Lh50AGRRhw3CQRGLwkmsdIMkqJxYvSRyii20vKZSRapWSQhluy4/LqsLFIVKsEzNj4ZGUmRj2m2QOEYudAH5s7DQZweCecePHThmxFJgk8k0qJcTjwYnBIpjn5yXJKieRCuxUkWBVUmpi2WEycFn+4HBiEwwMVuLCgxMLQ4UJBgUdVGFhCGAj1SqlCjuFJgEfDopMAiXEUUYsyhgUkbZKgbgW7Ifn9W7uKoiIiIiInDQC2DhELIdM+B/Ed5mM4C+1A3pNDO6FM8TiIYVDxFsVdLAO4KAqGN4yDuIsDy78WNXlsqxCYvFSUT17bJzlwWBhI0AcHtz4cFk+3PiIp5IEq4I4KnHhJ8kqJwYvDqqwU4XLCo73TbAqSbAqw2rVn63H0pgT5pBxs9nk4MFFkYnHixM7AQJYxFMZGhbsx3b4X2PHh4ODJBLARgwePDhx4cdBFQFslJg4bBgqcQZzD60AbnwUmgR2mgzyTSrFxFNuYgBwWFXV5y84HNmNjyyrEAdVuPDhsKpCw5JrylXgogI3xdX1rjDu0JBmB36cVhVxVBJPJYlWBVXYsDAcMjHsJ4VNgVwOkIwBZS6KnADH9NF9nCkQ14IlxzqbuwoiIiIiInLcWFQQQwUxYGCj6RC++gT+D9FGMJuvi5VPKqUkWJUYLGLwkGkVEYM3FFRKsspJt4rJsgpJohx7dZCpjBgOmVhKiaPExFGFjUpcZFsHSaScKux4ceLGi9vyhYKCBotYPNitAH5jxwB2AhSREDqeCz9JHMJt+Ym3PPS3tp64k9EK+I0NHw7KiKW8OlPRi5MKXNgIYLBRaVwEsLBbAXzGTilxbDdZbDS57DWpFJgkSojDZxx4cBKDl1grGJwNDWPGjgsfBhsO/ASw4cWBDUMclQQzEw0xlpccDuKwqjBY7DFpeIwrGDS2PMTgpQo7HpzYCFSHSquowI0XBwFjo4xghqnBqs6YdFe39vCN76CKODwkUk6c5SGVUrw42WEy8OHAjY+y0N1qoyZz0o2XmOqfWMuDgypKTRxeHBSTQCBKQU0nfhIIZsTGWh4C1e88J34qcVFi4vBUZ4oq67N5GGNo7nOvQJyIiIiIiEgbVxOICD1bryWkhUQQg4eO1n46WPuJw0OKVYa9OqPNRoBDJhan5ceGwU7tjLUqYiwvqZRiI4AHF7F4qMCNDwcO/MRTGSxr+Sk3MRjAg4s0q4Su1QHKRKuc+OoAlB8bfuxhP/tNCpW48Jrgs/v8OPBjr362n50YPMThIdUqw40PN17irUp8xoGfYHCtHDdlJrZ6eHAwsJVklZNJIZ2tfdgsg8MK4MBLLN7mjhmcMB7jxI+NGLwYLAJYoczNpggYK3Rt7VbDN3SVsaionhm5AjcWpvr+CWARwFb9uiZYba+zzIeDQhKoNC6c+Ckjjv0mGQtDilVGe+sACVQGA5BHUf9y4+aAScKDiwSrAhsBDphkDBZufKF7xWsc2CyDMRZVWBSRQKmJo5Q4/NixYfBjw2ucHCIGJ/7gj+XHRRVgcOHHVf3cSxuGAMFz58FJuYnhEG5sGBzVmZsOK5gFagg+PzPZOkRsdS5qjBUMeNqpqr7/bVQYN4eqA61V1e8bq/pDxludmerBgce4QjNTl5vgNQk+B9OJr/o9VYE7/H1nbPhxYFUHhOOoJAYfHpx8G+jGPlKbfM6hZXz0KRAnIiIiItKC/HP6KJ5esJF/r8pv7qqIRF0lbjaYDmyomy14knDgJ5FghqDT8gcnF6ECpxUMOMZRWZ0JBnF4sDCh4cqpVhk9rF10svaRaRXRziomgcrg0FkrgNfYqcRFFXbiqWg06BUwFjbLEDAWHpzsN8lU4MZBFdnWQdz4qKqeOCQYEKuqzngjFKRMoKLe8OgabssXyomrGx7xGCeHqgOWTquKLApDdbFVB91slsFda1IVCGYSluMmgI14KoPnzTIkUEkClUDpUV8TZ3WW3tEERL3GTkX1kGQLgxdncDi5dbi+cZan3kQwWVbRUdfvZFZu3FzlfZBvTfcmb+P1B3Dam3fYtwJxIiIiIiItSP8OyXxvcAcF4kROQn4cFJIUfPFfP5Pw8MbBTCV72FIXPpz48VYPJ63JrnLjDWVL1QT6IkehjmaIXzArqyZTKoEKEqjAbgVCmWaWZSg1cdWTfLjq1dXCVA9P9VZnePlxW75Q8K2cGPx1Qhx2qkinmDjLgxM/sRweLtrwv8GcuSoTfB3MtCzDhQ8/dlKsMtKsUvwmOLHJHpNGoUkkgEU5MZTjrlePmnPgpIqY6lmS461K0inGbfkoNbEYLDKsYsDgwVVdXy9ufASwQtl6ydYhEiknsXpItx87jur9xloevMZZPZQ5mK1psDBYVGHDizP4/EFj4bCqQs+XjK9+XmGVOZyJFqjerpRYik1CdXaes3pYsZMAtupnH1YRi4d4qzKUuerCH3r+oRM/Phy48BFneYipyRSlEpflq37mYvX1xEeMFcy2qxne7Kj+sYBKXBwiBg9Oelo7SbPKeM71BBd6/qfJmXH+qubPiVMgTkRERESkhRnXO5OfnN+bzu3iufWVJc1dHRFp1ax6QTgIDhn0Ev5c8irAVytMYI4YaDuaMbNW2LGKSaCYhCYHG2tvG3zOYuPbAFRhZy9p/10g08C2Oq+PTXA4aM35LTDJbCfrOAZcTy4JlPOW62F62Xbxgus3XOH9WfD5m41wO5t/EpTmr4GIiIiIiISxLItbxnRnZI/05q6KiIhIi1NGHFN993PAJNHftpXfO/+IjUCj28U46welo02BOBERERERERERaVV2mCxu8d6Lxzg5176Enzhea+4qNYkCcSIiIiIizcTWSG+8jU6WKCIiclwsNb24zzcNgJsc/+Zq+3+auUaN0zPiRERERESaSZ/sJM48JYPMRHfE9fFudddFRESO5F+B4XTx5XO/800edfwfW0wOXwb6Nne1GqSMuBbG0t89RURERE4aNpvF/91wBo9/b0CDZX77/YbX1fb6LcOOV7Xqufi03BO2bxERkf/WH6ou4b2q4TitKp52PkVHa29zV6lBCsSJiIiIiLRyv7q0/zFtd27frEbLuOw2zunTeDkREZHmY/FD362sCHQjzSrjeecTJFDe3JWKSIE4EREREZFW7pqhnRotc/UZ9cuM650Z9vr/XXVavTIrfz6elDhn6PV5/RSUExGRlseDi1u897LXpHCKbSdPNXEm1WhTIE5EREREpAUb2jWtSeVOyUoMe31On/Ag22WD2tfbxgLuOacXANcO7cTonhn1yrgddvrmJIVen9cvu0n1ERERiba9pIVmUj3HvowfOt5o7irVo0CciIiIiEgL1jEtjs9+dFa95S5HeFc+Nd7FgvvP5J07RjLv3jE8c91g8tofDqCd3qV+QM+y4K6ze/DRPWP4xcV5pMW7+Nedo+qVa5fgZuHMcaz42Xj65SYfdRtW/fw85t9/5lFvdyxevvEMPvnhmbx+yzDevWMklw/qcFz3//otw1j3iwn86brBvHzjGWHrbjuze9jrd+8YeVyPLa1D53ZxzV2FVu+FyUPonZ0Ycd0Fp+ZEuTYNe2Bi7+auQouT2AImGVphevBD3y0A3Ob4J5faPmvmGoVTIE5EREREpIXrmFb/P/a1s9RqdEmP57SOKfTITMRpt3HZwGAQqmZo6UUDcuvsIxnLsuiVlYjNFpw0LK99MjPO7glAp1rHzU2JJbnWENXa4lz2But+fv9sEtwOuqbHH6mJx83ATil0bhfPsG7tGNAxhSeuCJ/swmGLPDnakdpQ27Bu7Yhx2pmQl11vm+8PDg/6DeiYEjpez8yEpjbhhBrerV1UjpOe4IrKcVqiK4Z0bO4qtHoDO6Xy9LWDIq67YUSX6FbmCE7rmBL63dK8iwD0aiCAGm3vBUbyB//FAMxyPs8Aa2Mz1+iw5g9VioiIiIhIoz64ezRF5T6uevbLJm/zg+GdyU2JZVDnFABmXd6f8/pl0yktjsJyL/07RM5umz6uB72zEzkjwrDYSP/Z/PzH41izu4TFWwq46LT2bNhbyoju6Xy+8QBnnnJ4uOtH94zhQKmH1HgXP3t3FV9vLay3r0sHtifB7eCVL7eFLe/cLo4Xp5zOjoPlePwBOreLY/P+Q4zskc7nGw6QGu/E7bCTGBM5WNiQZ68fTNf0eC754xeNlu2QGhv22tRZ3y2jfrDt8x+PY8XOIs46JZNeD/67yfW6+oyO/HXxjiaVfenGM5j84uImlX1u8hC+21vK3uJKbnttab31w7ql8ejFeYz/3adNritAYoyD0ko/AA9f2JfLB3fg1Ec+avL2Vw7pyBvfBNv7w/NO4Tcfrj+q458oV5/Rif2lHm4c2YVrnv8qbN0frhnI9L8sC73+36sHkuB2kBR7+B58aFJfemcnkpMcw47CiiNepz9dN5hpry5pcH3tcxRNp3dJjfhereu1m4bSKS2O0Y/Pb/K+Z085nb0llcx8a2W9dd0yEvjLTUNZvbuEwV1S+WrzQbpnxDMkQnZvJE05X9PGdudPn2xqcn2PxNT9QIjgxSlD+OviHcxd0/iMngM7pXDjyK4Ulnv52burQ8ufvGIA9/5tRVjZf905ih/9/VvW7CmJuK+Jedl8t7eUTfsPNV7JOp668jS2HyznybnfHfW20RTpM/MJ//c5xdrBufalPOt6kos8v2ym2oVTRpyIiIiISCvQOzuJYbWymSIFyepy2G1MyMsmMzEGgDiXgwtOzaF/h2TG9Kr/PLgaTruNif1zaJfgrrcuObZ+oCst3sWonuncO/4UemQmMLF/DslxTi44NYf4WsOUemUlMqJHOn1ykrhuWOeIx/7dlafxi0vy6i2/ZUw3umckcOYpmZzXL5ve2Umc3z+H5NjgcUZ0T2dw59RGz8nw7u2oSYr73uAOjO+XTc+sRIZ3bzxTrO4ss+3i62d9dakelljzbL/s5BjO65eNy2Fr0iy1AN0z4rlhZNcmlQUY2yujSRN2ACS4HQzqlMrE/jkRh5A9NKkvvbISGdmj6Zlzgzql8NAFfUOvbxjZlaSjDIjWHm54x1k9wtY1NETxWM26rGmzDMe57Dx2WX+enzyEET3S662fdOrhDNMF95/JhQNyOat3Zth9MXVUV0b2SKdbRgJje2UwoFYGVV0T8o78/MVff+/UsCzVaHlz2ogmlRvZI52OaXFhk7scyT9uG8FZvTMjlndXD70f0SOdm8d0Y1CnVG47szvjj+IZlb/+3qmNlpk5sTdv3d609kWSnlj/M/JIxvXO4vz+4W2Y2MB1/9+rB3LhgNx6GZYxzvrZu3ntk7l1bLcGj3v3Ob14aFLfsGU9jpClO6DWH2kuGdieu6qzpCOVe+TCvnWWpTS43/9W/BEylx+7LPx6j+udSUZiLHf77mB9oANZVhHPu34L3qMPRh5vyogTEREREWlF3ps+ks82HOCWMd3olZV4xP+YnAhZSTGM75vFR03I6DgSW4TUur9PGx6x7I8mnMKV/8Vwvw/uHs1LC7eSHOvi5tFdKa7w8c8Ve7hhVJdQmd98bwADfzE39DrB7SA3JYYbR3Ylv6QSu2Vx46jw4Fi3jAQemtSXX/xrDQ9X/2f0LzcP42/f7IgYaHz88lN5OXcblw5sz9XPfUlRuZcHzu/Dg++sCpW5+5yeXHl6R3KSY/nVpf3ZVnCIcm8VafEu/IEAY3tlEu+2c8HvPw/b96MX9eOT9fvZVVTR5PPyr7tG8fB7q1mwfj8A08/qEXoG4O+vGsgrX25j0aYCvtpyEID7x/finL5ZTHjq8POW7j6nJ9cM7cTHa/fV2/+rU4cyZfZi5t07lvdW7Ob1xdtJjnOxtjprJzXOSWG5D4DRPdN5aFJf+lQH3ebeM4Zzq7Py7jm3F9/ll9IrO5FbXzmcMXbZwPbsKCxnSJc0Sit9pCe4eWrehgbbe++5vTi/fzZd0xMoLPcRMAaPP8Dv/xN5m7p3aP/2yazcVQwEs9cAnvvBEArKPHSpNfS6S3o8v768P6lx9QO1z/1gMH/5ajvxLgeZSW5mvL68wfoCJMU4uGVMN8b1DgZx/3rLMEbO+ji0PsHt4OLTcrn9rB68+c0OrhjSkX+u2E3/9sn8Z90+th8sZ0K/bO5783AG1Z+uG8ym/WVhWYf3nNOL9qmx/OmTTWzcV8a5fbPCsrZ6ZiawYV9Z6PUtY7rxyqJtLJw5jneW76Jn5uFg6QX9c3jtq+0A/OKSPOat2UvPzASe/3xLqMyjF/cLBc7rZpLdOrZbWAC/Md8f3IE3l+wE4FeX9ufn/1zNb74/oF655FgnxRW+essHdUrl0Yv7kZMcy80vf9Pk447rnUn3CFmwAJmJbmZd3p8H317F7uLKsHV12/vYZf1JjnVS6vHz+YYDoTpa1Z+RMU47v796IH9asIlHLurHgTJP2PZ/vj54L154ai57iisZ0jmVSl+A6174igEdkrny9E6ckp1Ir6wEHrygD7+cs5bLBrbnwUl9eXnRVjITY/jtR+t56YYzsCz45Lv9dEyL466/Lgs7zitTz2DxloP85avtZCS6OVDm4fVbhuOwWzzyzzVAcJKg+8/rxb7SSso8/tBny6RTc6j0BWifEsNLiw5nOz8wsTed28WzPr+Us3pncNEfjpyZvHDm2cxZuYdYl4173lhRb/3fpw3nneW7aBfvZsqILpR5/Pxj6U6m/ud+3nU9RCdrHxRshJz690c0KRDXwkT6q5qIiIiISI1TO6RwanXGwfcGH9+JCJrq2R8M4d3luxoNIhxJ3cy6l288I2zImdNu4asydG4Xx+1n9qi7+VHpnZ0Uli3RLsHNjHPCMzxS41389Pw+/M/7a4HgBBNNMXVUV6bWCtDlpsRyd/VMtHWlxrtCx/1i5rjQ8uc/28zWgnJcdlvYtkfKchvWLY0vNx8MvXbYbXwxcxxdZs5pUr0BOreL5/9uOCPiunYJbu4+pxfl3rWhQNz0ccG6j+6ZzmcbDgCE6hspq2lUz3Q2/up8AO46u2e9rJpFmwq4+rngUGvLssLOY89aswBnJLrrzdY7rncmT155Wr1jvrRwayi4V1ft49dMrFHm8YcF4mac3ZP/V/26a0b4cw07tYsLBeJqstcaynK88vTI1y4zMSbsGte8hyLNagxwSnZi6LwDtE+J5aZRXUNBrdr3ac1+bx0bbFvtLL6aQNyfrhsUqntNIG5w59TQfXn5oPZYlsW6/JKwQNxFA3J5onpoYofUWH5yfh9+cn4fgHrZm9lJMaHfrx/Wmeurg9JVxjD7i60A/GB4l1CZ2kN5t866IOJ5OJLffH9AKBDXpV0c6385EVMn2jW6ZzqvTB3KyFkfRwxW19QnJc5JUQP3T2N17JYez+YDwWyrhy/sx7jeWSx8IIvHP1jH0wsOD3+t/dnnsttIiXMx6/Lg51OFt4o+P/sgtK7GRQNyQ8/4/GLjgbDj1rw3bDaLaWMPTxhTt56WZXHT6G7cNPpw5lzNPVP7syavfTIL6xwDYHTPDEb3zOC+8adEbD8EM1vjXA7+cE3w+X41n0fn98/h/P7BrNcPVuezt8RDYowjdK82lA06rncmH68LBvlnTuxNcpwzVNdIgbghXdLCvkdS413cfU4v/rF0JzcV3k+5PZEPmzkIBwrEtTiXDmrP11sPMjJC6rOIiIiISEsx6dRcFm4sYEiXxoeDRjK6ZzrXD+vMsh2FnNYxhdE9w/u/794xij/O38h94yMHtU6E64d3Zm1+CWf3btoQ0uPlxSmn88RH39UbknkkT15xGv/z/lpurBME+fu04fzfwq1cOrA9r3+9g4OHvEwe0YWFGw8wqAlDd+uaPq4He0squeS0w4Gix793Kv8zZy03jOwSWnZu32yuPqMjAzs2/RjDuqXxg+Gdw4JutT1yYV+2FpQzsNZwzr/dOpyXF22tN8yuxhu3Duf/zdvA3ef05O9Ld4KB3cWVXH1G5IzKBLeDKSO68H8Lt5KZ6ObWsd04u08mf/50MzMnhM+I+fOL+mGzrAb3dSxenTqUN77ZwYPVQ3tnTzmdd5bv4rJBHfjbNztCwa7aZpzTk/1lHi4+LbfeuoY8fvmpLNtRyPi+hwMeb98+guc/3xJx5s/e2UncPLorWdVBtZtGd2POyj1s2l9Wb7bgum4a3Y3NBw7VC57ec24vDh7y1qv3iO7tuH5Y56N6yH9NJmpNFu0vL8ljfX5pvSHmNe+HmvP78tQzuPrZL9lX6mFmhHb/rfr+6ZYRz57iSsb0ymD+un3ce24vfv3BOq4dWj/TdfYNp/POsl08elEep/9qHl5/ICywdPtZPdhdVMEF1UOZzzolkxHd27FwUwHv1JlZOdZl5/7xvfD4A2Q0MOy15ny98c2OEzZr6/CjvCa//f4AFm8p4MJTw6/t45efytLthWH3wms3DeN3877jrnH1h7u+OW04Ly3cynn9svlwdT4/m9SXb7YVMm/NXqbUmaTjrdtH8MyCTZRW+hp81EGNl244gyc+Sjmqz9gTyTJ1Q8XSqJKSEpKTkykuLiYpqf5sVSIiIiJ1qf/QOug6RZcxJjT8SkSOn2N9bzW2XWt5z7aWekrbcTT9B03WICIiIiIiIiIiEgUKxImIiIiISLNQxopI69Ja3rOtpZ5yclIgTkRERERERKQNOdZAlAJYIieeAnEiIiIiIiIiIiJRoECciIiIiIiIiIhIFCgQJyIiIiIiIiIiEgUKxImIiIhIm/L000/TtWtXYmJiGDx4MJ999llzV0lEREQEUCBORERERNqQN954g7vvvpuf/vSnLFu2jNGjRzNx4kS2b9/e3FUTERERUSBORERERNqOJ598kqlTp3LTTTfRp08fnnrqKTp27MgzzzzT3FWTCIwxzV0FERGRqFIgTkRERETaBK/Xy5IlSxg/fnzY8vHjx7Nw4cJmqpWIiIjIYY7mroCIiIiIyPFw4MABqqqqyMrKCluelZVFfn5+xG08Hg8ejyf0uqSk5ITWUcJZltXcVRAREYkqZcSJiIiISJtSN7hjjGkw4PPYY4+RnJwc+unYsWM0qigiIiInKQXiRERERKRNSE9Px26318t+27dvX70suRoPPPAAxcXFoZ8dO3ZEo6pSTc+IExGRk40CcSIiIiLSJrhcLgYPHszcuXPDls+dO5cRI0ZE3MbtdpOUlBT2IyIiInKi6BlxIiIiItJm3HvvvVx//fUMGTKE4cOH8+yzz7J9+3amTZvW3FWTCPSMOBEROdkoECciIiIibcaVV15JQUEBjz76KHv27CEvL4/333+fzp07N3fVRERERBSIExEREZG25fbbb+f2229v7mqIiIiI1KNnxImIiIiIiIiIiESBMuKOQc3sTiUlJc1cExEREWktavoNmiWyZVM/T0RERI7W0fTzFIg7BqWlpQB07NixmWsiIiIirU1paSnJycnNXQ1pgPp5IiIicqya0s+zjP4se9QCgQC7d+8mMTHxhMz0VFJSQseOHdmxYwdJSUnHff8tjdrbtqm9bZva27apvceXMYbS0lJyc3Ox2fR0kJZK/bzjS+1t29Tetk3tbdvU3uPraPp5yog7BjabjQ4dOpzw4yQlJZ0Ub4gaam/bpva2bWpv26b2Hj/KhGv51M87MdTetk3tbdvU3rZN7T1+mtrP059jRUREREREREREokCBOBERERERERERkShQIK4FcrvdPPzww7jd7uauSlSovW2b2tu2qb1tm9orcvydbPeZ2tu2qb1tm9rbtqm9zUeTNYiIiIiIiIiIiESBMuJERERERERERESiQIE4ERERERERERGRKFAgTkREREREREREJAoUiBMREREREREREYkCBeJamKeffpquXbsSExPD4MGD+eyzz5q7So167LHHOP3000lMTCQzM5NLLrmE9evXh5WZMmUKlmWF/QwbNiysjMfj4c477yQ9PZ34+Hguuugidu7cGVamsLCQ66+/nuTkZJKTk7n++uspKio60U0M88gjj9RrS3Z2dmi9MYZHHnmE3NxcYmNjOfPMM1m9enXYPlpLWwG6dOlSr72WZXHHHXcArf/afvrpp1x44YXk5uZiWRbvvPNO2PpoXs/t27dz4YUXEh8fT3p6OnfddRderzdq7fX5fPz4xz+mf//+xMfHk5ubyw9+8AN2794dto8zzzyz3jW/6qqrWl17Ibr3b0tob6T3smVZ/OY3vwmVaU3XtynfP23tPSytm/p5LbMvUJv6eerntebvCPXz3glbr36e+nnQQq+xkRbj9ddfN06n0zz33HNmzZo1ZsaMGSY+Pt5s27atuat2ROedd56ZPXu2WbVqlVm+fLm54IILTKdOnUxZWVmozOTJk82ECRPMnj17Qj8FBQVh+5k2bZpp3769mTt3rlm6dKk566yzzIABA4zf7w+VmTBhgsnLyzMLFy40CxcuNHl5eWbSpElRa6sxxjz88MOmX79+YW3Zt29faP2sWbNMYmKi+cc//mFWrlxprrzySpOTk2NKSkpaXVuNMWbfvn1hbZ07d64BzPz5840x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zaJFi8yiRYtM//79oz7V+3333WcWLFhgNm/ebL788kszadIkk5iYGLpOs2bNMsnJyeatt94yK1euNFdffXXEKZRbQ1trVFVVmU6dOpkf//jHYcvbwrUtLS01y5YtM8uWLTOAefLJJ82yZctCs0dF63rWTIl99tlnm6VLl5p58+aZDh06HPdpwI/UXp/PZy666CLToUMHs3z58rD3s8fjMcYYs3HjRvPzn//cfP3112bLli1mzpw5pnfv3mbgwIGtrr3RvH9bQntrFBcXm7i4OPPMM8/U2761Xd/Gvn+MaXvvYWm91M9ruX2B2tTPO6wtXFv189TPUz/vsNZ2fdtyP0+BuBbmj3/8o+ncubNxuVxm0KBBYVPDt1RAxJ/Zs2cbY4wpLy8348ePNxkZGcbpdJpOnTqZyZMnm+3bt4ftp6KiwkyfPt2kpaWZ2NhYM2nSpHplCgoKzLXXXmsSExNNYmKiufbaa01hYWGUWhp05ZVXmpycHON0Ok1ubq657LLLzOrVq0PrA4GAefjhh012drZxu91mzJgxZuXKlWH7aC1trfHhhx8awKxfvz5seVu4tvPnz494/06ePNkYE93ruW3bNnPBBReY2NhYk5aWZqZPn24qKyuj1t4tW7Y0+H6eP3++McaY7du3mzFjxpi0tDTjcrlM9+7dzV133WUKCgpaXXujff82d3tr/PnPfzaxsbGmqKio3vat7fo29v1jTNt7D0vrpn5ey+wL1KZ+3mFt4dqqn6d+nvp5h7W269uW+3lWdQNFRERERERERETkBNIz4kRERERERERERKJAgTgREREREREREZEoUCBOREREREREREQkChSIExERERERERERiQIF4kRERERERERERKJAgTgREREREREREZEoUCBOREREREREREQkChSIExFpwNatW7Esi+XLl5+wY0yZMoVLLrnkhO1fREREROpTP09EmosCcSLSZk2ZMgXLsur9TJgwoUnbd+zYkT179pCXl3eCayoiIiIiR0P9PBFprRzNXQERkRNpwoQJzJ49O2yZ2+1u0rZ2u53s7OwTUS0RERER+S+pnycirZEy4kSkTXO73WRnZ4f9pKamAmBZFs888wwTJ04kNjaWrl278uabb4a2rTtkobCwkGuvvZaMjAxiY2Pp2bNnWOdv5cqVjBs3jtjYWNq1a8ctt9xCWVlZaH1VVRX33nsvKSkptGvXjh/96EcYY8Lqa4zh8ccfp1u3bsTGxjJgwAD+/ve/h9Y3VgcRERGRk4X6eSLSGikQJyIntYceeojLL7+cFStWcN1113H11Vezdu3aBsuuWbOGf//736xdu5ZnnnmG9PR0AMrLy5kwYQKpqal8/fXXvPnmm8ybN4/p06eHtn/iiSd48cUXeeGFF/j88885ePAgb7/9dtgxHnzwQWbPns0zzzzD6tWrueeee7juuuv45JNPGq2DiIiIiBymfp6ItEhGRKSNmjx5srHb7SY+Pj7s59FHHzXGGAOYadOmhW0zdOhQc9tttxljjNmyZYsBzLJly4wxxlx44YXmhhtuiHisZ5991qSmppqysrLQsjlz5hibzWby8/ONMcbk5OSYWbNmhdb7fD7ToUMHc/HFFxtjjCkrKzMxMTFm4cKFYfueOnWqufrqqxutg4iIiMjJQv08EWmt9Iw4EWnTzjrrLJ555pmwZWlpaaHfhw8fHrZu+PDhDc6eddttt3H55ZezdOlSxo8fzyWXXMKIESMAWLt2LQMGDCA+Pj5UfuTIkQQCAdavX09MTAx79uwJO57D4WDIkCGhYQtr1qyhsrKSc889N+y4Xq+XgQMHNloHERERkZOJ+nki0hopECcibVp8fDw9evQ4qm0sy4q4fOLEiWzbto05c+Ywb948zj77bO644w5++9vfYoxpcLuGltcVCAQAmDNnDu3btw9bV/Pg4SPVQURERORkon6eiLRGekaciJzUvvzyy3qve/fu3WD5jIwMpkyZwquvvspTTz3Fs88+C0Dfvn1Zvnw5hw4dCpX94osvsNls9OrVi+TkZHJycsKO5/f7WbJkSeh13759cbvdbN++nR49eoT9dOzYsdE6iIiIiMhh6ueJSEukjDgRadM8Hg/5+flhyxwOR+jBt2+++SZDhgxh1KhRvPbaayxevJgXXngh4r5+9rOfMXjwYPr164fH4+Ff//oXffr0AeDaa6/l4YcfZvLkyTzyyCPs37+fO++8k+uvv56srCwAZsyYwaxZs+jZsyd9+vThySefpKioKLT/xMRE7r//fu655x4CgQCjRo2ipKSEhQsXkpCQwOTJk49YBxEREZGTifp5ItIaKRAnIm3aBx98QE5OTtiyU045hXXr1gHw85//nNdff53bb7+d7OxsXnvtNfr27RtxXy6XiwceeICtW7cSGxvL6NGjef311wGIi4vjww8/ZMaMGZx++unExcVx+eWX8+STT4a2v++++9izZw9TpkzBZrNx4403cumll1JcXBwq84tf/ILMzEwee+wxNm/eTEpKCoMGDeInP/lJo3UQEREROZmonycirZFlap4eKSJykrEsi7fffptLLrmkuasiIiIiIseR+nki0lLpGXEiIiIiIiIiIiJRoECciIiIiIiIiIhIFGhoqoiIiIiIiIiISBQoI05ERERERERERCQKFIgTERERERERERGJAgXiREREREREREREokCBOBERERERERERkShQIE5ERERERERERCQKFIgTERERERERERGJAgXiREREREREREREokCBOBERERERERERkShQIE5ERERERERERCQK/j+8j1jmDI59qQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Parameters\n", "gamma = 0.9\n", "epsilon = 1.0\n", "decay_epsilon = 1e-5\n", "alpha = 0.1\n", "nb_episodes = 20000\n", "\n", "# Create the environment\n", "env = gym.make(\"Taxi-v3\")\n", "\n", "# Create the agent\n", "agent = QLearningAgent(env, gamma, epsilon, decay_epsilon, alpha)\n", "\n", "# Train the agent \n", "returns, steps = agent.train(nb_episodes)\n", "\n", "# Plot training returns\n", "plt.figure(figsize=(15, 6))\n", "plt.subplot(121)\n", "plt.plot(returns)\n", "plt.plot(running_average(returns, 1000))\n", "plt.xlabel(\"Episodes\")\n", "plt.ylabel(\"Returns\")\n", "plt.subplot(122)\n", "plt.plot(steps)\n", "plt.plot(running_average(steps, 1000))\n", "plt.xlabel(\"Episodes\")\n", "plt.ylabel(\"steps\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Test performance 7.9\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABMIAAAINCAYAAADcGdP7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABA/UlEQVR4nO3df5RXZb0v8PfEwIAIJBAzzAGRc8IfOaSGXg09Av4AKUXDc7E8mRy9HrsKSaAlWsuxcwL1JFpQdCov+CPSte4StWupmIoRWUqSYuaPQsWCS3kQRGlA2PePlt/rCCgwAwPt12utvdbsZz9778/egTy959l7VxVFUQQAAAAA/sa9r60LAAAAAIBdQRAGAAAAQCkIwgAAAAAoBUEYAAAAAKUgCAMAAACgFARhAAAAAJSCIAwAAACAUhCEAQAAAFAK1W1dwI7YtGlT/vjHP6ZLly6pqqpq63IAgD1EURR57bXXUl9fn/e9z+8Dd0fGeQDAjtjWcd4eGYT98Y9/TN++fdu6DABgD7Vs2bL06dOnrctgC4zzAICWeK9x3h4ZhHXp0iXJXy+ua9eubVwNALCnWLNmTfr27VsZS7D7Mc4DAHbEto7z9sgg7K1p8l27djVAAgC2m0fudl/GeQBAS7zXOM/LMQAAAAAoBUEYAAAAAKUgCAMAAACgFARhAAAAAJSCIAwAAACAUhCEAQAAAFAK2xWETZ06NUcccUS6dOmSXr165bTTTsszzzzTrM/YsWNTVVXVbDnqqKOa9Wlqasr48ePTs2fPdO7cOaNGjcrLL7/c8qsBAAAAgK3YriBs/vz5ufDCC/PII49k3rx5efPNNzN8+PC8/vrrzfqddNJJWb58eWX50Y9+1Gz7hAkTMnfu3Nx6661ZsGBB1q5dm5NPPjkbN25s+RUBAAAAwBZUb0/ne+65p9n6rFmz0qtXryxatCjHHntspb2mpiZ1dXVbPMbq1atzww035Oabb84JJ5yQJLnlllvSt2/f3H///RkxYsT2XgMAAAAAvKcWvSNs9erVSZLu3bs3a3/ooYfSq1ev7L///jnvvPOycuXKyrZFixZlw4YNGT58eKWtvr4+DQ0NWbhw4RbP09TUlDVr1jRbAAAAAGB77HAQVhRFJk6cmGOOOSYNDQ2V9pEjR+b73/9+HnjggVx77bV59NFHc9xxx6WpqSlJsmLFinTo0CH77LNPs+PV1tZmxYoVWzzX1KlT061bt8rSt2/fHS0bAAAAgJLarkcj327cuHF54oknsmDBgmbtZ5xxRuXnhoaGHH744enXr1/uvvvujB49eqvHK4oiVVVVW9w2efLkTJw4sbK+Zs0aYRgAAAAA22WHZoSNHz8+d911Vx588MH06dPnXfv27t07/fr1y3PPPZckqaury/r167Nq1apm/VauXJna2totHqOmpiZdu3ZttgAAAADA9tiuIKwoiowbNy633357HnjggfTv3/8993nllVeybNmy9O7dO0kyaNCgtG/fPvPmzav0Wb58eZYsWZLBgwdvZ/kAAAAAsG2269HICy+8MHPmzMmdd96ZLl26VN7p1a1bt3Tq1Clr165NY2NjTj/99PTu3TsvvPBCLrvssvTs2TOf+MQnKn3PPffcTJo0KT169Ej37t1z8cUXZ+DAgZWvSAIAAABAa9uuIGzmzJlJkqFDhzZrnzVrVsaOHZt27drlySefzE033ZRXX301vXv3zrBhw3LbbbelS5culf7XXXddqqurM2bMmKxbty7HH398Zs+enXbt2rX8igAAAABgC6qKoijauojttWbNmnTr1i2rV6/2vjAAYJsZQ+z+/G8EAOyIbR1D7NDL8gEAAABgTyMIAwAAAKAUtusdYQB7iv0uvbutS2iRF676eFuXAACwWzLOA1rCjDAAAAAASkEQBgAAAEApCMIAAAAAKAVBGAAAmTp1ao444oh06dIlvXr1ymmnnZZnnnmmWZ+xY8emqqqq2XLUUUc169PU1JTx48enZ8+e6dy5c0aNGpWXX355V14KAMBWCcIAAMj8+fNz4YUX5pFHHsm8efPy5ptvZvjw4Xn99deb9TvppJOyfPnyyvKjH/2o2fYJEyZk7ty5ufXWW7NgwYKsXbs2J598cjZu3LgrLwcAYIt8NRIAgNxzzz3N1mfNmpVevXpl0aJFOfbYYyvtNTU1qaur2+IxVq9enRtuuCE333xzTjjhhCTJLbfckr59++b+++/PiBEjdt4FAABsAzPCAADYzOrVq5Mk3bt3b9b+0EMPpVevXtl///1z3nnnZeXKlZVtixYtyoYNGzJ8+PBKW319fRoaGrJw4cItnqepqSlr1qxptgAA7CyCMAAAmimKIhMnTswxxxyThoaGSvvIkSPz/e9/Pw888ECuvfbaPProoznuuOPS1NSUJFmxYkU6dOiQffbZp9nxamtrs2LFii2ea+rUqenWrVtl6du37867MACg9DwaCQBAM+PGjcsTTzyRBQsWNGs/44wzKj83NDTk8MMPT79+/XL33Xdn9OjRWz1eURSpqqra4rbJkydn4sSJlfU1a9YIwwCAncaMMAAAKsaPH5+77rorDz74YPr06fOufXv37p1+/frlueeeS5LU1dVl/fr1WbVqVbN+K1euTG1t7RaPUVNTk65duzZbAAB2FkEYAAApiiLjxo3L7bffngceeCD9+/d/z31eeeWVLFu2LL17906SDBo0KO3bt8+8efMqfZYvX54lS5Zk8ODBO612AIBt5dFIAABy4YUXZs6cObnzzjvTpUuXyju9unXrlk6dOmXt2rVpbGzM6aefnt69e+eFF17IZZddlp49e+YTn/hEpe+5556bSZMmpUePHunevXsuvvjiDBw4sPIVSQCAtiQIAwAgM2fOTJIMHTq0WfusWbMyduzYtGvXLk8++WRuuummvPrqq+ndu3eGDRuW2267LV26dKn0v+6661JdXZ0xY8Zk3bp1Of744zN79uy0a9duV14OAMAWCcIAAEhRFO+6vVOnTrn33nvf8zgdO3bM9OnTM3369NYqDQCg1XhHGAAAAAClIAgDAAAAoBQEYQAAAACUgiAMAAAAgFIQhAEAAABQCoIwAAAAAEpBEAYAAABAKQjCAAAAACgFQRgAAAAApSAIAwAAAKAUBGEAAAAAlIIgDAAAAIBSEIQBAAAAUAqCMAAAAABKQRAGAAAAQCkIwgAAAAAoBUEYAAAAAKUgCAMAAACgFARhAAAAAJSCIAwAAACAUhCEAQAAAFAKgjAAAAAASkEQBgAAAEApCMIAAAAAKAVBGAAAAAClIAgDAAAAoBQEYQAAAACUgiAMAAAAgFIQhAEAAABQCoIwAAAAAEpBEAYAAABAKQjCAAAAACgFQRgAAAAApSAIAwAAAKAUBGEAAAAAlIIgDAAAAIBSEIQBAAAAUAqCMAAAAABKQRAGAAAAQCkIwgAAAAAoBUEYAAAAAKUgCAMAAACgFARhAAAAAJSCIAwAAACAUhCEAQAAAFAKgjAAAAAASkEQBgAAAEApCMIAAAAAKAVBGAAAAAClIAgDAAAAoBQEYQAAAACUgiAMAAAAgFIQhAEAAABQCoIwAAAAAEpBEAYAAABAKQjCAAAAACgFQRgAAAAApSAIAwAAAKAUBGEAAAAAlIIgDAAAAIBSEIQBAAAAUArbFYRNnTo1RxxxRLp06ZJevXrltNNOyzPPPNOsT1EUaWxsTH19fTp16pShQ4fmqaeeatanqakp48ePT8+ePdO5c+eMGjUqL7/8csuvBgAAAAC2YruCsPnz5+fCCy/MI488knnz5uXNN9/M8OHD8/rrr1f6XHPNNZk2bVpmzJiRRx99NHV1dTnxxBPz2muvVfpMmDAhc+fOza233poFCxZk7dq1Ofnkk7Nx48bWuzIAAAAAeJvq7el8zz33NFufNWtWevXqlUWLFuXYY49NURS5/vrrc/nll2f06NFJkhtvvDG1tbWZM2dOzj///KxevTo33HBDbr755pxwwglJkltuuSV9+/bN/fffnxEjRrTSpQEAAADA/9eid4StXr06SdK9e/ckydKlS7NixYoMHz680qempiZDhgzJwoULkySLFi3Khg0bmvWpr69PQ0NDpQ8AAAAAtLbtmhH2dkVRZOLEiTnmmGPS0NCQJFmxYkWSpLa2tlnf2travPjii5U+HTp0yD777LNZn7f2f6empqY0NTVV1tesWbOjZQMAAABQUjs8I2zcuHF54okn8oMf/GCzbVVVVc3Wi6LYrO2d3q3P1KlT061bt8rSt2/fHS0bAAAAgJLaoSBs/Pjxueuuu/Lggw+mT58+lfa6urok2Wxm18qVKyuzxOrq6rJ+/fqsWrVqq33eafLkyVm9enVlWbZs2Y6UDQAAAECJbVcQVhRFxo0bl9tvvz0PPPBA+vfv32x7//79U1dXl3nz5lXa1q9fn/nz52fw4MFJkkGDBqV9+/bN+ixfvjxLliyp9HmnmpqadO3atdkCAAAAANtju94RduGFF2bOnDm5884706VLl8rMr27duqVTp06pqqrKhAkTMmXKlAwYMCADBgzIlClTstdee+XMM8+s9D333HMzadKk9OjRI927d8/FF1+cgQMHVr4iCQAAAACtbbuCsJkzZyZJhg4d2qx91qxZGTt2bJLkC1/4QtatW5cLLrggq1atypFHHpn77rsvXbp0qfS/7rrrUl1dnTFjxmTdunU5/vjjM3v27LRr165lVwMAAAAAW7FdQVhRFO/Zp6qqKo2NjWlsbNxqn44dO2b69OmZPn369pweAAAAAHbYDn81EgAAAAD2JIIw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0DLbcv9uuOGG4oMf/GDRsWPH4pBDDinuuOOOtit4N/Re93D58uXF2LFji/r6+qJjx47FAQccUFx77bXFpk2bdkl9VUVRFK0brQEAAADA7sfL8gEAAAAoBUEYAAAAAKUgCAMAAACgFARhAAAAAJSCIAwAAACAUhCEAQAAAFAKgjAAAAAASkEQBgAAQKt44YUXUlVVlcWLF7d1KRW//e1vc9RRR6Vjx4459NBD27ocoI0JwoBdauzYsamqqkpVVVWqq6uz77775n/+z/+ZVatWbdP+u+PgCgBgd/HWWOuqq65q1n7HHXekqqqqjapqW1dccUU6d+6cZ555Jj/5yU+2e/+xY8fmtNNOa/3CgDYhCAN2uZNOOinLly/PCy+8kO9973v54Q9/mAsuuGCX17F+/fpdfk4AgJ2tY8eOufrqq7f5F417gpaM2373u9/lmGOOSb9+/dKjR49WrArYEwnCgF2upqYmdXV16dOnT4YPH54zzjgj9913X2X7rFmzctBBB6Vjx4458MAD861vfauyrX///kmSww47LFVVVRk6dGiSZOjQoZkwYUKz85x22mkZO3ZsZX2//fbLv//7v2fs2LHp1q1bzjvvvMyePTvvf//7c++99+aggw7K3nvvXQnq3vLQQw/lv/23/5bOnTvn/e9/f44++ui8+OKLrX9jAABawQknnJC6urpMnTp1q30aGxs3e0zw+uuvz3777VdZf2sm1JQpU1JbW5v3v//9ufLKK/Pmm2/mkksuSffu3dOnT5/8r//1vzY7/m9/+9sMHjw4HTt2zMEHH5yHHnqo2fbf/OY3+djHPpa99947tbW1Oeuss/LnP/+5sn3o0KEZN25cJk6cmJ49e+bEE0/c4nVs2rQpX/nKV9KnT5/U1NTk0EMPzT333FPZXlVVlUWLFuUrX/lKqqqq0tjYuMXj/O///b8zcODAdOrUKT169MgJJ5yQ119/PY2Njbnxxhtz5513Vp5qeOta/vCHP+SMM87IPvvskx49euTUU0/NCy+8sNn9u/LKK9OrV6907do1559/frNQb2vnBXYeQRjQpn7/+9/nnnvuSfv27ZMk3/3ud3P55Zfnq1/9ap5++ulMmTIlX/7yl3PjjTcmSX75y18mSe6///4sX748t99++3ad7z/+4z/S0NCQRYsW5ctf/nKS5I033sjXvva13HzzzXn44Yfz0ksv5eKLL06SvPnmmznttNMyZMiQPPHEE/n5z3+ef/3Xfy3towUAwO6vXbt2mTJlSqZPn56XX365Rcd64IEH8sc//jEPP/xwpk2blsbGxpx88snZZ5998otf/CKf/exn89nPfjbLli1rtt8ll1ySSZMm5fHHH8/gwYMzatSovPLKK0mS5cuXZ8iQITn00EPz2GOP5Z577sn//b//N2PGjGl2jBtvvDHV1dX52c9+lv/8z//cYn1f//rXc+211+ZrX/tannjiiYwYMSKjRo3Kc889VznXwQcfnEmTJmX58uWVMd7bLV++PJ/61Kdyzjnn5Omnn85DDz2U0aNHpyiKXHzxxRkzZkzlF6XLly/P4MGD88Ybb2TYsGHZe++98/DDD2fBggWVX6i+Pej6yU9+kqeffjoPPvhgfvCDH2Tu3Lm58sor3/O8wE5UAOxCZ599dtGuXbuic+fORceOHYskRZJi2rRpRVEURd++fYs5c+Y02+ff/u3fio9+9KNFURTF0qVLiyTF448/3qzPkCFDiosuuqhZ26mnnlqcffbZlfV+/foVp512WrM+s2bNKpIUzz//fKXtm9/8ZlFbW1sURVG88sorRZLioYceasllAwDsEmeffXZx6qmnFkVRFEcddVRxzjnnFEVRFHPnzi3e/n//rrjiiuKQQw5ptu91111X9OvXr9mx+vXrV2zcuLHSdsABBxT/+I//WFl/8803i86dOxc/+MEPiqL4/2O1q666qtJnw4YNRZ8+fYqrr766KIqi+PKXv1wMHz682bmXLVtWJCmeeeaZoij+OrY79NBD3/N66+vri69+9avN2o444ojiggsuqKwfcsghxRVXXLHVYyxatKhIUrzwwgtb3P72e/qWG264oTjggAOKTZs2VdqampqKTp06Fffee29lv+7duxevv/56pc/MmTOLvffeu9i4ceN7nhfYOarbKoADymvYsGGZOXNm3njjjXzve9/Ls88+m/Hjx+dPf/pTli1blnPPPTfnnXdepf+bb76Zbt26tcq5Dz/88M3a9tprr/zDP/xDZb13795ZuXJlkqR79+4ZO3ZsRowYkRNPPDEnnHBCxowZk969e7dKPQAAO8vVV1+d4447LpMmTdrhYxx88MF53/v+/4NEtbW1aWhoqKy3a9cuPXr0qIyd3vLRj3608nN1dXUOP/zwPP3000mSRYsW5cEHH8zee++92fl+97vfZf/990+y5XHb261ZsyZ//OMfc/TRRzdrP/roo/PrX/96G68wOeSQQ3L88cdn4MCBGTFiRIYPH55/+qd/yj777LPVfRYtWpTnn38+Xbp0adb+l7/8Jb/73e+aHXuvvfaqrH/0ox/N2rVrs2zZsh06L9ByHo0EdrnOnTvngx/8YD784Q/nG9/4RpqamnLllVdm06ZNSf76eOTixYsry5IlS/LII4+86zHf9773bTaNfMOGDVs89zu99VjmW6qqqpoda9asWfn5z3+ewYMH57bbbsv+++//nvUAALS1Y489NiNGjMhll1222bZtHTttaZy0pba3xnHv5q1XS2zatCmnnHJKs/He4sWL89xzz+XYY4+t9N/SuO3djvuWoii26zUW7dq1y7x58/LjH/84H/rQhzJ9+vQccMABWbp06Vb32bRpUwYNGrTZNTz77LM588wzt6nmHTkv0HKCMKDNXXHFFfna176WjRs35u/+7u/y+9//Ph/84AebLW+9JL9Dhw5Jko0bNzY7xgc+8IFmL7jfuHFjlixZ0mo1HnbYYZk8eXIWLlyYhoaGzJkzp9WODQCws1x11VX54Q9/mIULFzZr/8AHPpAVK1Y0C8MWL17caud9+y8N33zzzSxatCgHHnhgkuQjH/lInnrqqey3336bjfm2NfxKkq5du6a+vj4LFixo1r5w4cIcdNBB21VvVVVVjj766Fx55ZV5/PHH06FDh8ydOzfJX8ef7xx7fuQjH8lzzz2XXr16bXYNb3+S4de//nXWrVtXWX/kkUey9957p0+fPu95XmDnEIQBbW7o0KE5+OCDM2XKlDQ2Nmbq1Kn5+te/nmeffTZPPvlkZs2alWnTpiVJevXqlU6dOlVeqrp69eokyXHHHZe77747d999d37729/mggsuyKuvvtri2pYuXZrJkyfn5z//eV588cXcd999efbZZ7d7cAUA0BYGDhyYf/7nf8706dObtQ8dOjR/+tOfcs011+R3v/tdvvnNb+bHP/5xq533m9/8ZubOnZvf/va3ufDCC7Nq1aqcc845SZILL7ww//Vf/5VPfepT+eUvf5nf//73ue+++3LOOedsFji9l0suuSRXX311brvttjzzzDO59NJLs3jx4lx00UXbfIxf/OIXmTJlSh577LG89NJLuf322/OnP/2pMt7bb7/98sQTT+SZZ57Jn//852zYsCH//M//nJ49e+bUU0/NT3/60yxdujTz58/PRRdd1OwDBevXr8+5556b3/zmN/nxj3+cK664IuPGjcv73ve+9zwvsHMIwoDdwsSJE/Pd7343I0aMyPe+973Mnj07AwcOzJAhQzJ79uzKjLDq6up84xvfyH/+53+mvr4+p556apLknHPOydlnn53PfOYzGTJkSPr3759hw4a1uK699torv/3tb3P66adn//33z7/+679m3LhxOf/881t8bACAXeHf/u3fNnsM8qCDDsq3vvWtfPOb38whhxySX/7yl1v8ouKOuuqqq3L11VfnkEMOyU9/+tPceeed6dmzZ5Kkvr4+P/vZz7Jx48aMGDEiDQ0Nueiii9KtW7dm7yPbFp/73OcyadKkTJo0KQMHDsw999yTu+66KwMGDNjmY3Tt2jUPP/xwPvaxj2X//ffPl770pVx77bUZOXJkkuS8887LAQcckMMPPzwf+MAH8rOf/Sx77bVXHn744ey7774ZPXp0DjrooJxzzjlZt25dunbtWjn28ccfnwEDBuTYY4/NmDFjcsopp6SxsXGbzgvsHFXFO/+LCAAAALTI2LFj8+qrr+aOO+5o61KAtzEjDAAAAIBSEIQBAAAAUAoejQQAAACgFMwIAwAAAKAUBGEAAAAAlIIgDAAAAIBSEIQBAAAAUAqCMAAAAABKQRAGAAAAQCkIwgAAAAAoBUEYAAAAAKUgCAMAAACgFP4fGnyLwIbgQr4AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Test the agent for 1000 episodes\n", "test_returns = []\n", "test_steps = []\n", "for episode in range(1000):\n", " return_episode, nb_steps = agent.test()\n", " test_returns.append(return_episode)\n", " test_steps.append(nb_steps)\n", "print(\"Test performance\", np.mean(test_returns))\n", "\n", "plt.figure(figsize=(15, 6))\n", "plt.subplot(121)\n", "plt.hist(test_returns)\n", "plt.xlabel(\"Returns\")\n", "plt.subplot(122)\n", "plt.hist(test_steps)\n", "plt.xlabel(\"Number of steps\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MoviePy - Building file videos/taxi-trained-td.gif with imageio.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ " \r" ] }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "env = gym.make(\"Taxi-v3\", render_mode=\"rgb_array_list\")\n", "recorder = GymRecorder(env)\n", "agent.env = env\n", "\n", "return_episode, nb_steps = agent.test(recorder)\n", "\n", "video = \"videos/taxi-trained-td.gif\"\n", "recorder.make_video(video)\n", "ipython_display(video, loop=0, autoplay=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Q:** Compare the performance of Q-learning to online MC. Experiment with parameters (gamma, epsilon, alpha, etc.)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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l9YmvOcBAAAILN58+5bjWCNOvlkjDgAANCwggriqqir99re/1YMPPqhrr73Wefzkk0923l+yZIm2bNmirKwspaWlSZIefvhhzZw5U/fff7+io6P16quvqqysTC+++KKsVqsyMzO1bds2PfLII5o9e7aMti52AQAAAPgRb01N5f0zAACtExBTU9etW6f9+/fLYrFo8ODBSk1N1eTJk7V582Znm9WrVyszM9MZwknSxIkTVV5errVr1zrbjBo1Slar1aVNdna2du/e3ej1y8vLVVRU5HIDAAAA/FW2qkfEVU9Ndf9YvJXbDqmwpFJfbD/UqvOY1QEA6OgCIoj76aefJEnz5s3TH/7wB73//vuKjY3VqFGjdPhw9ad8ubm5Sk5OdjkvNjZWoaGhys3NbbSN47GjTUMWLFigmJgY5y09Pd1trw0AAABwtwM1U1PDjErF6qjb+3/xy90aeO8S3f7m927vGwCA9synQdy8efNkGEaTt2+//VZ2u12SdNddd+mSSy7R0KFDtWjRIhmGof/85z/O/hoaGm+apsvx49s4Fphtalj93LlzVVhY6LxlZWWd0OsGAAAAPKlCITpoRkuSUv1s51QAADoyn64Rd9NNN+mKK65osk1GRoaOHq3+FK9///7O41arVT179tTevXslSSkpKfr6669dzi0oKFBlZaVz1FtKSkq9kW95eXmSVG+kXF1Wq9VlOqsntXSVjUHdOnuyDAAAAAS4HDNeiUaRUo18bTEzvHptpqACANAwnwZxCQkJSkhIaLbd0KFDZbVatXXrVp111lmSpMrKSu3evVvdu3eXJI0YMUL333+/cnJylJqaKql6Awer1aqhQ4c629x5552qqKhQaGios01aWpoyMjI88Ao957SMOF+XAAAAAD+WY8brVO1iRBwAAH4kINaIi46O1vXXX68//elPWrJkibZu3arf/OY3kqRLL71UkjRhwgT1799fV111ldavX69PP/1Uc+bM0axZsxQdXT0sf/r06bJarZo5c6Y2bdqkt99+W/Pnz2fHVAAAALQ7uWasJM/vnAoAAFrOpyPiWuPBBx9UcHCwrrrqKpWWlmr48OH67LPPFBtb/QYjKChIixcv1g033KCRI0cqPDxc06dP10MPPeTsIyYmRkuXLtWNN96oYcOGKTY2VrNnz9bs2bN99bLqYRQ/AAAA3MGxYUOKUeDj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RGw/+AdeJyIi7xNCKDKuiPxNTdoPHCOOiIiIiIiIiMhLmA/VsDEQR0RERERERER1pqFlwzW0+pISA3FERERERERERERewEAcERERERERERGRFzAQR0RERERERERE5AUMxBEREREREREREXkBA3FEREREVK+8+uqraNasGQwGA9LT07F58+a6LhIRERERAAbiiIiIiKgeWb16NebOnYsnnngCu3btwk033YThw4fj9OnTdV00IiIiIgbiiIiIiKj+WLZsGaZOnYpp06ahTZs2ePHFF9G4cWMsX768rotGRERExEAcEREREdUPZrMZO3bswJAhQxTLhwwZgi1bttRRqYiIiIjKaOq6AEREREREN8Lly5dhs9kQGxurWB4bG4usrCyP+5hMJphMJvl5Xl5erZaRiIiIGjZmxBERERFRvSJJkuK5EMJtWaklS5YgNDRU/mvcuLE3ikhEREQNFANxRERERFQvREVFQa1Wu2W/Xbx40S1LrtRjjz2G3Nxc+e/MmTPeKCoRERE1UAzEEREREVG9oNPpkJ6ejnXr1imWr1u3Dr169fK4j16vR0hIiOKPiIiIqLZwjDgiIiIiqjfmz5+PSZMmoUuXLujZsyfeeOMNnD59GjNmzKjrohERERExEEdERERE9ce4ceOQnZ2NxYsXIzMzE6mpqfj666/RtGnTui4aEREREQNxRERERFS/PPDAA3jggQfquhhEREREbjhGHBERERERERERkRcwI+4aCCEAAHl5eXVcEiIiIvIXpe2G0nYE+Sa284iIiKimatLOYyDuGuTn5wMAGjduXMclISIiIn+Tn5+P0NDQui4GVYDtPCIiIrpW1WnnSYI/y9aY3W7H+fPnERwcDEmSbvjx8/Ly0LhxY5w5cwYhISE3/Pi+hvWt31jf+o31rd9Y3xtLCIH8/HwkJCRApeLoIL6K7bwbi/Wt31jf+o31rd9Y3xurJu08ZsRdA5VKhcTExFo/T0hISIN4Q5Rifes31rd+Y33rN9b3xmEmnO9jO692sL71G+tbv7G+9Rvre+NUt53Hn2OJiIiIiIiIiIi8gIE4IiIiIiIiIiIiL2Agzgfp9XosWrQIer2+roviFaxv/cb61m+sb/3G+hLdeA3tPmN96zfWt35jfes31rfucLIGIiIiIiIiIiIiL2BGHBERERERERERkRcwEEdEREREREREROQF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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Parameters\n", "gamma = 1.0\n", "epsilon = 1.0\n", "decay_epsilon = 1e-5\n", "alpha = 0.05\n", "nb_episodes = 20000\n", "\n", "# Create the environment\n", "env = gym.make(\"Taxi-v3\")\n", "\n", "# Create the agent\n", "agent = QLearningAgent(env, gamma, epsilon, decay_epsilon, alpha)\n", "\n", "# Train the agent \n", "returns, steps = agent.train(nb_episodes)\n", "\n", "# Plot training returns\n", "plt.figure(figsize=(15, 6))\n", "plt.subplot(121)\n", "plt.plot(returns)\n", "plt.plot(running_average(returns, 1000))\n", "plt.xlabel(\"Episodes\")\n", "plt.ylabel(\"Returns\")\n", "plt.subplot(122)\n", "plt.plot(steps)\n", "plt.plot(running_average(steps, 1000))\n", "plt.xlabel(\"Episodes\")\n", "plt.ylabel(\"steps\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Test performance 7.969\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABMIAAAINCAYAAADcGdP7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABClUlEQVR4nO3dfZRXdb0v8PfEyPAgTAIywxwQOTd8SEgNvRp6BARByqewMD3H4Oj12FVIAjTJXI6dArVEC5KO5QUfDulad4napVRMxYgsnTIfMh8SC4u5lAdBlAaE3/2j5e86AiLMwED79VprrzX7u7+/vT97C86X9++7964olUqlAAAAAMDfuQ+0dQEAAAAAsCsIwgAAAAAoBEEYAAAAAIUgCAMAAACgEARhAAAAABSCIAwAAACAQhCEAQAAAFAIgjAAAAAACqGyrQvYEZs2bcqf/vSndOnSJRUVFW1dDgCwhyiVSnn99ddTV1eXD3zA94G7I+M8AGBHvN9x3h4ZhP3pT39Knz592roMAGAPtXz58vTu3buty2ALjPMAgJbY1jhvjwzCunTpkuRvJ9e1a9c2rgYA2FOsWbMmffr0KY8l2P0Y5wEAO+L9jvP2yCDs7WnyXbt2NUACALabW+52X8Z5AEBLbGuc5+EYAAAAABSCIAwAAACAQhCEAQAAAFAIgjAAAAAACkEQBgAAAEAhCMIAAAAAKARBGAAAAACFIAgDAAAAoBAEYQAAAAAUgiAMAAAAgEIQhAEAAABQCIIwAAAAAApBEAYAAABAIQjCAAAAACgEQRgAAAAAhbBdQdiMGTNy5JFHpkuXLunZs2dOO+20PPfcc836jB8/PhUVFc2Wo48+ulmfpqamTJw4MT169Ejnzp1zyimn5JVXXmn52QAAAADAVmxXELZ48eJceOGFefTRR7No0aK89dZbGTlyZN54441m/U488cSsWLGivPzwhz9stn3SpElZsGBBbr/99ixZsiRr167NSSedlI0bN7b8jAAAAABgCyq3p/O9997bbH3u3Lnp2bNnGhoactxxx5Xbq6qqUltbu8V9rF69OjfddFNuvfXWjBgxIkly2223pU+fPnnggQcyatSo7T0HAAAAANimFj0jbPXq1UmSbt26NWt/+OGH07NnzxxwwAE577zzsnLlyvK2hoaGbNiwISNHjiy31dXVZcCAAVm6dOkWj9PU1JQ1a9Y0WwAAAABge2zXjLB3KpVKmTx5co499tgMGDCg3D569Oh8+tOfTt++fbNs2bJcfvnlOf7449PQ0JCqqqo0Njamffv22WeffZrtr6amJo2NjVs81owZM3LllVfuaKlAAe1/6cK2LqFFXr7qE21dAgDAbsk4D2iJHQ7CJkyYkCeffDJLlixp1n7GGWeUfx4wYECOOOKI9O3bNwsXLsyYMWO2ur9SqZSKiootbps2bVomT55cXl+zZk369Omzo6UDAAAAUEA7dGvkxIkTc8899+Shhx5K796937Nvr1690rdv37zwwgtJktra2qxfvz6rVq1q1m/lypWpqanZ4j6qqqrStWvXZgsAAAAAbI/tCsJKpVImTJiQO++8Mw8++GD69eu3zc+8+uqrWb58eXr16pUkGTRoUPbaa68sWrSo3GfFihV5+umnM3jw4O0sHwAAAADen+26NfLCCy/M/Pnzc/fdd6dLly7lZ3pVV1enY8eOWbt2berr63P66aenV69eefnll/OlL30pPXr0yCc/+cly33PPPTdTpkxJ9+7d061bt0ydOjUDBw4sv0USAAAAAFrbdgVhc+bMSZIMHTq0WfvcuXMzfvz4tGvXLk899VRuueWWvPbaa+nVq1eGDRuWO+64I126dCn3v+6661JZWZmxY8dm3bp1GT58eObNm5d27dq1/IwAAAAAYAu2KwgrlUrvub1jx4657777trmfDh06ZNasWZk1a9b2HB4AAAAAdtgOPSwfAAAAAPY0gjAAAAAACkEQBgAAAEAhCMIAAAAAKARBGAAAAACFIAgDAAAAoBAEYQAAAAAUgiAMAAAAgEIQhAEAAABQCIIwAAAAAApBEAYAAABAIQjCAAAAACgEQRgAAAAAhSAIAwAAAKAQBGEAAAAAFIIgDAAAAIBCEIQBAAAAUAiCMAAAAAAKQRAGAAAAQCEIwgAAAAAoBEEYAAAAAIUgCAMAAACgEARhAAAAABSCIAwAAACAQhCEAQAAAFAIgjAAAAAACkEQBgAAAEAhCMIAAAAAKARBGAAAAACFIAgDAAAAoBAEYQAAAAAUgiAMAIDMmDEjRx55ZLp06ZKePXvmtNNOy3PPPdesz/jx41NRUdFsOfroo5v1aWpqysSJE9OjR4907tw5p5xySl555ZVdeSoAAFslCAMAIIsXL86FF16YRx99NIsWLcpbb72VkSNH5o033mjW78QTT8yKFSvKyw9/+MNm2ydNmpQFCxbk9ttvz5IlS7J27dqcdNJJ2bhx4648HQCALaps6wIAAGh79957b7P1uXPnpmfPnmloaMhxxx1Xbq+qqkptbe0W97F69ercdNNNufXWWzNixIgkyW233ZY+ffrkgQceyKhRo3beCQAAvA9mhAEAsJnVq1cnSbp169as/eGHH07Pnj1zwAEH5LzzzsvKlSvL2xoaGrJhw4aMHDmy3FZXV5cBAwZk6dKlu6ZwAID3YEYYAADNlEqlTJ48Occee2wGDBhQbh89enQ+/elPp2/fvlm2bFkuv/zyHH/88WloaEhVVVUaGxvTvn377LPPPs32V1NTk8bGxi0eq6mpKU1NTeX1NWvW7JyTAgCIIAwAgHeZMGFCnnzyySxZsqRZ+xlnnFH+ecCAATniiCPSt2/fLFy4MGPGjNnq/kqlUioqKra4bcaMGbnyyitbp3AAgG1wayQAAGUTJ07MPffck4ceeii9e/d+z769evVK375988ILLyRJamtrs379+qxatapZv5UrV6ampmaL+5g2bVpWr15dXpYvX946JwIAsAWCMAAAUiqVMmHChNx555158MEH069fv21+5tVXX83y5cvTq1evJMmgQYOy1157ZdGiReU+K1asyNNPP53BgwdvcR9VVVXp2rVrswUAYGdxayQAALnwwgszf/783H333enSpUv5mV7V1dXp2LFj1q5dm/r6+px++unp1atXXn755XzpS19Kjx498slPfrLc99xzz82UKVPSvXv3dOvWLVOnTs3AgQPLb5EEAGhLgjAAADJnzpwkydChQ5u1z507N+PHj0+7du3y1FNP5ZZbbslrr72WXr16ZdiwYbnjjjvSpUuXcv/rrrsulZWVGTt2bNatW5fhw4dn3rx5adeu3a48HQCALRKEAQCQUqn0nts7duyY++67b5v76dChQ2bNmpVZs2a1VmkAAK3GM8IAAAAAKARBGAAAAACFIAgDAAAAoBAEYQAAAAAUgiAMAAAAgEIQhAEAAABQCIIwAAAAAApBEAYAAABAIQjCAAAAACgEQRgAAAAAhSAIAwAAAKAQBGEAAAAAFIIgDAAAAIBCEIQBAAAAUAiCMAAAAAAKQRAGAAAAQCEIwgAAAAAoBEEYAAAAAIUgCAMAAACgEARhAAAAABSCIAwAAACAQhCEAQAAAFAIgjAAAAAACkEQBgAAAEAhCMIAAAAAKARBGAAAAACFIAgDAAAAoBAEYQAAAAAUgiAMAAAAgEIQhAEAAABQCIIwAAAAAApBEAYAAABAIQjCAAAAACgEQRgAAAAAhSAIAwAAAKAQtisImzFjRo488sh06dIlPXv2zGmnnZbnnnuuWZ9SqZT6+vrU1dWlY8eOGTp0aJ555plmfZqamjJx4sT06NEjnTt3zimnnJJXXnml5WcDAAAAAFuxXUHY4sWLc+GFF+bRRx/NokWL8tZbb2XkyJF54403yn2uueaazJw5M7Nnz85jjz2W2tranHDCCXn99dfLfSZNmpQFCxbk9ttvz5IlS7J27dqcdNJJ2bhxY+udGQAAAAC8Q+X2dL733nubrc+dOzc9e/ZMQ0NDjjvuuJRKpVx//fW57LLLMmbMmCTJzTffnJqamsyfPz/nn39+Vq9enZtuuim33nprRowYkSS57bbb0qdPnzzwwAMZNWpUK50aAAAAAPx/LXpG2OrVq5Mk3bp1S5IsW7YsjY2NGTlyZLlPVVVVhgwZkqVLlyZJGhoasmHDhmZ96urqMmDAgHKfd2tqasqaNWuaLQAAAACwPXY4CCuVSpk8eXKOPfbYDBgwIEnS2NiYJKmpqWnWt6amprytsbEx7du3zz777LPVPu82Y8aMVFdXl5c+ffrsaNkAAAAAFNQOB2ETJkzIk08+me9///ubbauoqGi2XiqVNmt7t/fqM23atKxevbq8LF++fEfLBgAAAKCgdigImzhxYu6555489NBD6d27d7m9trY2STab2bVy5cryLLHa2tqsX78+q1at2mqfd6uqqkrXrl2bLQAAAACwPbYrCCuVSpkwYULuvPPOPPjgg+nXr1+z7f369UttbW0WLVpUblu/fn0WL16cwYMHJ0kGDRqUvfbaq1mfFStW5Omnny73AQAAAIDWtl1vjbzwwgszf/783H333enSpUt55ld1dXU6duyYioqKTJo0KdOnT0///v3Tv3//TJ8+PZ06dcpZZ51V7nvuuedmypQp6d69e7p165apU6dm4MCB5bdIAgAAAEBr264gbM6cOUmSoUOHNmufO3duxo8fnyS55JJLsm7dulxwwQVZtWpVjjrqqNx///3p0qVLuf91112XysrKjB07NuvWrcvw4cMzb968tGvXrmVnAwAA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3TPCRo8endGjR29xW6lUyvXXX5/LLrssY8aMSZLcfPPNqampyfz583P++edn9erVuemmm3LrrbdmxIgRSZLbbrstffr0yQMPPJBRo0a14HQAAAAAYMta9Rlhy5YtS2NjY0aOHFluq6qqypAhQ7J06dIkSUNDQzZs2NCsT11dXQYMGFDu825NTU1Zs2ZNswUAAAAAtkerBmGNjY1JkpqammbtNTU15W2NjY1p37599tlnn632ebcZM2akurq6vPTp06c1ywYAAACgAHbKWyMrKiqarZdKpc3a3u29+kybNi2rV68uL8uXL2+1WgEAAAAohlYNwmpra5Nks5ldK1euLM8Sq62tzfr167Nq1aqt9nm3qqqqdO3atdkCAAAAANujVYOwfv36pba2NosWLSq3rV+/PosXL87gwYOTJIMGDcpee+3VrM+KFSvy9NNPl/sAAAAAQGvb7rdGrl27Ni+++GJ5fdmyZXniiSfSrVu37Lfffpk0aVKmT5+e/v37p3///pk+fXo6deqUs846K0lSXV2dc889N1OmTEn37t3TrVu3TJ06NQMHDiy/RRIAAAAAWtt2B2GPP/54hg0bVl6fPHlykmTcuHGZN29eLrnkkqxbty4XXHBBVq1alaOOOir3339/unTpUv7Mddddl8rKyowdOzbr1q3L8OHDM2/evLRr164VTgkAAAAANldRKpVKbV3E9lqzZk2qq6uzevVqzwv7O7X/pQvbugRoUy9f9Ym2LgH+LhlD7P78N4Kdz1ibIjPO/vv1fscQO+WtkQAAAACwuxGEAQAAAFAIgjAAAAAACkEQBgAAAEAhCMIAAAAAKITKti5gd7Wnv0nFmzAAAAAAmjMjDACAJMkjjzySk08+OXV1damoqMhdd93VbHupVEp9fX3q6urSsWPHDB06NM8880yzPk1NTZk4cWJ69OiRzp0755RTTskrr7yyC88CAGDrBGEAACRJ3njjjRx66KGZPXv2Frdfc801mTlzZmbPnp3HHnsstbW1OeGEE/L666+X+0yaNCkLFizI7bffniVLlmTt2rU56aSTsnHjxl11GgAAW+XWSAAAkiSjR4/O6NGjt7itVCrl+uuvz2WXXZYxY8YkSW6++ebU1NRk/vz5Of/887N69ercdNNNufXWWzNixIgkyW233ZY+ffrkgQceyKhRo3bZuQAAbIkZYQAAbNOy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vPTSS5kzZ0769++f++67L5/73Ofy+c9/Prfccktbl7ZH+OIXv5gzzzwzBx10UPbaa68cfvjhmTRpUs4888y2Lm2P09jYmCSpqalp1l5TU1Pexvv317/+NZdeemnOOuusdO3ata3L2SNcffXVqayszOc///m2LgV2GeOAljEOaD3GAa3LOGD7GQfsuJUrV2bt2rW56qqrcuKJJ+b+++/PJz/5yYwZMyaLFy9u6/L2GN/61rfy4Q9/OL1790779u1z4okn5oYbbsixxx67S45fuUuOQqtYvnx5Lrrootx///3uP94BmzZtyhFHHJHp06cnSQ4//PA888wzmTNnTj772c+2cXW7vzvuuCO33XZb5s+fn0MOOSRPPPFEJk2alLq6uowbN66ty9sjVVRUNFsvlUqbtfHeNmzYkM985jPZtGlTbrjhhrYuZ4/Q0NCQb37zm/nlL3/pzxuFYhzQMsYBrc84oOWMA7afcUDLvP2CkFNPPTVf+MIXkiSHHXZYli5dmu985zsZMmRIW5a3x/jWt76VRx99NPfcc0/69u2bRx55JBdccEF69eq1S+58MyNsD9LQ0JCVK1dm0KBBqaysTGVlZRYvXpxvfetbqayszMaNG9u6xN1ar1698uEPf7hZ28EHH+ztHu/TxRdfnEsvvTSf+cxnMnDgwJx99tn5whe+YHbiDqitrU2Szb71Xbly5WbfDrN1GzZsyNixY7Ns2bIsWrTIt8Dv009+8pOsXLky++23X/l3ye9///tMmTIl+++/f1uXBzuNcUDLGAe0HuOA1mEcsGOMA1qmR48eqays9PukBdatW5cvfelLmTlzZk4++eR85CMfyYQJE3LGGWfkG9/4xi6pwYywPcjw4cPz1FNPNWv713/91xx00EH54he/mHbt2rVRZXuGY445Js8991yztueffz59+/Zto4r2LG+++WY+8IHm2Xm7du28Nn0H9OvXL7W1tVm0aFEOP/zwJMn69euzePHiXH311W1c3Z7h7cHvCy+8kIceeijdu3dv65L2GGefffZm37SNGjUqZ599dv71X/+1jaqCnc84oGWMA1qPcUDLGQfsOOOAlmnfvn2OPPJIv09aYMOGDdmwYUOb/k4RhO1BunTpkgEDBjRr69y5c7p3775ZO5v7whe+kMGDB2f69OkZO3ZsfvGLX+TGG2/MjTfe2Nal7RFOPvnkfO1rX8t+++2XQw45JL/61a8yc+bMnHPOOW1d2m5p7dq1efHFF8vry5YtyxNPPJFu3bplv/32y6RJkzJ9+vT0798//fv3z/Tp09OpU6ecddZZbVj17uO9rl9dXV0+9alP5Ze//GX+z//5P9m4cWP5W/Vu3bqlffv2bVX2bmNbf/7e/Q+GvfbaK7W1tTnwwAN3damwyxgHtIxxwPYxDmgZ44CWMQ5omW1dv4svvjhnnHFGjjvuuAwbNiz33ntvfvCDH+Thhx9uu6J3M9u6hkOGDMnFF1+cjh07pm/fvlm8eHFuueWWzJw5c9cUuEveTclOM2TIkNJFF13U1mXsMX7wgx+UBgwYUKqqqioddNBBpRtvvLGtS9pjrFmzpnTRRReV9ttvv1KHDh1K//iP/1i67LLLSk1NTW1d2m7poYceKiXZbBk3blypVPrbq9OvuOKKUm1tbamqqqp03HHHlZ566qm2LXo38l7Xb9myZVvclqT00EMPtXXpu4Vt/fl7N69NpyiMA3acccD2MQ5oGeOAljEOaJn3c/1uuumm0oc+9KFShw4dSoceemjprrvuaruCd0PbuoYrVqwojR8/vlRXV1fq0KFD6cADDyxde+21pU2bNu2S+ipKpVKpdaM1AAAAANj9eFg+AAAAAIUgCAMAAACgEARhAAAAABSCIAwAAACAQhCEAQAAAFAIgjAAAAAACkEQBgAAAEAhCMIAAABoFS+//HIqKiryxBNPtHUpZb/97W9z9NFHp0OHDjnssMPauhygjQnCgF1q/PjxqaioSEVFRSorK7Pffvvlf/7P/5lVq1a9r8/vjoMrAIDdxdtjrauuuqpZ+1133ZWKioo2qqptXXHFFencuXOee+65/PjHP97uz48fPz6nnXZa6xcGtAlBGLDLnXjiiVmxYkVefvnlfO9738sPfvCDXHDBBbu8jvXr1+/yYwIA7GwdOnTI1Vdf/b6/aNwTtGTc9rvf/S7HHnts+vbtm+7du7diVcCeSBAG7HJVVVWpra1N7969M3LkyJxxxhm5//77y9vnzp2bgw8+OB06dMhBBx2UG264obytX79+SZLDDz88FRUVGTp0aJJk6NChmTRpUrPjnHbaaRk/fnx5ff/9989Xv/rVjB8/PtXV1TnvvPMyb968fPCDH8x9992Xgw8+OHvvvXc5qHvbww8/nP/+3/97OnfunA9+8IM55phj8vvf/771LwwAQCsYMWJEamtrM2PGjK32qa+v3+w2weuvvz77779/ef3tmVDTp09PTU1NPvjBD+bKK6/MW2+9lYsvvjjdunVL796987/+1//abP+//e1vM3jw4HTo0CGHHHJIHn744Wbbf/Ob3+TjH/949t5779TU1OTss8/OX/7yl/L2oUOHZsKECZk8eXJ69OiRE044YYvnsWnTpnzlK19J7969U1VVlcMOOyz33ntveXtFRUUaGhryla98JRUVFamvr9/ifv73//7fGThwYDp27Jju3btnxIgReeONN1JfX5+bb745d999d/muhrfP5Y9//GPOOOOM7LPPPunevXtOPfXUvPzyy5tdvyuvvDI9e/ZM165dc/755zcL9bZ2XGDnEYQBbeqll17Kvffem7322itJ8t3vfjeXXXZZvva1r+XZZ5/N9OnTc/nll+fmm29OkvziF79IkjzwwANZsWJF7rzzzu063te//vUMGDAgDQ0Nufzyy5Mkb775Zr7xjW/k1ltvzSOPPJI//OEPmTp1apLkrbfeymmnnZYhQ4bkySefzM9+9rP827/9W2FvLQAAdn/t2rXL9OnTM2vWrLzyyist2teDDz6YP/3pT3nkkUcyc+bM1NfX56STTso+++yTn//85/nc5z6Xz33uc1m+fHmzz1188cWZMmVKfvWrX2Xw4ME55ZRT8uqrryZJVqxYkSFDhuSwww7L448/nnvvvTf/9//+34wdO7bZPm6++eZUVlbmpz/9af7jP/5ji/V985vfzLXXXptvfOMbefLJJzNq1KiccsopeeGFF8rHOuSQQzJlypSsWLGiPMZ7pxUrVuTMM8/MOeeck2effTYPP/xwxowZk1KplKlTp2bs2LHlL0pXrFiRwYMH580338ywYcOy995755FHHsmSJUvKX6i+M+j68Y9/nGeffTYPPfRQvv/972fBggW58sort3lcYCcqAexC48aNK7Vr167UuXPnUocOHUpJSklKM2fOLJVKpVKfPn1K8+fPb/aZf//3fy997GMfK5VKpdKyZctKSUq/+tWvmvUZMmRI6aKLLmrWduqpp5bGjRtXXu/bt2/ptNNOa9Zn7ty5pSSlF198sdz27W9/u1RTU1MqlUqlV199tZSk9PDDD7fktAEAdolx48aVTj311FKpVCodffTRpXPOOadUKpVKCxYsKL3zn39XXHFF6dBDD2322euuu67Ut2/fZvvq27dvaePGjeW2Aw88sPRP//RP5fW33nqr1Llz59L3v//9Uqn0/8dqV111VbnPhg0bSr179y5dffXVpVKpVLr88stLI0eObHbs5cuXl5KUnnvuuVKp9Lex3WGHHbbN862rqyt97Wtfa9Z25JFHli644ILy+qGHHlq64oortrqPhoaGUpLSyy+/vMXt77ymb7vppptKBx54YGnTpk3ltqamplLHjh1L9913X/lz3bp1K73xxhvlPnPmzCntvffepY0bN27zuMDOUdlWARxQXMOGDcucOXPy5ptv5nvf+16ef/75TJw4MX/+85+zfPnynHvuuTnvvPPK/d96661UV1e3yrGPOOKIzdo6deqU//bf/lt5vVevXlm5cmWSpFu3bhk/fnxGjRqVE044ISNGjMjYsWPTq1evVqkHAGBnufrqq3P88cdnypQpO7yPQw45JB/4wP+/kaimpiYDBgwor7dr1y7du3cvj53e9rGPfaz8c2VlZY444og8++yzSZKGhoY89NBD2XvvvTc73u9+97sccMABSbY8bnunNWvW5E9/+lOOOeaYZu3HHHNMfv3rX7/PM0wOPfTQDB8+PAMHDsyoUaMycuTIfOpTn8o+++yz1c80NDTkxRdfTJcuXZq1//Wvf83vfve7Zvvu1KlTef1jH/tY1q5dm+XLl+/QcYGWc2sksMt17tw5H/rQh/KRj3wk3/rWt9LU1JQrr7wymzZtSvK32yOfeOKJ8vL000/n0Ucffc99fuADH9hsGvmGDRu2eOx3e/u2zLdVVFQ029fcuXPzs5/9LIMHD84dd9yRAw44YJv1AAC0teOOOy6jRo3Kl770pc22vd+x05bGSVtqe3sc917efrTEpk2bcvLJJzcb7z3xxBN54YUXctxxx5X7b2nc9l77fVupVNqux1i0a9cuixYtyo9+9KN8+MMfzqxZs3LggQdm2bJlW/3Mpk2bMmjQoM3O4fnnn89ZZ531vmrekeMCLScIA9rcFVdckW984xvZuHFj/uEf/iEvvfRSPvShDzVb3n5Ifvv27ZMkGzdubLaPfffdt9kD7jdu3Jinn3661Wo8/PDDM23atCxdujQDBgzI/PnzW23fAAA7y1VXXZUf/OAHWbp0abP2fffdN42Njc3CsCeeeKLVjvvOLw3feuutNDQ05KCDDkqSfPSjH80zzzyT/ffff7Mx3/sNv5Kka9euqaury5IlS5q1L126NAcffPB21VtRUZFjjjkmV155ZX71q1+lffv2WbBgQZK/jT/fPfb86Ec/mhdeeCE9e/bc7BzeeSfDr3/966xbt668/uijj2bvvfdO7969t3lcYOcQhAFtbujQoTnkkEMyffr01NfXZ8aMGfnmN7+Z559/Pk899VTmzp2bmTNnJkl69uyZjh07lh+qunr16iTJ8ccfn4ULF2bhwoX57W9/mwsuuCCvvfZai2tbtmxZpk2blp/97Gf5/e9/n/vvvz/PP//8dg+uAADawsCBA/PP//zPmTVrVrP2oUOH5s9//nOuueaa/O53v8u3v/3t/OhHP2q1437729/OggUL8tvf/jYXXnhhVq1alXPOOSdJcuGFF+a//uu/cuaZZ+YXv/hFXnrppdx///0555xzNguctuXiiy/O1VdfnTvuuCPPPfdcLr300jzxxBO56KKL3vc+fv7zn2f69Ol5/PHH84c//CF33nln/vznP5fHe/vvv3+efPLJPPfcc/nLX/6SDRs25J//+Z/To0ePnHrqqfnJT36SZcuWZfHixbnooouavaBg/fr1Offcc/Ob3/wmP/rRj3LFFVdkwoQJ+cAHPrDN4wI7hyAM2C1Mnjw53/3udzNq1Kh873vfy7x58zJw4MAMGTIk8+bNK88Iq6yszLe+9a38x3/8R+rq6nLqqacmSc4555yMGzcun/3sZzNkyJD069cvw4YNa3FdnTp1ym9/+9ucfvrpOeCAA/Jv//ZvmTBhQs4///wW7xsAYFf493//981ugzz44INzww035Nvf/nYOPfTQ/OIXv9jiGxV31FVXXZWrr746hx56aH7yk5/k7rvvTo8ePZIkdXV1+elPf5qNGzdm1KhRGTBgQC666KJUV1c3ex7Z+/H5z38+U6ZMyZQpUzJw4MDce++9ueeee9K/f//3vY+uXbvmkUceycc//vEccMAB+fKXv5xrr702o0ePTpKcd955OfDAA3PEEUdk3333zU9/+tN06tQpjzzySPbbb7+MGTMmBx98cM4555ysW7cuXbt2Le97+PDh6d+/f4477riMHTs2J598curr69/XcYGdo6L07v8jAgAAAC0yfvz4vPbaa7nrrrvauhTgHcwIAwAAAKAQBGEAAAAAFIJbIwEAAAAoBDPCAAAAACgEQRgAAAAAhSAIAwAAAKAQBGEAAAAAFIIgDAAAAIBCEIQBAAAAUAiCMAAAAAAKQRAGAAAAQCEIwgAAAAAohP8HwHiU+YxXQ3EAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Test the agent for 1000 episodes\n", "test_returns = []\n", "test_steps = []\n", "for episode in range(1000):\n", " return_episode, nb_steps = agent.test()\n", " test_returns.append(return_episode)\n", " test_steps.append(nb_steps)\n", "print(\"Test performance\", np.mean(test_returns))\n", "\n", "plt.figure(figsize=(15, 6))\n", "plt.subplot(121)\n", "plt.hist(test_returns)\n", "plt.xlabel(\"Returns\")\n", "plt.subplot(122)\n", "plt.hist(test_steps)\n", "plt.xlabel(\"Number of steps\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**A:** Q-learning accepts much higher values of gamma than MC, because the returns have a much lower variance. With the right parameters, Q-learning can learn much faster than MC." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.9.13 ('deeprl')", "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.9.13" }, "vscode": { "interpreter": { "hash": "932956c8e5d2f79d68ff59e849758b6e4ddbf01f7f22c7d8bb3532c38341d908" } } }, "nbformat": 4, "nbformat_minor": 4 }