Skip to content

Commit 9e9fab4

Browse files
Merge pull request #4 from LelleSwe/main
Bugfix and code refactor
2 parents bba0479 + 4844606 commit 9e9fab4

File tree

2 files changed

+13
-33
lines changed

2 files changed

+13
-33
lines changed

src/algorithms/the_algorithm.rs

+10-30
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,6 @@ impl Algorithm {
239239
}
240240

241241
if utils::module_enabled(self.modules, modules::TAPERED_INCREMENTAL_PESTO_PSQT) {
242-
let material_each_side = utils::material_each_side(board);
243242
fn calc_increment(
244243
piece_type: Piece,
245244
location: usize,
@@ -261,20 +260,11 @@ impl Algorithm {
261260
let mut mg_incremental_psqt_eval_change = 0.;
262261
let mut eg_incremental_psqt_eval_change = 0.;
263262
if mg_incremental_psqt_eval_change == 0. || eg_incremental_psqt_eval_change == 0. {
264-
mg_incremental_psqt_eval_change +=
265-
Self::calc_tapered_psqt_eval(board, material_each_side, 0, true)
266-
+ Self::calc_tapered_psqt_eval(board, material_each_side, 1, true)
267-
+ Self::calc_tapered_psqt_eval(board, material_each_side, 2, true)
268-
+ Self::calc_tapered_psqt_eval(board, material_each_side, 3, true)
269-
+ Self::calc_tapered_psqt_eval(board, material_each_side, 4, true)
270-
+ Self::calc_tapered_psqt_eval(board, material_each_side, 5, true);
271-
eg_incremental_psqt_eval_change +=
272-
Self::calc_tapered_psqt_eval(board, material_each_side, 0, false)
273-
+ Self::calc_tapered_psqt_eval(board, material_each_side, 1, false)
274-
+ Self::calc_tapered_psqt_eval(board, material_each_side, 2, false)
275-
+ Self::calc_tapered_psqt_eval(board, material_each_side, 3, false)
276-
+ Self::calc_tapered_psqt_eval(board, material_each_side, 4, false)
277-
+ Self::calc_tapered_psqt_eval(board, material_each_side, 5, false);
263+
for i in 0..5 {
264+
mg_incremental_psqt_eval_change += Self::calc_tapered_psqt_eval(board, i, true);
265+
mg_incremental_psqt_eval_change += Self::calc_tapered_psqt_eval(board, i, false);
266+
}
267+
278268
} else {
279269
//Remove the eval from the previous square we stood on.
280270
let source: usize = (56 - chess_move.get_source().to_int()
@@ -514,20 +504,10 @@ impl Algorithm {
514504
let mut eg_tapered_pesto: f32 = 0.;
515505
let mut tapered_pesto: f32 = 0.;
516506
if utils::module_enabled(self.modules, modules::TAPERED_EVERY_PESTO_PSQT) {
517-
tapered_pesto = Self::calc_tapered_psqt_eval(board, material_each_side, 0, true);
518-
mg_tapered_pesto += Self::calc_tapered_psqt_eval(board, material_each_side, 0, true);
519-
mg_tapered_pesto += Self::calc_tapered_psqt_eval(board, material_each_side, 1, true);
520-
mg_tapered_pesto += Self::calc_tapered_psqt_eval(board, material_each_side, 2, true);
521-
mg_tapered_pesto += Self::calc_tapered_psqt_eval(board, material_each_side, 3, true);
522-
mg_tapered_pesto += Self::calc_tapered_psqt_eval(board, material_each_side, 4, true);
523-
mg_tapered_pesto += Self::calc_tapered_psqt_eval(board, material_each_side, 5, true);
524-
525-
eg_tapered_pesto += Self::calc_tapered_psqt_eval(board, material_each_side, 0, false);
526-
eg_tapered_pesto += Self::calc_tapered_psqt_eval(board, material_each_side, 1, false);
527-
eg_tapered_pesto += Self::calc_tapered_psqt_eval(board, material_each_side, 2, false);
528-
eg_tapered_pesto += Self::calc_tapered_psqt_eval(board, material_each_side, 3, false);
529-
eg_tapered_pesto += Self::calc_tapered_psqt_eval(board, material_each_side, 4, false);
530-
eg_tapered_pesto += Self::calc_tapered_psqt_eval(board, material_each_side, 5, false);
507+
for i in 0..5 {
508+
mg_tapered_pesto += Self::calc_tapered_psqt_eval(board, i, true);
509+
eg_tapered_pesto += Self::calc_tapered_psqt_eval(board, i, false);
510+
}
531511
tapered_pesto = ((material_each_side.0 + material_each_side.1 - 2 * piece_value(Piece::King)) as f32 * mg_tapered_pesto +
532512
(78 - (material_each_side.0 + material_each_side.1 - 2 * piece_value(Piece::King))) as f32 * eg_tapered_pesto)
533513
/ 78.;
@@ -592,7 +572,7 @@ impl Algorithm {
592572
evaluation
593573
}
594574

595-
fn calc_tapered_psqt_eval(board: &Board, material_each_side: (u32, u32), piece: u8, mg_eg: bool) -> f32 {
575+
fn calc_tapered_psqt_eval(board: &Board, piece: u8, mg_eg: bool) -> f32 {
596576
fn tapered_psqt_calc(
597577
piece_bitboard: &BitBoard,
598578
color_bitboard: &BitBoard,

src/main.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ pub(crate) const PRINT_GAME: bool = false;
2121
async fn main() {
2222
//ALPHA_BETA | ANALYZE | SEARCH_EXTENSIONS | SKIP_BAD_MOVES | SQUARE_CONTROL_METRIC | TRANSPOSITION_TABLE | NAIVE_PSQT | PAWN_STRUCTURE | TAPERED_EVERY_PESTO_PSQT | TAPERED_INCREMENTAL_PESTO_PSQT
2323
//Put 0 for no modules.
24-
let modules1 = ALPHA_BETA | TAPERED_INCREMENTAL_PESTO_PSQT;
24+
let modules1 = ALPHA_BETA | TAPERED_EVERY_PESTO_PSQT;
2525
let modules2 = ALPHA_BETA;
26-
let time_per_move1 = Duration::from_micros(2000);
26+
let time_per_move1 = Duration::from_micros(4000);
2727
let time_per_move2 = Duration::from_micros(2000);
2828

2929
let competition = Competition::new(
@@ -34,6 +34,6 @@ async fn main() {
3434
// competition.analyze_algorithm_choices(|(game_info, _), _| {
3535
// game_info.outcome == GameOutcome::InconclusiveTooLong
3636
// });
37-
let results = competition.start_competition(200).await;
37+
let results = competition.start_competition(1000).await;
3838
dbg!(results);
3939
}

0 commit comments

Comments
 (0)