Last active
July 20, 2018 16:48
-
-
Save FLamparski/b3540528828aa4570c4c90fbb30e6490 to your computer and use it in GitHub Desktop.
Further adventures in reinforcement learning
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import gym\n", | |
"import numpy as np\n", | |
"import tensorflow as tf\n", | |
"import matplotlib.pyplot as plt\n", | |
"\n", | |
"from collections import deque\n", | |
"from q_agent import QAgent\n", | |
"from log_progress import log_progress\n", | |
"\n", | |
"plt.style.use(['seaborn', 'seaborn-notebook'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"\u001b[33mWARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.\u001b[0m\n" | |
] | |
} | |
], | |
"source": [ | |
"env = gym.make('CartPole-v0')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 48, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"_________________________________________________________________\n", | |
"Layer (type) Output Shape Param # \n", | |
"=================================================================\n", | |
"dense_19 (Dense) (None, 48) 240 \n", | |
"_________________________________________________________________\n", | |
"dense_20 (Dense) (None, 40) 1960 \n", | |
"_________________________________________________________________\n", | |
"dense_21 (Dense) (None, 2) 82 \n", | |
"=================================================================\n", | |
"Total params: 2,282\n", | |
"Trainable params: 2,282\n", | |
"Non-trainable params: 0\n", | |
"_________________________________________________________________\n" | |
] | |
} | |
], | |
"source": [ | |
"optimizer = tf.keras.optimizers.Adam(lr=0.01, decay=0.001)\n", | |
"model = tf.keras.Sequential([\n", | |
" tf.keras.layers.Dense(env.observation_space.shape[0] * 12, input_shape=env.observation_space.shape, activation='relu'),\n", | |
" tf.keras.layers.Dense(env.observation_space.shape[0] * 10, activation='relu'),\n", | |
" tf.keras.layers.Dense(env.action_space.n, activation='linear')\n", | |
"])\n", | |
"model.compile(loss='mse', optimizer=optimizer, metrics=['accuracy'])\n", | |
"model.summary()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 49, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"γ = 0.99\n", | |
"ϵ = 0.1 # Make the first episode completely random\n", | |
"ϵmax = 0.1\n", | |
"ϵmin = 0.01\n", | |
"num_episodes = 2000\n", | |
"episode_rewards = []\n", | |
"steps_per_episode = []\n", | |
"action_log = []" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 50, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"agent = QAgent(model, γ)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 51, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "3a04951b5e414bd3995ffa21bfbcb9a5", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"VBox(children=(HTML(value=''), IntProgress(value=0, max=2000)))" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"['loss', 'acc']: [0.5023205280303955, 1.0]; avg r = 8.0\n", | |
"['loss', 'acc']: [11.311055660247803, 0.8125]; avg r = 15.98\n", | |
"['loss', 'acc']: [16.28930377960205, 0.71875]; avg r = 38.3\n", | |
"['loss', 'acc']: [13.922751247882843, 0.84375]; avg r = 84.44\n", | |
"['loss', 'acc']: [2.2581788301467896, 1.0]; avg r = 138.06\n", | |
"['loss', 'acc']: [1631.3385620117188, 0.515625]; avg r = 13.01\n", | |
"['loss', 'acc']: [26.692326545715332, 0.953125]; avg r = 116.2\n", | |
"['loss', 'acc']: [297.0491018295288, 0.84375]; avg r = 119.57\n", | |
"['loss', 'acc']: [1.565079927444458, 0.828125]; avg r = 200.0\n", | |
"['loss', 'acc']: [0.9655596315860748, 0.953125]; avg r = 200.0\n", | |
"['loss', 'acc']: [0.6503041833639145, 0.9375]; avg r = 198.69\n", | |
"['loss', 'acc']: [0.3397551625967026, 0.828125]; avg r = 198.67\n", | |
"['loss', 'acc']: [0.7755239605903625, 0.953125]; avg r = 200.0\n", | |
"['loss', 'acc']: [1.2252822816371918, 0.8125]; avg r = 198.5\n", | |
"['loss', 'acc']: [26.389461547136307, 0.90625]; avg r = 193.04\n", | |
"['loss', 'acc']: [0.5155903249979019, 0.890625]; avg r = 198.43\n", | |
"['loss', 'acc']: [0.7078108489513397, 0.875]; avg r = 197.13\n", | |
"['loss', 'acc']: [29.883379563689232, 0.90625]; avg r = 197.11\n", | |
"['loss', 'acc']: [0.8557232320308685, 0.921875]; avg r = 189.62\n", | |
"['loss', 'acc']: [0.574481338262558, 0.875]; avg r = 198.39\n" | |
] | |
} | |
], | |
"source": [ | |
"# Training loop\n", | |
"for ep in log_progress(range(num_episodes)):\n", | |
" s0 = env.reset()\n", | |
" ep_reward = 0\n", | |
" for step in range(200):\n", | |
" # Get action, either from agent or take random action\n", | |
" Qrow = agent.get_Q(s0)\n", | |
" action = np.argmax(Qrow) if np.random.rand(1) >= ϵ else env.action_space.sample()\n", | |
" \n", | |
" # Run the action\n", | |
" s1, reward, done, _ = env.step(action)\n", | |
" \n", | |
" # Save the experience\n", | |
" agent.remember(s0, action, reward, s1, done)\n", | |
" \n", | |
" # Save data for plotting later\n", | |
" ep_reward += reward\n", | |
" action_log.append([Qrow[0], Qrow[1]])\n", | |
" \n", | |
" # Advance state\n", | |
" s0 = s1\n", | |
" \n", | |
" if done: \n", | |
" # Save metadata\n", | |
" steps_per_episode.append(step + 1)\n", | |
" episode_rewards.append(ep_reward)\n", | |
" \n", | |
" # Decay ϵ as episodes progress.\n", | |
" ϵ = np.clip(1.0 / ((ep / 50) + 10), ϵmin, ϵmax)\n", | |
" \n", | |
" # Train model\n", | |
" agent.learn(1)\n", | |
" \n", | |
" if ep % 100 == 0:\n", | |
" metrics = agent.test()\n", | |
" last_scores = episode_rewards[-100:]\n", | |
" avg_score = sum(last_scores) / len(last_scores)\n", | |
" print(\"{}: {}; avg r = {}\".format(model.metrics_names, metrics, avg_score))\n", | |
" break" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 52, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.legend.Legend at 0x7f0c5c4efcc0>" | |
] | |
}, | |
"execution_count": 52, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 1152x360 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"%matplotlib inline\n", | |
"plt.figure(figsize=(16,5))\n", | |
"plt.plot(episode_rewards)\n", | |
"plt.legend(['Episode rewards'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 53, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.legend.Legend at 0x7f0c55e0da58>" | |
] | |
}, | |
"execution_count": 53, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA6MAAAEvCAYAAACwixeWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xd8W/W9//GX5G3HcZzEwRnscZIAgYZA2AR6KR30ttDeLnrbUn50MHpLKWkplF1adssoexYoEFaAlLCy997JcYZHHO+9tX9/yJKleEi2tey8n48HD6SvzvhY+Uo6n/NdFo/Hg4iIiIiIiEgsWeMdgIiIiIiIiBx6lIyKiIiIiIhIzCkZFRERERERkZhTMioiIiIiIiIxp2RUREREREREYk7JqIiIiIiIiMRccjxPXl3dnPDryuTmZlJf3xbvMCQBqC6Ij+qCBFJ9EB/VBfFRXZBAh3p9yMvLtvT2mlpGQ0hOTop3CJIgVBfER3VBAqk+iI/qgvioLkgg1YfeKRkVERERERGRmAvZTdcwjKuA/w0omgFMB54FMoG1wLWmaXoMw/h157aZwJ9M0/xP5EMWERERERGRoS5ky6hpms+bpjnLNM1ZwJ+Bf+FNRGebpnk6MA640DCMY4FfAhcAlwAPGobRa/9gEREREREROXT1t5vuHcDfgGNN01zdWTYXb/J5ATDfNE2HaZqVQDkwOVKBioiIiIiIyPARdjJqGMYZwAHACdQHvFQF5APjgeoeykVERERERESC9Gdpl6uBNwH7QeUWwNNHea9yczOHxOxSeXnZ8Q5BEoTqgvioLkgg1QfxUV0QH9UFCaT60LP+JKMXANfjTTpHBZTnA2V4u+We3EN5r4bCejt5edlUVzfHOwxJAKoL4qO6IIFUH8RHdUF8VBck0KFeH/pKxMPqpmsYxiSgwzTNDtM03cAmwzDO6nz5MmAe8BlwiWEYKYZhTABGm6ZZMLjQRUREREREZKDKy8u4+OLzue66X3Dddb/gl7+8kvvuu4fq6iruv/8vve63YcM6br11drfyPXt2U1JSHJHYwm0ZHU9wK+cfgBcNw0gGFpmmuRzAMIwX8C714gZ+G5EIRUREREREZMCOOOJIHn/8Gf/ze+65nfXr1zJ79i39PtbixQuYPHkqRxxx5KDjCisZNU1zLfDVgOc7gJk9bPco8Oigo5IhaW9lNdsO7Odb06fHOxQREREREenFiSeezNq1q5kz5w2ef/5ffPrpx7z66kvk549n5MgcTj11OhMmTKStrZ0777yV3btNvvzlr3D++Rcyd+67LF68gNzcXKZOPWlQcfRnzKhInx7a9A8sKXamVo7n+MPGxzscERERERE5iNPpZPnyJcyceTZFRYV4PB6eeupxnn/+VTIzM/npT3/A9OkzACgq2sfrr7+Dy+Xk+9+/jCuvvJqZM89i1qwvDzoRBSWjEkGWFO+EynVtzXh7douIiIiICMBbC/awdldVRI95+uRxfO+i40JuV1JSzHXX/QKAffv28uMf/4xzzz2f+fPn0djYSGZmFrm5uQBMm3aqfz/DmEx6ejoAHo87orGDklEREREREZFhLXDM6K23zmbixEn+1zweDxZL17aWgCdJSdFdhlPJqIiIiIiISJR976LjwmrFjLZrrvk/brzxeu6990EAcnJyaG5upqmpibS0VDZt2sApp3yp1/0tFgsulysisSgZlUEpqanlyVXv87PTvuEv8+CJY0QiIiIiItKbCRMmMmvWl3n55ecBsFqt/OxnV3HNNf+Po446milTTuyzRfSUU77EY489TGZmJjNmnDGoWCweT/wSh+rq5oTPWg71RWpDuWX+MzSk7iG1PR97RgUAPz7q55x1zOQ4RxZ5qgvio7oggVQfxEd1QXxUFyTQUKgPCxd+zmmnnc7IkTn87nfX8fOf/4KTTpoWkWPn5WVbentNLaMyKE7aAXBZO+IciYiIiIiIDERHRwe/+c2vSU9P54QTjIgloqEoGZVBcXYmoR6rI86RiIiIiIjIQHzta5fyta9dGvPzWmN+RhlWOpJrAXCntPrLEr7vtYiIiIiIxJ2SUYm4eI5DFhERERGRoUHJqIiIiIiIiMScklERERERERGJOSWjEnFaZ1REREREJDGUl5dx1VX/G9a2N998I9dd9wsAFi36IpphAUpGJQo0ZFREREREZOjZtGkjjz/+DOXlZXz++SdRP5+WdhERERERETmEFBUV8sgj9+PxeMjKyuKWW+7kxRefpa2tlRtv/A1Wq4WdO7fz4ovPcuWVV0ctDrWMioiIiIiIHEL+/vcHuOmmP/Hoo08xY8ZM3ntvDtdffwMjRozgoYce5Yc//F9OPXV6VBNRUMuoREFVS328QxARERERSSjv7vmIjVVbI3rML407mcuPu7Tf+5nmLv72t7sBcDgcTJlyYkTjCpeSUYm4dkdHvEMQEREREZFeJCUl8dhjT2OxWOIah5JRibh4V2oRERERkURz+XGXDqgVMxqOP/4EVq1azllnncvnn3/CqFG5zJhxhv91q9WKy+WKehxKRiXiLCgZFRERERFJFCUlxf4lWwCuuuqXPPvsk7z66sukpaVzxx33BG1/5JFHY5q7ePzxv3Pddb+NWlxKRkVERERERIap8eMn8NlnS7qV//Ofz3UrmzfPu7Zobm4u7747L+qxaTZdiTi1i4qIiIiISChKRiXyNGZURERERERCUDIqEdfhbot3CCIiIiIikuCUjErE2Vz2eIcgIiIiIiIJTsmoRFyHzRnvEEREREREJMGFNZuuYRg/Am7EOzfNn4G1wCvAKKAUuMI0TZthGJcBs4F04DHTNF+IStSS2DRmVEREREREQgjZMmoYxgi8ieg5wKXAt4EHgBdN0zwTKAKuMAwju7P8q53bzu7cV0RERERERCRIOC2jlwDzTNPsAMqAqw3DKAZ+1fn6XOA6vEnpOtM0GwEMw1gOnAd8HOmgJbFZtLiLiIiIiIiEEE4yejiQZxjGx8AI4HYg2zTN9s7Xq4B8YDxQHbCfr1wOMUpFRUREREQklHCS0TTgMLxddI8BvgACZ6ixAB7g4ClUfeW9ys3NJDk5Kexg4yUvLzveIQwpaWkpw/Y9G65/l/Sf6oIEUn0QH9UF8VFdkECqDz0LJxmtAFaapukCdhuG0QS4DMPINE2zDW/rZxlQDowL2C8fWNDXgevrE389yry8bKqrm+MdxpBit7uG5XumuiA+qgsSSPVBfFQXxEd1QQId6vWhr0Q8nKVdPgcuMgzDYhjGOCAb+Aj4VufrlwPzgDXANMMwcjonLpoJLB1M4DI0qZuuiIiIiIiEEjIZNU3zAPAesBDvZETXA/cCvzQMYy0wGnjTNE07cBuwBG8SelfAuFI5lCgbFRERERGREMJaZ9Q0zWeAZw4qntXDdnOAOYMPS4YyS1gN7iIiIiIicihT1iARp4ZREREREREJRcmoRIHSURERERER6ZuSUYk4paIiIiIiIhKKklGJOItF6aiIiIiIiPRNyahEnFJREREREREJRcmoiIiIiIiIxJySUYk4T7wDEBERERGRhKdkVCJOQ0ZFRERERCQUJaMScRaNGhURERERkRCUjErEedRRV0REREREQlAyKiIiIiIiIjGnZFRERERERERiTsmoRJzGjIqIiIiISChKRkVERERERCTmlIxKxGn6IhERERERCUXJqEScOumKiIiIiEgoSkYlCpSOioiIiIhI35SMSsS5Pa54hyAiIiIiIglOyahEXLFjR7xDEBERERGRBKdkVCLO5mmLdwgiIiIiIpLglIxKFGjMqIiIiIiI9E3JqESBFncREREREZG+KRmViHM43fEOQUREREREEpySUYk4t0ctoyIiIiIi0jcloyIiIiIiIhJzyaE2MAxjFjAH2N5ZtBW4G3gFGAWUAleYpmkzDOMyYDaQDjxmmuYL0QhaElyyncK6Mo4ePSHekYiIiIiISIIKt2V0sWmaszr/ux54AHjRNM0zgSLgCsMwsjvLvwqcA8w2DGNENIKWxPfghsfiHYKIiIiIiCSwgXbTnQV80Pl4LnAJcDqwzjTNRtM024DlwHmDjlCGJqsr3hGIiIiIiEgCC9lNt9NUwzA+BrKBO4Fs0zTbO1+rAvKB8UB1wD6+chEREREREZEg4SSju4F7gDeAI4FFgCXgdQvehSXtB+3nK+9Vbm4myclJ4cYaN3l52fEOYUgaju/bcPybZGBUFySQ6oP4qC6Ij+qCBFJ96FnIZNQ0zQPA651PCw3DqAAmGIaR2dkdNx8oA8qBcQG75gML+jp2fX3bgIKOpby8bKqrm+MdxpA03N431QXxUV2QQKoP4qO6ID6qCxLoUK8PfSXiIceMGobxA8Mw7uh8PBY4DHgO+FbnJpcD84A1wDTDMHI6Jy6aCSwdVOQiIiIiIiIyLIUzgdFHwCmGYSwHPgSuAe4CfmkYxlpgNPCmaZp24DZgCd4k9K6AcaUiIiIiIiIifuF0020BLuvhpVk9bDsH75qkIiIiIiIiIr0a6NIuIiIiIiIiIgOmZFRERERERERiTsmoiIiIiIiIxJySUREREREREYk5JaMiIiIiIiISc0pGRUREREREJOaUjIqIiIiIiEjMKRkVERERERGRmFMyKiIiIiIiIjGnZFRERERERERiTsmoiIiIiIiIxJySUREREREREYk5JaMiIiIiIiISc0pGRUREREREJOaUjIqIiIiIiEjMKRmVQXG3Zsc7BBERERERGYKUjMrgeFSFRERERESk/5RJyKBYMlriHYKIiIiIiAxBSkZlUCxJrniHICIiIiIiQ5CSURm2mu0tuD3ueIchIiIiIiI9UDIqw1KjrYk/LruLh9c+E+9QRERERESkB0pGZVjaeqAYgMKWfXGOREREREREeqJkVIaldrvGsoqIiIiIJDIlozI8aayoiIiIiEhCUzIqw5JSURERERGRxKZkVIYlj8cT7xBERERERKQPyeFsZBhGBrANuBv4D/AKMAooBa4wTdNmGMZlwGwgHXjMNM0XohOySGjKRUVEREREElu4LaO3AnWdjx8AXjRN80ygCLjCMIzszvKvAucAsw3DGBHhWEXC5lFHXRERERGRhBYyGTUMYzIwBZjXWTQL+KDz8VzgEuB0YJ1pmo2mabYBy4HzIh6tSLjUMioiIiIiktDCaRl9EPhdwPNs0zTbOx9XAfnAeKA6YBtfuUhcuJWNioiIiIgktD7HjBqG8RNgiWmaRYZh+IrtAZtY8LZB2Q/a1Vfep9zcTJKTk8KPNk7y8rLjHcKQFM/3LTMzNSpxqC6Ij+qCBFJ9EB/VBfFRXZBAqg89CzWB0TeAow3DuByYBNiAdsMwMju74+YDZUA5MC5gv3xgQaiT19e3DSjoWMrLy6a6ujneYQxJ8XzfWls7/I+Xm1s4YfTRgz6m6oL4qC5IINUH8VFdEB/VBQl0qNeHvhLxPpNR0zS/73tsGMYdeCcsOg34FvBv4HK8Y0nXANMMw8gBXMBM4NeDC1tk4NwB0+lu218WkWRUREREREQiZyDrjN4L/NIwjLXAaOBN0zTtwG3AEmApcFfAuFKRmAvqI+6xxCsMERERERHpRVjrjAKYpnlHwNNZPbw+B5gz+JBEIiAwG1UuKiIiIiKScAbSMiqS8NwB64wqFxURERERSTxKRmV4ChgzqmRURERERCTxKBmVYSlozKhF6aiIiIiISKJRMirDks3hjHcIIiIiIiLSByWjMiwV7G+IdwgiIiIiItIHJaMSNevN6ridu8XTlYxaNGpURERERCThKBmVqHni/c1xOa/H46E9d0dXgXJREREREZGEo2RUBseR3utLyRP2xjCQLov3xicJFhERERGR8CkZlahJmRifZHT+lm1Bz61qGhURERERSThKRmXYOSw3M94hiIiIiIhICEpGZZA8oTeJIZvDRXKSWkJFRERERBJdcrwDEIkUl9vNtS+8RVJuJclju8otyk1FRERERBKOklEZNnaWl5F2/MYeXlE2KiIiIiKSaNRNV4aN57a81mN5nb0mxpGIiIiIiEgoSkZl2HCk1fZYvrphUWwDERERERGRkJSMyrDQbrfFOwQREREREekHJaMySIkxm+6/1n0e7xBERERERKQflIzK4CTI3EAtjtZ4hyAiIiIiIv2gZFSGPJfbjVlZFu8wRERERESkH5SMypD30oL1JI9VMioiIiIiMpQoGZWoqqxri/o5NljnRP0cIiIiIiISWUpGZZD6nsDomQ93xCgOEREREREZSpSMSlS1eRrjHQIAdpcj3iGIiIiIiEgAJaMSVa3j1sY7BAAeXv9EvEMQEREREZEASkYlqjyWxGiR3N+iCY5ERERERBKJklGJKqer7zGlg7VtX21Ujy8iIiIiItGRHGoDwzAygZeAw4As4C5gFfAKMAooBa4wTdNmGMZlwGwgHXjMNM0XohS3JIwQyaYlusnovO1rvbVSRERERESGlHBaRv8bWGea5gXAd4AHgQeAF03TPBMoAq4wDCO7s/yrwDnAbMMwRkQlakkYoVJNa0ZrVM9faNse1eOLiIiIiEh0hGwZNU3zjYCnk/C2hM4CftVZNhe4Dm9Sus40zUYAwzCWA+cBH0cuXEk4lviePml0ZVjbudt0X0REREREJJGETEZ9DMNYDeQDXweWmqbZ3vlSVWf5eKA6YBdfuUjcuerGxzsEEREREREJEHYyaprmTMMwpgNvAM6Alyx4e2vaD9rFV96r3NxMkpOTwg0hbvLysuMdwpCWEO+fJzJxJMTfIglBdUECqT6Ij+qC+KguSCDVh56FM4HRDKDKNM0S0zQ3GIZhBVoNw8g0TbMNb+tnGVAOjAvYNR9Y0Nex6+vbBh55jOTlZVNd3RzvMIa0xHj/LIOOQ3VBfFQXJJDqg/ioLoiP6oIEOtTrQ1+JeDgTGJ0N/BbAMIzDgGzgI+Bbna9fDswD1gDTDMPI6Zy4aCawdOBhy3CxZLPW+BQRERERkWDhJKNPA/mGYSwFPgSuAe4FfmkYxlpgNPCmaZp24DZgCd4k9K6AcaVyCHvp413xDgFrVmO8QxARERERkQDhzKZrA37Uw0uzeth2DjBn8GHJ0BHGOqIWd/TDCCXJEe8IREREREQkQDgtoyKDkjZ1ZVSOa7O7+rF1nNegERERERGRIEpGJeqsWdEZsP365wXhb+xRVRcRERERSSS6QpeYcLkj21W3scXGsl37wt9B3XRFRERERBKKklGJiZufXhXR493w+HJSjtkS9vZJ2Q0RPb+IiIiIiAyOklEZHEsYExgBNY0dkT1vsp2kkfWRPaaIiIiIiMSMklGJDYt3sqHWDgeLNh7A4Rxct92M6QsiEZWIiIiIiMSJklGJidTJ6wB4Yd5OXvnE5LbnV8c5IhERERERiScloxITSdneLrUbd9cAUFnfTmOLrV/H2FBQTVFFE2bJ4Lvnuj0ePJ6uLsYfLi/kvtc2BJWJiIiIiEj0JMc7ABm6BjRDbrKd5LGlOKuOxB7QVbe0uoVxozJITUnqcTeH083j7271P884o/+nDnTDY8sYm5PBn386g5LKZt5bWug/T28xiIiIiIhI5KhlVAbMO+6zfy2JqcdsIeWIAtJOXoqls6y0qoXbnl/Dw29t7nU/tzuyLZbNbQ4Ky5soLG/ijhfXRvTYIiIiIiISmpJRGTCLP50MX9Iobzdda1oHzY5mAMpqW8HipmB/78uvuD1uUqesInnibiypbQMLuAel1S0RO5aIiIiIiIRP3XQlbpweJwCtriYyTv8UZ8WRwEU9bmtzOUjKbiApu4GUiXtjGKWIiIiIiESDWkZl4PrfMBrEavFWvyp7GQDJ+cXdtnF7PLz6qcm+ssbBnQy4bcXfKGkuHfRxRERERERk8JSMStxYLRY8Hg82h6vXbcziehZsOBA0edFA1XbU8XbBB8GFmjxXRERERCQulIzKwHnAYh14NmfBwqufFbB0c1mv29icbkiygyUyWaPD7YjIcUREREREZHA0ZlQGzObq3zqhB7NgYeGGAySN7n2bZkcjGactwNXYx0b9UNJ8ICLHERERERGRwVHLqAyY2zOAdUYDtNtcYHViHVnf6zZ19moAknLqBnUuERERERFJLGoZlUEY3AxGj727ldTjN/SZaLo9sR3UqSGkIiIiIiKxoWRUBmwg64wGarc5yQjR4hntZHR58zzSTj6ANaONjq3nRPVcIiIiIiLSRd10ZcAG203Xmt1791wfT5TbKvfbd2PNaAMg/eTlg12tRkREREREwqRkVAZsRdGOQe2fdvymkNt4YtxNV0REREREYkPJqAxYvS10y+ZgRbtlVERERERE4kPJqAzY3rZdUT/HYLsC98niit6xRURERESkT0pGZcA80UwUO0VzAiNLRmvUji0iIiIiIn3TbLoyYO4YdKGtdpRF/Jh7GgpJnrCHlEl7In5sEREREREJj5JRGbBYtIza3baIH/ORDU+SMinihxURERERkX4IKxk1DONe4EIgBbgPWAy8AowCSoErTNO0GYZxGTAbSAceM03zhahELQkhFpMLRXXMaA8O/osO1LQyOjuNjDTdtxERERERiaSQY0YNwzgfONU0zbOArwCPAA8AL5qmeSZQBFxhGEZ2Z/lXgXOA2YZhjIhW4BJ/bqKfKDa2Rr5ltC8rStd1nbvFxp+fW83tL6yJaQwiIiIiIoeCcCYwWgF8r/NxI5AKXAR80Fk2F7gEOB1YZ5pmo2mabcBy4LzIhiuJJBZrgMZ6ndG3C9/xP25osQNQ09gR0xhERERERA4FIfsemqbpBFo6n14F/Af4b9M02zvLqoB8YDxQHbCrr1yGKTfRXRrF6XLT2GbDkhrV03TTarORlZYW25OKiIiIiBxiwh4IZxjGt4CrgYvxdsX1seAdamc/aBdfea9yczNJTk4KN4S4ycvLjncICcli6d/24byPgdu8PG87ntQW+nmaQau01zBz0mSabF3Jti8u1QXxUV2QQKoP4qO6ID6qCxJI9aFn4U5gdAlwG/AV0zQbDMNoNgwjs7M7bj5QBpQD4wJ2ywcW9HXc+vq2gUUdQ3l52VRXN8c7jIRkdzr7tX0472PgNssOLMOa09LH1tHR1NRBdXUzDQ1d9bO6ull1QfxUFySQ6oP4qC6Ij+qCBDrU60NfiXjIZNQwjBzgYeAi0zRrO4vnA98C/g1cDswD1gDTOrd3ATOBXw8qckloNofTO79ylLRn7I/ewfvigcLGYtZW78Q7RFpERERERCItnJbR7wO5wJuGYfjKfgq8bBjG7wATeNM0TadhGLcBSwA3cFfAuFIZjuonwrh9UTu8PbU29EZR4eHB9U8AYEk/D09HVpziEBEREREZvsKZwOgZ4JkeXprVw7ZzgDmDD0uGAos7OQYrjcbeswVd1d2S0hFWMupwO3lu6784f9LZnDjGCLm9iIiIiMihLpylXUR65LEMx1T0IMmOXl9qsjfzwd75tDna2Vqzg221O/nn5udjGJyIiIiIyNAV9my6Igdzudwk/lzI0fPqzjlsr91Fh6sDW0es5/wVERERERnalIzKgLnxHNLJaGVLDQC1bY00tR68spGIiIiIiPRFyagMnCc6rYEf71rNvNL3E74TeY3Nm4zura7AZmlO+HhFRERERBKJLp9lwDxO77ouHndkq9GHpe/hsboiesxoak+qxW3tahl1uPu3/qqIiIiIyKFIyagMWOqRuwCwWN0RPvLQmxjJ1ZTrf/zwuqfiGImIiIiIyNCgZFQGLCdpbLxDiDprRitYQ7d0pqZ0fZRKWkqiGZKIiIiIyLCgZFQG7Ni0kwEY4zw+sgdOoIlpUybtJu2k5SG3S8psjUE0IiIiIiLDh5JRGTCPx9ud1pJI2WMUWNPbu5WVtVQEPbd7OmIVjoiIiIjIsKBkVAassXM5E1eYcw3ZXcNn+ZO/rHk43iGIiIiIiAxpSkZlwHY37AWgpr0+rO1v+vShMI8cuQmMjhp5BBcfMStixwNocahLroiIiIjIYCkZlQFLGl3p/f+o6rC2d6aFl7RG0k0zriMtKTUix9pcsYPipv38YemdETmeiIiIiMihLDneAcjQ5azNJ3lMBc6aCSSPLYvYcS0JOAT15S3vsqZmVbzDEBEREREZNtQyKgPmaR/h/b89Pc6RRN9gEtGqtmo+2vMZbk+k12MVERERERm6lIzKwFk6x3Z6ItOU6XFHpzqeNeH0qBzXx10zqc/X71n5dz4u+YxF+9ZHNQ4RERERkaFEyagMXoSS0Ygd5yCj0nKiclwft6f3CZc8Hg8uiwOA4qrYj5kVEREREUlUSkZl4CLcMmpJclHctD8ixwK4/tSrI3asviTnHehW9vHqYto6nLy9aam/bFf7xpjEIyIiIiIyFCgZlUGI3BIsPveveyxix5o8+viIHau/5izbzl9fXc+i2o/9ZS3UAlDdVsctS+5jW1VBvMKTIaqqvo05C/dgd4S5uK9IAntrwR5mP7kCtzvyvyUiIjI0KBmVgetsGbUMgWr055k3xvR8GV9aRFXOCrB2Txpe3jCPBmctz2z5FwAfblvBg4tfj2l8MjQ99OYmPl5dwqKN3VvjRYaa+WtKqGnsoN3ujHcoIsOSze7imQ+3U1zRHO9QRHqV+FmEJCxLZzJqTcS1WA6Sn3VYj+Vj0sZE7ZzJY8q7lS3cvpvdZd4WUpfVhtvtYX7V+xS6NmFWl/ChuRhPH2NQ5dBW3dABQJtNF+8yfPTnK++NL3bzz/e2Ri8YkRjzeDzUN9v6tU9tYwcOZ+gZ+hdvOsCq7ZXc++qhOYGiy61VDIYCJaMSlrYOOw3NHTic3Vv6rJbEq0ZWd0q3sl9PuzLo+aVHX8LPT/5hrEIC4O3KZ4PWZH1nw0r/439seZz5B+axsnhbTGMSEekvu8NFQ0v/LqAj4dO1+1lnVrN2VxU3P72SlnZHzGMQGayWdgd/e3U9Zkk97y7Zx41PLGfL3tqw9m1stXPTkyu49189J5h7DzTy9zmbaetwYu9MWMNJXIebdpuTq+9fxPMf7RjwMd5asIffProUp+vQe/9iKTneAUjiq2hq4O519waVnZ3xbX83XavFSqJ9TM/J/Uq3spPGTuH6U69mfNZh5KSN9Jdff+rVPLbP2mPJAAAgAElEQVTp2ViG57eocS50Niz7Gpg3FVZw9lEnxyUeGRqGQm+E/thRVEdZTSv/NePweIciYbrl2dXUNnXw1I0XkJqSFJVzrNhWzpqdVfzmO9OwWoPr/JPve2/arTOrmHXqxKicfyjzeDxYhuD3hNvjGXbfbz1ZsL6UgtJG7nt9I5lp3kvxrftqmXZs6N5adU3eHjLFld6ut8/P20Fdk42bfvglAP722gZcbg8LNpRGKfqhobK+DYDl2yq46tKpAzrG/DUlADS12hk9Mr3HbbYX1rFqRwVXfn3KIVF3oyHxmrQkYbQ52thas6NbIgqwov19rNl1AN0uEhJBsrXni6PJo48PSkR9ZXFj6d4/bXPlrm5lbo+bgvq9ON3qnildNy6Giwff2MTrn+8+JO/eD1Z5bSuF5U0xP29t5wVxRxQn03ruo51s2VtLWW1r7xv1c1SD2+1hyeYymtrsgwsuge0srueq+xaybV94LW2JwuPxcPV9C/n7nM3xDqVPlfVt7CqO3FJt/u/zMOpyu83ZrTfA8q0V7AyIx9U5IZjv/1gOze9VC5H7oexrKMFDb25i+dYK9h5ojNj5DjVqGZVe3bT0jj5ft2a2eB+k9XGhECfjx2bFO4QBs46ox2Z3kZbalVA/t+U1NtduJSMpgwcvuDOO0UlCGG7ZaCeNl+6/W55dDcALf7wozpH0nyW9BUt6W+gN+6gW/a0xy7eW89LHuzhuSw5/+t/T+rn30DBvZREAc5cXctIx0ZsXIRo8EHZ31Xi5+elVADxz0yySkwbYptPDV7gnjNp87SNLwj6Fx+OhyV1Pxumf4th/PDD0viMSgyesfxv9fA2cWkalR+3O9rC3tVgT765bRtrAuo3dMP3XEY6k/6yZLVz30hvY7N4WhzX7t7O51jthR7ur+7+L29P7+99sb6GwsSQ6gUrcJGBnhIjQb/mhJX3aMtJO2ECHs6PP7fqsF/28Aqxu9J5rb9nwbcXwfz3oAxVVg0k+Ar/Cvd2pw0l3uiSNKcPSW0NASgdJ44pxe9xUuQu9RYfvHmioQ5bL4yRt2mKS8/cN+BgpR20j44xPcLr66pXmAat6rQ1GWC2jhmGcBMwFHjFN83HDMMYBrwCjgFLgCtM0bYZhXAbMBtKBx0zTfCFKcUuU/X7J7WFvm0QKQ30KiWtPuYotNTs4JufIeIcCQOpxm2lsu5xxqRm8vPvlXrd7dcc7rKxYzZ/OuIHqthrsbgdn5E/3v/7HZXcBcO85t3brnixDj3VEPcmTCrB7xsc7lOjQxfMhydXHDTUIbjFPnrAHS6oNR9GJ3teiGtnQ5BsrqvcmcTlxkHLsJpzlR+Me1UbGyZtpcXwLMELua0lrJfXYLZ3Pvol1ZA2W5K6rsLQT1mPNaqbc0/MqAoeKWns11vR2rEcMfE335HHecbetzlYgu8dtUo7dTPKYCjpcJ+FNi6S/QraMGoaRBTwGfBFQ/ADwommaZwJFwBWGYWR3ln8VOAeYbRjGiIhHLANS29rIDZ/dzfxdayJ+7FTH6IgfM9amjjH4gXFZRMcYDJath1bQg62s8HbRu3fNIzy77V+8vOMNAOYXLWBd5Sb/dg+sfaJbF8hPihby7u55EYxYoi11ymqSRtZT7ByeS1v0r21ADkUpk/aQPG4/lsxGUo7ahssdvTGrQ5XH4sKaU43bM7TeGw+AxUVgGt1hd1JWk3hDgQarxLWN5DEVpE1Zg2f8dgBqrHvC2zk5uBUubfI6Uo/rGmdrzfJObNThaYlMsENWBMeM9vFa8pgKAOocid29PJGF003XBnwdKAsomwV80Pl4LnAJcDqwzjTNRtM024DlwHmRC1UG47l172FPaubDsrf57Rd3cO2C2fxjw7NUtFZ227axo39f/EnDaPyaxWLhphnX8Y2jL453KKwtKaCuvaFb+dvbP+9zP4/Hw4f75vPi9tf9ZfX2ekqbg9c9/WDfx3yxf3Fkgj1I4ERLLfbWbheMBfV7KKgP84dX/Cz+mZeHz2cO8F6AJts15mYISR6/l7SpK/GEaNUcDGtuBSnHbupxLHH6SStJHldKqWPgrR7DjcPloKK1kvrM7aQZ62nJicwyYVVt1Ty47omof2d7PB4yTv+MtBO7ljy786V13Prc6n6vwxlNSeNKSDlmy4DHuBc1lVDg9I47tSR1/TaGc7Tk/EJSJoVX5w/1r9NY/0paE6gxY6gJmYyapuk0TfPgJprsgLIqIB8YD1QHbOMrlzjbW1tGiatrnSWHxTthREHDbu5e/ZC/fE2xyR8+e4Q/zH+0X8e3WhNv6PHRI48Y8L5HjTyCrydAMvpF/bv8eWX3mYwXVn7Ks6s/4EBNc4/7uXq5G779wH4+2b2c3y28neq2gd3B83g82Fx9z0K5t6GI/1v0J+YXLaDd2c4flt3JQxv+6X+9orWKf2x8hn9sfKZf595UtZV5hZ8NKO7hJpFa8CMh/ZQlZExf0Of4Z+mZJasBa0516A0jLOXw3VhHNNIeYrznYKQdv4nkMRXU2Gp63cbp6d9YrQ5PC2nTFsf8Pattr6ekKfJLbbQ52qlp985s/9im57h79UM0pe0FwJ7W+/vW03HuWf0Qy8tWd0uy3t79IYVNxfxj4zN8Wryw235ba3YMODGrba/jd4tvZUPVFn/PCGtW1+zQlXXe6xVfMhp4nhZH64DOu7t+L6/tnDPg75vUo3aQPLYsqO65PW4qWiv98RxoKWdLxU4AttbsoNHW9Xv9yPqngg/oG2/o8c7X8fKONyhrqQjapLCxmPqOBlKOMEnKCff3O/z3psXRyoGW8tAbDiE93bStbKumorWq/wcLo55ZhutkDjEw0Nl0A69GvSOvg8sCy3uVm5tJcnJ01ieLpLy8nvuJJzq708GP3/lNyO3qXA3kjEjn5b3PQxIk9XNoYVpKYk3K/Pp3HyM5KfYxJZOKs9vHIDo2tS5j05ZlPb72kbmqx/IPy9/xP75j1X3+x1kjU/jZ+zdwzoRz+L/zftxtP6fLybYqk5PGGfzx0/soaSrl1gt+w0njDKxWK+XNVWSlZDAy3fs5uWGRd83WD/fN59xjZwBQ3LTf/zl6dHNXEpqXl82KknWsL9vK9Wde2eff/OyCfwHw09MvS4iWwXh+L6SlpfR5/nUHtnD/sif5+9duZ8LIxL8naEn1Xmjmjs4iJ6vntdwG40BTBTnp2YxIjd4s2/GqD+knruo8///r8XW3201BbSHHjTmq1yWvBmPMmBHk5Q7ub8/NzSJvdO/HGDkyo9f3NzUtuV/vfXWSiTW9nZTj1/f6ng1WT/Fc++ZsAN76/pNhH8fpcnLfsn9y8bHnc8akU4GuZKzR1ozb4+amD7zzO/zz0r+wt9E7WY0rqbOtwBK6Xm6r3EWLvY1WexvlrZW8vusdXt/1DsnWZJxuJy9e9hBNHV03HFaUr2HyhKOZPPZYslIzuX3BM+ys3sPsc3/FjImn9Ht90y+2LsTmsvPC9td44Cu3+ssPjjs3N5O8vGx++587yMsazTeNi7ln6aN898Rv8L2TLgWgoGYfT699ldGZo7h25s8Yld7zxcy1C54GYNbxMzl1/Ilhx3qwsWNHkJXm/b668eO72N9UzqUnfJmffOm7XLvA++/9t4tv5qktL5GZksFLlz8M9HADpfPtsiU3srRqJWsqNrCnoZCnvuW9Gf3sutf5bO/SHmNIyuq6+ZyXlx3UC8lmbcaTlAqurtftLgdlTRUclRu8prOvfr58+SM021oYmzWapo5mRmXkDOCd6T+Px8Nne5fypfEnkpfVNQN0Qc0+UpNSOSp3Ur+PmdOY0fU4N41dNXu5Z5W3saU/n0OAkaMyQ36WcrJDbzNU84loG+gVe7NhGJmd3XHz8XbhLQfGBWyTDyzo6yD19WFM6R5neXnZVFf33AKV6O5f+HrojYBbv7gfS/LAZwJzuxOrM0h9XfgzAUfKnWf9kbEZ3rGzvh+hePms/IPQGwX4zTsPQBIsL1tO40cOfj3zuwCsKd9IcVMpbpeFJRVLuGD8+f47+/csfpS89DzOn3AO7+x7H4AnLrofALu7ayKFFbu6WuR9nyOztqur1+7SUv6+8nkAvjbpK90mWSpsLOHF7a/zy2k/9Zet2r2V43KP7tffGGl9fS/YXHZaHa2MTs8d0LG9d9irGJ91WK8XdQ67q8/vpfuXeX9of/vxnf5/l57UdzSwcP8yTs+fzqQR44POV9VWQ2FjMTPHx275i7raFuxtkZ0Ozeay87vF3uWQ+novBiPc3wlfIhGNmynbivcxOj0Xh8tOWlIaLY42Fpcux2qx8HHRF3zlyAv51rFfC9qnsLGY0emjyUkb+AXSH7+4i4cuuCuorMXeisvj8n+e3R43VkvvPWjuXvIAp+SdSIfLxneP/ybpycE3JJqbOiguqyIzJaPbvrYOR79+o+0Ob2uYxUK/f9s/K17EpOwJTBl9Qq/b9FQXAhOE/pzz5mV302RvZnPFTn/dvWX5X8jLGMPuhuAZQq/56JZu+3s8nh7Pt7VmB7lpo5iUPYG7Fv0DgG8e8c2gbXxDLa5878ag8uq2Wu5b+k/GZozh9jNvYme19/t80e51tDQ7+Ofm57ly6g9ZVLqC7xz/TcZnHUajrZHDssbRk+KyBn+shWVdrYFdcbshxUFdfSvVGcmUNVdS1lzJ5s5Wx7e3z+PCwy7A7rJz6+IHANjfVM4v5v6B3592LUf3MSnh3C0LuX/ZU9w28yZGp4/q9+eypLyaJmcDS0pXsr/J26r4UcEXnJ13ln+bZbu9YznbHO0h/+1b3PWs2+39d63rqKesoo6q9ppeE1GAX314s//xT97+LdeccpX/eZmzAAIu7Z5Y/iq17bVsq93FYZnjuGH6r/hw3ydBrcs/ffeGoOP/4uSfcEreSf7n7c4OXtr+Opcc9WWOyTkSl9tFUsBNrttW/JXMlEz+ePr/dYt1V91uslNHUN/RwNQxBlaLlTZHO3N2z2XSiAm8u+cjslNG8LfzbvPvc+sC779pON/ddpcDq8VCsjUZt8dNU1PXTZRfzP0jbQGrRFRXe2/mLNq/jGl5JzI2o+8lkOabn9Nhm8l/ij7n6JFHcMlR3ZfJaW219flvnJeXzYZ9u1hTsYETx0ympKmULx9xftD7N5z1lYgPNBmdD3wL+DdwOTAPWANMMwwjB+99mJlA/NfJOEQ121so9mwKvSEMKhEFSBqmXRN+YFzGG+Z7vb6emzaKepv3h9SXiB5cPhQ0JXUNB9/WuoZl287k3JMm8fLOfwdtt7g8eH2z6o5qfyLam7Ka4BsD22t2BT2/Zflf/I8rG5oZOS4bDx6a7S3kpI3kpW1vUWur47XtXed5ZOOT/Mj4Dk32FvY1FXHViVdgc9mZV/gZXz/6v8hOGdHty73V0UZaUirJ1p6/8vY1FrOhajOXH3cpVouVeYWfMTZ9dFiJWH1HA5+VLOLrR1/MiJQs7lr1AA22Rh6+4B7SklL73HfR/uWsr9rMDdN/5b9Y/2DvfD4rWcRPpny/1/NbOrddfmA1BQ17+dnUH/Z5IdXh7OCOlfdz8tgpXDHlf/zlL27/N3sbC/li/xJ+POV7nDV+hv+1O1d5f/wPz57IhBGxaV09+LZWf5K3dmcHC0qWcP6ks8lO7Zo7r6dx8T4bqrawrWYnP5n6/QHF69Nib6XR1hwyqbtr1QNUtdfw62lXctLYKSGPW9pcRoujlcmjjw+57V2rHgh6PmnEBEpbuj7bnxYvZGJWPjPyvwR4PxMPrn+CZEsSD15wN0WNJRw76qg+k8aedLiCu+m6PW7+sMyb/P9u+jU83NlF/8Hz76Kuo54GWxNjM0YHfTbqbPUsLPX29BibMYavHnSht7RqEc/v3cmNp13T7fz9vRU6kF+rwsYS1lSsZ8kB71hG34XxqvJ1tDha+a8jLgDg3d0f8cWCJTx8wT0UNhbzZsF7/ObUX7ChakvQ8TweD+/v/Q/Txp7IsaOO6vW8TfbgC9uK1ioabI002MJblsaZVhf0fF3lJo7MPpyntrwEwOXHXep/bXXZxrCO6VPTXsv1C//of76mch1barwTq724w/vb8eTmF8hMyaC6vZYfGJdz3sQzsbvsbK3Zwdy9H/O1oy9mfUNXT54ntj7rf1zSVMrSA6vIOMM76WK781Sg51a6j/Z9ysdF3edSWLx/FVtqdnDR4eeRnTqCBlujv0szwPYG78RBr+x4kz2N+7j+1KuDPmsf7vuE+UVf8MgFfyE1KaXb8Z/c+hwVbd27fP5p+T3+xxvKt/sfv7bzbb5nfLvHvwHA7nBxwNo1HvS3i7vfYOhLh8vG3roDvb6+uHS5/3FlW5V/tv2+vLdnHqfknUSDrZFXdrxJWUsFzY4WttXu4oJJ57C4dDn3nXc7I1K8vU5qO+qp7ainoH4vJ+QeC0CDrZHCxhKe2/Yv/3F9v2+fFS9mTcUG1rABgGZHz5MufVa8iIuPnNX73+7s4MYlt5FiTea8iWexYP9Szhg70/9620HLFS4pXUFVWw0LS5fxzp6PuO+820lLSiOll2uE1TWrWV3jnTBya80Opow5gR21BcwMWL2g1emN/R8bniYnbSQ/O/GHgPfz7sGDx+Phb2u9N38W7PfeYEhPTmf6YdN4u+ADvnbUl8lKzaKspZwTco/zHzcw4be7HEF1sdHWzP7m0rB+TxJZyGTUMIzTgIeAowCHYRjfBa4AXjMM43eACbxpmqbTMIzbgCWAG7irh7GmEgN/XfY0pfa9MTtfIo4ZjYTzJp5FZnImL2x/rcfXkyxWHjr/bqwHXSjfffbNXLfwD7EIMSr+XfUoKxed0u/9iqrqGJGeFlS2tv1j/+Mn173Otqbeb5C8vH0ODdu7Lp6/edQ3qLF5f+iLWwuDtn3d7OpyvLBkJUVNJWyr2862ml002hv53gnf5oJJZ+Nyu6jtqOfOVfeTnTqCbxx9MWfmzyAlKYWa9jrsLjsTRuTz0PonAJg29kSOG3U0/+kcm9pXMlrVVsOIlExe3v4Guxv34XA5uWLKd/0XijanjbSkVDZWbWXiiHzGZebRYGvkqc0vcu2p/4/s1BHM2T0XgJr2OsZljgVgRdlaAHbU7O71/L4653sfvnfCt1lZvhYj9zgOz54YtO3OugLe2f0hzY4WVpSv5X9O+Lb/x8zXrQ9gfdm2oGTUp7a1ecDJqMfjoaS51J8YFTXt54JJZ/e6fX1HA+tr9nD+pLOwWqz+z9FFh5/HBZPO7vPu9Uf7PmFR6XJKmg/w61O6uny3dnS1tHY4O1hVvp4zx59GenI6z297FYCLj5zF+KyBL4Pw8/d+D/R89z6wVbCq3TuG78ktL4Z1p/+va//e63FDCUxEfV7c8W8mjzmBO1bex7kTzgTA6XHx+KZn2dNQyI+M73DORO8FXFVbDZVtVZw8dqp//966YB5oKScrJZOc1JEsKe2afObhgLHiD657vMcL94Ptqd3P59bFnBrQGlPQ7G0F21S5o9v2He4WWuytUe2C/eD6x4Oe+8Ya/mvnWwD+ZPSL/d4bdm8VvM+q8nWA96KzurXr5uTWmh2kWFP4vGQxn5cs5twJZ/LDyZcD3vd38YEVLChZymGZeUHnXH5gddD3XrjeNN/ntMNOYWTqiKBJ7QDe3fOR/3GVc/DjWTtcwZMMtTrbaHV6e8C9Yb7L0gMrg8Ylvtr5/vXkvnXBc1esqVvB5l7mVuwpEQVYW7UegPKWKmbkn9Lt7/fZ0+htjXxs07NBn7X5RV/4/3/h4eeyrXZXUPIRTn0usxX7H68oX8Ouut4ngbKmDX789dyiuYM+RqDq9loK6vewoGQ55kETWPmS2z8svTPouwNg7p753HT6tYD3RtnBc02Y1SWckT+dfRXBN0wA7l79EL8/7VoyAnpIvL/3P0HJ6Laanbxhvsf0w6aRnpTOvMJPAXC4nf5Eb01n8tiTNwuCb6T/Yan3BtrtZ872/xa3OXrvvXnfWm/9/HDffH/Ze/vf4r+On0FBg/f625eMPr31JbbW7OS2Wd1bi98seI+99ftZV72RfQ37qe0cH3/q2JO4etpPWFCyhHf2fMRp407hqJwjeGf3h1x8xCy+fdzXAbh3zd9pcTTz06k/CFrWb6gJmYyaprke7+y5B+tWZprmHGDOoKOSAatsrY5pIgrxbRk9Z8JMlpf1/oUzWNPHTaPJ3szYjNFcOPkM9h4o50/L7wa8d+TTk9O67WOxWPjOcZfyTsAP/VBT5N4ceqODPLDtb32+3lciCtBA8MXzh0XhLTvzUVFXwtto9yaCbxW8z+TRxwe1FjXbW3jDfI+t1bu45tQruX2lN97ZM673b1PT1MKjG7u6PR2spKmUcZl5OF0Z3LnqflKtqThcLrBAYWUdBNycrGtux2q1+u8G//zEK/w3Nv647K6gix67w8WehkI+KVrYuZ4ZrNpZgdvyGgdayrntzN8HXcQ1OmuDJqHaU1fCe3u879fBicvjm54Let7usPHQ+n9y/sQzg8q37m2AHnLfp7Y/ywOj76TB1shbBe/z4yn/E7JLk8+aig28svNNzh5/OivKvUn2tLFTyU3veS22+zZ6J1Sbs3sut838vb98wf6l7KrbzS0zf9fruQoqvF38ttXuZOmBVZw38UzvHemAOUreMN9jbeVGPi1ewPeNy/zl96x+iEuOvIhzJ85kdHou7c52NlRu4fT86T22iIC31WRkarb/xkVPVpev55WdbzJ1jMFPp/6g1+3WVWzkyJFHkJc5hvWVm1m4fym/CkioHS4HdreDrJTMXo8RLt9F12cli/xlexq8NyUWlqzknIkzcbld/pbx302/hmNHHUWLo5V7Vz/CpOwJXHPKz4OOee+aR/yP81N6njwunAt3gJ2N29nZuN1fnwOtK+uejBY41vGHZev89d7msvPi9tf4ryNmcdyoHrrzWyx9Nqe2Ozt4ftur/O+U7zEiJavHLnQ3L7s7qMtwg62R1oALV18iCl0tID6+VkmfZWWr+OHky9lRW8DC/UvYUedtGavtCL5IH0giCrDkwAqWHFjBxKwJA9o/kgYzQc76uoH/zm+t3c7W2u2hNwRe3/U2P5r83aDJjT4pXsD2mgJKW0v7TKDDUWfrnnwlun9sfIZkT1qf3QpeN9/hzICbmUXNxawqX8eZ42f0OOnh6pqVFK3eQ5vN2u24Fa2V/H7Jbd322Vy9jYmdNzaf3foKAF+ULOm23WC8v+sLfjHd21PmluXdJ5AMxe7quvlZ2VZNdkoWW2u8N9N8XeIPtq7a+31R19rsz8o21WxjRckm/3Xk+qrNrK/yXpd9VrKIs8bPYH3VZloc3t4TL+94Y3gnozJ01LW0cteaB0JvGGFJ/ezWFUmBYx1GpeVw2rj+t+j1xWKxcOHh5/ofB3fD6/2K5sLDz2NfUwkbD+qeJbFzcLdFn+11O4NmAL1/3WP+x3Ut7b2udXmgpdx/t35kmrcbqN1t9/+QltYFd82utlXhaerqvt1bCzuA0+XhkU3BEypY01vZUNWVoG8tLfE/rumoDZqEak9ZV2L60rY3ej0PwI6qQkpbDnS7uE0eXU5x034Oz57I3oaioNe2VO9kwf6lHGg9wJu75nLtl7zJyNNbXmZLzXYeu/BvPXbvfGXnmwD+RBTgic0vcPLYKawoW8OdZ/2xxxs6AOsqgpelqGoNvohrsDWSnTKCRnsTb5rvU+bsugn3hvku6ys3UdlWHdTVcW2ltytio72ZZzovZnw+KV7AJ8ULuPy4S9nXsJ9NNZtZU7GR/5v+C6wWKx6Ph3WVmzgh9zj/DamDfbTvU47JOZJjco6k2d7q//t31Jr+JPBgW2t2+Ls1PnHR/f56Eri9r7veMVnHk55m5ZwJZ9Bga/K3rEdKeXsZbo+bV3e+7S97eMM/OXnsFP8FVWNtU59JRYWjpNfXBqvRHTqhXV2+nq01O9las5PvHv/fXHj4uawoW8Nru95m9ozrcXi6OmztrCvg48LPOXXcyVx0uHclOt9FsK+rZU+t0i2OVlocXc10gcMNBmJj1dagLozRcKC1e0u5dLe8bA3Ly9YwdfTkoPLS1sjPhDyUOC2hl9b5zaLgG7n/2vlW0OfkYJVt1f3qN3/wd3Y0bG5Yz+LSw/m46HPv73s/3RDQtbq3a5DeeJKD3+PX9vQ+78tdqx/sX2AJTsnoMOBwurj5w5dozzHjcv54tYzmpGYHJQ6/P+3aXltcImlm/mmsrljf51gli8XCVSdewXWdyWhu2qgh3313OOnprivAx5XvBj3vcNpYXbGeM/Kn88b2rpbuJlv3cS1Jo2qYu6ery85L5it8I//ysOLpaTke64iucWEf7PmE1fsLoLORpj05eFmKBfVdScnaqg19nuvTol7WlrV6uH/dY+Slj6O6I/iif1XxdsraysECO+p3Ud/RwKi0HLbUeFsbfGPHektKA5W3VlDe6m3FvHHJn3uc6ALgP8Xzg547XW5cbhdWi5X5RV/wUWe3rN4cPMFLuAK7Lu5p3McL217nyhN/yPYak5d2/LuPPbu6C45IzqbF2fdkJW2ONv6y6h80OOr9ZfUdfY8139e6G1phR130vusDxwH6+BJRn8CW0ERTUtW1LMjbuz/g5LFTeG2XN7kOvPEEXb0G9jYWcdHh57GlOrzWs0iLdiIq/bejblfojSSknno4JLq3CvqeC0MiT8noMLCqsCBuiSjEZ8zoGfnT+eqRF/FpZ1ezUWk5MUlEoWuNx1Drm1ksFp646H4cbme3QfFXTP6u/wJJEtcLG99le/PGsH+cPi0JnkB8XsW7vWwZrLSm7wlJPin5wp+IDlaVs++Wq4MTUYDd7VuD7mDfuuJeTh/XvUvQrup9TB3nnXghcAbRvvgmdAgpyclvFt3MSaOnsq2ue3fNaNlYvYWNi7aQTN+TUQUKlYgC3LT0jm5lf135RH9CkwDVrfU4PDb/+FKfupbeW2YCVbXV8PTWl7uVP7rh2R62FvsNn3EAACAASURBVBGRSFEyOgysLt0WeqMoikfLqG/81bkTZrKqfF23JQuiqvPP7a0758ECE9HbzrwJp9vJhKx8JaNDwPamTQObfjMMgUsAvXXgpeicJIp6aoGdt3chU8cdR1N7GzevvCMq541lIhooFmsIt3rCmyVVurtj9V97LG+zhbdUkG+M7MHMht0DjklEREJTMjrE2Z1OCj1rQ28YRUlJVu/8yTEyKbNrseajc44Mq2tgJFkGkZ0EzpD462lX8uSWF4NeP2/iWSw9sPLg3SReLIm1hm6iK2rfHfd1dkUCPVvwdLxDEBGRPigZDUNtWwPN9laOGjUx9MYxtre69zX0YiWpHwtFe9xWLNbBZa4pycGJZywTUehqKAvVTTeUk8ZO4e+z7qXV0Up2ygia7M3kpo+KeDKaZEnqcUyiiIiIiEg8Dc8FIiPstlX38sCGMMc1xdD+hkoe3xn/uPozZtTjSMXjCH/sVU+Ozul56YBY6Vpnb/CtZinWZEal5ZBkTfKPeb3zrOAJRCZk5TMqLXix73vO/lPY53j0wr/ypzNuGHSsIiIiIiKRpJbRIerPCx6ljsSYajy5v2NGB5HD/WTK9/nSuGkDP0AEjE7PBSA/67CoHH9sxmgev/A+XB4XNe115GeNA4LHGKYm9S+hnzhifLeySZ3rdYmIiIiIxINaRvvBGebskNF07YLZXLtgdtwT0alpZ/kfJ/WjZdRi8WBNHng33ZnjT+t1EfpY+fLh53PZcd/gyhN/FLVzWCwWkq3J/kQU4Kzxp/sfZ6VkcvLYqf7yVGtKv9dYnXHYqf3aftakc/q1vYiIiIhIX9Qy2g8Op4vk1Aitr9AHt8eNBUtAd1Bwudy8vWFV/w/mTIPk0IsV99cFx5zKjp3esY39nU3X8//bu/PwqOp78ePvWZOZZLLvIRuBfEkIIZCwb0kUUbGugAviUsUV1IsLWhQKKiJirVdpb6u/2uXXWlt7W62K1kfrhloUBVT0iCwurGGHBLLN3D8mczKTzEwWJpNAPq/nyfOcc+bMOd+ZfOec8/muxsaQpyecLCYLp2dPCvt5y1NL+WBny2BVN5RcpS/PHDQNg8FA0U7Fqm1vcEfZzXx/ZDsOq0PfJ9mWSPWxffr68JQSXti8qsOjAptbTU+TGJnAvuP7O/Te8/PP5h+bX+nQvkIIIYQQom+QYLQT1v2wlTH9Vaff19DUgAv3VCDPf/0iKj6f8rRhAff3TDq+sqplqPlb3m47EXlHOJsMGLvhv2wzR+rLJlNnKthldNKuMgUZqMlTcDE6vZzR6eUAFCX65tXby25m66FvKUkejMvlwmAw8ETlMnbU7GJXzW4SIhN47uu/8/2R7X7PkRiZoC+PTi9nXMYoHl3bsXkRJ+dUdCoYTYpMYIY6n1+s/02H39PazEHT+eNXf+3y+4UQQgghTgYHamqJj7L3dDK6RJrpdoKxE6PGerhcLm57ewH/9fYC7nn3Ad7fuYZnNj7L+1u+YPuRnbz+7Vu4XC4O19az//BxvjvQMjpuk7OJxiYnD73wavCT7M/EWevw/5qrGyZJbDL7jGDbqe8l/FOSnjKMhhOrlXdYoylJHgy0BK8Gg4HM6HTKUkvJi83m7hG3+n3v5OwKxmWMZETqcCJNkUzJqSQvJpupeZPJj82lPLXUp6bWY3zmaOaWzgbgnLwzmJDZ0rz78YqlDEsp0Zs7pzf3wS1NLmbx2LsZnDgo6Of5r+E3Bn3dGqQUpjR5iE9hT3dZWbW8W8/jXSgkhDfvZv1CCCFOba9+1YXWk72E1Ix2SucjqcfWtMwjWec8ri//cdvvYJt7+R+bX8FZ48AYdcTnvbe8dY97IUCc6VGcl0iJ7UL+tOuJNq+ZjaaQTwFqdyVS39ByVIupM0GS1Ix2VbgDj9vLbibWGkOiLV7fdtXgS3z2OTtvMmfnTdbXvQOvmoZaoiwtpXRn5Z0OwIc7P6bR2YjZaOba4suBjvVfjYuI5WDdIaIsdu4om0OKPYnrhlzBrz/7vd/9h6WU8MzGZ/2+Nm3gj9o938lgcnYFH+9ex46aXWE/d+t5cidnV/D6d2+12e/a4lk8/fkfwpiyk9+VRZfwu41/1tefrHyYOf+e73ffaEsURxtq9PWHxy+iyeUkNsLh06y/o8I5FdSjE5dw+zsL/b7WPzaH28tubjNv7dVFlwb8XZ/MHNZo+sfksH7vFyE53uziWTzl9bszYOhwl4xgPPN6y3zCnRNrjeFQ/WF9/Zriy/l/n///kB0/LyabrYe/O6FjrKxaLv/Xk1h0bM+Pa9NVUjPaCa9ter9T+++vPczmmq86tG/rQLQzXC4YV5Tl9zVDN1RFXlVyIfbIltFcjZ3pM2qAxuquzdc60atWrS/KiE7jggFTmT/ilrCcr39sjk8g2lnegai3FRMX81jFg5061jXFl/PguAWsrFrO8gk/JcWeBEBxYqHf/WcVzsBkNGE1+h/syjONTmedn3828RFxzBp6UZfe39qg+IEn9P4zcipZMGoed5bPoTR5CEvH3ac3027t8Yql+vL5+Wfry/mxuX73n15wXtBzR7Qa0XlgfP82+yRGxtM/Nkdf94xE3R2CHTvJq4l5uBQltDST/1H/M/XllVXL270u5zj66ctpUak+4wcAFHu1GvA+1jl5ZxBtjSI2wrcE81J1YcBzLRg5z2c90O+2o35esZRHJixus708tZSxrWprLQF+n0DAUdOjrdEnlL4TEWGyBh0v4IrCi/nTtLaFwlO9CuwCuVRdyHUlV55Q+u4sn6Mvl6YM8cl3I9OGn9CxPdqb17uj04jNHDQ94Gs2cyRzS2frrWo6amLmGBaNvov82Lw2r5WlDG23pYr3dTGY+0bd7vc4Y9NHBnzPA+N8p2Nrff306N/qenxX+Vyf3/vScff6fd8d5XN80hTsN+85v7/r0IKR85hbOpuVVctZNLr9wLS7Wv6c65V3uyJQy5D4iDj+u+IhVPwAAB4af98Jnac3yYzpnhkewkGC0U7YbQ5cYlnX2MCvXl3Dl99Vc/Ob87n5zbu478MHuiUdDdvzfdadQQs7Qx+MDkrO8Wma25nRdE+kZrSfI6PL7z1VnJ49iWyvB9WTkdloxhKijswmo0l/wLh12PUsGn0XK6uW6wHZwxMWsXD0nVT2G8/AOHewVNB8EwJYNr6lVubiggu4yKvGdEmr+V6fqFzG5JwKHhj3E8ZltwR8I9OGMzVvMtcNucJnf+/PWBCXz/iMUcwcNI1RaWX6ecZljurQ57QYLVxccL7PtuLEQj1IyY3JZvaQWcRGOJhVOIMUW5K+36D4gSwcdQdmo5lIUyQGDEzOqdBfn1d2E/eNur3NOdsbPdnp8v0t+xttfEhSESav5uVVWROCHjOQ4R2Yzinb0VLI9dikB3my8mEembCY64ZcwQ1Dr+7QeUqSBndov0Wj7+LBcQv0Qb1++aOlLB4zn9nFs/R9bvQ6p9no23qkvRoqk9f+d5XPbfP6tIEtBQWeYL80uVhvfeAxNn0khQkFQQMRR6vgLtWe3GYf7+82mAmZY7AYzdgtNp/tVVkTuHrwZcws9A1AWgfZ3pyutm16HJZon3tPe4GR94PyY5Me9FkfnVauXzs8fw+OWxD0eD+b9ACDE/2PG7Gyajmj0sswm9pe2zKj2793WY3u4KR1wcnD4xcFfZ/3/SA3xncO7qqs8fpyjLWdJlZApdf+Ff3G8dD4+1g85m5Oy57Y7nvB/Xv3N42YP61/E95WTFzCoISBQdNsNpiYmDmWc/LO8NpqIMWe5NOCx/N9eue1QIVBLperQ83bm1rlTU8+HJVexrzhN/kNNI0Go14YMyqtLGBB5LzhN7J4zN2UpQxlaNJgcmKyGNB87ypLGUpsREy76bMaLUE/x7SB57J03L2smLhE3zYqrQxwF3oPSnCnLdg4FR1xRk4lSbbEgK/PKpzhd/vMQdP12QK6atrAc/1uv3TQhZiMJuaUXsuy8QuD5rHWhWXRlijuKJsTYO/Q8C5ICVa40dqw5CEduk/2VtJMtx0uV/vBk9PpZN47C8AKG77p3vTcPOBOXrK8zLcN3ucPlsbQB6Mmk9HnRtLZ0XTTEuzs7eC+S0bdiz3Cwpf7N1GaXNyp84i+pSA+v802q8lKqj2ZaQXuG9M3B7fSz+vB0GGNblOyW5U1QR/gqSRpMBv2fsEFA6b6PPgm2OOYN/wmXLgYENdy8/Acq6lVYHbr8Ov15bEZ7hvM6LRy7BYb5iFXYjPbsJosvL/zI97b/iEGDNw2/AaSbAlEmKxYjVZMRhMT+43l871fsu3w95zT/wwCWTj6Tg7XH2nz4LJ8wiKczYFQQfwAapqbd6ZFpfLIhMU89dnviY2I5bRs36BxTum1fHNgC69++6a+Lcnm+9CcH5fbJh0GDFi8pmLynpbJbDRzR9kcln30c31bqj2F3bV7mFFwPofqDvNa8/nyYnPIjE7nn1te44IBU/n7Ny+3Odf4zNGsq/7c5zx2i42hzdeNm4Zewz83r+KsvMloB75h7e51Ps1bn6x8GIA/a//L0ORith7+jle2vt7mPIBeM79i4hJcLheJ9nicNjNJtkSuKLyYGKsDo8HIzyuW4nK5+PqA741hZNpw1uz6xO+xwT1Y2Mi04QxOHKQ/2ObF5LD18LeA+7vPcWRhNBj5cfFMPtr1qf45vc0snKYvV2VN4M3v38VoMPJ4xVLWV39BTUMNDms0c0tns/ngVvJic8iITuOlLf+i+the+sfmYjaYOCvvdF7d9gbHm+ooSxnKH796nmHJJby09TXOyj2NVdveAOASdYF+viuLLmHD3o0kRMRx/oCWGidP0/rL1EX6A/r7Oz/CYjQze8gVHK2v4Vntb/pUVXeWz+HjXes41nicH+VPIcbqYETqcEalDUclDODxT3/FNwe3BvwuPVo/WHtPm+URFxHLOXlTyI/L5fFPf+X3OK0LYZIiE5iSW+V33yVj7mHb4W8p8XqwnpA5huONdRxtOMqNJVez5dA21uz6BJXgLiSbWThdP/dNQ68h2hrFxMwxvLPdPXr9RQPO4W/fvAS4WwPMH3ELyz56nDS7+/PcWHK1HixZjBbSolIpSijgzNwqzEYTiZEJ2C12EiLjWbNrLQ5LNJmODLYc2sbk7Ek0OBt5b/uHlCYP0R/Up+adwYbqL3yC0isKL+b3Xz7H6PRyIkwRvP3Dar1ALiMqjSxHJpVZ41n20eN+v5thyUPYkLKRo/VH2XRwC2PTR/Bp9Wc+hVcZ0WlcN+RKMqLSWL/3c5/f/YqJS/RrS7ItkWc2PqtfW+Mj4vTfT5o9hb9ueoFz+5+lv3fxmPks++hxCuLz+eHIDvY2jwo/PLWEJFsil6gLWLt7PZnR6djMNhZ+8JBP2j3f9dm5p2MwGChPHcbG/Rr5sbkYDAYiTRHUNdVTkTeGyrSJeqHVzMLpPgUyP5/0IPvrDlLXVMeumj0MSSrCYDCQZEvgx8Uz9f2qsiYQFxFLcZK7JVCU2U5NYy0mg4mixALGZ4zW9102fiEWowWT0cTyCT/lhc2r+GLfV+TH5rJ2z3rAt9Bhwch5xFgdRFuj2vyPHFYHNnMkxxrdXcwuL5xBpCmCf337b8ZmjGD/8YP697nog4fbvD/LkUn1sX3s9RrF35u/wqQ5Q6+lMLGAmoZan+1zS2fzxLqnAPRrBsCQpEK+ObhVT6NHpDmCG0quYs2uT/hkzwZSbEnMKDhfD7SNBqNeEJflyPQZuDE/NpfNh7aRE9OPaEs066o/80pzy/Pu4jF3s2LtkxypP+r3800beC7Pb3oRcBcULT/rHmY85x7rYkpOlX5/8+Z9jxyWMoT3d67xe2xvxYmDuHbIrHb3680MHQm2ukt19ZFe34EwMTGaS/56k77e+sH1ib9t4Kv40LX7D2as6ypmnlbE39a/y5v7/qlvH2Ar5r/GXOG3rb+5PpZG66GQpmNl1XIam5zc2jzC7wUZl/P3HR37DlxNJlIN+ewxft2h/e8ffS8J9vZLAsMhOdlBdXXXm1OfLF7YvIpkW6J+Y+9Jnjx9TfHlPVLq53K5aHA2tpnbtrvywvObXuTf379HpCmSRyctaf8NJ8gTdAfi+f6frHwYg8HAwbpDLFjtbmK9smo5e4/tI8IUQYQpAqvJoh/v9rcXcrzpOJVZ45k28Fze3f4B6VFp9IvO4H82PMOY9BEMTS4m0hzBgtUPcrDOfY16onIZjc4m/fv2nH/JmHt8mow3OZuodzZQ01BDrDWG2sbjxEY4qGmoxW62Bf1MrTU4G2loamhTmwdwtN4drH59cDP9Y3NwWKJpcjk7nR9cLhdr96wn29GPFHsSTc4mXv/uLbIcmSRFJpBoS+DWt9zN+MpShvo8iHofA9w1hqYgtUqBPP/1i/z7h/ewmSN9akRORH1TA1aThSP1R2lyNREXERuS43ZWTUMtDc4G/rDxL3x1YBMANrONFRMXt8nD//jmFV7/7i3uHnEbWUFa23jfT8/OPZ1GVxPn5Z/Fl/u+5sn1TwPuB2TPw61HcrKDT7do7K6tpiy1Ze7nhqYGjAZjh/53rX+XLpeLrw5sIi8mm8jmsQManY0YDcZ2a4c7y+lycrDuUMia1B+sO4TJYOL5TS+y4+guoix2qrIm6IPpuVwu9h0/QJItAZfLhQtXlz5Te9eyE3n/jqO7OFR/mAFx/TEbTO2e597VSzlQd5CK3DFM739B0H27wpOHzUazT/eLYF7e+rpeuNbZprWea0+wz/353i/55YZnmFs6m7d/eJ8Ne79g4eg72Vmzm6eax3UoTizk831fMih+IIWJBUzqN44/bHyOif3GMiAuj6MNNURbWoLirYe+w2aOoMHZSJYjk7W71/Ppng1cXjiD6mN7ibZEER8Zh9Pl5LO9X5IXm83xxuMYDSa9sNTlclF9bC9JtsQO56smZxP/2bWWkqTBRJgj2LhP4+/fvMSl6iIGxvfnZ2t/QW5sNtMGnssb373D/zYXDrV2bfEsXty8ij3H9jIqrYzbJ12rB6O3l93Mo2tXthlr4bz+Z/Fp9Wd8d+QHFo+5m0UfLGs3vcWJhT4tcXqr5GRHwAwkNaPteH+T5ne70+lk9ZffhS0QPbZmCpfNd5eKlefm8aZXQVO0KViw5vu/t+wfQENC16tviyPcJWpmr+lcTCdwA2hPNx5aBHBe/lnt7xQmgxMH8cW+r8iMSuuR8xsMhjaBR3dquemH53ydfXhrfTNv3QSr5Xi+5YzeoyjfNvwGn9eKkwp5b/uHzU0wjVj9ThXlezyT0YTNaNIH9Ypt/h91pb+jJUizcU9tgXdBiInOB4Lu2pOWQbpMRhNn5p7ms49n4KBEm//+rZ7v1tTFUbWdzUPZhXIcAc9vo3VT33Dz/N/nDnP3MTzeeFwP2v674iEanI3693f+gLOZklvV7oBwVw++jPqmelLtKT61/t6/mdaBqEc/R0abbiWWTlxHWv8uDQYDhQkFPttaz/scKkaDMaR9uz0FFJ5R01vz1AR6lruaP08kEG3v/RnRaWTQ8XuQpxa+uwYC86S1M5VJxhP43Xfkuy1OKtSD3IL4fI7UHyU2IoZUezKPTPgpdU31el7wPp53wZt3IAqQF+vb7LwsdahewJPl1XXAaDAytLlwo3WzW4PBQIqfrgfBmIwmn8L4ocmD9eODu3+ux6R+Y/n28Pes3bOeyn7jsVlsjE0fwcb9GkOTB5MT049Xt72h999+bNIDgPu54pEJi7FbbJQkFxFjdXC4/gi5Mdmclj2R2sZjOKzRzBt+Exv3a5QkFVHbeIwn1z3NlUWX8P6ONaTYk1m94z89Mu99qEkw2o5fr3kWvJr/v7h2Ha8d+lOXj5e29wx2Jf0r4OtDYobz2eG2zbd+c3fLg0tOrG+fQbsxWF8Q34tI674OnXXmgPFttnX+JtDx/UPVt1CcnK4fciWH6490ecChk43n0aI7Bh4Lp6JExSd7NpAV3X5fw/EZo3lv+4dML/Dfxwf6xhjcYzNG8u72D/T+YaEWH+H+DXW0T9/JLNJ7HmyjqU1tZEdGJg80wvfAuP6MSB0WcKAwIYzN42i07q4RKp7C2UCFIf4YQlyDHozRYPTpImK32LGf4MBovZXZaObHxTP5Mb6tWcZluMeDSIiM57JBLd0lrF79iT2tcTyDVumFu4aWAr78uFyfwjBPwO8ZB+BSdeEJF8T0BvKk347j1j0+68EC0YYd/bFkbAl6vHunn8bjr5jYZFvV5rW6r4cx+7rp3PJW4L5E/sRHB76xtn6oDd6/tH15qS2l9ubdRdRFVGPO6cRFzuCi0XCsw7tHmiM6kzxxijEZTX0mEIWWwhebuW2T0ZPJrMIZjM0YqY9YGEyWI0NvQhlIsMFOThUzCs6jKmuC3h811CqyxmMyGBkRolFV+yqT0cRVgy/t6WSIXmxKThV/+PIvVOSN7Zbjl6WWEmmOJN9rvIL2TMwczVf7v2ZqXuCxBsTJ51QIREGC0ZCo2ziKhy4/k9oiJ8++sYnv0//sd7+mg0kYDAZum1oJVFLbcIxXN7/DGzvcgz88fUPXbnBVA4KU0LpaBaPG+pANobxi+hXUNTSxYefmTr1vv6Hjc2GdIr8zITrkjJxKDtYd4qxWTTh7ytJx93Kk/qh+w3NYohmeUkJhgv8RRT2sJmubZoXBBLqhzi+/hW2Hv++xvojhZDQYuy0QBXdBR1UHR0UVQnTd6PRyylNLSU+N75axBQwGgz6YUUfZLfY2XSSE6C0kGA2B5VdMJSHGXTt598zhbN2fyop1LSPILR4zn7f+c5CoTN+v226xceGgKax+FwrS247s1xHliSMD1h42Vmdgjanz2eZsMoQsGLWYjVjMnT1a52pmnbi60ENLiJNTlMUesG9VT4iNiPFpbmUwGLim+PKwnT87ph/ZMSf3VEZCiL6nu/r0CnEqkl9LEB1p759uGKQHoh55CZk07kvDnLiLWwbeTZItgWkVgedaenT2lC6nMdiAHWNyi1h/YJ3vRmfngsfylGHsP1rLllr/AzkBpMbbYFunDtthJzrPlRBCCCGEEKJ3kmA0iPqmRr/b7x+1kJ1Hqvlq71YuKvY/v9ivps/rzqTpjEHqDV24mJRbxus7XmvZ2Mlmr1cXX8r3R7az7CONIQn+5/mMi3TXnESaIjnedNzvPi3n73jN6C2l14V82HohhBBCCCFE7yDBaBD7jradyLZhez4JUdEkREUzOK3jnce7T+BgzelycZ6q8g1GuyDLkckDY3/i01zPW6ItnluHXUeqPZWfrL4/6LE60wdUAlEhhBBCCCFOXfK0H8Tiv72sL1uO9CP+WBG/nnV9D6bIjyAVjS6XE4PBQMT3Jz6iW3xkXNDgsCB+ALERDq4suuSEz+XhPY+UEEIIIYQQ4tQS8mBUKXW/Umq1UmqtUuqknojL2v9zffnn593CA1Ov6rnEdICjyXeSbWfzhMjLL2+Zvy/Z7n9C9VAZkTrshN4/qd84fVmmdRFCCCGEEOLUFdJgVClVCZRrmjYOuBL4WSiP31clOQPP1efymrplUeWNPq85XU4AzCYji0b8hELzeO6bOh3jgezuSWgIzCg4r6eTIIQQQgghhAiDUNeMVgIvAGia9jmQoZQKPNxrL9bQ2DKSbpq1Z4M3V7Axf7xes5kjsB9rSeug1Bx9OcURx5yJ5xJhtjBjSPfNYXiqTMArhBBCCCGE6F6hHsAoHVjvtV4NpAJbQ3yebvf1jr368m0jr+q5hACZ8fEd3venVdfxxpdfkJYcwcisIr/7FGdlwg+hSp0QQgghhBBCdF6og9H6VusGggyxEx9vx2wOPDVJT8qhFr5xL/fPTO/RtMw77VLsVpvf18r6F5Cc7NDXk4FrsicGPV4yDvig/fNeV3q1z7G727yxs30/SxjP3VG9MU2iZ0heEN4kPwgPyQvCQ/KC8Cb5wb9QB6M7gRSv9WRgd6CdDxyoDfHpQycaO3ePuJWCfllUVx8J67knZ1Xy+vf/1tdrDjVSg28a7iyfy8c7N9A/KrtL6Xts0oPMW7UCl/1Am9cmpVUwo+hsgG757EaDUe/P6vHguAXERcT6nC/c33t7kpMdvS5NomdIXhDeJD8ID8kLwkPygvDW1/NDsEA81MHoKuBB4JdKqeHAFk3TjoX4HGGT5cgk2hrFMcKbec4feBZn5lVR19hApNnqd5/cmCxyY7K6fA6rycKT59wDQH1TA7/99EVGZhYzNK2gW/t9JkbGc6DukM82u9lGXERst51TCCGEEEII0fuEdAAjTdPWAuuVUp8A/wPMC+Xx+5JIcwSxkdFEBAhGQ8lqsnBd+UWUpqtuH4DolmHXU55a6rNtTPqIbj2nEEIIIYQQovcJdc0omqbNB+aH+rji1JBkS2D6wHMxGUyckVNBXVM9GVFpPZ0sIYQQQgghRJiFPBgVIpDS5GIA7BY7lxdO7+HUCCGEEEIIIXqSBKMiLFZWLe/pJAghhBBCCCF6EQlGRa9z36g7qG3svSMtCyGEEEIIIU6cBKOi25WlDO3U/mlRKe3vJIQQQgghhDipSTAqus0NJVdRfWwfVVkTejopQgghhBBCiF5GglERcovHzMdkMBEfGdfTSRFCCCGEEEL0UhKMipBLsiX2dBKEEEIIIYQQvZyxpxMghBBCCCGEEKLvkWBUCCGEEEIIIUTYSTAqhBBCCCGEECLsJBgVQgghhBBCCBF2EowKIYQQQgghhAg7CUaFEEIIIYQQQoSdBKNCCCGEEEIIIcJOglEhhBBCCCGEEGEnwagQQgghhBBCiLCTYFQIIYQQQgghRNgZXC5XT6dBCCGEEEIIIUQfIzWjQgghhBBCCCHCToJRIYQQQgghhBBhJ8GoEEIIIYQQQoiwk2BUCCGEEEIIIUTYSTAqhBBCCCGEECLsJBgVQgghhBBCCBF25p5OQG+llLofqAIiges1Tfu4h5MkQkQpVQH8FfiiedNnwP3A74E44AdgSVpYZwAABNZJREFUpqZpdUqpC4C7cOeDJzRN+41SygT8AigGDM37blVKFQBPAXbgI+BmTdNk7qReSilVDLwAPKZp2pNKqRS6KQ8opW4EZjVv/4mmaa+E99OKYPzkhd8CZcC+5l0e0TTtZckLfYNSailQCViAh4G3kWtDn+QnL0xFrg19jlLKDvwWSAWigCXAh8h1ISSkZtQPpVQlUK5p2jjgSuBnPZwkEXpva5pW0fw3F3gEeEbTtNHANmCmUsrRvP1MYBxwl1IqGrgCcDbnj6XA4uZjPgXcpWnaCCAF9w1M9EJKqSjgCeANr83dkgeUUvnA9cAkYAqwQill6OaPKDooQF4AuMfrGvGy5IW+QSk1ESjVNG0McAbwGHJt6JMC5AWQa0NfdC7wsaZpk4CLgBXIdSFkJBj1rxJ3KTmapn0OZDSXiohTVwXwYvPyC7gvACNwX3wOaZpWC6wGJuCVP4DXgAqllBXI1zTtP62OIXqnOuBsYIfXtgq6Jw9MAl7VNK1B07TdwE5gUHd9MNFp/vKCP5IX+ob3gRnNy4cAK+5WUnJt6Hv85QV/z82SF05xmqb9WdO05c2r/XDXhFYg14WQkGDUv3Sg2mu9GnfVvDh1FCmlViml3lNKTQYcmqYda35tD5BG23zQZrumaQ2ACUgGDvjZV/RCmqY1ev2/PborDwQ6hugFAuQFgLlKqbeVUs8ppZKQvNAnNOeHo82r1wCvAFFybeh7AuQFJ3Jt6LOUUv8B/gTMRZ4ZQkaCUf/qW60bAOn7d+rYBDyAu+/HLOBp3P9jD8//O1A+aL0doDHAvuLk4f1/DWUekOvJyecPwILmJlkf4e4fJHmhD1FKnQfMBm5Drg19Wqu8INeGPkzTtFHABcCf8f1fynXhBEgw6t9O3G23PZKB3T2UFhFimqZt1zTtT5qmOTVN2wrsAqK9mmKn4W6y1zoftNne3MyiAXcpVpyffcXJ40g35YFAxxC9lKZpb3gNWvcyMBjJC32GUmoKsBA4U9O0g8i1oc9qnRfk2tA3KaXKlVLZAJqmfYI7fqqR60JoSDDq3yrgPACl1HBgS4BmXOIkpJS6RCn10+blJNxNsJ+m+X8OXIj7JrMGKFFKxTZ3QB8FvIs7f5zfvO85wOuapjmBdUqpMc3bL2g+hjh5vEr35IHXgSlKKYtSKgNI0DTt67B8ItElSqm/KKVKmlfHA58jeaFPUErF4h608GxN0zwjpsq1oQ/ylxfk2tBnjcVdM45SKhVwAC8h14WQkKld/NA0ba1Sar1S6hPc1ejX9HSaREi9BFyslFqNu0DmJuBT4Fml1DxAA57TNK1RKbUQeAd3P5ElmqYdU0r9AzhXKfUxUAtc1nzc+cAzSikz8JamaavD+7FERymlyoBHgVygQSk1DZgJ/LE78oBS6je4m3Q5ab6hid4hQF5YCDytlKoFjgA/1jStXvJCn3AxEA88p5TybLsS+J1cG/ocf3lBrg19069w/8/eBSJwPzeupZueG/taXjC4XKd0M2QhhBBCCCGEEL2QNNMVQgghhBBCCBF2EowKIYQQQgghhAg7CUaFEEIIIYQQQoSdBKNCCCGEEEIIIcJOglEhhBBCCCGEEGEnwagQQgghhBBCiLCTYFQIIYQQQgghRNhJMCqEEEIIIYQQIuz+Dx9p18vZVfGpAAAAAElFTkSuQmCC\n", | |
"text/plain": [ | |
"<Figure size 1152x360 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"%matplotlib inline\n", | |
"plt.figure(figsize=(16,5))\n", | |
"axs = np.array(action_log).T\n", | |
"plt.plot(axs[0])\n", | |
"plt.plot(axs[1])\n", | |
"#plt.plot(np.array(action_log[0]) - np.array(action_log[1]))\n", | |
"plt.legend(['Right', 'Left'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 54, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.legend.Legend at 0x7f0c55dfce80>" | |
] | |
}, | |
"execution_count": 54, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA6gAAAD4CAYAAADhJ8tCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl8XHW9//HXmSX7JE3bpFlKl6T4BSwgS0WsyKJXkIsLXLcrAoKKooj3qj+uVxFk0SsXcQP58RNlkysXcENFQBZZxIW2yA5faNI1S5O2afZllvP7Y2bSaZp1ksyZSd7Px6OPzPme7TPz7ZmZz3yX47iui4iIiIiIiIjXfF4HICIiIiIiIgJKUEVERERERCRLKEEVERERERGRrKAEVURERERERLKCElQRERERERHJCgGvAxhNe3t3Vk8tXF5eREdHn9dhyCSornKH6ip3qK5yg+opd6iucofqKneorrJfRUXIGa1cLahpCAT8Xocgk6S6yh2qq9yhusoNqqfcobrKHaqr3KG6yl1KUEVERERERCQrKEEVERERERGRrKAEVURERERERLKCElQRERERERHJCkpQRUREREREJCsoQRUREREREZGsoARVREREREREsoISVBHx3OPPNvH8xnavwxARERERjylBFRFPdfUOcdsDlh//+gWvQxERERHJei0tzXziE2d5HcasCUxmI2PMauBe4HvW2uuNMQHgFuBAoA/4F2tthzHmdOBioAC4zlp7szHGD9wArAYc4Exr7aZZeC4ikoMam7sA2Lqjm/7BCIX5k3pbEhEREZE5aMJvgsaYYuA64JGU4rOABmvtWcaY84G3G2MeBa4BjgLCwDPGmLuBDwIxa+1aY8xpwOXA2TP8PEQkRzW2dALgurCppYtDViz0OCIRERGR3NLQsJHvfvdqHMehqKiYSy75Bj6fn0sv/QqDg4MMDAzw7/9+MStWrNyvbPXqQ70Ofx+TaaoYBE4F/iOl7AzgCwDW2h8DGGNOAtZbazsTy08BxwEnAj9P7Pcg8dZUERFgbwsqQEOzElQRERHJHXc/upF1r7bN6DHXHFTJh05aNaV9fvCD73DBBZ9n9erDuPPOO7j77js58MA3sHhxBV/96mVs376NzZsb2bChfb+ybDNhgmqtjQARY0xq8VLgw8aYdwNNwOeAaiB1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\n", | |
"text/plain": [ | |
"<Figure size 1152x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"%matplotlib inline\n", | |
"plt.figure(figsize=(16,4))\n", | |
"metrics_series = np.array(agent.metrics_log).T\n", | |
"plt.plot(metrics_series[0])\n", | |
"plt.plot(metrics_series[1])\n", | |
"plt.legend(['Loss', 'Accuracy'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 55, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"154.51" | |
] | |
}, | |
"execution_count": 55, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sum(episode_rewards) / num_episodes" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.legend.Legend at 0x7f0c64f924e0>" | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA6UAAAD4CAYAAAAU2UDyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xl8nGW9///XbJnJJJN9snZNl6uleylChQO0KCqgiLIoinJAQT3neDj4U447HnAX9Hj8srijCCgI4gFRARUOUKD7Sq+26Za0SZqt2ffM74+ZJpM2aaY07dxJ3s/HI4/MfV/3zHzGjyF597rv63ZFIhFEREREREREksGd7AJERERERERk4lIoFRERERERkaRRKBUREREREZGkUSgVERERERGRpFEoFRERERERkaTxJruAI2pqmh29DHB2dpCGhrZklyFHUV+cRz1xJvXFedQTZ1JfnEc9cSb1xXnGQk/C4ZBrqP2aKU2Q1+tJdgkyBPXFedQTZ1JfnEc9cSb1xXnUE2dSX5xnLPdEoVRERERERESSRqFUREREREREkkahVERERERERJJGoVRERERERESSRqFUREREREREkiahW8IYY+4AVgIB4GZr7Zq4sQBwPzDPWrsskeeIiIiIiIiIQAIzpcaYFcAya+25wEeBu4865LvAhhN8joiIiIiIiEhCp++uAJ4EsNZuAYqNMcG48S8AT5zgc8aU2sZ2fvWnbbS0dye7FBERERERkXElkdN3i4CNcds1QAGwB8Ba22yMyT2R5wwlOzvo2Bu+bq9o4tHnd7J9bwNfu2k5Pq8uxXWScDiU7BLkKOqJM6kvzqOeOJP64jzqiTNNhL7s2LGDT33qU1x//fV8+MMfHvKYG2+8kR/+8IekpaX176uuruY///M/uf/++0lJSeGzn/0s1157LQ899BBnn302V155JQC//OUv2b9/P1/5ylcGvWZVVRXf+c53uPvugRNOr7vuOtra2ggGo3N9t912G/Pnz+ehhx7ij3/8I+3t7dx6662cd9553HTTTdx+++1Mnjz5hD9zX18fd999N4899hivvvpq//7Rfp94iYTSrqO2XUBktJ/T0NCWQCnJMbskxPIFRazaXMndv1nDP79rDi6XK9llCdH/GNbUNCe7DImjnjiT+uI86okzqS/Oo54400ToS3t7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\n", | |
"text/plain": [ | |
"<Figure size 1152x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"X = np.arange(num_episodes)\n", | |
"Y = np.clip(1.0 / ((X / 50) + 10), ϵmin, ϵmax)\n", | |
"plt.figure(figsize=(16,4))\n", | |
"plt.plot(Y)\n", | |
"plt.legend(['1 / ((X / 50) + 10)'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 57, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"from datetime import datetime\n", | |
"def timestamped_filename(name):\n", | |
" return '{}_{}'.format(name, datetime.now().isoformat().split('.')[0])\n", | |
"\n", | |
"model.save('checkpoints/' + timestamped_filename('converged') + '.h5')" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"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.6.6" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import random | |
import numpy as np | |
from collections import deque | |
class QAgent: | |
def __init__(self, model, γ=0.98, batch_size=64): | |
self.model = model | |
self.memory = deque(maxlen=10000) | |
self.γ = γ | |
self.batch_size = batch_size | |
self.metrics_log = [] | |
def get_Q(self, state): | |
xs = state.reshape(1, state.shape[0]) | |
ys = self.model.predict(xs) | |
return ys.reshape(ys.shape[1]) | |
def remember(self, state, action, reward, next_state, done): | |
self.memory.append((state, action, reward, next_state, done)) | |
def learn(self, rounds=1): | |
sample_size = min(len(self.memory), self.batch_size) | |
for _ in range(rounds): | |
xs, ys = self.experiences(sample_size) | |
self.model.train_on_batch(np.array(xs), np.array(ys)) | |
def test(self): | |
sample_size = min(len(self.memory), self.batch_size) | |
xs, ys = self.experiences(sample_size) | |
metrics = self.model.evaluate(np.array(xs), np.array(ys), verbose=0) | |
self.metrics_log.append(metrics) | |
return metrics | |
def experiences(self, sample_size): | |
sample = random.sample(self.memory, sample_size) | |
xs, ys = [], [] | |
for state, action, reward, next_state, done in sample: | |
Qrow = self.get_Q(state) | |
Qnext = self.get_Q(next_state) | |
Qrow[action] = reward if done else reward + self.γ * np.max(Qnext) | |
xs.append(state) | |
ys.append(Qrow) | |
return xs, ys |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
See also:
log_progress
Problem: how can I avoid the model accidentally converging on just picking one action? How can I make it actually learn the objective?