-
Notifications
You must be signed in to change notification settings - Fork 0
Report
Evan Von Oehsen edited this page Nov 24, 2020
·
4 revisions
What went well
- We were able to find a Java implementation of Catan with a configurable MCTS player which could be matched against different types of opponents.
- Using this, we could run a variety of simulations to derive conclusions about MCTS we sought to determine, and visualize the trends we discovered in MatPlotLib in Python.
- Although we couldn't implement our own MCTS player within the scope of this project, we developed a genetic algorithm which could generate an optimized MCTS player instead. In doing so, we created an ai system that was still within the scope of our goals, despite it not directly being MCTS.
What went poorly:
- We couldn't find a Catan system flexible enough for us to easily implement our own MCTS player and test it thoroughly against other autonomous players
- StacSettlers had plenty of overhead for us, given the scope of the project
- The source code of this project is dense, and as a result our understanding of it while implementing our own layer was limited.
- Running MCTS simulations with StacSettlers had a long run time, which is not ideal when working with genetic algorithms. This forced us to limit our population size and the resolution of our fitness scoring.