mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 00:33:09 +00:00
Introduce refine_eval()
Try to get a position evaluation better then the quick one with the help of the TT table. This allows the null search conditions and chosen reductions to be more accurate. After 908 games at 1+0 Mod vs Orig +209 =526 -173 +14 ELO Functionality Signature: 16627355 Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
860260c3b1
commit
807844eab1
1 changed files with 19 additions and 1 deletions
|
@ -288,6 +288,7 @@ namespace {
|
|||
bool ok_to_do_nullmove(const Position& pos);
|
||||
bool ok_to_prune(const Position& pos, Move m, Move threat);
|
||||
bool ok_to_use_TT(const TTEntry* tte, Depth depth, Value beta, int ply);
|
||||
Value refine_eval(const TTEntry* tte, Value defaultEval, int ply);
|
||||
void update_history(const Position& pos, Move move, Depth depth, Move movesSearched[], int moveCount);
|
||||
void update_killers(Move m, SearchStack& ss);
|
||||
|
||||
|
@ -1360,7 +1361,7 @@ namespace {
|
|||
return value_from_tt(tte->value(), ply);
|
||||
}
|
||||
|
||||
approximateEval = quick_evaluate(pos);
|
||||
approximateEval = refine_eval(tte, quick_evaluate(pos), ply);
|
||||
isCheck = pos.is_check();
|
||||
|
||||
// Null move search
|
||||
|
@ -2474,6 +2475,23 @@ namespace {
|
|||
}
|
||||
|
||||
|
||||
// refine_eval() returns the transposition table score if
|
||||
// possible otherwise falls back on static position evaluation.
|
||||
|
||||
Value refine_eval(const TTEntry* tte, Value defaultEval, int ply) {
|
||||
|
||||
if (!tte)
|
||||
return defaultEval;
|
||||
|
||||
Value v = value_from_tt(tte->value(), ply);
|
||||
|
||||
if ( (is_lower_bound(tte->type()) && v >= defaultEval)
|
||||
|| (is_upper_bound(tte->type()) && v < defaultEval))
|
||||
return v;
|
||||
|
||||
return defaultEval;
|
||||
}
|
||||
|
||||
// update_history() registers a good move that produced a beta-cutoff
|
||||
// in history and marks as failures all the other moves of that ply.
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue