Trabalho de Conclusão de Curso
Desenvolvimento de um agente inteligente para jogar jogos genéricos de Atari 2600
Registro en:
ALMEIDA, Lucas Antunes de. Desenvolvimento de um agente inteligente para jogar jogos genéricos de Atari 2600. Orientador: Marcelo Resende Thielo. 2019. 67 p. Trabalho de Conclusão de Curso (Bacharel em Ciência da Computação) - Universidade Federal do Pampa, Curso de Ciência da Computação, Alegrete, 2019.
Autor
Almeida, Lucas Antunes de
Institución
Resumen
Among the areas addressed in Computing, the evolution of Artificial Intelligence has been highlighting, especially in the area of games. The aim of this paper is the development of an intelligent agent capable of multiplayer games. For this, a study was first made on the necessary concepts, which constitute all the theoretical foundations of this work. For the abstraction of machine learning and image processing concepts, we used the Keras and Gym libraries. This paper presents the definition of models of Artificial Intelligence, Machine Learning, Deep Learning, Reinforcement Learning, Deep Reinforcement Learning, Q Learning, and Asynchronous Advantage Actor-Critic adapted to the context of this work. This paper surveyed the state of the art in the area of algorithms for playing generic games, presenting the works that are most relevant to the current context. Agents designed to effectively play multiple games must have the ability to adapt to the environment in which they find themselves, thus determining which actions best suit each situation. The quality of an agent is measured by the distance between its scores and the scores obtained by human players. This paper presents the development of an agent capable of playing multiple games without the need to define rules in advance, receiving only the game screen image, the current score and whether the current state represents an endgame state. For this, the diagrams of agent development are presented, together with their respective information. To prove the effectiveness of the agent, the scores obtained in the Space Invaders, Breakout, Demon Attack, and Kung Fu Master games were compared to the scores obtained by human players. Dentre as áreas abordadas na Computação, a evolução da Inteligência Artificial vem se destacando, em especial na área de jogos. O objetivo deste trabalho é o desenvolvimento de um agente inteligente capaz de jogar múltiplos jogos. Para isto, primeiramente foi realizado um estudo sobre os conceitos necessários, os quais constituem toda a fundamentação teórica deste trabalho. Visando a abstração de conceitos de aprendizado de máquina e processamento de imagens, foram utilizadas as bibliotecas Keras e Gym. São apresentados modelos de Inteligência Artificial, Aprendizado de Máquina, Aprendizagem Profunda, Aprendizagem por Reforço, Aprendizagem por Reforço Profundo, Aprendizagem Q e Ator Crítico de Vantagem Assíncrono, adaptados para o contexto deste trabalho. Este trabalho realizou o levantamento do estado da arte na área de algoritmos para jogar jogos genéricos, apresentando os trabalhos que possuem maior relevância para o contexto atual. Agentes projetados para jogar efetivamente múltiplos jogos devem possuir a capacidade de adaptação ao ambiente no qual se encontram, determinando assim quais ações melhor se adequam a cada situação. A qualidade de um agente é medida pela distância entre suas pontuações e as pontuações obtidas por jogadores humanos. Este trabalho apresenta o desenvolvimento de um agente capaz de jogar múltiplos jogos, sem a necessidade de definir regras previamente, recebendo apenas a imagem da tela do jogo, a pontuação atual e se o estado atual representa um estado de fim de jogo. Para isto são apresentados os diagramas do desenvolvimento do agente, em conjunto com suas repectivas informações. Para provar a eficiência do agente, as pontuações obtidas nos jogos Space Invaders, Breakout, Demon Attack e Kung Fu Master foram comparadas com as pontuações obtidas por jogadores humanos.