Biblioteca Q-Learning para desenvolvimento de simulações com agentes na plataforma Netlogo
Arquivos
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
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.
Palavras-chave
Citação
DOI
URL permanente
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