Biblioteca Q-Learning para desenvolvimento de simulações com agentes na plataforma Netlogo

Tipo de documento

Monografia

Data

2019

Modalidade de acesso

Acesso aberto

Centro

CEAVI

Instituição

Programa

Área do conhecimento

Ciências Exatas e da Terra

Editora

Autor

Kons, Kevin

Orientador

Fernando dos Santos

Coorientador

Projetos de Pesquisa

Unidades Organizacionais

Fascículo

Resumo

Este trabalho apresenta uma extensão para a plataforma NetLogo que possibilita aos desenvolvedores de simulações com agentes incorporarem o comportamento de aprendizagem por reforço Q-Learning. A extensão incorporou novos comandos ao NetLogo para que o desenvolvedor possa facilmente especificar os seguintes elementos de aprendizagem por reforço: estados, ações, recompensa, seleção de ações, cláusula de fim de episódio, reinício de episódio, taxa de aprendizagem e fator de desconto. Além disto, a extensão fornece comandos para ativar o algoritmo de aprendizagem Q-Learning. A partir da extensão criada, os desenvolvedores não precisam se preocupar em implementar estruturas de dados para os elementos de aprendizagem e nem o algoritmo Q-Learning, facilitando o desenvolvimento de simulações. A corretude da implementação da extensão foi verificada através desenvolvimento do cenário clássico de aprendizagem cliff walking. Neste cenário, a simulação desenvolvida com a extensão encontrou a política ótima, evidenciando a corretude da sua implementação. Para verificar a complexidade de uso da extensão, foi realizada uma comparação das características do código de uma simulação que utiliza a extensão com uma simulação implementada sem a extensão. A partir desta comparação foi possivel observar que o código de uma simulação que utilize a extensão é menos complexo. A extensão desenvolvida está disponível para uso da comunidade através do extension manager do NetLogo, juntamente com documentação e exemplo de utilização.

Abstract

This paper presents an extension to the NetLogo platform that enables agent-based modeling and simulation developers to incorporate reinforcement learning behavior through Q-Learning. The extension has added new commands to NetLogo so that the developer can easily specify the following reinforcement learning elements: states, actions, reward, action selection, end of episode clause, episode restart, learning rate, and discount factor. In addition, the extension provides commands to use the Q-Learning algorithm. With the use of the extension, developers do not have to worry about implementing data structures for learning elements neither the Q-Learning algorithm, easing the development of simulations. The correctness of the implementation of the extension was verified by developing the classic cliff walking learning scenario. In this scenario, the simulation developed with the extension found the optimal policy, showing the correctness of its implementation. To verify the complexity of using the extension, a comparison of the code characteristics of a simulation using the extension with a simulation implemented without the extension was performed. From this comparison it was possible to observe that the code of a simulation that uses the extension is less complex. The developed extension is available for community use through the NetLogo extension manager, along with documentation and an usage example.

Citação

DOI

Avaliação

Revisão

Suplementado Por

Referenciado Por

Licença Creative Commons

Exceto quando indicado de outra forma, a licença deste item é descrita como Attribution-NonCommercial-ShareAlike 4.0 Brazil