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.