Skip to main content

A simple package to allow users to run Monte Carlo Tree Search on any perfect information domain

Project description

MCTS

This package provides a simple way of using Monte Carlo Tree Search in any perfect information domain.

Installation

With pip: pip install mcts

Without pip: Download the zip/tar.gz file of the latest release, extract it, and run python setup.py install

Quick Usage

In order to run MCTS, you must implement a State class which can fully describe the state of the world. It must also implement four methods:

  • getPossibleActions(): Returns an iterable of all actions which can be taken from this state
  • takeAction(action): Returns the state which results from taking action action
  • isTerminal(): Returns whether this state is a terminal state
  • getReward(): Returns the reward for this state. Only needed for terminal states.

You must also choose a hashable representation for an action as used in getPossibleActions and takeAction. Typically this would be a class with a custom __hash__ method, but it could also simply be a tuple or a string.

Once these have been implemented, running MCTS is as simple as initializing your starting state, then running:

from mcts import mcts

mcts = mcts(timeLimit=1000)
bestAction = mcts.search(initialState=initialState)

See naughtsandcrosses.py for a simple example.

Slow Usage

//TODO

Collaborating

Feel free to raise a new issue for any new feature or bug you've spotted. Pull requests are also welcomed if you're interested in directly improving the project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcts-1.0.4.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

mcts-1.0.4-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file mcts-1.0.4.tar.gz.

File metadata

  • Download URL: mcts-1.0.4.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.4.3

File hashes

Hashes for mcts-1.0.4.tar.gz
Algorithm Hash digest
SHA256 01923d3d33cd6cc6e31b1f9d5f10943adc7ae3c399d0d6fedae3dae0541d5ec0
MD5 de66dc981d587d57e49af2a86aa16b45
BLAKE2b-256 24055d9433441d3d7826ded877bbb99b33f1557fef867c4247a65a1b03ba44fd

See more details on using hashes here.

File details

Details for the file mcts-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: mcts-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.4.3

File hashes

Hashes for mcts-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d140587f724ba04094116a9f9245a35f8d96e4cb2efbd5dfc20d1218d24dfad3
MD5 f9f603aa04e389f2ed5bf145fa923a9d
BLAKE2b-256 8a2ad278c768df13364dbeb20a2baab209b72cf30cdc157a55ffc04f126c8b0a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page