Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Move ordering problems with PVS

Author: Robert Hyatt

Date: 11:17:15 11/27/00

Go up one level in this thread


On November 27, 2000 at 13:01:04, Scott Gasch wrote:

>Hi all,
>
>I have a standard AB search in my engine right now.  It works fine and I am
>reasonably happy with the tree sizes it is searching.
>
>However I am trying to convert it to a PVS -- a search with a minimal window for
>all moves after the first followed, if needed, by a research with the full
>alpha-beta window if this minimal window search returns a score in the original
>a-b range.
>
>As a test I ran the original A-B search from d2d4 d7d5 e2e4 e7e5 to 8 ply and
>compared the number of nodes searched to the new PVS search.  I am pretty sure I
>have the PVS implemented correctly and can only assume that the great difference
>in tree size comes from a poor move ordering on my part:
>
>   AB       PVS
>1. 45       83
>2. 525      646
>3. 3004     4975
>4. 14061    23048
>5. 43460    147922
>6. 183094   633827
>7. 486054   4727636
>8. 1129783  11029952
>
>The strange thing is that I am using the same move ordering in both cases: hash
>move (with PV stuffed), winning captures (MVV/LVA), losing captures (MVV, LVA),
>killers (beta cutoffs at same ply), rest sorted on history heuristic (depth^2).
>
>I've read that some people who use a SEE put losing captures at the end of the
>list.  I do not want to do this for two reasons: 1. I generate all captures
>before any of the moves to maybe get a cutoff with less work done and 2. Because
>I do not use a SEE I am not entirely certain that a MVV/LVA capture is indeed
>"losing"... the opponent's piece may be hung and no recapture occur.
>
>Is this move ordering scheme sane?
>
>Thanks,
>Scott


I don't think your losing captures before killers is a good idea.  My order:

1.  hash move (also includes PV move since it is passed thru hash)
2.  winning captures
3.  even captures (trades)
4.  2 killer moves (before generating non-captures)
5.  4 history moves (after generating non-captures)
6.  rest of moves in order generated, which would put the losing captures
    first since I generate captures first.



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.