Awesome
Large Scale Distributed Parallel MCTS algorithm
This project developed highly scalable distributed parallel MCTS algorithms and their applications for molecular design probelm. Check the paper for details: Practical Large-Scale Distributed Parallel Monte-Carlo Tree Search Applied to Molecular Design.
Requirements
The code was tested on Linux and MacOS, we recommend using anaconda to install the following softwares.
- Python(version 3.7.4)
- MPI
- mpi4py(version 3.0.3)
- RDkit
- Keras(version 2.0.5)
- Tensorflow(verison 1.15.2)
- Nltk
- Networkx
- Gaussian 16 (a commercial quantum chemistry simulation software used for wavelength calculations)
Run parallel MCTS algorithms for molecular design
optimization of logP property
mpiexec -n 4 python example_logp.py
optimization of wavelength property
mpiexec -n 4 python example_wavelength.py
where 4 is the number of cores or processes to use. You can use more cores by changing 4 to 1024 for example. The example code used D-MCTS algorithm as default, you can simply change to H-MCTS for your own purpose by checking the source code of example_logp.py.
Implement your own property simulator
Go to pmcts folder and add your simulator to property_simulator.py