Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How long to build your chess engine

Author: Tord Romstad

Date: 03:10:18 01/07/04

Go up one level in this thread


On January 07, 2004 at 05:11:07, Matt Thomas wrote:

>Hi Professor Hyatt!
>
>On January 06, 2004 at 23:41:46, Robert Hyatt wrote:
>
>>On January 06, 2004 at 03:09:57, Matt Thomas wrote:
>>
>>>This question is for those who have designed and built their own chess engine.
>>>How long did it take you?
>>
>>So far, it has taken me 35 years.  And counting.
>>
>>:)
>>
>
>It may be back a while, but were you able to take it from concept, thru design
>and into a reasonably functioning chess engine in about a year?  I am just
>trying to get a rough idea, more out of curiousity than anything.

I would also be curious to know the answer to this question, but Bob's
experiences from 35 years ago are almost completely irrelevant when
deciding how much time you should expect to spend before you have a
working chess engine.

Bob's task 35 years ago was much, much more difficult than the task
you face today.  First of all, you have lots of books, online resources,
and discussion boards like this one to help you get started.  Bob had
to invent lots of techniques more or less from scratch.  Another important
factor is that the computer hardware 35 years ago was not quite the same
as what we are used to today.  Imagine the complexity of writing a
chess engine which have to run on a machine thousands of times slower
than current PCs, and with just a tiny amount of memory available for
your program.

>Hmmm. That has me thinking.  So if I use a 64bit integer where I would otherwise
>be using two 32 bit integers, then it would be processed faster under a multiple
>branch pipeline?  Does that mean that the two 32 bit integers would only be
>handled by a single pipeline?  Now I am wishing that i had read a little more on
>the architecture of the modern PC's.  I know that there are pipelines, but I
>really haven't reviewed their operation.  I can see where knowing a few more
>details there would be helpful.

Just make sure you don't fall into the trap of premature optimization,
which Russell warned against.  Concentrate on writing something readable
and reasonably bug-free that plays legal moves first.  If you want to
improve quickly, it is much more important to design your engine in
such a way that it is easy to implement and experiment with various
ideas than to maximize the number of nodes per second.

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.