Skip to main content

Crate alpha_beta_pruning

Crate alpha_beta_pruning 

Source
Expand description

A generic alpha-beta pruning search algorithm for adversarial game AI.

This crate provides the AlphaBeta trait — implement it on your game state to get a parallel alpha-beta minimax search with automatic pruning.

§Quick start

use alpha_beta_pruning::{AlphaBeta, Grade};

#[derive(Clone)]
struct MyGame;

impl AlphaBeta<u8> for MyGame {
    fn evaluate(&self) -> Grade {
        Grade::Score(0)
    }
    fn get_moves(&self) -> Vec<u8> {
        vec![]
    }
    fn set(&mut self, _m: &u8) {}
    fn unset(&mut self, _m: &u8) {}
}

Enums§

Grade
Evaluation value for a game state.

Traits§

AlphaBeta
Trait for game states that can be evaluated with alpha-beta pruning.