mirror of
https://github.com/opelly27/Stockfish.git
synced 2026-05-20 12:07:43 +00:00
Check for easy move just once
Here the rational seems to be that if after one try easy move detection fails then the easy move is not so easy :-) After 15563 games at 60+0.05 ELO: 3.04 +-5.5 (95%) LOS: 97.0% Total: 15563 W: 2664 L: 2528 D: 10371 No functional change.
This commit is contained in:
committed by
Marco Costalba
parent
3698d9aa55
commit
a24da071f0
@@ -293,6 +293,7 @@ namespace {
|
|||||||
Stack ss[MAX_PLY_PLUS_2];
|
Stack ss[MAX_PLY_PLUS_2];
|
||||||
int depth, prevBestMoveChanges;
|
int depth, prevBestMoveChanges;
|
||||||
Value bestValue, alpha, beta, delta;
|
Value bestValue, alpha, beta, delta;
|
||||||
|
bool triedEasyMove = false;
|
||||||
|
|
||||||
memset(ss, 0, 4 * sizeof(Stack));
|
memset(ss, 0, 4 * sizeof(Stack));
|
||||||
depth = BestMoveChanges = 0;
|
depth = BestMoveChanges = 0;
|
||||||
@@ -439,10 +440,12 @@ namespace {
|
|||||||
// Stop search early if one move seems to be much better than others
|
// Stop search early if one move seems to be much better than others
|
||||||
if ( depth >= 12
|
if ( depth >= 12
|
||||||
&& !stop
|
&& !stop
|
||||||
|
&& !triedEasyMove
|
||||||
&& PVSize == 1
|
&& PVSize == 1
|
||||||
&& ( RootMoves.size() == 1
|
&& ( RootMoves.size() == 1
|
||||||
|| Time::now() - SearchTime > (TimeMgr.available_time() * 20) / 100))
|
|| Time::now() - SearchTime > (TimeMgr.available_time() * 20) / 100))
|
||||||
{
|
{
|
||||||
|
triedEasyMove = true;
|
||||||
Value rBeta = bestValue - 2 * PawnValueMg;
|
Value rBeta = bestValue - 2 * PawnValueMg;
|
||||||
(ss+1)->excludedMove = RootMoves[0].pv[0];
|
(ss+1)->excludedMove = RootMoves[0].pv[0];
|
||||||
(ss+1)->skipNullMove = true;
|
(ss+1)->skipNullMove = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user