Computer Chess Club Archives


Search

Terms

Messages

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

Author: Robert Hyatt

Date: 14:38:57 01/13/99

Go up one level in this thread


On January 13, 1999 at 12:52:54, Don Dailey wrote:

>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.


It seems like reality to me.  IE the biggest problem with Crafty at present
is that I come up with the ideas, I design the algorithm(s), I write the
code, I debug the code, and so forth.  How much better would it be to have
someone like myself only coming up with ideas and possible algorithms and
having others write the code and debug it?  This is what helped in Cray Blitz
for so long.  I designed and wrote stuff... Harry took that and made it fast
by rewriting in assembly.

I have little doubt that most any decent chess person here, with enough
experience to write a competitive program, would have a _huge_ advantage if
they had a microsoft behind them hiring the best programmers they could find,
supplying the best hardware available, plus enough money to properly test,
play in tournaments, and so forth.  The money would be worth a lot.  And with
a chess person directing the project full-time (as opposed to many part-time
projects like Crafty) that would only help.



>
>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 don't know how familiar you are with Linux in particular and operating
systems in general, but there are _many_ pieces of the system, and each
needs a great deal of creativity as well as "programming effort".  You need
someone that understands the big picture completely, and who also can think
"in the small" to discuss a particular interrupt handling idea when needed...
Better people would help (although the current people are very good).  Money
would help too..


>
>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.

Nothing says a "microsoft project" has to be huge.  6 people would be
quite an asset...


>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.


Don't forget the "time" issue.  With a good team, I can demonstrate
something by June that without this team might take me 3 years to do.
And in chess, time is all-important... just compare this years programs
to those of 3 years ago..


>
>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.
>

No... I've been a BeeGees fan a long time, as has my wife.  I've been more
impressed by Barry's composing skills however, because he writes some remarkable
music that doesn't sound like the run-of-the-mill junk of today...


>
>>>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.