mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 16:23:09 +00:00
Tweak capture scoring for move ordering
Move divisor from capture scoring to good capture check and sligthly increase it. This has several effects: - its a speedup because for quience and probcut search the division now never happens. For main search its delayed and can be avoided if a good capture triggers a cutoff - through the higher resolution of scores we have a more granular sorting STC: https://tests.stockfishchess.org/tests/view/65bf2a93c865510db027dc27 LLR: 2.93 (-2.94,2.94) <0.00,2.00> Total: 470016 W: 122150 L: 121173 D: 226693 Ptnml(0-2): 2133, 55705, 118374, 56644, 2152 LTC: https://tests.stockfishchess.org/tests/view/65c1d16dc865510db0281339 LLR: 2.96 (-2.94,2.94) <0.50,2.50> Total: 98988 W: 25121 L: 24667 D: 49200 Ptnml(0-2): 77, 10998, 26884, 11464, 71 closes https://github.com/official-stockfish/Stockfish/pull/5036 Bench: 1233867
This commit is contained in:
parent
a20726eb0b
commit
f2984471c9
1 changed files with 4 additions and 4 deletions
|
@ -167,9 +167,8 @@ void MovePicker::score() {
|
||||||
for (auto& m : *this)
|
for (auto& m : *this)
|
||||||
if constexpr (Type == CAPTURES)
|
if constexpr (Type == CAPTURES)
|
||||||
m.value =
|
m.value =
|
||||||
(7 * int(PieceValue[pos.piece_on(m.to_sq())])
|
7 * int(PieceValue[pos.piece_on(m.to_sq())])
|
||||||
+ (*captureHistory)[pos.moved_piece(m)][m.to_sq()][type_of(pos.piece_on(m.to_sq()))])
|
+ (*captureHistory)[pos.moved_piece(m)][m.to_sq()][type_of(pos.piece_on(m.to_sq()))];
|
||||||
/ 16;
|
|
||||||
|
|
||||||
else if constexpr (Type == QUIETS)
|
else if constexpr (Type == QUIETS)
|
||||||
{
|
{
|
||||||
|
@ -269,7 +268,8 @@ top:
|
||||||
case GOOD_CAPTURE :
|
case GOOD_CAPTURE :
|
||||||
if (select<Next>([&]() {
|
if (select<Next>([&]() {
|
||||||
// Move losing capture to endBadCaptures to be tried later
|
// Move losing capture to endBadCaptures to be tried later
|
||||||
return pos.see_ge(*cur, -cur->value) ? true : (*endBadCaptures++ = *cur, false);
|
return pos.see_ge(*cur, -cur->value / 18) ? true
|
||||||
|
: (*endBadCaptures++ = *cur, false);
|
||||||
}))
|
}))
|
||||||
return *(cur - 1);
|
return *(cur - 1);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue