0.0.8 • Published 7 years ago

mcts v0.0.8

Weekly downloads
33
License
-
Repository
github
Last release
7 years ago

MCTS

This library implements a simple Monte Carlo Tree Search for games.

Usage

Implement a class that has the following methods:

  • getPossibleMoves() returns an array of possible moves
  • performMove(move) updates the internal state of the game based on the move
  • getCurrentPlayer() returns the current player
  • getWinner() returns the winner or undefined if there is no winner

Then to get the next move a player should perform call getcall MCTS with an instance of your game class. Here is a totally contrived game where whoever goes first wins:

MCTS = require('mcts').MCTS;

function Game() {
  this.winner = null;
}

Game.prototype.getPossibleMoves = function () {
  if (this.winner === null) {
    return [0];
  }
  return [];
};

Game.prototype.getCurrentPlayer = function () {
  return 0;
};
 
Game.prototype.performMove = function (player) {
  this.winner = player;
};

Game.prototype.getWinner = function () {
  return this.winner;
};

var mcts = new MCTS(new Game());
console.log(mcts.selectMove());

0
0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

9 years ago

0.0.5

9 years ago

0.0.4

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago