Chess Move Generator
In search algorithm, a good move ordering is rewarded by the reduction in tree sizes and faster searches. An example of a good chess move ordering is:
- checking moves, direct and discovered,
- promotions,
- capturing moves, ordered by most valuable victim / least valuable aggressor (MVV/LVA),
- non-capturing moves ordered according to History hevristic.
The general idea of MVV/LVA is to first generate capture moves with the most valuable capture piece and least valuable attacker piece (e.g. pawn captures queen).