My two cents on Rybka's disqualification

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: My two cents on Rybka's disqualification

Post by bob »

Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:
Harvey Williamson wrote:
Dann Corbit wrote:
Harvey Williamson wrote:
Dann Corbit wrote:I think it is very likely that Vas has done something wrong. My big problem is with the process.

1. Vas was singled out. Where is the reverse engineering of Shredder, Hiarcs, Junior, etc.? Why has Vas been singled out for this scrutiny and the other commercial vendors have not?
2. The process to find similarity is someone's recent invention. Has it been tested on other similar systems (meaning a test of similarity between TSCP and Brutus is absurd, a test between Junior and Shredder and other high end programs that are binary only against high-end open source programs makes sense)
If the experiment is run without any controls, then what have we really shown?
To my way of thinking, it would also be a good idea to perform the following exercise:
A. Take a strong open source program and copy it.
B. Make a bunch of changes and form a binary.
C. Study the program and use the algorithms in a new program.
D. Compare the results of the tool for case B and C
I doubt if anybody wants to put the work in to do this, but it seems a good way to model the problem and test the results of analysis.
3. The prosecution was formed by asking "Hey, anybody who wants to throw stones at Vas, gather over here in the barn."
Imagine if a jury were formed in that manner.
4. Look into your own source code at the following:
A. PVS search
B. Null move reductions
C. LMR reductions
Now, do these look a whole lot like those found in some other programs? If so, why are you not prosecuting yourself? If it is OK, then where is the line to draw in the sand that says "This amount of similarity is OK, but this amount is cheating"?
The panel was open to all that had an interest prosecution and defence. Why team rybka stayed away is a question for them. vas was invited many times to take part, he refused. i am sure if you had applied to join you would have been accepted.

Fabien came back to this board as a result of his posts other programmers and him sent a letter to the ICGA asking them to investigate.

if there is evidence against other programs then make a case and I am sure they will be investigated.
I do hereby charge every single program which has ever entered the ICGA with possible copying.
Excellent now get some evidence together and submit it to the ICGA.
I suspect that many of the programs playing chess have used LMR, PVS and null move heuristic, and not invented by the authors of these programs. I suspect further that an analysis of these snippets will show extreme similarity from one program to the next.
I do not understand why you want to keep trying that angle. We are not talking about LMR. PVS. Null-move. We are not talking about any ideas. We are talking about copying code, which is a _completely_ different issue, and is against the rules, while copying ideas is _not_.

They do not respond to posts on CCC. btw you still don't seem to get it. The panel was open to all to apply to join and was not the jury.
The panel was the prosecution and the ICGA was the judge.
The panel was almost entirely people in opposition or competition with Vas and they selected themselves.

I imagine that if the shoe was on the other foot you would not view such prosecution as justice.

Vas has been pronounced guilty to the entire planet. He may be guilty, but the stripping away of his fundamental rights and due process are offenses far worse than stealing a snippet of code.

Yes, stealing code is still bad. Yes, Vas might have stolen code.
The ends do not justify the means. They never have and they never will.
He was not "denied" due process. He refused to participate. It has happened many times in the US courts. One can certainly be tried "in absentia" in the US and in foreign courts. If one refuses to attend, the trial still goes on, otherwise one could circumvent justice by not showing up.
Imagine if a juror had been saying publicly for months that the defendent was guilty. Do you imagine he would be allowed to participate in a trial?

What we have here is a man (Vas) who has been defamed for life {possibly deservedly} and whose ability to make a living at what he enjoys has been severely impacted. If this had taken place in a court of law with rules of evidence, jury selection, etc. I would literally have no problem whatsoever with it. If the identical finding had been made I would be totally fine with it. I am not trying to exuse Vas.

The court makes up their own rules -- meaning that there are no rules.
The opponents get to choose themselves. The tools to decide guilt or innocense are formed by the opponsition, employed by the opposition and decided by the opposition.

Look, I admit that it is likely that Vas did something wrong. But if you can't see the flaws in the process then I suggest the the concept of justice escapes you completely.
First, I *INSIST* that we keep this factual. And no "juror" has said a thing about Vas' guilt or innocence. That is something you have completely fabricated. The Jury was David and the ICGA board. Feel free to provide a link to any quote by them that suggests prejudice. I was a member of the "prosecution". And I think that in every big trial that goes on, you find the prosecutor(s) giving interviews, and guess what? They always claim the defendant is guilty.

So first, let's get the judge, jury, prosecution and defense defined.

Vas is the defendant here, along with anyone he wants to add as a supporter.

Myself, Mark, Harvey, and the panel were charged with investigating the evidence, having back-and-forth discussions about various parts of it, so that we could make the evidence as clearly understandable as possible. We spent a great amount of time working on this, having arguments about what might not be very clear, about what we needed to add to make something clearer and stronger, what seemed to be far-fetched and should be excised, etc.

David Levy served as judge to run the proceeding. The ICGA board + David served as Jury (and that is quite common, a judge can override a jury verdict if he so chooses in US courts).

Now you know who was doing what. The defense was MIA, completely. The prosecution presented our evidence. In the light of no defense, the verdict was predictable. It would have been predictable had there been a defense, as the case was incredibly strong and convincing. One can debate the punishment, but when the defendant says "I don't care" the judge usually throws the book at him...
We can throw out terms judge, jury, prosecution, etc. because none of them apply. The body formed made its own rules as they saw fit.

Imagine if you were treated in exactly this same way in a criminal or civil case. You would have no objection to the procedures?
Why don't you ask the NASCAR drivers that get DQ'ed when they use improper parts or fuel. Or ask the olympic champions that have had their medals stripped. Or ask the universities that have had victories forfeited because of illegal participation by ineligible student-athletes. Or the chess players that have had titles stripped, prizes reclaimed, when they were caught cheating. Did any of them deal with a legal system judge and jury?

So why is this different? Oh, right. Because it is about Vas and Rybka...

The ICGA is _the_ governing body for ICGA events. And you don't think they have the right to investigate and correct wrongs?
Dann Corbit
Posts: 12870
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: My two cents on Rybka's disqualification

Post by Dann Corbit »

bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:
Harvey Williamson wrote:
Dann Corbit wrote:
Harvey Williamson wrote:
Dann Corbit wrote:I think it is very likely that Vas has done something wrong. My big problem is with the process.

1. Vas was singled out. Where is the reverse engineering of Shredder, Hiarcs, Junior, etc.? Why has Vas been singled out for this scrutiny and the other commercial vendors have not?
2. The process to find similarity is someone's recent invention. Has it been tested on other similar systems (meaning a test of similarity between TSCP and Brutus is absurd, a test between Junior and Shredder and other high end programs that are binary only against high-end open source programs makes sense)
If the experiment is run without any controls, then what have we really shown?
To my way of thinking, it would also be a good idea to perform the following exercise:
A. Take a strong open source program and copy it.
B. Make a bunch of changes and form a binary.
C. Study the program and use the algorithms in a new program.
D. Compare the results of the tool for case B and C
I doubt if anybody wants to put the work in to do this, but it seems a good way to model the problem and test the results of analysis.
3. The prosecution was formed by asking "Hey, anybody who wants to throw stones at Vas, gather over here in the barn."
Imagine if a jury were formed in that manner.
4. Look into your own source code at the following:
A. PVS search
B. Null move reductions
C. LMR reductions
Now, do these look a whole lot like those found in some other programs? If so, why are you not prosecuting yourself? If it is OK, then where is the line to draw in the sand that says "This amount of similarity is OK, but this amount is cheating"?
The panel was open to all that had an interest prosecution and defence. Why team rybka stayed away is a question for them. vas was invited many times to take part, he refused. i am sure if you had applied to join you would have been accepted.

Fabien came back to this board as a result of his posts other programmers and him sent a letter to the ICGA asking them to investigate.

if there is evidence against other programs then make a case and I am sure they will be investigated.
I do hereby charge every single program which has ever entered the ICGA with possible copying.
Excellent now get some evidence together and submit it to the ICGA.
I suspect that many of the programs playing chess have used LMR, PVS and null move heuristic, and not invented by the authors of these programs. I suspect further that an analysis of these snippets will show extreme similarity from one program to the next.
I do not understand why you want to keep trying that angle. We are not talking about LMR. PVS. Null-move. We are not talking about any ideas. We are talking about copying code, which is a _completely_ different issue, and is against the rules, while copying ideas is _not_.

They do not respond to posts on CCC. btw you still don't seem to get it. The panel was open to all to apply to join and was not the jury.
The panel was the prosecution and the ICGA was the judge.
The panel was almost entirely people in opposition or competition with Vas and they selected themselves.

I imagine that if the shoe was on the other foot you would not view such prosecution as justice.

Vas has been pronounced guilty to the entire planet. He may be guilty, but the stripping away of his fundamental rights and due process are offenses far worse than stealing a snippet of code.

Yes, stealing code is still bad. Yes, Vas might have stolen code.
The ends do not justify the means. They never have and they never will.
He was not "denied" due process. He refused to participate. It has happened many times in the US courts. One can certainly be tried "in absentia" in the US and in foreign courts. If one refuses to attend, the trial still goes on, otherwise one could circumvent justice by not showing up.
Imagine if a juror had been saying publicly for months that the defendent was guilty. Do you imagine he would be allowed to participate in a trial?

What we have here is a man (Vas) who has been defamed for life {possibly deservedly} and whose ability to make a living at what he enjoys has been severely impacted. If this had taken place in a court of law with rules of evidence, jury selection, etc. I would literally have no problem whatsoever with it. If the identical finding had been made I would be totally fine with it. I am not trying to exuse Vas.

The court makes up their own rules -- meaning that there are no rules.
The opponents get to choose themselves. The tools to decide guilt or innocense are formed by the opponsition, employed by the opposition and decided by the opposition.

Look, I admit that it is likely that Vas did something wrong. But if you can't see the flaws in the process then I suggest the the concept of justice escapes you completely.
First, I *INSIST* that we keep this factual. And no "juror" has said a thing about Vas' guilt or innocence. That is something you have completely fabricated. The Jury was David and the ICGA board. Feel free to provide a link to any quote by them that suggests prejudice. I was a member of the "prosecution". And I think that in every big trial that goes on, you find the prosecutor(s) giving interviews, and guess what? They always claim the defendant is guilty.

So first, let's get the judge, jury, prosecution and defense defined.

Vas is the defendant here, along with anyone he wants to add as a supporter.

Myself, Mark, Harvey, and the panel were charged with investigating the evidence, having back-and-forth discussions about various parts of it, so that we could make the evidence as clearly understandable as possible. We spent a great amount of time working on this, having arguments about what might not be very clear, about what we needed to add to make something clearer and stronger, what seemed to be far-fetched and should be excised, etc.

David Levy served as judge to run the proceeding. The ICGA board + David served as Jury (and that is quite common, a judge can override a jury verdict if he so chooses in US courts).

Now you know who was doing what. The defense was MIA, completely. The prosecution presented our evidence. In the light of no defense, the verdict was predictable. It would have been predictable had there been a defense, as the case was incredibly strong and convincing. One can debate the punishment, but when the defendant says "I don't care" the judge usually throws the book at him...
We can throw out terms judge, jury, prosecution, etc. because none of them apply. The body formed made its own rules as they saw fit.

Imagine if you were treated in exactly this same way in a criminal or civil case. You would have no objection to the procedures?
Why don't you ask the NASCAR drivers that get DQ'ed when they use improper parts or fuel. Or ask the olympic champions that have had their medals stripped. Or ask the universities that have had victories forfeited because of illegal participation by ineligible student-athletes. Or the chess players that have had titles stripped, prizes reclaimed, when they were caught cheating. Did any of them deal with a legal system judge and jury?

So why is this different? Oh, right. Because it is about Vas and Rybka...

The ICGA is _the_ governing body for ICGA events. And you don't think they have the right to investigate and correct wrongs?
Do you somehow imagine that I side with Vas and Rybka differently than someone else?

I really don't care about who and I also think that Vas might be guilty.

If NASCAR prosecuted drivers in like manner, then NASCAR is a bad organization.

I have to admit, I don't know much about how NASCAR operates other than there are a bunch of guys and a few girls who race each other a lot and occasionally punch one another.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: My two cents on Rybka's disqualification

Post by bob »

Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:I think it is very likely that Vas has done something wrong. My big problem is with the process.

1. Vas was singled out. Where is the reverse engineering of Shredder, Hiarcs, Junior, etc.? Why has Vas been singled out for this scrutiny and the other commercial vendors have not?
Because a formal complaint was filed with the ICGA. This came from the strelka release that showed how close rybka and fruit were... Others will go under the microscope over time. Loop is already being discussed.
2. The process to find similarity is someone's recent invention. Has it been tested on other similar systems (meaning a test of similarity between TSCP and Brutus is absurd, a test between Junior and Shredder and other high end programs that are binary only against high-end open source programs makes sense)
Do you mean Mark's evaluation comparison? If you read his stuff completely, he _did_ compare a large matrix of programs to see who was similar to who. And Rybka/Fruit was the only one that reached a level of similarity that one had to believe in a rare 7.5SD event to be able to conclude the two programs were independently developed with so much similarity.
So someone with a competing program invented a comparison procedure that found Vas guilty. Rybka has a 4 MB binary and yet this incredible similarity is found with a tiny binary?
Where extremely strong programs compared against each other?
The idea of taking the prosecutor, having him invent the test, and then finding the opponent guilty does not sound very fair to me.
Errors:

(1) mark is not a competitor.
What's all this then:
http://chessprogramming.wikispaces.com/Mark+Lefler
Wrong Mark. Mark Watkins was the one that provided the most damaging evidence to the rybka case. He is the one that did much of the disassembly and comparison. And he is not a competitor. I do not know how long it has been since Now competed, you'd have to ask Mark Lefler about that. I've not competed in recent WCCC events either, although I compete in online events all the time...



(2) what does the size of the binary have to do with it? add "static int x[1000000] = {0, 0, ...}; and you get a 4mb + binary instantly because of the compile-time static initialization. Does that mean anything? Rybka was rotated bitboards, extracted from Crafty. There are _large_ arrays used there. Fruit did not have those large arrays. So size doesn't mean a thing.
My point was that a teeny tiny portion of the source code base may match as a percentage. Does this matter? I don't have any idea but it might. Do you know the law? I'm not a lawyer.
Further, I guess that the 4 MB is not mostly populated with zero. No, wait a minute, I know because I have disassembled Rybka myself.
It is certainly populated with large arrays that are statically initialized. Or it might include Eugene's EGTB code which is _huge_ thanks to the templates. Nobody has contested egtb.cpp usage since many use it, so that was not a part of the investigation at all. Size doesn't matter. Percentages do not matter. If someone copies 200 lines of Crafty's eval, and puts it into a million-line evaluation, the evaluation is still illegal according to ICGA rules. Percentages don't count here, there is no "magic threshold".


(3) Mark didn't find Vas guilty. David and the ICGA board did. Mark just presented evidence, along with the rest of us.
Mark, a competitor of Vas, decided on a tool to find Vas guilty. The other competitors thought it was a neat idea. Does it occur to you that there is some slight possibility that your judgement could be clouded by the competitive nature of these contests?

First, the statistical analysis you are talking about (similarity between rybka 2.3.2 and fruit 2.1) was written by Mark _Watkins_. Who is most certainly a different person from Mark _Lefler_.

Second, you did notice that there was a ton of _other_ types of evidence produced, in _addition_ to the statistical analysis of the eval similarities? People go to prison from a pile of circumstantial evidence, at times. Each individual piece of evidence could be criticized, but the entire body of the evidence paints a clear (and ugly) picture...
I have heard a rumor that it is so competitive that people are willing to destroy the reputation of another man for life and over what? Moveing little wooden horsies around on cardboard squares.
I have not heard that rumor. I have heard the rumor that some are so arrogant, and have such a poor sense of moral/ethical values, that they are willing to take any short-cut possible to produce a program that is the best in the world, so that they are recognized. Ever heard of such nonsense? oops, it happened several times, in fact, I don't think I need to name names.

(4) Vas could have contested that comparison had he wanted to. He could have contested everything. But I am certain that he knew the truth and felt that the quicker this was over, the quicker it would be forgotten. So he elected to remain silent since anything he said could be used against him.
To go into a setting where there are no rules in writing and where the rules are invented by the opposition seems questionable to me. Perhaps it seemed questionable to Vas. Maybe he really was guilty and was afraid of the result. That too, is a possibility.
It is a near-certainty. I was investigated in 1986 at the request of Hans Berliner. I made all my source available. I asked Cray to provide computer time so that David, Tony, Ken T. and group could test the positions that Berliner thought that CB would not play the move actually played in the game. I provided large raw log files created game by game (just like Crafty's logs of today). The only questions that were left were that it appeared that once or twice we did not enter HiTech's move as soon as it was made. In trying to reconstruct events, we figured out via discussion that at least one of those cases was where we had both made a simultaneous bathroom break after playing for about 6 hours non-stop. We were open. We answered every question. We provided anything the ICCA (at the time ICCA, not ICGA) asked for. And we were found to be completely innocent of any wrong-doing.

Vas _could_ have done that. I found the process to be painless, we all followed the rules about providing source and logs, and such. And the correct verdict was rendered.

Vas did _not_ cooperate. Very similarly to a case a few years ago where a program was summarily ejected from the WCCC because the author failed to provide the source after a protest was filed. Sound similar???


If the experiment is run without any controls, then what have we really shown?
To my way of thinking, it would also be a good idea to perform the following exercise:
A. Take a strong open source program and copy it.
B. Make a bunch of changes and form a binary.
C. Study the program and use the algorithms in a new program.
D. Compare the results of the tool for case B and C
I doubt if anybody wants to put the work in to do this, but it seems a good way to model the problem and test the results of analysis.
3. The prosecution was formed by asking "Hey, anybody who wants to throw stones at Vas, gather over here in the barn."
Imagine if a jury were formed in that manner.
Juries are pretty much formed in that manner. Random sample of the population. The ICGA "jury" was not out to crucify Vas, they were out to answer a complaint. The prosecutor does pretty well go around looking for people that can impeach the defendant's credibility, provide evidence to support a guilty verdict, etc. Again, we were _not_ the "finders of fact" (the jury). We were "the presenters of evidence".
A jury of peers is not formed by putting an ad in the newspaper "Who would like to prosecute Joe?"
They are chosen at random. Many of the jurors clearly had an axe to grind. You, for instance, have been saying that Vas is guilty in this forum and in OpenChess. In a jury selection, you would have been dismissed instantly. I do not know about the others, but I have heard Vas being convicted in posts by chess programmers for months.
4. Look into your own source code at the following:
A. PVS search
B. Null move reductions
C. LMR reductions
Now, do these look a whole lot like those found in some other programs? If so, why are you not prosecuting yourself? If it is OK, then where is the line to draw in the sand that says "This amount of similarity is OK, but this amount is cheating"?
You keep harping on ideas, which is not what we are talking about. Look at how LMR is implemented in Crafty. In Fruit. In stockfish. In Robo*. Compare the _implementations_. They are wildly different. yet in Rybka, we have _identical_ blocks of code. Large identical blocks. I don't get why you keep harping on ideas, when everyone knows we are comparing source code explicitly.

Because you are still stuck on ideas. Which is different from _identical source code_. Extremely _different_. The idea argument is bogus, because it has not been mentioned once in the report we wrote, nor in the ICGAs verdict. This was about copying source code. nothing more. Nothing less.

We are not talking about "similarity". We are talking about copied source code.
If there were changes to the code, then it was only similar. How does one judge between code that was copied and subsequently changed verses code that was written from memory after studying a subject?

All that having been said, I think it likely that Vas was guilty of some wrongdoing.

It's just that the process appears to be the worst sort of kangaroo court I can possibly imagine.

Illustration:
President Obama has found Chrysler guilty of patent infringement.
His requested advisers and got some from Ford, Mitsubishi, Peugeot, Fiat, Mercedes Benz, Honda, and Kia motors.

The chief engineers at Fiat devised a test to show that Chrysler has broken the law and all of the manufacturers voted unanimously that Chrysler was guilty. After some deliberation, Obama had no choice but to find Chrysler guilty.
Wrong. Chrysler would defend itself. Vas did not. Big difference.
Would Chrysler defend itself in this setting, or would it choose an actual court of law with rules set down in writing rather than invented by the opposing factions?

We do not know that Vas will not have a response.
This will never see a court of Law. It is a purely civil matter that could be handled in civil court. But only after the ICGA ruled. It was utterly stupid if his plan was to wait until the ICGA ruled, and then contest the result in civil court. First, he will lose again, and it will not be cheap either. Second, he has to deal with the "cheater label" for the year (or years) it takes the appeal to reach the civil courtroom. That makes no sense. You have to start early if you want to defend yourself.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: My two cents on Rybka's disqualification

Post by bob »

NASCAR has a set of rules. After the race, the winner's car is impounded and gone over with a microscope. If a violation is found, it is disqualified. In track and field events, if a drug test is failed, titles are vacated, participants can be banned for a period of time including life. This is common in any sort of organization that handles contests. Pete Rose comes to mind in baseball. A manager that bets on baseball games. Baseball has a rule that managers and players can not bet because they have the ability to alter the result of a game by how they play or how they manage, which is a big conflict of interest. Pete Rose violated that rule. Where is he today? outside looking in, yet he was one of the best ball players of all time. And won't be allowed in the hall of fame because he violated a simple rule. And he didn't even bet on his own team or games his team played in. But the rule was a rule.

Every decision made on the planet does not go through the courts. Nothing would get done if that were required.
Dann Corbit
Posts: 12870
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: My two cents on Rybka's disqualification

Post by Dann Corbit »

bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:I think it is very likely that Vas has done something wrong. My big problem is with the process.

1. Vas was singled out. Where is the reverse engineering of Shredder, Hiarcs, Junior, etc.? Why has Vas been singled out for this scrutiny and the other commercial vendors have not?
Because a formal complaint was filed with the ICGA. This came from the strelka release that showed how close rybka and fruit were... Others will go under the microscope over time. Loop is already being discussed.
2. The process to find similarity is someone's recent invention. Has it been tested on other similar systems (meaning a test of similarity between TSCP and Brutus is absurd, a test between Junior and Shredder and other high end programs that are binary only against high-end open source programs makes sense)
Do you mean Mark's evaluation comparison? If you read his stuff completely, he _did_ compare a large matrix of programs to see who was similar to who. And Rybka/Fruit was the only one that reached a level of similarity that one had to believe in a rare 7.5SD event to be able to conclude the two programs were independently developed with so much similarity.
So someone with a competing program invented a comparison procedure that found Vas guilty. Rybka has a 4 MB binary and yet this incredible similarity is found with a tiny binary?
Where extremely strong programs compared against each other?
The idea of taking the prosecutor, having him invent the test, and then finding the opponent guilty does not sound very fair to me.
Errors:

(1) mark is not a competitor.
What's all this then:
http://chessprogramming.wikispaces.com/Mark+Lefler
Wrong Mark. Mark Watkins was the one that provided the most damaging evidence to the rybka case. He is the one that did much of the disassembly and comparison. And he is not a competitor. I do not know how long it has been since Now competed, you'd have to ask Mark Lefler about that. I've not competed in recent WCCC events either, although I compete in online events all the time...
My mistake.
BB+, seems to be someone who aims for fairness.
Because of his involvement in this issue over a long time, I still wonder if his judgement could have been colored by his opinions.


(2) what does the size of the binary have to do with it? add "static int x[1000000] = {0, 0, ...}; and you get a 4mb + binary instantly because of the compile-time static initialization. Does that mean anything? Rybka was rotated bitboards, extracted from Crafty. There are _large_ arrays used there. Fruit did not have those large arrays. So size doesn't mean a thing.
My point was that a teeny tiny portion of the source code base may match as a percentage. Does this matter? I don't have any idea but it might. Do you know the law? I'm not a lawyer.
Further, I guess that the 4 MB is not mostly populated with zero. No, wait a minute, I know because I have disassembled Rybka myself.
It is certainly populated with large arrays that are statically initialized. Or it might include Eugene's EGTB code which is _huge_ thanks to the templates. Nobody has contested egtb.cpp usage since many use it, so that was not a part of the investigation at all. Size doesn't matter. Percentages do not matter. If someone copies 200 lines of Crafty's eval, and puts it into a million-line evaluation, the evaluation is still illegal according to ICGA rules. Percentages don't count here, there is no "magic threshold".
There is such a thing as 'Fair use'
Vas has given credit to both crafty and fruit in his documentation.
Now, I have no idea if fair use applies. Do you?

(3) Mark didn't find Vas guilty. David and the ICGA board did. Mark just presented evidence, along with the rest of us.
Mark, a competitor of Vas, decided on a tool to find Vas guilty. The other competitors thought it was a neat idea. Does it occur to you that there is some slight possibility that your judgement could be clouded by the competitive nature of these contests?

First, the statistical analysis you are talking about (similarity between rybka 2.3.2 and fruit 2.1) was written by Mark _Watkins_. Who is most certainly a different person from Mark _Lefler_.

Second, you did notice that there was a ton of _other_ types of evidence produced, in _addition_ to the statistical analysis of the eval similarities? People go to prison from a pile of circumstantial evidence, at times. Each individual piece of evidence could be criticized, but the entire body of the evidence paints a clear (and ugly) picture...
I think that the mathematicians employed in the study should not have been persons involved in the disassembly, etc. since opinions were possibly already formed about guilt and/or innocense. Isn't it just slightly possible that his opinions might slightly lean him to form a mathematical process that would confirm what he has been saying for months?
I do not know that his opinions were colored by his feelings.
I have heard a rumor that it is so competitive that people are willing to destroy the reputation of another man for life and over what? Moveing little wooden horsies around on cardboard squares.
I have not heard that rumor. I have heard the rumor that some are so arrogant, and have such a poor sense of moral/ethical values, that they are willing to take any short-cut possible to produce a program that is the best in the world, so that they are recognized. Ever heard of such nonsense? oops, it happened several times, in fact, I don't think I need to name names.
Yes, Vas may have enganged in wrongdoing.
That does not mean that it is OK to use wrong methods to convict him of it.
(4) Vas could have contested that comparison had he wanted to. He could have contested everything. But I am certain that he knew the truth and felt that the quicker this was over, the quicker it would be forgotten. So he elected to remain silent since anything he said could be used against him.
To go into a setting where there are no rules in writing and where the rules are invented by the opposition seems questionable to me. Perhaps it seemed questionable to Vas. Maybe he really was guilty and was afraid of the result. That too, is a possibility.
It is a near-certainty. I was investigated in 1986 at the request of Hans Berliner. I made all my source available. I asked Cray to provide computer time so that David, Tony, Ken T. and group could test the positions that Berliner thought that CB would not play the move actually played in the game. I provided large raw log files created game by game (just like Crafty's logs of today). The only questions that were left were that it appeared that once or twice we did not enter HiTech's move as soon as it was made. In trying to reconstruct events, we figured out via discussion that at least one of those cases was where we had both made a simultaneous bathroom break after playing for about 6 hours non-stop. We were open. We answered every question. We provided anything the ICCA (at the time ICCA, not ICGA) asked for. And we were found to be completely innocent of any wrong-doing.

Vas _could_ have done that. I found the process to be painless, we all followed the rules about providing source and logs, and such. And the correct verdict was rendered.

Vas did _not_ cooperate. Very similarly to a case a few years ago where a program was summarily ejected from the WCCC because the author failed to provide the source after a protest was filed. Sound similar???
I recall the Loop case. I suppose that there are some similarities. I have also exposed several engines that I suspected of cheating. So, in some sense, I have engaged in a process with some similarities to the current process that I object to. I am not sure that I did the right thing, but I somehow see things a bit differently, due to the weight of the outcomes.
If the experiment is run without any controls, then what have we really shown?
To my way of thinking, it would also be a good idea to perform the following exercise:
A. Take a strong open source program and copy it.
B. Make a bunch of changes and form a binary.
C. Study the program and use the algorithms in a new program.
D. Compare the results of the tool for case B and C
I doubt if anybody wants to put the work in to do this, but it seems a good way to model the problem and test the results of analysis.
3. The prosecution was formed by asking "Hey, anybody who wants to throw stones at Vas, gather over here in the barn."
Imagine if a jury were formed in that manner.
Juries are pretty much formed in that manner. Random sample of the population. The ICGA "jury" was not out to crucify Vas, they were out to answer a complaint. The prosecutor does pretty well go around looking for people that can impeach the defendant's credibility, provide evidence to support a guilty verdict, etc. Again, we were _not_ the "finders of fact" (the jury). We were "the presenters of evidence".
A jury of peers is not formed by putting an ad in the newspaper "Who would like to prosecute Joe?"
They are chosen at random. Many of the jurors clearly had an axe to grind. You, for instance, have been saying that Vas is guilty in this forum and in OpenChess. In a jury selection, you would have been dismissed instantly. I do not know about the others, but I have heard Vas being convicted in posts by chess programmers for months.
4. Look into your own source code at the following:
A. PVS search
B. Null move reductions
C. LMR reductions
Now, do these look a whole lot like those found in some other programs? If so, why are you not prosecuting yourself? If it is OK, then where is the line to draw in the sand that says "This amount of similarity is OK, but this amount is cheating"?
You keep harping on ideas, which is not what we are talking about. Look at how LMR is implemented in Crafty. In Fruit. In stockfish. In Robo*. Compare the _implementations_. They are wildly different. yet in Rybka, we have _identical_ blocks of code. Large identical blocks. I don't get why you keep harping on ideas, when everyone knows we are comparing source code explicitly.

Because you are still stuck on ideas. Which is different from _identical source code_. Extremely _different_. The idea argument is bogus, because it has not been mentioned once in the report we wrote, nor in the ICGAs verdict. This was about copying source code. nothing more. Nothing less.

We are not talking about "similarity". We are talking about copied source code.
If there were changes to the code, then it was only similar. How does one judge between code that was copied and subsequently changed verses code that was written from memory after studying a subject?

All that having been said, I think it likely that Vas was guilty of some wrongdoing.

It's just that the process appears to be the worst sort of kangaroo court I can possibly imagine.

Illustration:
President Obama has found Chrysler guilty of patent infringement.
His requested advisers and got some from Ford, Mitsubishi, Peugeot, Fiat, Mercedes Benz, Honda, and Kia motors.

The chief engineers at Fiat devised a test to show that Chrysler has broken the law and all of the manufacturers voted unanimously that Chrysler was guilty. After some deliberation, Obama had no choice but to find Chrysler guilty.
Wrong. Chrysler would defend itself. Vas did not. Big difference.
Would Chrysler defend itself in this setting, or would it choose an actual court of law with rules set down in writing rather than invented by the opposing factions?

We do not know that Vas will not have a response.
This will never see a court of Law. It is a purely civil matter that could be handled in civil court. But only after the ICGA ruled. It was utterly stupid if his plan was to wait until the ICGA ruled, and then contest the result in civil court. First, he will lose again, and it will not be cheap either. Second, he has to deal with the "cheater label" for the year (or years) it takes the appeal to reach the civil courtroom. That makes no sense. You have to start early if you want to defend yourself.
I thought that copyright violation was a criminal offense, my mistake then.
Dann Corbit
Posts: 12870
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: My two cents on Rybka's disqualification

Post by Dann Corbit »

Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:I think it is very likely that Vas has done something wrong. My big problem is with the process.

1. Vas was singled out. Where is the reverse engineering of Shredder, Hiarcs, Junior, etc.? Why has Vas been singled out for this scrutiny and the other commercial vendors have not?
Because a formal complaint was filed with the ICGA. This came from the strelka release that showed how close rybka and fruit were... Others will go under the microscope over time. Loop is already being discussed.
2. The process to find similarity is someone's recent invention. Has it been tested on other similar systems (meaning a test of similarity between TSCP and Brutus is absurd, a test between Junior and Shredder and other high end programs that are binary only against high-end open source programs makes sense)
Do you mean Mark's evaluation comparison? If you read his stuff completely, he _did_ compare a large matrix of programs to see who was similar to who. And Rybka/Fruit was the only one that reached a level of similarity that one had to believe in a rare 7.5SD event to be able to conclude the two programs were independently developed with so much similarity.
So someone with a competing program invented a comparison procedure that found Vas guilty. Rybka has a 4 MB binary and yet this incredible similarity is found with a tiny binary?
Where extremely strong programs compared against each other?
The idea of taking the prosecutor, having him invent the test, and then finding the opponent guilty does not sound very fair to me.
Errors:

(1) mark is not a competitor.
What's all this then:
http://chessprogramming.wikispaces.com/Mark+Lefler
Wrong Mark. Mark Watkins was the one that provided the most damaging evidence to the rybka case. He is the one that did much of the disassembly and comparison. And he is not a competitor. I do not know how long it has been since Now competed, you'd have to ask Mark Lefler about that. I've not competed in recent WCCC events either, although I compete in online events all the time...
My mistake.
BB+, seems to be someone who aims for fairness.
Because of his involvement in this issue over a long time, I still wonder if his judgement could have been colored by his opinions.


(2) what does the size of the binary have to do with it? add "static int x[1000000] = {0, 0, ...}; and you get a 4mb + binary instantly because of the compile-time static initialization. Does that mean anything? Rybka was rotated bitboards, extracted from Crafty. There are _large_ arrays used there. Fruit did not have those large arrays. So size doesn't mean a thing.
My point was that a teeny tiny portion of the source code base may match as a percentage. Does this matter? I don't have any idea but it might. Do you know the law? I'm not a lawyer.
Further, I guess that the 4 MB is not mostly populated with zero. No, wait a minute, I know because I have disassembled Rybka myself.
It is certainly populated with large arrays that are statically initialized. Or it might include Eugene's EGTB code which is _huge_ thanks to the templates. Nobody has contested egtb.cpp usage since many use it, so that was not a part of the investigation at all. Size doesn't matter. Percentages do not matter. If someone copies 200 lines of Crafty's eval, and puts it into a million-line evaluation, the evaluation is still illegal according to ICGA rules. Percentages don't count here, there is no "magic threshold".
There is such a thing as 'Fair use'
Vas has given credit to both crafty and fruit in his documentation.
Now, I have no idea if fair use applies. Do you?

(3) Mark didn't find Vas guilty. David and the ICGA board did. Mark just presented evidence, along with the rest of us.
Mark, a competitor of Vas, decided on a tool to find Vas guilty. The other competitors thought it was a neat idea. Does it occur to you that there is some slight possibility that your judgement could be clouded by the competitive nature of these contests?

First, the statistical analysis you are talking about (similarity between rybka 2.3.2 and fruit 2.1) was written by Mark _Watkins_. Who is most certainly a different person from Mark _Lefler_.

Second, you did notice that there was a ton of _other_ types of evidence produced, in _addition_ to the statistical analysis of the eval similarities? People go to prison from a pile of circumstantial evidence, at times. Each individual piece of evidence could be criticized, but the entire body of the evidence paints a clear (and ugly) picture...
I think that the mathematicians employed in the study should not have been persons involved in the disassembly, etc. since opinions were possibly already formed about guilt and/or innocense. Isn't it just slightly possible that his opinions might slightly lean him to form a mathematical process that would confirm what he has been saying for months?
I do not know that his opinions were colored by his feelings.
I have heard a rumor that it is so competitive that people are willing to destroy the reputation of another man for life and over what? Moveing little wooden horsies around on cardboard squares.
I have not heard that rumor. I have heard the rumor that some are so arrogant, and have such a poor sense of moral/ethical values, that they are willing to take any short-cut possible to produce a program that is the best in the world, so that they are recognized. Ever heard of such nonsense? oops, it happened several times, in fact, I don't think I need to name names.
Yes, Vas may have enganged in wrongdoing.
That does not mean that it is OK to use wrong methods to convict him of it.
(4) Vas could have contested that comparison had he wanted to. He could have contested everything. But I am certain that he knew the truth and felt that the quicker this was over, the quicker it would be forgotten. So he elected to remain silent since anything he said could be used against him.
To go into a setting where there are no rules in writing and where the rules are invented by the opposition seems questionable to me. Perhaps it seemed questionable to Vas. Maybe he really was guilty and was afraid of the result. That too, is a possibility.
It is a near-certainty. I was investigated in 1986 at the request of Hans Berliner. I made all my source available. I asked Cray to provide computer time so that David, Tony, Ken T. and group could test the positions that Berliner thought that CB would not play the move actually played in the game. I provided large raw log files created game by game (just like Crafty's logs of today). The only questions that were left were that it appeared that once or twice we did not enter HiTech's move as soon as it was made. In trying to reconstruct events, we figured out via discussion that at least one of those cases was where we had both made a simultaneous bathroom break after playing for about 6 hours non-stop. We were open. We answered every question. We provided anything the ICCA (at the time ICCA, not ICGA) asked for. And we were found to be completely innocent of any wrong-doing.

Vas _could_ have done that. I found the process to be painless, we all followed the rules about providing source and logs, and such. And the correct verdict was rendered.

Vas did _not_ cooperate. Very similarly to a case a few years ago where a program was summarily ejected from the WCCC because the author failed to provide the source after a protest was filed. Sound similar???
I recall the Loop case. I suppose that there are some similarities. I have also exposed several engines that I suspected of cheating. So, in some sense, I have engaged in a process with some similarities to the current process that I object to. I am not sure that I did the right thing, but I somehow see things a bit differently, due to the weight of the outcomes.
If the experiment is run without any controls, then what have we really shown?
To my way of thinking, it would also be a good idea to perform the following exercise:
A. Take a strong open source program and copy it.
B. Make a bunch of changes and form a binary.
C. Study the program and use the algorithms in a new program.
D. Compare the results of the tool for case B and C
I doubt if anybody wants to put the work in to do this, but it seems a good way to model the problem and test the results of analysis.
3. The prosecution was formed by asking "Hey, anybody who wants to throw stones at Vas, gather over here in the barn."
Imagine if a jury were formed in that manner.
Juries are pretty much formed in that manner. Random sample of the population. The ICGA "jury" was not out to crucify Vas, they were out to answer a complaint. The prosecutor does pretty well go around looking for people that can impeach the defendant's credibility, provide evidence to support a guilty verdict, etc. Again, we were _not_ the "finders of fact" (the jury). We were "the presenters of evidence".
A jury of peers is not formed by putting an ad in the newspaper "Who would like to prosecute Joe?"
They are chosen at random. Many of the jurors clearly had an axe to grind. You, for instance, have been saying that Vas is guilty in this forum and in OpenChess. In a jury selection, you would have been dismissed instantly. I do not know about the others, but I have heard Vas being convicted in posts by chess programmers for months.
4. Look into your own source code at the following:
A. PVS search
B. Null move reductions
C. LMR reductions
Now, do these look a whole lot like those found in some other programs? If so, why are you not prosecuting yourself? If it is OK, then where is the line to draw in the sand that says "This amount of similarity is OK, but this amount is cheating"?
You keep harping on ideas, which is not what we are talking about. Look at how LMR is implemented in Crafty. In Fruit. In stockfish. In Robo*. Compare the _implementations_. They are wildly different. yet in Rybka, we have _identical_ blocks of code. Large identical blocks. I don't get why you keep harping on ideas, when everyone knows we are comparing source code explicitly.

Because you are still stuck on ideas. Which is different from _identical source code_. Extremely _different_. The idea argument is bogus, because it has not been mentioned once in the report we wrote, nor in the ICGAs verdict. This was about copying source code. nothing more. Nothing less.

We are not talking about "similarity". We are talking about copied source code.
If there were changes to the code, then it was only similar. How does one judge between code that was copied and subsequently changed verses code that was written from memory after studying a subject?

All that having been said, I think it likely that Vas was guilty of some wrongdoing.

It's just that the process appears to be the worst sort of kangaroo court I can possibly imagine.

Illustration:
President Obama has found Chrysler guilty of patent infringement.
His requested advisers and got some from Ford, Mitsubishi, Peugeot, Fiat, Mercedes Benz, Honda, and Kia motors.

The chief engineers at Fiat devised a test to show that Chrysler has broken the law and all of the manufacturers voted unanimously that Chrysler was guilty. After some deliberation, Obama had no choice but to find Chrysler guilty.
Wrong. Chrysler would defend itself. Vas did not. Big difference.
Would Chrysler defend itself in this setting, or would it choose an actual court of law with rules set down in writing rather than invented by the opposing factions?

We do not know that Vas will not have a response.
This will never see a court of Law. It is a purely civil matter that could be handled in civil court. But only after the ICGA ruled. It was utterly stupid if his plan was to wait until the ICGA ruled, and then contest the result in civil court. First, he will lose again, and it will not be cheap either. Second, he has to deal with the "cheater label" for the year (or years) it takes the appeal to reach the civil courtroom. That makes no sense. You have to start early if you want to defend yourself.
I thought that copyright violation was a criminal offense, my mistake then.
? Looks like there is such a thing as criminal infringement.
http://www.copyright.gov/title17/92chap5.html
Dann Corbit
Posts: 12870
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: My two cents on Rybka's disqualification

Post by Dann Corbit »

bob wrote:NASCAR has a set of rules. After the race, the winner's car is impounded and gone over with a microscope. If a violation is found, it is disqualified. In track and field events, if a drug test is failed, titles are vacated, participants can be banned for a period of time including life. This is common in any sort of organization that handles contests. Pete Rose comes to mind in baseball. A manager that bets on baseball games. Baseball has a rule that managers and players can not bet because they have the ability to alter the result of a game by how they play or how they manage, which is a big conflict of interest. Pete Rose violated that rule. Where is he today? outside looking in, yet he was one of the best ball players of all time. And won't be allowed in the hall of fame because he violated a simple rule. And he didn't even bet on his own team or games his team played in. But the rule was a rule.

Every decision made on the planet does not go through the courts. Nothing would get done if that were required.
Yes, those are good points and especially in the case of Pete Rose, the outcome clearly has the force of law because his reputation is utterly ruined and his livelihood is destroyed.

I still don't like the process chosen by the ICGA. I do not know enough about baseball bylaws and processes to know if I do not like the handling of the Pete Rose process.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: My two cents on Rybka's disqualification

Post by bob »

Dann Corbit wrote:
bob wrote:NASCAR has a set of rules. After the race, the winner's car is impounded and gone over with a microscope. If a violation is found, it is disqualified. In track and field events, if a drug test is failed, titles are vacated, participants can be banned for a period of time including life. This is common in any sort of organization that handles contests. Pete Rose comes to mind in baseball. A manager that bets on baseball games. Baseball has a rule that managers and players can not bet because they have the ability to alter the result of a game by how they play or how they manage, which is a big conflict of interest. Pete Rose violated that rule. Where is he today? outside looking in, yet he was one of the best ball players of all time. And won't be allowed in the hall of fame because he violated a simple rule. And he didn't even bet on his own team or games his team played in. But the rule was a rule.

Every decision made on the planet does not go through the courts. Nothing would get done if that were required.
Yes, those are good points and especially in the case of Pete Rose, the outcome clearly has the force of law because his reputation is utterly ruined and his livelihood is destroyed.

I still don't like the process chosen by the ICGA. I do not know enough about baseball bylaws and processes to know if I do not like the handling of the Pete Rose process.
The problem is, when you apply to play in an ICGA event, you are required to sign an entry form that includes specific requirements a program must meet, and requirements an author must meet should a protest be filed.
Dann Corbit
Posts: 12870
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: My two cents on Rybka's disqualification

Post by Dann Corbit »

bob wrote:
Dann Corbit wrote:
bob wrote:NASCAR has a set of rules. After the race, the winner's car is impounded and gone over with a microscope. If a violation is found, it is disqualified. In track and field events, if a drug test is failed, titles are vacated, participants can be banned for a period of time including life. This is common in any sort of organization that handles contests. Pete Rose comes to mind in baseball. A manager that bets on baseball games. Baseball has a rule that managers and players can not bet because they have the ability to alter the result of a game by how they play or how they manage, which is a big conflict of interest. Pete Rose violated that rule. Where is he today? outside looking in, yet he was one of the best ball players of all time. And won't be allowed in the hall of fame because he violated a simple rule. And he didn't even bet on his own team or games his team played in. But the rule was a rule.

Every decision made on the planet does not go through the courts. Nothing would get done if that were required.
Yes, those are good points and especially in the case of Pete Rose, the outcome clearly has the force of law because his reputation is utterly ruined and his livelihood is destroyed.

I still don't like the process chosen by the ICGA. I do not know enough about baseball bylaws and processes to know if I do not like the handling of the Pete Rose process.
The problem is, when you apply to play in an ICGA event, you are required to sign an entry form that includes specific requirements a program must meet, and requirements an author must meet should a protest be filed.
Do you know where I can find a copy of this agreement?
I would like to read it, in particular for each of the years that Vas competed in the competition.

I am particularly interested in the exact wording of the agreement and the exact wording of the penalties.

It is quite possible that the ICGA acted properly if Vas has violated his agreements and if the ICGA acted as they spelled out in their contracts.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: My two cents on Rybka's disqualification

Post by bob »

Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:I think it is very likely that Vas has done something wrong. My big problem is with the process.

1. Vas was singled out. Where is the reverse engineering of Shredder, Hiarcs, Junior, etc.? Why has Vas been singled out for this scrutiny and the other commercial vendors have not?
Because a formal complaint was filed with the ICGA. This came from the strelka release that showed how close rybka and fruit were... Others will go under the microscope over time. Loop is already being discussed.
2. The process to find similarity is someone's recent invention. Has it been tested on other similar systems (meaning a test of similarity between TSCP and Brutus is absurd, a test between Junior and Shredder and other high end programs that are binary only against high-end open source programs makes sense)
Do you mean Mark's evaluation comparison? If you read his stuff completely, he _did_ compare a large matrix of programs to see who was similar to who. And Rybka/Fruit was the only one that reached a level of similarity that one had to believe in a rare 7.5SD event to be able to conclude the two programs were independently developed with so much similarity.
So someone with a competing program invented a comparison procedure that found Vas guilty. Rybka has a 4 MB binary and yet this incredible similarity is found with a tiny binary?
Where extremely strong programs compared against each other?
The idea of taking the prosecutor, having him invent the test, and then finding the opponent guilty does not sound very fair to me.
Errors:

(1) mark is not a competitor.
What's all this then:
http://chessprogramming.wikispaces.com/Mark+Lefler
Wrong Mark. Mark Watkins was the one that provided the most damaging evidence to the rybka case. He is the one that did much of the disassembly and comparison. And he is not a competitor. I do not know how long it has been since Now competed, you'd have to ask Mark Lefler about that. I've not competed in recent WCCC events either, although I compete in online events all the time...
My mistake.
BB+, seems to be someone who aims for fairness.
Because of his involvement in this issue over a long time, I still wonder if his judgement could have been colored by his opinions.
Why not ask him directly rather than speculating?


(2) what does the size of the binary have to do with it? add "static int x[1000000] = {0, 0, ...}; and you get a 4mb + binary instantly because of the compile-time static initialization. Does that mean anything? Rybka was rotated bitboards, extracted from Crafty. There are _large_ arrays used there. Fruit did not have those large arrays. So size doesn't mean a thing.
My point was that a teeny tiny portion of the source code base may match as a percentage. Does this matter? I don't have any idea but it might. Do you know the law? I'm not a lawyer.
Further, I guess that the 4 MB is not mostly populated with zero. No, wait a minute, I know because I have disassembled Rybka myself.
It is certainly populated with large arrays that are statically initialized. Or it might include Eugene's EGTB code which is _huge_ thanks to the templates. Nobody has contested egtb.cpp usage since many use it, so that was not a part of the investigation at all. Size doesn't matter. Percentages do not matter. If someone copies 200 lines of Crafty's eval, and puts it into a million-line evaluation, the evaluation is still illegal according to ICGA rules. Percentages don't count here, there is no "magic threshold".
There is such a thing as 'Fair use'
Vas has given credit to both crafty and fruit in his documentation.
Now, I have no idea if fair use applies. Do you?
Absolutely not. The ICGA rules are explicit. The program must be original, not containing parts of other programs unless those authors are listed on the entry form (and then those authors could not enter their own program, much like the Fruit/Toga issue where only one is allowed in an ICGA event).


(3) Mark didn't find Vas guilty. David and the ICGA board did. Mark just presented evidence, along with the rest of us.
Mark, a competitor of Vas, decided on a tool to find Vas guilty. The other competitors thought it was a neat idea. Does it occur to you that there is some slight possibility that your judgement could be clouded by the competitive nature of these contests?

First, the statistical analysis you are talking about (similarity between rybka 2.3.2 and fruit 2.1) was written by Mark _Watkins_. Who is most certainly a different person from Mark _Lefler_.

Second, you did notice that there was a ton of _other_ types of evidence produced, in _addition_ to the statistical analysis of the eval similarities? People go to prison from a pile of circumstantial evidence, at times. Each individual piece of evidence could be criticized, but the entire body of the evidence paints a clear (and ugly) picture...
I think that the mathematicians employed in the study should not have been persons involved in the disassembly, etc. since opinions were possibly already formed about guilt and/or innocense. Isn't it just slightly possible that his opinions might slightly lean him to form a mathematical process that would confirm what he has been saying for months?
I do not know that his opinions were colored by his feelings.
I don't know why such speculation is even necessary. If that kind of prejudicial behaviour crept into the process, Vas can take this to civil court. Perhaps that will be the ultimate test. He would not dare do such unless he was on solid footing. But he definitely is not.

I have heard a rumor that it is so competitive that people are willing to destroy the reputation of another man for life and over what? Moveing little wooden horsies around on cardboard squares.
I have not heard that rumor. I have heard the rumor that some are so arrogant, and have such a poor sense of moral/ethical values, that they are willing to take any short-cut possible to produce a program that is the best in the world, so that they are recognized. Ever heard of such nonsense? oops, it happened several times, in fact, I don't think I need to name names.
Yes, Vas may have enganged in wrongdoing.
That does not mean that it is OK to use wrong methods to convict him of it.
(4) Vas could have contested that comparison had he wanted to. He could have contested everything. But I am certain that he knew the truth and felt that the quicker this was over, the quicker it would be forgotten. So he elected to remain silent since anything he said could be used against him.
To go into a setting where there are no rules in writing and where the rules are invented by the opposition seems questionable to me. Perhaps it seemed questionable to Vas. Maybe he really was guilty and was afraid of the result. That too, is a possibility.
It is a near-certainty. I was investigated in 1986 at the request of Hans Berliner. I made all my source available. I asked Cray to provide computer time so that David, Tony, Ken T. and group could test the positions that Berliner thought that CB would not play the move actually played in the game. I provided large raw log files created game by game (just like Crafty's logs of today). The only questions that were left were that it appeared that once or twice we did not enter HiTech's move as soon as it was made. In trying to reconstruct events, we figured out via discussion that at least one of those cases was where we had both made a simultaneous bathroom break after playing for about 6 hours non-stop. We were open. We answered every question. We provided anything the ICCA (at the time ICCA, not ICGA) asked for. And we were found to be completely innocent of any wrong-doing.

Vas _could_ have done that. I found the process to be painless, we all followed the rules about providing source and logs, and such. And the correct verdict was rendered.

Vas did _not_ cooperate. Very similarly to a case a few years ago where a program was summarily ejected from the WCCC because the author failed to provide the source after a protest was filed. Sound similar???
I recall the Loop case. I suppose that there are some similarities. I have also exposed several engines that I suspected of cheating. So, in some sense, I have engaged in a process with some similarities to the current process that I object to. I am not sure that I did the right thing, but I somehow see things a bit differently, due to the weight of the outcomes.
If the experiment is run without any controls, then what have we really shown?
To my way of thinking, it would also be a good idea to perform the following exercise:
A. Take a strong open source program and copy it.
B. Make a bunch of changes and form a binary.
C. Study the program and use the algorithms in a new program.
D. Compare the results of the tool for case B and C
I doubt if anybody wants to put the work in to do this, but it seems a good way to model the problem and test the results of analysis.
3. The prosecution was formed by asking "Hey, anybody who wants to throw stones at Vas, gather over here in the barn."
Imagine if a jury were formed in that manner.
Juries are pretty much formed in that manner. Random sample of the population. The ICGA "jury" was not out to crucify Vas, they were out to answer a complaint. The prosecutor does pretty well go around looking for people that can impeach the defendant's credibility, provide evidence to support a guilty verdict, etc. Again, we were _not_ the "finders of fact" (the jury). We were "the presenters of evidence".
A jury of peers is not formed by putting an ad in the newspaper "Who would like to prosecute Joe?"
They are chosen at random. Many of the jurors clearly had an axe to grind. You, for instance, have been saying that Vas is guilty in this forum and in OpenChess. In a jury selection, you would have been dismissed instantly. I do not know about the others, but I have heard Vas being convicted in posts by chess programmers for months.
4. Look into your own source code at the following:
A. PVS search
B. Null move reductions
C. LMR reductions
Now, do these look a whole lot like those found in some other programs? If so, why are you not prosecuting yourself? If it is OK, then where is the line to draw in the sand that says "This amount of similarity is OK, but this amount is cheating"?
You keep harping on ideas, which is not what we are talking about. Look at how LMR is implemented in Crafty. In Fruit. In stockfish. In Robo*. Compare the _implementations_. They are wildly different. yet in Rybka, we have _identical_ blocks of code. Large identical blocks. I don't get why you keep harping on ideas, when everyone knows we are comparing source code explicitly.

Because you are still stuck on ideas. Which is different from _identical source code_. Extremely _different_. The idea argument is bogus, because it has not been mentioned once in the report we wrote, nor in the ICGAs verdict. This was about copying source code. nothing more. Nothing less.

We are not talking about "similarity". We are talking about copied source code.
If there were changes to the code, then it was only similar. How does one judge between code that was copied and subsequently changed verses code that was written from memory after studying a subject?

All that having been said, I think it likely that Vas was guilty of some wrongdoing.

It's just that the process appears to be the worst sort of kangaroo court I can possibly imagine.

Illustration:
President Obama has found Chrysler guilty of patent infringement.
His requested advisers and got some from Ford, Mitsubishi, Peugeot, Fiat, Mercedes Benz, Honda, and Kia motors.

The chief engineers at Fiat devised a test to show that Chrysler has broken the law and all of the manufacturers voted unanimously that Chrysler was guilty. After some deliberation, Obama had no choice but to find Chrysler guilty.
Wrong. Chrysler would defend itself. Vas did not. Big difference.
Would Chrysler defend itself in this setting, or would it choose an actual court of law with rules set down in writing rather than invented by the opposing factions?

We do not know that Vas will not have a response.
This will never see a court of Law. It is a purely civil matter that could be handled in civil court. But only after the ICGA ruled. It was utterly stupid if his plan was to wait until the ICGA ruled, and then contest the result in civil court. First, he will lose again, and it will not be cheap either. Second, he has to deal with the "cheater label" for the year (or years) it takes the appeal to reach the civil courtroom. That makes no sense. You have to start early if you want to defend yourself.
I thought that copyright violation was a criminal offense, my mistake then.
This was not about "copyright violation" this was about ICGA rule violations ONLY. FSF may well wade in about the GPL/copyright issues if they so choose. That's not something I am interested in at all for the Crafty code that was copied...

Again, to be clear, this was an investigation to see if Vas broke ICGA rules of participation for its WCCC tournaments. nothing more. No GPL issues. No copyright issues. Just ICGA rules. And that is _all_ that the ICGA ruled on, that he violated the rules and the titles he won were vacated.