166
edits
Changes
fix
| style="text-align:left;" | Reduce more when not improving / less when improving
|}
=Code Example=
move_picker.SkipQuiets();
continue;
}
</pre>
=Dynamic Improving=
[[Aron Petkovski]] introduced the concept of ''Dynamic Improving''. By using static evaluation differences as a bonus to a improving score, Dynamic Improving allows for more control over improving-based mechanisms.
<pre>
SearchStackEntry *past_stack = nullptr;
if ((stack - 2)->static_eval != kScoreNone) {
past_stack = stack - 2;
} else if ((stack - 4)->static_eval != kScoreNone) {
past_stack = stack - 4;
}
if (past_stack) {
// Smoothen the improving rate from the static eval of our position in
// previous turns
const Score diff = stack->static_eval - past_stack->static_eval;
stack->improving_rate =
std::clamp(past_stack->improving_rate + diff / 50.0, -1.0, 1.0);
}
</pre>
[[Category:Search]]