{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from nim_env import NimEnv\n", "from utils import compute_nim_sum, optimal_policy, random_policy\n", "import random\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from sarsa import RLAgent\n", "from sarsa_lambda import SARSA_LAMBDA\n", "from montecarlo import MonteCarlo\n", "from tqdm import tqdm\n", "import pandas as pd\n", "pd.options.display.float_format = '{:,.3f}'.format\n", "\n", "# plt figure setup\n", "from matplotlib import rc\n", "\n", "plt.rc('axes', labelsize=14) # fontsize of the x and y labels\n", "plt.rc('axes', titlesize=14)\n", "plt.rc('xtick', labelsize=13) # fontsize of the tick labels\n", "plt.rc('ytick', labelsize=13)\n", "plt.rc('legend', fontsize=14) # legend fontsize\n", "plt.rc('figure', titlesize=14) # fontsize of the figure title\n", "plt.rc('lines', markersize=7)\n", "plt.rc('lines', linewidth=2)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import random\n", "\n", "def evaluate_fixed(agent, N):\n", " player0_ep_rewards = [0]*N\n", " player1_ep_rewards = [0]*N\n", " for i in range(N):\n", " done = False\n", " heaps = random.sample(range(1, 8), 3)\n", " env = NimEnv(heaps)\n", " turn = 0\n", " while not done:\n", " action = agent.decide(heaps)\n", " next_heaps, winner, reward, done, turn = env.step(action)\n", " if done:\n", " break\n", " adv_action = optimal_policy(next_heaps, randomness=0.2)\n", " nextnext_heaps, winner, adv_reward, done, _ = env.step(adv_action)\n", " heaps = nextnext_heaps\n", "\n", "\n", " if winner == 0:\n", " player0_ep_rewards.append(1) \n", " player1_ep_rewards.append(-1) \n", " else: # if winner == 1 \n", " player0_ep_rewards.append(-1)\n", " player1_ep_rewards.append(1) \n", "\n", " return np.mean(player0_ep_rewards), np.mean(player1_ep_rewards)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "heaps = [7,7,7]\n", "env = NimEnv(heaps)\n", "\n", "\n", "def run_experiment(env, num_episodes):\n", " player0_rewards = []\n", " player1_rewards = []\n", " agent0 = MonteCarlo() # RL agent for player 0\n", " # agent1 = RLAgent() # RL agent for player 1\n", "\n", " for episode in tqdm(range(1, num_episodes+1)):\n", " heaps = env.reset() \n", " env = NimEnv(heaps)\n", " \n", " winner = None\n", " done = False\n", "\n", " action = None\n", " reward = None\n", "\n", " while not done:\n", " action = agent0.decide(heaps)\n", " next_heaps, winner, reward, done, _ = env.step(action)\n", " agent0.append_state_actions(heaps, action)\n", " if done:\n", " agent0.learn(reward[0])\n", " break\n", " \n", " adv_action = optimal_policy(next_heaps, randomness=0.2)\n", " nextnext_heaps, winner, adv_reward, done, _ = env.step(adv_action)\n", " if done:\n", " agent0.learn(adv_reward[0])\n", " break\n", " \n", " heaps = nextnext_heaps[:]\n", "\n", " r0, r1 = evaluate_fixed(agent0, 10)\n", " player0_rewards.append(r0) \n", " player1_rewards.append(r1) \n", " \n", " return player0_rewards, player1_rewards, agent0" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 50000/50000 [03:02<00:00, 274.60it/s]\n" ] } ], "source": [ "num_episodes = 50000\n", "r0, r1, agent = run_experiment(env, num_episodes)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuQAAAH6CAYAAABPkFkTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAACrGUlEQVR4nO3dd5QUxRYG8K9Ycl6igAqIgSCIgCJiwACYMGJGQQH1mUAMz2eOqBhAQX0qgoqIAfWpmBVRUQEBBRVWAQkKkjMssOzW+6OmmOqejhO2Z3e/3zlzZqanp7tnesLt6lu3hJQSREREREQUjXJRbwARERERUVnGgJyIiIiIKEIMyImIiIiIIsSAnIiIiIgoQgzIiYiIiIgixICciIiIiChCDMiJiIiIiCLEgJyIiIiIKEIMyImIXAghXhJCTIp6O0oiIcQkIcRLUW+Hm+Lat1Gth59dopKFATkRpU0sCJBCiNEOjw2LPTbJNr2hEOJJIcQiIcROIcRyIcTHQohTim/LXQ0C0CddCxNCTBFCjErX8sifx3ue1n2bhUr76yMqVcpHvQFEVOr8BeB8IcQgKeU2ABBClAdwCYBl5oxCiGYAvgOwBcB/AMyBaig4AcB/AexbfJudSEq5Kcr1Z5IQoqKUclfU2xGV0rxvgdL/+ohKG7aQE1G6zQWwAMB5xrRTAewAMMU27zMABIBOUso3pZS/SynnSylHATjEbQVCiJOEEN8KITYIIdYLIT4VQrQyHq8mhHhFCLFVCLFKCPEfewqF3zJi89jTAKYIIZ4RQgwVQqwVQqwWQjwmhChnzHOMEGJabN2bhBDThRAHx9Z9LIBrYmcKZOyAxO019hNC/CSE2C6E2BxbpmMjSsDXO0UI8Wxse9dAHQhBKLfEzlDkCyF+EUL0sS3fcx4hRNXYe6XXf5vt+ZcKIdYJISrZpo8XQrzv8R5UEkKMiC1zR+w9OMo2zxQhxH9jZ1k2xC6PCiHKeb3nLvv2WSHE47HPwxohxKDYNjwthNgohFgmhLjEeI7vZ8iP1/aHeR8clmt/fUIIcaMQYoFQZ6L+FkI8lOy+IaL0YkBORJnwIoDLjfuXAxgLQOoJQog6AE4CMEpKudW+ACnlBo/lVwMwAsDhALoB2ATgAyFExdjjj0MFYmcBOB4quD865DLcXAxgN4AjAVwLYDCA82OvqTyA9wBMja2zM4AnARRCpRD8APU+NIpd/nJagRCiV+x5wwC0AnAEgIeklLtdtinI6wVUCoOIPXZpbNoDAPoDuAZAawAPAXhOCHGq8Ty/eR4D0B3AOVBnNw4FcIzx/Leg/m/OMF5jrdj2vujymhB7/edDfX4OBfALgE+EEI1s810cW34XAFcCuAJqvwR+z43lbIHabw9DfT7+B+APAJ0AvAxgtBCicWz+ZD9DTut12n4t6PvgZSiAO6H2XRsA50K9F8nuGyJKJyklL7zwwktaLgBeAjAJQC6AfAAHANgLwE6o9JOXAEyKzXs4VIB+VhrWWw0q6D0KQHUAuwBcYHt8A4CXgizD/nqM+1MA/GB73ucARsdu14m9pmNd1jEF6gDE7/XcDOBXAHUCzBvo9cbWPdfhNecDONo2fQSAj4LME1v/TgAX27Zpo239owB8Ytz/F4CVAMp77I9dAC41puUAWATgAdvr+gOAMKbdAeBvr/fcb99CHbisAfC+Ma1CbJt6J/sZcvlMeG1/0PfB/nr23I/tjx0ArnLZhlD7hhdeeEn/hS3kRJR2UrVuvwvVotcXwBQp5TLbbCLZ5QshWgghXoulUGwGsAqqlW9fAC2gAqcZxvZsgwpwgy7Dy1zb/RUAGsTWsx4qEPpUCPGhEGKIEGKfJF7ii1AB1LpYGsjBsW2+OHZfX44O+npjZtnutwZQGaq1dc9yoQKyFgHnaQGgIlRLtF7/VqhWXNMLALoLIfaO3b8cwMvSvdVfv67vjOUWxtbT2jbvNCmlNO7/AKCJEKKmy7Ld7Nm3seWtNl+HlLIA6kCnAZDSZ8jOa/vDvA9uWgOoBOBLl8fD7hsiSjN26iSiTBkDdYp/K4C7HB5fANWa3AoqeA/jAwDLoU7vL4dKIZkHFRjqQF86PzXQMrwU2O5LGOl/UsrLhBAjoNJxTgfwoBDiTCnlpz7LBbAn7WUCgNkAroJqaV4ce/h9ANON2ZcDOMjYDj/bbPf1dveCrcMt4q/Tb57cAOuFlHKOEGI2gH5CiP9BpYB4VQHx2o9BXmsynPat1/5O9jMURjreB8+D3yT2DRGlGQNyIsqUL6FOtdeDysO1kFKuF0J8CuBaIcRT0pZHLoSoLaXcaH+eEKIuVBB/jZTyq9i0Doj/ni2ECqIORyyQFUJUBXAw1Gn+IMtIiZRyDlTFmEeEEB9DnSX4FOr9yPF5+lkA2kgpezosdwtUjvMeQgjf1+thHlS6SVMp5eRk5hFCrIut/wgAf8amVXNZ/wsAboH6THwnpfzdY9sWQr1fRxnLzYHKs37NNm9nIYQwWpmPALBCSrlZCBHkPQ8tzZ8hr+0P8z640fvwBKgDYSdh9g0RpRkDciLKCCmlFEK0g8qN3eky29UAvgcwUwhxJ1TKgABwHFQZRKdT/xsArAUwUAjxF4AmAB6Fap2ElHKrEGIMVDC8FsA/UDm55RBvUfRcRrKEEM2hWkvfh2ox3Q9AOwDPxmZZAuBwoSp9bAWwXkpZZFtMJQANhBB9AXwNoCpU8PV6LBXFIuDrdSSl3CKEeAzAY0IIAeAbqHzjIwAUSSmfDzKPEOLF2PrXQKXw3AXnIHgCgCeg0l2u8tm2bUKIZwE8HHtdiwHcAKAhVHUeU2MAI4QQzwBoC5WD/0DssSXwf8+Tkc7PkOv2h3wfHMX24ZMAHhJC7ITah3UBdJRS6s9m4H1DROnHgJyIMibWouv1+OJYq+JtAB6BCmrWQbUuX+nynCIhxPkAnoLKk14I4EYAbxuz3QTVGe59qCBsOFQAsyPEMpKxHcCBUJUr6kHlFI+PvTZAVSN5GarFsgqA5lABo+l1AO0B3B/b5o0AvpdSelW88Hy9Pu6MbedNUAcOmwH8DFXZI+g8ev3vQr0HI2P3LWKB4ZtQFT7eDLBt/45djwVQG8BPAE6SUv5jm2881AHAdKiDkBeh3gMg2HseWpo/Q17bDwR/H7z8B+og4k4Ae0Ptz1f0g0nsGyJKI2HtR0JEVPrEaiwvBfColPLxqLcn07L59cZSeP6WUg5M0/KmAPhVSnltOpZX3LJp+9O9b4goOLaQE1GpI4Q4FCq/dwaAGlAtjDUAvBHldmVKSXi9sbrzJwLoAY9Bn6j4cd8QRY8BORGVVkOgKpDshkqvOEZK+XekW5RZ2f56Z0PVab9NSulUkpGiw31DFDGmrBARERERRYgDAxERERERRYgBORERERFRhMp8Dnm9evVks2bNin29u3btQsWK6RzMjbIR93PZwP1cNnA/lw3cz2VDFPt51qxZa6WU9Z0eK/MBebNmzTBz5sxiX29eXh5atmxZ7Oul4sX9XDZwP5cN3M9lA/dz2RDFfhZCLHV7jCkrREREREQRYkBORERERBQhBuRERERERBFiQE5EREREFCEG5EREREREESrzVVaIiIioZNm8eTNWr16NgoKCtC+7oKAA8+fPT/tyKbtkYj9Xq1YNe++9N8qVC9/ezYCciIiISozNmzdj1apVaNKkCapUqQIhRFqXn5+fjypVqqR1mZR90r2fi4qKsHz5cqxduxYNGjQI/XymrBAREVGJsXr1ajRp0gRVq1ZNezBOlKxy5cqhYcOG2LRpU3LPT/P2EBEREWVMQUEBW7ApK1WoUAG7d+9O6rkMyImIiKhEYcs4ZaNUPpcMyImIiIiIIsSAnIiIiKiU6devH+67775Qz2nWrBkee+yxDG1R5k2aNAnt27dHUVFR1JsSGgNyIiIiogzr168fhBAYMGBAwmO33HILhBA47bTTLNO3bNmCO++8E61bt0aVKlXQsGFDdOvWDRMmTPAMOn/55Re89957GDx4cLpfRqSWLVuGXr16oVq1aqhXrx6uv/567Nq1a8/jp512GnJycjB+/PgItzI5DMiJiIiIisE+++yDN954A9u2bdszbffu3Rg3bhz23Xdfy7wbN25Ely5dMGbMGNx8882YOXMmpk6dir59++L+++/HsmXLXNczcuRInHPOOahZs2bGXkum7N69G1LKhOmFhYU49dRTsWXLFnz77beYMGECJk6ciBtvvNEy32WXXYannnqquDY3bRiQExERERWDdu3a4YADDsCbb765Z9qHH36IypUro1u3bpZ5b7vtNixevBjTp0/HZZddhjZt2uCAAw7AZZddhtmzZ2OvvfZyXEdhYSHefPNNnH766ZbpzZo1wz333IM+ffqgevXq2GuvvXzTU5544gm0a9cO1apVQ5MmTTBgwABs3LgRALBt2zbUrFkTEydOtDzn888/R4UKFbBq1SoAwPLly3HBBRcgNzcXubm5OPXUU7FgwYI9899zzz04+OCD8dJLL6FFixaoVKmS5YBF++yzz/Dbb79h3Lhx6NChA7p3745hw4bhhRdewObNm/fMd/rpp2PmzJlYuHCh52vLNgzIiYiIiIpJ//79MWbMmD33x4wZg8suu8xSoaOoqAivv/46Lr74Yuy9994Jy6hcuTIqV67suPy5c+di06ZN6NSpU8JjTzzxBFq1aoXZs2fj3nvvxW233YZ33nnHdVvLlSuHESNG4LfffsNrr72GGTNm4LrrrgOgRqW88MILLa9Fv57TTjsNDRs2xPbt23HcccehcuXK+Prrr/HDDz+gUaNGOPHEE7F9+/Y9z1m8eDFee+01vPXWW5gzZ47ja/vhhx/QqlUr7LPPPnum9ezZEzt37sSsWbP2TNt3333RsGFDfP31166vKxsxII9CYSEqz5kDZGDIXyIiorJGiPRdqlatEnjeZFx00UWYOXMmFixYgJUrV+KTTz5Bv379LPOsXbsWGzZsQKtWrUIvf+nSpRBCOLagd+7cGbfffjsOPPBAXHnllbj00kvxxBNPuC5r8ODBOP7449GsWTMce+yxGDZsGN588809+esDBw7EZ599huXLlwMANmzYgP/973/o378/AOD111+HlBJjx45Fu3bt0LJlSzz33HPYunUrJk2atGc9u3bt2tPyffDBB6N8+cSB5FeuXImGDRtaptWrVw85OTlYuXKlZXrjxo2xZMmSYG9YlmBAHoVrr0WzCy4AbPliREREVLrl5ubirLPOwpgxY/Dyyy+jW7duCfnjTjnUQeXn56NChQooVy4xxOvSpUvC/Xnz5rkua/LkyejevTv23ntv1KhRA2effTZ27dq1JwDu1KkT2rZti5dffhkA8NprryE3Nxcnn3wyAGDWrFlYvHgxatSogerVq6N69eqoVasWNmzYgEWLFu1Zz957750QbDtxq/Ntn16lShXk5+f7Li+bJB6CUOb997/q2nZER0REROGlEL8myM/Pz/hIoJdffjn69u2L6tWrO5YmrF+/PnJzczF//vzQy65Xrx527dqF7du3o2rVqklv49KlS3Hqqadi4MCBuO+++1C3bl3Mnj0bF154oaWyyYABAzBixAjcdtttGDNmDPr164ecnBwAKvWmffv2eP311xOWX6dOnT23q1Wr5rs9e+21F7777jvLtLVr16KwsDAhmF+/fj3q168f6vVGjS3kRERERMXohBNOQMWKFbF27VqceeaZCY+XK1cO559/PsaPH4+///474fEdO3Zgx44djstu3749ADi2fE+bNi3hvltazMyZM7Fr1y4MHz4cXbp0wYEHHogVK1YkzNenTx8sX74co0aNwuzZs3HZZZfteaxDhw5YuHAh6tWrh/33399yMQPyILp06YL58+db3o/PP/8clSpVQseOHfdM27FjBxYtWoQOHTqEWn7UGJATERERFSMhBObOnYvFixejUqVKjvMMHToU++67Lzp37oyxY8fit99+w8KFCzFu3Dh07NgxIW9aq1+/Pjp06ICpU6cmPDZt2jQ89NBDWLBgAV544QW88soruOGGGxyXc8ABB6CoqAgjRozA4sWLMWHCBIwYMSJhvlq1auHcc8/FjTfeiGOOOQYHHHDAnscuvvhiNGzYEGeccQa+/vprLF68GN988w1uvPFGS6WVIHr06IE2bdrg0ksvxU8//YQvvvgCN998MwYOHGgp7zht2jRUqlQJXbt2DbX8qDEgJyIiIipmNWrU8KwTnpubi2nTpqFfv3545JFH0LFjRxx55JF48cUXceeddybknZuuuOIKx8FxhgwZgrlz5+LQQw/FHXfcgfvuuw+9e/d2XEa7du3w5JNP4oknnkDr1q0xevRo1zKJ/fv3x65du/Z05tSqVq2Kb775Bvvttx/OPfdctGzZEn379sWGDRuQm5vruv1OcnJy8OGHH6Jq1aro2rUrzj//fJx99tkJ2zRhwgRcfPHFKaXrREGk0nGgNOjUqZOcOXNm8a7U7HxQxt//0i4vLw8tW7aMejMow7ifywbu5+wwf/78pKqPBFUcOeSZtnPnTrRs2RKvvPIKjj76aACqDvm1116Lm266Ke3re+ONN3DllVdixYoVkQbCa9asQcuWLTFz5kw0b97cc95M7Wevz6cQYpaUMrEeJdhCHo1GjeK3GZATERFRGlWqVAkvv/wy1q9fn9H1bN++HfPmzcPQoUMxcODAyFulFy9ejGeeecY3GM9GDMijYI4eZfRUJiIiIkqHY445BmeccUZG1zFs2DAccsghqFOnDu68886MriuIww8/HOeff37Um5EUlj2MgnkEmZ8PuHToICIiIkqHTAyUc8899+Cee+5J+3LLIraQR23OnKi3gIiIiIgixIA8aosXR70FRERERBQhBuQRkbrSSosW0W4IEREREUWKAXlEtnfurG6ccw4weXK0G0NEREREkWFAHhFZsaK6sWYNcMIJ0W4MEREREUWGAXlEJCurEBERERGyOCAXQuQIIR4VQqwRQmwRQrwthKgX4Hn/EkJIIcQdxbGdySrSLeREREREVKZlbUAO4FYAZwDoDGDv2LRxXk8QQjQFcCOAXzK7aamrPH9+1JtARERERFkgmwPyKwA8IqX8U0q5CcAtAE4SQjTzeM6LAG4HkNmxYtOg0p9/Wifs3h3NhhAREVGp0a9fP5x22mlZsZ4NGzagYcOGWLRoUca3J9N69+6NJ554ImPLz8qAXAhRC8C+AGbpaVLKRQA2A2jn8pwrAWyXUr5RLBuZblu2RL0FRERElGHLly/HFVdcgb333hsVK1ZEkyZNMHDgQPz999+hltOtWzdce+21CdOffPJJvPrqq+na3JQMHToUp5xyClpEUOL5mWeeQfPmzVG5cmV07NgR3377reu8Dz30EA477DDUrFkT9evXR69evfDrr79a5rn77rvxwAMPYNOmTRnZ3vIZWWrqasau7a96o/HYHkKIfQHcAeCIIAsXQlwB1QKPJk2aIC8vL+kNTVZL2/2Fc+Zg9157Fft2UGatXbs2ks8XFS/u57KB+zk7FBQUID8/P2PL3717d8aWv2TJEhx33HFo1qwZnn/+eey///74888/cc8996BTp06YMmUKmjZtGmhZRUVFjttaMdZHLZPvEQAUFhaisLDQdT3bt2/H6NGjMXHixIxvi93EiRMxaNAgjBgxAkceeSSef/55nHzyyZg9ezb22WcfANb9PHnyZAwYMAAdO3aElBL3338/TjjhBMyePRt16tQBAOy///5o1qwZxowZg6uuusp13QUFBcn9Tkgps+4CoDYACaC9bfomAKc7zP8ZgCuN+1MA3BFkXR07dpRRWPb881IC8UteXiTbQZk1f/78qDeBigH3c9nA/Zwd5s2bl9Hlb9++PWPLPvnkk2Xjxo3ltm3bLNO3bdsmGzduLE855ZQ904499lh55ZVXyuuvv17Wrl1b1q5dW950002ysLBQ9u3bV8bipD2XxYsXSyml7Nu3rzz11FMty7nqqqvkkCFDZG5urqxXr54cMWKE3LFjh7z66qtlrVq15D777CNfeeWVPc/5+OOP5VFHHSVr164tc3NzZY8ePRLed/t67N566y1Zp04dWVRUlPDY2LFjZfv27WWVKlVkjRo1ZOfOnWVBQUGo99LL4YcfLgcMGGCZtv/++8tbb711z32v/bxlyxZZrlw5+f7771um33vvvbJr166e6/b6fAKYKV3i0axMWZFSbgSwDEAHPU0IsR9U6/hch6d0BzBUCLFWCLEWQFcA/xFCuJ+fiNi2o44CRo82JmyLbmOIiIgoo9avX49PPvkE11xzDapWrWp5rGrVqrj66qvx8ccfY8OGDXumjx8/HkVFRfjhhx/w3HPP4fnnn8eIESPw5JNPokuXLrjsssvwzz//4J9//tnT8utk/PjxqFGjBqZPn45bb70VgwcPxplnnokDDzwQM2fORN++fTFgwACsWLECALBt2zYMHjwYM2bMwJQpU1CrVi306tULu3btCvx6v/32W3Ts2BFCj0we88EHH2DQoEG45ZZbMH/+fEybNg3/+c9/UL68NWlj6NChqF69uufFKQ1l165dmDVrFnr06GGZ3qNHD3z//feBtn3Lli0oKipCbm6uZfrhhx+OGTNmZKTFP1tTVgDgeQD/FkJ8BWAdgEcAfCqlXOIwr/1T+BaAbwE8ntEtTIUQQP/+wIAB6v6cOUCHDt7PISIiokS2oC8VVcLMrM7KB7JgwQJIKdGqVSvHx1u3bg0pJRYsWIDDDz8cANCoUSM89dRTEEKgZcuW+OOPP/DEE09gyJAhqFixIqpWrYq9AqS7tmnTBvfccw8AYMiQIXj44YdRoUIFDBo0CABw11134ZFHHsH333+P3r1745xzzrE8f+zYsahZsyZmzJiBo446KtDrXbp0KRo1apQwPS8vD/vssw969uy5Jx2kdevWCfNdddVVOO+88zzX0aRJk4Rpa9euRWFhIRo2bGiZ3rBhQ3zxxReBtn3QoEFo3749unTpYpneuHFjFBQUYMWKFWnPi8/KFvKYhwF8AOBHAMsB5ADoAwBCiIuFEFv1jFLKv80LgJ0ANkspV0Ww3cm5/PKot4CIiIgyzN5irMlYcG8+fsQRR1jud+nSBcuXL8fmzZtDrbNdu3g9DCEEGjRogLZt2+6ZVqFCBeTm5mL16tUAgEWLFuGiiy5CixYtULNmTTRs2BBFRUVYtmxZ4HXm5+ejcuXKCdP79++PypUro27duqhevXpC50mtTp062H///T0vVaq4Hz7Z32cppet7bxoyZAimTp2Kt99+Gzk5OZbH9Poy0UKetQG5lLJQSnmTlLKelLKGlPJsKeXa2GPjpZTVPZ7bTUr5QPFtLREREUXG2isrpUv+9u3B5w/hgAMOgBACv/32m+Pj8+fPhxAiIxVJKlSoYLkvhHCcVlRUBADo1asX1qxZg+eeew7Tp0/HTz/9hPLly4dKWalXr54l/QZQHSkvvPBCdOjQAT/++CN+/vln1zMGyaas1KtXDzk5OVi5cqVl+urVqxNaze1uuOEGTJgwAZMnT8Z+++2X8Pj69aqqdv369T2Xk4xsTlkpGy66CHjtNWDw4Ki3hIiIiDKkTp066NmzJ5555hnccMMNljzy7du34+mnn8bJJ5+8J40DAKZPn25p2Z02bRoaN26MmjVromLFiigsLEz7dq5btw7z58/H008/jeOOOw4AMHv2bOwOOV7KoYceipdeesky7d1338Vvv/2GTz/91Pf5yaasVKxYER07dsTnn3+Oc889d8/0zz//PCEVxzRo0CC8/vrrmDJlClq2tNfCU3799Vc0btzYN7BPRta2kJcZhxyirtdn/VhGRERElIJRo0Zh9+7dOPHEEzF58mT89ddfmDJlCrp37w4pJUaNGmWZf8WKFRg8eDB+//13TJw4EY8++ihuuOEGAECzZs0wY8YMLFmyBGvXrt3Tup2q3Nxc1KtXDy+88AIWLlyIr7/+GldddVVCp0s/PXv2xPz587Fu3bo903bu3InVq1fj5ZdfxpIlSzBv3jy8+OKL2OZQ2CKVlJUhQ4bgpZdewujRozF//nwMGjQIK1as2FOucNSoUWjfvv2e+a+55hqMHTsWEyZMQG5uLlauXImVK1di69atluV+++23OOmkk0K9D0ExII/af/+rrl95JdrtICIiooxq0aIFZs6ciTZt2uCSSy7Bfvvth4suugitWrXCjz/+iObNm1vmv/jii1FYWIjOnTtj4MCB6N+//56A/KabbkLFihXRunVr1K9fP1R+t5dy5crhjTfewNy5c3HwwQfjmmuuwf33349KlSqFWk7btm1x+OGH4/XXX98z7YILLsD111+PO++8EwcddBCOO+44TJo0CdWqVUvLtmvnn38+RowYgQceeADt27fH1KlT8dFHH+2p8b527Vr88ccfe+Z/5plnsGXLFpxwwglo1KjRnstjjz22Z54dO3bg3XffxcCBA9O6rZqQIXOgSptOnTrJmTNnFvt68/Ly1CmRm24CHo8Vgynj+6I02rOfqVTjfi4buJ+zw/z5813zjtMhPz/fs7NgcenWrRsOPvjghFbzkuSTTz7BoEGDMG/evIQOklELu5+ffvppvPfee/jss8885/P6fAohZkkpOzk9xhbyqMVKG6F372i3g4iIiCiNTjrpJFxzzTX4+++/o96UlFWoUAEjR47M2PLZqTNqulPHxInA778DBx0U7fYQERERpcn1118f9SakxRVXXJHR5TMgj5qZpnL++cDPP0e2KURERJQdpkyZEvUmUDFiykrUli+P3165Ehg3Dnjvvei2h4iI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iIiIKEIMyImIiIiIIsSAnIiIiIgoQgzII/DJJ+p66NBot4OIiIiIolc+6g0oi3r2BObNy0OrVi2j3hQiIiIiihhbyCMiRNRbQERERETZgAE5EREREVGEGJATEREREUWIATkRERERUYQYkBMRERERRYgBORERERFRhBiQExERERFFiAE5EREREVGEGJATEREREUWIATkRERERUYQYkBMRERERRYgBORERERFRhBiQExERERFFiAE5EREREVGEGJATEREREUWIATkRERERUYQYkBMRERERRYgBORERERFRhISUMuptiJQQYg2ApRGsuh6AtRGsl4oX93PZwP1cNnA/lw3cz2VDFPu5qZSyvtMDZT4gj4oQYqaUslPU20GZxf1cNnA/lw3cz2UD93PZkG37mSkrREREREQRYkBORERERBQhBuTReT7qDaBiwf1cNnA/lw3cz2UD93PZkFX7mTnkREREREQRYgs5EREREVGEGJATEREREUWIAXkxE0LkCCEeFUKsEUJsEUK8LYSoF/V2UZwQ4gIhxLdCiM1CiN0Oj18qhFgkhNguhJguhOhoe7yTEGJG7PFFQog+tscbCCHeie3/NUKIR4QQ5YzH+RnJsNh7/ltsH68QQrwghKhjm4f7uRQQQjwohFgc29erhRAThRD7Go9zP5ciQohyQojvhRBSCLG3MZ37uYQTQrwkhCgQQmw1Llfb5imx+5kBefG7FcAZADoD0D8W46LbHHKwAcAzAAbbHxBCHAXgWQD/ApAL4G0AHwkhasYerwXg49j0XABXAfivEKKLsZjxseu9oT4HZwG42Xicn5HMKwTQB0BdAIdAvc9j9YPcz6XKOADtpZQ1ATQDsAzA6wD3cyl1A4Dt5gTu51LlZSlldePyjH6gxO9nKSUvxXiBGhW0v3G/BQAJoFnU28ZLwr7qBmC3bdrLAMYZ9wXUH3zf2P3LYveFMc84AGNjt5vH9ncL4/H+ABbzMxLpvj4VwCbu59J9AVANwGMA1nE/l74LgAMBLALQPvYe7839XHouAF4CMNrj8RK9n9lCXoxiR2f7Apilp0kpFwHYDKBdVNtFoRwC6/6TAH6KTdePz45N12bbHt8U2+/m482EEDX5GYnMCQDmGve5n0sRIcRFQohNALYCGATgnthD3M+lRCytYAxUa+ZG28Pcz6XHOUKI9UKIP2KpI9WNx0r0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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "N=100\n", "r0_conv = np.convolve(r0, np.ones(N)/N, mode='valid')\n", "r1_conv = np.convolve(r1, np.ones(N)/N, mode='valid')\n", "fig = plt.figure(figsize=(12,8))\n", "plt.plot(range(1, len(r0_conv)+1), r0_conv, color='b', label='MC (player 0)')\n", "plt.plot(range(1, len(r1_conv)+1), r1_conv, color='r', label=r'Optimal ($\\epsilon = 0.2$)')\n", "plt.legend()\n", "plt.xlabel('episode')\n", "plt.ylabel('reward')\n", "plt.grid(True,'major',linestyle='-',linewidth=0.5)\n", "plt.grid(True,'minor',linestyle='--',linewidth=0.25) \n", "plt.title(r'MC against $\\epsilon$-greedy optimal policy')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "interpreter": { "hash": "4369559244255f10d34bca352df9b3f8794934e60b17f3451fa3b0f2f96527a8" }, "kernelspec": { "display_name": "Python 3.8.8 64-bit ('base': conda)", "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.8.8" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }