Julia Tiemi Alkmim Morishita e Marcelo Luiz Harry Diniz Lemos
Esse trabalho consiste em ajudar Márcio novamente. Na primeira parte do trabalho, ajudamos ele a programar um AGV - Automated Guided Vehicle - que percorre sua fábrica, coletando a produção. Definimos as rotas do veículo a partir de um mapa estático utilizando quatro algoritmos de busca para encontrar o menor caminho entre o ponto inicial de cada instalação até o ponto de coleta. Nesse segundo trabalho prático, vamos resolver o mesmo problema, mas com o uso de aprendizado por reforço.
A solução da tarefa envolve um agente que resolve o problema através de apredizado por reforço. Isso quer dizer que ele aprende ao interagir com o ambiente. A cada ação que o agente executa, ele recebe uma recompensa de acordo com seu resultado. Assim, o objetivo central desse agente é maximizar a recompensa total. O ambiente foi modelo por um Processo de Decisão de Markov, no qual:
Nesse problema, utilizamos apredizado por diferença temporal. A ideia por trás disso é atualizar a função de valor do estado considerando a diferença entre o valor atual e a estimativa de um novo valor, obtido a partir da fórmula:
Na qual o valor novo de
Então, para cada estado
A implementação desse problema começa o carregamento do mapa e aquisição das variáveis passadas por parâmetro
A partir de uma posição inicial escolhida aleatoriamente que será seu estado inicial, ele decidirá seu passo seguinte. Em
O agente repete isso até encontrar uma parede, ficar preso ou encontrar o objetivo. Qualquer uma dessas ações termina o episódio, podendo começar um novo logo em seguida.
A política encontrada foi satisfatória. Analisando o arquivo pi.txt, é possível perceber que o agente está convergindo para a política ótima de acordo com as recompensas que ele recebe em cada posição do mapa.
Os resultados encontrados nesta parte do projeto foram um pouco inesperados. Apesar de que os arquivos gerados com a política aprendida foram sempre satisfatórios como dito acima, os gráficos de aprendizado gerados para diversos valores de
O esperado era que as recompensas fossem aumentando gradualmente a cada episódio até convergir para um ponto máximo, mas isso não foi observado.
Surgimos com algumas suposições para o motivo dos resultados encontrados. Sobre o formato do gráfico, é muito possível que isso tenho sido causado pelo valor constante do
Tentamos fazer com
O valor das recompensas especificado gerou esse tipo de problema, por isso, o agente mostrou melhores resultados alterando o valor da recompensa em pontos de localização para
Também tentamos fazer um