Difference between revisions of "MVV-LVA"

From Chessprogramming wiki
Jump to: navigation, search
Line 2: Line 2:
  
 
'''MVV-LVA''' ('''M'''ost '''V'''aluable '''V'''ictim - '''L'''east '''V'''aluable '''A'''ggressor),<br/>
 
'''MVV-LVA''' ('''M'''ost '''V'''aluable '''V'''ictim - '''L'''east '''V'''aluable '''A'''ggressor),<br/>
is a simple heuristic to [[Move Generation|generate]] or sort [[Captures|capture moves]] in a reasonable order. Inside a so called find-victim cycle, one first look up the potential victim of all attacked opponent pieces, in the order of the most valuable first, thus [[Queen|queen]], [[Rook|rook]], [[Bishop|bishop]], [[Knight|knight]] and [[Pawn|pawn]]. After the most valuable victim is found, the find-aggressor cycle loops over the potential aggressors that may capture the victim in inverse order, from pawn, knight, bishop, rook, queen to [[King|king]]. The heuristic is easy to implement and covers a lot of simple cases, such as PxR before BxP. It is used in various move generators build in hardware, such a [[Belle#Hardware|Belle]] and more recently in [[FPGA]] approaches such as [[Brutus]] and [[MBChess]] <ref>[[Marc Boulé]] ('''2002'''). ''An FPGA Move Generator for the Game of Chess''. Masters thesis, [[McGill University]], (Supervisor: [[Zeljko Zilic]], Co-Supervisor: [[Monroe Newborn|Monty Newborn]]), [http://www.iml.ece.mcgill.ca/%7Emboule/files/mbthesis02.pdf pdf]</ref>. However the heuristic may fail, if victims attacked by more valuable attackers are defended, in such cases most programs rely on [[Attack and Defend Maps|attack tables]], set-wise [[Pawn Attacks (Bitboards)#PawnAttacks|pawn attacks]] (defends) on the fly to perform a [[Static Exchange Evaluation|static exchange evaluation]].
+
is a simple heuristic to [[Move Generation|generate]] or sort [[Captures|capture moves]] in a reasonable order. Inside a so called find-victim cycle, one first look up the potential victim of all [[Attacks|attacked]] opponent pieces, in the order of the most valuable first, thus [[Queen|queen]], [[Rook|rook]], [[Bishop|bishop]], [[Knight|knight]] and [[Pawn|pawn]]. After the most valuable victim is found, the find-aggressor cycle loops over the potential aggressors that may capture the victim in inverse order, from pawn, knight, bishop, rook, queen to [[King|king]]. The heuristic is easy to implement and covers a lot of simple cases, such as PxR before BxP. It is used in various move generators build in hardware, such a [[Belle#Hardware|Belle]] and more recently in [[FPGA]] approaches such as [[Brutus]] and [[MBChess]] <ref>[[Marc Boulé]] ('''2002'''). ''An FPGA Move Generator for the Game of Chess''. Masters thesis, [[McGill University]], (Supervisor: [[Zeljko Zilic]], Co-Supervisor: [[Monroe Newborn|Monty Newborn]]), [http://www.iml.ece.mcgill.ca/%7Emboule/files/mbthesis02.pdf pdf]</ref>. However the heuristic may fail, if victims attacked by more valuable attackers are defended, in such cases most programs rely on [[Attack and Defend Maps|attack tables]], set-wise [[Pawn Attacks (Bitboards)#PawnAttacks|pawn attacks]] (defends) on the fly to perform a [[Static Exchange Evaluation|static exchange evaluation]].
  
 
=See also=  
 
=See also=  

Revision as of 20:55, 15 July 2019

Home * Search * Move Ordering * MVV-LVA

MVV-LVA (Most Valuable Victim - Least Valuable Aggressor),
is a simple heuristic to generate or sort capture moves in a reasonable order. Inside a so called find-victim cycle, one first look up the potential victim of all attacked opponent pieces, in the order of the most valuable first, thus queen, rook, bishop, knight and pawn. After the most valuable victim is found, the find-aggressor cycle loops over the potential aggressors that may capture the victim in inverse order, from pawn, knight, bishop, rook, queen to king. The heuristic is easy to implement and covers a lot of simple cases, such as PxR before BxP. It is used in various move generators build in hardware, such a Belle and more recently in FPGA approaches such as Brutus and MBChess [1]. However the heuristic may fail, if victims attacked by more valuable attackers are defended, in such cases most programs rely on attack tables, set-wise pawn attacks (defends) on the fly to perform a static exchange evaluation.

See also

Forum Posts

1995 ...

Re: MVV/LVA vs SEE move ordering - more test results by Brian Sheppard, rgcc, August 27, 1995

2000 ...

2005 ...

2010 ...

2015 ...

External links

References

  1. Marc Boulé (2002). An FPGA Move Generator for the Game of Chess. Masters thesis, McGill University, (Supervisor: Zeljko Zilic, Co-Supervisor: Monty Newborn), pdf

Up one level