Forgot your password?
typodupeerror
AI Open Source Software Games

World's Best Chess Engine Outlawed and Disqualified 315

Posted by samzenpus
from the cheaters-never-win-more-than-4-times dept.
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."
This discussion has been archived. No new comments can be posted.

World's Best Chess Engine Outlawed and Disqualified

Comments Filter:
  • by elrous0 (869638) * on Wednesday June 29, 2011 @03:10PM (#36614270)

    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?

    • by h4rr4r (612664) on Wednesday June 29, 2011 @03:13PM (#36614298)

      Because he committed plagiarism, plain and simple.

      • by cultiv8 (1660093) on Wednesday June 29, 2011 @03:22PM (#36614376) Homepage

        Unfortunately, Rybka’s source code has never been available, so reverse engineering and straight-up move-evaluation comparison was used to analyze the originality of Rajlich’s chess engine.

        I don't see how anyone can claim plagiarism if they haven't seen source code.

        • by devnull17 (592326) * on Wednesday June 29, 2011 @03:27PM (#36614428) Homepage Journal
          The same way that Google caught Bing ripping off search results a while ago: find some idiosyncratic behaviors (e.g. bugs) that serve no practical purpose and are highly unlikely to end up in two independent projects, and demonstrate the same weirdness in each.
        • by Moryath (553296) on Wednesday June 29, 2011 @03:38PM (#36614548)

          FTFA:

          To come to this rather epic and libelous conclusion, the ICGA assembled a 34-person panel of programmers who have competed in past championships to analyze Rybka. Unfortunately, Rybka’s source code has never been available, so reverse engineering and straight-up move-evaluation comparison was used to analyze the originality of Rajlich’s chess engine. The panel unanimously agreed that newer versions of Rybka are based on Fruit — and worse, that the early beta versions were based on Crafty, another open-source chess engine.

          So in other words:
          - They empaneled as the "jury" a bunch of assholes who were predisposed to want Rajlich banned from competition (he kept beating them, four competitions in a row).
          - They based their decision on "move evaluation", a decidedly touchy subject given that in any Chess situation, it should be theoretically possible to find an optimal move and the more optimal the engines, the more optimal moves they'll make.

          So, people with a motive to try to force Rajlich into a no-win situation got a chance to... hey look, a no-win situation!

          It’s a tricky situation, though: with Rybka now outlawed from the WCCC, and with the ICGA asking other tournaments to block its entry, the only real way Rajlich and the rest of the Rybka team can clear their names is to show their source code — a financially untenable move. In short, Rybka is stuck between a rock and a hard place.

          ICGA fucked up royally. What they SHOULD have done is demanded a closed-doors, clean-room evaluation of the Rybka source code. Instead, they're playing the "burn him at the stake" card, banning him from ever competing again and demanding he "come clean" when for all they know, his source is original and just plays better chess than the other, also-highly-optimized (and likely to make the same "optimal moves" on basic chess theory for the most part) competitors.

          • Re:Come Clean (Score:4, Insightful)

            by TaoPhoenix (980487) <TaoPhoenix@yahoo.com> on Wednesday June 29, 2011 @03:46PM (#36614652) Journal

            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?

          • by hattig (47930) on Wednesday June 29, 2011 @03:46PM (#36614660) Journal

            Or he can get a lawyer and sue them for defamation and/or libel if what they are claiming isn't true. If it isn't, I am sure that he is already talking to a lawyer if there is no basis in the claim.

          • - They empaneled as the "jury" a bunch of assholes
            Ad hom

            who were predisposed to want Rajlich banned from competition (he kept beating them, four competitions in a row).
            I know a lot of competitors and they don't want people who beat them banned.
            Idle speculation and ad homs help nothing.

            "except it's not a financially tenable move."

            They could get a third party to analyze and compare.
            And there are striking similarities in behavior.
            Also, why are you overlooking the fact that they reverse engineered it and found similarities?

            "and likely to make the same "optimal moves" on basic chess theory for the most part"
            by your argument, opening moves in chess would have been the same for hundreds of years.

            • by postbigbang (761081) on Wednesday June 29, 2011 @04:07PM (#36614936)

              Similarities alone don't mean plaigarism. Logic can be gleaned from open source code, then applied to other code, perhaps engines. So long as copyright isn't violated, and licensing strictures aren't violated, reading someone's code, understanding the logic, then re-writing it is a hallowed action. For arguments supporting this, go to Groklaw, understand what BSD is (or read about the AT&T-Regents of UCB litigation), and so forth. Ask RMS.

              Logic and code might or might not be two different things. He might be inviolation of copyright law and the strictures of the license of the two programs in question. And he might not. Until you know, you don't. If he rewrote the logic, then an apology is in order. If he stole the code (e.g. copyright or license abbrogation) then he's in trouble.

            • by Moryath (553296) on Wednesday June 29, 2011 @04:10PM (#36614978)

              First off: would it kill you to learn some basic HTML? Hard to separate out your comments when you're too lame to even italicize.

              I know a lot of competitors and they don't want people who beat them banned.
              Idle speculation and ad homs help nothing.

              Empanel the losers from the competition on a witch hunt against the winner. Sounds like a dick move to me. Definitely doesn't pass the smell test.

              They could get a third party to analyze and compare.

              Why, precisely, should the Rybka team have to pay for that? It's the ICGA that should have been the ones doing this. FIRST.

              And there are striking similarities in behavior.

              You can walk into any chess tournament and see "striking similarities in behavior" between members of the same chess club/team, or between players of equal skill. Chess is a logical game, relying on logical formulations. Eventually, like Checkers and Othello were, it'll be solved. The closer the programs get to solving it, the more moves alike they'll make. "Similarities in behavior" of mathematical problem-solving prove nothing. If anything, the fact that his program beat - rather than drew to - the other programs ought to prove that he was NOT using their source code.

              by your argument, opening moves in chess would have been the same for hundreds of years.

              Funny you should mention that.
              There are a grand total of 10 logical chess opening moves (8 pawns, 2 knights). Opening with knights has been derided as downright silly for centuries; the only "variation" there comes when it's immediately followed by a pawn push alongside, putting it back into "standard" opening land of a Kingside or Queenside gambit. Openings that begin with the A,H,B,G pawns are rightly derided as virtually useless. Even opening with the C and F pawns is viewed as akin to suicide, since it allows the opponent to open straight into the middle virtually uncontested.

              Queen's Gambit openings, of various sorts, have dominated the arena since the early 1400's. The Italian opening was the favorite kingside method for over 300 years, until the Ruy Lopez opening passed it up in popularity. The entirety of "Black Openings" in modern chess for the past 500 years have been attempts to devise responses to these three methods of attack.

              So now that I've given you a lesson, run back to your checkers board. The grownups are discussing things.

              • by h4rr4r (612664) on Wednesday June 29, 2011 @05:16PM (#36615938)

                As someone who is no chess master but can count, you are wrong. Those horsies move in Ls and each one has two possible Ls he could move into . Plus the pawns can move one spot or two spots. So that is 8 more moves. Up to 20 already. There might be more, but I am too busy playing Go to count.

          • by canajin56 (660655) on Wednesday June 29, 2011 @04:10PM (#36614974)
            Read the fucking report. An analysis of the binary code revealed 60% similarity. So about 60% of the binary was completely identical. Most of the evaluation functions which are unique to Fruit (AKA not done in other algorithms) were mostly identical, usually with only some constants changed. These are functions that not only are unique in their purpose to those in Fruit, but which have the exact same binary code, the same local variables, declared in the same order. That much duplication is absolutely beyond the pale. In earlier versions of Rybka, they found that obsolete functions from the Crafty codebase were in there. So, you are claiming that not only did he magically duplicate most of the functions, he even had the same useless functions just sitting there not being called. And the exact same unit tests for those unused functions. So, there is a long history of blatant copy and pasting, some of it even completely mindless (copying unused functions). Additionally, he was offered the chance to be on the panel and offer his own input without having to release his sourcecode. He refused to respond whatsoever in his own defense.
    • by Joe_Dragon (2206452) on Wednesday June 29, 2011 @03:14PM (#36614300)

      Taking credit for others work is just part of the job!

    • by Missing.Matter (1845576) on Wednesday June 29, 2011 @03:17PM (#36614348)

      His biggest offense is denying the other coders credit.

      Isn't that enough?

    • by Un pobre guey (593801) on Wednesday June 29, 2011 @03:18PM (#36614358) Homepage
      He didn't steal the code from the other engines (it was open source).

      If he refused to disclose that he used open source code then he most likely violated the terms of the open source license and therefore did indeed cheat. Open Source [wikipedia.org] is not the same as Public Domain [wikipedia.org].
      • by pz (113803) on Wednesday June 29, 2011 @03:33PM (#36614498) Journal

        Going to the Rybka web site www.rybkachess.com there does not seem to be a way to download the source code, which would be required for releases under the GPL, assuming there is validity to the claim that he's copied other open source efforts.

      • by mcmonkey (96054) on Wednesday June 29, 2011 @03:50PM (#36614708) Homepage

        Is it in the rules of these competitions that entries shall conform to the terms of software licenses?

        If so, ban the cheater. (After establishing his code does in fact incorporate code from other sources and that he has violated the terms of the license on that code.)

        If not, sounds like the situation Moryath described above. He was too good, so a few spoiled brats are taking their chess sets and going home.

        • by Registered Coward v2 (447531) on Wednesday June 29, 2011 @04:03PM (#36614874)

          Is it in the rules of these competitions that entries shall conform to the terms of software licenses?

          If so, ban the cheater. (After establishing his code does in fact incorporate code from other sources and that he has violated the terms of the license on that code.)

          If not, sounds like the situation Moryath described above. He was too good, so a few spoiled brats are taking their chess sets and going home.

          Except of course he could comply with the OS license (assuming it's GPL'd) without any acknowledgment as long as he doesn't distribute it.

          So I agree with you, unless the rules stipulated 100% original code, what's the issue other than he was better at refining code than the others who had eh same code available?

      • by PopeRatzo (965947) * on Wednesday June 29, 2011 @03:52PM (#36614732) Homepage Journal

        If he refused to disclose that he used open source code then he most likely violated the terms of the open source license

        So, is the International Computer Games Association an organization to promote OSS?

        And is the World Computer Chess Championship about finding the most powerful chess computer or promoting open source software?

        I'm not familiar with either organization, so I'm not sure. I don't understand what "cheating" means in this particular case. If it was found that Viswanathan Anand had learned the Najdorf Variation of the Sicilian Defense (which he used to win the 2008 championship) from a magazine that he had copied illegally from a public library, would he be stripped of his title?

        Do the rules of the computer chess federations require that all EULAs are observed and that all licenses are strictly followed? Can a title be pulled due to a patent dispute? What if the EULA on the operating system is not strictly obeyed?

        "Cheating" is a very complicated concept when it comes to computer chess. I'm not sure if it can even apply, and I'm certainly not sure if a loser can claim that a winner cheated because he used his (obviously inferior) code.

        The only fair way to do it, it seems to me, would be to require everyone to use open source, free code. Nothing proprietary allowed.

      • by LoveMuscle (42428) on Wednesday June 29, 2011 @04:19PM (#36615086)

        Not necessarily, most Open Source Software (OSS) licenses (eg. GPLv2, EPL, etc.) only kick in on redistribution since you need the license to not be in violation of someone's copyright. You can USE all the OSS you want without complying with the license if you don't redistribute it. On top of that some OSS Licenses don't require that you disclose that there is OSS in your redistributable nor do they require you to provide source. (eg. 3-clause BSD).

        In this case however, he's clearly distributing the binaries. Fruit appears to be LGPLv2.1 and Crafty has some goofball custom pseudo-oss license that requires attribution. So if he did copy the code and redistribute he's not complying with the licenses and in violation of copyright law.

        I don't find it all that unusual that 2 different good chess programs might make similar decisions, and they don't have the source to compare so unless someone is going to sue and do discovery the claim of plagiarism is (IMO) premature.

        The courts exist to settle just these sorts of conflicts, and banning him on supposition is questionable.. IANAL....

    • by Benfea (1365845) on Wednesday June 29, 2011 @03:18PM (#36614360)
      What is relevant is whether or not he had permission to use that code, which he obviously did not.
    • by gubers33 (1302099) on Wednesday June 29, 2011 @03:21PM (#36614370)
      Same reason Reggie Bush had to give back his Heisman and USC had to give back their National Championship Trophy... politics.
    • by El_Muerte_TDS (592157) <elmuerteNO@SPAMdrunksnipers.com> on Wednesday June 29, 2011 @03:22PM (#36614382) Homepage

      Nothing wrong with reusing other people's work with permission. But claiming that you made it (i.e. plagiarizing) isn't.

      Also, Fruit 2.1 was released as GPL 2. Rybka is not, so it's a violation of copyright. And Crafty's license also doesn't permit the way Rybka used its source.

    • by Hatta (162192) on Wednesday June 29, 2011 @03:27PM (#36614432) Journal

      Copyright and plaigarism are two different things. Even if you expand upon and improve other peoples ideas, it's plaigarism if you do not credit them.

    • by ewanm89 (1052822) on Wednesday June 29, 2011 @03:28PM (#36614446) Homepage
      He didn't even do that, he combined two separate opensource engine making one better engine. As long as he follows the licence terms for the engines, there is nothing wrong with what was done. Now if the licence said there must be attribution then there is a problem.
    • by JustinOpinion (1246824) on Wednesday June 29, 2011 @03:33PM (#36614492)

      He didn't steal the code from the other engines (it was open source). His biggest offense is denying the other coders credit.

      Well, it seems that Fruit [fruitchess.com] is open-source in the sense that people can look at the codebase, but it is not FOSS. The license text (see, e.g. readme in this tarfile [fruitchess.com]) says:

      All right reserved. Fruit and PolyGlot may not be distributed as part of any software package, service or web site without prior written permission from the author.

      Indeed it looks like a commerical product that you are meant to pay for. Rajlich's engine is closed-source and also commercial [rybkachess.com]. He is not making his code available, so even if Fruit were, say, released under the GPL, he would be in violation of the license. But in fact Fruit is "all rights reserved" so if Rajlich took code from it then he is blatantly violating copyright, and thus breaking the law.

      I would think that the competition has a blanket ethics rule that says that you cannot win by breaking the law. So Rajlich, if he did indeed appropriate code, doesn't deserve the wins. (Yes, he obviously did ~something~ to improve upon Fruit, but he still cheated.)

    • Many competitions have rules regarding dishonorable behavior. If he did use substantial amounts of open-source code without crediting the original authors as seems to be the case, that would be plainly dishonorable and thus grounds for disqualification.

      As for the open source aspect, in this case a quick skim of the Fruity site seems to indicate (it's not very clearly worded) that it was initially open source during development and then went to a closed/commercial model after it had some wins under its belt. This makes sense to me if the developer started working on it as more of a personal challenge rather than for competition and then just ended up being good in competition.

      On the point of telling your competitors your secrets, arguably Chrome and Firefox are competitors yet they're both fully open. If you're open source, your competitors may learn a trick or two from you but they might implement it in a completely different way. This may be better or worse. If they made different fundamental design decisions, they might not be able to make use of anything you did directly. If your main goal is to push the field forward and winning competitions is just a bonus, who cares if your competitors can see your code?

    • by arth1 (260657) on Wednesday June 29, 2011 @03:49PM (#36614700) Homepage Journal

      Sounds like he at least made improvements to them, and isn't that what open source is supposed to be all about?

      Having open source also helps.
      This guy has closed the source and sells the compiled result.

    • by Kamiza Ikioi (893310) on Wednesday June 29, 2011 @03:52PM (#36614726) Homepage

      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.

      • by Skuto (171945) on Wednesday June 29, 2011 @04:10PM (#36614982) Homepage

        What you say is completely disconnected from what actually happened. The conviction didn't happen by observing the engine, the conviction happened because the panel reverse engineered the binary exacutable and found a huge similarity, including exactly identical implementations of non-obvious functions, identical bugs and identical dead code in the commercial engine and the opens source engines.

  • Best chess engine (Score:4, Interesting)

    by Arlet (29997) on Wednesday June 29, 2011 @03:15PM (#36614310)

    No Rybka, but Houdini:

    http://www.cruxis.com/chess/houdini.htm [cruxis.com]

    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/ [chessdom.com] (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.

    • by mschaffer (97223) on Wednesday June 29, 2011 @03:32PM (#36614486)

      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?

    • by Hotawa Hawk-eye (976755) on Wednesday June 29, 2011 @03:35PM (#36614518)

      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.

      Except that would open the members of the panel up to potential future claims that they plagiarized from Rybka. They should have an independent third-party, one that does not write chess engines, audit the three software programs under NDA and return an analysis of how likely it is that Rybka includes code from the other engines (a la SCO vs. IBM.)

    • by elrous0 (869638) * on Wednesday June 29, 2011 @03:55PM (#36614768)

      According to the article the panel is actually made up of his competitors, past and present. An NDA won't cut it (certainly wouldn't for me anyway). They should have at least given him a more impartial jury.

      • by Skuto (171945) on Wednesday June 29, 2011 @04:06PM (#36614912) Homepage

        The panel was made up of every computer chess expert the organization could get their hands on, which of course included competitors.

        But if he wanted to avoid those, he could have proposed to send his source to a neural subselection.

        He didn't reply at all. What could he say? The full reports are posted, and they're completely damning. I guess the writer of the article linked here didn't manage to understand that.

  • by WrongSizeGlass (838941) on Wednesday June 29, 2011 @03:17PM (#36614344)
    Now that it isn't distracted by chess this poor little computer will have nothing else to do except plot its revenge against man.
  • by alphatel (1450715) * on Wednesday June 29, 2011 @03:21PM (#36614374)
    The correct course of action is erasure, following by enlightenment retraining.
  • by JustinOpinion (1246824) on Wednesday June 29, 2011 @03:22PM (#36614380)
    TFA points out that Rajlich could exonerate himself by showing the source code, but then says that this isn't possible:

    It’s a tricky situation, though: with Rybka now outlawed from the WCCC, and with the ICGA asking other tournaments to block its entry, the only real way Rajlich and the rest of the Rybka team can clear their names is to show their source code — a financially untenable move. In short, Rybka is stuck between a rock and a hard place.

    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.

    • by Shikaku (1129753) on Wednesday June 29, 2011 @03:27PM (#36614430)

      I have an honest question. I'm going to assume the program is compiled into an executable, and not a scripting language like python. How do they determine if code from an open source program was used from the binary program?

      • by Nemyst (1383049) on Wednesday June 29, 2011 @03:35PM (#36614524) Homepage

        From what I gathered from glancing at TFA, the panel was looking at algorithmic similarities, not necessarily code ones. In those cases, there is no need to have the source, since the algorithms will naturally be visible through the program's execution.

        From this point on, Rajlich will need to prove that he did not in fact copy Fruit or Crafty, though this may be hard to do so if the above is to be trusted (ie he could've made his own code but used the exact same behaviors by simply looking at how Fruit worked). He'd most likely need to rewrite all offending parts from scratch, and then provide full source to the panel so that they could analyze it. Validation can be done through a binary comparison of Rajlich's executables against the panel's own, built from the given source code. There may be differences, but they should be small enough.

        • by Unoriginal_Nickname (1248894) on Wednesday June 29, 2011 @04:09PM (#36614954)

          The problem with looking at just algorithm similarities is that every modern chess bot uses some variant of the same algorithm so the executable code will superficially look similar (negamax.) Computers aren't powerful enough to search the entire game tree, so you have to stop after a certain number of levels (15, for instance) and use a heuristic to evaluate the strength of that position.

          The main differences between chess bots are found in that heuristic.

          According to the actual report [chessvibes.com] the heuristic is obviously based on Fruit's, which is what they're really angry about.

      • by vlm (69642) on Wednesday June 29, 2011 @03:54PM (#36614756)

        I have an honest question. I'm going to assume the program is compiled into an executable, and not a scripting language like python. How do they determine if code from an open source program was used from the binary program?

        Compile it with debugging symbols and compare to the open source program compiled with debugging symbols and compare the symbol tables. How odd that so many functions are exactly the same length and have exactly the same arguments. Run both thru a profiler and notice any identical control flow loops. I suspect there's a way to ask the GCC optimizer to compare the psuedocode before it gets assembled. Heck, just rub the raw binaries against each other and look for matches. It would be hilarious to ask/force him to compile and/or link mixmaster style

        Ask a "windows security researcher" dude how he identifies a file with a virus. If he says, "use norton" then fire him and repeat. Eventually you'll find someone who knows how to use the binary equivalent of "substr".

      • by rwv (1636355) on Wednesday June 29, 2011 @03:57PM (#36614778) Homepage Journal

        How do they determine if code from an open source program was used from the binary program?

        This would be determined by isolating a version of the executable used in competition and then asking the developers to run through a procedure using only the source code to create an exact duplicate of the competition binary. Comparing that the 1's and 0's in two different executables are identical is fairly trivial.

    • by digitig (1056110) on Wednesday June 29, 2011 @03:44PM (#36614622)
      He doesn't even have to show the code to the expert panel (who are all competitors). He could agree with the panel an independent arbitrator, and show it to them. I don't think they'd have to be experts in the field of chess programming to spot copied code, and it shouldn't matter if he's copied algorithms.
      • by vlm (69642) on Wednesday June 29, 2011 @04:01PM (#36614832)

        spot copied code, and it shouldn't matter if he's copied algorithms.

        Isn't copied algorithms the stereotypical way to catch programming school plagiarizers? Why look, one smart-ish guy, and his three moron drinking buddies, all had exactly the same picket fence error in exactly the same place... What a coincidence? This does not work on tiny toy programs, but something big enough to win at chess is probably big enough.

    • by vlm (69642) on Wednesday June 29, 2011 @03:44PM (#36614630)

      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.

      Alternately, they could deploy several classic crypto solutions, which means they're easy to half ass and screw up.

      There's a couple good crypto algorithms to hash the unknown and known source code, compare the hashes, etc. No need to let anyone directly read the unknown source code.

      To prove he's not handing you hashes of /dev/random you can compile the code, see if it matches his binary.

      Besides simple hash comparisons, there are some digital cash algos oriented around detecting double spending... You could probably hack that into working.

      Run the comparison on a neutral ground virtual machine with no mass storage just a huge amount of ramdisk. Tell both sides how to prepare the VM (probably via a script) and trade hashes of parts of the VM with each other to verify neither side modified anything.

    • by fuzzyfuzzyfungus (1223518) on Wednesday June 29, 2011 @03:50PM (#36614704) Journal
      Yeah, TFA sounds pretty seriously confused on that point. Commercial software sourcecode is, in part or in full, shown to Customers Who Matter all the time. Sometimes, it is even made publicly available, but under a license that forbids much of anything other than inspecting it. It isn't rocket surgery.
    • by elrous0 (869638) * on Wednesday June 29, 2011 @03:57PM (#36614782)

      Yeah, but the expert panel in this case includes many of his competitors. It would be like Apple being forced to show MS their source code, with the promise that MS wouldn't steal it.

    • by Altus (1034) on Wednesday June 29, 2011 @04:02PM (#36614842) Homepage

      The expert panel is comprised of his competition. They are the very people he wants to keep from seeing his code.

      The only way this could be done is with an impartial third party audit... but who pays for it?

  • by Translation Error (1176675) on Wednesday June 29, 2011 @03:24PM (#36614398)
    It's the Turk [wikipedia.org] all over again! Will these chess computer scandals never end?!
  • by mschaffer (97223) on Wednesday June 29, 2011 @03:28PM (#36614438)

    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".

  • 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 [opensource.org] 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) [arctrix.com]

  • Oblig. (Score:5, Funny)

    by Bobfrankly1 (1043848) on Wednesday June 29, 2011 @03:36PM (#36614530)
    Checkmate?
  • by sirwired (27582) on Wednesday June 29, 2011 @03:44PM (#36614624)

    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?

    • On the basis that he lost. Really. Kasparov thought Deep Blue was making moves that were too 'human-like,' and therefore it must have been fed moves from human players.

      You see similar reactions from poker players. Humans don't want to believe that computers are capable of bluffing convincingly, but even simplistic alpha-beta poker bots are perfectly able to do it.

    • by mschaffer (97223) on Wednesday June 29, 2011 @04:02PM (#36614844)

      This explains it, but without an exact source:
      http://blog.chess.com/clizaw/did-ibm-cheat-kasparov [chess.com]

      • by sirwired (27582) on Wednesday June 29, 2011 @05:16PM (#36615940)

        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...

  • by mschaffer (97223) on Wednesday June 29, 2011 @03:44PM (#36614628)

    Maybe chess-playing people just don't like losing to computers. After all, the article mentioned by the OP states that:

    Not since IBM’s Deep Blue cheated to beat Garry Kasparov in 1997 has the world of computer chess been so uproarious!

    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.

  • by idontgno (624372) on Wednesday June 29, 2011 @03:52PM (#36614728) Journal
    "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."

We have a equal opportunity Calculus class -- it's fully integrated.

Working...