Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: For Dann - Re: ICC Compuer List re: ChesterX

Author: José Carlos

Date: 06:03:26 11/07/01

Go up one level in this thread


On November 07, 2001 at 07:00:19, Steve Timson wrote:

>On November 02, 2001 at 13:35:02, Scott Gasch wrote:
>
>>On November 02, 2001 at 09:26:45, Dann Corbit wrote:
>>
>>>On November 02, 2001 at 08:56:22, José Carlos wrote:
>>>
>>>>ChesterX 2591(+97)  2725(+56)  Knee Jerk         Ath-1200
>>>
>>>Where can I find out more about ChesterX?  It seems to be an incredibly strong
>>>program.
>>
>>Steve Timson is the author of Chester and he's lurking around here in this
>>forum.  He would probably respond to a post addressed to him if he saw it.
>>...
>>
>
>Hi,
>
>  I just caught this message.  I don't have much time lately to carefully read
>this forum - and as Scott rightly guessed, I didn't read this thread because the
>heading didn't grab my eye.
>
>  Some brief background on chester's history:  chester began as an experiment
>with 0x88 move generation.  I read some of Bruce's posts describing it and
>thought it sounded interesting.  I had written another chess engine a few years
>previous - it played under the name SoftChess on FICS for a while a few years
>ago.  It was ok, not great by any means.  I was learning everything at the time.
> Hacking in this feature or that which I discovered in whatever engine I was
>looking at.  I looked at crafty, thought rotated bitboards seemed great and
>proceeded to throw the thing into such chaos that I eventually gave up on it.
>
>  Anyway, so I read some of bruce's posts about hex 88 and thought it seemed
>interesting.  Using TSCP's basic structure as a guide, I quickly hacked up a
>very simple test engine in Java, using 0x88 as the board representation.  It
>worked well.  With the old chess programming bug back in me, I started improving
>it, adding in some of the more complex features I had used in my old program.
>Pretty soon, I ran into an internal VM error in the version of Java I was using,
>and decided to port it back to C (a more natural language for me anyway).  An
>interesting note is, at that point I had an exact port running in both
>languages.  I was stunned at how well Java performed - roughly 50% of the
>nodes/sec of optimized C code.  Of course, I didn't use any dynamic memory
>allocation at all in the Java code, but I was still impressed.  It just so
>happened that at this time I was taking a 6 month break from work.  This meant I
>had full time to devote to the project and chester started getting much better
>very quickly. Having written an engine once, and then starting with a clean
>slate allows for very rapid improvement.  That 6 month period was about a year
>and a half ago.  During those 6 months I may well have spent 60 hours a week on
>it or more.
>
>  "Under the hood" chester is very simple.  No really tricky stuff going on.
>0x88 board representation, standard PVS search, only full ply extensions
>(limitted through what part of the tree they are applied in, rather than by
>partial plies), mostly standard extesions (including recently a simple version
>of singular extensions inspired by some comments from Bruce at CCT3), full
>Heinz-style pruning (FP EFP razor & qsearch) - but with some tricky
>determinations of margin that depend on what is going on on the board, null move
>even in endgame, but with a zug research in low material situations, etc. Eval
>is also pretty simple, focused on what can be done quickly rather than pure
>correctness.  The only area I do slowly and carefully is mobility.  I pay a
>pretty high price do some slightly complex mobility stuff because I think it is
>extremely important given a comp's style of play.  One of chester's main
>strengths I think is that it is relatively bug free.  Having been tortured by
>the buggy, complex, mess that was my first program, chester was engineered with
>simplicity, cleanliness and easy debugging as the prime goals, even if it meant
>sacrificing speed in places.
>
>  Chester owes a ton to the discussions that happen here, on ICC etc, and of
>course to freely available source code like Crafy, Amy, Gnuchess, TSCP etc.
>There are ideas in chester from all of those places as well as plenty from
>discussions with programmers on ICC (e.g. Vincent, Peter, Andrew and Scott),
>posts here, and papers from Ernst.  Scott was especially helpful.  As Scott was
>doing serious development on Monsoon at the same time I was with Chester, we
>shared a lot of ideas, worked through a lot of bugs together/etc.  You might
>even be able to say Chester and Monsoon grew up together.. :)
>
>  Anyway, now I've written a ton.  I have been meaning to set up a website for
>chester for quite a while containing this sort of info, but any time I have to
>spend on chester, I always feel like improving(breaking) something rather than
>writing html.  I'd be happy to discuss any other specific aspects of chester.
>
> - Steve

  Nice description. Thanks.

  José C.



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.