Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: My program plays chess!

Author: Brian Richardson

Date: 17:45:52 04/08/00

Go up one level in this thread


On April 08, 2000 at 20:00:04, Tom Kerrigan wrote:

>On April 08, 2000 at 18:28:51, Brian Richardson wrote:
>
>>On April 08, 2000 at 15:10:35, Severi Salminen wrote:
>>
>>>Hi!
>>>
>>>>Congratulations on getting your program playing.
>>>
>>>Thanx!
>>>
>>>>
>>>>Try adding piece square tables to your evaluation function--see TSCP
>>>>source for simple examples.  This will make it much easier to direct
>>>>opening play and piece development.
>>>
>>>
>>>Well, I found the error (it's not so easy with assembler...) and now my program
>>>plays 1...e6 and I'm satisfied so far.
>>>
>>>BTW how fast "should" the program be? Mine calculates now some 40000 positions
>>>with Celeron 300Mhz. Is the NPS rating the actual number of positions evaluated
>>>per second or is it the total number (even those cut off with A-B)?
>>>
>>>Severi
>>
>>NPS is calculated differently in many programs, but I think it is generally the
>>total number of nodes visited during the search, but not including evaluations,
>>(which would be already counted as leaf nodes).  NPS is not very useful as a
>>speed measure.  However, it is useful to the programmer to compare various
>>versions of the same program.  A more useful measure of speed would be the time
>>to reach certain depths for several test positions (starting, various midgame,
>>endgame).  You could then compare your program's speed against several others
>>that you could download.  TSCP would generally be the slowest, and you should
>>shoot for about 10x its speed.  Crafty would be among the faster ones (but not
>
>Just to clarify: A good program will find the solution to a given problem ~10x
>faster than TSCP. (I don't think any program searches 10x as many NPS as TSCP.)
>
>-Tom

This is why NPS is not a very good measure of speed.  Indeed, Crafty does about
277K NPS to search to a depth of 8 plys from the initial position vs about 117K
for TSCP (on my PIII 733MHz system).  However, Crafty's time to depth is 1.8 sec
vs 59 sec for TSCP.  So one program can be roughly 30x "faster" measured one
way, but less than 3x faster measured another.  Of course, TSCP is intended as
an easy to understand example (thanks again Tom), and is at least 10x easier to
understand than Crafty.  Data provided below (slightly modified TSCP bench
command to not replace position with bench test position):

Tom Kerrigan's Simple Chess Program (TSCP)
version 1.5, 2/13/00
Copyright 1997 Tom Kerrigan

"help" displays a list of commands.

tscp> sd 8
tscp> bench
ply      nodes  score  pv
  1         21     48  d2d4
  2         84      0  d2d4 d7d5
  3        800     35  d2d4 d7d5 b1c3
  4       4219      5  e2e4 d7d5 f1b5 c8d7 b5d3
  5      22461     35  e2e4 e7e5 d2d4 d7d5 g1f3
  6     139848     13  e2e4 e7e5 d2d4 e5d4 d1d4 g8f6
  7    1159551     30  e2e4 d7d5 e4d5 d8d5 d2d4 d5e4 g1e2 e7e5
  8    6974698     18  e2e4 e7e5 g1f3 g8f6 b1c3 b8c6 d2d4 d7d6
Time: 59281 ms

Nodes: 6974698
Best time: 59281 ms
Nodes per second: 117654
tscp>

EPD Kit revision date: 1996.04.21
found computer opening book file [./bookc.bin].

Crafty v17.6

White(1): easy
pondering disabled.
White(1): book off
book file disabled.
White(1): noise 1
noise level set to 1.
White(1): sd 8
search depth set to 8.
White(1): go
              clearing hash tables
              time surplus   0.00  time limit 30.00 (3:00)
         nss  depth   time  score   variation (1)
                1->   0.00   0.15   1. e4
                2     0.01  -0.19   1. e4 d5
                2->   0.01  -0.19   1. e4 d5
                3     0.01  -0.02   1. e4 d5 2. Nc3
                3     0.01  -0.01   1. d4 d5 2. Bf4
                3->   0.01  -0.01   1. d4 d5 2. Bf4
                4     0.01  -0.19   1. d4 d5 2. Bf4 Bf5
                4     0.03  -0.12   1. e4 e5 2. d4 d5 3. dxe5 dxe4
                4->   0.03  -0.12   1. e4 e5 2. d4 d5 3. dxe5 dxe4
                5     0.05  -0.06   1. e4 d5 2. exd5 Qxd5 3. Nc3 Qd4
                5     0.06  -0.03   1. e3 d5 2. d4 Bf5 3. Nf3
                5     0.06  -0.02   1. d4 e6 2. e4 Bb4+ 3. c3 Be7
                5->   0.08  -0.02   1. d4 e6 2. e4 Bb4+ 3. c3 Be7
                6     0.09  -0.19   1. d4 d5 2. Bf4 Bf5 3. e3 e6
                6     0.15  -0.10   1. e4 e6 2. d4 Nf6 3. Nc3 d5 <HT>
                6->   0.17  -0.10   1. e4 e6 2. d4 Nf6 3. Nc3 d5 <HT>
                7     0.31  -0.06   1. e4 e6 2. Nf3 d5 3. exd5 Qxd5 4.
                                    Nc3 Qd8
                7     0.44  -0.04   1. e3 d5 2. Nf3 Nc6 3. d4 Bf5 4. Bb5
                7->   0.47  -0.04   1. e3 d5 2. Nf3 Nc6 3. d4 Bf5 4. Bb5
                8     0.84  -0.19   1. e3 d5 2. Bb5+ Bd7 3. Bxd7+ Nxd7
                                    4. Nc3 e6 5. d3 Bb4 6. Ne2
                8     1.44  -0.15   1. e4 e6 2. Nf3 Nf6 3. e5 Ne4 4. d3
                                    Bb4+ 5. Nbd2
                8->   1.80  -0.15   1. e4 e6 2. Nf3 Nf6 3. e5 Ne4 4. d3
                                    Bb4+ 5. Nbd2
              time=1.81  cpu=99%  mat=0  n=501550  fh=86%  nps=277099
              ext-> checks=7541 recaps=4080 pawns=48 1rep=326 thrt:0
              predicted=0  nodes=501550  evals=226056
              endgame tablebase-> probes done=0  successful=0
              hashing-> trans/ref=32%  pawn=90%  used=47%

White(1): e4
              time used:   1.81
Black(1):




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.