Difference between revisions of "Chess Move Generator"
Line 4: | Line 4: | ||
* promotions, | * promotions, | ||
* capturing moves, ordered by most valuable victim / least valuable aggressor (MVV/LVA), | * capturing moves, ordered by most valuable victim / least valuable aggressor (MVV/LVA), | ||
− | * non-capturing moves ordered according to history heuristic. | + | * non-capturing moves ordered according to [[history heuristic | 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). | 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). | ||
+ | |||
+ | == Links == | ||
+ | [[http://www.gamedev.net/reference/articles/article1126.asp Chess Programming Part III: Move Generation]] | ||
[[Category:Chess program BBChess]] | [[Category:Chess program BBChess]] | ||
[[Category:Borko Bošković]] | [[Category:Borko Bošković]] |
Revision as of 06:34, 18 October 2006
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).