|
|
|
@ -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 {
|
|
|
|
|