Computer Chess Club Archives


Search

Terms

Messages

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

Author: blass uri

Date: 21:46:01 01/14/99

Go up one level in this thread


On January 14, 1999 at 19:43:13, Don Dailey wrote:

>On January 14, 1999 at 07:03:20, blass uri wrote:
>
>>
>>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
>
>Give me a break!  3X for Rebel?  There is no possibility of a
>reasonable discussion if I now have to refute unproven claims
>of 3X speedups from programs that are great already and anecdotes
>like this.  Show me this product, prove it to me and then we'll
>talk.

see www.rebel.nl/ctdev.htm
It is possible to use this product as an engine for ectool

Uri

>
>- Joe Skeptic



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.