TD : Les algorithmes pour le problème des bandits à K-bras. Enseignant: Antoine Bonnefoy 15 janvier 2014 1 Compromis Exploration/Exploitation Pour un problème de bandit à K bras donné, il existe plusieurs algorithmes pour le résoudre. Les deux premiers que nous utiliserons sont : l’algorithme -glouton et l’algorithme UCB1. Nous verrons dans ce premier exercice comment est géré les compromis entre exploration et exploitation dans ces algorithmes. 1.1 Algorithme -glouton Question 1 : Rappelez l’algorithme -glouton. Question 2 : De quel manière le paramètre influe sur le compromis exploration exploitation dans l’algorithme. Question 3 : Au fur et à mesure de l’avancement de l’algorithme l’estimation des récompenses moyennes respectives de chaque bras se précise. Comment faire pour limiter l’exploration quand l’algorithme est déjà bien avancé ? Question 4 : Selon vous comment doit évoluer quand le nombre de bras évolue ? Question 5 : Les graphiques de la figure 1 confirment-ils votre intuition ? Comparer l’efficacité d’un paramètre par rapport aux autres lorsque le nombre de bras augmente. 1.2 Algorithme UCB1 Notons – µ∗ = maxi (µi ) – ∆j = µ∗ − µj – Nj (t) le nombre de fois que l’on a choisit le bras j jusqu’à l’instant t. – Sj (t) La somme des récompenses obtenues sur le bras j jusqu’à l’instant t. 1 Bandit à 3 bras 140 epsilon=0.005 epsilon=0.01 epsilon=0.05 epsilon=0.1 120 Regret 100 80 60 40 20 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 3500 4000 4500 5000 3500 4000 4500 5000 3500 4000 4500 5000 Bandit à 5 bras 180 epsilon=0.005 epsilon=0.01 epsilon=0.05 epsilon=0.1 160 140 Regret 120 100 80 60 40 20 0 0 500 1000 1500 2000 2500 3000 Bandit à 10 bras 250 epsilon=0.005 epsilon=0.01 epsilon=0.05 epsilon=0.1 200 Regret 150 100 50 0 0 500 1000 1500 2000 2500 3000 Bandit à 100 bras 450 epsilon=0.005 epsilon=0.01 epsilon=0.05 epsilon=0.1 400 350 Regret 300 250 200 150 100 50 0 0 500 1000 1500 2000 2500 3000 Figure 1 – Ces graphs représentent le regret en fonction du nombre d’iterations de l’algorithme pour différents nombre de bras, et différents paramètre . Pour chacun des graphs, les bras suivent tous une loi Bernoulli, un avec p = 0.9 et les autres p = 0.5. 2 L’algorithme UCB1 se base sur l’équation suivante. s Sj (t) 2 log n + Lj (t) = Nj (t) Nj (t) (1) Question 1 : Quel bras j choisit l’algorithme UCB1 ? Question 2 : Dans l’équation (1) quelle partie correspond à l’exploitation et quelle partie à l’exploration ? Proposer alors une variante de UCB1 qui permet de régler le compromis exploration/exploitation. Question 3 : La borne sur le regret pour UCB1 s’écrit sous la forme : Rn ≤ c1 C log n + c2 X 1 où C = ∆j j,µ 6=µ∗ j Quels sont, d’après cette equation, les problèmes de bandits difficiles à résoudre ? 2 Étude du regret d’une stratégie simple Nous allons étudier une stratégie simple pour résoudre le problème des bandits à 2-bras. Chacun des 2 bras suit une loi de Bernoulli de paramètre µ1 , µ2 avec µ1 > µ2 > 0. Rappel : Un tirage selon la loi de Bernoulli de paramètre p donne 1 avec une probabilité p et 0 avec une probabilité 1 − p. Plus formellement une variable X aléatoire suivant une loi de Bernoulli de paramètre p vérifie : P(X = 1) = p P(X = 0) = 1 − p Notations : – ∆ = µ1 − µ2 > 0 – I(t) le numéro du bras choisit au temps t – Xj (t) la récompense obtenu au temps t sur le bras j. On considère une récompense nulle si le bras j n’est pas choisit. – Nj (t) le nombre de fois que l’on a choisit le bras j jusqu’à l’instant t. La stratégie : Soit m, t ∈ N tels que t ≥ 2m. pour les m premiers coups on choisit le bras 1, pour les m coups suivant on prend le bras 2. Cela revient à faire I(1) =... = I(m) = 1 I(m + 1) =... = I(2m) = 2 On définit alors µ̂1 , µ̂2 , les moyennes empiriques observées au temps t = 2m. P2m P2m X1 (t) t=1 X1 (t) = t=1 µ̂1 = N1 (2m) m P2m P2m X2 (t) X2 (t) µ̂2 = t=1 = t=1 N2 (2m) m Pour les coups restant t ≥ 2m on jouera toujours le bras qui a la plus grande moyenne empirique. ( 1 si µ̂1 ≥ µ̂2 ∀t ≥ 2m, I(t) = (2) 2 si µ̂1 ≤ µ̂2 3 Question 1 : Rappelez la définition du regret. Question 2 : Exprimez Rt quand t = 2m. Question 3 : Utilisez l’inégalité de Chernoff-Hoeffding et ∆ pour trouver un majorant pour la probabilité P(µ̂1 ≤ µ̂2 ), qui représente la probabilité que les moyennes empiriques ne soient pas dans le même ordre que les vraies moyennes µ1 > µ2 . Inégalité de Hoeffding-Chernoff appliqué à notre cas : Pour tout a > 0 ( P(µ̂j ≥ µj + a) ≤ exp(−2a2 m) P(µ̂j ≤ µj − a) ≤ exp(−2a2 m) Question 4 : Trouver un majorant de Rt quand t ≥ 2m à l’aide de la question 2 et de P(µ̂1 ≤ µ̂2 ) Question 5 : Supposons à présent qu’il existe c1 , c2 tel que 2∆2 ≤ c1 < c2 et c1 log(t) ≤ m ≤ c2 log(t). Montrez que le regret verifie : Rt = O(log t) Question 6 : Que signifie cette borne sur le regret ? 3 Liste chainée et structure Question 1 : Définissez une structure animal qui contiendra un champ position pos, position est un type basé sur une structure que vous définirez, et energie un entier entre 0 et 100. Cette structure est destinée à être utilisée sous forme de liste, ajoutez le/les champs nécessaires dans ce but. Question 2 : Dessinez une liste d’éléments de cette structure, avec un élément vide que l’on appelle sentinelle servant uniquement à pointer vers le premier élément de la liste. Question 3 : Écrire la fonction qui ajoute un élément en tête de liste. La liste contient au moins la sentinelle. Pensez bien à l’allocation de la mémoire. Question 4 : Écrire la fonction qui enlève un élément en fin de liste. Attention au cas ou la liste ne contient que la sentinelle. Question 5 : Écrire la fonction qui cherche les deux animaux de la liste qui sont les plus proches l’un de l’autre. 4