Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: What are the ELO'S of the programmers that post here?

Author: Steve Timson

Date: 22:25:05 03/12/02

Go up one level in this thread


On March 12, 2002 at 19:48:59, Peter McKenzie wrote:

>On March 12, 2002 at 19:05:17, Scott Gasch wrote:
>
>>
>>There is something to be said about having an true expert consult on your
>>evaluation knowledge -- it's helpful, to a point.  The problem with experts is
>>they can always show you a counterexample and tend to focus on the exceptions
>>rather than the rule.
>
>This is an interesting observation
>

I have noticed something similar from talking to strong players about
programming.  I find that often the way to improve my program is to make it
better on the average.  That is, if a short-cut can be taken that makes it
smarter most of the time, but stupider very rarely, the result is often quite
worth it (some forms of pruning come to mind).  A strong player often seems to
be much more horrified by an occasional glimpse of stupidity, missing the fact
that overall the program is winning more games.  Of course, this horror might be
justified if the flaw is expoitable, but in general this sort of 'optimizing'
has helped chester's strength quite a bit.

>>
>>An expert programmer who knows the rules of chess can create a strong engine a
>>lot more easily than an expert chessplayer who knows a how to program.  Taking
>>the engine from strong to very strong requires chess insight, true, but that can
>>be gained in many ways, I find.
>

I agree that chess knowledge helps, but, as Scott said, a lot of that is
avialable in books.  I am terrible at chess, but by now I have read quite a few
books on all phases of the game, seeking to improve my engine.  The only place I
really notice my weakness is when watching the rare game where I cannot
understand the reason for the loss.  However, even as a very weak chess player,
this happens extremely rarely.  Almost always it is something that is obvious to
someone who has read a few books on chess, but might suck OTB. I think this
process of watching your program play and analyzing reasons for the loss is
extremely important - but it certainly doesn't require master skill, just some
knowledge and diligence.

>I agree.  I am no doubt a weaker chess player than I was 10 years ago but my
>knowledge of chess is at least as good.  Chess knowledge is of course different
>to chess playing ability.
>
>I am a better programmer than I was 10 years ago, and overall the balance adds
>up to being a better chess programmer.
>
>Of course there are other factors that are at least as important as programming
>ability and chess knowledge, testing methodology springs to mind.
>

Testing methodology is absolutely huge in my experience.  Chester is the second
chess program I have written.  The first was strong, but reached a glass ceiling
pretty quickly.  There were just too many minor bugs.  It eventually led to me
shelving it, because it was a complicated mess.  In writing chester I focused
heavily on testing, simplicity and bulletproofing everything I could in testable
stages.  I have a verify routine for everything I could possibly create one for.
 Each feature (e.g. testing if a move is valid), has a stress test mode where
results are checked through computation in alternate forms, etc.  Many classical
debugging tactics simply don't work when you are dealing with a pruned search
tree that is 15 plies deep and contains thousands of nodes.  Getting around this
is pretty important I think.

Another simple thing I have found quite helpful is having a debug set of
positions that I know the nodes to ply for, given a current code state.  I
actually code the values in and have a test mode where I can quickly fire off an
8 ply search in a dozen positions or so, verifying these counts.  When I am
working on things like optimizing, I run this test over and over for each step
making sure node counts haven't changed.  If I make a change that alters the
search or eval, then I check it carefully and update the numbers afterward.
Anyway, it has helped me quite a bit.

Sorry to have run off on a tangent... :)

 - Steve

>cheers,
>Peter
>
>>
>>Scott



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.