AbstractsComputer Science

Attacking SameGame using Monte-Carlo Tree Search

by Simon Klein




Institution: KTH Royal Institute of Technology
Department:
Year: 2015
Keywords: Natural Sciences; Computer and Information Science; Computer Science; Naturvetenskap; Data- och informationsvetenskap; Datavetenskap (datalogi); Master of Science in Engineering - Computer Science and Technology; Civilingenjörsexamen - Datateknik; Datalogi; Computer Science
Record ID: 1345081
Full text PDF: http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-167145


Abstract

Since the birth of the computer, the creation of algorithms to beat humans in games has been a hot topic, algorithms that if successful often have vast implications. For some games and problems however, it has been notoriously difficult for computers to perform well. But in 2006 an algorithm known as Monte-Carlo Tree Search (MCTS) was invented that boosted the performance of computers in some of the difficult two-player games, e.g. computer Go. Around the same time researchers started to look into how MCTS could be applied to single-player domains, one of them was the puzzle of SameGame. This thesis will continue the work on SameGame to further improve algorithms, ideas and knowledge on how to attack puzzles using MCTS. We mainly used a test set consisting of 250 randomly generated SameGame instances to evaluate the performance of various techniques. Doing this we managed to devise - among many things - a number of MCTS variations dynamically updating their explorative factor, leading not only to a clear improvement in performance but also mitigating the task of manually tuning parameters for the programmer. By combining ideas that empirically proved themselves successful in isolation, an algorithm matching (and sometimes outperforming) the performance of the previous NMCTS algorithm while using only a fraction of the resources was created, and on a different well known test set two competitive scores of 78936 and 80146 points were achieved. The results suggest that there are still many ways in which MCTS for single-player domains may be improved, and many unexplored lines of thought remain. This work's contribution lies not in a single algorithmic idea tuned to perfection, but in the survey of several ideas and their combination, providing a solid foundation for future research to build upon. ; Sedan datorns skapelse har algoritmer för att besegra människor i spel varit ett hett forskningsämne, algoritmer som när de är lyckade ofta får brett genomslag. För vissa spel har det dessvärre visat sig vara oerhört svårt för datorer att slå människor. Men år 2006 uppfanns en algoritm vid namn Monte-Carlo Tree Search (MCTS) som förbättrade datorernas spelförmåga i några av de svåra spelen, bl.a. Go. Omkring ungefär samma tidpunkt började forskare även undersöka hur MCTS kunde tillämpas på enspelar-problem, ett av dem var pusslet SameGame. Detta arbete kommer att fortsätta forskningen på SameGame för att förbättra algoritmer, idéer och kunskap om hur pussel kan angripas med MCTS. Vi använde huvudsakligen en testuppsättning bestående av 250 slumpgenererade SameGame-instanser för att utvärdera hur olika metoder presterar. Genom detta tillvägagångssätt lyckades vi bl.a. skapa ett antal MCTS-varianter som dynamiskt uppdaterar sin explorativa faktor, vilket inte bara bidrar till förbättrad prestationsförmåga, utan också lättar programmerarens arbetsbörda att manuellt justera parametrar. Genom att kombinera idéer som empiriskt var för sig visade sig fungera bra, skapades en algoritm som matchar (och…