Skip to content

the full monte - a generic MCTS library for game AIs with (planned) concurrency and network support

License

Notifications You must be signed in to change notification settings

samwalls/fullmonte

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Full Monte

Master Build Status Build Status

Full Monte is a collection of libraries to help implement MCTS for the general case! Proper documentation will come as features are completed and optimized.

Since MCTS is sometimes cited as an embarassingly parallelisable algorithm, I thought it would be a good idea to plan ahead for the implementation of parallel MCTS. Not only this, but the plan is that fullmonte will make it very easy to implement MCTS over any domain necessary.

Roadmap

  • interfaces to define abstract MCTS implementations
  • single-threaded MCTS
  • optimization for general-case MCTS
  • basic documentation
  • concurrent multi-threaded MCTS
  • a worker-based concurrency model
    • leaf parallelisation
    • root parallelisation
    • tree parallelisation
  • network worker support
  • other base MCTS implementations (such as RAVE)

Installing Dependencies and Running Tests

This project uses glide for golang dependency management. This makes it very easy to fetch dependencies (as defined in glide.yaml) for the project. Glide is also very easy to install, check their website for more.

To download dependencies use the following:

glide install

This will download dependencies into a directory called vendor.

In order to run tests on the whole project without running tests for installed dependencies, use the following:

go test -v $(glide novendor)

About

the full monte - a generic MCTS library for game AIs with (planned) concurrency and network support

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages