mirror of
https://github.com/sockspls/badfish
synced 2025-07-11 19:49:14 +00:00
Don't attempt probcut if ttMove is not good enough.
This idea is loosely based on xoroshiro idea about raisedBeta and ttmoves. If our ttmove have low enough ttvalue and is deep enough (deeper than our probcut depth) it makes little sense to try probcut moves, since the ttMove already more or less failed to produce one according to transposition table. passed STC https://tests.stockfishchess.org/tests/view/5e9673ddc2718dee3c822920 LLR: 2.95 (-2.94,2.94) {-0.50,1.50} Total: 72148 W: 14038 L: 13741 D: 44369 Ptnml(0-2): 1274, 8326, 16615, 8547, 1312 passed LTC https://tests.stockfishchess.org/tests/view/5e96b378c2718dee3c8229bf LLR: 2.94 (-2.94,2.94) {0.25,1.75} Total: 89054 W: 11418 L: 10996 D: 66640 Ptnml(0-2): 623, 8113, 26643, 8515, 633 closes https://github.com/official-stockfish/Stockfish/pull/2632 bench 4952731
This commit is contained in:
parent
ca4e399ea6
commit
0e51ff1074
1 changed files with 6 additions and 2 deletions
|
@ -906,8 +906,12 @@ namespace {
|
|||
MovePicker mp(pos, ttMove, raisedBeta - ss->staticEval, &captureHistory);
|
||||
int probCutCount = 0;
|
||||
|
||||
while ( (move = mp.next_move()) != MOVE_NONE
|
||||
&& probCutCount < 2 + 2 * cutNode)
|
||||
while ( (move = mp.next_move()) != MOVE_NONE
|
||||
&& probCutCount < 2 + 2 * cutNode
|
||||
&& !( move == ttMove
|
||||
&& (tte->bound() & BOUND_LOWER)
|
||||
&& tte->depth() >= depth - 4
|
||||
&& ttValue < raisedBeta))
|
||||
if (move != excludedMove && pos.legal(move))
|
||||
{
|
||||
assert(pos.capture_or_promotion(move));
|
||||
|
|
Loading…
Add table
Reference in a new issue