Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Extensions?!

Author: Don Dailey

Date: 09:51:32 01/13/98

Go up one level in this thread


On January 13, 1998 at 09:08:49, Dan Homan wrote:

>On January 12, 1998 at 14:49:17, Robert Hyatt wrote:
>
>>On January 12, 1998 at 14:23:02, Dan Homan wrote:
>>
>>>Test Position: WAC 003
>>>
>>>  +---+---+---+---+---+---+---+---+
>>>8 |   |   |   |   |   | *R| *K|   |    White to move
>>>  +---+---+---+---+---+---+---+---+
>>>7 |   | *P| *P| *B|   |   |   | *P|    castle: -
>>>  +---+---+---+---+---+---+---+---+
>>>6 | *P|   | *P| *B|   |   |   |   |
>>>  +---+---+---+---+---+---+---+---+
>>>5 |   |   |   |   |   |   | *Q|   |
>>>  +---+---+---+---+---+---+---+---+
>>>4 |   |   |   | P |   | *P|   | *R|    fifty: 0
>>>  +---+---+---+---+---+---+---+---+
>>>3 |   |   | P |   | R |   |   | P |
>>>  +---+---+---+---+---+---+---+---+
>>>2 | P | P |   | B | Q |   | P |   |
>>>  +---+---+---+---+---+---+---+---+
>>>1 |   |   |   |   |   | R | K | N |
>>>  +---+---+---+---+---+---+---+---+
>>>    a   b   c   d   e   f   g   h
>>>
>>>
>>>White to Move  Book Move: Rg3;
>>>
>>>Press 's' to search, 'n' for the next position, 'q' to exit: s
>>>Please enter a search time (in seconds): 30
>>>  3.    154     0     1300   e3g3 g5g3 h1g3
>>>  4.    313     0     5297   e3g3 d7g4 g3g4
>>>  5.    313     0    10408   e3g3 d7g4 g3g4
>>>  6.    313     2    53982   e3g3 d7g4 g3g4
>>>  7.    313     5   174534   e3g3 d7g4 g3g4
>>>  8.    313    20   735301   e3g3 d7g4 g3g4 h4g4 e2e6 g8h8
>>>                              h3g4 g5f6 f1e1 f4f3
>>>
>>>node_count = 885911 quiescent nodes = 82048 eval_count = 183571
>>>hash hits = 74864 hash moves = 9095 pawn hash hits = 173696
>>>node_rate = 36912 null cutoffs = 167276 extensions = 15099
>>>
>>
>>I tried this to a depth of 8 plies (which I assume the above means
>>you reached?)  Total time was 2 seconds, with a hash hit rate of 99%.
>>I re-ran it to 30 seconds and was able to search 11 plies deep this
>>time, and the pawn hash hit rate was still 99%.  I used 5mb for the
>>pawn hash, where one entry is 20 bytes.
>>
>
>I was just looking at these numbers and noticed that you are reaching
>depth 8 in just 2 seconds!  It takes me 20 to reach depth 8 (time to
>complete the first PV on depth 8, the rest of the moves at depth 8
>take still more time).  This is a factor of 10!  Even assmuning a
>generous factor of 3 in nps advantage, crafty is searching about a
>factor of 3 fewer nodes!
>
>I can think of a few reasons that my search would have more nodes, but
>none of them should be a factor of 3.  One thing that did occur to me
>is extensions.  I turned off all extensions and researched this
>position.  In doing so, I found that I searched only about 30% of the
>nodes to reach the same depth as the above example.  Should my
>extensions really be tripling the size of my search tree?
>
>I like the extensions a lot, just adding them in has increased my
>program's blitz rating on FICS by 200 points (now about 2030).  I am
>wondering, however, if I have overdone it.  What do you typically
>expect the increase in tree size to be with reasonable extensions?
>
> - Dan
>
>p.s. My program does
>
>capture extensions    (4/10 of a ply)
>re-capture extensions (1 ply)
>check extensions      (1 ply)
>pawn push extensions  (1/2 ply or 1/3 ply)  (endgame and late
>middle-game)
>bruce's mate ext.     (1 ply)

Dan,

From my own experience you can change the tree size significantly with
extensions and it have little meaning, or a lot.  I can almost at will
create a version of cilkchess that is twice as slow, but plays about
the same strength.   I wouldn't worry too much although it's certainly
healthy to be concerned.

Also many programmers choose different quality/speed tradeoffs that can
make a lot of difference in iteration speed.  You will find many fast
and slow programs in the top 10 that are all roughly playing the same
strength.  The questions you must ask is are you making the right
tradeoffs?

No matter what trick you use to get speed you will pay some or all of
it back in quality (unless it's in the class of free speedups.)  The
trick is get a speedup and pay only some of it back in quality.  The
free speedups are move ordering, fast check testing etc.  The others
I call speculative speedups and most programs have a lot of them.

There is a lot of room for playing with iteration speed with
selectivity.
It's hard to compare your program with any others if you do not know
exactly everything they do and what shortcuts they take.

Of course Bob can tell you if you ask enough questions.   My guess is
that you're not doing anything terribly wrong but probably everyone
is doing some things wrong.

- Don








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.