edre / minimax-rs

A generic implementation of Negamax in Rust.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

minimax-rs - Generic implementations of Minimax in Rust.

Build Status Crates.io Documentation

About

This library provides interfaces that describe:

  1. the rules for two-player, perfect-knowledge games;
  2. methods of evaluating particular game states for a player; and
  3. strategies for choosing moves for a player.

This crate implements multiple different strategies, so that any combination of custom evaluators and strategies can be tested against each other. These include single- and multi-threaded algorithms using alpha-beta pruning, iterative deepening, and transposition tables. There is also a basic implementation of multi-threaded Monte Carlo Tree Search, which does not require writing an evaluator.

Example

The ttt and connect4 modules contain implementations of Tic-Tac-Toe and Connect Four, demonstrating how to use the game and evaluation interfaces. test shows how to use strategies.

About

A generic implementation of Negamax in Rust.

License:MIT License


Languages

Language:Rust 100.0%