Author: Will Singleton
Date: 20:56:18 02/20/99
Go up one level in this thread
On February 20, 1999 at 19:43:57, Vincent Diepeveen wrote: >On February 18, 1999 at 04:19:50, Bruce Moreland wrote: > >> >>On February 17, 1999 at 15:20:37, Fernando Villegas wrote: >> >>>Of course by definition, but this only changes the place of the problem. Instead >>>of wondering what a program should be to be considered a program by itself, now >>>the question would be what a guy should be to be considered an author. If Bionic >>>is different -yhe old discussion- his fathers are "authors". If not, the are >>>not. So we arrive at the same point. So we need even more rules whcih will carry >>>new boundaries to be defined at nauseaum. Perhaps some kind of torumament for >>>second generation authors should be invented :-) >> >>I think there are some bad traps here. >> >>We have the following things that can be done to a freeware program: >> >>A1) Minor evaluation changes. >>A2) Major evaluation and extension changes (plays very different). >>A3) Gut the entire thing and leave nothing but the UI, essentially. >> >>We have a few things that secondary authors can do: >> >>B1) Sell it. >>B2) Enter it in an ICCA tournament without original author's permission. >>B3) Claim sole authorship. >> >>There has been some contention about whether the Bionic or Voyager guys did A1 >>or A2. I don't think it matters much. In either case, B1, B2, and B3 are all >>out of the question, in my opinion. >> >>If someone does A1, the original author is still the person most responsible for >>the program, and deserves sole authorship, and the secondary author deserves a >>minor credit if that. >> >>If they do A2, there is the potential for some major effort to have been done, >>and even legitimate research and no need at all for recriminations. The >>secondary author assumes the status of co-author. But in my opinion options B2 >>and B3 are still out of the question. There is a lot more to a program than >>eval and search extensions. There is a lot of infrastructure, *especially* in >>Crafty, devoted to moving pieces around the board, hash table stuff, parallel >>search, and setting up data structures that can be use to efficiently generate >>evaluation terms. And not only that, there is the opening book compiler, and >>the two forms of learning that Bob uses. >> >>Note that I am not necessarily ruling out A3 as a fine thing to do while still >>doing some of the B's, but you'd have to wonder what is left over in the program >>at that point, and I'd be very concerned that some of the strength-producing >>elements of Crafty might be left over. You may as well just write your own >>thing from scratch and hook it up to Winboard. >> >>bruce > >I agree in a big part with what bruce writes above. >There are however more reasons to call someone a cheater. > >Let's take a different approach for that, and figure out what >might be a reason for someone to not start from scratch >with a chessprogram and start with craftyparts; what are the parts >one can start with: > >a) move generation >b) parallellism >c) evaluation >d) main search >e) quiescencesearch >f) excellent way to read in PGN >g) endgame table bases >h) learning >i) interface. > >Both gnuchess and crafty hardly have something we can call 'interface', >so we can forget about it. > >Gnuchess we can forget anyway. Cheaters cheat because they want to have >quickly a strong program without doing much. So they all start with >crafty and not with gnuchess. Gnuchess misses simply too much to be >interesting for a cheater, although the ideas in gnuchess are generally >quite good to research in the future for a lot of commmercial programmers >(but that's an opinion). > >If you use crafty code to have a), then i will not complain. > >However, if you use b) you are as guilty as you can be, because b) >means you need c,d,e,g too. > >e) is very unique in crafty. Whatever you change in c), it doesn't matter. >The q-search and static exchange evaluation is giving crafty such a >drastic impact, that a few changes to c) is not rewarding. > >e) has to do with d). If you can change *anything* from d-g in a major >way, then you must know a lot from parallellism, and therefore modify b too. > >If you can do that, then there is no ground to start with crafty anyway, >as you must already have written your own program. > >So in my opinion is something that looks like crafty already not unique. >Just copying move generation i personally can live with. However, >this means that every other thing is initially 'bad'. A program starts >being bad simply. It can't be that someone produces something and claims it >to play better than crafty at once, by starting with crafty source >and changing some major things within a short period of time. Bob is fulltime >busy with crafty. No way that some easy changes by someone, who must first >understand how craftycode works, can improve that easily, without that >person having his own program already, or without a lot of help >from the main author. > >It takes years to build a chessprogram. I think b) is a very fundamental >thing from crafty. The whole datastructure has been rewritten to fit >parallellism in. The whole program has been modified in order to allow >parallellism. If any program looking like crafty has parallellism in it, >which has been 'cut and pasted' out of crafty, then i *already* have enough >ground to call someone a cheater, because it's near to impossible that >he could have changed some things drastically in crafty. > >Greetings, >Vincent Excellent post, Vincent. Very compelling arguments. Will
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.