Remove Gain Stats

Additionally in futility pruning the margin is raised for compensation.

STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 48481 W: 9229 L: 9156 D: 30096

LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 32058 W: 5134 L: 5031 D: 21893

Bench: 8098149

Resolves #350
This commit is contained in:
Stefan Geschwentner
2015-05-18 13:58:13 -07:00
committed by Gary Linscott
parent 411e704fdf
commit e14046517e
2 changed files with 9 additions and 28 deletions
+2 -16
View File
@@ -134,7 +134,6 @@ namespace {
Value DrawValue[COLOR_NB];
HistoryStats History;
CounterMovesHistoryStats CounterMovesHistory;
GainsStats Gains;
MovesStats Countermoves;
template <NodeType NT, bool SpNode>
@@ -188,7 +187,6 @@ void Search::reset () {
TT.clear();
History.clear();
CounterMovesHistory.clear();
Gains.clear();
Countermoves.clear();
}
@@ -643,7 +641,7 @@ namespace {
}
}
// Step 5. Evaluate the position statically and update parent's gain statistics
// Step 5. Evaluate the position statically
if (inCheck)
{
ss->staticEval = eval = VALUE_NONE;
@@ -672,17 +670,6 @@ namespace {
if (ss->skipEarlyPruning)
goto moves_loop;
if ( !pos.captured_piece_type()
&& ss->staticEval != VALUE_NONE
&& (ss-1)->staticEval != VALUE_NONE
&& (move = (ss-1)->currentMove) != MOVE_NULL
&& move != MOVE_NONE
&& type_of(move) == NORMAL)
{
Square to = to_sq(move);
Gains.update(pos.piece_on(to), to, -(ss-1)->staticEval - ss->staticEval);
}
// Step 6. Razoring (skipped when in check)
if ( !PvNode
&& depth < 4 * ONE_PLY
@@ -915,8 +902,7 @@ moves_loop: // When in check and at SpNode search starts from here
// Futility pruning: parent node
if (predictedDepth < 7 * ONE_PLY)
{
futilityValue = ss->staticEval + futility_margin(predictedDepth)
+ 128 + Gains[pos.moved_piece(move)][to_sq(move)];
futilityValue = ss->staticEval + futility_margin(predictedDepth) + 256;
if (futilityValue <= alpha)
{