Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Symbolic: A doomed effort, or it's time to get my lead-lined jockstr

Author: Gareth McCaughan

Date: 18:00:52 02/16/04

Go up one level in this thread


Martin Fierz wrote:

[Franz Karger:]
>>  Some studies show that development time in languages
>>  like Lisp is about half than in C, Java or C++.
>>  e.g. http://www.algo.be/cl/TEE-lisp/31837187622993390/index.htm
...
>i don't buy this, for two reasons:
> 1) i started writing my chess program on the 1st of july 2003. it's written in
> pure C. it played it's first games within a week. it has been playing on ICC
> now for months. it's not a great program by any standard, but it's a decent
> amateur engine.
> steven edwards has been posting about Symbolic, his LISP-engine, for what
> seems like ages to me. it hasn't played a single game yet AFAIK. where
> exactly is the reduced development time here??

1. What Steven's trying to do and what you're trying to do
are entirely different things.

2. For reasons I don't pretend to understand, Steven's decided
to start by writing his own Lisp interpreter (with a bunch of
chess-related primitives built in) rather than gluing his
chess-related primitives into an existing Lisp implementation.
That means that (a) he's had to spend a certain amount of time
not writing in Lisp, but *implementing* Lisp, writing in C
(or C++; I forget), and (b) the Lisp he now has to work with
doesn't have all the nice things that, say, Common Lisp
has. Though it does have some neat chess primitives :-).

3. For all we know, you may be a much better programmer than
Steven.

>2) once you have your basic engine running, the smallest part in improving
> it is actual coding. what you really need to do is look at the games
> it plays, find out what it's doing wrong, and find out how to fix it.
> this evening, i looked at 70 blitz games my engine played during the day
> against other engines. looking at them and drawing conclusions about what
> to do took me about 90 minutes (needless to say, i could have spend
> much more time on this!). applying the conclusions to my code took
> 30 minutes - half of this was changing eval weights and quickly
> checking whether the eval in the positions i had in mind was now better.
> right now, i'm performing sanity checks which takes another hour.
> once they are done, i'm running another 120 blitz games which takes
> until tomorrow evening. so out of 24 hours time going into improving
> my engine, 30 minutes are spent with actual coding. half of that is
> changing weights in the eval, which takes the same amount of time
> regardless of programming language. even if i could be 50% more efficient
> programming lisp, which i don't believe, i would have saved
> exactly 7.5 minutes today. :-)

That's a much more convincing reason.

--
g



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.