Skip to content

Commit a74b667

Browse files
Reduce depth for move count pruning. from 9 to 6
10s+0.1 Score of tucanoNEW vs tucanoOLD: 2032 - 1952 - 4783 [0.505] 8767 Elo difference: 3.2 +/- 4.9, LOS: 89.8 %, DrawRatio: 54.6 % SPRT: llr 2.98 (101.2%), lbound -2.94, ubound 2.94 - H1 was accepted 60s+0.6 Score of tucanoNEW vs tucanoOLD: 1229 - 1151 - 2969 [0.507] 5349 Elo difference: 5.1 +/- 6.2, LOS: 94.5 %, DrawRatio: 55.5 % SPRT: llr 2.97 (100.8%), lbound -2.94, ubound 2.94 - H1 was accepted
1 parent fadb9ec commit a74b667

File tree

3 files changed

+8
-7
lines changed

3 files changed

+8
-7
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ If you compile tucano you can use the command "bench" to get a signature. Just s
7171
Signature is a number generated after searching a couple of positions to indicate you have the correct compilation.
7272
If you don't get the correct signature it means that something is wrong with the compilation process and the program may not perform correctly.
7373

74-
12.00: 5620048
74+
12.00: 1438388
7575
11.00: 5203395
7676
10.00: 5734637 (with nn eval file loaded)
7777
9.00: 21898211

src/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
#define ENGINE "Tucano"
2222
#define AUTHOR "Alcides Schulz"
23-
#define VERSION "12.05"
23+
#define VERSION "12.06"
2424

2525
void develop_workbench(void);
2626
double bench(int depth, int print);

src/search.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -269,12 +269,13 @@ int search(GAME *game, UINT incheck, int alpha, int beta, int depth, MOVE exclud
269269
if (!is_killer_move(&game->move_order, turn, ply, move)) {
270270
if (!is_counter_move(&game->move_order, flip_color(turn), get_last_move_made(&game->board), move)) {
271271
int move_has_bad_history = get_has_bad_history(&game->move_order, turn, move);
272-
int free_passer = is_free_passer(&game->board, turn, move);
273272
// Move count pruning: prune moves based on move count.
274-
if (!root_node && !pv_node && move_has_bad_history && depth < 8 && !incheck && move_is_quiet(move) && !free_passer) {
275-
int pruning_threshold = 4 + depth * 2 + (improving ? 0 : -3);
276-
if (move_count > pruning_threshold) {
277-
continue;
273+
if (!root_node && !pv_node && move_has_bad_history && depth <= 6 && !incheck && move_is_quiet(move)) {
274+
if (!is_free_passer(&game->board, turn, move)) {
275+
int pruning_threshold = 4 + depth * 2 + (improving ? 0 : -3);
276+
if (move_count > pruning_threshold) {
277+
continue;
278+
}
278279
}
279280
}
280281
// Futility pruning: eval + margin below beta. Uses beta cutoff history.

0 commit comments

Comments
 (0)