Overview
This crate provides an implementation of Monte Carlo tree search. It uses a directed acylic graph (DAG) to represent the game tree. As a result, it may provide a more compact representation than traditional Monte Carlo tree search, which may duplicate game states and dilute statistics if the same game state can be reached by two different routes of play.
To use this crate:
- Implement the
Game
trait for a game of your choice. - Initialize search with
RolloutPhase::initialize
. - Execute search steps through the crate API.
This code is still provisional and needs substantial testing and shaking-down.
Copyright
Copyright 2015-2025, Donald S. Black.
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.