Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Benchmarking chess algorithms

Author: Dan Homan

Date: 09:51:42 07/20/99

Go up one level in this thread


On July 20, 1999 at 12:47:29, Dan Homan wrote:

>On July 20, 1999 at 12:12:14, Dann Corbit wrote:
>
>>I think it would be interesting to benchmark chess algorithms:
>>0. Move generators -- all types
>
>This one is do-able by restricting ourselves to moves generated per
>second in a standard position.  From the opening, EXchess
>generates approximately 3.0 million moves per second on a 400 MHz Cel.
>The move generation algorithm is a simple loop over the board (stored
>as a 64 square array) with simple logic checks to find the boundry.
>
>For generate/make/unmake EXchess preforms approximately 600,000 moves
>per second on the 400 MHz Cel.  My make involves a position copy, so
>I don't do an unmake routine. The formula here is 1) generate all

Note: I also do full legality testing in my make routine - something
which a lot of programs don't do.  Not doing the full legality testing
improves performance on this test by about 10-15% but doesn't affect
overall program performance very much in EXchess.

>the moves from a given position 2) make/unmake each move in turn
>3) count the moves generated/made/unmade.
>
>>1. Alpha-Beta vs MTD(f)
>
>This one is harder to compare, but I like some of Bruce's ideas in
>another post.
>
>>2. Bitboards vs 0x88
>
>Move generation and make/unmake is covered in category 0.  Comparing
>things like "SWAP" and eval routines would be interesting but very
>difficult to standardize.
>
> - Dan
>
>>3. etc.
>>
>>Prepare a large crosstable and do a large number of runs with as many
>>implementations as possible and under as many different conditions as possible.
>>
>>Change the search time from very short searches (10 sec or less) up to half an
>>hour to find the bit O(f(n)) properties of the algorithms.
>>
>>A systematic study might eliminate a lot of guesswork or even tell us *where*
>>certain algorithms work better than others.  For instance, we might use one
>>algorithm at a certain time control and a different algorithm at a longer time
>>control and yet another at correspondence chess time controls.



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.