Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: In the generate_move function...

Author: Robert Hyatt

Date: 11:59:14 12/21/99

Go up one level in this thread


On December 21, 1999 at 10:26:14, Nicolas Carrasco wrote:

>You conviced me to put SEE before MVV/LVA. I will make stats and I someone is
>interested I will publicate them.
>

I did this a couple of years ago.  SEE is over 10% more efficient in ordering
captures.  IE using SEE your tree will generally decrease in size by 10%.  But
once you have SEE, you can use it to weed out hopeless captures in the q-search
(ie qxp pxq) and _that_ will cut the tree size by 50%.  Or make you twice as
fast, depending on how you look at it...

The complete details were reported in r.g.c.c several years ago in a long
discussion with Hsu about this...




>On December 21, 1999 at 09:56:31, Robert Hyatt wrote:
>
>>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.