now after seeing all of this go down can anyone beat Vas

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: now after seeing all of this go down can anyone beat Vas

Post by bob »

BubbaTough wrote:
lkaufman wrote:
These are hard questions, but we should still provide guidelines, even though there will always be disagreement about what they mean. My own view is that you can do anything you want with private beta versions, the only ones that matter are those entered in tournaments or released to the public. I don't object to using someone else's numbers as "seed" numbers, as long as the end result is not obviously derived from those numbers. As for PST and material values, I would say that material values are too few to put restrictions on, but PST that are either nearly identical to another program or would be if you add and/or multiply by a constant should not be allowed. The bottom line (in my view) is this: if it is obvious to a knowledgeable observer that you could not have come up with the values you used without having seen those in another program you have made a derivative of that program. Of course this leaves room for interpretation but so do most laws.
I would be fine with these rules...but if someone else came along and stated a different set, I would probably be fine with those. Perhaps it would be good if the community created 3 sets of guidelines, mild, moderate and strict. Tournaments and rating lists could state which they were adapting. That way, if the author of a chess engine like sloppy wants grab some eval values from elsewhere (with acknowledgement) the author can do so without shame and persecution by just sticking with the mild settings, while folks that care strongly that every line is completely original can stick to the strict guidelines and participate in environments where others feel the same way.

It would be impossible to cover everything, but a few examples would be easy enough to generalize from. This certainly would not do anything to stop cheating, but it would encourage an environment where honest programmers can participate in the hobby without fear of persecution for making choices others deem invalid.

-Sam
A couple of points. Lets take the "private" Rybka 1.6.1 that was basically a copy of Crafty. Crafty's license explicitly allows anyone to do exactly that, copy the source, modify it as desired, and then play games with it. However, the license also explicitly states that the program can not be distributed nor used by anyone other than the "modifier" unless source is made public for all to see.

The instant vas sent a copy of 1.6.1 to others to test, he violated that part of the license agreement. And he did send it to others, because we received the binary we evaluated from Volker as is well-known.

We are faced with a couple of issues that become sticky. Rules limit what one can do if they want to participate in a specific event (ICGA rule 2, for example). Laws also limit what one can do, period, as in copyright law and license agreements. And finally, ethics ought to enter in at some point as well, to let someone's "moral compass" lead them in the ethical vs unethical direction.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: now after seeing all of this go down can anyone beat Vas

Post by bob »

michiguel wrote:
Dirt wrote:
lkaufman wrote:The bottom line (in my view) is this: if it is obvious to a knowledgeable observer that you could not have come up with the values you used without having seen those in another program you have made a derivative of that program. Of course this leaves room for interpretation but so do most laws.
That's pretty much how I view copyright law. Whether using equations to generate values for piece square tables that approximate yours would be a violation, though, I don't know.
IMHO, it really depends. If that equation is a polynomial of 64 parameters (an exaggeration) to initialize a table, that is wrong. I would be basically finding a way to express numbers in a different and stupid way (hiding a similarity). I would be certainly trying to deceive. But, if observing certain numbers allow me to see a pattern that could be crystallized into a concept and that concept leads to an equation, then I would be making an intellectual contribution.

Miguel
The simplest example is passed pawns. Everyone scales their values up as the pawn is more advanced. Whether it is by a simple per-rank linear bonus, a more exponential per-rank bonus, or a function that factors in other things like blocked squares and such. The idea of farther advanced is better is not something that copyright applies to. And although I have not looked at every program around, each time I did, I noticed that there was not a lot of agreement in explicit values, although there is always general agreement in "trends".

trends are fine. But to procedurize (a new word) an array of values does not pass the originality test to me, as Larry pointed out several times during the previous years of discussing this issue. Shoot, in Crafty, I initially used a procedure to fill in some scoring arrays, so that I could change the "trend" easier. And then once I settled on a particular set of values, I put 'em in a static array to get rid of the executable code and potential future bugs...

The two are identical, however, although it is OK since both were my code...
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: now after seeing all of this go down can anyone beat Vas

Post by BubbaTough »

bob wrote: A couple of points. Lets take the "private" Rybka 1.6.1 that was basically a copy of Crafty. Crafty's license explicitly allows anyone to do exactly that, copy the source, modify it as desired, and then play games with it. However, the license also explicitly states that the program can not be distributed nor used by anyone other than the "modifier" unless source is made public for all to see.

The instant vas sent a copy of 1.6.1 to others to test, he violated that part of the license agreement. And he did send it to others, because we received the binary we evaluated from Volker as is well-known.

We are faced with a couple of issues that become sticky. Rules limit what one can do if they want to participate in a specific event (ICGA rule 2, for example). Laws also limit what one can do, period, as in copyright law and license agreements. And finally, ethics ought to enter in at some point as well, to let someone's "moral compass" lead them in the ethical vs unethical direction.
Well, yes. Everyone should obey the law. No tournament or rating list should condone breaking the law. Beyond that, many rating lists and tournaments would like to limit participation for derived work, even when compliant with the law. Additionally, its not completely clear what is acceptable and what is not under the law (and whether it might vary from country to country). Many say they think its clear, but there is still much disagreement.

Anyway, it would be nice for everything to be a little more clear, particularly for new authors (those that have been around awhile have mostly developed there own opinions by now, right or wrong). But its unlikely to come true. C'est la vie.

-Sam
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: now after seeing all of this go down can anyone beat Vas

Post by michiguel »

bob wrote:
michiguel wrote:
Dirt wrote:
lkaufman wrote:The bottom line (in my view) is this: if it is obvious to a knowledgeable observer that you could not have come up with the values you used without having seen those in another program you have made a derivative of that program. Of course this leaves room for interpretation but so do most laws.
That's pretty much how I view copyright law. Whether using equations to generate values for piece square tables that approximate yours would be a violation, though, I don't know.
IMHO, it really depends. If that equation is a polynomial of 64 parameters (an exaggeration) to initialize a table, that is wrong. I would be basically finding a way to express numbers in a different and stupid way (hiding a similarity). I would be certainly trying to deceive. But, if observing certain numbers allow me to see a pattern that could be crystallized into a concept and that concept leads to an equation, then I would be making an intellectual contribution.

Miguel
The simplest example is passed pawns. Everyone scales their values up as the pawn is more advanced. Whether it is by a simple per-rank linear bonus, a more exponential per-rank bonus, or a function that factors in other things like blocked squares and such. The idea of farther advanced is better is not something that copyright applies to. And although I have not looked at every program around, each time I did, I noticed that there was not a lot of agreement in explicit values, although there is always general agreement in "trends".

trends are fine. But to procedurize (a new word) an array of values does not pass the originality test to me, as Larry pointed out several times during the previous years of discussing this issue. Shoot, in Crafty, I initially used a procedure to fill in some scoring arrays, so that I could change the "trend" easier. And then once I settled on a particular set of values, I put 'em in a static array to get rid of the executable code and potential future bugs...

The two are identical, however, although it is OK since both were my code...
In my view, one should ask, how complex was this "feature" or "set of numbers" that we see in program A and B? (i.e. its information content) On one hand, we have 1,3,3,5,9 that nobody will say is complex enough to qualify as something to be wrong to have in two different programs. OTOH, we may say that some array of numbers may contain a lot info. Is that true? It depends. If you have an array that is 0,50,100,150,200,250... etc that could be easily replaced by y = x*50. In other words, it is only one parameter. Not complex at all and I do not believe that you could scream clone! in this example. What if it is x*49?

I am sure that there is some arrays out there that contain a lot of elaborated work and information, but I am sure that there are some that don't. All my eval arrays in my program are derived from equations and initialized at start up. It is likely that one or more may give numbers similar to some program somewhere that I do not even know about.

The numbers by themselves, do not tell the whole story. That is my point.

Miguel
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: now after seeing all of this go down can anyone beat Vas

Post by Milos »

bob wrote:I've always treated this the same as the PGN copyright issue. You can't copyright a single game of chess. But you can create a collection of games, such as the classic Fischer's 100 greatest games, and that collection can be copyrighted because of the effort involved. Same with numbers. A single number or a small set (such as piece values) is probably not going to produce a claim of plagiarism. But if you take the typical program, which would generally have 12 piece/square tables, 12 * 64 values is a bit much to copy, and too much similarity, as you suggested, would be bad. The more values that are copied, the worse it looks. What is the minimum that is acceptable? Hard to say and probably depends on the context. But an array of 64 values is a bit much. 12 such arrays is way much.
If it was billion numbers you can't copyright them. Period. Numbers are not copyrightable.
The exact code to obtain those numbers is copyrightable. Once numbers are published (reverse engineered, whatever) they are public domain, free, end of story. No copyright, sorry. No moral or legal issue except with your hurt pride.
Larry has issue with this coz it's his only contribution to chess programming.
You have the issue because it's one of your two contributions to chess programming - rotated bitboards initialization tables (the other one - DTS not being useful at all for most of chess programmers).

Just to see how far you'd go in stupid rationalization please answer this question.
What if someones takes all Lary's PST tables and add to every single value a function 2*RND(N)-N where N is 2 and generates new tables, are these tables ok? What if N is 5 (he himself would probably not even recognize numbers any more and impact on playing strength would be almost negligible), is this ok?
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: now after seeing all of this go down can anyone beat Vas

Post by bob »

michiguel wrote:
bob wrote:
michiguel wrote:
Dirt wrote:
lkaufman wrote:The bottom line (in my view) is this: if it is obvious to a knowledgeable observer that you could not have come up with the values you used without having seen those in another program you have made a derivative of that program. Of course this leaves room for interpretation but so do most laws.
That's pretty much how I view copyright law. Whether using equations to generate values for piece square tables that approximate yours would be a violation, though, I don't know.
IMHO, it really depends. If that equation is a polynomial of 64 parameters (an exaggeration) to initialize a table, that is wrong. I would be basically finding a way to express numbers in a different and stupid way (hiding a similarity). I would be certainly trying to deceive. But, if observing certain numbers allow me to see a pattern that could be crystallized into a concept and that concept leads to an equation, then I would be making an intellectual contribution.

Miguel
The simplest example is passed pawns. Everyone scales their values up as the pawn is more advanced. Whether it is by a simple per-rank linear bonus, a more exponential per-rank bonus, or a function that factors in other things like blocked squares and such. The idea of farther advanced is better is not something that copyright applies to. And although I have not looked at every program around, each time I did, I noticed that there was not a lot of agreement in explicit values, although there is always general agreement in "trends".

trends are fine. But to procedurize (a new word) an array of values does not pass the originality test to me, as Larry pointed out several times during the previous years of discussing this issue. Shoot, in Crafty, I initially used a procedure to fill in some scoring arrays, so that I could change the "trend" easier. And then once I settled on a particular set of values, I put 'em in a static array to get rid of the executable code and potential future bugs...

The two are identical, however, although it is OK since both were my code...
In my view, one should ask, how complex was this "feature" or "set of numbers" that we see in program A and B? (i.e. its information content) On one hand, we have 1,3,3,5,9 that nobody will say is complex enough to qualify as something to be wrong to have in two different programs. OTOH, we may say that some array of numbers may contain a lot info. Is that true? It depends. If you have an array that is 0,50,100,150,200,250... etc that could be easily replaced by y = x*50. In other words, it is only one parameter. Not complex at all and I do not believe that you could scream clone! in this example. What if it is x*49?

I am sure that there is some arrays out there that contain a lot of elaborated work and information, but I am sure that there are some that don't. All my eval arrays in my program are derived from equations and initialized at start up. It is likely that one or more may give numbers similar to some program somewhere that I do not even know about.

The numbers by themselves, do not tell the whole story. That is my point.

Miguel
I agree. However, if you had 10 different functions in your program, and they produced nearly identical numbers when compared to initialized scoring tables in another program, that would be something to look at...
Dirt
Posts: 2851
Joined: Wed Mar 08, 2006 10:01 pm
Location: Irvine, CA, USA

Re: now after seeing all of this go down can anyone beat Vas

Post by Dirt »

Milos wrote:If it was billion numbers you can't copyright them. Period. Numbers are not copyrightable.
That is very hard to believe. If I take, say, Harry Potter and the Chamber of Secrets, and do a simple encoding to a very big number, then I can publish it with no fear of copyright violations? Why am I not seeing this done everywhere?

Everything that I can think of that is subject to copyright can be reduced to a number.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: now after seeing all of this go down can anyone beat Vas

Post by michiguel »

Dirt wrote:
Milos wrote:If it was billion numbers you can't copyright them. Period. Numbers are not copyrightable.
That is very hard to believe. If I take, say, Harry Potter and the Chamber of Secrets, and do a simple encoding to a very big number, then I can publish it with no fear of copyright violations? Why am I not seeing this done everywhere?

Everything that I can think of that is subject to copyright can be reduced to a number.
42 :-)

Miguel
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: now after seeing all of this go down can anyone beat Vas

Post by Milos »

Dirt wrote:
Milos wrote:If it was billion numbers you can't copyright them. Period. Numbers are not copyrightable.
That is very hard to believe. If I take, say, Harry Potter and the Chamber of Secrets, and do a simple encoding to a very big number, then I can publish it with no fear of copyright violations? Why am I not seeing this done everywhere?

Everything that I can think of that is subject to copyright can be reduced to a number.
You think somebody would publish a very big number representing the Harry Potter and the Chamber of Secrets encoding as a book???
And you think somebody would buy that to read it???
I've heard a lot of stupid analogies in my life but this one easily beats them all...

Once you come down to reality we can discuss why some numbers which have no other meaning except showing up in a computer program are or are not copyrightable...

And Bob might also manage to convince ppl why something like first 10 decimals of Pi number are not copyrightable but if you publish 10000 of them you can claim copyright. He may very well sell his precious wisdom to those poor companies working in cryptography and trying to copyright (or at least patent) those huge prime numbers and still miserably failing on how they should do it...
User avatar
Desperado
Posts: 879
Joined: Mon Dec 15, 2008 11:45 am

Re: now after seeing all of this go down can anyone beat Vas

Post by Desperado »

i ll let protect the mate values up to ply 40. :D Hopefully that is enough...

Michael