Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Are some of you getting 5 Million moves per second?

Author: Larry Griffiths

Date: 08:39:18 07/23/00

Go up one level in this thread


On July 23, 2000 at 03:11:15, David Blackman wrote:
>
>I think the people getting 5 million nodes per second had about 8 cpus.
>
>Its unlikely that anyone gets 5 million nodes per second on a single Pentium III
>@ 550. If they did, it would have to be such a stripped down program, that it
>wouldn't actually play good chess. (Little or no eval, and poor move ordering.)
>Somewhere around 1 million is probably right for a fast/dumb but competitive
>program on that hardware.
>
>Try putting in a full alpha-beta engine, or some variant that works at least as
>well, plus sensible move ordering, quiescence search (probably just captures),
>and a simple eval with at least piece-square tables. If you still get 2 million
>nodes per second, you've really got something. Yes, you should count quiescence
>nodes in the node count.
>
>Hint for writing fast/dumb programs: you don't have to generate all legal moves
>for every position. In most positions in the tree, you are only going to try at
>most a few legal moves, so generating all of them is a waste of time.
>
>Also, it is not necessary to be fast/dumb to be strong, although that is
>probably the easiest kind of strong program to write. If you write a smart
>program getting less than 100KNodes/sec on your hardware, you will find that the
>speed of the move generator and makemove is mostly irrelevant.

Hi David :)

I only want to use Bruteforce to find "moves per second" and validate that I am
generating moves correctly.  I will have to modify it now so that it has a
Captures and a Moves only section so that it will look similar to what will be
in the Alpha-beta function.  I am sure this will reduce the moves per second in
brute force, but hopefully will increase the efficency in the alpha-beta
function.

My previous program had most of what you described above, but generated all the
moves for each ply before making moves.  My approach now is to generate the
moves incrementally so that alpha-beta cut-offs will also cut out the extra cpu
time used for generating moves.  I am using full bitboards now thanks to Robert
Hyatts article about bitboards and this enables me to generate capture moves
fairly quickly.  I want to be able to get to deeper plys as my old program could
only go 6-10 plys deep and Chessmaster would burn my buns :) because it could go
deeper on plys.  Deeper plys to me means the tactical part of the program will
not be checkmated as easily, and will not lose material as easily.

Larry.





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.