Home

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.

  1. Python(version 3.7.4)
  2. MPI
  3. mpi4py(version 3.0.3)
  4. RDkit
  5. Keras(version 2.0.5)
  6. Tensorflow(verison 1.15.2)
  7. Nltk
  8. Networkx
  9. 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