Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: a simple question about how engines change their mind

Author: Stuart Cracraft

Date: 14:05:38 01/22/06

Go up one level in this thread


On January 20, 2006 at 20:29:04, Joseph Ciarrochi wrote:

>
>
>engines try to exclude a number of bad lines quickly to improve depth of
>search.. Let's say one of those bad lines turns out to be good at a depth of 12.
>Once the line is excluded, how does the engine go back to it?
>
>for example, let's say a queen sack looks terrible at depth of 3, and its value
>is only discoverable at depth of 10. Once the queen sack is excluded at depth of
>3, how does the engine later discover that the queen sack was a good idea?
>
>naively yours,
>
>Joseph

It discovers it with Iterative Deepening, besides other things. :-)

So assume time X for move. You now start an infinite loop where PLY increases
from 1 on up to infinity.

PLY represents the ply you are searching to from the present real-world
board position.

So you hit ply equal 3 which is passed to yours search routine as depth=3.
That then decrements or increments it as according to reduction or
extension for each move in that position. Quiescence is tacked on when
depth goes to 0 (or 1 in some cases) and goes out much further.

Eventually, your queen sack at ply 1 becomes known to be good because
the iterative deepening will be well past ply=3 with the associated
quiescence.

As each iterative deepening loop iteration completes, the run from the last
iteration produces information that greatly improves the next iteration.
That information is: sorted movelist at ply 1 is good, more useful hashed
positions in the transposition table, killer moves at various ply, and
so on.

So it is not an expensive approach but a better approach and it helps
speed things up for deeper depths.

Some have experimented with plies 1-3-5-7-9-etc or searching odd-numbered,
but the idea is the same. Earlier searches improve later searches and
moves get researched in a different, ostensibly improved order, but not
thrown out (in most implementations.)

They *used* to throw out moves years ago. But that is too dangerous now.

Interestingly, M Chess, nee A.I. Chess, could change its mind back to
a previously searched move ON THE SAME PLY, as I recall. There are probably
lots of programs that do that these days. If an author with such a feature
would speak to that, I think it will help focus in on the specific case
the questioner has asked about.

Stuart



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.