Version 1
: Received: 27 July 2021 / Approved: 28 July 2021 / Online: 28 July 2021 (10:29:08 CEST)
How to cite:
Liu, L.; Luo, J. T. An Extensible and Modular Design and Implementation of Monte Carlo Tree Search for the JVM. Preprints2021, 2021070622. https://doi.org/10.20944/preprints202107.0622.v1
Liu, L.; Luo, J. T. An Extensible and Modular Design and Implementation of Monte Carlo Tree Search for the JVM. Preprints 2021, 2021070622. https://doi.org/10.20944/preprints202107.0622.v1
Liu, L.; Luo, J. T. An Extensible and Modular Design and Implementation of Monte Carlo Tree Search for the JVM. Preprints2021, 2021070622. https://doi.org/10.20944/preprints202107.0622.v1
APA Style
Liu, L., & Luo, J. T. (2021). An Extensible and Modular Design and Implementation of Monte Carlo Tree Search for the JVM. Preprints. https://doi.org/10.20944/preprints202107.0622.v1
Chicago/Turabian Style
Liu, L. and Jun Tao Luo. 2021 "An Extensible and Modular Design and Implementation of Monte Carlo Tree Search for the JVM" Preprints. https://doi.org/10.20944/preprints202107.0622.v1
Abstract
Flexible implementations of Monte Carlo Tree Search (MCTS), combined with domain specific knowledge and hybridization with other search algorithms, can be a very powerful for the solution of problems in complex planning. We introduce mctreesearch4j, a standard MCTS implementation written as a standard JVM library following key design principles of object oriented programming. We define key class abstractions allowing the MCTS library to flexibly adapt to any well defined Markov Decision Process or turn-based adversarial game. Furthermore, our library is designed to be modular and extensible, utilizing class inheritance and generic typing to standardize custom algorithm definitions. We demon- strate that the design of the MCTS implementation provides ease of adaptation for unique heuristics and customization across varying Markov Decision Process (MDP) domains. In addition, the implementation is reasonably performant and accurate for standard MDP’s. In addition, via the implementation of mctreesearch4j, the nuances of different types of MCTS algorithms are discussed.
Keywords
Monte Carlo Tree Search, Software Design, Markov Decision Process
Subject
Computer Science and Mathematics, Information Systems
Copyright:
This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.