Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: new questions (scott gasch!)

Author: Anthony Cozzie

Date: 05:56:00 11/23/04

Go up one level in this thread


It is indeed YBW :)

IMO YBW is the only way to get a good speedup.  You want to split at ALL (fail
low) nodes, otherwise you are wasting your time.  At CUT (fail high) nodes most
odern engines will get a fail high on the first move 90%+ of the time.
Therefore, if you have searched at least 1 move its very likely that the node
will be an ALL node.

DTS tries to split at ALL nodes as well, but Bob used some more complicated
stuff to try to figure that out, that I wasn't sure how to adapt to nullmove (I
just use moves searched, and (hint) the transposition table).  DTS is more of a
set of ideas on how to make processors work together, a framework if you will,
then a splitting selection criteria.  As soon as I read the DTS paper, I knew I
had to implement it, because of the crazy things that can happen in DTS:

1.  CPU A starts searching a node.  It adds CPU B.  CPU A runs out of moves.
CPU B returns from the node (note that this precludes a recursive search).

2.  CPU A is searching a node at ply 10.  It wants to add CPU B, but ply 10 is a
bad place to split, so it adds it at ply 3.

3.  DTS actually does score updates.  So if CPU A starts searching with alpha=
0.45 and CPUB finds a new best move, A's alpha will be updated appropriately.
Zappa doesn't bother, it just aborts nodes if necessary.

anthony



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.