World's Best Chess Engine Outlawed and Disqualified
An anonymous reader writes "Rybka, the winner of the last four World Computer Chess Championships, has been found guilty by a panel of 34 chess engine programmers of plagiarizing two open-source chess engines: Crafty and Fruit. The governing body of the WCCC, the International Computer Games Association, is even demanding that Rybka's author — the international chess master and MIT graduate Vasik Rajlich — returns the trophies and prize money that he fraudulently won. Rybka will no longer be allowed to compete in the World Championships, and the ICGA is asking other tournaments around the world to do the same."
If he was just ripping off two other engines, why did his win?
Sounds like he at least made improvements to them, and isn't that what open source is supposed to be all about? In fact, the article even acknowledges "ICGA isn’t even disqualifying Rybka because it copies Fruit — rather, it’s simply upset that Rajlich claims his engine is original, and refuses to give credit where it’s due." Okay, so maybe he should have given the other coders credit, but why should that disqualify him from winning? He still won. He didn't cheat. He didn't steal the code from the other engines (it was open source). His biggest offense is denying the other coders credit.
I think he should have to share the prize with the other coders (since they contributed code to the final product). But it still doesn't take away from the fact that his fork won. It doesn't justify taking away the win, as if he had cheated. His engine is still the best, open source code and all.
And, nothing against FOSS, but why on earth would you even release code designed for competition as open source, BTW? Aren't you essentially unzipping your fly and telling you competitors all your secrets? Couldn't releasing the source code wait until after the software was "retired" from competition?
SJW: Someone who has run out of real oppression, and has to fake it.
Taking credit for others work is just part of the job!
No Rybka, but Houdini:
http://www.cruxis.com/chess/houdini.htm
Rybka/Houdini played a 40-game match recently, and Houdini won by a wide margin of 23.5-16.5. You can see the match here:
http://livechess.chessdom.com/site/ (Check for TCEC S1 Elite Match)
If the author still claims his software is original, he should release the source code to the panel under an NDA strictly for the purposes of evaluation.
It's better to vote for what you want and not get it than to vote for what you don't want and get it.
- E. Debs
Now that it isn't distracted by chess this poor little computer will have nothing else to do except plot its revenge against man.
What is relevant is whether or not he had permission to use that code, which he obviously did not.
The correct course of action is erasure, following by enlightenment retraining.
When the foot seeks the place of the head, the line is crossed. Know your place. Keep your place. Be a shoe.
This doesn't really hold up. Yes, Rajlich is trying to sell his software, so he can't open-source it to the world. But to exonerate himself he doesn't have to release the source-code to the world; he simply needs to arrange for the source code to be shown to the expert panel. As long as they can both confirm that: (1) the provided source compiles to the binary used in competition, and (2) there is no substantial overlap between the provided source and other known codebases, then he's in the clear. The expert panel doesn't have to retain copies of the source code beyond the review period (all copies could be destroyed).
So, really, it should be possible for Rajlich to demonstrate the originality of his code without releasing it or decreasing his commercial opportunities. The fact that he hasn't done this is strange. In that sense, it sounds to me like the ICGA made the right decision here.
It's the Turk all over again! Will these chess computer scandals never end?!
When someone says, "Any fool can see
Since Rybka's source was not released, let alone compared, they sure seem sure of their conclusions.
Also, the article states that they "unfairly cheated" but, aside from not disclosing the alleged plagiarized work, why is that "unfair". Or is the use of the open source codes considered "unfair".
Many people choose not to disclose their inventions and keep them a trade secret. This is done for a good reason. Disclosure, even under an NDA, doesn't guarantee it won't get disclosed to those you don't want to disclose it to.
In this case we have a panel of 34 programming chess players. Would you want anyone of that group to see your code if you want to keep it away from programming, chess-playing people?
Crafty is not open source software, though its license has similarities to an open source software license. Crafty is for "personal use only", which means that it fails the Open Source Definition criteria "No Discrimination Against Fields of Endeavor".
Crafty's main.c file says: "All rights reserved. No part of this program may be reproduced in any form or by any means, for other than your personal use, without the express written permission of the authors. This program may not be used in whole, nor in part, to enter any computer chess competition without written permission from the authors. Such permission will include the requirement that the program be entered under the name "Crafty" so that the program's ancestry will be known."
Fruit up to 2.1 is open source software (GPL)
- David A. Wheeler (see my Secure Programming HOWTO)
Checkmate?
Oops, my brain mashed up the two likely ripped off engines in to one. Crafty and Fruit, not Fruity.
I used to get high on life, but I developed a tolerance. Now I need something stronger.
Comment removed based on user account deletion
The article makes the bold claim that "IBM's Deep Blue cheated to beat Garry Kasparov" the link they give mentions merely that Kasparov made such an accusation, and that the accusation was repeated in a documentary. On what basis did he make such a claim?
Maybe chess-playing people just don't like losing to computers. After all, the article mentioned by the OP states that:
As if it were a fact. Was this ever found to be the case? I thought it was only alleged by Kasparov and never proven.
Since the 34-person panel of chess-playing programmers never saw the source code to Rybka, yet still concluded that different versions were plagiarizer different open source codes, maybe the chess-playing community is a bunch of whining losers?
An interesting note is that the article doesn't state if any of the 34-person panel of chess-playing programmers contributed code to any of the allegedly plagiarized codes. There may be a conflict of interest here.
What if someone made it financially tenable for him to show his code?
"Oh. You did in fact innovate. Okay, we're sorry. But we won't take back the reputation tsunami we unleashed on you."
Anyone see parallels with the whole DHS theme of accuse first and question later?
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
First, there is the question of if he is falsely claiming credit. Second, is whether or not his is the best.
While there are nearly infinite moves in chess, there are not infinite ways of winning at chess. Last I heard, most systems use a scoring system to evaluate moves. And based on a final score tally, they make a decision. This is the "evidence" they have. But I would submit this to a group of non-chess playing programmers (who are unbiased as to who plays chess better).
Submitting the Fruit engine as the test base, compare it to the same unseen code of all programs, and let the programmers decide if ANY are copies of Fruit. Then, remove the blindfold and see if the one they all picked unanimously was Rybka.
If it can't pass a blind test, then the results have real credibility. Otherwise, yes, this is a witch hunt. The "found guilty by a panel of 34 chess engine programmers" sounds dubious. It doesn't take a "chess engine programmer" to find plagiarized code, it takes a master programmer. Knowing anything about chess engines is really just extraneous. It's not like they exist in a vacuum.
I8-D
"Your [chess program] is both good and original; but the parts that are good are not original, and the parts that are original are not good."
Welcome to the Panopticon. Used to be a prison, now it's your home.
This explains it, but without an exact source:
http://blog.chess.com/clizaw/did-ibm-cheat-kasparov
He didn't even do that, he combined two separate opensource engine making one better engine.
According to the allegations, he did not combine two open-source programs into a super-bot. They claim that the current version of his bot (Rybka) is a copy of Fruit, and an earlier version of his software was a copy of Crafty.
As you said, he closed-sourced them and claimed them as his own without giving attribution -- thereby breaking the software licenses of at least one of them (Fruit), which is GPL.
is hardly "outlawing." It is more like the Lucha Libre Federation banning a wrestler. LOL
He should just disassemble the entire executable, then show the hundreds of pages disassembled code to the panel.
"Damn right! I wrote the whole thing in uncommented, obfuscated assembler! Got a problem with that?
Case dismissed.
Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
Crafty is not open source software, though its license has similarities to an open source software license.
Crafty is for "personal use only", which means that it fails the Open Source Definition criteria "No Discrimination Against Fields of Endeavor".
Crafty's main.c file says: "All rights reserved. No part of this program may be reproduced in any form or by any means, for other than your personal use, without the express written permission of the authors. This program may not be used in whole, nor in part, to enter any computer chess competition without written permission from the authors. Such permission will include the requirement that the program be entered under the name "Crafty" so that the program's ancestry will be known."
Fruit up to 2.1 is open source software (GPL)
Welcome to the Crafty Chess page
Crafty 23.4 is now available. This release includes some code clean-up, a few bug fixes including a timing bug, and small strenght increase.
Crafty
Crafty is a free, open-source computer chess program developed by Dr. Robert M. Hyatt. Crafty is constantly being improved by a small team of contributors, including Dr. Hyatt. To learn more about Crafty, visit Dr. Hyatt's home page.
Really ?
Sad but true.
(BTW: That's a great film.)
I didn't realize he could program.
You can reverse engineer all you want. It's still speculation.
Show me the code.
Of course it's not possible that he trained his beta engine against crafty and his new engine against fruit. That would be impossible. A panel of jealous losers from the competition has no motive to oust him.
Houdini is rated higher than Rybka.
http://en.wikipedia.org/wiki/Chess_engine#Ratings
His point was that while it may claim to be open source, the usage restrictions in their license mean that their license would not be considered "open source" by the OSI. It doesn't really matter what the Crafty web page claims, what matters is what the license claims. (It doesn't make the license invalid, either -- it just makes it Not Open Source.)
Wow, I'm old enough to remember when the MCP was just a chess program!
What does it mean for the IPPOLIT and its derivatives, which were banned from most competitions and ratings after Rajlich accused them of being Rybka clones?
And now we even have a song that explains what Rybka did wrong, and how they can fix it.
http://www.youtube.com/watch?v=dPtH2KPuQbs
Why the hell do things like this bring out all the Slashdot loonies? You people could have read the article, but you don't even have to do that. canajin56 has done it for you. They didn't just compare some moves. They actually analysed the binaries. Their case is 100% watertight. The only parallel I see with the DHS is you and a bunch of other Slashdot posters accusing them of ignorance before you have even read anything about their report.
=~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
his dominoes have fallen like a house of cards.... Checkmate!
The Kruger Dunning explains most post on
because he is claiming that rather than lose to a machine, he lost to another human. Just how many human chess players out there are good enough to beat him?
Note: I have absolutely no position on this issue; I am not taking sides at all. My only question is how you can be certain that two programs are identical when you presumably don't necessarily know how each was compiled. Assuming all you have of rybka is a binary, but have the source to fruit, how could you be certain that you could get the code to compile in such a way as to produce identical assembly as disassembled rybka. Assuming a general standard IA32 machine, you still presumably have a lot of opportunities for variation in output from compiler to compiler, version to version, and even flags to flags.
I restate that I have no horse in this particular race; I've read of similar scenarios where a program was discovered to be a clone of another, and I've never understood how they can tell.
I read that article. What a joke.
His "evidence":
- He thought humans must have intervened in the middle of the game because the machine did something he didn't expect. But no actual evidence whatsoever was provided for this serious charge.
- He asked for the machine's logs, but IBM refused to provide them. If he wanted the logs, he should have made that part of the agreement beforehand. IBM probably withheld them at the time to preserve secrets on exactly how the machine worked, which could have given Kasparov an advantage IBM didn't want him to have.
- IBM changed the programming between games. Which the agreement allowed it to do.
- IBM "must" have cheated because it refused to do a rematch and immediately retired the machine. What did he think Deep Blue was? A product announcement? Of course it was a publicity stunt! IBM never pretended otherwise. Did he think Poughkeepsie was going to start rolling them off the assembly line and start selling the software on the internet? Of note here is that this was around the time the RS/6000 (now pSeries) product line began to take off, eventually eclipsing Sun. (pun not intended) So the machine did exactly what it was supposed to do there...
You can't prove much by "analysing binaries". It's a bullshit excuse to lynch someone who took all your prize money.
This happens every time someone takes existing OSS code and does something worthwhile with it. The community vilifies them.
Holy crap, Ken Thompson was on the panel. If that isn't proof enough that the analysis at the very least was overseen by someone who knew what they were doing, then I don't know what is.
Let's see, should we take the word of Ken Thompson (yes that one), who according to the fine article seems to have been on the investigative panel, or the word of a random slashdot troll? Duhhh...
Actually neither. We should Read The Fine Reports.
Beyond the plain expression of the program, there are lots if artifacts which come through from source to binary. Even if two progammers start in the same language to develop the same algorithm to solve the same problem they will normally end up with great differences. The exceptions are the stuff of legends, and we are talking about 20 line long assembly programs. One programmer will choose an integer because it's big enough, another a long because the variable will mostly be used with other longs. This choice will not be optimised out of existence.
Looking at the report, it seems they used various different artifacts and clearly showed similarity between the programs.
=~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
The rules are a bit different for OSS. You deny credit, you steal.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Chess engines have different components. Crafty and Fruit have their own licenses, which are not standard FLOSS. So ripping out the components Crafty does best with the components Fruit does best in violation of their copyright, and then closing it and having it proprietary - this is not rocket science, it's just disregard of licenses.
Riba, & friendly diminutive = Rybka... Polish & Russian are SO CLOSE (nouns same, verbiage differs) I can pick up on Russians speaking & know a good 80% of what they're talking about (the verbs in many cases are nearly the same also).
* In fact, I couldn't speak U.S. English till I was around 4 yrs. old since my family spoke Polish @ home until I was about 10 yrs. of age!
Then, that was around the time my little brother (now a Major in the Military) came into the world, & he doesn't speak of lick of either language - which is how I verify the "Changeover @ home to English" took place in fact!
(However, unlike myself - He has all the Arabic dialects down, Urdu & others etc.)
LMAO - I learned English, lol, by watching StarTrek, from my heroes, Capt. Kirk & Mr. Spock (back then @ least)!
APK
P.S.=> I got to "exercise both" languages above, last summer when I updated my passport & took off to travel Europe (Poland, Czech Republic, Russias & more)... was fun, but BOY, was I glad to be back in the Good Ole' U.S.A. though afterwards... there TRULY is "no place like home"!
... apk
1. Copy Fruit code? / Develop own code
2. Copy Crafty code? / Develop own code
3. Customise code / Develop own code
4. Enter tournament / Enter tournament
5. Win tournament / Identify Plagiarism!
6. Oh crap /
Black to play and mate in three.
whether or not he plagiarized, IT STILL beat the others computer players. In my head, that's what counts.
If seen_this_link_before = 1 then
Page_rank = page_rank +1
End if
There you go!
When what you are talking about is whether two optimised (so - unscrambled) programs calculate some complicated thing using the same formula - you have a fair chance.
I have read the report. They found a lot of arithmetically identical formulas used in two engines. Some of them were better optimised in Rybka, some of non-identical formulas were quite similar. And some of the exactly-matching formulas were unique for Fruit. No single point of evidence is watertight alone in the sense that it can be written off as unlikely coincidence, but the entire array of evidence is just too much for a simple coincidence.
The submitter should have linked to this article directly. It gives a lot more detail, and at the bottom links to the actual evidence (comparisons of disassemblies with Crafty and Fruit, the reports of the experts, and such).
Plagiarism. In chess. WTF are you talking about? Plain? Simple?
There is a reason plagiarism has never been illegal: it is incompatible with the notion of fairness or reality. It entirely depends on what is and is not common knowledge.
Because the phrase "common sense ain't so common" could just as easily be "common knowledge ain't so common". Which is to say anyone who claims something is or is not common is full of shit 9 times out of 10, this is not realized until long after the fact, and society would plain break down if people's lives' depended on the 1. Am I making sense to you?
What if a similar algorithm is used but the code is different?
What if an identical algorithm is used but the code is different?
What if the open source code were reverse engineered with different code?
What if.....
Also, what if the ICGA, WCCC, or any other chess found a better way to resolve this. There is a conflict of interest here.
Universal Studios?
Disproof by counterexample.
1. c4, leading to the English opening, is a perfectly valid move.
However, openings are not played by engines, but rather stored in a database. Likewise, endgames are played using more or less fixed algorithms. It's complicated positions with lots of pieces and no forced winning combination that count.
WYSIWIG, but what you see might not be what you need