Computer Chess Club Archives


Search

Terms

Messages

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

Author: Don Dailey

Date: 09:52:54 01/13/99

Go up one level in this thread


On January 13, 1999 at 00:11:05, Robert Hyatt wrote:

>On January 12, 1999 at 15:15:09, Don Dailey wrote:
>
>>On January 09, 1999 at 15:12:34, Fernando Villegas wrote:
>>
>>>Very interesting thread! And nevertheless I cannot see too much differences
>>>between your approaches. Perhaps there is some confusion about how cooperation
>>>really works. Have you hear a jazz battle between, say, two tenor saxofonist?
>>>Well, they does not cooperate in the sense they follow an score from top to
>>>bottom, but after some prelims has been made, they try to cut each other with
>>>the best sequence of improvised bars they can produce in order to get something
>>>beatifull and let the other guy with no ideas at all, BUT that's the way
>>>cooperation in fact happens as this battle produces in each of the warriors an
>>>enhanced creativity and so the final perfomance can be a glorious masterwork
>>>made toguether. History of science show the same: not that guys works really
>>>face to face trying to optimize his efforts, but the effort of each of them to
>>>outperform the other guys and at the same time knowing what the others do
>>>-trought publication., etc- make of all this a cooperative effort,
>>>volens-nolens. Sure, MS would not get nothing just putting our genuses just to
>>>mix his ideas, but they can create a mix of mutual offer of ideas and tricks and
>>>individual work for putting that common ideas in a personal, better recipe.
>>>Something like that is happening between Ed and Christophe as they themselves
>>>recognize. Why not would 'nt be possible in a MS tank of programmers?
>>>Fernando
>>
>>
>>I think I agree with KarinsDad more than he thinks I do, but I do
>>think he see's creativity as kind of an assembly line process more
>>than I do and I think he is a victim of the more is better philosophy
>>which is often just not true.  Once you get to a certain level of
>>granularity you won't squeeze anything out of a huge group effort.  A
>>silly example is adding 2 + 2.   How many people does it take to do the
>>best possible job of this?
>
>A good example is Linux.  Linus makes _the_ decisions about what is done to
>what, but lots of us make suggestions, send sample code, and come up with
>ideas that may be better than his in cases.  Same with a chess program.  You
>need one 'guru' plus some experienced programmers and the project will run just
>fine.  You don't need all the great chess programmers.  You just need one or two
>with good insight and ideas... and programmers that can implement the ideas and
>test them..

I see  your chess example  as being the  only reasonable way to do it.
But I maintain that the program really "belongs" to the guru, there is
probably no single element  in it that  he couldn't have done himself,
and it's unlikely that much  of any of it would  be done better.  Also
this guru will  be the limiting factor  in how good  the thing ends up
being.  But I will  grant you that  a really good programmer,  given a
team of helpers  could indeed benefit.  What  I don't really subscribe
to is  this thought that there is  bound to be  a super  duper product
comming out that just blows away  anything he could have done himself.
This is really how the discussion got  started, someone suggested that
Gee if microsoft wanted  to do a  chess program everyone else might as
well just lay down and die because nothing  could touch it.  This just
comes across as nonsense to me.

And yes, Linux is a great example of a big  cooperative effort.  But I
believe that  a big OS like linux  falls more into  the "needs a great
deal of labor" category which is my point.  Also, developing linux (or
windows for that mattter) just  requires a lot of specialized  skills.
Developing a  great  editor like  emacs (which I  actually  hate) is a
major project of its own, and the same person might not be hacking the
kernel,  writing window managers and device  drivers etc. and probably
won't even be interested in doing this.

I am a firm believer in working smart (although I don't actually apply
the philosophy myself  :-) and I do  believe that one or two extremely
talented  individuals with innovative  ideas might be  able to come up
with something better than what big corporations might.  I think there
are a ton of examples to support  this.  Most great  ideas come from a
single  person, they may, or  may not happen to be   working on a huge
team   when they get   the  idea.  Did Unix   itself come  from a huge
superhuman effort  directed by a  huge corporation  to blow everything
else out of  the water?  I don't  think  so.  Sure  it's been improved
greatly by the efforts of many people, but only incrementally and over
long periods of time.  The  essence of what  it is and still is didn't
come from some big team of workers.
Standards committees  are  another example.  It's   not clear  that  a
single person wouldn't do a  better job.  I read  a description a long
time ago about  some committee building a  language standard by one of
the dominant members of the  committee.  His observation was that much
debate goes on and  often elements end up being  accepted that are not
neccessarily very  consistant with the rest of  the standard.  This is
because you will  always have at  least a small  philisophical battle,
each  member has  a  slightly different  vision  of what  the language
should be and so  they are all pulling  slightly apart.  He  felt that
probably most  of the members by themselves  (all  were quite talented
experts in language design) would have produced a cleaner standard.


>>I also see writing a good chess programs as very individualistic
>>process.  I can't see a lot of people cooperating to write one except
>>using a process pretty much as the one you just described and I also
>>described when I said just let them all compete with their
>>own solo's and encourage them to share ideas.   Really, this is
>>already being done collectively by all of us, I don't know anyone
>>who has written their program in a vacuum and we all use a lot of
>>well known techniques.
>>
>>I think the idea is incredibly naive that microsoft could just set
>>their mind to it and easily blow everyone else out of the water with
>>a chess program.
>>
>>Here is an example of what I consider the naiveity involved.  Who
>>would you pick in a chess match, Kasparov or a room full of 1000
>>genius's who just learned how to play chess yesterday?   Shouldn't
>>1000 be 1000 times better than one?  Ok, so since Kasparov is rated
>>3 times more than any of these guys then maybe the whole group is
>>only 300 or 400 more brainpower than Kasparov?  But we all know
>>that one is better and in this case one is even better than 1000.
>>And at tournament time controls I might argue that one is better
>>than 6 billion, or whatever the population of the earth is now.
>>It's possible that a room full of supergrandmasters MIGHT outplay
>>Kasparov if they were extremely well organized, but even this is
>>pretty debatable at the time control Kasparov excels at.  Even if
>>it happened they would not just blow him away or completely outclass
>>him.
>
>The problem with this line of thought is that Microsoft *could* afford to
>buy the experience.  There are lots of potentially good chess programmer types
>around.  Put them on a team with really good programmer/software designers,
>give them access to good hardware and software tools, and good results naturally
>flow out of such a thing.  Whether they _would_ do this is something else
>entirely of course, because I doubt there's enough money in it now to make it
>worthwhile..

Yes, I  can't refute this and  have said it,  microsoft best bet is to
simply hire the   best CHESS programmer  and give  him  guru-ship over
other talented team  members.  I still  say  however that final  chess
strength would not be much better if any than his best effort.

There is one important exception to this principle in my mind.  When I
speak  of the individual, I'm not  necessarily talking  about a single
person.  I'm talking about a tiny lean team, which in some cases could
be a  single person.   I think  there are  chess programmers who  work
alone, and  may be at  their best alone.  Probably  many  teams have a
chess guy and a graphical interface guy.  I worked extremely well with
Larry Kaufman and we  each had strengths the other  did not possess (I
suck at chess for instance compared to him.)  To me,  this is the most
important element of what  is required in  a strong team and  I really
don't believe it has much to do with numbers.  It could be that if you
picked the right  two guys who are  already top chess programmers  you
would  get a wonderful chemistry  that  would produce something a  lot
better.  If you did, a third member would hold them back or simply get
ignored for the most part, even if he was outstanding by himself.

But this brings up  another issue.  I feel that  even in a large team,
the only members that are really counting are the top  5% or so.  If I
put together a chess  team  of 3  or  4  great chess  programmers  and
decided to throw  in the next door  neighbor, his biggest contribution
might be to get  the coffee and  donuts.   Actually, now that  I think
about it, this guy would be pretty valuable.

>>This is sort of a law of life.  If you choose something that
>>requires a great deal of labor, more is always better.  But if you
>>pick something that requires extreme excellence at a well constrained
>>and limited task,  you can't just buy your way to the top or
>>commission a team of laborers to do it.
>
>I disagree... years of operating system developments say this isn't always
>true.  IE Microsoft hired the main VMS designer, and got NT running as a
>result.  There are lots of other such examples.  Money isn't all you need,
>but it is 90% at least...

I don't   view OS's though as  a  well  constrained  and limited task,
especially todays OS's which are really  a huge collection of programs
on top of a bloated kernel.  The OS IS the main application.

I don't really know  the details, but I  would guess that most of  the
design of NT came from one or two guys.   You said Microsoft hired the
main VMS designer,  it sounds  like a single  person  to me.  As   you
mention later,  he  was probably  himself  constrained by money making
considerations.


>>What kind of music or art do you like?  You are a writer, do you
>>have someone you admire deeply who has influenced you and who you
>>think is the best at what he does?   Do you think some concerted
>>group effort by someone with deep pockets will create a work so
>>great it would just shame your hero?  Don't worry, this won't happen.
>
>
>I do... because I believe deep pockets could hire a Barry Gibb (The main
>writer in the BeeGees group) or several such well-known writers, and put
>together something truly remarkable.)  The point being that money can buy
>good folks just as it can buy a large number of not-so-good folks.  Lee
>Iacoca comes to mind as another example of this idea...

Again, I don't dispute  that money can hire the  best.  It's funny you
picked the BeeGees as your example, did you know  in advance that I am
a big fan?  This is a good example of how  teams are good because each
member of this group was not as successful on their own.  They were at
their best only when they were together and I think this has been true
of many  other  groups too, but   there are  also exceptions to  this.
Again, I say it's chemistry not numbers.


>>A great chess program is a work of art.  It's also a great engineering
>>effort and having help can sometimes be of some use.  And yes, it's
>>possible to get inspiration from others and in fact we all do.  But
>>you're just not going to get some big corporate giant to stamp out a
>>great chess program like it's something they do every day it just
>>doesn't work that way.  I can't see microsoft ever producing a great
>>literary work just by hiring 1000 authors,  a truly great musical
>>score just by hiring a team of composers, a great painting just by
>>getting 1000 good painters together, etc.   If you want the best,
>>you find the best one and buy or hire that.
>>
>>You are a bit of an artist yourself Fernando,  I just cannot see you
>>eating at McDonalds, admiring Microsoft or  drinking cheap wine.
>>
>>- Don
>
>I hate McDonalds, but Microsoft has a lot of good folks.  I know several.
>I have several former students there.  *none* of them were dummies.  They
>may do things that I would not do, for profit motives.  But they can write
>good code when they want to...  (I just wish they had wanted to when they were
>doing windows 95/98.. :)  )

They just built a McDonalds near where I live.  This event has made me
extremely sad because I can see them driving away the better places in
the local area.  It will be a lousy tradeoff,  1 McDonalds in exchange
for a small diner  than serves excellent food  and an excellent  Bagel
and coffee  shop.   They are turning   a cool little community  into a
commercial trash can.

I know Microsoft must surely have some extremely talented individuals.
I feel  that  what they produced  didn't  reflect the talent   that is
surely there.   Probably organizing and managing so  many people  is a
nightmare.    And I  think  probably  a  great  deal  of creativity is
suppressed by the constraints and realities of such a project.


I have this theory that if you knew exactly  who to hire, you could do
something much better  with   a very  small   team of  hard   working,
productive and imaginative individuals.   I can only imagine that they
must have thrown away many times the amount of code that we could only
dream of writing in a lifetime.  The man years of effort (which I have
seen quoted but do  not remember) was staggering  and I can only shake
my head  that it didn't  come out a lot  better.  But actually I don't
wonder  this, I have been on  a few project of my   own with many team
members (much smaller of    course than  Windows)  and I    can easily
understand how complexity can kill you and how the diminishing returns
principle can strike with a huge vengance!


- Don



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.