Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Extensions & quiescence

Author: Robert Hyatt

Date: 15:50:37 10/22/98

Go up one level in this thread


On October 22, 1998 at 16:38:52, Larry Coon wrote:

>My own very amateurish program doesn't evaluate things
>correctly when doing selective extensions.  I wondered
>if anybody could tell me where my assumptions are getting
>me into trouble.
>
>If I'm extending the search past what would normally be
>the leaf level (because the position isn't quiet) I generate
>a smaller set of "interesting" moves, which only includes
>things like captures, promotions, killers, etc.  My assumption
>is that if I wanted to look at -all- the available moves, I
>would have just set depth higher to begin with.  Extending has
>lower overhead that a full ply search because it considers
>fewer moves.
>
>So here's what it does wrong -- let's say it's btm, and it's
>already searched to depth=1, and max_extensions=2.  At depth
>1 it's wtm.  So it generates all moves for white at depth=1,
>and one of them is h4.  It makes this move and recurses for
>depth=0.  At depth=0 it can extend if there's a an interesting
>move, and there is one -- Qxh4.  So it extends and looks at
>Qxh4.  At the next depth, white does Nxh4, winning a queen for
>the h pawn.
>
>Now since the move generator for extensions only generates
>the really interesting moves, the -only- move it generated at
>depth 0 was Qxh4.  So as far as the search engine can tell,
>Qxh4 was forced, and white's h4 was a -great- move.  Obviously,
>it was mistaken.
>
>Is my premise of generating only the interesting moves when I
>extend the search a bad one?  Do I have to generate the full
>set of moves when I extend for just this reason?  Or is there
>something else that can be done to make it work correctly
>using this system?

your only mistake is "no safety outlet".  IE if you only generate
"interesting moves", then you need a safety valve for when those
"interesting mvoes" are no good.  The best way is what we all do in
the quiescence search, namely to first call evaluate(), so that you have
a choice of either "standing pat" and accepting the current score, or else
trying and accepting the score from one of the interesting moves, if the
scores are better than the score you get by "doing nothing"...




>
>I realize that extensions still buy me something even if I
>generate all moves (because it doesn't go past depth=0 for
>positions that are quiet), but I'd sure like to keep the extra
>time savings I get the way I do it now.
>
>Thanks, and sorry for the long post.
>
>Larry Coon



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.