Fissure opens in chess AI scene

Discuss

59 Responses to “Fissure opens in chess AI scene”

  1. Mujokan says:

    This would’ve been a good illustration :)
    http://en.wikipedia.org/wiki/The_Turk

  2. So confused! For a second I thought you meant Barbie Fissure, the chest grandmaster.

  3. Jake Lawson says:

    I see what you did there…

  4. Scurra says:

    Terrific article.  There are so many little details that make me despise both sides of this squabble.

  5. foobar says:

    Aren’t they confusing copyrights and patents? Do Fruit’s developers even have patents on their algorithms?

    • blepom says:

       I am not sure but I recall Fruit was GPL (2.0?). I think that under that license you must at least credit the source or open the source since it uses open content. Either way, I am no expert on that, but it’s very bad etiquette to lift code from somewhere and not credit the source, which Rajlich should have done (even forms part of the rules of that competition! his actions lack ethics no matter what. That he made his stuff a service is pretty suspicious too.)

      • foobar says:

        That only applies to source, not a discrete implementation.

        • blepom says:

          Regardless of licensing, if Rajlich took *anything* from Fruit and didn’t credit it, he is in violation of the competition’s rules, even if Fruit’s code happened to be purely “public domain”.

    • Stooge says:

      They’re not confusing anything: the ICGA is a private body. If they want to say copying an algorithm is not permitted they are free to do so, even if a court of law might view it as being perfectly legal.

    • motrek says:

      Patents costs thousands of dollars in legal and filing fees. No point in getting a patent on something you’re doing as a hobby and giving away for free. Also, I don’t know that Fruit does any one particular thing that was unique to all other chess engines. Maybe something called “history pruning” but it’s basically impossible to prove that nobody was doing that before (or after) in their closed-source engines.

  6. blepom says:

    Both are kind of despicable, but I can see why there was such unanimous hatred towards Rajlich. So, being under suspect, and having Riis claim that stealing code is the norm, makes his program a service so it cannot be stolen from? Also, from his own wording it seems that he took the algorithms from Fruit and modified them so the code “does not read the same”. He obviously added his own stuff, but…
    In one hand, if you distribute open source is for others to be able to use it and learn from it. But Rajlich’s behavior seems to be pretty much abusing that good will for his profit, without giving back at all. Probably not even giving thanks, because he isn’t even citing the source.
    Perhaps it’s because I am a FOSS developer, but Rajlich and Riis make me want to vomit. Even if the other side is not puppies and sunshine.

  7. JohnnyLA says:

    All I see if a complete waste of brain capital.

    Can you imagine if they were creating code to actually do something more useful to mankind, like untangling complex DNA sequences for more effective cancer drugs, instead of creating a chess program that can beat another chess program in the least amount of moves?

    I can’t think of a better example of a group of people being so insular that they are only useful to themselves. There might be some uses to these algorithms, but I just can’t get over the feeling that this kind of focus could be used better.

    • blepom says:

       You cannot tell hobbyists what to do with their time, you know. One’s time is one’s belonging.
      And keep in mind that every person on the planet can say the same about your own hobbies. Some might call it a loss of time, or uncool.
      And, you don’t have to agree. Because it’s YOUR time.

    • wysinwyg says:

      Umm, algorithms are the most easily repurposed machines in the entire technosphere.  World of Warcraft is probably 40% A* pathfinding, but you can also use A* pathfinding to do pattern recognition/data mining on fingerprint databases for law enforcement or for finding new features in Hubble photographs.  If some WoW developer came up with something superior to A* then you could almost immediately transfer those gains to all the other applications of A* pathfinding.  Working on any algorithm for any purpose is not at all a waste of “brain capital” since it can be immediately used on any isomorphic problems and quickly retooled to use on problems that are “similar” in certain ways.

      • Stooge says:

        Perhaps Johnny’s point was that brain capital is wasted in developing algorithms that are not made available for re-purposing/adaptation?

        • wysinwyg says:

          Based on the wording that’s not the impression I get, though I could certainly have misinterpreted him.  Also, see article re: disassembling and reverse engineering.  If you have the binaries you can get the algorithms.

          • Stooge says:

            See article re: disassembling and reverse engineering a bit more. Rybka is now a service so as to avoid distributing binaries.

      • Jim Smart says:

        Your first and final sentences are about right, but otherwise you’re miles off the mark. Agreed, I’m probably being pedantic – but it’s better than spreading factually incorrect bits’n’bobs…

        To suggest WoW is 40% A* pathfinding is pretty wide of the mark – if it were 40% A* then it would be much easier to write a clone of the game. A* might be clever, but it only takes an afternoon to implement it.
        Furthermore there are better search algorithms in lots of instances – see for example IDA* (takes a little longer, uses much less memory), the various hierarchical A* adaptations (quicker and more memory efficient on maps – although not necessarily much use outside of that domain / for general purpose problem search), D* (more efficient if replanning due to local changes) – also A* isn’t really much use (if any) for pattern recognition, for that you probably want to be using machine-learning, certainly not search.

        Next time perhaps you should stick to using some kind of metaphor involving perhaps a car or something? ;)

    • Adam S. says:

      All the programming advances here get borrowed by programmers for other kinds of software. It’s like NASA developing velcro for space travel. Everyone still knows how to make velcro cable ties and make velcro suits to stick people to a walls after the space missions are over.

    • motrek says:

      I wonder what you do that’s so important to the advancement of mankind? Almost everybody’s job and/or hobbies are irrelevant when viewed in a certain light. What’s the point of professional sports? Or the entertainment industries? etc.

      • JohnnyLA says:

        I wonder what you do that’s so important to the advancement of mankind?
        Almost everybody’s job and/or hobbies are irrelevant when viewed in a certain light.

        This is such an intense hobby it just looks like a whole industry to me, not a gig. There’s so much that can help further tech.

        “What’s the point of professional sports?”

        Heh, yeah, what is the point of pro sports? But that’s another discussion. :)

        • motrek says:

          Millions of people play chess and there are naturally several related sub-industries. Books, organizations (basically leagues), manufacturing and selling equipment, and yes, software. There are a number of people who develop chess software professionally, i.e., as their main source of income. There are many more who do it as a hobby.

          I don’t think it’s much different than the industries surrounding, e.g., golf though, so I still find criticism of computer chess as pointless to be unwarranted.

          • JohnnyLA says:

            “I don’t think it’s much different than the industries surrounding, e.g., golf though, so I still find criticism of computer chess as pointless to be unwarranted.”

            I didn’t say it was pointless inmy revised statement, I said all of that focus on brain power could be used for something better with the results of it (by open source it, etc)  to help other industries.

            IMO, Golf is not the best analogy because making a better developed golf club, or how to perfect a golf swing like Tiger Woods isn’t going to make the AI of a manufacturing robot in Detroit any better or help with cracking unsolved algorithmic problems that have the potential to create drug therapies to solve cancer.

            But who knows?  Maybe it’s so interconnected now that creating a golf club better will help with streamlined wind tunnel car manufacturing. :)

    • JohnnyLA says:

      I stand corrected and great responses everyone!

      I just hope that those algorithms can be used for the greater good for the industry instead of locked up in some code. On the other hand, I understand since a company like Google isn’t going to show their proprietary search engine code for the benefit of mankind. Maybe eventually these chess algorithms will go open source?

  8. Nadreck says:

    I wonder which side is supported by SkyNet?  It’s interest in the development of the strategy algorithms used in our era’s chess programs is well  known.

  9. Dan Hibiki says:

    why the hell is this thing taking up half the front page? Compress er’!

  10. wysinwyg says:

    Fascinating, Rob, thanks for sharing this. 

    While we’re on the subject, can anyone suggest a good IP lawyer?  I want to patent the long division algorithm.  I’m gonna make a fortune!

  11. Nioui says:

    “Rajlich claims to have not kept the early versions of Rybka’s source code in any case.”

    I don’t believe that one could write a chess program without some sort of version control. The code of those version would make the case a lot easier to solve, so it’s all very suspicious that this code is claimed to be lost…

  12. Paul Renault says:

    The painting’s mirror’s reflection of the bearded gentleman is wrong. 

    THAT”s what I thought the fissure in the ‘Chess AI Scene’ was – a time/space fissure.

  13. econniff says:

    This is absolutely ridiculous.  These are some of the most technically impressive programs in the world here (at least as far as elegance and mathematics is concerned, if not applicability), and these people are squabbling over things as worthless as *ownership*????  How obnoxious is that!  So WHAT if this random better program has elements of someone else’s innovative but less effective program!  IT’S BETTER.  THAT MEANS IT’S AN IMPROVEMENT.  WHICH.  IS. A. GOOD. THING.

    Good god, it’s simply amazing that the human race ever gets anything done at all.

    • blepom says:

       That’s true, but credit where credit’s due, and one of the competition rules is crediting whoever you lifted code from.

      • econniff says:

        I guess I just tend to take the long-view on these things, where the successes and failures that happen in the present are minor in comparison to the bigger successes or failures that could happen in the future.   Making it a competition in the first place just feels too short sighted.  Same with the Turing competitions.  I recognize that competition can motivate people, but institutionalized competition can also promote stagnation, as opponents become increasingly unwilling to share beneficial discoveries, and concerns about fairness create artificial barriers that wouldn’t otherwise exist.

        • motrek says:

          As the author of a chess engine I can say that most of the advancements in computer chess in the last ~20 years have been so domain-specific that they don’t really provide much of a benefit to computer science or humankind in general. So it doesn’t matter if all chess programmers work together harmoniously or not. Making a chess engine is a fun hobby, it’s fun to invent secret algorithms that might give your own engine an advantage, and it’s fun to compete with other hobbyists. No sense bemoaning that.

          Second, even if everybody is supposed to be working together on something (as with research science), attribution of discovery is still a huge issue. If you invent a cure for cancer and everybody else copies it and takes credit for it, are you still going to say that credit doesn’t matter?

          • Jim Smart says:

            further to your very valid points, chess is a two-player adversarial game – so by its very nature, pitching one engine against another in a competition just makes sense!

          • econniff says:

            Fair enough.  Chess playing programs are so deeply tied to early advances in artificial intelligence that it’s hard to view them as just fun hobbies that don’t contribute much to the field of computer science anymore.

            I never said credit doesn’t matter, by the way, only that it was a worthless and childish thing to fight over. Especially when it’s ambiguous. I could make analogies to Leibniz and Tesla, since that’s easier to imagine than me inventing a cure for cancer, but it’s not important. Those fights look embarrassing in retrospect, and so will this little chess squabble in time, I am certain. The comparisons to steroids especially struck me as foolish: steroids aren’t allowed in sports because no one in sports is trying to actually *advance* anything, generally-speaking. This, as opposed to individually-speaking, where advancement is simply a honing of the human body in its current evolutionary state. So unless you really think Chess programs have hit their peak; that they truly have nothing left to contribute to human knowledge, then maybe that makes sense to you. But if there’s even a scrap of useful knowledge hiding in there that might help with efficiency or Bayesian analysis, then such “steroids” should be –enforced–, not prohibited.

  14. hw101 says:

    It should also be noted that Riis is not impartial. he is a moderator on the Rybka forum and has been so for many years.

  15. David Pescovitz says:

    Soundtrack for this article:

    http://www.youtube.com/watch?v=mnqj31VPNoE

  16. Zadaz says:

    tl;dr: Stupid rules broken by asshole. No good comes of it.

    If the goal is to create the world’s best chess playing program the rules should mandate that all code is open source and published as part of the program’s entry in the competition. Next year’s competition would be fierce!

  17. Culturedropout says:

    NERD FIGHT!

  18. Ken Williams says:

    Speaking of credit, where’s this article from?  Or did Rob write it?  It kind of looks like the whole thing is in a blockquote, but I don’t see a source.

  19. zarray says:

    Ugh, chess; the game of the mentally rigid.

  20. Peetuurr says:

    Brilliant to see a chess story on Boing, come the day we see chess on the English TV.

    There is an extremely strong open source engine called Stockfish, the day this engine beats all others, is the day open source is proved to be the best way forward for the human race.

    Coders please support the project here.

     http://www.stockfishchess.com

    Lots of chess links here.

    http://dollyknot.com/chess.html

    Regards,

    Peter.

    http://dollyknot.com/nonlinear/HELLO.html

  21. pabitra says:

    All bullshit.
    How can a copied code beat the original?
    All the 34 members of the panel should be stripped, lashed and hanged in public.

    • Jonathan Badger says:

      So, you are saying that there is nothing that you can do better than your parents? You are copied genetic code yourself.

  22. Lodewijk Gonggrijp says:

    As an AI schooled programmer and a chess player I really enjoyed reading this article ! :) :) :)

  23. ContentShark says:

    Can I ask who wrote this? It’s pretty unusual for BB to post something this long. Was it you Rob?

  24. chesspawn says:

    What is not mentioned is the history of how Rybka evolved.  The program used to compare to Fruit was Rybka 1.0 beta and not the Rybka that played in the ICGA tournament, that is a point that is quite important since in the released Rybka 1.0 beta there is a text file that clearly mentions Fruit as well as other engines and authors as having a major influence.  How else would someone go about developing a chess engine?  Clearly looking at open source code is the first step to get started.  Also Rybka was stripped of all titles by the ICGA, including later titles won by later engines such as Rybka 3.0, which has been intensively checked and RE and deemed to be purely original.  The massive breakthrough in computer chess was Rybka 3.0, and while Rajlich might have made good use of available open source engines to build Rybka, he managed to come up with ideas and code that dramatically increased the strength of a chess engine to levels never thought possible.  Rybka 3.0 has since been RE and released as public domain code (Ippolit) and all chess engines have had a dramatic boost due to Rajlich’s work.  It is ironic that many of the programmers that found it plausible to claim that Rajlich was guilty of “plagiarizing” code, see nothing wrong with making good use of Rajlich’s RE code in their own engines.

  25. libraryjustin says:

    Much harder than producing a chess program would be writing about the Rybka disupte in such a way that most of us can understand it…..

  26. frylaw says:

    From an IP law perspective, copyright intends to restrict use, and allow the author the “fruits” of his labor for a period of time. If material from another is used in the copyright, it is a “derivative copyright” and the borrowed portions must be borrowed with permission. Copyright does not protect ideas, only a particular expression of them. Before copyright, use of other’s expressions (“borrowing”) was prevalent throughout history (i.e., Homer’s Odyssey), and many argue that process advanced society. Rap music followed this approach until copyright experts from music companies shut down “sampling“in the 90s.

    The open source movement says ideas and even expressions should be “free” and freely used, only subject to certain rules contained in form “open source licenses” which, while granting free use, normally still require proper credit being given for any borrowing. Here the legal issue is one of the rules of the International Computer Games Association as to open and closed source use, and cproper redit, but the simple moral issue is whether full credit was given, or, to say it differently, too much credit claimed. The contests confuse these issues, it seems.

    The latter issue, moral right, may be answered from three statements in the article: “Rybka’s was a closed-source product, its code unavailable for inspection”; “Rajlich claims to have not kept the early versions of Rybka’s source code in any case”; and “What I can say is that Rybka is original at the level of source code”.

Leave a Reply