{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "execution": {}, "id": "view-in-github" }, "source": [ "\"Open   \"Open" ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "# Using RL to Model Cognitive Tasks\n", "\n", "**By Neurmatch Academy**\n", "\n", "__Content creators:__ Morteza Ansarinia, Yamil Vidal\n", "\n", "__Production editor:__ Spiros Chavlis\n" ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "---\n", "# Objective\n", "\n", "- This project aims to use behavioral data to train an agent and then use the agent to investigate data produced by human subjects. Having a computational agent that mimics humans in such tests, we will be able to compare its mechanics with human data.\n", "\n", "- In another conception, we could fit an agent that learns many cognitive tasks that require abstract-level constructs such as executive functions. This is a multi-task control problem.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "---\n", "# Setup" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Install dependencies\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "cellView": "form", "execution": {}, "tags": [ "hide-input" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", "numba 0.56.4 requires numpy<1.24,>=1.18, but you have numpy 1.25.1 which is incompatible.\u001b[0m\u001b[31m\n", "\u001b[0m\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", "chex 0.1.81 requires numpy>=1.25.0, but you have numpy 1.23.3 which is incompatible.\u001b[0m\u001b[31m\n", "\u001b[0m" ] } ], "source": [ "# @title Install dependencies\n", "!pip install jedi --quiet\n", "!pip install --upgrade pip setuptools wheel --quiet\n", "!pip install dm-acme[jax] --quiet\n", "!pip install dm-sonnet --quiet\n", "!pip install trfl --quiet\n", "!pip install numpy==1.23.3 --quiet --ignore-installed\n", "!pip uninstall seaborn -y --quiet\n", "!pip install seaborn --quiet" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "execution": {} }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.10/dist-packages/reverb/platform/default/ensure_tf_install.py:53: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", " if (distutils.version.LooseVersion(version) <\n", "/usr/local/lib/python3.10/dist-packages/tensorflow_probability/python/__init__.py:57: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", " if (distutils.version.LooseVersion(tf.__version__) <\n" ] } ], "source": [ "# Imports\n", "import time\n", "import numpy as np\n", "import pandas as pd\n", "import sonnet as snt\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "\n", "import dm_env\n", "\n", "import acme\n", "from acme import specs\n", "from acme import wrappers\n", "from acme import EnvironmentLoop\n", "from acme.agents.tf import dqn\n", "from acme.utils import loggers" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Figure settings\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "cellView": "form", "execution": {}, "tags": [ "hide-input" ] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.10/dist-packages/ipykernel/ipkernel.py:283: DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above.\n", " and should_run_async(code)\n" ] } ], "source": [ "# @title Figure settings\n", "from IPython.display import clear_output, display, HTML\n", "%matplotlib inline\n", "sns.set()" ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "---\n", "# Background\n", "\n", "- Cognitive scientists use standard lab tests to tap into specific processes in the brain and behavior. Some examples of those tests are Stroop, N-back, Digit Span, TMT (Trail making tests), and WCST (Wisconsin Card Sorting Tests).\n", "\n", "- Despite an extensive body of research that explains human performance using descriptive what-models, we still need a more sophisticated approach to gain a better understanding of the underlying processes (i.e., a how-model).\n", "\n", "- Interestingly, many of such tests can be thought of as a continuous stream of stimuli and corresponding actions, that is in consonant with the RL formulation. In fact, RL itself is in part motivated by how the brain enables goal-directed behaviors using reward systems, making it a good choice to explain human performance.\n", "\n", "- One behavioral test example would be the N-back task.\n", "\n", " - In the N-back, participants view a sequence of stimuli, one by one, and are asked to categorize each stimulus as being either match or non-match. Stimuli are usually numbers, and feedback is given at both timestep and trajectory levels.\n", "\n", " - The agent is rewarded when its response matches the stimulus that was shown N steps back in the episode. A simpler version of the N-back uses two-choice action schema, that is match vs non-match. Once the present stimulus matches the one presented N step back, then the agent is expected to respond to it as being a `match`.\n", "\n", "\n", "- Given a trained RL agent, we then find correlates of its fitted parameters with the brain mechanisms. The most straightforward composition could be the correlation of model parameters with the brain activities." ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "## Datasets\n", "\n", "- HCP WM task ([NMA-CN HCP notebooks](https://github.com/NeuromatchAcademy/course-content/tree/master/projects/fMRI))\n", "\n", "Any dataset that used cognitive tests would work.\n", "Question: limit to behavioral data vs fMRI?\n", "Question: Which stimuli and actions to use?\n", "classic tests can be modeled using 1) bounded symbolic stimuli/actions (e.g., A, B, C), but more sophisticated one would require texts or images (e.g., face vs neutral images in social stroop dataset)\n", "The HCP dataset from NMA-CN contains behavioral and imaging data for 7 cognitive tests including various versions of N-back." ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "## N-back task\n", "\n", "In the N-back task, participants view a sequence of stimuli, one per time, and are asked to categorize each stimulus as being either match or non-match. Stimuli are usually numbers, and feedbacks are given at both timestep and trajectory levels.\n", "\n", "In a typical neuro setup, both accuracy and response time are measured, but here, for the sake of brevity, we focus only on accuracy of responses." ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "---\n", "# Cognitive Tests Environment\n", "\n", "First we develop an environment in that agents perform a cognitive test, here the N-back." ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "## Human dataset\n", "\n", "We need a dataset of human perfoming a N-back test, with the following features:\n", "\n", "- `participant_id`: following the BIDS format, it contains a unique identifier for each participant.\n", "- `trial_index`: same as `time_step`.\n", "- `stimulus`: same as `observation`.\n", "- `response`: same as `action`, recorded response by the human subject.\n", "- `expected_response`: correct response.\n", "- `is_correct`: same as `reward`, whether the human subject responded correctly.\n", "- `response_time`: won't be used here.\n", "\n", "Here we generate a mock dataset with those features, but remember to **replace this with real human data.**" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "execution": {} }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAH6CAYAAAAKvTbUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABbv0lEQVR4nO3deVhUZf8G8HtmABUQBHNJxUBsEFkEFIFcSrAQd01MTTSXzAVL0krrh6WvZpstAlJimeaSmvpqipThvhtp7rmQiqhoKgybAjPn9wfvTIwzIAwzDJy5P9flJZzlOd95ZuZwzznPOSMRBEEAERERkYhIzV0AERERkbEx4BAREZHoMOAQERGR6DDgEBERkegw4BAREZHoMOAQERGR6DDgEBERkegw4BAREZHoMOAQERGR6DDgiFBUVBQ8PDzMXYZRzJw5Ex4eHrh+/bpm2vXr1+Hh4YGZM2earS4PDw9ERUVpTYuLi4OHhweOHDlipqpqR98Yy9atWzFw4ED4+/vDw8MD8+fPr1Z7+l5LpOvIkSPw8PBAXFycuUspl773nzmFhoYiNDTUpNvg67fqGHDqIL7Qq6cu7MArUtt27qZw/PhxzJgxA/n5+Rg+fDiio6PRrVu3CtepDQGT/qUO2x4eHoiMjCx3OQ8PD3Tv3r0GK7NsdekDcHVrtTJiLVRLfPzxxygsLDR3GSbTrFkzJCcno2HDhmarITk5GQ0aNDDb9stTG/rGGHbv3g1BEPDxxx8jICDA3OVQNZ08eRLbtm1Dnz59zF0KWRAGHBFq0aKFuUswKWtra7i7u5u1BnNvvzy1oW+M4fbt2wCApk2bmrkSqq4WLVrgzp07+Pzzz/H888/DxsbG3CWRhajSKaqy5/f//vtvTJs2DSEhIWjXrp3WYeF9+/bh1VdfRVBQELy9vdGzZ098/PHHUCgUOm2eP38eb775JkJDQ+Ht7Y3g4GAMGjQI8+fPR3FxsWa5soefN23ahIEDB8LX1xchISGYNWsW7ty5o7fmK1eu4O2330a3bt3g7e2Nrl274u2338aVK1d0li27jZSUFAwZMgQdOnRA586dERMTg6ysLJ11MjIyEBsbi+effx6+vr7o3Lkz+vXrh9mzZ+P+/fs6y2/duhVRUVHo1KkTfHx8EBERgcWLF6OoqKgyTwE8PDywadMmAEBYWJjmEHDZ87/6DuuVPS1z6tQpjBs3Dh07dkRgYCCmTp2Kmzdvah5PTEwMgoOD4evri6ioKJw/f15vLYWFhfjmm28wYMAA+Pn5wd/fHy+99BK2bt1aqcdS1sGDBzFixAj4+fmhc+fOmDx5Mi5fvqx32fLGmfzzzz/4+OOPER4eDj8/P3Tq1Anh4eGYOXMmMjIyAJSe3hs1ahQAID4+XtN/ZU9tbNy4ER4eHti4cSP27t2LqKgodOzYUatPH3eaqLKv0YrO3T96ykVdFwAcPXpUq3b16baKxuDcvn0bc+bM0XqvRUdH4/Tp0zrLlu2Dw4cPIyoqCv7+/ggICMCECRPKfW7Ko1KpsGbNGrz44ovw9/eHn58fXnzxRaxevRoqlUrvdgHt13hFp2RDQ0MRHx8PABg1apRW3+jz448/ol+/fvDx8cEzzzyD2NhY5Obm6l321q1bmDt3LsLCwuDt7Y2goCBMnDgRJ0+erPTjL/u8XLt2Da+//jqCgoLg7++PsWPH4sKFCwCAe/fuITY2Fl27doWPjw9efPFFHD58WG+bubm5WLhwIcLDw+Hj44PAwECMGzcOBw8eLLeO/fv3Y+LEiQgJCYG3tzeeffZZTJo0qcJ11B4+fIjXX38dHh4emDNnjtbzVpHmzZtj+PDhuH79OlauXFmpdSorKysLb731FkJCQuDr64vBgwfj559/1lmuqKgIK1euxKuvvooePXrA29sbnTt3xiuvvII9e/aU2/6tW7cwb948vPDCC5r9+5AhQ5CQkFCp+n7++Wd4e3sjIiKi0kMKqrIvBErfM1OnTkVYWBh8fX0REBCAYcOGYfPmzVrLqV+DR48eBQCt90jZfdnhw4cRGxuL3r17IyAgAL6+vujbty/i4+Px8OFDne3n5eUhISEBffv2RUBAAPz9/dGzZ09MmzZN777lzz//xOuvv44uXbpoXoOzZ8/W+vta2Vofx6AjONeuXcPQoUPh6uqKfv364cGDB7C3twdQ+kcjLi4OjRo1wnPPPQdnZ2dcuHAB3333Hfbu3Yu1a9dqlj1//jyGDh0KiUSC0NBQtGrVCnl5ebh27RrWrFmDadOmwdraWmvb33//PQ4cOIDevXujW7duSEtLw8aNG3H06FGsX78ezs7OmmVPnjyJMWPGID8/H6GhoWjbti3S09OxZcsWpKamYtmyZfD19dV5fKtXr8bOnTsRGhqKwMBAnDx5EsnJyTh//jw2b96s+QRy+/ZtDBkyBHl5eejevTteeOEFPHz4ENevX8eWLVswcuRIODk5adqdNWsWNm7ciObNm+OFF16Ag4MDTpw4ga+++gqHDh3CsmXLYGVV8VMSHR2N3377DefPn8eoUaPg4OAAAJU+JXHq1CkkJSUhMDAQQ4cOxYULF/Drr7/iwoULWLx4MUaMGIE2bdpg4MCBuHHjBn799VeMGTMGv/32G+zs7DTtKBQKjB49GmfPnoWXlxdefPFFqFQq7N+/H9OnT8fFixcRExNTqZpSUlIQExMDa2tr9O7dG02aNEFaWhqGDRtW6fOvhYWFGD58OK5du4YuXbogNDQUgiDgxo0bSE1NRXh4OFxcXNCzZ08ApQGkc+fO6Ny5s6aNli1barX5yy+/YN++fejevTuGDRuGGzduVKqWqrxGq8LT0xPR0dGIj49Hy5YtMWjQIM28so9Dn4yMDIwYMQK3b99GcHAw+vTpg5s3byIlJQW7d+9GXFwcevToobPe7t27kZqaim7dumHYsGG4fPky9uzZg1OnTmHbtm2VfixvvfUWtm7diieffBJDhgyBRCLBb7/9hjlz5iAtLQ0LFy7Ueoz6XuPq//UZNWoUUlNTcfToUQwaNEjnuSzr008/xf79+9GjRw906dIFR44cwbp163D16lWsWLFCa9kzZ85g7NixyMnJQdeuXfHCCy/g/v37+O233zBixAgkJCTg2WefrVQfAEBmZiYiIyPh7u6OQYMGITMzEzt27EBUVBTWrl2L8ePHw97eHhEREcjJyUFycjJeffVV/PLLL1pHZhUKBYYPH45Lly7Bx8cHo0ePxv3797F9+3aMHTsWH3zwAYYNG6a17UWLFiEhIQG2trbo2bMnnnzySdy+fRvHjx/Hli1b8Mwzz5Rbd05ODiZNmoQ//vgD06dPx4QJEyr9mAFgypQp+O9//4uvv/4agwcPRqNGjaq0fnk1DR8+HA0bNsTgwYORm5uL7du3Y8aMGcjKysL48eO1lp0/fz78/f3xzDPPwNnZGXfu3MGuXbswYcIEzJs3T2ec0KlTpzB+/HhkZ2cjMDAQzz//PB48eIBLly4hPj4eU6ZMqbC+pKQkLFy4EP7+/khMTKzUYzZkX/jBBx+gbdu2CAwMRJMmTZCdnY09e/bg7bff1hyIAErfP9HR0di0aRMyMzMRHR2taaPs+yUpKQl///03/P398eyzz6KoqAh//PEH4uLicOTIEXz//feQyWQAAEEQMH78eBw/fhz+/v6IjIyETCZDVlYWjhw5gk6dOsHb21vT9k8//YTZs2fDxsYGoaGhaN68Oa5evYr169dj586dWLduHVq0aFHpWh9LqIKMjAxBLpcLcrlcWLhwoc78Q4cOCXK5XHjppZeEnJwcrXkbNmwQ5HK5MH/+fM20BQsWCHK5XNixY4dOW9nZ2YJSqdT8vmjRIkEulwteXl7CmTNntJadP3++IJfLhVmzZmmmqVQqoVevXoJcLhc2b96stfy2bdsEuVwuhIeH692Gv7+/cP78ea113nzzTUEulwvbtm3TTFuxYoUgl8uF77//Xqf+/Px8obCwUOfxT5kyRWt62e3qa0efd955R5DL5UJGRobe+SNHjhTkcrnWtMOHD2ueu0f7Y9asWYJcLhcCAwOFxYsXa82Lj4/XW5u6hiVLlmhNf/DggTB27FjBw8NDOHv27GMfS15entC5c2ehffv2wsmTJ7XmqZ/XRx+r+nX4zjvvaKalpqbqvL7UHj58KOTm5ur0xaJFi/TWpH6uPDw8hD179uhdRi6XCyNHjtSaVtXXqCAIQo8ePYQePXro3Ya6vcOHDz9222r6+kYQBGHs2LGCXC7XeX7T0tIET09PoXPnzkJeXp5muroPPD09hYMHD2qt89lnn+l97svz888/C3K5XBg4cKDWNvLz84VBgwYJcrlc2LJli9Y6j3uN61Nefz3a5rPPPitkZmZqphcXFwsjRowQ5HK58Oeff2pN79mzp+Dt7S0cOXJEq61bt24JXbt2Fbp06SI8fPjwsbWV3XeW9x4LDAwUYmNjtfZJmzZt0vu6jo2NFeRyuRAbGyuoVCrN9L///lsICAgQvLy8tPpu3759glwuF0JDQ4Vbt27p1Hfz5k3Nz4++P65fvy5EREQIXl5eOvuOyjzmYcOGCYIgCEuXLhXkcrnw4Ycfai0nl8uFbt26Vbpd9TpyuVx4/fXXtfrr2rVrQmBgoODl5SVcu3ZNM/3hw4daj1FNoVAIffr0EQIDA7X2yw8fPhR69Oih97UpCIJOW2Xfx0qlUpg7d64gl8uF6Oho4cGDB5V6TIbsCwVBEK5evarT1sOHD4VRo0YJ7du313m+9f19KOvatWtarym1L774Qudv4Pnz5wW5XC5MnjxZZ3mlUilkZ2drfk9PTxe8vLyEnj176tR08OBBoV27djrtPK7WxzHoKqonnnhCK1Gp/fDDDwCA//znPzqftgYPHgxPT0+9hw/r16+vM83R0RFSqW55/fv3R/v27bWmTZ06FQ0bNsTWrVs1p3r++OMPpKenw9/fH/3799davnfv3ujYsSP+/vtvpKWl6WxD3ykedbo/depUpeq3tbXVmr5ixQpYWVnhww8/1Fl+8uTJaNSokd6+MbaOHTvq9If6SIC9vb3OJ7OBAwcCgNZpqvv372PLli3w9vbGq6++qrV8vXr18NZbb0EQhEo9ntTUVGRnZ6Nv377w8fHRmqd+XqtC33NhY2OjOWpYFWFhYQZd3VHZ12hNuXXrFvbv348WLVpofaoFgICAAPTp0wfZ2dnYsWOHzrq9e/dGSEiI1rShQ4cC0P9e0GfDhg0AgOnTp2sdBbS1tcVbb70FAFi/fn3lH1A1TZkyRetoiJWVFQYPHgwAWqeddu/ejWvXrmHkyJE6R8iaNWuG8ePH486dOzh06FClt92yZUud95j6/VdUVIS3335ba7/Xr18/WFlZ4dy5c5ppRUVF2LJlC2xtbfHmm29CIpFo5rm6uiIqKgrFxcX473//q5muPjU0c+ZMNGvWTKeu5s2b66333LlzeOmll5CVlYWkpCSdfUdVREVFoWXLlli1apXmlHF1yGQyzJgxQ6u/XFxcNI+/7CkaGxsbvY+xYcOGePHFF5GTk6P1et61axcyMzMRGhqKfv366axXXn+pT+OtXLkSUVFR+Oqrr1CvXr1KPR5D94WtW7fWmWZjY4OXX34ZJSUlVXp9AqV9WPY1pfbKK68AKB2C8ih9+12pVApHR0fN72vWrEFxcTHee+89nddgSEgIQkNDsWvXLuTl5VWp3ooYdIqqXbt2egeKnThxAtbW1khJSUFKSorO/OLiYty7dw/379+Hk5MTevfujRUrVmDKlCkIDw/HM888g4CAAL1PmJq+Q/ENGzaEp6cnjh49isuXL8PT0xNnz54FAAQFBeltJzg4GGlpaTh79iwCAwO15j364gKAJ598EkDpoU610NBQfP7555g7dy7279+Prl27IiAgAG3bttV6gRQWFuL8+fNwcnLC8uXL9dZjY2NT5XENhih7uFBNPZDT09NTc+hRTf1CvHXrlmbaqVOnoFQqIZFI9F5qXVJSAgBIT09/bD3q5+nR5wDQfl4fp3PnzmjWrBmWLFmCM2fO4Nlnn0VAQIDex1RZ+k5fVkZlX6M1Rd3HHTt21DnlC5S+F7Zs2YKzZ89qAq2avteLvvfC47YvlUr19ktgYCBkMpnWH3BTq+xjOnHiBADgxo0bel/n6nF8ly9frvRpKn2vR/X7z9XVVSeIy2QyNG7cWGt8wt9//43CwkIEBAToPe0RHByMxMRErT49ceIEJBLJYy+1LystLQ3Lli2DnZ0dVq1ahXbt2lV6XX1sbGzw5ptvYvr06fjss8/w1Vdf6V1OoVDo3U+OHj1a64Pzk08+CRcXF53l1K8z9ete7eLFi/j2229x7Ngx3LlzR2c8Sdk+Vj/3VfmA8+DBA4wePRonTpzAjBkzdD78PY6h+8IbN24gKSkJhw4dws2bN/HgwQOt+frGjlakoKAAK1aswI4dO3DlyhXk5+dDEATNfPUFAADQtm1beHp6YuvWrcjMzERYWBg6duwIb29vnYyg7tOjR4/q/XB09+5dKJVKXLlyRe971BAGBZwnnnhC7/Ts7GyUlJRoBvuVp6CgAE5OTvD19cWqVavw9ddf45dfftEkbjc3N0RHR6Nv37466zZu3LjCmtQDBdX/l3cVRpMmTbSWK0tfUlbvlMoOrGvZsiV++uknxMXFYd++ffj1118BlL7xxo4dqxnMqlAoIAgC7t2799i+MbWKHpu+eeoxQerQApQ+z0Bp0KnoU3x+fv5j61H3f3mvqfKmP8re3h7r1q3DokWLsHPnTuzfvx8A4OTkhBEjRmDSpEl6/7hXpLLbflRlX6M1Rb099Wv+URW9F/SNe1G/Jio7yDQ3NxeOjo56PxRZWVnByckJd+/erVRbxlDZ97f6da7vw1pZBQUF1dq2uj/L+4RuZWWl9f6r7PNZ9qIO9XOg75N2ec6dO4f8/Hz4+/ujTZs2lV6vIn369MH333+PlJQUnDhxAn5+fjrLKBQKvfvJQYMGab0eH7fPKPt6PnHiBEaPHg2lUong4GCEhobC3t4eUqkU586dQ2pqqtaRVfW6+o52lSc/Px9nz56Fvb19lYLko9usyr4wIyMDQ4YMgUKhQKdOndC1a1fY29tDJpMhMzMTmzZtqtIR4+LiYowePRonT56EXC5H79694ezsrHmNxsfHa7Unk8mwfPlyJCQk4JdffsFnn30GALCzs8OgQYPw5ptvao7aqt9P3377bYU1VOX99DgGBRx9h6+A0j8ygiBU6hO3mr+/P7755hsUFRXh9OnT2LdvH1auXInp06fD2dlZZ+BbeTvCf/75B8C/Own1/+VdXaWebsipi7Lc3d3x5ZdfoqSkBOfPn8fBgwexcuVKzJ8/Hw0aNEBkZKRmG+3bt9dcAVWXqfv2lVdewaxZs4zSlvr5e1R50/Vp3rw5PvzwQwiCgEuXLuHw4cNYtWoVEhISoFKpNIPtKqu81/njVPY1qt5G2asFy9J31aEhHtfHxnovVLT9nJwcFBcX64TMkpIS3L9/32Tbrg51vy1evBhhYWFmruZflX0+y77OGjZsiOzsbDx48KDSIefll1/G3bt38eOPP2LSpElISEioUkDSRyKR4J133sHIkSPx8ccfY82aNTrLtGrVCn/99ddj23rcPqPs409MTMSDBw+wYsUKnaP633zzDVJTU7WmqdetytGPxo0bY/78+Zg0aRJGjRqFb7/9Vu/ZgPIYsi9ctmwZsrOzsWDBAs1pVrWtW7dW+e9NamoqTp48icGDB2PBggVa827fvq03eDo6OuLdd9/Fu+++i6tXr+Lo0aNYu3YtVq5cCYVCgU8//RTAv/uXtLS0Gnu/G/VOxn5+fsjJycHFixervK6NjQ0CAgLwxhtv4L333gMAnRcdAL3hKTc3F+fOnUO9evU09wBRnwIoL2ypL7318vKqcq36WFlZwdvbGxMmTMDnn3+uVb+dnR2efvppXLx4UZNiq0N9zrmyn6CNzdfXF1KpFL///nu121KPVTl27JjOPPXzWlUSiQRPP/00oqKisGzZMgDaryX1p3WlUmlIyY9V2dcoULpzuHv3rt6Qo+8SS6D0+a9K7eo+TktL0zoSoGbs98KjPD09oVKp9L5ejh07BqVSqTNmyRDGfl906NABAIzyOjcmNzc3NGjQAOfPn9cbgtXPZ9k+9fPzgyAIesdPlEcikWDOnDkYPXo09u/fjwkTJhjl03VgYCDCwsLwxx9/4JdffjG4nZs3b+q99Fr9/iv7+K9evYpGjRrpHbKg7/2qPrK0d+/eKtUUEhKCpUuXoqSkBGPGjMHx48crva4h+8KrV68CAF544QWdeeX97VO/T/TtQ65duwYAeP7553Xm6avrUU899RQiIyOxcuVK2Nraau131X1alfdTRbVWan2D1iqHehBSbGys3uRbUFCgOQ8HlA4EfvR8IfDvJ2B9nxbUYwXKiouLQ25uLvr06aM5DN6xY0e4ubkhLS1N5xBzSkoKfv/9d7i6uqJjx45VeoxlnT59Wu9hfXXSLlv/K6+8guLiYrz77rt6d0o5OTk4c+ZMpbarPu9e2cuWja1x48bo168fTp8+jYSEhHLfKJUZSBgWFgZHR0ds3bpV53SX+nmtjIsXL+r9hKPvuVD3n/reP8ZW2dcoUDreq6SkRHPfF7WNGzfijz/+0Nt+o0aNtMZEPU7z5s3RpUsXZGZm6oxt+PPPP7F161Y4OjpqLqE3thdffBEAsHDhQq07bBcWFmouDx8yZEi1t2Ps90VYWBhat26N1atXl3uvlOPHj9f4XcNtbGzQr18/5Ofn64xjuXbtGn744QdYW1tjwIABmukjR44EAHz00Ud6980VHal499138dprr+HIkSMYN26cUQaBzpgxA1ZWVprn3xBKpRKfffaZVqDNyMjADz/8ACsrK60B0S1btkR2drbOPb3Wr1+vOZ1dVo8ePdCyZUvs3LlT7329Knr/derUCcuWLYNEIsHYsWMrfUbDkH2h+pLpR7exb98+/PTTT3q3U9H7pLz2MjIyNKefHp2ubz+vPmJbdr/78ssvw9raGgsWLMDff/+ts05RUZFO+Knue9qodzIOCQnB9OnT8fnnnyM8PBzdu3dHq1atUFBQgBs3buDYsWMICAjQnINbunQpDh8+jE6dOqFVq1awtbXFpUuXsHfvXjg6OuKll17S2Ua3bt0wfPhwREREaO4RkJaWhpYtW2LGjBma5SQSCT7++GOMGTMGMTEx2Lp1K9q0aYO///5bc0+XTz75RO+VWpW1efNmrF27Fh07doSLiwscHR1x7do17Nq1CzY2Nhg9erRm2SFDhuDMmTNYvXo1nn/+eXTt2hVPPvkkcnJycP36dRw7dgyDBw/G3LlzK9XP3377LWJjY/HCCy/Azs4ODg4Omp1YTZg9ezauXr2KRYsWYcuWLQgICMATTzyB27dv4/Llyzh16hQ+//xzvYMAy7Kzs8PcuXMRExODl19+WeveDxcvXkRgYGClPjkcOHAAn376Kfz8/ODq6orGjRvj1q1bSE1NhVQqxbhx4zTLurm5oVmzZti2bRusrKzQokULSCQSDBgwoGr3WChHZV+jQOmVJRs3bsQHH3yAQ4cO4cknn8S5c+dw4sQJ9OjRA7t27dJpPyQkBNu2bcPEiRPRvn17WFlZITAwUO/gRLU5c+Zg+PDh+OSTT3DgwAF4e3tr7oMjlUrx4Ycfmuywcb9+/ZCamort27ejT58+6Nmzp+Y+ONevX0fv3r2rdXWOWnBwMKRSKT7//HNcvHhRM15j8uTJBrVnbW2NuLg4jB8/HhMmTIC/vz88PT1Rv3593Lp1C6dOnUJGRgb2799f41/bMX36dPz+++9YuXIlTp06haCgIM19cPLz8xEbG6v13uvatSsmTZqExMREREREaO6D888//yAtLQ1+fn746KOPyt3em2++CRsbG8TFxWHMmDFYunSp1hUyVdWmTRsMHToUq1evNrgNDw8PzemULl26aO6Do1Ao8NZbb2ldrKI+CjVixAhERESgYcOGOH36NNLS0hAeHq5zJMnGxgZfffUVxo0bh+nTp2Pt2rXo0KEDHj58iPT0dBw6dEjnQ0xZHTp0wPLlyzFmzBhMmDABCQkJ6NKlS4WPx5B94YgRI7Bx40a88cYbCA8PR9OmTXHx4kXs27cPERERSE5O1tlOSEgIUlJSMHXqVDz77LOoV68eWrRogYEDB6JHjx546qmnsGzZMly4cAGenp64efMmdu3aheeee04naPz111+Ijo6Gj48P3N3d0bRpU9y7dw+pqakoLi7WGmjt7u6O+fPn47333kPfvn3RrVs3uLq6oqSkBDdu3EBaWhqcnJy0DkhUVGtlGP2rGiZMmICAgAD88MMPSEtLw86dO2Fvb49mzZph6NChWgOHR4wYAUdHR/z5559IS0uDUqlEs2bNMGLECIwZM0bvH5tXXnkFzz//PJYvX47k5GTY2tpi8ODBiImJ0Rnc2aFDB/z0009ITEzEoUOHsGvXLjg5OaFPnz6YPHlytQfO9e3bF0VFRTh+/DjOnDmDBw8eoFmzZujTpw/GjBkDuVyutfz777+P7t2748cff8TBgwc1A/+efPJJjBs3rtI7+W7dumHmzJlYt24dli9fjuLiYrRs2bJGA469vT1++OEHrFu3Dlu3bsWvv/6Khw8f4oknnsBTTz2FWbNmVXjjsLJ69eqFhg0bIj4+Htu3b4eNjQ06deqEH3/8EUlJSZUKON26dcPNmzdx7NgxpKamIi8vD02bNkWXLl3wyiuvaH2fkUwmQ3x8PBYuXIiUlBTNVQIdO3Y0SsCpymu0bdu2WLZsGb744gvs2rULMplM89h37NihN+C89957kEgkOHToEPbs2QOVSoXo6OgKA46Liws2bNiAxYsXY+/evTh69Cjs7OzQrVs3TJw40eArxirr888/R2BgIDZs2IC1a9cCKN3hjR07FsOHDzfKNtzd3fHRRx/hu+++w+rVqzVXyRgacIDSK0Y3b96MZcuWYffu3di4cSOkUimaNGmC9u3bY+rUqVo386wpjRo1wtq1a/HNN99gx44dWLZsGerXrw9fX1+MGzcOXbt21Vln2rRp8Pf3x4oVK7B7924UFBSgcePG8Pb21jraU57o6GjUr18fn376KV555RV8++23Bt+0Eii99HnLli0GHxFydHREUlISPv30U2zcuBF5eXlo27Ytxo4dq3Npd/fu3fH1118jMTERycnJkMlk8PX1xYoVK5CRkaH3VJmPjw/++9//YsmSJdi7dy+OHz8OOzs7tG7dGq+//vpj62vfvj1++OEHjBkzBhMnTkRcXByee+65Ctep6r6wXbt2WLFiBb788kvs2bMHJSUlaNeuHeLj49GwYUO9AScyMhI3btzAtm3bNKfTOnfujIEDB8LW1hbLly/HZ599hqNHj+L333+Hi4sLJk+ejDFjxui0px6WcfToUezbtw85OTlwdnaGl5cXoqKidK4uHDBgANq1a4dly5bhyJEj2L9/P2xtbdG0aVOEh4cjIiKi0rVWhkQoe/1XLRYXF4f4+Hi9g8SIiIiIyjLqGBwiIiKi2oABh4iIiESHAYeIiIhEp86MwSEiIiKqLB7BISIiItFhwCEiIiLRMfp9cMi0lEoV7t17/JdYPo5UKoGzsx3u3cuHSmWZZynZB6XYD+wDNfaDZfdBkyb6v/C1ruIRHAsllUogkUgglRr2hZJiwD4oxX5gH6ixH9gHYsKAQ0RERKLDgENERESiw4BDREREosOAQ0RERKLDgENERESiw4BDREREosOAQ0RERKLDgENERESiw4BDREREosOAQ0RERKLDgENERESiw4BDREREosOAQ0RERKLDgENERESiw4BDREREosOAQ0RERKLDgENERESiY2XuAsi8ZDLTZFyVSoBKJZikbSIiosdhwLFQEokEKpUAB4cGJmlfqVIh+34BQw4REZkFA46FkkolkEolWPPLeWTdzTdq202dbTGilyekUgkDDhERmQUDjoW7fa8A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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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KwtHjx6FqampvksiIiIq/p9OpqI7evQorl69isjISDx79gxTp05lICAiIoPBUKBDERER2LVrF6pWrYrhw4drfbEIERGRPvH0AREREQEo4vcUEBERUfnFUEBEREQAGAqIiIhIiaGAiIiIADAUEBERkRJDAREREQFgKCAiIiIlhgIiIiICwFBARERESgwFREREBIChgIiIiJQYCoiIiAgAQwEREREpMRQQERERAIYCIiIiUmIoICIiIgAMBURERKTEUEBEREQAGAqIiIhIiaGAiIiIADAUEBERkRJDAREREQFgKCAiIiIlhgIiIiICwFBARERESgwFREREBIChgIiIiJSM9F1ARSOXK/D8+asSrUMsFsHGxhzPn7+CQiGUUmXlC3uUP/anYOxR/tif/JV2f6pVsyyFqgrGIwVvIbFYBJFIBLFYpO9SDBZ7lD/2p2DsUf7Yn/y9rf1hKCAiIiIADAVERESkxFBAREREABgKiIiISImhgIiIiAAwFBAREZESQwEREREBYCggIiIiJYYCIiIiAsBQQEREREoMBURERASAoYCIiIiUGAqIiIgIAEMBERERKTEUEBEREQCGAiIiIlJiKCAiIiIAgJG+CyAiIioNYrEIYrFI32UAACSSt/M9N0MBERG99cRiEayrmEEiNpxfxgqFAJHIMEJKYTEUEBHRW08sFkEiFuOXiOuIf56q73JQ/R1z9G7vYjBHLgqLoYCIiMqN+OepePQ0Rd9lvHVHCFQM5zgLERER6RVDAREREQFgKCAiIiIlhgIiIiICwFBARERESgwFREREBIChgIiIiJTK3fcUxMXFYe3atbh48SJiYmLg6OiIPXv2qKc/fPgQbdq0yXVZY2NjXL58Od/53N3dER4eXjbFExER6VG5CwUxMTE4duwY3N3doVAoIAiCxnRbW1ts27ZNY0wQBAwZMgS+vr5a65s4cSKaNm2qvm1ubl42hRMREelZuQsFgYGBaNu2LQBg2rRpuHLlisZ0Y2NjeHh4aIydOXMGKSkpCA4O1lpf3bp1teYnIiIqj8rdNQXiYvwxjD179sDCwgKBgYFlUBEREdHbodwdKSiqzMxMHDhwAEFBQTAxMdGaPnv2bEyYMAHW1tZo06YNJk+eDGtr6xJt08ioZFlM9Sc539Y/zakL7FH+2J+CsUf5M7T+qOoQiUSG8XcHlCWIxaIS7/N1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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkEAAAIQCAYAAACG1rr/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABm9UlEQVR4nO3deXwMB/8H8M9uIuSwGyGUoBEkFHEmRAhC3B6tBnFUQqrxCK2jB6VKVWlUD4m6NRFHxBGKNo+zDaHUrVRL4kqiEUQ2Cbl25/eHX7ZZm2OTzbHZ+bxfLy+7s3N8vzu7k8/OzM5KBEEQQERERCQy0qougIiIiKgqMAQRERGRKDEEERERkSgxBBEREZEoMQQRERGRKDEEERERkSgxBBEREZEoMQQRERGRKDEEERERkSgxBFG14OnpCU9PT41he/bsgZOTE/bs2VMlNZ05cwZOTk4IDg7WGP7WW2/BycmpSmrKV9XPTXnJzc3FypUr0b9/f7Rt2xZOTk44cuSIXvMs7LVE2oKDg+Hk5IQzZ85UdSmFKur9V1USEhLg5OSEOXPmVOhy+PotXwxBL1m9ejWcnJzg5OSE+Pj4qi6HKpChb+SLY2h/ACrKDz/8gFWrVqF+/frw9/fHtGnT0KxZs2KnMYQQSv/KD+ROTk4ICgoqdJz81/P7779fydWJl5OTE956662qLkMnFVmraYXMtZoSBAE7d+6ERCJR3/7oo4+quiwqgpeXF9q3b4/69etXyfKdnZ3x008/oU6dOlWy/OJU9XNTXo4fPw4LCwts2rQJZmZmVV0O6Sk8PBzjxo2DnZ1dVZdCBIB7gjScPHkSiYmJeOONN2Bra4uoqCjk5ORUdVlUhNq1a6N58+aoXbt2lSzf3NwczZs3h42NTZUsvzhV/dyUl4cPH6JOnToMQEbg1VdfRU5ODr7++uuqLoVIjSGogJ07dwIARo4ciWHDhiE1NbXY8w/++ecffP755+jfvz+cnZ3h6uoKb29vrFq1qszjFrfbb86cOXByckJCQoJ6WMHj0Ldv38aMGTPg5uaGVq1aqQ/z/PHHH/j888/xn//8B66urmjXrh369++PZcuWIS0trcj+fvrpJ/j6+qqn8fT0xKxZs3D16lUAQEREBJycnBASElLo9CkpKWjTpg2GDRtW5DIKEgQBW7ZswZAhQ9CuXTv07NkTn332GdLT0wsdv6jzXm7cuIFZs2bB09MTbdu2Rbdu3fDGG29gyZIlyM3NBfDiuHp+3RMmTFDvri94GCX/+b5//z7Cw8MxbNgwODs7q9dPSYekcnJy8M0336jr6NevH0JCQrSCdUnnErx8eGfOnDmYMGECACAkJESj9vx1Xtw5QX/88QemT58ONzc3tG3bFn369MHChQvx8OFDrXELvuYiIiIwbNgwtGvXDt27d8cnn3xS5LopSnp6OlasWIEBAwagXbt2cHFxgb+/P06dOlXkchMTE9X9FXcuRP7zePbsWQDQeF4Ke089e/YMX375JXr37o22bdvCy8sL69atgyAIhc7/8uXLePfdd+Hu7o62bduiV69eWLBgAZKTk3Xuv+B6iY2NxdixY9GxY0d069YNc+fOhUKhAABcv34dAQEBcHFxQceOHTFlyhSN931Bd+7cwYcffoiePXuibdu26NGjBz788EPcuXOn0PGVSiW2b98OHx8fdO7cGc7OzvDy8sK8efOKnKagpKQkDBkyBG3btsXevXt17n3QoEF47bXXcPDgQfU2pLxcvHgRfn5+6Ny5Mzp27Ah/f/9Cl5GcnIyQkBD4+Pio12OPHj0we/Zs3Lp1q8j5X7lyBTNmzNB4jidNmoSffvqpxNpUKhU+//xzODk5Ydq0acjKyipxmtJuC9PT07FhwwZMmDABHh4e6u3elClTcPHiRY1x81+DAHD27FmN90nBbdmePXswffp09O3bF87OzujUqRN8fHywb9++Qmu4f/8+PvnkE3h5ean/xg0bNgwLFixAamqq1vgHDhzAW2+9hS5duqBdu3YYNGgQvv/+e43to6616oOHw/7fo0ePcOzYMdjb26NTp06wsrLCpk2bsGPHDgwePFhr/KtXr+Ltt9/G06dP4eLiAi8vL2RlZeHWrVsICQlBYGBgmcYtq3v37mHUqFGwt7fHsGHDkJWVBSsrKwBAZGQkjhw5AhcXF3Tv3h0qlQrXrl3DDz/8gJiYGERGRqrHBV68AefOnYuoqCjUqVMHXl5esLGxwT///IMzZ86gWbNmaNeuHYYNG4bly5dj165d+O9//wsTExONmnbv3o28vDyMHj1apx6WLFmC8PBw2NraYvTo0TA1NcXRo0dx+fJl5OTk6LQ34MaNGxg1ahQkEgk8PT3RuHFjZGRk4N69e9i+fTtmzJiBGjVqYMKECTh69CjOnj2LN954o9jd80uWLMG5c+fQq1cv9OrVS6vPorz33nu4evUqBg4cqO4lODgYf/zxB1avXg2JRKLTfF7Wr18/AEBUVBRcXV3h6uqqfqykwwzHjx/H9OnTAQADBgxAo0aNcO3aNWzfvh1Hjx7Ftm3b0KRJE63pli9fjpMnT6JPnz5wd3fHmTNnEBkZibt372Lz5s061a1QKDBmzBjcunUL7dq1g6+vL1JTU/Hzzz9j0qRJWLhwIXx8fNQ92tnZISwsDADg6+sLAMXu2ZLJZJg2bRqioqKQmJiIadOmFfm85Obmwt/fHw8fPoSHhwdMTExw5MgRrFixAjk5ORrTAsCuXbuwYMECmJmZwdPTE6+88gru3r2LnTt34tixY4iMjESjRo10eh4A4NixY/jll1/Qu3dv+Pj44OLFi9izZw8SEhIwe/Zs9R90b29v/P333zh+/DgSEhLw448/Qir997PrlStXMHHiRGRmZsLT0xMtWrRAfHw8fvzxRxw9ehQ//PADnJ2d1ePn5ORgypQpiI2NRcOGDTF06FBYWVkhMTERR44cQefOnWFvb19k3Tdu3MDkyZORmZmJdevWoXv37jr3DAAffvgh/Pz8EBQUhPDw8FJNW5TLly9j7dq16N69O8aNG4e7d+/i8OHD+P3337Fp0yZ06dJFPe65c+ewfv16dO3aFf3794eFhQXu3r2L//3vfzh27Bi2b9+OVq1aacw/MjISCxcuhFQqhaenJ+zt7fH48WP88ccf2L59e6F/H/JlZ2fj/fffx6FDhzBu3DjMnz9fY/0VpbTbwri4OHz77bfo0qULevfuDZlMhgcPHuDYsWM4ceIEVq9eDQ8PDwBA69atMW3aNISEhMDOzg5vvPGGej4FtyULFy5EixYt4OLiAltbWzx9+hS//vorPvzwQ/UH7nwPHz6Et7c3MjIy4OHhgf79+yM7O1v9mh0/frzGaQNz587Fnj178Morr6B///6QyWS4dOkSvvvuO5w+fRo//PADTE1Nda5VLwIJgiAIa9euFRwdHYU1a9aoh73xxhuCk5OTcOfOHY1xs7OzhT59+giOjo7Cjz/+qDWvBw8elGlcQRAER0dHYfz48YXW+NFHHwmOjo7C/fv31cPu378vODo6Co6OjsKKFSsKnS4hIUHIy8vTGh4ZGSk4OjoKa9eu1RgeEREhODo6Cm+++aagUCg0HsvLyxOSk5PV9xctWiQ4OjoKx44d0xhPpVIJnp6eQvv27bXmUZjz588Ljo6OQr9+/YTU1FT18KysLGHUqFGCo6Oj0KdPH41pdu/eLTg6Ogq7d+9WD1u6dKng6OgoHD58WGsZT58+FZRKpfr+ypUrBUdHR+G3334rtKb857tHjx7CvXv3tB7/7bffBEdHR2HlypUaw8ePHy84OjoK/fv3F54+fVpoL1FRUerh+evwo48+KrSO/Pnpsux8hT03GRkZgqurq9CqVSvh999/1xg///U/ceLEQp+DXr16CYmJierhubm5wtixYwVHR0fh8uXLhdbwsk8++URwdHQUPvnkE0GlUqmH3759W+jUqZPQpk0bjde2IAhCnz59tNZ7SQp7vl6ep6Ojo/D2228Lz58/Vw9/9OiR0LlzZ6Fz585CTk6Oenh8fLzQpk0boV+/fsI///yjMa9Tp04JrVq1EqZOnapTbfnrpXXr1sKZM2fUw5VKpeDn5yc4OjoKLi4uwr59+zSmmzt3rtbrWqVSCQMHDhQcHR21xj948KDg6OgoDBgwQOM1v2LFCsHR0VEICAgQsrOzNabJzs4WHj9+rL7/8vsjNjZW6NSpk+Du7i78+eefOvVbsOevv/5aEARBeOeddwRHR0fhyJEj6nHyX8+zZ8/Web750zg6Ogrh4eEajx0+fFhwdHQUvLy8NPp/9OiRkJ6erjWvP//8U+jQoYPg7++vMfzmzZvCa6+9Jri4uAh///231nQFt98vv49TU1MFHx8fwcnJSWsbW5yybAsVCoXGuitYn7u7uzBw4ECtx4r7WyMIgnD37l2tYdnZ2cKECROE1157TeO9sHnzZsHR0VEIDQ3VmiYzM1PjfZb/eggMDNQYLgj/vuZenk9JteqDh8Pw7wnRUqkUr7/+unr4iBEjIAgCIiMjNcY/fvw4EhMT4enpWeihnldeeaVM4+qjXr16Wp9e89nZ2RW698Lb2xtWVlY4efKkxvAtW7YAAD777DOtT94mJiYaJ9uOGTMGALBjxw6N8U6ePImEhAQMGjRIp/NS8g/bTJkyBdbW1urhNWvWxKxZs0qc/mW1atXSGiaXy3X6FPayt99+u9C9IyX573//C7lcrr5fsJfdu3eXen76Onr0KJ4+fYrBgwdrfDoGgEmTJsHOzg6xsbFISkrSmjYwMFBjT4epqSlGjBgB4MXeiJLk5OTgxx9/hIWFBWbNmqWxF8ze3h5vvfUWcnNzS3V4RV/z58/XeJ3UrVsXffv2RXp6Om7fvq0evn37duTm5mLevHlo0KCBxjzc3Nzg6emJ48ePIyMjQ+dlDxkyROOTrFQqxfDhwwEALVu2xH/+8x+N8fO3Szdu3FAPu3DhAuLj49GxY0et8QcPHozOnTvj9u3bOH/+PIAXh8G2bduGWrVqYdGiRVp7E8zMzIo8v23fvn1455130KBBA0RGRmrtLSmNDz74ACYmJvjqq6+Ql5dX5vnke/XVVzF27FiNYf369YOrqyvu3r2Lc+fOqYfXrVtXY693vlatWqFr1644c+aM+pA58GLd5+XlYerUqWjZsqXWdEVtvxMTEzFmzBhcvXoVQUFBeOedd3Tupyzbwtq1axe67l555RUMHDgQ8fHxhb6vi9O0aVOtYWZmZhg3bhzy8vJw+vRprccL2+5aWFhoDN+8eTNMTU3xxRdfaI0/depUWFtbY//+/aWqVR88HAbgt99+w71799CjRw+NjdzQoUOxbNkyREVFqQ+jAMClS5cAQL17sTilGVcfrVq1KvJwUW5uLnbs2IGDBw8iLi4O6enpUKlU6scLntPw7Nkz/P3336hXrx5ee+21EpfbsmVLuLi4ICYmBg8ePEDDhg0BQB0c80NSSa5fvw6g8F2cnTt31vkQ1ODBg7F582YEBgZiwIAB6N69Ozp16lToG1pXBQ8nlEZxvfz5559lrqes8p/jbt26aT1mamoKFxcXJCYm4vr161qHdtq2bas1Tf66Lu68sny3b9/G8+fP0alTJ40Ne75u3bph9erVlfa81K5dG6+++qrW8Pw/avnn5gD/vofPnj1b6Hkmjx8/hlKpxJ07dwp9ngpT2Hj5Hy7atGmj9Vj+dumff/5RD8tfn127di10Gd26dcP58+dx/fp1uLi4ID4+Hunp6Wjfvr1WmCvO5s2bcfToUXTq1AmrV6/WCPZl0aJFC3h7e2PHjh3YsWMHxo0bV+h4f/75p9Y5mbVr14afn5/GsM6dOxf64cbV1RVnz57F9evXNd6Lv/zyCyIiIvDHH38gNTVVK4ilpqaq10X+uu/Zs6fO/d2+fRujR4/G8+fPsX79eri5uek8LVD2beH58+exefNmXLp0CY8fP9YIc8CL7XxpDtkmJSVh/fr1OH36NB48eKB1LlPBvxuenp74+uuv8dlnn+HkyZPo0aMHOnXqhBYtWmh84Hn+/Dlu3LiBOnXqqA91v8zMzAxxcXE616kvhiD8uxcj/5NtPmtra3h6euJ///sfjh49ioEDBwKA+uQ0XTYkpRlXH/Xq1SvysZkzZ+Lw4cNo0qQJ+vbti3r16qkDU1hYmMabpSz1jh07Fr///jt27tyJd999FykpKTh27Bhat26tc4DIX27dunW1HjM1NdX5a+jOzs7YunUr1qxZg//973/qk/iaNWuGadOmYejQoTp29a/intvSTpffy+PHj8s0T33kP8e2traFPp4/vLCTLwvbm5e/MS4YqPVddsHwUZFkMlmhw01NX2wSlUqletjTp08BABs3bix2ns+ePdN5+cU9n8U9VvAPdv5zWtRlEF5en/nPbWm3RefOnYMgCHBzc9M7AOV79913sX//fqxatUq9B+xlf/75p9aXLuzs7LRCUFHvz/zhBffQhYWF4YsvvoBcLkf37t3RsGFDmJubQyKR4MiRI7hx44bGibll2R7euXMHT58+RevWrXX6IPmysmwLDx8+jHfffRc1a9ZE9+7d0bRpU5ibm0MqleLs2bM4e/Zsqb7pfP/+fXh7e0OhUKBLly7o0aMHrKysYGJigsTERK1vTtvZ2WHXrl0IDg7GiRMncOjQIQAvPihNmjRJ/UUOhUIBQRDw5MmTIr9QU9lEH4KePHmi/rQxa9asInc3RkZGqkNQ/kZKl2+FlGZcAJBIJEXuIi7uD0RRJ9levXoVhw8fRvfu3bF+/Xr1Rh548cdrw4YNetULvLgmTb169bBr1y4EBgaW+oTogst9/PgxLCwsNB7Ly8tDamqqzocOO3bsiLVr1yInJwd//PEHTpw4gS1btmD27NmwsbEp9cmcZT2B+dGjR1qfvPJ7KbhLPv9TbFnWe2nkP8cpKSmFPp4/vCK+Vp8/z0ePHlX6svWVv67Onz9f6KGUqqLr+syvOT/4lea9Dbw4SXfdunUICQmBSqXCe++9V9aS1erVqwd/f38EBwdj/fr1hb4nR4wYofXBtDBFvabyh+f3n5eXh5CQENja2mLPnj1a4TF/r09BBbeHuq77Pn36oFmzZvj666/h5+eHTZs2lepaYmXZFn733XeoUaMGdu/ejebNm2s8tmDBAvU3JnX1ww8/4OnTp1i6dKnWOjhw4ACioqK0pmnevDm+/fZb5OXl4caNGzh16hS2bNmCJUuWwNzcHCNHjlQ/h6+99lqh86gKoj8nKCoqCrm5uWjTpg28vb0L/WdjY4NTp07h/v37AIAOHToAAGJiYkqcf2nGBV6ct1Jwl3c+pVKpcT6Aru7duwfgxe7KggEIeHEux8u7OC0sLODo6IhHjx6pd8uWpEaNGvD29kZycjKOHz+OnTt3wsLCQuevxgNQf2Iq7M16/vx5jU/mujIzM0OnTp3w3nvvYd68eQBenBeTLz986LInoyyK66V169bqYfl/nApb7xkZGYV+bTl/z0Bpnpf8ZRZWV15envrcibJ8ei1Js2bNYG5ujhs3bhQa6vK/2l8ey85fr2V5zRQm/z1c8NwSQ1Dc+gT+fU7zD685ODhAJpPhr7/+KlUQql27tvpbVt9//32RV30uLX9/f9SvXx+hoaGFvvZ1deHChULfw/nPS/5rKjU1FQqFAh07dtQKQJmZmbh27ZrWPPLX/YkTJ0pVU0BAAObOnYvr169jwoQJRQa1wpRlW3j37l20aNFCKwCpVCr1OWEvk0qlRb5H7t69CwDo37+/1mMlBSpTU1O0bdsW77zzjvqaUPnbXUtLS7Rs2RI3b95U72HVRXG16kv0ISj/3JWFCxdiyZIlhf4bPXo0BEHArl27ALxI+nZ2djh27BgOHDigNc+Cb+jSjAsA7dq1Q1JSktbJyqtXr0ZiYmKp+8v/avDLL9zHjx/js88+K3Sa/GuqLFiwQOvQiEqlKvR6MqNHj4aJiQk+++wzJCQkYNiwYaX61Jz/1cc1a9ZovDmys7NLdXG1CxcuFHodjvzDTwVPxMs/N6W0JwzqavXq1RrnyxTs5c0331QPt7KygoODAy5cuKBxrRKlUomlS5cW2k9+7Q8ePNC5nn79+sHa2hoHDx7U+tQbFhaGhIQEdO/evVTnDejKzMwMw4YNQ2ZmJr777juNx+7du4fw8HDUqFGjyEMjpVHe63XcuHGoUaMGli5dqnHCdL6cnJwqCUidO3dGs2bNcP78eURHR2s8Fh0djXPnzsHe3h6dO3cG8CI4jx07FllZWfj000+1Do/k5OTgyZMnhS7LysoKGzZsgJubGzZu3IjPP/9c7/rNzc3x3nvvISsrq9Brq+nqzp072LZtm8awI0eO4OzZs3j11VfVXwKoW7cuzM3Nce3aNWRmZqrHzc3NxZIlSwq9ls2YMWNgamqK77//vtDrCBUX3vz8/LBw4ULcvHkT48eP1zl4lmVbaGdnhzt37mgsQxAEBAcHF3n9I2tr6yLrL+rvxokTJ9R/Bwv6448/Cj2Mnh/+Cm53/fz8kJubi48//rjQD0RpaWlagbS4WvUl6sNhZ86cwZ07d+Do6FjsuSve3t5Ys2YNdu/ejenTp8PMzAzfffcd/P39MXv2bOzYsQPt27dHdnY24uPjcfr0afVelNKMC7z4dHTy5ElMnToVgwcPhlwux8WLF5GQkKA+0a802rVrh06dOuHQoUPw8fFBp06d8PjxY8TExKBZs2aFnk8wcuRInDt3Dvv27UP//v3Rt29f2NjY4OHDh/jtt9/w5ptvqq81k69Ro0bo1asXjh07BgClOhQGvNigv/XWWwgPD8fQoUM1rq0jk8mKPJfkZRs2bMBvv/2GLl26oHHjxrCwsMCtW7cQExMDuVyuUVe3bt0glUrx9ddf4+bNm+o9MlOnTi1V7UVxcHDAkCFDNHq5d+8eevfurfXH3t/fH/PmzcOYMWMwcOBA1KxZU/1NlVatWmntBWzWrBkaNGiAgwcPwtTUFI0aNYJEIsHw4cOLvFaQpaUllixZghkzZmD8+PEYOHCg+jpBJ0+ehK2tbZHBuDzMnj0b586dw5YtW3D16lV07dpVfZ2gzMxMfPLJJ2X6Ft7L3NzcEB0djenTp6NXr16oWbMmGjVqpPHNz9Jo3rw5lixZgnnz5mHo0KHo2bMn7O3tkZeXh6SkJJw/fx516tTRCiIVTSKR4Msvv8TEiRMxc+ZMHDhwAA4ODrh9+zaOHDkCS0tLBAUFaZw0HBgYiMuXL+P48eMYMGAAevfuDUtLSzx48ACxsbH48MMPizwEZW5ujrVr12L69OkIDw9HTk4OFi1aVObDxcCLQ15hYWH4+++/yzyPnj17YtmyZYiJiUGrVq3U1wmqWbMmvvjiC3X/UqkUb731FtatW4dhw4ahb9++yM3NxZkzZ5CWlqb+dlhBLVq0wKeffopPP/0Ur7/+Ovr27Qt7e3ukpqbijz/+gKWlZbHXOxozZgxq1qyJefPmYfz48QgLCyvxQ0ZZtoV+fn749NNP8cYbb6B///4wNTXFhQsXEBcXhz59+uD48eNa07i5ueHgwYOYMmUKXnvtNfWXI1xcXDB27Fjs2bMH7733HgYMGID69evj5s2bOHHiBAYNGqR1kch9+/Zhx44d6Ny5M5o0aQK5XI579+7h+PHjMDMzU1/nC3jx9/TatWvYtm0bvLy80KNHDzRs2BBpaWlISEjA77//jhEjRmhsi4qrVV+iDkH5e4FGjhxZ7HiNGzdG9+7dERsbi+PHj8PLywvt2rXD3r17sW7dOsTExODixYuwtLRE06ZN8e6772pMX5px3dzcsGrVKqxatQoHDx6EhYUFunfvjm+++aZMV8g0MTHB6tWr8e233yImJgbh4eFo0KABRo4cif/+978YMmSI1jQSiQRBQUHo0aMHIiMj8fPPPyMnJwe2trbo3LlzkVftffPNN3Hs2DG0bdu20G+4lGTevHmwt7fH1q1bERERAWtra3h5eWHWrFk67yEYO3Ys5HI5Ll++rN513KBBA4wdOxYTJ07UCAjNmzfHsmXLsGnTJmzbtg3Z2dkAyi8Efffdd1i1ahX279+Phw8fokGDBpg+fTreeecdrT8c3t7eEAQBoaGhiIqKglwuR9++fTFz5kyt1wjwYr2GhIRgxYoViI6ORmZmJgRBQOfOnYu9YGK/fv2wbds2rF27FidPnkRGRgbq1asHHx8fTJ06tUJP4Le2tsaOHTuwdu1aHD58GD/88ANq1aoFZ2dn+Pv7o0ePHuWynJEjRyIpKQkHDx7Ehg0bkJeXB1dX1zKHIAAYPnw4WrVqhR9++AFnzpzByZMnYWFhgfr162PAgAEYNGhQudReWu3bt8euXbuwevVqnD59GsePH0edOnUwZMgQTJ06FQ4ODhrjm5mZYcOGDYiIiMDevXuxd+9eCIKA+vXrw8vLS73XqCg1a9ZESEgIZs2ahR07diAnJ0cjaJSWVCrFhx9+iLfffrtM0wMvnoPAwEB899132LJlCwRBQLdu3TBjxgytD7fvvfcebGxssHPnTuzYsQO1a9dG9+7dMWPGjCK3r6NGjULLli2xadMmnD17FkePHoW1tTWcnJxK/NsBvAh6ZmZm+Oijj9RBqKSwX9ptoY+PD8zMzBAWFoa9e/eiZs2a6NKlC5YuXYpDhw4VGoLmzZsHiUSC06dP49dff4VKpcK0adPg4uKCVq1aYfPmzfj222/x66+/Ii8vD61atUJISAhq166tFYKGDh2KnJwcXLx4EdeuXUNWVhYaNGiAIUOGYOLEiXB0dNQY/9NPP4WHhwciIiJw6tQppKenQy6Xo2HDhvD399e65ENxtepLIghFXCOeqJSCg4MREhKCzz//XKeNAxERUVViCKJykZGRgQEDBiAvLw+//PILzM3Nq7okIiKiYon6cBjp75dffsG1a9dw/PhxPHr0CB999BEDEBERVQsMQaSX6OhoREVFoV69eggICNC6kBkREZGh4uEwIiIiEiXRXyeIiIiIxIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEiSGIiIiIRIkhiIiIiESJIYiIiIhEybSqCzBkgiBApRKqugwiIiLSkVQqgUQi0WlchqBiqFQCnjzJrOoyiIiISEc2NpYwMdEtBPFwGBEREYkSQxARERGJEkMQERERiRJDEBEREYkSQxARERGJEkMQERERiRJDEBEREYkSQxARERGJEkMQERERiRJDEBEREYkSQxARERGJEkMQERERiRJDEBEREYkSQxARERGJkmlVF0BERFRRkpISERq6HgDg5zcZjRrZVXFFZEi4J4iIiIxWWNhGXLlyCVeuXMLmzRuruhwyMAxBRERktBIT76tvJyTcL2ZMEiOGICIiIhIlhiAiIiISJYYgIiIiEiWGICIiIhIlhiAiIiISJYYgIiIiEiWGICIiIhIlhiAiIiISJYYgIiIiEiWGICIiIhIl/oAq6YU/TkhEVPG4ra0YBrcnKC4uDhMnTkSHDh3g7u6OoKAg5OTklDhdamoqFixYgN69e6NDhw4YOnQotm/fXgkVixt/nJCIqOJxW1sxDGpPUFpaGnx9fWFvb4/g4GAkJydj2bJlyMrKwoIFC4qd9r333kN8fDxmzZqFhg0bIiYmBgsXLoSJiQlGjRpVSR2ID3+ckIio4nFbWzEMKgRFREQgMzMTISEhsLa2BgAolUosWrQIAQEBaNCgQaHTpaSk4MyZM1i6dClGjBgBAHBzc8PVq1dx8OBBhiAiIiLSYlCHw2JiYuDm5qYOQAAwaNAgqFQqxMbGFjldXl4eAKB27doaw62srCAIQoXUSkRERNWbQYWg+Ph4ODg4aAyTyWSwtbVFfHx8kdM1bNgQPXr0wJo1a3Dr1i1kZGTgp59+QmxsLMaNG1fRZRMREVE1ZFCHwxQKBWQymdZwuVyOtLS0YqcNDg7GzJkzMWTIEACAiYkJ5s+fjwEDBuhVk6mpQeVEgyORSDRu8/kiIkNiLNsoY+nD0BhUCCorQRAwd+5c3LlzBytWrICtrS1OnTqFL774AnK5XB2MSksqlaBOHctyrta4SKUSjdt8vojIkBjLNspY+jA0BhWCZDIZ0tPTtYanpaVBLpcXOd0vv/yC6Oho/Pjjj3BycgIAdO3aFY8fP8ayZcvKHIJUKgEKxbMyTSsWKpWgcTs1NbMKqyEi0mQs2yhj6aMyyGTmMDHRbU+ZQYUgBwcHrXN/0tPTkZKSonWuUEG3bt2CiYkJHB0dNYa3bt0aO3fuxPPnz2Fubl6mmvLyVGWaTiwKnnguCAKfLyIyKMayjTKWPgyNQR1U9PDwwKlTp6BQKNTDoqOjIZVK4e7uXuR0dnZ2UCqV+OuvvzSGX7t2DXXr1i1zACIiIiLjZVAhyMfHB5aWlggMDMTJkyexe/duBAUFwcfHR+MaQb6+vvDy8lLf9/DwQKNGjfDuu+9i3759OH36NJYvX46oqCiMHz++KlohIiIiA2dQh8PkcjnCwsKwePFiBAYGwtLSEt7e3pg5c6bGeCqVCkqlUn3fysoKoaGh+Oabb/DVV18hPT0djRs3xpw5cxiCiIiIqFAGFYIAoHnz5ggNDS12nPDwcK1hr776Kr799tuKKYqIiIiMjkEdDiMiIiKqLAxBREREJEoMQURERCRKDEFEREQkSgxBREREJEoMQURERCRKDEFEREQkSgxBREREJEoMQURERCRKDEFEREQkSgxBREREJEoMQURERCRKBvcDqkSVLSkpEaGh6wEAfn6T0aiRXRVXRERkfAxxW8s9QSR6YWEbceXKJVy5cgmbN2+s6nKIiIySIW5rGYJI9BIT76tvJyTcL2ZMIiIqK0Pc1jIEERERkSgxBBEREZEoMQQRERGRKDEEERERkSgxBBEREZEoMQQRERGRKDEEERERkSgxBBEREZEoMQQRERGRKDEEERERkSjxB1SJjIQh/jihWHFdEFUP3BNEZCQM8ccJxYrrgqh6YAgiMhKG+OOEYsV1QVQ9MAQRERGRKBncOUFxcXH4/PPPcfHiRVhaWmL48OGYMWMGzMzMipzmzJkzmDBhQqGPNWvWDNHR0RVVLhEREVVTBhWC0tLS4OvrC3t7ewQHByM5ORnLli1DVlYWFixYUOR0bdq0wY4dOzSGZWRkYPLkyfDw8KjosomIiKgaMqgQFBERgczMTISEhMDa2hoAoFQqsWjRIgQEBKBBgwaFTmdlZYUOHTpoDNuzZw9UKhWGDh1awVUTERFRdWRQ5wTFxMTAzc1NHYAAYNCgQVCpVIiNjS3VvA4cOAB7e3s4OzuXc5VERERkDAwqBMXHx8PBwUFjmEwmg62tLeLj43Wez6NHj/Dbb79xLxAREREVyaAOhykUCshkMq3hcrkcaWlpOs/np59+glKpLJcQZGpqUDnR4EgkEo3b1fH5MoYeAOPpwxhwXRgOY1kXxtCHIfZgUCGovOzfvx9t2rRBs2bN9JqPVCpBnTqW5VSVcZJKJRq3q+PzZQw9AMbThzHgujAcxrIujKEPQ+zBoEKQTCZDenq61vC0tDTI5XKd5nHv3j1cuXIFc+fO1bselUqAQvFM7/kYM5VK0LidmppZhdWUjTH0ABhPH8aA68JwGMu6MIY+KqsHmcwcJia67WUyqBDk4OCgde5Peno6UlJStM4VKsr+/fshlUoxePDgcqkpL09VLvMxVoIgaNyujs+XMfQAGE8fxoDrwnAYy7owhj4MsYeqPyBXgIeHB06dOgWFQqEeFh0dDalUCnd3d53mcfDgQbi6uqJ+/foVVSYRkSgkJSXiiy8W4osvFiIpKbGqyyEqdwYVgnx8fGBpaYnAwECcPHkSu3fvRlBQEHx8fDSuEeTr6wsvLy+t6a9fv464uDh+K4yIqBxU5Q/BSqUvTpzV919hJ+OWx7+C57dQ9WVQh8PkcjnCwsKwePFiBAYGwtLSEt7e3pg5c6bGeCqVCkqlUmv6/fv3w8zMDAMGDKiskomIjFZV/RDsi5NmLSCV6v85vaJOxlWpVEhNfaZxngtVPwYVggCgefPmCA0NLXac8PDwQod/9NFH+OijjyqgKiIiqixSqQRSqRQHDx7EkydP9JpXRkaGxu2i/n6Uho2NDYYMGQKpVMIQVM0ZXAgiIiICgCdPnuDhw4d6zUOlUmnc1nd+ZFwM6pwgIiIiosrCEERERESixBBEREREosQQRERERKLEEERERESixBBEREREosQQRERERKLEEERERESixBBEREREosQrRovUi8vS6/8DgIX9OGF5UKkEXo6eiKo9bmsNG0OQCL34EUFzSKUm5TIvzfmW148TKpGa+lzUb04iqt74Q7CGjyFIhF58MjHB7QPr8fzxA73mlZvxVOP29bDP9KwOMK/bEM2GTuaPExJRtZb/Q7A3Lu7Gs/RHes0rJytd4/aFmLX6lgeL2vXQquObot7WMgSJ2PPHD/A8+Z5e8xCUSo3b+s6PiMjYPEt/hAyFfh84VYJS47a+86MXeGI0ERERiRJDEBEREYkSQxARERGJEkMQERERiRJDEBEREYkSQxARERGJEkMQERERiRJDEBEREYkSL5ZYRZKSEhEauh4A4Oc3GY0a2VVxRUREROLCPUFVJCxsI65cuYQrVy5h8+aNVV0OERGR6DAEVZHExPvq2wkJ94sZk4iIiCoCQxARERGJEkMQERERiRJDEBEREYkSQxARERGJksGFoLi4OEycOBEdOnSAu7s7goKCkJOTo9O0ycnJ+Oijj9CtWzc4Oztj0KBB+PHHHyu4YiIiIqqODOo6QWlpafD19YW9vT2Cg4ORnJyMZcuWISsrCwsWLCh22ocPH2L06NFo1qwZFi9eDCsrK9y8eVPnAEVERETiYlAhKCIiApmZmQgJCYG1tTUAQKlUYtGiRQgICECDBg2KnHb58uV45ZVXsGHDBpiYmAAA3NzcKqNsIiIiqoYM6nBYTEwM3Nzc1AEIAAYNGgSVSoXY2Ngip8vIyMDPP/+MsWPHqgMQERERUXEMKgTFx8fDwcFBY5hMJoOtrS3i4+OLnO7atWvIzc2Fqakpxo8fjzZt2sDd3R3Lly9Hbm5uRZdNRERE1ZBBHQ5TKBSQyWRaw+VyOdLS0oqc7tGjRwCA+fPnY9SoUZg2bRquXLmClStXQiqVYvbs2WWuydS0YnKiRCLRuF1RyymMiYlBZd8iVVadVbkuypOx9GEMjGVdVFUfxrKNMpY+yoshvi8MKgSVlUqlAgB0794dc+bMAQB069YNmZmZ2LRpEwIDA1GrVq1Sz1cqlaBOHctyrbXgvCtjOdWZTGZeKcsxlnVhLH0YA2NZF8bSR0WprG1URRPzttagQpBMJkN6errW8LS0NMjl8mKnA14En4Lc3NywZs0a3L17F05OTqWuR6USoFA8K/V0us674O3U1MwKWU5hTEyk1eLNq1A8h1KpKvJxiUSi8aYqq5fXhULxXO955s9LEISSRywnVfmaIk3Gsi6qqg9j2UYZSx9A+WxvK2tbK5OZ67x3y6BCkIODg9a5P+np6UhJSdE6V6igFi1aFDvf7OzsMteUl1f8C6OsCq4wQRAqbDnVmVKpKvJ5kUolsK5TCyZS/U+Ef/nTSXlttJQqJZ6mPtd441ckvqYMh7GsC2Ppo6IUt42qTkrq48X21hwmUv0OX1XctlaFp6nPyrStNagQ5OHhgTVr1micGxQdHQ2pVAp3d/cip7Ozs4OjoyNOnTqF8ePHq4efOnUKtWrVKjEkUfUjlUpgIjXB2l83IyktWa95PX2WpnH70x+X61seGskbIKDXBEilkkoLQUREFeHF9laKLb//ieT0sh8dUWTlaNxecey83rU1qG2B8S6ty7ytNagQ5OPjg/DwcAQGBiIgIADJyckICgqCj4+PxjWCfH19kZSUhMOHD6uHzZw5E1OnTsWSJUvQu3dvXL16FZs2bYK/vz8sLCyqoh2qBElpybj7OEGveeSplBq39Z0fEZExSk5/hsS0jDJPn6dSadzWZ17lxaBCkFwuR1hYGBYvXozAwEBYWlrC29sbM2fO1BhPpVJBqVRqDPP09MTXX3+N77//Htu3b0f9+vUxffp0vPPOO5XZAhEREVUTBhWCAKB58+YIDQ0tdpzw8PBChw8ePBiDBw+ugKqIiIjI2FT9l/SJiIiIqgBDEBEREYkSQxARERGJEkMQERERiRJDEBEREYkSQxARERGJksF9RZ6IxCspKRGhoesBAH5+k9GokV0VV0RExowhiIgMRljYRly5cgkAsHnzRsyZs6BSly+Vls+P8kokEo3bpqbls9NdpRL4MyxE5YghiIgMRmLiffXthIT7xYxZ/qRSCepYm0NqUv4/ylunjqXe8wQAlVKJ1KeV96O8RMaOIYiICP+/F8jEBD/t2IgnDx/oNa9MRZrG7S3Bn+tbHmzqN8Tg0f78UV6icsQQRERUwJOHD/AwSb+9UEplnsZtfedHRBWD3w4jIiIiUWIIIiIiIlFiCCIiIiJRYggiIiIiUWIIIiIiIlFiCCIiIiJRYggiIiIiUWIIIiIiIlFiCCIiIiJR4hWjiaoYf7STyhtfU0S60SsEzZ07Fz4+Pmjfvn2hj1+5cgXbt2/H0qVL9VkMkdHij3ZSeXux7i0gleofWCrsNaVSITX1WaW8pqysrPD8+XP1baKC9ApBUVFR6N69e5EhKCEhAXv37mUIIipC/o92Xlq9FhlJ+v1oZ/bTpxq3T36yUL/iAFg1aogO/w3gj3ZWIy/2Aklx9/B1ZKc+02teuZk5Grf/jjynb3moWccCr3q9VmmvqdatW0MQBPVtooIq9HDYw4cPUatWrYpcBJFRyEh6AMXdu3rNQ5WXp3Fb3/lR9Zad+gzPH2XoNQ9BpdK4re/8qoKVlRVcXV2rugwyUKUOQUeOHMHRo0fV9yMjI3Hq1Cmt8dLT03Hq1Cm0bdtWvwqJiIiIKkCpQ1BcXByio6MBvDhR7vLly/jjjz80xpFIJLCwsICLiwvmzJlTPpUSERERlaNSh6CAgAAEBAQAAFq1aoUlS5Zg2LBh5V4YERERUUXS65ygGzdulFcdRERERJVKr+9QXrt2DVu3bi3y8a1bt+LPP/8s1Tzj4uIwceJEdOjQAe7u7ggKCkJOTk6J03l6esLJyUnrX3Z2dqmWT0REROKg156gb775BrVq1cK4ceMKffzMmTOIiYnB2rVrdZpfWloafH19YW9vj+DgYCQnJ2PZsmXIysrCggULSpx+wIABmDRpksYwMzMznZZNRERE4qJXCLp27Zr6/KDCdO7cGevWrdN5fhEREcjMzERISAisra0BAEqlEosWLUJAQAAaNGhQ7PT16tVDhw4ddF4eERERiZdeh8MyMzNhUsyVbqVSKdLT03WeX0xMDNzc3NQBCAAGDRoElUqF2NhYfUolIiIi0qBXCHr11VeLDScnTpxAkyZNdJ5ffHw8HBwcNIbJZDLY2toiPj6+xOn379+Ptm3bomPHjpg8eTL++usvnZdNRERE4qLX4TBvb28sXboUS5cuRWBgIGQyGQBAoVAgJCQEJ06cwIcffqjz/BQKhXoeBcnlcqSlpRU7raenJ5ydndGoUSPcv38fa9aswdixY7F3795SBbGXldcPBr6son6YUBcmJpW3LH0UV6cx9KDL44aisurk+6JkYnhNGUMPujxuKIyhj7LWqFcImjBhAm7cuIGwsDCEh4ejfv36AF78XIZKpcLw4cPh5+enzyJ0Nn/+fPXtLl26wN3dHYMGDcLGjRuxcOHCMs2zPH8wsLB5V8ZyKlp9qxpIzcpT3y5PMpl5uc6vKhhDD0Dl9WEs74uKxNeU4ajMHmxtLJCmyFbfLk9iXhd6hSCJRIKlS5di+PDhOHToEO7fvw8A6Nu3L/r374+uXbuWan4ymazQc4jS0tIgl8tLNa/69eujc+fOuHbtWqmmK0ilEqBQ6PcDhMXNu+Dt1NTMCllOYUxMpOX2oh/WygbCn0/Ut8uTQvEcSqWq0MfKs4eKVFwPgPH0UV6M5X1RkcTwmjKGHoDy7WNALwcIQpz6dnkyhtdUwR5kMnOd9wyVyw+oduvWDd26ddN7Pg4ODlrn/qSnpyMlJUXrXKHKkpdXMRv+/F81zr9dUcupaPUtzfB2l1cqZN5KparaPi/5jKEHoPL6MJb3RUXia8pwVGYP9WwsMH5EuwqZt5jXRbkc6EtOTsaBAwcQFhaGf/755/8LUuLp06dQKpU6z8fDwwOnTp2CQqFQD4uOjoZUKoW7u3upazp//jzatauYFw0RERFVb3rtCRIEAcuWLcPWrVuRl5cHiUQCR0dHvPLKK3j27Bk8PT3x7rvv6nxekI+PD8LDwxEYGIiAgAAkJycjKCgIPj4+GtcI8vX1RVJSEg4fPgwAOHDgAI4fP45evXqhfv36uH//PtatWwcTExNMnDhRnxaJiIjISOm1J2jDhg3YvHkzJk2ahB9++EFjV3bt2rXRv39/HDp0SOf5yeVyhIWFwcTEBIGBgVixYgW8vb21folepVJp7GFq3LgxHj58iC+++AL+/v5YsWIF2rRpg4iICL2+GUZERETGS689QTt37sTrr7+OWbNmITU1VetxJycnxMTElGqezZs3R2hoaLHjhIeHa9zv0KGD1jAiIiKi4ui1J+jBgwfo2LFjkY+bm5sjIyNDn0UQERERVQi9QlDdunXx4MGDIh+/du0aGjZsqM8iiIiIiCqEXiHIy8sLERER6usDAf9e8fXkyZOIiorCwIED9auQiIiIqALodU7Qu+++izNnzmD48OHo0qULJBIJ1q9fj++++w6XLl1C69atMWXKlPKqlYiIiKjc6LUnqHbt2oiMjMTbb7+N5ORk1KxZE7///jvS09MRGBiIbdu2wdzcsK8ySUREROJU5j1B2dnZ2LFjB1q3bo2pU6di6tSp5VmXwZJKJRq/b1RWFfVDkSqVoPHTA0RERFS4MoegmjVr4quvvsL8+fPh4uJSnjUZLKlUAmtri3L5Rd2K+qFIpVKFp0+fMQgRERGVQK9zglq2bInExMTyqsXgSaUSmJhIsWp7LBIfpuk1r1TFc43bH3/3k77lwa6+HIFj3CGVShiCiIiISqBXCJo5cyZmz56Nrl27onv37uVVk8FLfJiGO4naF4csjbwCv9ibp1TpPT8iIiIqHb1C0JYtW2BtbQ1/f380btwYjRs3Rs2aNTXGkUgkWL16tV5FEhEREZU3vULQ33//DQBo2LAhlEol7t69qzVOwROAiYiIiAyFXiHo2LFj5VUHERERUaUq89ecnj9/jhEjRmD79u3lWQ8RERFRpShzCDI3N0dCQgIPdxEREVG1pNcFb3r27ImTJ0+WVy1ERERElUavEDR16lTcuXMHH3zwAc6dO4fk5GQ8ffpU6x8RERGRodHrxOghQ4YAAG7duoUDBw4UOd6ff/6pz2KIiIiIyp1eISgwMJDnBBEREVG1pFcImj59ennVQURERFSpyueny/9fVlYWsrKyynOWRERERBVCrz1BAJCUlITg4GD8+uuvSE198ftXderUQa9evTBt2jTY2dnpXSQRERFRedMrBMXFxWHs2LFIT09H9+7d0bx5cwBAfHw89u3bh+PHj2Pbtm1wcHAol2KJiIiIyoteIWjFihWQSqWIioqCk5OTxmN///03/Pz8sGLFCqxatUqvIomIiIjKm17nBP3+++946623tAIQADg6OmLcuHE4e/asPosgIiIiqhB6haC8vDzUqlWryMfNzc2Rl5enzyKIiIiIKoReIah169bYuXMn0tPTtR7LyMjArl278Nprr+mzCCIiIqIKofd1giZPnoxBgwZhxIgRsLe3BwDcvn0bUVFRePr0KRYsWFAedRIRERGVK71CkJubG9atW4egoCCsW7dO47HWrVtj+fLl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b98+bNy4EXXq1EHXrl0xc+ZMnffWG0If+V/euHv3LkxNTeHq6oodO3bo/c1kiVCaqyURERERGQmeE0RERESixBBEREREosQQRERERKLEEERERESixBBEREREosQQRERERKLEEERERESixBBEREREosQQREQGbc+ePXBycir2V9YLM2fOHHh6elZQVZXLyckJwcHBJY4XHBwMJyenSqiIyDgwBBGRQVizZg2OHDlS1WVUGGPvj6g64s9mEJFB6NixIwYMGIBly5ZpDFcqlcjLy4OZmRkkEonO88vNzYUgCDr/PlJFK6o/XWRnZ8PExASmpsX/3GNwcDBCQkJ0+t06IuIPqBJRFRIEAdnZ2ahVq1aR45iYmMDExKTU89blF9eri5o1a1Z1CURGiYfDiKhI+eeYxMXF4b333kOnTp3QtWtXfP7558jOzlaPt3v3bkyYMAFubm5o27YtBg8ejG3btmnNz9PTEwEBAThx4gRGjBgBZ2dnREREwMnJCc+ePUNUVBScnJzg5OSEOXPmACj6nKBff/0V48ePR8eOHdGpUye8+eab2L9/v/rxl88JSkhIgJOTEzZu3IjQ0FD06dMHzs7OGD9+PP7++2+Ned+4cQNz5sxB37590a5dO7i7u2Pu3LlITU0t9Pm5e/cu5syZgy5duqBz586YO3cunj9/rh6vuP50Udg5QefOncObb76Jdu3aoV+/foiIiNB5fkT0AvcEEVGJZsyYATs7O8yePRuXLl1CeHg4FAoFgoKCAADbt29Hy5Yt4enpCVNTUxw/fhyLFi2CIAgYN26cxrxu376N2bNnY/To0Rg1ahSaNWuGoKAgzJ8/H87Ozhg1ahQAoGnTpkXWs2fPHnz88cdo2bIlAgICULt2bfz55584ceIEhg0bVmwve/fuRWZmJsaOHYvs7GyEh4fD19cX+/fvR7169QAAp06dwv379zFixAjY2tri5s2biIyMxK1btxAZGal1WG7GjBlo3LgxZs2ahevXr2Pnzp2wsbHBBx98AACl7q8kf/31F/z9/WFjY4Pp06cjLy8PwcHBqFu3bpnnSSRGDEFEVKLGjRtj9erVAIBx48bBysoK27Ztw6RJk9CqVSts2bJF45DW+PHj4e/vjx9++EErBN29excbNmxAz549NYYvXLgQTZo0wfDhw4utJT09HZ9//jmcnZ0RHh6ucahIl1Mc7927h0OHDqFBgwYAAA8PD4wcORLr16/H3LlzAQBjx47FpEmTNKbr0KEDZs2ahfPnz6NLly4aj7Vu3RpffPGF+v7Tp0+xa9cudQgaPny4zv3pYuXKlRAEAVu3bkWjRo0AAAMGDCgxABKRJh4OI6ISvRxkxo8fDwCIiYkBAI0AlJ6ejidPnsDV1RX3799Henq6xrSNGzfWCkClERsbi8zMTLzzzjta58rocuJ0v3791AEIAJydndG+fXv8+uuv6mEF+8nOzsaTJ0/Qvn17AMC1a9e05unj46Nxv0uXLnj69CkyMjJ0a6oUlEolTp48iX79+qkDEAA0b94cPXr0KPflERkz7gkiohK9+uqrGvebNm0KqVSqPk/n/PnzCA4OxqVLlzTOhQFehKLatWur7zdu3FivWu7duwcAaNmyZZmmf7kXALC3t8fPP/+svv/06VOEhITgp59+wuPHjzXGfTnUAdAIIwAgk8kAAGlpabCysipTnUV58uQJsrKyCu2jWbNmGmGOiIrHEEREpVZwj8u9e/fg5+cHBwcHzJkzBw0bNkSNGjXw66+/IjQ0FCqVSmPa4r4JZihmzJiBixcvwt/fH61bt4aFhQVUKhXefvvtQg+5SaWF71TnFUiIDBtDEBGV6O7du2jSpInGfZVKhcaNG+PYsWPIycnB6tWrNfaInDlzpkJqyT+h+ObNm4XuDSnJ3bt3tYbduXMHdnZ2AF7svTl9+jSmT5+OadOmaYxjCGxsbFCrVq1C+7h9+3YVVERUffGcICIq0datWzXub9myBcCLk4rzr+FTcK9Heno6du/eXaplWFhYQKFQlDhejx49YGlpibVr12p8Tf/lGopy5MgRJCcnq+9fuXIFly9fhoeHBwAUeU2isLCwEuddHF37K4mJiQl69OiBI0eOICkpST08Li4OJ0+e1Hv+RGLCPUFEVKKEhARMmTIFPXv2xKVLl/Djjz9i6NChaNWqFczMzFCjRg1MmTIFPj4+yMzMxM6dO1G3bl2kpKTovIw2bdrg9OnT+OGHH1C/fn00btxYfTJyQVZWVpg7dy7mz58Pb29vDB06FDKZDDdu3EBWVha+/PLLYpfTtGlTjBkzBmPGjEFOTg42b94Ma2trvP322+r5u7i4YMOGDcjNzUWDBg0QGxtb6t8uK2t/upg+fTpOnDiBcePGYcyYMVAqldiyZQtatGjBq0UTlQL3BBFRib799luYmZlhxYoV6osU5n8l3MHBAStXroREIsGXX36JiIgIjBo1ChMmTCjVMubMmYM2bdrg22+/xaxZs7B9+/Yixx05ciRWr14NS0tLfP/99/jqq69w/fp19d6c4rz++ut46623sHXrVqxZswYtWrRAWFgY6tevrx5nxYoV6NGjB7Zt24avv/4apqamWL9+fan60ae/krRq1QobN25EnTp1sHLlSuzevRvTp0+Hl5eXXjUSiQ1/O4yIipT/W1SnT5+GjY1NVZejl4SEBPTt2xcffvgh/P39q7ocIjIA3BNEREREosRzgoiIqoBSqcSTJ0+KHcfCwgKWlpaVVBGR+DAEERFVgQcPHqBv377FjjNt2jRMnz69kioiEh+eE0REVAWys7Nx/vz5Ysdp0qSJxvWZiKh8MQQRERGRKPHEaCIiIhIlhiAiIiISJYYgIiIiEiWGICIiIhIlhiAiIiISJYYgIiIiEiWGICIiIhIlhiAiIiISpf8DJvUOZXgqOa8AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
participant_idtrial_indexstimulusresponseresponse_timeexpected_responseis_correct
0sub-11ANoneNaNNone1
1sub-12DNoneNaNNone1
2sub-13Anon-match1.697356match0
3sub-14Fnon-match0.149110non-match1
4sub-15Dnon-match0.277760non-match1
\n", "
\n", " \n", "\n", "\n", "\n", "
\n", " \n", "
\n", "\n", "\n", "\n", " \n", "\n", " \n", " \n", "\n", " \n", "
\n", "
\n" ], "text/plain": [ " participant_id trial_index stimulus response response_time \\\n", "0 sub-1 1 A None NaN \n", "1 sub-1 2 D None NaN \n", "2 sub-1 3 A non-match 1.697356 \n", "3 sub-1 4 F non-match 0.149110 \n", "4 sub-1 5 D non-match 0.277760 \n", "\n", " expected_response is_correct \n", "0 None 1 \n", "1 None 1 \n", "2 match 0 \n", "3 non-match 1 \n", "4 non-match 1 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def generate_mock_nback_dataset(N=2,\n", " n_participants=10,\n", " n_trials=32,\n", " stimulus_choices=list('ABCDEF'),\n", " response_choices=['match', 'non-match']):\n", " \"\"\"Generate a mock dataset for the N-back task.\"\"\"\n", "\n", " n_rows = n_participants * n_trials\n", "\n", " participant_ids = sorted([f'sub-{pid}' for pid in range(1, n_participants + 1)] * n_trials)\n", " trial_indices = list(range(1, n_trials + 1)) * n_participants\n", " stimulus_sequence = np.random.choice(stimulus_choices, n_rows)\n", "\n", " responses = np.random.choice(response_choices, n_rows)\n", " response_times = np.random.exponential(size=n_rows)\n", "\n", " df = pd.DataFrame({\n", " 'participant_id': participant_ids,\n", " 'trial_index': trial_indices,\n", " 'stimulus': stimulus_sequence,\n", " 'response': responses,\n", " 'response_time': response_times\n", " })\n", "\n", " # mark matchig stimuli\n", " _nback_stim = df['stimulus'].shift(N)\n", " df['expected_response'] = (df['stimulus'] == _nback_stim).map({True: 'match', False: 'non-match'})\n", "\n", " df['is_correct'] = (df['response'] == df['expected_response'])\n", "\n", " # we don't care about burn-in trials (trial < N)\n", " df.loc[df['trial_index'] <= N, 'is_correct'] = True\n", " df.loc[df['trial_index'] <= N, ['response', 'response_time', 'expected_response']] = None\n", "\n", " return df\n", "\n", "\n", "# ========\n", "# now generate the actual data with the provided function and plot some of its features\n", "mock_nback_data = generate_mock_nback_dataset()\n", "mock_nback_data['is_correct'] = mock_nback_data['is_correct'].astype(int)\n", "\n", "sns.displot(data=mock_nback_data, x='response_time')\n", "plt.suptitle('response time distribution of the mock N-back dataset', y=1.01)\n", "plt.show()\n", "\n", "sns.displot(data=mock_nback_data, x='is_correct')\n", "plt.suptitle('Accuracy distribution of the mock N-back dataset', y=1.06)\n", "plt.show()\n", "\n", "sns.barplot(data=mock_nback_data, y='is_correct', x='participant_id')\n", "plt.suptitle('Accuracy distribution of the mock N-back dataset', y=1.06)\n", "plt.show()\n", "\n", "mock_nback_data.head()" ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "## Implementation scheme\n" ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "### Environment\n", "\n", "The following cell implments N-back envinronment, that we later use to train a RL agent on human data. It is capable of performing two kinds of simulation:\n", "- rewards the agent once the action was correct (i.e., a normative model of the environment).\n", "- receives human data (or mock data if you prefer), and returns what participants performed as the observation. This is more useful for preference-based RL." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "execution": {} }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.10/dist-packages/ipykernel/ipkernel.py:283: DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above.\n", " and should_run_async(code)\n" ] } ], "source": [ "class NBack(dm_env.Environment):\n", "\n", " ACTIONS = ['match', 'non-match']\n", "\n", " def __init__(self,\n", " N=2,\n", " episode_steps=32,\n", " stimuli_choices=list('ABCDEF'),\n", " human_data=None,\n", " seed=1,\n", " ):\n", " \"\"\"\n", " Args:\n", " N: Number of steps to look back for the matched stimuli. Defaults to 2 (as in 2-back).\n", " episode_steps\n", " stimuli_choices\n", " human_data\n", " seed\n", "\n", " \"\"\"\n", " self.N = N\n", " self.episode_steps = episode_steps\n", " self.stimuli_choices = stimuli_choices\n", " self.stimuli = np.empty(shape=episode_steps) # will be filled in the `reset()`\n", "\n", " self._reset_next_step = True\n", "\n", " # whether mimic humans or reward the agent once it responds optimally.\n", " if human_data is None:\n", " self._imitate_human = False\n", " self.human_data = None\n", " self.human_subject_data = None\n", " else:\n", " self._imitate_human = True\n", " self.human_data = human_data\n", " self.human_subject_data = None\n", "\n", " self._action_history = []\n", "\n", " def reset(self):\n", " self._reset_next_step = False\n", " self._current_step = 0\n", " self._action_history.clear()\n", "\n", " # generate a random sequence instead of relying on human data\n", " if self.human_data is None:\n", " # self.stimuli = np.random.choice(self.stimuli_choices, self.episode_steps)\n", " # FIXME This is a fix for acme & reverb issue with string observation. Agent should be able to handle strings\n", " self.stimuli = np.random.choice(len(self.stimuli_choices), self.episode_steps).astype(np.float32)\n", " else:\n", " # randomly choose a subject from the human data and follow her trials and responses.\n", " # FIXME should we always use one specific human subject or randomly select one in each episode?\n", " self.human_subject_data = self.human_data.query('participant_id == participant_id.sample().iloc[0]',\n", " engine='python').sort_values('trial_index')\n", " self.stimuli = self.human_subject_data['stimulus'].to_list()\n", " self.stimuli = np.array([ord(s) - ord('A') + 1 for s in self.stimuli]).astype(np.float32)\n", "\n", " return dm_env.restart(self._observation())\n", "\n", "\n", " def _episode_return(self):\n", " if self._imitate_human:\n", " return np.mean(self.human_subject_data['response'] == self._action_history)\n", " else:\n", " return 0.0\n", "\n", " def step(self, action: int):\n", " if self._reset_next_step:\n", " return self.reset()\n", "\n", " agent_action = NBack.ACTIONS[action]\n", "\n", " if self._imitate_human:\n", " # if it was the same action as the human subject, then reward the agent\n", " human_action = self.human_subject_data['response'].iloc[self._current_step]\n", " step_reward = 0. if (agent_action == human_action) else -1.\n", " else:\n", " # assume the agent is rationale and doesn't want to reproduce human, reward once the response it correct\n", " expected_action = 'match' if (self.stimuli[self._current_step] == self.stimuli[self._current_step - self.N]) else 'non-match'\n", " step_reward = 0. if (agent_action == expected_action) else -1.\n", "\n", " self._action_history.append(agent_action)\n", "\n", " self._current_step += 1\n", "\n", " # Check for termination.\n", " if self._current_step == self.stimuli.shape[0]:\n", " self._reset_next_step = True\n", " # we are using the mean of total time step rewards as the episode return\n", " return dm_env.termination(reward=self._episode_return(),\n", " observation=self._observation())\n", " else:\n", " return dm_env.transition(reward=step_reward,\n", " observation=self._observation())\n", "\n", " def observation_spec(self):\n", " return dm_env.specs.BoundedArray(\n", " shape=self.stimuli.shape,\n", " dtype=self.stimuli.dtype,\n", " name='nback_stimuli', minimum=0, maximum=len(self.stimuli_choices) + 1)\n", "\n", " def action_spec(self):\n", " return dm_env.specs.DiscreteArray(\n", " num_values=len(NBack.ACTIONS),\n", " dtype=np.int32,\n", " name='action')\n", "\n", " def _observation(self):\n", "\n", " # agent observes only the current trial\n", " # obs = self.stimuli[self._current_step - 1]\n", "\n", " # agents observe stimuli up to the current trial\n", " obs = self.stimuli[:self._current_step+1].copy()\n", " obs = np.pad(obs,(0, len(self.stimuli) - len(obs)))\n", "\n", " return obs\n", "\n", " def plot_state(self):\n", " \"\"\"Display current state of the environment.\n", "\n", " Note: `M` mean `match`, and `.` is a `non-match`.\n", " \"\"\"\n", " stimuli = self.stimuli[:self._current_step - 1]\n", " actions = ['M' if a=='match' else '.' for a in self._action_history[:self._current_step - 1]]\n", " return HTML(\n", " f'Environment ({self.N}-back):
'\n", " f'
Stimuli: {\"\".join(map(str,map(int,stimuli)))}
'\n", " f'
Actions: {\"\".join(actions)}
'\n", " )\n", "\n", " @staticmethod\n", " def create_environment():\n", " \"\"\"Utility function to create a N-back environment and its spec.\"\"\"\n", "\n", " # Make sure the environment outputs single-precision floats.\n", " environment = wrappers.SinglePrecisionWrapper(NBack())\n", "\n", " # Grab the spec of the environment.\n", " environment_spec = specs.make_environment_spec(environment)\n", "\n", " return environment, environment_spec" ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "### Define a random agent\n", "\n", "For more information you can refer to NMA-DL W3D2 Basic Reinforcement learning." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "execution": {} }, "outputs": [], "source": [ "class RandomAgent(acme.Actor):\n", "\n", " def __init__(self, environment_spec):\n", " \"\"\"Gets the number of available actions from the environment spec.\"\"\"\n", " self._num_actions = environment_spec.actions.num_values\n", "\n", " def select_action(self, observation):\n", " \"\"\"Selects an action uniformly at random.\"\"\"\n", " action = np.random.randint(self._num_actions)\n", " return action\n", "\n", " def observe_first(self, timestep):\n", " \"\"\"Does not record as the RandomAgent has no use for data.\"\"\"\n", " pass\n", "\n", " def observe(self, action, next_timestep):\n", " \"\"\"Does not record as the RandomAgent has no use for data.\"\"\"\n", " pass\n", "\n", " def update(self):\n", " \"\"\"Does not update as the RandomAgent does not learn from data.\"\"\"\n", " pass" ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "### Initialize the environment and the agent" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "execution": {} }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "actions:\n", " DiscreteArray(shape=(), dtype=int32, name=action, minimum=0, maximum=1, num_values=2)\n", "observations:\n", " BoundedArray(shape=(32,), dtype=dtype('float32'), name='nback_stimuli', minimum=0.0, maximum=7.0)\n", "rewards:\n", " Array(shape=(), dtype=dtype('float32'), name='reward')\n" ] } ], "source": [ "env, env_spec = NBack.create_environment()\n", "agent = RandomAgent(env_spec)\n", "\n", "print('actions:\\n', env_spec.actions)\n", "print('observations:\\n', env_spec.observations)\n", "print('rewards:\\n', env_spec.rewards)" ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "### Run the loop" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "execution": {} }, "outputs": [ { "data": { "image/png": "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FT41RomIiIjIlzBRIiIiInKBiRIRERGRC0yUiIiIiFxgokRERETkAhMlIiIiIhd8b4lgUpTdbseqVavw9ddf48yZM5BlGampqfj973+PESNGOPfLycnB//3f/+H7779HQUEBYmJiMHbsWPz+979HdHR0k8+xZMkSLF26tNH2F198Effff7/Hz6mtWloXAGCxWPCvf/0LH330EaqrqzF06FA899xzLVoaZ//+/Xj55Zdx/PhxxMTE4P7778fcuXMhCIK3Tq3Vdu3ahY0bN+LQoUO4cOECfvnLXzaYBBYANm7ciD//+c/XLH/99ddj5cqVLo/vL++JltQDAKSmpjbaFhsbi127djX7HP7wfgBaVheBcJ1o6Xuio18jruVan4N63377LTp16nTNx/Lz8zFp0qRG24cMGYINGzZ4LL6WYqJEDdTV1eGNN97AnXfeiblz50IURWzYsAEPPfQQVq5ciTFjxgAAdu/ejX379uG+++5D3759UVhYiNdffx179uzB5s2bG0wQei0hISFYs2ZNg231M6j7ipbWBQC89NJL+OSTT/CnP/0J8fHxWLZsGWbNmoWPP/4YERERLp/j/PnzmDNnDjIyMvD444/j5MmTeOWVV6BSqTBnzpz2OM0W+fbbb3HixAmMHDkSBoPhmvtMmDAB7733XoNt586dwx//+McGSwm54g/viZbUQ70HH3wQt912m/Pv4ODgZo/vL+8HoGV1EQjXiZa+Jzr6NeJarr4eAMAf//hHhIaGukySrvTEE09g1KhRzr+1Wq1H42sxmegKNptNrqysbLRtypQpcmZmpnNbeXm5LElSg/1+/PFHuU+fPnJ2dnaTz/H666/LaWlpngvaS1paFxcvXpT79esnr1+/3rmtoqJCTktLk994440mn+O5556TJ06cKJvNZue2V199VR4xYkSDbUqz2+3O/584caI8f/78FpV7/fXX5X79+snFxcXN7ucP74mW1kOfPn3kN998s9XH95f3gyy3rC4C4TrRknoIhGtES1y4cEHu06ePvGLFihbtt23btnaKrGkco0QNqFQq6PX6RttSU1NRXFzs3BYVFdWo2bd///4A0GA/f9bSuti5cyckScKUKVOc2yIjI5GRkYEdO3Y0+Rw7duzApEmTGvyyvuWWW2A0GnHgwAEPnYn7RLFtl4qtW7di9OjRiIuL83BEymhrPbSU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RG7Iz89Hamqq87/65SuU9vnnnzeIq36ZDSJqHSZKRORRGzdubPAF3b9/f4wdOxZ/+tOfUFRU1KZjnjlzBkuWLEF+fr6Ho/Wc++67D4sWLcLgwYOVDgUAMHDgQCxatAj33Xef0qEQ+TWu9UZEXvHYY48hKSkJFosFBw8exIcffogff/wRW7duhUajadWxzpw5g6VLlyI9PR1JSUleitg9aWlpmDZtmtJhOCUkJGDatGmw2+147733lA6HyG8xUSIirxg3bhwGDRoEALjnnnsQFRWFFStW4IsvvsAtt9yicHQONTU1CAsLUzoMIvJh7HojonYxYsQIAMCFCxcabD979iwee+wxpKenY9CgQbjrrrvwxRdfOB/fuHEjfv/73wMAHnroIWeX3g8//AAASE1NxZIlSxo93w033IA//elPDY6TmpqKPXv24MUXX8SYMWMwfvx4AMCDDz6I2267DWfOnMGDDz6IIUOGYOzYsVixYoVb51xQUIAXX3wRN998MwYPHoxRo0bhsccea1EX4g8//NDgPOvVj4nauHGjW7ERUcuwRYmI2kVBQQEAQKfTObedPn0a999/P+Lj4zF37lyEhYVh27ZtyMrKwpIlSzB58mSMHDkSDz74INauXYtf//rXSE5OBgCkpKS0KY758+cjOjoaWVlZqKmpcW43GAx45JFHMHnyZEydOhWffvopXnnlFfTp08eZULXWkSNHcODAAdx6661ISEhAQUEB3n33XTz00EP4+OOPERoa2qbjElH7YaJERF5hMplQXl4Oi8WCQ4cOYenSpVCr1Zg4caJzn7/97W9ITEzEBx98ALVaDQB44IEHcP/99+OVV17B5MmT0bVrV4wYMQJr167Fddddh1GjRrkVl16vx+rVq6FSqRpsLy4uxssvv4w77rgDADB9+nTccMMN+OCDD9qcKE2YMAFTpkxpsG3ixIm477778Omnnzqfi4h8FxMlIvKKWbNmNfi7S5cu+Oc//4mEhAQAQGVlJb7//ns89thjMJlMDfa9/vrrsWTJEhQVFSE+Pt6jcd17772NkiQACAsLazAYW61WY9CgQY26ClsjJCTE+f9WqxUmkwndunWDTqfDsWPHmCgR+QEmSkTkFc8//zx69uyJqqoqfPDBB9i7d6+z1QgA8vLyIMsyFi9ejMWLF1/zGGVlZR5PlFzdNZeQkABBEBps0+v1OHnyZJufq66uDsuXL8fGjRtRVFQEWZadj1VVVbX5uETUfpgoEZFXDB482HnX24033ogHHngAf/jDH5CdnQ2tVgtJkgAAs2fPxtixY695jG7durX5+e12+zW3u5qa4FqtTO5asGABNm7ciJkzZyItLQ0REREQBAHz5s1rkDRdy9VJW736eiOi9sFEiYi8TqVS4YknnsBDDz2EdevW4Ve/+hW6du0KAAgODsZ1113XZHlXSQPgaPUxGo0NtlksFpSUlLgfuJvqxyFdefed2WxuUWtS/aD3q/etHxRPRO2D0wMQUbsYNWoUBg8ejDVr1sBsNiMmJgbp6el47733UFxc3Gj/8vJy5//X3x12rQSja9eu2LdvX4NtGzZscNmi1J6u1Uq1du3aRrFZrVacPXu2QT106dIFKpUKe/fubbDvu+++2+iYVVVVOHv2LLvziLyALUpE1G7mzJmD3//+99i4cSPuv/9+vPDCC3jggQdw++23495770XXrl1RWlqKgwcP4tKlS/joo48AAP369YNKpcKKFStQVVUFtVqN0aNHIyYmBvfccw9eeOEFPProo7juuutw4sQJ7Ny5E1FRUQqfreOut82bNyM8PBy9evXCwYMHsXv3bkRGRjbYr6ioCLfccgvuvPNOLFy4EAAQERGBKVOm4P/+7/8gCAK6du2Kr7/+GmVlZY2eZ/v27fjzn/+Mf/zjH7jrrrva49SIAgYTJSJqNzfddBO6deuGVatW4d5770WvXr3wwQcfYOnSpfjwww9RWVmJ6Oho9O/fH1lZWc5ycXFxmD9/PpYvX46//OUvsNvtePvttxETE4N7770X+fn5+O9//4tvv/0Ww4cPx1tvvdXorjsl/OUvf4EoitiyZQvMZjOGDRuGt956C4888kiLyj/77LOw2WxYv3491Go1pkyZgqeffhq33XablyMnonqC3NyIQiIicik/Px+TJk3Cc889h1tuuQXh4eEN7u5TisVigclkwieffIIFCxbgv//9r3NwPRG1HMcoERF5wIIFCzBmzBh8+eWXSocCANixYwfGjBmDBQsWKB0KkV9jixIRkRvMZjN+/PFH59+pqamIiYlRMCKH8vJynDhxwvn34MGDER4ermBERP6JiRIRERGRC+x6IyIiInKBiRIRERGRC0yUiIiIiFxgokRERETkAhMlIiIiIheYKBERERG5wESJiIiIyAUmSkREREQuMFEiIiIicuH/A1gWC1eQ6rTvAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# fitting parameters\n", "n_episodes = 1_000\n", "n_total_steps = 0\n", "log_loss = False\n", "n_steps = n_episodes * 32\n", "all_returns = []\n", "\n", "# main loop\n", "for episode in range(n_episodes):\n", " episode_steps = 0\n", " episode_return = 0\n", " episode_loss = 0\n", "\n", " start_time = time.time()\n", "\n", " timestep = env.reset()\n", "\n", " # Make the first observation.\n", " agent.observe_first(timestep)\n", "\n", " # Run an episode\n", " while not timestep.last():\n", "\n", " # DEBUG\n", " # print(timestep)\n", "\n", " # Generate an action from the agent's policy and step the environment.\n", " action = agent.select_action(timestep.observation)\n", " timestep = env.step(action)\n", "\n", " # Have the agent observe the timestep and let the agent update itself.\n", " agent.observe(action, next_timestep=timestep)\n", " agent.update()\n", "\n", " # Book-keeping.\n", " episode_steps += 1\n", " n_total_steps += 1\n", " episode_return += timestep.reward\n", "\n", " if log_loss:\n", " episode_loss += agent.last_loss\n", "\n", " if n_steps is not None and n_total_steps >= n_steps:\n", " break\n", "\n", " # Collect the results and combine with counts.\n", " steps_per_second = episode_steps / (time.time() - start_time)\n", " result = {\n", " 'episode': episode,\n", " 'episode_length': episode_steps,\n", " 'episode_return': episode_return,\n", " }\n", " if log_loss:\n", " result['loss_avg'] = episode_loss/episode_steps\n", "\n", " all_returns.append(episode_return)\n", "\n", " display(env.plot_state())\n", " # Log the given results.\n", " print(result)\n", "\n", " if n_steps is not None and n_total_steps >= n_steps:\n", " break\n", "\n", "clear_output()\n", "\n", "# Histogram of all returns\n", "plt.figure()\n", "sns.histplot(all_returns, stat=\"density\", kde=True, bins=12)\n", "plt.xlabel('Return [a.u.]')\n", "plt.ylabel('Density')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "**Note:** You can simplify the environment loop using [DeepMind Acme](https://github.com/deepmind/acme)." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "execution": {} }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.10/dist-packages/ipykernel/ipkernel.py:283: DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above.\n", " and should_run_async(code)\n" ] } ], "source": [ "# init a new N-back environment\n", "env, env_spec = NBack.create_environment()\n", "\n", "# DEBUG fake testing environment.\n", "# Uncomment this to debug your agent without using the N-back environment.\n", "# env = fakes.DiscreteEnvironment(\n", "# num_actions=2,\n", "# num_observations=1000,\n", "# obs_dtype=np.float32,\n", "# episode_length=32)\n", "# env_spec = specs.make_environment_spec(env)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "execution": {} }, "outputs": [], "source": [ "def dqn_make_network(action_spec: specs.DiscreteArray) -> snt.Module:\n", " return snt.Sequential([\n", " snt.Flatten(),\n", " snt.nets.MLP([50, 50, action_spec.num_values]),\n", " ])\n", "\n", "# construct a DQN agent\n", "agent = dqn.DQN(\n", " environment_spec=env_spec,\n", " network=dqn_make_network(env_spec.actions),\n", " epsilon=[0.5],\n", " logger=loggers.InMemoryLogger(),\n", " checkpoint=False,\n", ")" ] }, { "cell_type": "markdown", "metadata": { "execution": {} }, "source": [ "Now, we run the environment loop with the DQN agent and print the training log." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "execution": {} }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
episode_lengthepisode_returnsteps_per_secondepisodessteps
99532-10.0329.37916599631872
99632-11.0326.32403499731904
99732-9.0373.01767699831936
99832-11.0309.73703199931968
99932-9.0405.329983100032000
\n", "
\n", " \n", "\n", "\n", "\n", "
\n", " \n", "
\n", "\n", "\n", "\n", " \n", "\n", " \n", " \n", "\n", " \n", "
\n", "
\n" ], "text/plain": [ " episode_length episode_return steps_per_second episodes steps\n", "995 32 -10.0 329.379165 996 31872\n", "996 32 -11.0 326.324034 997 31904\n", "997 32 -9.0 373.017676 998 31936\n", "998 32 -11.0 309.737031 999 31968\n", "999 32 -9.0 405.329983 1000 32000" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# training loop\n", "loop = EnvironmentLoop(env, agent, logger=loggers.InMemoryLogger())\n", "loop.run(n_episodes)\n", "\n", "# print logs\n", "logs = pd.DataFrame(loop._logger._data)\n", "logs.tail()" ] } ], "metadata": { "colab": { "collapsed_sections": [], "include_colab_link": true, "name": "human_rl", "provenance": [], "toc_visible": true }, "kernel": { "display_name": "Python 3", "language": "python", "name": "python3" }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" } }, "nbformat": 4, "nbformat_minor": 0 }