{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": "true" }, "source": [ "# Table of Contents\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Introduction aux *algorithmes de bandit* (UCB1, Thompson Sampling)\n", "Ce petit document est un [notebook Jupyter](https://www.jupyter.org), ayant pour but de présenter le concept de problèmes de bandit, comment les simuler et les résoudre, et deux algorithmes conçus dans ce but.\n", "\n", "Je ne vais pas donner beaucoup d'explications mathématiques, je conseille plutôt [ce petit article, datant de 2017, en français, écrit par Émilie Kaufmann](http://chercheurs.lille.inria.fr/ekaufman/Matapli_Kaufmann.pdf).\n", "\n", "Je préfère me focaliser sur une implémentation simple, claire et concise de chaque morceau nécessaire à la simulation de problèmes et d'algorithmes de bandit.\n", "J'utilise le [langage de programmation Python](https://www.python.org/).\n", "\n", "Dans ce but, j'utilise une approche *objet* : chaque morceau sera une classe, et des *instances* (des *objets*) seront utilisées pour toutes les composantes." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Dépendances\n", "import numpy as np\n", "import random as rd" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "sns.set(context=\"notebook\", style=\"darkgrid\", palette=\"hls\", font=\"sans-serif\", font_scale=1.4)\n", "from tqdm import tqdm_notebook as tqdm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Problèmes de bandit\n", "\n", "FIXME expliquer cette partie." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Simulation de problèmes de bandit\n", "\n", "Une simple *fonction* suffira ici, pour initialiser un algorithme, le simuler durant $T$ étapes, et stocker les récompenses et les bras tirés.\n", "\n", "Il est important de tout stocker pour ensuite pouvoir afficher différentes statistiques sur l'expérience, permettant d'évaluer l'efficacité des différentes algorithmes.\n", "\n", "Je préfère donner directement cette fonction afin de fixer les *signatures* des différentes classes qu'on va écrire ensuite :\n", "\n", "- Les *bras* ont besoin d'une seule méthode, `tire()` qui donne $r_k(t) \\sim \\nu_k$ à l'instant $t$ pour la distribution $\\nu_k$ du $k^{\\text{ième}}$ bras, noté `r_k_t`.\n", "- Les *algorithmes* ont besoin de trois méthodes :\n", " + `commence()` pour initialiser l'algorithme, une fois,\n", " + `A_t = choix()` pour choisir un bras, à chaque instant $t$, noté $A(t) \\in \\{1,\\dots,K\\}$,\n", " + `recompense(A_t, r_k_t)` pour donner la récompense `r_k_t` tirée du bras `A_t`." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def simulation(bras, algorithme, horizon):\n", " \"\"\" Simule l'algorithme donné sur ces bras, durant horizon étapes.\"\"\"\n", " choix, recompenses = np.zeros(horizon), np.zeros(horizon)\n", " # 1. Initialise l'algorithme\n", " algorithme.commence()\n", " # 2. Boucle en temps, pour t = 0 à horizon - 1\n", " for t in range(horizon):\n", " # 2.a. L'algorithme choisi son bras à essayer\n", " A_t = algorithme.choix()\n", " # 2.b. Le bras k donne une récompense\n", " r_k_t = bras[A_t].tire()\n", " # 2.c. La récompense est donnée à l'algorithme\n", " algorithme.recompense(A_t, r_k_t)\n", " # 2.d. On stocke les deux\n", " choix[t] = A_t\n", " recompenses[t] = r_k_t\n", " # 3. On termine en renvoyant ces deux vecteurs\n", " return recompenses, choix" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Bras stochastiques, de Bernoulli\n", "\n", "Les récompenses de tels bras, notées $r_k(t)$ pour le bras $k$ à l'instant $t$, sont tirées de façons identiquement distribuées et indépendantes, selon une loi de Bernoulli :\n", "$$ \\forall t\\in\\mathbb{N}, \\forall k\\in\\{1,\\dots,K\\}, r_k(t) \\sim \\mathrm{B}(\\mu_k). $$" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "class Bernoulli():\n", " \"\"\" Bras distribués selon une loi de Bernoulli.\"\"\"\n", "\n", " def __init__(self, probabilite):\n", " assert 0 <= probabilite <= 1, \"Erreur, probabilite doit être entre 0 et 1 pour un bras de Bernoulli.\"\n", " self.probabilite = probabilite\n", "\n", " def tire(self):\n", " \"\"\" Tire une récompense aléatoire.\"\"\"\n", " return float(rd.random() <= self.probabilite)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Par exemple, on peut considérer le problème à trois bras ($K = 3$), caractérisé par ces paramètres $\\boldsymbol{\\mu} = [\\mu_1,\\dots,\\mu_K] = [0.1, 0.5, 0.9]$ :" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "mus = [ 0.1, 0.5, 0.9 ]\n", "bras = [ Bernoulli(mu) for mu in mus ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut prendre 10 échantillons de chaque bras, et vérifier leurs moyennes :" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0],\n", " [1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0],\n", " [0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rd.seed(10000)\n", "T = 10\n", "exemples_echantillons = [ [ bras_k.tire() for _ in range(T) ] for bras_k in bras ]\n", "exemples_echantillons" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0.1, 0.5, 0.9])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.mean(exemples_echantillons, axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> C'est assez proche de $\\boldsymbol{\\mu} = [\\mu_1,\\dots,\\mu_K] = [0.1, 0.5, 0.9]$... Non ?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Présentation des algorithmes de bandit\n", "Comme on l'a dit plus haut, les *algorithmes* ont besoin de trois méthodes :\n", "\n", "- `commence()` pour initialiser l'algorithme, une fois. Généralement, il s'agit de remettre à zero les vecteurs de mémoires internes de l'algorithme, et de mettre $t = 0$.\n", "- `A_t = choix()` pour choisir un bras, à chaque instant $t$, noté $A(t) \\in \\{1,\\dots,K\\}$. C'est la partie \"intelligente\" qui doit être conçue avec soin.\n", "- `recompense(A_t, r_k_t)` pour donner la récompense `r_k_t` tirée du bras `A_t`. Souvent, il suffit de mettre à jour les deux ou trois vecteurs internes.\n", "\n", "En fait, il faut aussi une méthode pour *créer* l'instance de la classe, i.e., une méthode `__init__(K)`, qui demande de simplement connaître $K$, le nombre de bras.\n", "\n", "> Bien-sûr, les algorithmes ne doivent pas connaître $\\boldsymbol{\\mu} = [\\mu_1,\\dots,\\mu_K]$ les paramètres du problème... Sinon l'apprentissage n'a aucun intérêt : il suffit de viser $k^* = \\arg\\max_k \\mu_k$..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Deux algorithmes naïfs\n", "On va commencer par donner deux exemples naïfs :\n", "\n", "1. Un algorithme \"stupide\" qui choisi un bras de façon complètement uniforme, $A^{1}(t) \\sim U(1,\\dots,K), \\forall t$, à chaque instant $t \\in \\mathbb{N}$, via la classe `ChoixUniforme`.\n", "\n", "2. Un algorithme moins stupide, mais assez naïf, qui utilise un *estimateur empirique* $\\widehat{\\mu_k}(t) = \\frac{X_k(t)}{N_k(t)}$ de la *moyenne* de chaque bras, et tire $A^{2}(t) \\in \\arg\\max_k \\widehat{\\mu_k}(t)$ à chaque instant $t \\in \\mathbb{N}$. Ici, $X_k(t) = \\sum_{\\tau=0}^{t} \\mathbb{1}(A(\\tau) = k) r_k(\\tau)$ compte les récompenses *accumulées* en tirant le bras $k$, sur les instants $t = 0,\\dots,\\tau$. Et $N_k(t) = \\sum_{\\tau=0}^{t} \\mathbb{1}(A(\\tau) = k)$ compte le nombre de sélections de ce bras $k$. Via la classe `MoyenneEmpirique`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### `ChoixUniforme`" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "class ChoixUniforme(object):\n", " \"\"\"Algorithme stupide, choix uniforme.\"\"\"\n", " \n", " def __init__(self, K):\n", " \"\"\"Crée l'instance de l'algorithme.\"\"\"\n", " self.K = K\n", " \n", " def commence(self):\n", " \"\"\"Initialise l'algorithme : rien à faire ici.\"\"\"\n", " pass\n", " \n", " def choix(self):\n", " \"\"\"Choix uniforme d'un indice A(t) ~ U(1...K).\"\"\"\n", " return rd.randint(0, self.K - 1)\n", " \n", " def recompense(self, k, r):\n", " \"\"\"Donne une récompense r tirée sur le bras k à l'algorithme : rien à faire ici.\"\"\"\n", " pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### `MoyenneEmpirique`\n", "Voilà qui donne une bonne idée de la structure (*\"API\"*) que vont devoir suivre les différentes algorithmes.\n", "\n", "L'algorithme suivant est un peu plus complexe." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "class MoyenneEmpirique(object):\n", " \"\"\"Algorithme naïf, qui utilise la moyenne empirique.\"\"\"\n", " \n", " def __init__(self, K):\n", " \"\"\"Crée l'instance de l'algorithme.\"\"\"\n", " self.K = K\n", " # Il nous faut de la mémoire interne\n", " self.recompenses = np.zeros(K) # X_k(t) pour chaque k\n", " self.tirages = np.zeros(K) # N_k(t) pour chaque k\n", " self.t = 0 # Temps t interne\n", " \n", " def commence(self):\n", " \"\"\"Initialise l'algorithme : remet à zeros chaque X_k et N_k, et t = 0.\"\"\"\n", " self.recompenses.fill(0)\n", " self.tirages.fill(0)\n", " self.t = 0\n", " \n", " def choix(self):\n", " \"\"\"Si on a vu tous les bras, on prend celui de moyenne empirique la plus grande.\"\"\"\n", " # 1er cas : il y a encore des bras qu'on a jamais vu\n", " if np.min(self.tirages) == 0:\n", " k = np.min(np.where(self.tirages == 0)[0])\n", " # 2nd cas : tous les bras ont été essayé\n", " else:\n", " # Notez qu'on aurait pu ne stocker que ce vecteur moyennes_empiriques\n", " moyennes_empiriques = self.recompenses / self.tirages\n", " k = np.argmax(moyennes_empiriques)\n", " self.t += 1 # Inutile ici\n", " return k\n", " \n", " def recompense(self, k, r):\n", " \"\"\"Donne une récompense r tirée sur le bras k à l'algorithme : met à jour les deux vecteurs internes.\"\"\"\n", " self.recompenses[k] += r\n", " self.tirages[k] += 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Approche fréquentiste, UCB1, \"Upper Confidence Bound\"\n", "\n", "Il s'agit d'une amélioration de l'algorithme précédent, où on utilise un autre *indice*.\n", "\n", "Au lieu d'utiliser la moyenne empirique $g_k(t) = \\widehat{\\mu_k}(t) = \\frac{X_k(t)}{N_k(t)}$ et $A(t) = \\arg\\max_k g_k(t)$, on utilise une borne supérieure d'un intervalle de confiance autour de cette moyenne :\n", "$$g'_k(t) = \\widehat{\\mu_k}(t) + \\sqrt{\\alpha \\frac{\\log t}{N_k(t)}}.$$\n", "Et cet *indice* est toujours utilisé pour décider le bras à essayer à chaque instant :\n", "$$A^{\\mathrm{UCB}1}(t) = \\arg\\max_k g'_k(t).$$\n", "\n", "Il faut une constante $\\alpha \\geq 0$, qu'on choisira $\\alpha \\geq \\frac12$ pour avoir des performances raisonnables. $\\alpha$ contrôle le compromis entre *exploitation* et *exploration*, et ne doit pas être trop grand. $\\alpha = 1$ est un bon choix par défaut.\n", "\n", "> On va gagner du temps en *héritant* de la classe `MoyenneEmpirique` précédente. Ça permet de ne pas réécrire les méthodes qui sont déjà bien écrites." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "class UCB1(MoyenneEmpirique):\n", " \"\"\"Algorithme UCB1.\"\"\"\n", " \n", " def __init__(self, K, alpha=1):\n", " \"\"\"Crée l'instance de l'algorithme. Par défaut, alpha=1.\"\"\"\n", " super(UCB1, self).__init__(K) # On laisse la classe mère faire le travaille\n", " assert alpha >= 0, \"Erreur : alpha doit etre >= 0.\"\n", " self.alpha = alpha\n", " \n", " def choix(self):\n", " \"\"\"Si on a vu tous les bras, on prend celui d'indice moyenne empirique + UCB le plus grand.\"\"\"\n", " self.t += 1 # Nécessaire ici\n", " # 1er cas : il y a encore des bras qu'on a jamais vu\n", " if np.min(self.tirages) == 0:\n", " k = np.min(np.where(self.tirages == 0)[0])\n", " # 2nd cas : tous les bras ont été essayé\n", " else:\n", " moyennes_empiriques = self.recompenses / self.tirages\n", " ucb = np.sqrt(self.alpha * np.log(self.t) / np.log(self.tirages))\n", " indices = moyennes_empiriques + ucb\n", " k = np.argmax(indices)\n", " return k" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Approche bayésienne, Thompson Sampling\n", "\n", "[Ce petit article](http://chercheurs.lille.inria.fr/ekaufman/Matapli_Kaufmann.pdf) explique très bien l'approche bayésienne.\n", "\n", "On a besoin de savoir manipuler des posteriors, qui seront les posteriors conjugués des distributions des bras.\n", "\n", "Pour des bras de Bernoulli, le posterior conjugué associé est une loi Beta, notée $\\mathrm{Beta}(\\alpha,\\beta)$ pour deux paramètres $\\alpha,\\beta > 0$.\n", "\n", "- Les posteriors sont initialisés à $\\mathrm{Beta}(1, 1) = U([0,1])$, c'est-à-dire qu'on met un a priori uniforme sur les $\\mu_k$, comme on ne connaît que $\\mu_k \\in [0,1]$.\n", "- Comme les *observations* sont binaires, $r_k(t) \\in \\{0,1\\}$, les paramètres $\\alpha$,$\\beta$ restent entiers." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from numpy.random import beta\n", "\n", "class Beta():\n", " \"\"\"Posteriors d'expériences de Bernoulli.\"\"\"\n", "\n", " def __init__(self):\n", " self.N = [1, 1]\n", "\n", " def reinitialise(self):\n", " self.N = [1, 1]\n", "\n", " def echantillon(self):\n", " \"\"\"Un échantillon aléatoire de ce posterior Beta.\"\"\"\n", " return beta(self.N[1], self.N[0])\n", "\n", " def observe(self, obs):\n", " \"\"\"Ajoute une nouvelle observation. Si 'obs'=1, augmente alpha, sinon si 'obs'=0, augmente beta.\"\"\"\n", " self.N[int(obs)] += 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dès qu'on sait manipuler ces postériors Beta, on peut implémenter rapidement le dernier algorithme, Thompson Sampling.\n", "\n", "Les paramètres du posterior sur $\\mu_k$, i.e., $\\alpha_k(t)$,$\\beta_k(t)$ seront mis à jour à chaque étape pour compter le nombre d'observations réussies et échouées :\n", "$$ \\alpha_k(t) = 1 + X_k(t) \\\\ \\beta_k(t) = 1 + N_k(t) - X_k(t).$$\n", "\n", "La moyenne empirique estimant $\\mu_k$ sera, à l'instant $t$,\n", "$$ \\widetilde{\\mu_k}(t) = \\frac{\\alpha_k(t)}{\\alpha_k(t) + \\beta_k(t)} = \\frac{1 + X_k(t)}{2 + N_k(t)} \\simeq \\frac{X_k(t)}{N_k(t)}.$$\n", "\n", "La différence avec UCB1 est que la prise de décision de Thompson Sampling se fait sur un indice, tiré aléatoirement selon les posteriors.\n", "C'est une *politique d'indice randomisée*.\n", "\n", "D'un point de vue bayésien, un *modèle* est tiré selon les posteriors, puis on joue selon le meilleur modèle :\n", "$$ g''_k(t) \\sim \\mathrm{Beta}(\\alpha_k(t), \\beta_k(t)) \\\\ A^{\\mathrm{TS}}(t) = \\arg\\max_k g''_k(t). $$" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "class ThompsonSampling(MoyenneEmpirique):\n", " \"\"\"Algorithme Thompson Sampling.\"\"\"\n", " \n", " def __init__(self, K, posterior=Beta):\n", " \"\"\"Crée l'instance de l'algorithme. Par défaut, alpha=1.\"\"\"\n", " self.K = K\n", " # On créé K posteriors\n", " self.posteriors = [posterior() for k in range(K)]\n", " \n", " def commence(self):\n", " \"\"\"Réinitialise les K posteriors.\"\"\"\n", " for posterior in self.posteriors:\n", " posterior.reinitialise()\n", " \n", " def choix(self):\n", " \"\"\"On tire K modèles depuis les posteriors, et on joue dans le meilleur.\"\"\"\n", " moyennes_estimees = [posterior.echantillon() for posterior in self.posteriors]\n", " k = np.argmax(moyennes_estimees)\n", " return k\n", "\n", " def recompense(self, k, r):\n", " \"\"\"Observe cette récompense r sur le bras k en mettant à jour le kième posterior.\"\"\"\n", " self.posteriors[k].observe(r)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Exemples de simulations\n", "\n", "On va comparer, sur deux problèmes, les 4 algorithmes définis plus haut.\n", "\n", "Les problèmes sont caractérisés par les moyennes des bras de Bernoulli, $\\boldsymbol{\\mu} = [\\mu_1,\\dots,\\mu_K]$, et on les suppose ordonnées par ordre décroissant : $\\mu_1 > \\mu_2 \\ge \\dots \\ge \\mu_K$.\n", "\n", "On affichera plusieurs choses, dans des graphiques au cours du temps $t = 0, \\dots, T$ pour un horizon $T = 1000$ ou $T = 5000$ étapes :\n", "\n", "1. leurs *taux de sélection* du meilleur bras $k^*$, (qui sera toujours $\\mu_1$ le premier bras), i.e., $N_k(t) / t$ en $\\%$, pour chaque algorithme,\n", "2. leurs *récompenses accumulées*, i.e., $R(t) = \\sum_{\\tau=0}^{t} \\sum_{k=1}^{K} X_k(\\tau) \\mathbb{1}(A(t) = k)$, pour chaque algorithme,\n", "3. les *récompenses moyennes*, i.e., $R(t) / t$, qui devrait converger vers $\\mu^* = \\mu_{k^*} = \\mu_1$,\n", "4. et enfin leurs *regret*. Cette notion est moins triviale, mais pour notre problème simple il se définit comme la perte, en récompenses accumulées, entre la meilleure stratégie (toujours sélectionner le meilleur bras $k^* = 1$) et la performance de l'algorithme :\n", " $$ \\mathcal{R}(t) = \\mu^* t - R(t) $$\n", " On souhaite maximiser $R(t)$, donc minimiser $\\mathcal{R}(t)$.\n", " Les algorithmes \"efficaces\" ont typiquement un regret *logarithmique*, i.e., $\\mathcal{R}(T) = \\mathcal{O}(\\log T)$ *asymptotiquement*, ce qu'on souhaiterait vérifier." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fonctions pour l'affichage\n", "\n", "On définit 4 fonctions d'affichage pour ces quantités." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "mpl.rcParams['figure.figsize'] = (15, 8)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def affiche_selections(choix, noms, kstar=0):\n", " plt.figure()\n", " for i, c in enumerate(choix):\n", " selection_kstar = 1.0 * (c == kstar)\n", " selection_moyenne = np.cumsum(selection_kstar) / np.cumsum(np.ones_like(c))\n", " plt.plot(selection_moyenne, label=noms[i])\n", " plt.legend()\n", " plt.xlabel(\"Temps discret, $t = 1, ..., T = {}$\".format(len(choix[0])))\n", " plt.ylabel(\"Taux de sélection\")\n", " plt.title(\"Sélection du meilleur bras #{} pour différents algorithmes\".format(1 + kstar))\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def affiche_recompenses(recompenses, noms):\n", " plt.figure()\n", " for i, r in enumerate(recompenses):\n", " recompense_accumulee = np.cumsum(r)\n", " plt.plot(recompense_accumulee, label=noms[i])\n", " plt.legend()\n", " plt.xlabel(\"Temps discret, $t = 1, ..., T = {}$\".format(len(choix[0])))\n", " plt.ylabel(\"Récompenses accumulées\")\n", " plt.title(\"Récompenses accumulées pour différents algorithmes\")\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def affiche_recompenses_moyennes(recompenses, noms):\n", " plt.figure()\n", " for i, r in enumerate(recompenses):\n", " recompense_moyenne = np.cumsum(r) / np.cumsum(np.ones_like(r))\n", " plt.plot(recompense_moyenne, label=noms[i])\n", " plt.legend()\n", " plt.xlabel(\"Temps discret, $t = 1, ..., T = {}$\".format(len(choix[0])))\n", " plt.ylabel(r\"Récompenses moyennes $\\in [0, 1]$\")\n", " plt.title(\"Récompenses moyennes pour différents algorithmes\")\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def affiche_regret(recompenses, noms, mustar=1):\n", " plt.figure()\n", " for i, r in enumerate(recompenses):\n", " recompense_accumulee = np.cumsum(r)\n", " regret = mustar * np.cumsum(np.ones_like(r)) - recompense_accumulee\n", " plt.plot(regret, label=noms[i])\n", " plt.legend()\n", " plt.xlabel(\"Temps discret, $t = 1, ..., T = {}$\".format(len(choix[0])))\n", " plt.ylabel(\"Regret\")\n", " plt.title(\"Regret accumulé pour différents algorithmes\")\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Premier problème, à 3 bras\n", "On reprend le problème donné plus haut :" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "horizon = 1000\n", "mus = [0.9, 0.5, 0.1]\n", "bras = [ Bernoulli(mu) for mu in mus ]\n", "K = len(mus)\n", "kstar = np.argmax(mus) # = 0" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1000,\n", " [0.9, 0.5, 0.1],\n", " [<__main__.Bernoulli at 0x7f81b7636470>,\n", " <__main__.Bernoulli at 0x7f81b76364e0>,\n", " <__main__.Bernoulli at 0x7f81b7636518>],\n", " 3,\n", " 0)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "horizon, mus, bras, K, kstar" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[<__main__.ChoixUniforme at 0x7f81b7636048>,\n", " <__main__.MoyenneEmpirique at 0x7f81b76360b8>,\n", " <__main__.UCB1 at 0x7f81b7636080>,\n", " <__main__.ThompsonSampling at 0x7f81b76360f0>]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "algorithmes = [ChoixUniforme(K), MoyenneEmpirique(K), UCB1(K, alpha=1), ThompsonSampling(K)]\n", "algorithmes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour les légendes, on a besoin des noms des algorithmes :" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true }, "outputs": [], "source": [ "noms = [\"ChoixUniforme\", \"MoyenneEmpirique\", \"UCB1(alpha=1)\", \"ThompsonSampling\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut commencer la simulation, pour chaque algorithme." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "scrolled": true }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "fb460c28bdcf4037aad7acb2ea1d5caf" } }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "CPU times: user 76 ms, sys: 12 ms, total: 88 ms\n", "Wall time: 82.4 ms\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.5/dist-packages/ipykernel_launcher.py:19: RuntimeWarning: divide by zero encountered in true_divide\n" ] } ], "source": [ "%%time\n", "N = len(algorithmes)\n", "recompenses, choix = np.zeros((N, horizon)), np.zeros((N, horizon))\n", "\n", "for i, alg in tqdm(enumerate(algorithmes), desc=\"Algorithmes\"):\n", " rec, ch = simulation(bras, alg, horizon)\n", " recompenses[i] = rec\n", " choix[i] = ch" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([[ 1., 0., 0., ..., 0., 0., 0.],\n", " [ 1., 0., 0., ..., 1., 1., 1.],\n", " [ 0., 0., 0., ..., 1., 1., 1.],\n", " [ 0., 1., 1., ..., 1., 1., 1.]]),\n", " array([[ 0., 1., 1., ..., 2., 1., 2.],\n", " [ 0., 1., 2., ..., 0., 0., 0.],\n", " [ 0., 1., 2., ..., 0., 0., 0.],\n", " [ 1., 0., 0., ..., 0., 0., 0.]]))" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "recompenses, choix" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On affiche et vérifie les résultats attendus :" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA38AAAH/CAYAAADnmGR+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAAEd0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMC4wKzMz\nMzcuZ2MxNTY5NGIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy9WgwHMAAAgAElEQVR4nOzdd5wU5f3A\n8c/M1usFERAFaR6hH4iAKAJiw1gTC+phYouJPYSYqD8VSxKj2BBBDYiCJioBDDaiCUZJYhREPUCk\nSK8HXN/bNvP8/ridYXdvr3J7d8D3zWtfO/PM8zzzzO7eMt99nnlGU0ophBBCCCGEEEIc0fTWboAQ\nQgghhBBCiOST4E8IIYQQQgghjgIS/AkhhBBCCCHEUUCCPyGEEEIIIYQ4CkjwJ4QQQgghhBBHAQn+\nhBBCCCGEEOIoIMGfEKKGwsJCJk2axNixY+nXrx/5+flceumlzJkzp9YyFRUVXHDBBUyYMIEDBw7Y\n6QsWLCAvL49169Yltc3/+9//yMvLY+nSpUndT12mTZtGXl4elZWVrdaG+sS/H7/5zW8YNmyYvX3s\n2LHcfvvtrdU8tm/fTl5eHvPmzWu1NtTl6aef5q233rLXJ0+ezH/+85+YPFu2bOGiiy4iLy+P7du3\nt3QTk66+z9D+/fu5+uqr6du3LzfeeCMAK1eu5KyzzqJv3768+OKLNep89tlnGTp0KJ988knLHEQr\niH+dkq2+7yPrby368yyEOPJJ8CeEiPHVV19xzTXXYJomTz75JB999BGvvfYaw4YN4/e//z1PPfVU\njTKGYTBp0iRGjRrF3Llzyc3NTXo7Fy9ezKWXXmqv5+fns2zZMkaOHJn0fR/Oxo8fz7Jly+jevXtr\nN+WwtG7dOk466aRa199//30uvfRSgsFgazSvVdx7772899579vpf//pXli9fznPPPccf/vAHAKZP\nn05VVRVvv/02EyZMiCn/zjvv8Mknn7BgwQJGjRrVom3fu3dvm//Bpqmuu+46li1bRmpqKgBffvll\niwafQoi2ydnaDRBCtC1z5swhKyuLqVOnouvVvw917NiRPn36YBgGa9euxTAMHA6HXcbn83HnnXfy\ngx/8oMXa+dVXX8Wsu91u2rdv32L7P1x5vV68Xm9rN+OwtWHDBnr27AlAOBympKSEY445xt7+xz/+\nkSlTplBSUsLDDz/cWs1sURkZGTHrxcXFAIwZMyYmrVu3bvZrF+3444/n9ddfx+12J7ehCaxcubLF\n99lS0tLSSEtLs9fjvzOFEEcn6fkTQsTw+/2Ypkk4HK6x7Z577uGFF16ICfwWL17M9ddfzzXXXMPQ\noUO57bbb6h3qtmzZMgoKChg2bBj5+flcd911rF27NiZPUVERkydPZtiwYQwZMoSCggK+/PJLAAoK\nCpg3bx6rV68mLy+PBQsWJBz2uXLlSq699lry8/Pp378/F110EYsWLbK3W8OeFi9ezCOPPMKpp57K\n4MGD+elPf8rWrVvrPIaNGzdSUFBA//79GTlyJFOnTsUwjJg8BQUFMb2TUN1TZLW5NgUFBfzsZz/j\n7bffZty4cQwYMIAJEyawc+dOPvjgA8477zwGDRrE5Zdfzvr162PKLl68mMsvv5whQ4YkfD8aOwy3\nsrKSRx55hHPOOYf+/fszduxYpk+fHnOsDTlOa78ff/wxZ511FhdccEGd+w2FQjz88MMMGzaMAQMG\ncN1118Uch/UaTZs2jfz8fGbNmgXApk2buO222zjllFPo168fZ511Fs899xymadpld+zYwZ133snI\nkSPp378/48aNY9q0aTXev0SvBWCfUG/atIkTTzwxJs8rr7zCD3/4wzrriWe9NitXruSGG25g0KBB\nnHLKKTz44IMxPYjBYJCpU6faw7FHjBjB5MmT2bNnj50n0dDCyspK8vLymDZtGnBwiPR7773HBRdc\nwODBg2tt2969e7n55psZNGgQw4YN4/7776eqqiomT/Q+CwoKmD17NgB5eXkUFBSQl5fHqlWr+Pzz\nz2PasXnzZm6//XbuuOMOTj75ZC6++GLef//9mLrz8vKYMWMGN998M/379+ebb76JKXvGGWcwYMCA\nWsv+6U9/Yvr06ZxxxhkMGjSIK664glWrVgHVwyKtIc6DBw/mN7/5DQCff/65/X02aNAgLrnkEt59\n991aXyOo/r76zW9+w4gRI+jbty9jxozhd7/7XY3XKlp5eTm//vWvOfnkkxk8eDC//vWv+eKLL5r8\nPfbGG28wYcIE+vXrx/79+2OGff7mN7/hscceo6SkJOY9ADBNk6eeeopTTz2Vfv36UVBQwLZt2+zt\nyfw+Ukoxc+ZMzjnnHAYMGMDw4cO59dZbY/YvhGheEvwJIWKMGjWKoqIiJkyYwPvvv09ZWVmted99\n911+9atf0adPH+bPn88LL7zA7t27mThxIj6fL2GZFStWcNNNN5GTk8PcuXOZN28eTqeTiRMn2iex\nwWCQ66+/no0bNzJjxgzmz59Phw4duP7669m6dat9wt+7d2+WLVvG+PHja+xnw4YNXHvttaSmpjJ3\n7lwWLVrEyJEjufvuu1m8eHFM3unTp3PMMcfw+uuv89xzz7Fq1SoeeuihWo87HA5z8803s3fvXl5+\n+WVeeeUVgsEg8+fPb8hL3CAbN25k6dKlzJgxg5kzZ7J27VruvPNO3nrrLZ566ilefvlldu3axe9+\n9zu7TFPej/rcfvvt/O1vf+PWW2/l3Xff5dZbb+VPf/oTU6dObVJ9M2fO5KGHHrKDtdq88sorZGdn\n8+c//5mZM2eyfv167rjjjpg8GzduZMOGDcyfP5/LLrsMpRQ33XQTu3btYs6cOSxZsoQ77riDmTNn\n8uqrr9rlJk+ezIEDB3jppZdYsmQJkyZN4pVXXqm1Te+99x5jx47lnHPOYe/evYwdO5axY8dSUFDA\nqlWrGDt2LB999BEAXbp0adLrAvDAAw9w2WWX8fbbb3PXXXfx5ptvxgyzvu+++3j99de59dZbee+9\n93j88cf56quvuO666wiFQo3e38yZM7ntttvqDGx++ctfUlhYyDPPPMNf/vIXjj/+eF544YVa80+b\nNs0e1rls2TKmTZvGsmXL6N27tz00+7rrrqO0tJRrrrmGTZs28fjjj7Nw4UJGjRrFXXfdxccffxxT\n54IFCxg4cCDvv/8+eXl5CcuefvrpCcu+9dZbFBcXM3v2bObMmWP/qATVwyKvu+46AD766CPuvfde\nysvL+dnPfkbv3r158803+dvf/sY555zDL3/5yzp7ziZNmsTy5ct5/vnn+eijj3jwwQdZuHBhnX8n\nDz74IEuWLOG+++5j/vz5dOnShf/7v/+LydOY77HZs2dzySWX8Pe//53s7OyYbffeey/nnXce2dnZ\n9ntgmTdvHikpKbz22mtMnz6dtWvXMmXKlJjyyfo+stInT57MBx98wIsvvkhZWRk33XRTra+bEOLQ\nyLBPIUSMCRMmUFxczEsvvcSdd96Jpmnk5eUxcuRILrzwQnr37m3nnTFjBvn5+Tz44IMAdOvWjalT\np3L22WezePFirrjiihr1v/jii3Ts2JGpU6ficrkAeOKJJxg9ejSvvfYav/zlL1m6dCnfffcd8+fP\np3///gBMmTIF0zTZunUrp512Gi6Xi2AwWOtQz1dffRWv18vTTz+Nx+MB4Ne//jUrVqxg7ty5MT1P\n3bp14+abbwbgxBNPZMyYMTVOIqN98cUXbN26lZkzZ3LyyScD8Nvf/pYVK1ZQVFTUwFe6bnv27OGv\nf/0rWVlZ9OrVi2HDhrF06VI+/vhjOnXqBGC/zpZE78cTTzxR5/tRl8LCQpYtW8ZDDz1kv15dunRh\n69atzJo1i1/84hekp6c3qs5zzz2XESNG1JuvW7du3HbbbQB0796dW265hQceeICNGzfSo0cPAHbu\n3Mmbb75pX2OqlGL27NmkpKTYQzE7d+7Mq6++yqeffspPfvITAFavXs0tt9xCnz59ADjuuOPo1asX\nKSkpCdsyfvx4xo8fz5w5c6isrOSWW24B4JFHHmHIkCGcd955jXoNanPeeedxzjnnANC1a1c+/fRT\nFi9ezN13382ePXtYvHgxd911l93L2qVLF+6//35uuOEG/vvf/zb6erlhw4Zx9tln17p969atfPHF\nF/zf//0fZ5xxBgA33XQTq1ev5oMPPkhYJjs7234do/82HQ4HLpfLTps1axZFRUXMnTuXbt26AdWB\n5pdffsnMmTMZPXq0XTY1NZWf//zn9vq8efNqlJ00aVLCsl6vl/vuu89ev+iii3j++eepqKggPT3d\nvh4uNzeXtLQ0vvnmG3w+HxdccIFd980338yIESPo2rVrra/VH/7wBzRNs/82O3XqxGmnncann36a\nML/P52PJkiVMmDCBiy++GIBbb72VTZs2sWnTJjtfY77HevToweWXX55wfxkZGfZwb+s9sIbndunS\nxf7+69atG2PGjOGf//xnTPlkfR+tXr2aTp06MW7cOKD6b/Hpp59m586dmKZpX3oghGg+8lclhIih\naRq33HILy5Yt46mnnuKqq67CNE1mzZplnzhB9eye69ev57TTTosp36VLFzp37szq1asT1v/VV18x\nbNgwO/ADyMzMpE+fPnaZb775BofDQb9+/ew8aWlpPPnkkzX2V5vCwkL69OljnzBZBgwYwJo1a2LS\n8vPzY9Zzc3MpLS2ttW5ryKQVPNRWz6E4/vjjycrKstezsrLIycmxT7SsNKudtb0fXbt25bjjjqv1\n/aiL1dMRX+fw4cMJBoM1hng1RPR7WpchQ4bErOfl5QHw/fff22mdO3eOmVxI0zTKysp49NFHGTt2\n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\nKSoqoqioyO61O3DggJ1WH+t127JlC6+99hqffPIJl1xyCVA9Sccll1zCSy+9xKJFi9i2bRtLly7l\n4YcfJj8/377VwsCBAzEMg+nTp7Nt2zb+9a9/MXv27Cb1EPXo0YO+ffvy0ksv8e9//5tNmzbx/PPP\n1xoENcall15Kbm4ud9xxB8uXL2fHjh18+OGHXHHFFTEzRjZ32XhWz9I///lPvv/+e7Zu3cqtt97K\nyy+/zObNm9mxYwcLFixg06ZNDB06NGEd/fr1w+l0MmfOHLZu3cp///tfbrnlFs4991zKysooLCyM\nGZ4J1b3qI0eOZP78+SxZsoTNmzfz/PPPx0z2As37PZaZmUlZWRn//e9/WySwasj30YIFC+xrzHfu\n3Mm6det4+eWXadeuXUzvvRCi+ciwTyFEjHvuuYf+/fuzYMECbr/9doqLi3G73fTo0YNbb72Vq666\nyh5aNn78eHRd58UXX2TWrFnouk6fPn2YOXNmjXuNWQYPHsysWbOYNm0aV155JeFwmF69evHII4/Y\ns9653W7mzJnDY489xg033EA4HOYHP/gBs2fPtmfcmzhxIl9//TXXXHMNv/zlL2tMStG9e3deeeUV\nnnzySa688kpM0yQvL4/nn38+ZmhWU3g8Hl544QWmTJnCxIkTyczM5JJLLuHaa6+NGTZYUFDA999/\nzzPPPMPjjz/OKaecwpQpU+zjbG7R78dLL73UoPejPs8++yxPP/00jzzyCPv27SMjI4PRo0fz1FNP\n2ZP2JOM4f/GLX/Dtt99yxRVXUFVVxfDhw+u9afrgwYOZNGkSc+fO5c0336R///488cQTFBcXc+ut\nt3LllVfy/vvv8/LLL/PMM89QUFCA3++nY8eOjB8/3p5dNJEVK1bYtwiA6nuvRc8iaaVNnDgxJu2y\nyy6zl7/77rs62z958mRee+017rnnHtxuN1dccUXMCf6DDz7IMcccwzPPPMPevXvJyclh7Nix/OpX\nv7L/Js877zwKCwt56623ePnll+nfvz9TpkypdRbI+jz77LM88MAD/PznP8fr9XL22Wdz1113xbwW\nTZGVlcVrr73GE088wS233EJ5eTkdO3bkxz/+cczMns1dNt748eNZuHAh99xzD6NHj+a5557jd7/7\nHXPmzOGZZ55B0zT7GlJrJtZ4nTt35tFHH+XZZ5/lggsu4KSTTuK+++4jJyeHL774gokTJ/L666/X\n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\nIiIiIiJysOg1/FVXV/Poo49i2zY33XRTl8cDgQCXXnppUi80btw4qqur2b59O/369QNgxYoVlJaW\nMmTIkE7PHTlyJJs3b6axsZHCQi+1bt68mYEDByb1WvsbI77rz40PfDEML/ztfs5fsRnMbGEiIiIi\nInLQ6HXCyLRp05g3bx7FxcVUVlZ2+b8VK1Zw4403JvVCY8aMYfz48dx55500NjayadMmfv/733Px\nxRdjGAbTp0/n7bffTrxuWVkZt956K01NTSxdupR58+Zx/vnn7/13vA+5iXP8ug9/fc3cDFckIiIi\nIiIHi6TGS7711lts2bKFmpoaLMvCsiw+/PBDNmzY8Kle7O6776ahoYGpU6dywQUXcOKJJzJz5kwA\nNmzYQEuLt18vGAzywAMPsGnTJiZPnsy1117L9ddfz/Tp0z/lt7d/aNvR6GLHP+9+2WcfhT8RERER\nEUmTpAa+vPnmm8ycOZNbb72VM888E/COY7jjjju4//77mTRpUlIv1r9/f+6///5uH1u7dm2nzw89\n9FD+8pe/JHXf/Z7bFv+67/z5jCZirkWRUZb52kRERERE5KCQVPj7zW9+ww033JAIfgCXXHIJgUCA\nX//61zz++ONpKzAbtHf+vPDXtuevrfPXN/Ay9e42fOZP9kV5IiIiIiJyEEhq2eeHH37I1772tS7X\nv/KVr/DRRx+lvKjs0zbwxY5/3rnzFzNqybPC+6IwERERERE5SCQV/vr06dPt/r41a9aQn5+f8qKy\nze6dv93DX4QmgoYmfYqIiIiISPoktezznHPOYebMmVxyySUMHjwY13VZt24djzzyCDNmzEh3jVkg\n3vkzul/2GXabKDUG7JvSRERERETkoJBU+LvmmmuwbZv77ruPhoYGAIqLi7n44ouZNWtWWgvMBrtP\n++zY+fMBMSNCDjn7ojQRERERETlIJBX+LMviO9/5DrNnz2bXrl2YpklJSUm6a8tCXqfPiK+2jbgu\nAQNioGWfIiIiIiKSVknt+QOoq6tj3rx5zJ07NxH8tm3blrbCstHunb+w6+KPtwVzDHX+REREREQk\nfZIKf6tXr+a0007jlltu4Xe/+x0AmzZt4vTTT2fp0qVpLTAbGIk9f/HOn9Fh2Wf8mjp/IiIiIiKS\nTkmFv9tvv51zzjmHd955B9P0vmTIkCHMnj2bu+66K60FZoPepn364te0509ERERERNIpqfC3fPly\n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\ny/XMjHTvdRX8iYiIiIjIaVDw50emxYrF4ymea+Vu8xBcpliuJyIiIiIiFzcFf37ksViwFPfIX7BG\n/kRERERE5NQU/PmRd9pnMY38+YI/jfyJiIiIiMipKfjzI9NiKbZpn56MY9M+teZPREREREROg4I/\nP/JYrCUw7VMjfyIiIiIicmoK/vzIu9VDcSd80cifiIiIiIicmoI/PzItFoziyvZ5bOTPopE/ERER\nERE5DQr+/Mg0LBgeE7MYpn5q2qeIiIiIiJwJBX9+ZBoGBia4XOd+rYx0sFghMKgYWiYiIiIiIhc7\nBX9+ZFoMDNPEzHGe+7UyjmIEB2MYRjG0TERERERELnYK/vzINCwYpgnO7HO/Vnq6kr2IiIiIiMhp\nU/DnR6ZhYDE95zzyZ3o8mJnpGGW03k9ERERERE6PrbQbcCnxbvVggvPsgj8zJ4e0N5/D3rApmCZG\nkII/ERERERE5PRr586Pc4O9sR/48KUmYSf/gXP4rAEYZTfsUEREREZHTo+DPj8515I+sTO+/jwWP\n2uZBREREREROl4I/PzrdkT/T4yFz1jTc+/fkL8/MyPdeCV9EREREROR0KfjzI5Pc4C/npPU8CXtx\nLplH9pJ5+c8/IfizKOGLiIiIiIicJgV/fmQaeKd9nmrkLzsLAPeBffnLszTyJyIiIiIiZ0fBnx/5\nRv5OseYv97jnUAKm2328PDMzXz2t+RMRERERkdOl4M+PTAMMTj3y59sE3uXC88+h4+cfm/Zpq9cI\nbDYslSqXVFNFREREROQio33+/Oj4yF/2yevlOe5J2Ie1ciSm+3ggGHj1AIxyFbBoqwcRERERETlN\nfh35S0hIYNiwYbRp04bOnTvz0ksvkVNE8pP58+cTGxtL8+bN6dGjB5999pk/m1oiPHB62T7zTAvN\nXfeX9cOX5Kz5C/BO91TgJyIiIiIiZ8Kvwd/w4cMpV64c8+fPZ8qUKaxevZr33nuvQL21a9fyyCOP\nMGzYMP766y9ee+01PvzwQ+bMmePP5hY7k9NL+JL3eG7w5/xjqa/MCAouieaJiIiIiMhFzG/B37p1\n69i4cSOPP/44YWFhREVFce+99/L111/j8Xjy1U1OTubee++lV69e2Gw2WrVqRcuWLVmxYoW/mlsi\nfPv8nTLhS55pn8eCv3wBX4CjRNonIiIiIiIXL78Ffxs2bCAyMpIKFSr4yho1akRKSgrx8fH56nbq\n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\n8847jBkzhhYtWjB27Fg++OCDUwZ+IiIiIiIiF5KHHrqPUaNGkpWVxZEj//DNN1/Rrl1MidzLrwlf\nIiIi+Pjjjws9FhcXl+999+7dffv8iYiIiIiIXIwef/wZ3n57NP369cRuD6B16zY8+OD/lci9/Drt\n0x/O12F9TTmQkqT+JSVJ/UtKmvqYlCT1LylJ52v/Oi+mfYqIiIiIiEjpUPAnIiIiIiJyCVDwJyIi\nIiIicglQ8CciIiIiInIJUPAnIiIiIiJyCVDwJyIiIiIicglQ8CciIiIiInIJUPAnIiIiIiJyCVDw\nJyIiIiIicglQ8CciIiIiInIJUPAnIiIiIiJyCVDwJyIiIiIicgkwTNM0S7sRIiIiIiIiUrI08ici\nIiIiInIJUPAnIiIiIiJyCVDwJyIiIiIicglQ8CciIiIiInIJUPAnIiIiIiJyCVDwJyIiIiIicglQ\n8CciIiIiInIJUPBXghISEhg2bBht2rShc+fOvPTSS+Tk5JR2s+QCsm/fPkaMGEGbNm1o27YtDz74\nIAcPHgQgLi6OW2+9lVatWtGtWzc+/PBD8m7bOWfOHPr160fz5s3p27cv8+fPL63HkAvAq6++Sv36\n9X3vly9fzuDBg2nRogW9evXiyy+/zFd/8uTJ9O7dmxYtWjB48GBWrFjh7ybLBWL8+PF06tSJZs2a\nMWTIELZt2wbod5icu02bNnHbbbfRunVr2rVrxwMPPMD+/fsB/Q6TsxMXF0efPn3o2rVrvvJz6U9O\np5MXX3yRK6+8kjZt2jBs2DDf33KlwpQSM2DAAPOJJ54wU1JSzL1795qxsbHmm2++WdrNkgtInz59\nzEcffdRMS0szDx8+bN56663mPffcY2ZmZpqdO3c2x4wZYx49etTcsmWL2blzZ3PKlCmmaZrmpk2b\nzMaNG5vz5883s7KyzAULFphNmjQx4+LiSvmJ5Hy0ceNG84orrjDr1atnmqZpHjp0yGzevLk5efJk\nMzMz01y5cqXZokULc8mSJaZpmubPP/9stmjRwvzrr7/MrKws88svvzRbtGhhJiYmluZjyHnoyy+/\nNHv06GHGxcWZR48eNd9++23z0Ucf1e8wOWc5OTlmhw4dzDfffNPMzs42U1NTzREjRpg33nijfofJ\nWfnxxx/NmJgY87777jO7dOniKz/X/vT666+b/fr1M+Pj483U1FTzySefNAcNGlQqz2iapqmRvxKy\n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\n", "text/plain": [ "