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.