mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-21 09:37:16 +08:00
Retire eval margin and gains
1/ eval margin and gains removed: - gains removed by Value(128): search() and qsearch() now behave consistently! 2/ futility_margin() - testing showed that there is no added value in this weird (log(depth), movecount) formula, and a much simpler linear formula is just as good. In fact, it is most likely better, as it is not yet optimally tuned. - the new simplified formula also means we get rid of FutilityMargins[], its initialization code, and more importantly ss->futilityMoveCount, and the hacky code that updates it throughout the search(). - the current formula gives negative futility margins, and there is a hidden interaction between the move coutn pruning formula and the futility margin one: what happens is that MCP is supposed to be triggered before we use the non-sensical negative futility margins. 3/ unify pre & post futility pruning - pre futility pruning (what SF calls value based pruning) used depth < 7 plies, while post futility pruning (what SF calls static null move pruning) used depth < 4 plies. - also the condition depth < 7 in pre futility pruning was not obvious, and it seemd to be depth < 16 (futility_margin() returns an infinite value when depth >= 7). Tested with fixed number of games both at short TC: ELO: 0.82 +-2.1 (95%) LOS: 77.3% Total: 40000 W: 7939 L: 7845 D: 24216 And long TC ELO: 0.59 +-2.0 (95%) LOS: 71.9% Total: 40000 W: 6876 L: 6808 D: 26316 bench: 10206576
This commit is contained in:
committed by
Marco Costalba
parent
52ae0efccf
commit
ecd07e51d0
@@ -89,7 +89,7 @@ const TTEntry* TranspositionTable::probe(const Key key) const {
|
||||
/// more valuable than a TTEntry t2 if t1 is from the current search and t2 is from
|
||||
/// a previous search, or if the depth of t1 is bigger than the depth of t2.
|
||||
|
||||
void TranspositionTable::store(const Key key, Value v, Bound b, Depth d, Move m, Value statV, Value evalM) {
|
||||
void TranspositionTable::store(const Key key, Value v, Bound b, Depth d, Move m, Value statV) {
|
||||
|
||||
int c1, c2, c3;
|
||||
TTEntry *tte, *replace;
|
||||
@@ -117,5 +117,5 @@ void TranspositionTable::store(const Key key, Value v, Bound b, Depth d, Move m,
|
||||
replace = tte;
|
||||
}
|
||||
|
||||
replace->save(key32, v, b, d, m, generation, statV, evalM);
|
||||
replace->save(key32, v, b, d, m, generation, statV);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user