minimax-pkg
Drake 1 year ago
parent a81bcb4689
commit 4ad9875c01

Binary file not shown.

Binary file not shown.

@ -20,4 +20,4 @@ pub const INFO: Info = Info {
};
// FIXME: this needs to be configurable via UCI
pub const DEPTH: u8 = 7;
pub const DEPTH: u8 = 8;

@ -1,9 +1,6 @@
use std::f64::{INFINITY, NEG_INFINITY};
use chess::{
Board as ChessBoard, BoardStatus, ChessMove, Color, File, MoveGen, Piece, Rank, Square,
};
use itertools::Itertools;
use crate::piece_tables;
use crate::piece_values::get_piece_value;
@ -222,7 +219,7 @@ impl minimax::Game for Game {
}
}
#[derive(Default)]
#[derive(Default, Clone)]
pub struct Evaluator;
impl minimax::Evaluator for Evaluator {

@ -3,14 +3,11 @@ mod eval;
mod piece_tables;
mod piece_values;
use chess::{Board, ChessMove, MoveGen};
use chess::Board;
use config::INFO;
use eval::{Board as EvalBoard, Evaluator, Game};
use itertools::Itertools;
use minimax::Strategy;
use eval::{Board as EvalBoard, Evaluator};
use minimax::{IterativeOptions, ParallelOptions, ParallelSearch, Strategy};
use std::collections::HashMap;
use std::f64::{INFINITY, NEG_INFINITY};
use std::io::{self, BufRead};
use std::process;
use std::str::FromStr;
@ -97,9 +94,12 @@ fn main() {
}
if let Some(board) = board {
let opts = minimax::IterativeOptions::new().verbose();
let mut strat: minimax::IterativeSearch<Evaluator> =
minimax::IterativeSearch::new(Evaluator::default(), opts);
let mut strat = ParallelSearch::new(
Evaluator::default(),
IterativeOptions::new().verbose(),
ParallelOptions::new().with_background_pondering(),
);
strat.set_max_depth(DEPTH);
let mov = strat
.choose_move(&EvalBoard {

Loading…
Cancel
Save