Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Can a Programming Language Cause Engines to be Slow?

Author: Dann Corbit

Date: 13:05:37 11/13/02

Go up one level in this thread


On November 13, 2002 at 15:09:14, Bob Durrett wrote:
[snip]
>To be completely fair about it, you must admit that there is much in the
>present-day chess engine algorithms which is the same for every engine.  For
>example, there is all this lip service paid to "alpha-beta."

There are huge differences in alpha-beta algorithms, depending on different
pruning techniques, mostly.  PVS and NegaScout are two major variations, but
that does not tell the whole story.  There are many variants on null move
techniques (such as double null move and variable depth reduction).  There are
various move ordering techniques in use.  This may sound trivial and unimportant
but it can double the search depth.

>My guess is that MOST, if not all, of the basic algorithm content of present day
>chess engines is the same from one engine to the next.  Correct me if I'm wrong.

You're wrong.  Elo range is from 1000 to 2600.

>If you buy that, then you must admit that it's unfair talking about "using bad
>algorithms" versus "using good algorithms."

What about new algorithms that nobody has thought of yet?  There may be some
surprises in store.  There are still lots of choices to make for algorithms.

>If all the chess engines are using
>essentially the same algorithms, then ALL chess engines will be using "good
>algorithms" [giving present-day algorithms the benefit of the doubt.]

If all engines were using the same algorithms, they would be at about the same
strenght.  Why then, do chess engines vary in playing strength by many orders of
magnitude?

>Differences between engines discussed here at CCC seem to me to differ in only
>two important ways:
>(1)  Coding skills of the programmers [some are experienced professionals], and
>(2)  Maturity of the programs.  [Crafty mature.  Russell's still unnamed.]
>
>My perception is that the basic algorithms used do not change significantly from
>one modern engine to the next, except as noted above.

I don't think you have a good handle on it.  Sure, everyone uses *some* form of
alpha-beta.  But that is like saying that all cars run on tires and gas and are
therefore of the same speed.


>[Hope I didn't insult anybody.  I didn't mean to.  : ) ]
>
>Bob D.
>
>>But you can cost yourself 50 ELO or so with a
>>slower choice (e.g. Java, VB.NET, and other interpreted languages are simply not
>>going to be as fast, despite all the protests of the prognosticators)
>>
>>On the other hand, if you are more comfortable in one of these langauges, you
>>will probably write your best possible engine by using one of them.
>
>Yes, that does sound like the wise choice.  You always want to do your best.
>
>Bob D.



This page took 0.01 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.