mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 00:33:09 +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:
parent
3698d9aa55
commit
a24da071f0
1 changed files with 3 additions and 0 deletions
|
@ -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;
|
||||||
|
|
Loading…
Add table
Reference in a new issue