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.