Tempo estimado de conclusão: 1 semana
Nesta tarefa você vai implementar um agente Monte Carlo para resolver um ambiente gridworld. O agente deve aprender a sair do ponto A (canto superior esquerdo) e chegar ao ponto B (canto inferior direito) utilizando apenas as ações cima, baixo, esquerda e direita. Não use IA generativa para escrever o código — compreender o algoritmo faz parte do exercício.
- Reinforcement Learning, by the Book
- Bellman Equations, Dynamic Programming, GPI — Parte 2
- Monte Carlo & Off-Policy Methods — Parte 3
Capítulo 5 do clássico Reinforcement Learning: An Introduction aprofunda o método de Monte Carlo.
Esses cursos são gratuitos, vc tem que entrar como ouvinte, se tiver dificuldade de acessar manda mensagem pra algum dos lideres
- Fundamentos do Aprendizado por Reforço
- Métodos de Aprendizado Baseados em Amostras
- Especialização completa (4 cursos) — apenas os dois acima são relevantes aqui.
Seu ambiente é um tabuleiro com recompensas negativas pequenas (-0.05) em todas as células, exceto na meta (B) que concede +1.0 e termina o episódio, o agente se movimenta pelo tabuleiro atraves de movimentos para direita, esquerda, cima e baixo, e o objetivo é chegar na célula B.
O agente começa em A e deve aprender a política ótima usando Monte Carlo.
A imagem a seguir tem o pseudo-código de um dos métodos de monte carlo possiveis, existem outros pseudo-códigos de outros métodos de monte carlo no livro, sinta-se livre pra implementar esse ou algum dos outros(os outros sao mais legais).
- Notebook Jupyter contendo (nao use gpt nessa parte de preferencia):
- Implementação do ambiente gridworld.
- Algoritmo Monte Carlo (inclua comentários explicativos).
- Impressão das matrizes de recompensas, valores e política final (veja exemplo abaixo).
- (Opcional)Visualização usando matplotlib.
- Apresentação (PowerPoint ou similares) resumindo:
- Histórico do método de Monte Carlo.
- Ideia central do algoritmo e do ambiente (método de primeira visita, retorno, média incremental, etc.).
rewards
[[-0.05 -0.05 -0.05 -0.05 -0.05]
[-0.05 -0.05 -0.05 -0.05 -0.05]
[-0.05 -0.05 -0.05 -0.05 -0.05]
[-0.05 -0.05 -0.05 -0.05 -0.05]
[-0.05 -0.05 -0.05 -0.05 1.00]]
-------------
valores
[[3.93 4.43 4.99 5.61 6.30]
[4.43 4.99 5.61 6.30 7.07]
[4.99 5.61 6.30 7.07 7.91]
[5.61 6.30 7.07 7.56 8.86]
[6.30 7.07 7.91 8.86 9.91]]
-------------
política
['right', 'right', 'right', 'right', 'down']
['down', 'right', 'right', 'right', 'down']
['right', 'right', 'right', 'right', 'down']
['right', 'right', 'down', 'right', 'down']
['right', 'right', 'right', 'right', 'right']