Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Let's go out on a limb

Author: blass uri

Date: 04:03:20 01/14/99

Go up one level in this thread



On January 13, 1999 at 23:47:12, Don Dailey wrote:

>On January 13, 1999 at 17:44:16, Fernando Villegas wrote:
>
>>On January 13, 1999 at 14:43:53, Don Dailey wrote:
>>
>>>On January 13, 1999 at 05:17:22, Will Singleton wrote:
>>>
>>>>On January 12, 1999 at 17:04:10, KarinsDad wrote:
>>>>
>>>>>>Don, let me know when your individually created chess program canconsistently
>>>>>beat Deep Thought and I'll take back my words.
>>>>
>>>>Hmm, last time I checked, I didn't see anything about hardware design in the
>>>>CilkChess description.  Has Don started burning proms?
>>>>
>>>>Couple of more points:  a theoretical discussion is more interesting when the
>>>>idea under discussion has some probability of occurring.  For example, what will
>>>>happen if a chess set is discovered on another planet?  While this has very
>>>>little chance of happening, it has a greater chance than does this Microsoft
>>>>chess business.
>>>>
>>>>However, the question of team vs individual, leaving Microsoft out of it, is
>>>>pretty relevant for chess programming.  Progress will almost always occur at a
>>>>faster rate when more than one person is working on a project, for several
>>>>reasons.  For chess *engine* programming, the benefit probably tops out at two
>>>>people.  Numerous examples abound from the literature.
>>>>
>>>>Don, haven't you always had a collaborator or two on your projects?  CilkChess,
>>>>Socrates and Tech?  Didn't you benefit from some of these colleagues?
>>>>
>>>>Will
>>>
>>>Absolutely.  We have a guy working on the evaluation who is a master
>>>and will do a better job than I could by myself.  We have also had a
>>>number of people finding speedups in the code that I missed.  We have
>>>3 gui interfaces and have a couple guys experimenting with Temporal
>>>Difference Learning.  Aske Plaat has also contributed by improving
>>>our implementation of mtd(f).
>>>
>>>There is also another team of people who built the Cilk language.
>>>Cilk was actually built around the chess program, not the other
>>>way around so I would have to include the whole cilk development
>>>team too.
>>>
>>>Most of these team members are not chess experts, but will go on
>>>to be among the best in the world at whatever they do.  But the
>>>bottleneck of the team is me.  I get to spend very little time on
>>>Cilkchess and most of this time ends up being to organize these guys
>>>which is the best use of the time I have.
>>>
>>>But Cilkchess is a poor example since I am not a good example of a
>>>"complete chess programmer."   I taught myself programming, was
>>>never better than a 1900 player in chess and just absorbed as
>>>many ideas as I could from others and tried to be logical and
>>>rational.  A more complete chess programmer, would benefit less
>>>than I would from having a team of experts at his disposal
>>>because he would have less knowledge gaps (or expertise gaps) to
>>>overcome.
>>
>>
>>
>>Wait, wait, wait... this is a double edge reasonning. The higher an expertise,
>>the best he can grasp new ideas, nuances, etc. True: ABC will not be useful for
>>him, but why we must suppose that ALWAYS these other guys will just thinks about
>>the ABC?
>>Fernando
>>
>>
>>>
>>>It would be interesting for me to know how big the core teams of
>>>the top programs are.  I'll bet that most of them have limited
>>>consultations other than a gui guy and some of them do their own
>>>gui's too.  It seems that many teams also have someone doing the
>>>book which I'll admit can be a big help.
>>>
>>>
>>>- Don
>
>I don't understand what you are asking.  What do you mean by ABC?
>
>My core idea is that the more complete the expert, the less he
>will need help from others to do the thing he is best at.  This
>seems like an obvious principle to me.
>
>If I had the very best book builder in the world I would never
>ask him to only write part of my chess book,  I would want him
>to write the whole thing!   If the chess programmer himself was
>the best chess book builder too,  then you just wouldn't get a
>whole lot of benefit from getting a less competent book builder
>involved would you?  I'm better, but you go ahead and do it he
>would say.  The final product wouldn't be better just because
>it had a greater number of people working on it would it?
>
>And that is all I'm really saying.  As complex as a chess program
>is, it's really a tiny project in the whole universe of possible
>programming projects.  Compared to an OS like Windows, it would
>have to be considered even trivial.  I think it's possible for a
>single person to master the art of writing a chess program and
>I think some chess programmers are complete in this sense.  You
>could provide them with a lot of extra help, but it would be
>like me trying to advise Kasparov on which move he should play,
>it's not likely I could contribute very much.
>
>I'll say this again.  If I could hire a team of the top guys
>in computer chess and motivate them to cooperate on the killer
>chess program, I'm not sure at all that anything really great
>would come out of it.  Probably a very good program would come
>out, probably not much better if any than the best of the bunch.
>And I really believe this.  Most of the decisions about what to
>do are based on the individual philosophies of each programmer.
>For instance, Fritz and Rebel are not very much alike.  Is this
>good or bad from the cooperative point of view?   You might
>argue that it's good because of the diversity but if they were to
>cooperate, who decides which data structure you would use?
>Perhaps the data structure Franz uses lends itself to speed and
>the data structure Ed uses makes it easier to program more
>knowledge?  If you choose either one,  not only do you defeat
>the philosophy of the other, but what have you gained?  If you
>choose Ed's data structure then in what way did this cooperation
>produce something better than what Ed already had?  And why did
>you choose Ed's,  maybe Franz was the better starting point?

I believe that if everyone understand the idea of the other they can come with a
third idea that is better.

A good example is the Rebel-Tiger project

I read at Ed's site that christophe and Ed work on the Rebel-Tiger project(They
are different program and they did Rebel 2-3 times faster by their ideas.
Crysthophe gave ed an idea of a selection algoritham to do Rebel faster and ed
improved this idea.

They expect at least 100-150 elo improvement in a few years from this project

They think to use their ideas to improve tiger and Rebel and to do a Rebel-Tiger
system that select in every position which program to use

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.