Slashdot Mirror


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

7 of 315 comments (clear)

  1. Re:The obvious question by El_Muerte_TDS · · Score: 5, Informative

    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.

  2. Re:Should be easy to prove innocence by vlm · · Score: 4, Informative

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

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  3. Re:The obvious question by Arlet · · Score: 5, Informative

    Cheating, in this case, means violating the rules of the championship:

    18th WORLD COMPUTER CHESS CHAMPIONSHIP TOURNAMENT RULES

    2. Each program must be the original work of the entering developers. Programming teams
    whose code is derived from or including game-playing code written by others must name all
    other authors, or the source of such code, in the details of their submission form

  4. Re:The obvious question by canajin56 · · Score: 5, Informative

    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.

    --
    ASCII stupid question, get a stupid ANSI
  5. Re:Whether he improved on them is irrelevant by Arlet · · Score: 4, Informative

    since he didn't redistribute binaries he didn't need to provide the source

    He's using a funny way of not redistributing binaries, then:

    http://www.rybkachess.com/index.php?auswahl=Purchase+Rybka

  6. Re:Whether he improved on them is irrelevant by Fnkmaster · · Score: 4, Informative

    A) As was already pointed out, he sells the binary engine, so he did redistribute it.

    B) The rules of the competition require disclosure of any used third party libraries or components. Since he didn't disclose this usage, he violated the competition rules regardless of whether he was complying with the license conditions or not.

  7. Re:The obvious question by ArsonSmith · · Score: 5, Informative

    Right in main.c

      Crafty, copyright 1996-2010 by Robert M. Hyatt, Ph.D., Associate Professor
      of Computer and Information Sciences, University of Alabama at Birmingham.

      Crafty is a team project consisting of the following members. These are the people involved in the continuing development of this program, there are no particular members responsible for any specific aspect of Crafty.

      * Michael Byrne, Pen Argyle, PA.
      * Robert Hyatt, University of Alabama at Birmingham
      * Tracy Riegle, Hershey, PA.
      * Peter Skinner, Edmonton, AB Canada.
      * Ted Langreck

      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.

      Copies of the source must contain the original copyright notice intact.

      Any changes made to this software must also be made public to comply with the original intent of this software distribution project. These restrictions apply whether the distribution is being done for free or as part or all of a commercial product. The authors retain sole ownership and copyright on this program except for 'personal use' explained below.

    Personal use includes any use you make of the program yourself, either by playing games with it yourself, or allowing others to play it on your machine, and requires that if others use the program, it must be clearly identified as "Crafty" to anyone playing it (on a chess server as one example). Personal use does not allow anyone to enter this into a chess tournament where other program authors are invited to participate. IE you can do your own local tournament, with Crafty + other programs, since this is for your personal enjoyment. But you may not enter Crafty into an event where it will be in competition with other programs/programmers without permission as stated previously.

    --
    Paying taxes to buy civilization is like paying a hooker to buy love.