diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 255777e..cf80207 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -358,3 +358,14 @@ Use more of the increment time GAMES | N: 22376 W: 5740 L: 5481 D: 11155 ==================================================================================== +5.3 [July 2] + +Update best move in asp. window fail high + + STC - https://chess.swehosting.se/test/2188/ + ELO | 11.44 +- 6.90 (95%) + SPRT | 8.0+0.08s Threads=1 Hash=32MB + LLR | 3.02 (-2.94, 2.94) [0.00, 5.00] + GAMES | N: 5288 W: 1525 L: 1351 D: 2412 + +==================================================================================== diff --git a/engine/src/body/search.rs b/engine/src/body/search.rs index 1327d63..990d70f 100644 --- a/engine/src/body/search.rs +++ b/engine/src/body/search.rs @@ -534,7 +534,7 @@ impl Search { for d in 1..=depth { self.info.seldepth = 0; - score = self.aspiration_window(board, &mut pv, score, d as i32); + score = self.aspiration_window(board, &mut pv, score, d as i32, &mut best_move); // Max time is up if self.info.stop && d > 1 { @@ -600,6 +600,7 @@ impl Search { pv: &mut PVTable, prev_eval: i32, mut depth: i32, + best_move: &mut Option, ) -> i32 { let mut score: i32; let init_depth = depth; @@ -634,6 +635,8 @@ impl Search { beta = (INFINITY).min(score + delta); depth -= i32::from(score.abs() < MATE_IN); + + *best_move = pv.best_move(); } // Search succeeded else { @@ -703,7 +706,7 @@ impl Search { for d in 1..=depth { self.info.seldepth = 0; - score = self.aspiration_window(board, &mut pv, score, d as i32); + score = self.aspiration_window(board, &mut pv, score, d as i32, &mut best_move); if self.info.stop && d > 1 { break; diff --git a/engine/src/uci/handler.rs b/engine/src/uci/handler.rs index 038b7aa..72ec87f 100644 --- a/engine/src/uci/handler.rs +++ b/engine/src/uci/handler.rs @@ -13,7 +13,7 @@ pub enum SearchType { } fn id() { - println!("id name Svart 5.2"); + println!("id name Svart 5.3"); println!("id author Crippa"); }