NXT Mindstorms e aprendizagem por reforço - Coelho, João Paulo Carracha (2011)
A aprendizagem por reforço é uma aprendizagem por tentativa e erro, onde o agente, através da interação com o ambiente, aprende a realizar uma tarefa com base em recompensas positivas e negativas. Esta dissertação pretende analisar o comportamento de um robô implementado com um algoritmo de aprendizagem por reforço cujo objetivo consiste em seguir um percurso. Para tal, foi utilizado o robô educacional criado pela Lego, o NXT Mindstorms, implementado com um algoritmo de aprendizagem por reforço, o Q-learning, utilizando os métodos de pesquisa Softmax e -greedy. Para programar o robô utilizou-se a linguagem de programação lejOS NXJ. Realizaram-se várias experiências com o objetivo de determinar a influência das variáveis do algoritmo Q-learning (taxa de aprendizagem e fator de desconto) e dos métodos de pesquisa Softmax (temperatura) e -Greedy (taxa de exploração), dos valores da função de recompensa e da utilização de vários percursos. Concluiu-se, através das experiências realizadas, que um robô implementado com um algoritmo de aprendizagem por reforço consegue aprender a tarefa em poucas iterações (inferior a 100 iterações). Também é possivel concluir, através da experiência para determinar a influência das variáveis do algoritmo e dos métodos de pesquisa, que o robô apresenta melhores resultados quando o valor da taxa de exploração diminui. Conclui-se que, para todas as experiências realizadas neste trabalho o método de pesquisa Softmax apresenta melhores resultados em relação ao -Greedy e o robô tem melhor desempenho no percurso em linha recta. Como trabalho futuro pretende-se implementar outro algoritmo de aprendizagem por reforço , como o State-Action-Reward-State-Action (SARSA) e outros métodos de pesquisa com o objetivo de determinar qual o mais indicado para esta tarefa. Pretende-se também construir um robô para outras tarefas como seguir uma fonte de luz ou som; ### Abstract Reinforcement learning is learning by trial and error, where the agent through interaction with the environment, learn a task based on positive and negative rewards. This master's thesis aims to analyze the behavior of a robot implemented with a reinforcement learning algorithm whose goal is to follow a route. For this purpose was used the educational robot created by Lego, the NXT Mindstorms, implemented with a reinforcement learning algorithm, the Q-learning, using the research methods, Softmax and -Greedy, implemented with the programming language lejOS NXJ. Were performed several experiments in order to determine the in uence of the variables of Q-learnig algorithm (learning rate and discount factor) and research methods Softmax (temperature) e -Greedy (exploration rate), the values of reward function and the uses of several routes. It was concluded, through the experiments, that a robot implemented with a reinforcement learning algorithm can learn the task in a few iterations (less than 100 iterations). It is also possible to conclude, through the experiment to determine the in uence of the variables of the algorithm and of the methods of research, that the robot produces better results when the value of exploration rate decreases. It also conclude that for all experiments in this work the research method Softmax produces better results compared to the -Greedy and the robot has better performance following a straight line. As future work we intend to implement another reinforcement learning algorithm, such as SARSA and other research methods in order to determine the best to this task. The aim is also build a robot to perform other tasks such as following a light or sound source.