Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: 0x88 fast move generation

Author: Tord Romstad

Date: 01:46:42 01/18/04

Go up one level in this thread


On January 17, 2004 at 18:03:24, Jan wrote:

>>From the opening position, how many times per second can you call your move generator?
>When writing this reply, i have no access to my program to write the precise
>number which i dont remember, but its between 1500000-2000000 times per second.
>I think that's really slow on my Athlon 1800, so the question is:how many calls
>will I really need when I do for example 9 or 10ply search?

I think it's really fast.  I just made a test with my own engine on my PowerBook
G4 550 MHz,
which is probably about three times slower than your Athlon.  From the opening
position, I
can call my move generator 180,000 times per second.

How many calls you need when doing a 9 or 10 ply search?  I'm too lazy to check
right
now, but of course the answer will vary from program to program.  I guess it
would be
something around one third of the number of nodes searched (the majority of the
nodes visited in the search are leaf nodes, I think).  And in most of the nodes
where
you do generate moves, you will probably generate only captures, which is
considerably
faster than generating all moves.

My engine needs slightly less than half a million nodes to complete a 9-ply
search
from the opening position, and about 2.3 million nodes for a 10-ply search (the
poor branching factor is caused by a new best move at ply 10).

>>Concentrate on making a working program first, even if it is slow and weak.
>I wrote that i'm new to chess programming but I have already finished my first
>chess program, with elo somewhere around 1650 tested on real players. In the end
>I found it's too slow to try to implement some more complicated algorithms, so
>now I started writing another program, trying to avoid all those bottlenecks,
>making sure that i wont have to make drastic changes in those often used
>algorithms like check and move generation later on.

The best way to make the program faster is to improve the search.  If the
strength
of your engine is around 1650, the potential improvements by making the search
more efficient are incomparably much bigger than the potential improvements
by optimizing the move generator.  Try to reduce the branching factor and the
number of moves searched to complete an n-ply search, and don't worry about
the nodes/second count.  Until your engine has reached the stage where it is
able to put up a good fight against the strongest amateur engines, there are
easier
ways to improve it than doing low-level optimization.

Tord



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.