Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Move ordering

Author: Robert Hyatt

Date: 18:48:34 11/27/00

Go up one level in this thread


On November 27, 2000 at 19:36:18, Scott Gasch wrote:

>Hi,
>
>I recently attempted to change my move ordering so that "losing" captures
>(MVV/LVA) were searched after everything else.  This resulted in search trees
>about 30% larger than when I searched all captures at once, best to worst
>(MVV/LVA) before any non-capture moves.
>
>The reason I tried this was because both Prof. Hyatt and an article online by E.
>Heinz suggest losing captures should be tried last for better move ordering.
>Does this rule hold if I am doing a simple MVV/LVA move value scheme instead of
>a more complicated SEE?  How can I be sure a capture is "losing" just because
>the piece I capture with is more valueable than the captured piece?
>
>Should qxn when n is hung be search last in a position just because it's
>considered "losing" since the queen > knight?  This seems wrong to me because
>most likely such a hung-knight position would be a beta cutoff and we could have
>saved all the work of considering all other non-capture moves in this position
>had we looked at this "losing" capture first.  IS this just the exception to the
>rule?  Don't get me wrong, I'm all for apparently "better" captures before
>"worse" ones but I wonder if I am misunderstanding where to search the "worse"
>capture moves.  It would seem to be so since my tree expands after I make this
>change.
>
>Scott


MVV/LVA was developed by Ken Thompson.  It makes a world of sense in hardware
where trying to "sort" a move list would make the design 10 times more complex
at least.  But it fails in lots of places.  QxN where the N is defended is
obviously worse than NxP where the pawn is undefended.

The advantage for MVV/LVA is speed.  It is much easier/faster to compute than
SEE scores for all the captures.  SEE will make the tree smaller, but it will
also drop your NPS.  I believe SEE is better, but the last time I did a very
careful comparison, I found that SEE was 10% more efficient in terms of number
of nodes searched.  However, if you use SEE to prune bad captures in the
q-search, you will go 2x faster, which is a huge savings...



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.