Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: In the generate_move function...

Author: Robert Hyatt

Date: 06:56:31 12/21/99

Go up one level in this thread


On December 21, 1999 at 06:45:01, Daniel Clausen wrote:

>Hi
>
>On December 21, 1999 at 00:36:03, Robert Hyatt wrote:
>
>>On December 20, 1999 at 13:02:38, Nicolas Carrasco wrote:
>>
>>>Do u know any documentation of MVV and LVA?
>>
>>This approach (MVV/LVA or Most Valuable Victim, Least Valuable Attacker)
>>was designed for hardware move generators, as this is easy to do with some
>>parallel hardware for each square.  It works OK for normal chess programs,
>>although SEE is generally better.
>>
>>It just means (a) find the most valuable piece that is attacked by the
>>moving side, and then (b) capture it by the least valuable piece that is
>>attacking it.
>>
>>Very simple to implement.
>
>This is what I'm also doing in my engine now. I noticed though that in
>my case it's better to try the loosing capture also before the quiet
>moves. I'm not sure whether this has to do with the relatively bad
>quality for the MVV/LVA-value (compared to the SEE-value) or caused
>by yet another silly mistake somewhere in my engine.
>
>Kind regards,
> -sargon


This is only true with MVV/LVA.  Because it doesn't recognize 'losing' captures
very well.  QxR is not losing, if the queen has a bishop behind it, backing it
up, and the rook is defended by a rook.  So that QxR, RxQ, BxR is played.  That
wins a pawn.  SEE would correctly recognize that this wins material and try
it before moves like RxR which might (by MVV/LVA) either win a rook or be an
even exchange.

Once you add SEE, you can put off losing captures to the very end.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.