Universidad Rey Juan Carlos Inteligencia Artificial Ingenierı́a Informática Hoja de Problemas 11 Aprendizaje por refuerzo Curso 2011–2012 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Q-learning son ciertas (a) Para garantizar la convergencia de los valores Q a los valores Q∗ óptimos, el entorno tiene que ser determinista. (b) Para garantizar la convergencia de los valores Q a los valores Q∗ óptimos, el entorno tiene que ser estacionario. (c) Los algoritmos de aprendizaje por refuerzo aprenden la pólitica óptima π ∗ (s) usando un conjunto de parejas < s, π ∗ (s) > (d) Los algoritmos de aprendizaje por refuerzo en su versión básica necesitan almacenar un valor Q(s, a) para toda pareja estado-acción < s, a > 2. Considera el problema en figura. -10 s0 50 s1 -10 s2 -10 -10 s3 -10 s4 100 s5 -10 Si hay una flecha entre dos estados si y sj significa que se puede ejecutar un acción que hace transitar el agente, de manera determinista, del estado si al estado sj , recibiendo el correspondiente reward. Los estados s0 y s5 son estados terminales. (a) Calcule los valores V ∗ (s) para todos los estados, suponiendo que γ = 0,8. Calcule también los valores de Q∗ (s, a) para todas las parejas estado-acción, indicando para cada estado las acciones que el agente ejecutará, una vez aprendida Q∗ (s, a). Solución: Q*:30 -10 s0 50 Q*:50 s1 V*:50 Q*:26.8 -10 s2 -10 V*:46 Q*:26.8 Q*:46 -10 s3 -10 Q*:46 V*:70 s4 100 Q*:100 s5 -10 V*:100 Q*:70 (b) Calcule los valores V ∗ (s) para todos los estados, suponiendo que γ = 0,99. Calcule también los valores de Q∗ (s, a) para todas las parejas estado-acción, indicando para cada estado las acciones que el agente ejecutará, una vez aprendida Q∗ (s, a). ¿Que diferencia hay respecto al caso anterior? Argumente su respuesta. Solución: Como en este caso el valor de γ, 0.99, es mayor que el valor de γ anterior, el agente de más importancia a los rewards futuros. Siendo capaz de ver más allá que el agente del caso anterior, aprende que en el estado s1 es mejor ir a la Página 1 de 2 Hoja de Problemas 11 Aprendizaje por refuerzo Q*:56.6 -10 s0 50 Q*:50 s1 Q*:67.3 -10 s2 Q*:78.1 -10 s3 s4 100 s5 Q*:100 V*:67.3 -10 V*:78.1 -10 V*:89 Q*:78.1 Q*:67.3 -10 V*:100 Q*:89 derecha por que al final hay un estado terminal más valioso (s6 ) que el estado terminal más cercanod, s0 . 3. Considera el siguiente problema con un único estado. Hay una tragaperra con tres posibles botones (A, B y C), cada uno de los cuales devuelve un reward de 4, 5 y 3 respectivamente. Queremos aprender a seleccionar el botón que má reward genera, utilizando Q-learning con γ = 0 (ya que es un problema con un único estado) para entornos deterministas. Supongamos que al principio los valores Q(a) son todos 0. (a) Compara la suma de los rewards obtenidos ası́ como los valores de Q(a) aprendidos después de 5 interacciones con la tragaperra, usando la polı́tica se selección greedy, -greedy con = 0,01 y -greedy con = 0,1. Si la selección de la acción a ejecutar se basa en el valor Q(a) y hay más de una acción con el mismo valor de Q(a), se elije en order alfabético. Para simular la aleatoriedad de las polı́ticas -greedy utilice la siguiente secuencia de números aleatorios {0,30,950,40,9990,2} para decidir si usar la acción a con valor Q(a) máximo. En el caso que haya que elegir una de las otras acciones al azar, elija en orden alfabético. Solución: (1) greedy La polı́tica greedy selecciona la acción con valor de Q(a) mayor. Al principio son todos 0, por lo tanto seleccionará la acción A, que devuelve 4. X Iteración 1: rewards = 4, Q(A) = 4, Q(B) = 0, Q(C) = 0 A partir de esta iteración, la polı́tica greedy siempre seleccionará la acción A X Iteración 2: rewards = 8, Q(A) = 4, Q(B) = 0, Q(C) = 0 X Iteración 3: rewards = 12, Q(A) = 4, Q(B) = 0, Q(C) = 0 X Iteración 4: rewards = 16, Q(A) = 4, Q(B) = 0, Q(C) = 0 X Iteración 5: rewards = 20, Q(A) = 4, Q(B) = 0, Q(C) = 0 (2) -greedy con = 0,01 La polı́tica -greedy primero genera un número aleatorio entre 0 y 1, y si este es menor que 1 − , selecciona la acción a con valor Q(a) máximo, en caso contrario selecciona una de las otras acciones al azar. El primer valor aleatorio es 0.3 < 0.99, por lo tanto el agente selecciona la acción con valor Q(a) máximo, en este caso A ya que todas tiene un valor 0 X Iteración 1: rewards = 4, Q(A) = 4, Q(B) = 0, Q(C) = 0 Página 2 de 2 Hoja de Problemas 11 Aprendizaje por refuerzo El segundo valor aleatorio es 0.95 < 0.99, por lo tanto se selecciona A X Iteración 2: rewards = 8, Q(A) = 4, Q(B) = 0, Q(C) = 0 El tercer valor aleatorio es 0.4 < 0.99, por lo tanto se selecciona A X Iteración 3: rewards = 12, Q(A) = 4, Q(B) = 0, Q(C) = 0 El cuarto valor aleatorio es 0.999 > 0.99, por lo tanto se selecciona una acción que no sea A, en este caso B (ya que viene antes que C en order alfabético) X Iteración 4: rewards = 17, Q(A) = 4, Q(B) = 5, Q(C) = 0 El quinto valor aleatorio es 0.2 < 0.99, por lo tanto se selecciona la acción con valor Q(a) máximo, en este caso B X Iteración 5: rewards = 22, Q(A) = 4, Q(B) = 5, Q(C) = 0 (3) -greedy con = 0,1 El primer valor aleatorio es 0.3 < 0.9, por lo tanto el agente selecciona la acción con valor Q(a) máximo, en este caso A ya que todas tiene un valor 0 X Iteración 1: rewards = 4, Q(A) = 4, Q(B) = 0, Q(C) = 0 El segundo valor aleatorio es 0.95 > 0.9, por lo tanto se selecciona una acción que no sea A, en este caso B (ya que viene antes que C en order alfabético) X Iteración 2: rewards = 9, Q(A) = 4, Q(B) = 5, Q(C) = 0 El tercer valor aleatorio es 0.4 < 0.9, por lo tanto se selecciona B X Iteración 3: rewards = 14, Q(A) = 4, Q(B) = 0, Q(C) = 0 El cuarto valor aleatorio es 0.999 > 0.9, por lo tanto se selecciona una acción que no sea B, en este caso A (ya que viene antes que C en order alfabético) X Iteración 4: rewards = 18, Q(A) = 4, Q(B) = 5, Q(C) = 0 El quinto valor aleatorio es 0.2 < 0.9, por lo tanto se selecciona B X Iteración 5: rewards = 23, Q(A) = 4, Q(B) = 5, Q(C) = 0 (b) ¿Que pasarı́a si se inicializan los valores Q(a) todos a 10, y se aplica la polı́tica greedy? Solución: La polı́tica greedy selecciona la acción con valor de Q(a) mayor. Al principio son todos 10, por lo tanto seleccionará la acción A, que devuelve 4. X Iteración 1: rewards = 4, Q(A) = 4, Q(B) = 10, Q(C) = 10 Página 3 de 2 Hoja de Problemas 11 Aprendizaje por refuerzo En la segunda iteración, la acción seleccionada por la polı́tica greedy será B X Iteración 2: rewards = 9, Q(A) = 4, Q(B) = 5, Q(C) = 10 En la tercera iteración, la acción con valor Q(a) máximo es C X Iteración 3: rewards = 12, Q(A) = 4, Q(B) = 5, Q(C) = 3 A partir de la cuarta iteración, el agente siempre seleccionará la acción B. X Iteración 4: rewards = 17, Q(A) = 4, Q(B) = 5, Q(C) = 3 X Iteración 5: rewards = 22, Q(A) = 4, Q(B) = 5, Q(C) = 3 Página 4 de 2