Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: how many chess programs have more than one author?

Author: Albert Bertilsson

Date: 04:16:38 07/03/03

Go up one level in this thread


On July 03, 2003 at 03:35:32, Uri Blass wrote:

>I think that the fact that most programs have only one author is a disadvantage.
>
>I believe that programmers could progress significantly faster if the program
>was designed by 2 persons when one person decide about the data structure of the
>program and the algorithm and the second person implement it without bugs.
>
>The problem of a lot of chess programs is bugs and part of the bugs are bugs
>that the authors even do not know about them.
>
>I think that a person that his talent is not finding good ideas but implementing
>ideas without bugs may be productive for a lot of programmers.
>
>I wonder if there is a team of 2 programmers in chess when the job of one
>of them is not to suggest data structure and algorithms but only to write the
>program with no bugs based on a given data structure and algorithms that are
>given by the second person in the team.

I don't know of any engine developed in this way, I think that the implementing
programmer would get tired pretty soon, if not paid for his services.

I think that doing this type of project with more than one programmer is
difficult for the following reasons:

1. It's very time consuming, and doing it on spare time will mean that sometimes
one programmer has no time, and the other programmers have to work without him
for perhaps a year.

2. It requires diversity, if both programmers are interested in developing the
search, they will be in conflict on doing the "fun" stuff, and both have to
divide the "boring" stuff between them. So the project needs computer chess
interested programmers that have diffrent interests within the field. This leads
to problems with No 1, since part of the engine will be at very diffrent levels.

3. The time frame of doing stuff is so long, if you have a team of five
interested programmers, the team will perhaps only have two programmers after a
couple of years when the engine start to be good.

One way that I think could work would be to have diffrent programmers developing
their own engines but following a well defined interface between diffrent parts
of the engine. Later on the part could be evaluated and the best parts could be
glued together to a great engine. The problem with this however is that some
parts like board representation and evaluation is tightly integrated. Still it
works for EGTB's (I haven't tried it but it seem like everybody uses some 'glue
on' code to use nalimov tables), and could work for opening book too. I think
that at least some part could be defined (opening book and learning, board and
evaluation, search, command interface, egtb) This would allow for some
programmers to work in parallell and build parts that could be great together.

Having such parts available would perhaps also allow for new programmers to get
started much faster.

The specified interface could be a killer on innovation though.

/Regards Albert

>Uri



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.