Rybka ban thoughts

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
bob
Posts: 20555
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Rybka ban thoughts

Post by bob » Thu Jun 30, 2011 4:08 am

Sarciness wrote:
wgarvin wrote:
At least half of the panel members have never competed against Rybka at the WCCC or a similar event.
"At least half" is simply not good enough. The other (neutral) jurors could easily be pressured and persuaded by even one juror with a personal bias. To have nearly have of the jury as competitors of the defendant is a farce!
We were NOT jurors. The "panel" developed the evidence, and sent it to the ICGA. The ICGA looked at the evidence, the complete lack of a response from Vas, and reached a verdict and a sentence. The panel's _only_ charge was to look at the Rybka versions and present any evidence we uncovered that suggested Rybka was not 100% original as Vas had claimed.

how hard is it to understand that? If you can't understand the process, then you really ought not comment on it either...

bob
Posts: 20555
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Rybka ban thoughts

Post by bob » Thu Jun 30, 2011 4:18 am

Sarciness wrote:What Dann says echoes my sentiments. Vas and Rybka may be guilty... maybe in the worst sense, but this "trial" is not fair at all.

64% similarity does not sound like "proof beyond reasonable doubt" to me, much less "absolute proof" as Robert Hyatt seems to claim.

Once again, first READ the report, before making comments. I won't explain where the 64% came from, but it was a comparison with Rybka 2.3.2 and Fruit if I recall correctly.

Go back (for starters) to the pre-beta versions of Rybka, that Vas also claimed were 100% original based on mtd(f). Pure bullsh**. Those versions were almost a complete copy of Crafty. Book code, option.c. search.c evaluate.c and so forth. He even copied known bugs and bogus code, line for line. That is _absolute proof_ that rybka 1.6.1 was not "100% original". Not even 25% original. Then we go on to Rybka 1.0 and show lots of _identical code_. The eval between fruit and Rybka can not be identical since the board representations are not the same. But the evaluation components are there. with the same term values and such. And there is plenty of 100% matches between fruit and Rybka 1.

You have to first read the report, before posting comments that are wildly incorrect. There is absolutely no doubt that crafty and then fruit code was copied outright. The early bitboard code in rybka 1 beta and such is from Crafty. The search and eval from fruit were massaged to fit the bitboard framework, but were semantically unchanged. This is copying at its worst...



If this were a jury in a real trial they would be instantly dismissed becasue many of them have personal biases in regard to the defendant. This is a bullshit ruling which reflects badly on the ICGA. What they need is an independent and impartial analysis.
"if we were the jury." But we were not. We were the prosecutors, developing and presenting evidence. The defense chose to "plead the 5th" and not answer _anything_. The ICGA was judge and jury, and they are not active competitors.


Vas has not defended himself and should do so in my opinion. His silence seems more like disillusionment with the computer chess world or even a guilty concience than "taking the high ground".
He is probably concerned about the FSF next, since they too got a copy of the report...

bob
Posts: 20555
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Rybka ban thoughts

Post by bob » Thu Jun 30, 2011 4:22 am

Sven Schüle wrote:
bob wrote:
Dann Corbit wrote:
rbarreira wrote:I find it strange that your post doesn't contain the word "code" even once.
I do want to make it clear that I do not absolve Vas completely.

However, I think what has been done to him is disgraceful.
A murder is sentenced to death. Disgraceful? Someone swindles thousands of people of their retirements. They are sentenced to years of prison. Disgraceful?

The only things I see that merit "disgraceful" are (1) Vas copying code and then denying it over and over, even in the presence of absolute proof; (2) your (and others) acting like he is a scapegoat of some sort. He created this mess all by himself. He has no one else to blame but himself...
Bob,

mentioning a "murder" in this context is very disgraceful, too.

As to "copying code" and its "absolute proof", this is pure nonsense, an absolute proof is impossible without having the original source code of both sides. (I am talking about Fruit/Rybka only here.) What you must have meant is "strong evidence", the same as we only have in case of Ippo/Robbo and of Houdini. After reading the published ICGA material I would even rename it into "strong belief", nothing more. But since so many Rybka competitors and other programmers are convinced of the opposite it now appears almost impossible to discuss the topic any longer. The ICGA decision seems to be taken as something final, like a fundamental physical constant.

The Crafty/Rybka case is a different animal but I do not see the big relevance for the ICGA since the pre-beta Rybka did not compete in ICGA events.

Furthermore I fully agree to Dann's statements. The treatment of Vas has been highly unacceptable. "Disgraceful" is really the right word for it.

Sven
The rybka/crafty evidence is extremely important, because it _instantly_ impeaches the credibility of Vas, who has repeatedly claimed that the pre-rybka-1 commercial versions were 100% original and were based on mtd(f) among other things. All complete nonsense. They were near 100% copies of Crafty as I discovered by comparing code (as did others)...

Ditto for Rybka 1 beta / strelka / fruit.

sometimes you get caught, sometimes you don't. This time, he did.

bob
Posts: 20555
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Rybka ban thoughts

Post by bob » Thu Jun 30, 2011 4:24 am

Uri Blass wrote:
bob wrote:
Dann Corbit wrote:It appears to me that Vas has made some disappointing choices.

However, I suspect that every single person who has ever made a chess program has carefully examined someone else's source and read someone else's article and implemented their own version of it.

Maybe Vas's use was more extensive, but he has been given the death sentence for the same thing that every other chess programmer does.
That is simply, and utterly false. Every other programmer does NOT copy the source from someone else. This has never been about copying ideas, it has been about copying source code.

Simply put, it is necessary to use modern techniques like LMR, Null move, PVS search, etc. I guess further that not a single programmer here has invented all of his evaluation terms, but at least got ideas from other programmers, GMs, etc.
Key word: "ideas". Ideas != source code



An algorithm is not protected by copyright. If you read and understand an algorithm, you can make your own implementation of it. There is nothing wrong with that. I guess that nobody here really understands what that means, considering how people react. Do people really not understand what the definition of an algorithm is?

I also do not think that plagiarism has any bearing on the subject. Vas was not producing a published report, and he also did give credit to both Crafty and Fruit, stating that he had carefully studied them.
Not good enough. If you copy from another article, book, or etc, there is a precise citation rule that must be followed. Vas _explicitly_ stated that he copied _no_ code. And that statement was proven to be completely false.

It does seem to me that he did take excessive liberties, but still I think it is strange to talk about plagiarism for a chess engine binary. Plagiarism is an academic crime.
Simply read the ICGA tournament rules. The author must explicitly list the names of anyone that has source code in the program being entered. This was not done.


I really do not know for sure how much wrongdoing Vas has done, but I think to a large degree he was made a whipping boy for the same sins that all chess programmer commit.
You have made many statements in the past. The above goes to the _BOTTOM_ of the pile in terms of quality. "all chess programmers" do not copy the code of others. That statement is trivial to prove false. I am a chess programmer. I have not copied _any_ code from any other program. This is easy to verify. And it instantly disproves this "all chess programmers copy" nonsense...

Where is this coming from?

Vas created his own set of problems, by himself. The penalty could have been much lighter but he offered no justification for his actions, no circumstances that could be used to reduce the penalties, no nothing...



Shredder was not reverse engineered. Hiarcs was not reverse engineered, Junior was not reverse engineered. Because of Vas' ultimate success he was singled out. Was it petty jealousy?
You already know the answer to this. Vas started this process by claiming that Strelka was a reverse-engineered clone of Rybka. Since Strelka source was released, it was natural that someone would notice that it was quite similar to fruit. This wasn't a witch-hunt at all. It wasn't petty jealousy. It was stupidity.



My whole take on this can (of course) be completely wrong. But I feel deep disappointment on all sides of the argument.

IMO-YMMV
I do not think that Vas could avoid the investigation by not claiming that
Strelka was a reverse-engineered clone of Rybka

The fact that Strelka is a derivative of Rybka was obvious without looking at the code based on looking at the analysis of the chess engine and Vas had to explain why both strelka and Rybka gives almost the same output(I posted examples for it before the claim of Vas that strelka is based on reverse engineering of rybka).

My opinion is that saying nothing could not help him because the connection rybka-strelka was obvious even without his words.
Perhaps. Perhaps not. But that is when this started. It did not become "formal" until the complaint made to the ICGA earlier this year...

bob
Posts: 20555
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Rybka ban thoughts

Post by bob » Thu Jun 30, 2011 4:25 am

Chan Rasjid wrote:
Terry McCracken wrote:
Chan Rasjid wrote:
wgarvin wrote:
fern wrote:Ok, but then, how it is the result, so copied as you say, got so much superior perfomance?

F
No one is saying that Rybka is "just a clone" or something. Obviously Vas put a lot of effort into improving Rybka, and most of it is probably original code.

The problem for the ICGA is that to enter those tournaments, you have to affirm that all of it is your original code. And Vas did claim that, even though it wasn't true. He had an unfair advantage over the other competitors who legitimately wrote their own eval.
May I have your permission to differ (with a pinch of salt).

Vasik Rajlich is shrewd, sharp and smart - smarter than the rest of the pack. As he said, he went through the codes of Fruit forward and backward many times. He probably realised what made Fruit ticks and he clearly mentioned in a post that he was surprised that it was so easy for Fruit to be that strong and he clearly mentioned that he understood all of the code of Fruit. He probably sensed what it takes to make a top class program ELO wise. His competitors could not see what what he saw and they thought they were smarter than that and pursued different ways with different evaluations to that of Fruit - they simply failed and failed to catch up with Vasik who alone held the key as to how to gain ELO and left the pack far behind. So the pack later cover up their failures by saying "I don't want to copy ... clone ... whatever."

IMNSHO.
Rasjid.

You really believe that or are you forming a Rat Pact?

The point is he did more than go through the code, he directly copied and pasted large blocks of it into Rybka 1.0 Beta. That's a fact. Not so smart.
You really believe that!

You do not read English, do you?

Did you not read what Wylie wrote just few posts up?

Rasjid.
You mean the part where he mentioned that Vas broke the ICGA rules, _and_ made false statements? How does that reference help your case??? :)

Terry McCracken
Posts: 15844
Joined: Wed Aug 01, 2007 2:16 am
Location: Canada

Re: Rybka ban thoughts

Post by Terry McCracken » Thu Jun 30, 2011 4:46 am

bob wrote:
Chan Rasjid wrote:
Terry McCracken wrote:
Chan Rasjid wrote:
wgarvin wrote:
fern wrote:Ok, but then, how it is the result, so copied as you say, got so much superior perfomance?

F
No one is saying that Rybka is "just a clone" or something. Obviously Vas put a lot of effort into improving Rybka, and most of it is probably original code.

The problem for the ICGA is that to enter those tournaments, you have to affirm that all of it is your original code. And Vas did claim that, even though it wasn't true. He had an unfair advantage over the other competitors who legitimately wrote their own eval.
May I have your permission to differ (with a pinch of salt).

Vasik Rajlich is shrewd, sharp and smart - smarter than the rest of the pack. As he said, he went through the codes of Fruit forward and backward many times. He probably realised what made Fruit ticks and he clearly mentioned in a post that he was surprised that it was so easy for Fruit to be that strong and he clearly mentioned that he understood all of the code of Fruit. He probably sensed what it takes to make a top class program ELO wise. His competitors could not see what what he saw and they thought they were smarter than that and pursued different ways with different evaluations to that of Fruit - they simply failed and failed to catch up with Vasik who alone held the key as to how to gain ELO and left the pack far behind. So the pack later cover up their failures by saying "I don't want to copy ... clone ... whatever."

IMNSHO.
Rasjid.

You really believe that or are you forming a Rat Pact?

The point is he did more than go through the code, he directly copied and pasted large blocks of it into Rybka 1.0 Beta. That's a fact. Not so smart.
You really believe that!

You do not read English, do you?

Did you not read what Wylie wrote just few posts up?

Rasjid.
You mean the part where he mentioned that Vas broke the ICGA rules, _and_ made false statements? How does that reference help your case??? :)
And I'm the illiterate....... :lol: What truly stupid people.
Terry McCracken

Chan Rasjid
Posts: 567
Joined: Thu Mar 09, 2006 3:47 pm
Location: Singapore

Re: Rybka ban thoughts

Post by Chan Rasjid » Thu Jun 30, 2011 4:51 am

Anyway, Fruit 2.1's eval was a pretty close match with Rybka 1.0 Beta. Its one thing to borrow an idea or two and implement them in your own program. But its a very different thing to take the entire eval from Fruit 2.1, port it to a bitboard representation, and call it your own. That appears to be what Vas did.
...


I'm not actually claiming that he literally copy-and-pasted code from Fruit 2.1 into his program. Here is what I believe: I think he translated(TRANSLATED) it into bitboard format, and probably typed it in with his own naming conventions and style and so on. Regardless, the result is still "derived" from Fruit 2.1. It probably took him a day or two, maybe longer -- but if he had truly made an original eval from scratch, it would have probably taken months of experimentation and hard work to produce an eval of that quality. Instead, it looks as if Vas skipped all of that effort by just copying what Fabien had done. He then claimed it was his original work, and gave evasive answers when asked about the similarity.
Carry on, Professor.

Rasjid.
Don't believe when you're told "There's no free lunch!" There is Linux.

Terry McCracken
Posts: 15844
Joined: Wed Aug 01, 2007 2:16 am
Location: Canada

Re: Rybka ban thoughts

Post by Terry McCracken » Thu Jun 30, 2011 4:57 am

Chan Rasjid wrote:
Anyway, Fruit 2.1's eval was a pretty close match with Rybka 1.0 Beta. Its one thing to borrow an idea or two and implement them in your own program. But its a very different thing to take the entire eval from Fruit 2.1, port it to a bitboard representation, and call it your own. That appears to be what Vas did.
...


I'm not actually claiming that he literally copy-and-pasted code from Fruit 2.1 into his program. Here is what I believe: I think he translated(TRANSLATED) it into bitboard format, and probably typed it in with his own naming conventions and style and so on. Regardless, the result is still "derived" from Fruit 2.1. It probably took him a day or two, maybe longer -- but if he had truly made an original eval from scratch, it would have probably taken months of experimentation and hard work to produce an eval of that quality. Instead, it looks as if Vas skipped all of that effort by just copying what Fabien had done. He then claimed it was his original work, and gave evasive answers when asked about the similarity.
Carry on, Professor.

Rasjid.
Actually I didn't read it until now but basically he says pretty much what Bob and I said,

Some of the code was copied and pasted into Rybka 1.0, later it was rewritten. So what? You haven't a point.
Terry McCracken

Uri Blass
Posts: 8586
Joined: Wed Mar 08, 2006 11:37 pm
Location: Tel-Aviv Israel

Re: Rybka ban thoughts

Post by Uri Blass » Thu Jun 30, 2011 7:04 am

bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:
rbarreira wrote:I find it strange that your post doesn't contain the word "code" even once.
All of the code used to commit Vas is from reverse engineering.

Have you seen the post I made some time ago that showed two completely different code bases in C produced identical assembly (even the control structures were different).

Vas has been convicted of stealing code in a court made up of his opponents. There is literally no Rybka code available.

From assembly, the only thing that can be demonstrated is the algorithm similarity. I recall that 64% similarity was a quoted figure somewhere.
Your example was no good. Why? Because if you want to construct such an example, it is not that hard to do. But the question is, does it happen _naturally_? The answer is no. There is a ton of academic research on plagiarism detection that discusses this issue to death...

64% makes no sense to me. The parts that I examined were 100% matches. Not close. Not approximate. Identical.
Clearly though, the code cannot be identical because the binary is 4MB in size and 300 Elo stronger than its opponents when it was released.

Some things must be identical (e.g. strcpy).

The process of having his opposition decide against him does not sit well with me. What sort of justice is that?
You _really_ make light of what happened. It was not "strcpy()" as you mention. Pick a version. Rybka 1? Fruit eval top to bottom with very little added.
I do not agree that Rybka1 is Fruit eval top to bottom with very little added.

Rybka1 has not some endgame knowledge that Fruit has
Rybka1 has material imbalance table that fruit does not have.
Rybka1 has different weights for endgame evaluation and middlegame
evaluation.

I also think that in order to have fruit's evaluation in a bitboard program you cannot use simply copy and paste because the structure is different.

I guess that Vas simply translated part of fruit's evaluation to bitboard(not including some endgame knowledge) and made some changes.

Hood
Posts: 652
Joined: Mon Feb 08, 2010 11:52 am
Location: Polska, Warszawa

Re: Rybka ban thoughts

Post by Hood » Thu Jun 30, 2011 10:16 am

Have you sent your opinion to ICGA ?
Polish National tragedy in Smoleńsk. President and all delegation murdered or killed.
Cui bono ?

There are not bugs free programs.
There are programs with undiscovered bugs.




Ashes to ashes dust to dust. Alleluia.

Post Reply