Page 1 of 1

Qsearch dynamic order besides MVV/LVA

Posted: Tue May 25, 2021 3:24 pm
by Aleks Peshkov
What if we keep some additional piece information, for example keep list of pieces in order when they were last moved.
1) It makes sense to capture the last moved piece to avoid quiescent search explosion.
2) Attacks (and discovered attacks) of our own side last moved pieces are also make more sense to explore first.
I think the cases above are helping to avoid the repeating the same futile exchange lines in many similar but different positions.

Re: Qsearch dynamic order besides MVV/LVA

Posted: Tue May 25, 2021 8:03 pm
by hgm
This is a bit tricky. With null move you often leave very many valuable pieces hanging, and 'executing' such a 'hostage' is often a better answer than plain recapture. It depends a lot on what the last-moved piece attacks. But this can be taken into account directly, by upgrading the victim value with the value of the highest piece it attacks, and sorting by that. This way you avoid wasting time on capturing a Pawn that did not attack anything, just because it was the last-moved piece, before gobbling up a hanging Rook elsewhere.