Popis: |
Algoritmer baserade på reinforcement learning har framgångsrikt tillämpats på många olika maskininlärningsproblem. I denna rapport presenterar vi hur vi implementerar varianter på deep Q-learning-algoritmer på det klassiska datorspelet Snake. Vi ämnar undersöka hur en sådan algoritm ska konfigureras för att lära sig spela Snake så bra som möjligt. För att göra detta studerar vi hur inlärningen beror på ett urval av parametrar, genom att variera dessa en och en och studera resultaten. Utifrån detta lyckas vi konstruera en algoritm som lär sig spela spelet så pass bra att den som högst får 66 poäng, vilket motsvarar att täcka 46 % av spelplanen, efter drygt fem timmars träning. Vidare så finner vi att den tränade algoritmen utan större svårigheter hanterar att hinder introduceras i spelet. Reinforcement learning algorithms have proven to be successful at various machine learning tasks. In this paper we implement versions of deep Q-learning on the classic video game Snake. We aim to find out how this algorithm should be configured in order for it to learn to play the game as well as possible. To do this, we study how the learning performance of the algorithm depends on some of the many parameters involved, by changing one parameter at a time and recording the effects. From this we are able to set up an algorithm that learns to play the game well enough to achieve a high score of 66 points, corresponding to filling up 46\% of the playing field, after just above 5 hours of training. Further, we find that the trained algorithm can cope well with an obstacle being added to the game. |