Vas, Hyatt, Levy, ICGA, WCCC, Confusion and Nausea

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

Moderators: hgm, Rebel, chrisw

IQ
Posts: 162
Joined: Thu Dec 17, 2009 10:46 am

Re: Vas, Hyatt, Levy, ICGA, WCCC, Confusion and Nausea

Post by IQ »

bob wrote: The problem is, what you describe is _not_ what is happening today. People are free to use any ideas they find, and they are free to find them by any means they want including reverse-engineering anything they buy. But they are not free to use the code. As in verbatim copying of the code. No matter where the code comes from...

And that is all that matters in this case. He may be a great programmer. A great theoretician. But you still can't copy source code. There is a law preventing it, and there is a rule preventing it from being done by entrants...
Come on, do you really think he does not know the difference between code and idea copying. After this discussion rages on for years, nobody involved is that stupid. He is just in denial and does not want to understand, because his whole argument would just collapse. This has become pure theatrics for the fortunate souls that do not follow this mess regularly.
gerold
Posts: 10121
Joined: Thu Mar 09, 2006 12:57 am
Location: van buren,missouri

Re: Vas, Hyatt, Levy, ICGA, WCCC, Confusion and Nausea

Post by gerold »

IQ wrote:
bob wrote: The problem is, what you describe is _not_ what is happening today. People are free to use any ideas they find, and they are free to find them by any means they want including reverse-engineering anything they buy. But they are not free to use the code. As in verbatim copying of the code. No matter where the code comes from...

And that is all that matters in this case. He may be a great programmer. A great theoretician. But you still can't copy source code. There is a law preventing it, and there is a rule preventing it from being done by entrants...
Come on, do you really think he does not know the difference between code and idea copying. After this discussion rages on for years, nobody involved is that stupid. He is just in denial and does not want to understand, because his whole argument would just collapse. This has become pure theatrics for the fortunate souls that do not follow this mess regularly.
IMO Vas is well past the denial and argument state of this affair.
I think he is looking ahead to see what he can gain from this.
He is well known now and has a few different ways he can play this.
He could rewrite the rules of computer chess when it comes to world championships. Hold his own championship contests. Along with Rybka 5 or maybe another program. Many things he could do now that he is in the spot light. Some in his position may quit and move on. I don't think he will do that. He could use this as a spring board to promote more interesting things in computer chess.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Vas, Hyatt, Levy, ICGA, WCCC, Confusion and Nausea

Post by Don »

IQ wrote:
bob wrote: The problem is, what you describe is _not_ what is happening today. People are free to use any ideas they find, and they are free to find them by any means they want including reverse-engineering anything they buy. But they are not free to use the code. As in verbatim copying of the code. No matter where the code comes from...

And that is all that matters in this case. He may be a great programmer. A great theoretician. But you still can't copy source code. There is a law preventing it, and there is a rule preventing it from being done by entrants...
Come on, do you really think he does not know the difference between code and idea copying. After this discussion rages on for years, nobody involved is that stupid. He is just in denial and does not want to understand, because his whole argument would just collapse. This has become pure theatrics for the fortunate souls that do not follow this mess regularly.
I noticed that several on this forum just refuse to acknowledge there is any difference between copying code and using ideas. No matter what you say about this they immediately revert to the form of the argument that assumes everyone who is using the good ideas of others is doing the equivalent of copying code.

There are a few are arguing that if you start with someone else's code and then improve it enough then it's your program. But most are not even trying to make that argument, they are completely ignoring the issue that the code was copied. They SHOULD make that argument because at least it's an accurate picture of what happened.

All of the top programmers KNOW that no matter how many good ideas you have or borrow from others it will take you a long time to get your program up to snuff. If I lost all the source code to Komodo and had to start from scratch, it would take a great deal of time and hundreds if not thousands of hours of effort just to "catch" the old Komodo - and this is true even though I know everything of importance and every idea that is in Komodo.

So a way around this is to start with the strongest open source program and you have already "caught up" without lifting a finger. You have a fully developed evaluation function and everything you need and can announce to the world that you have one of the strongest programs in the world. I think this is the single most important issue from the point of view of the program authors, who almost overwhelmingly condemn this practice - and I think most non-programmers do not understand this. With a wave of the hand they dismiss it as a trivial issue and come up with some asinine statement such as "we all build on other work of others anyway." They don't really understand that what was stolen is the hard work, not the ideas.

I think we need to get past the idea that the only thing taken was good ideas, because that is not an accurate picture of what happened - and that's why program authors (especially ones who have invested enormous engineering effort in their programs) have an intuitive understanding of what really happened here and why they are so united in their opposition to it. The ICGA is composed mostly of officers who have a strong background in computer chess and they also have a clear picture of why this is a distasteful practice. They understand perfectly what I just said and they KNOW WHY they have these rules that many think are just stupid, such as the one that chess program needs to be the original work of the author(s).
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Vas, Hyatt, Levy, ICGA, WCCC, Confusion and Nausea

Post by bob »

IQ wrote:
bob wrote: The problem is, what you describe is _not_ what is happening today. People are free to use any ideas they find, and they are free to find them by any means they want including reverse-engineering anything they buy. But they are not free to use the code. As in verbatim copying of the code. No matter where the code comes from...

And that is all that matters in this case. He may be a great programmer. A great theoretician. But you still can't copy source code. There is a law preventing it, and there is a rule preventing it from being done by entrants...
Come on, do you really think he does not know the difference between code and idea copying. After this discussion rages on for years, nobody involved is that stupid. He is just in denial and does not want to understand, because his whole argument would just collapse. This has become pure theatrics for the fortunate souls that do not follow this mess regularly.
I am not going to try to estimate whether someone is stupid or stubborn. The symptoms are the same in many cases...

However, you are, most likely, correct.
Uri Blass
Posts: 10282
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Vas, Hyatt, Levy, ICGA, WCCC, Confusion and Nausea

Post by Uri Blass »

Don,
I am still not sure what do you consider as an idea and what do you consider as code.

I assume that we agree that only material evaluation of 1,3,3,5,9 that describe the exact evaluation for every chess position is an idea and not a code.

Let take more complicated evaluation function like the evaluation function of fruit(let suppose that I read a paper that describe it for chess players and not for programmers and use that paper to reproduce the same evaluation as fruit without looking at fruit's code).

Do you consider my program as original

If you say yes then I do not see why Rybka's case is worse(Vas did not translate all of Fruit's evaluation to bitboard).

If you say no then it is not clear how much formulas you can copy when you can claim that you only copied ideas and not code.

I think that the rules are simply not clear and I think that it is simply not correct that you know everything of importance and every idea that is important in komodo.

For example
You probably do not remember all the weights in the evaluation function of komodo and they are part of the reason for komodo's playing strength.

I think that weights are clearly ideas and not code like the 1 3 3 5 9 example.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Vas, Hyatt, Levy, ICGA, WCCC, Confusion and Nausea

Post by Don »

Uri Blass wrote:Don,
I am still not sure what do you consider as an idea and what do you consider as code.

I assume that we agree that only material evaluation of 1,3,3,5,9 that describe the exact evaluation for every chess position is an idea and not a code.

Let take more complicated evaluation function like the evaluation function of fruit(let suppose that I read a paper that describe it for chess players and not for programmers and use that paper to reproduce the same evaluation as fruit without looking at fruit's code).

Do you consider my program as original?
What is important is what the computer chess community thinks, not what I think as an individual. Isn't it pretty obvious from the ICGA ruling how they feel about it and how all those who analyzed the evidence feels?

But to give an answer on how I personally feel I would say that you already answered the question and I agree with you. An entire evaluation was "ported" over from a complete description of it, so you already defined it as not being original and I have nothing to add to that.

If you say yes then I do not see why Rybka's case is worse(Vas did not translate all of Fruit's evaluation to bitboard).

If you say no then it is not clear how much formulas you can copy when you can claim that you only copied ideas and not code.
I have noticed from your posts over a period of 2 or 3 years that you are not very comfortable with anything that cannot be precisely defined. But we live in a world that is like this. You probably have noticed that half the population disagrees with the other half on issues that both sides feel are rather fundamental.

Here is a trivial example of how things cannot be precisely defined: If you invite me over to your house and I use your bathroom, and I stealing from you? I may have used your toilet paper, your hand soap and added to your water and disposal costs. I probably did not specifically ask you how much I could use, did I? It's implicitly understood that I can do this (and in fact it's in your best interest to let me, but that is besides the point.)

But let's say I have a cold and use some facial tissue that is also in the bathroom. But since I have a cold I grab two extra because I am sure I will need them later. Am I now stealing for taking 2 extra tissues? I probably anticipated that you wouldn't mind, but did I have a right to do that? What if instead of 2 or 3 I grab 20 or 30 and stuff them into my pocket for later and even when I leave your house? Am I stealing? What if I take 4 or 5 boxes home with me without asking? Am I stealing? What is the precise number of tissues that constitute theft on my part?

It's like this with ideas vs code because code IS ideas in the most technical sense. But if you use that as a justification for simply taking the sources of Stockfish and changing the author name to "Uri Blass" and the program name to "UriChes" then you are being unreasonable. Would you say that all you did was just use the ideas of others? I hope you are not doing that.

There is the concept of the whole being greater than the sum of the parts. If you understand that you know what the answer to your question should be.

I also don't think you understand that implementing an idea is a lot of work - so having an idea is not the same as implementing an idea.

I read somewhere about people who have endless debates over words, being more interested in technicalities than actual wisdom and understanding and missing the real point.




I think that the rules are simply not clear and I think that it is simply not correct that you know everything of importance and every idea that is important in komodo.

For example
You probably do not remember all the weights in the evaluation function of komodo and they are part of the reason for komodo's playing strength.

I think that weights are clearly ideas and not code like the 1 3 3 5 9 example.
wgarvin
Posts: 838
Joined: Thu Jul 05, 2007 5:03 pm
Location: British Columbia, Canada

Re: Vas, Hyatt, Levy, ICGA, WCCC, Confusion and Nausea

Post by wgarvin »

Don wrote:
IQ wrote:
bob wrote: The problem is, what you describe is _not_ what is happening today. People are free to use any ideas they find, and they are free to find them by any means they want including reverse-engineering anything they buy. But they are not free to use the code. As in verbatim copying of the code. No matter where the code comes from...

And that is all that matters in this case. He may be a great programmer. A great theoretician. But you still can't copy source code. There is a law preventing it, and there is a rule preventing it from being done by entrants...
Come on, do you really think he does not know the difference between code and idea copying. After this discussion rages on for years, nobody involved is that stupid. He is just in denial and does not want to understand, because his whole argument would just collapse. This has become pure theatrics for the fortunate souls that do not follow this mess regularly.
I noticed that several on this forum just refuse to acknowledge there is any difference between copying code and using ideas. No matter what you say about this they immediately revert to the form of the argument that assumes everyone who is using the good ideas of others is doing the equivalent of copying code.

There are a few are arguing that if you start with someone else's code and then improve it enough then it's your program. But most are not even trying to make that argument, they are completely ignoring the issue that the code was copied. They SHOULD make that argument because at least it's an accurate picture of what happened.

All of the top programmers KNOW that no matter how many good ideas you have or borrow from others it will take you a long time to get your program up to snuff. If I lost all the source code to Komodo and had to start from scratch, it would take a great deal of time and hundreds if not thousands of hours of effort just to "catch" the old Komodo - and this is true even though I know everything of importance and every idea that is in Komodo.

So a way around this is to start with the strongest open source program and you have already "caught up" without lifting a finger. You have a fully developed evaluation function and everything you need and can announce to the world that you have one of the strongest programs in the world. I think this is the single most important issue from the point of view of the program authors, who almost overwhelmingly condemn this practice - and I think most non-programmers do not understand this. With a wave of the hand they dismiss it as a trivial issue and come up with some asinine statement such as "we all build on other work of others anyway." They don't really understand that what was stolen is the hard work, not the ideas.

I think we need to get past the idea that the only thing taken was good ideas, because that is not an accurate picture of what happened - and that's why program authors (especially ones who have invested enormous engineering effort in their programs) have an intuitive understanding of what really happened here and why they are so united in their opposition to it. The ICGA is composed mostly of officers who have a strong background in computer chess and they also have a clear picture of why this is a distasteful practice. They understand perfectly what I just said and they KNOW WHY they have these rules that many think are just stupid, such as the one that chess program needs to be the original work of the author(s).
Don, I think your writing style is great. I find your posts clear and concise, and you keep putting your finger on the "larger issues" that others are happy to ignore.

I completely agree with everything you say in this post.

"What was stolen was the hard work, not the ideas". To make Fruit's eval as good as he did probably took Fabien Letouzey months of work. To port it to bitboards, as Vasik apparently did, probably only took a few days. This shortcut gave Rybka a significant advantage over its competitors, who (presumably) followed the rules of the tournament and wrote their own evals.

These ICGA tournaments are supposed to be a programming competition, so all programmers should be on a level playing field so that the tournament is fair. Rule 2 was obviously written with this in mind: each programmer may use ideas from anywhere, but they are supposed to write their own "original" code, and not use any code that is "derived from game-playing code written by others".
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Vas, Hyatt, Levy, ICGA, WCCC, Confusion and Nausea

Post by bob »

Uri Blass wrote:Don,
I am still not sure what do you consider as an idea and what do you consider as code.

I assume that we agree that only material evaluation of 1,3,3,5,9 that describe the exact evaluation for every chess position is an idea and not a code.

Let take more complicated evaluation function like the evaluation function of fruit(let suppose that I read a paper that describe it for chess players and not for programmers and use that paper to reproduce the same evaluation as fruit without looking at fruit's code).

Do you consider my program as original
Yes. And past precedent agrees. For example, Tom Truscott wrote the last version of Duchess in IBM /360 assembly language, and used the chapter written by Slate in Chess Skill in Man and Machine. If you have read that chapter, you know that it covers the evaluation and search in detail, but with no code (since chess 4.x was CDC assembler). No question was ever raised. And, in fact, many of us in the late 70's used the ideas from that chapter for our first version of a full-width program. But we didn't copy anything because there was nothing to copy. Unlike in the current case.

If you say yes then I do not see why Rybka's case is worse(Vas did not translate all of Fruit's evaluation to bitboard).
The problem is that vas copied a lot of code, and then translated it to bitboards, but doing the same tests in the same order, using the same bonuses and penalties, and such. That's not "writing original code". It is a _much_ easier process to copy and translate, because you have the original to work against and feed positions to to make sure your numbers match, before you start doing your "customizing work."



If you say no then it is not clear how much formulas you can copy when you can claim that you only copied ideas and not code.

I think that the rules are simply not clear and I think that it is simply not correct that you know everything of importance and every idea that is important in komodo.

For example
You probably do not remember all the weights in the evaluation function of komodo and they are part of the reason for komodo's playing strength.

I think that weights are clearly ideas and not code like the 1 3 3 5 9 example.
I disagree. 1 3 3 5 9 are numbers and they are code. But they have become "standard numbers". Like Pi, E, etc. Some don't use those, they use numbers multiplied by 100 with a fudge factor added in (say a slight bonus for a bishop over a knight) and such. Those are also code, and there are enough combinations that it is beyond unlikely that any two programmers would choose the same 5 values where there are so many choices for each.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Vas, Hyatt, Levy, ICGA, WCCC, Confusion and Nausea

Post by Don »

Uri Blass wrote: I think that the rules are simply not clear and I think that it is simply not correct that you know everything of importance and every idea that is important in komodo.
The concept is clear however. As you say much of the strength of Komodo is in how these things are tuned and put together. So I spend hundreds of hours doing this and then someone just takes what I have done and starts from there? What is difficult to understand about how wrong that is?

If you look at law you will understand that no law can be so precisely defined that it can cover every possible circumstance. So it is put down in words in a way the spirit of the law is as clear as possible - and in most cases it's pretty clear if the law was violated, but some cases will appear that require very careful consideration and wisdom. This often happens when someone is pushing the law as far as they can. People do this when it comes to paying taxes for example - the tax laws in many cases can be subject to interpretation and people will push this as far as they dare.

For example
You probably do not remember all the weights in the evaluation function of komodo and they are part of the reason for komodo's playing strength.

I think that weights are clearly ideas and not code like the 1 3 3 5 9 example.
The most difficult part of a chess program is the evaluation function, and more than anything else gives a program it's playing style. So one could take stockfish and copy all the evaluation features and weights and get an evaluation function without any hard work or imagination involved. If you consider that just an idea, then you basically believe in code copying.

I believe copying does not have to be literal as in cut and paste, but you could basically translate a program brainlessly to use another data structure and produce a functionally identical program that has different code. That's still copying.

These two pieces of code are identical functionally:

while (1) { }

or

for (;;) { }

So if someone makes these kinds of substitutions and changes the name of the variables and makes other functionally identical transformations it does not make the program original. Or even if they carefully pattern their program after another - in "paint by number" fashion it's not original.

"Original" has a very intuitive definition - basically it is what you think it is. Nobody has any trouble believing Junior is original, or Shredder or Spike, these programs are clearly original and different and were not carefully patterned after some other existing program.

Uri Blass
Posts: 10282
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Vas, Hyatt, Levy, ICGA, WCCC, Confusion and Nausea

Post by Uri Blass »

I can only say that I dislike the rules.

My opinion is that it is better not to have rules that not allow copying.

If we want better programs then we should allow it for everyone.

I suspect that for example an average of evaluations of stockfish and komodo may give a better program and if the author is not allowed to try it then it is bad for computer chess.

I understand that people do not like that other use their work to get a better starting point but the rules should be the same for everyone and they should also be allowed to use the work of other to get a better starting point.