Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: CCT3 is over

Author: Peter McKenzie

Date: 22:09:17 05/28/01

Go up one level in this thread


On May 28, 2001 at 23:44:47, Dann Corbit wrote:

>On May 28, 2001 at 19:45:52, Peter McKenzie wrote:
>
>>On May 28, 2001 at 16:18:06, Frank Phillips wrote:
>>
>>>On May 28, 2001 at 13:30:44, Bruce Moreland wrote:
>>>
>>>>On May 28, 2001 at 08:33:19, Peter Berger wrote:
>>>>
>>>>>I think the CCT3 was a great and enjoyable event ! The atmosphere was very
>>>>>friendly and there were no debates this time .
>>>>>
>>>>>A few ideas and suggestions for future events though:
>>>>>
>>>>>a.) Every engine participating should be able to and do write logfiles . These
>>>>>should be sent to some arbiter right after the game has been finished in case of
>>>>>debates.
>>>>>
>>>>>As far as I know every participant would have been able to do so ( for example
>>>>>for the WinBoard programs the winboard.debug would be sufficient ) .
>>>>
>>>>There are some weird people out there who either want to take credit for other
>>>>people's work.  I think there have been some others who don't realize that their
>>>>own work is pretty insignificant compared to what was already present in what
>>>>they started from.
>>>
>>>
>>>This is interesting from the other end so to speak.  I start with Marsland’s 'A
>>>review of Game Tree Pruning' (said anatomy of chess program elsewhere), that
>>>too, all the relevant internet basic articles about move generation, various
>>>type of search, GNU chess source and tscp.  After trying to figure out basic
>>>alpha-beta, Negamax, Mtdf (heaven forbid), 0x88, mailbox, bitboards, piece
>>>square tables, and many headaches, I  (and really I mean one, as in
>>>hypothetically) decide on mailbox, basically follow the reciepe in Marsland
>>>guided by tscp and end up after some time and effort with a basic engine.  Then
>>>add hash tables, then killer moves, history moves etc etc.  Later null move.
>>>Following discussions on CCC add sophisticated tweaks like IID, adaptive null
>>>moves.  All this gets refined and improved as time goes on and understanding
>>>increases.  Parallel developments include move ordering using captures first
>>>sorted by SEE, then over time (again guided by discussion on CCC and articles)
>>>full blown ordering into hash move, winning and even captures, killer moves,
>>>non-captures sorted by history and finally losing captures.  And so on and so
>>>on.  Finally the whole entity is like Marsland described but with modern tweaks
>>>and hence fundamentally like Crafty, Dark Thought, GNU, etc, but not exactly
>>>copied as in at a point in time and the source looks entirely different.
>>>
>>>Similar story about evaluation.  I hear about outside pawns, the lack of
>>>knowledge of which has cost me dearly.   Look at Crafty’s source.  Talk on CCC.
>>>Do not understand Crafty source but implement the well explained algorithm in my
>>>own way.  So it goes on.   Again, program tends to Crafty but not exactly
>>>copied.  On the surface it looks entirely different.  Maybe no bitboards at all
>>>for example. Finally I start to implement independent ideas (tweaks really) and
>>>it begins to diverge again.
>>>
>>>At which stage in this process, if ever, is one allowed to turn up to a
>>>tournament and say here I am with my program, rather than my version of
>>>Marsland/tscp/GNU/Crafty/Heinz/Kerrigan/….?  At any time my contribution to the
>>>fundamental approach is minor.  I did not invented minimax, negamax, alpha beta,
>>>Zorbrist hashing, bitboards, mailbox, 0x88 or whatever?  Sure I use them.  But I
>>>might equally well, I suppose, have just taken Crafty (after all it is better)
>>>and messed around with its code or just the data and weightings.  Heck there is
>>>even an input file for doing this now (I think?) so I do not even need a
>>>compiler.
>>>
>>>I have no point here.  Nor do I now know where I stand.  Maybe however I now
>>>understand what Will was really asking :-/
>>>
>>>Frank
>>
>>Nice post Frank, and congratulatons on your result in CCT3.
>>I think your approach is abolutely fine and sensible and legitimate.
>>
>>I do wonder how much time you saved being guided by TSCP and GNU Chess.   I'd
>>estimate that starting with say TSCP, even if you rewrite every line of code in
>>it, would still give about a one year head start over starting from scratch
>>without any source code as reference.
>>
>>Why?  Because what you get:
>>
>>- a clean framework and structure
>>- a complete working test bed
>>- a relatively bug free implementation
>>- a decent starting point for an evaluation function (sensible tunings etc)
>>
>>There is just so much you can get from source code that you don't get from
>>straight descriptions or explanations.
>>
>>This is not a criticism in anyway, just me thinking out loud.  Heck, if I was
>>starting a chess program today then I'd probably start with TSCP or something
>>similar.  In fact, there is so much crap in LambChop now that I might even do a
>>new program built up from something like TSCP!
>
>I'd start with SCP instead.  It does 200K NPS right out of the gate, and is no
>larger than TSCP.

Well I was only half-serious, but what is SCP anyway?



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.