From 23494555411e120573a4f2b62e519aa9b1648204 Mon Sep 17 00:00:00 2001 From: Douglas Matos Gomes Date: Sun, 20 Nov 2022 23:21:40 -0300 Subject: [PATCH] Discourage '2-fold' repetition at root. Bench: 4294827 --- src/search.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/search.cpp b/src/search.cpp index fa87f1c3f0f..1d1f0735a15 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1454,6 +1454,12 @@ namespace { (ss-1)->currentMove != MOVE_NULL ? evaluate(pos) : -(ss-1)->staticEval; + if (ss->ply >= 3) { + // Discourage "2-fold" repetition at root + Move ply1move = (ss-(ss->ply-1))->currentMove, ply3move = (ss-(ss->ply-3))->currentMove; + bestValue -= (ply3move == make_move(to_sq(ply1move), from_sq(ply1move))); + } + // Stand pat. Return immediately if static value is at least beta if (bestValue >= beta) {