SMU Guildhall Graduate Catalog Fall 2016 — Cohort 24 | Page 34

Andrew Socha Software Development « Monte Carlo Tree Search and Machine Learning for Hearthstone For my thesis, I attempted to combine result. The challenge of this project playing Hearthstone. The first idea was the AI’s turn and begin predicting the two concepts to create an AI capable of deck prediction, anticipating what cards the opponent is likely to have in their deck based on what cards they have already played. To accomplish this, the AI analyzes a set of player-built decks opponent’s turn. Because my AI predicts what cards the opponent uses, it can try to guess how the opponent will play in response to the AI’s moves. to see what cards are commonly played These two concepts, deck prediction card, the AI looks at this data to find other well together. Unfortunately, Monte Carlo together. When the AI’s opponent plays a cards that are commonly paired with the played card. The second aspect, Monte Carlo Tree Search, is how the AI decides which moves to make. The AI simulates the outcome of each of its possible moves and continues simulating successive moves, eventually stopping and scoring the final result. Then, the AI simply has to choose the move that led to the best 34 existed where these simulations finish SOFTWARE DEVELOPMENT and Monte Carlo, worked surprisingly itself struggled in a game as complex as Hearthstone. Still, my AI was able to win a reasonable number of games against both human and AI opponents.