Wednesday, December 25, 2013

RYBKA:The down fall

From Wikipedia, the free encyclopedia
Rybka is a computer chess engine designed by International Master Vasik Rajlich. As of February 2011, Rybka is one of the top-rated engines on chess engine rating lists[2][3][4][5][6] and has won many computer chess tournaments.
Although Rybka won four consecutive World Computer Chess Championships from 2007 to 2010, it was stripped of these titles after an International Computer Games Association panel concluded in June 2011 that Rybka plagiarized code from both the Crafty and the Fruit chess engines.[7] The finding is disputed.[8] On October 2013, Edward Schroder (Netherlands) published a two-part series on Chess Vibes, totally exonerating Rybka before the FIDE takes his ethics case before their commission in Tallinn (Estonia).

Name[edit]

The word rybka, pronounced [ˈrɪpka], means little fish in Czech (and in many other Slavic languages) and Vasik Rajlich was once asked in an interview by Alexander Schmidt, "Did you choose the name Rybka because your program always slipped out of your hands like a little fish?" He replied, "As for the name Rybka – I am sorry but this will remain my private secret."[9] It is interesting to point out that the programmer's wife, Iweta Rajlich (Radziewicz), was born under an astrological sign of Pisces. Iweta Radziewicz was born in Poland and is still considered one of the strongest female chess players. The word rybka means exactly the same in the Polish and Czech languages. It is also known that Iweta was the main tester for the program.
The fact that Fischerfisher, translates into several Slavic languages as rybak should not go unnoticed.

Playing strength[edit]

Rybka 2.2n2 (which is available as a free download) has been claimed to be rated at 3110 Elo[citation needed] on four CPUs, and Rybka 3 is supposedly about 100 Elo stronger than 2.2n2.[citation needed]
On March 21, 2010, the latest SSDF rating list was released, with Deep Rybka 3 in first place in the rankings with a rating of 3227.
Though Rybka is no longer allowed to participate in computer tournaments, its rating as of the regularly updated IPON lists ranks Deep Rybka 4.1 as #5 in the computer chess world, with an ELO of 2,952.
Rybka's search is considered one of its main advantages over rival programs while its efficient design as a bitboard engine lends it an extra 60% processing efficiency when run in 64-bit mode, yielding approximately 40 additional Elo.[citation needed]

Internals[edit]

Rybka is a closed-source program, but still some details have been revealed: Rybka uses a bitboard representation,[10] and is an alpha-beta searcher with a relatively large aspiration window.[11] It uses very aggressive pruning, leading to imbalanced search trees.[12] The details of the evaluation function are unknown, but since version 2.3.1 it has included work by GM Larry Kaufman on material imbalances, much of which was worked out in a series of papers in the 1990s.[13]

Team

Several members of the Rybka team are strong chess players: Vasik Rajlich, the main author of Rybka is an International Master (IM). GM Larry Kaufman is the 2008 Senior Chess World Champion, and from version 2.3 through version 3 was in primary charge of the evaluation function. Iweta Rajlich, Vasik Rajlich's wife and the main Rybka tester is a Women's GM (WGM) and IM. Jeroen Noomen (who used to work on Rebel) and Dagh Nielsen were the authors of its opening book – the latter is one of the world's top freestyle chess players. Both are now less active, and Jiri Dufek is in charge of the book.

History[edit]


Vasik Rajlich started working on his chess program at the beginning of 2003. The first Rybka beta was released on December 2, 2005.

Tournament participations[edit]

In January 2004, Rybka participated in the 6th Programmers Computer Chess Tournament (CCT6) event, placing 53rd out of 54 competers, losing 5 games, drawing 3, and beating the last-place finisher who had 0 points (Tohno). [14]
In April 2004, Rybka participated in Chess War V conducted by Olivier Deville, finishing 23rd in the D Division.[15]
In April 2004, Rybka participated in the Swiss System Season 3 by Claude Dubois, scoring 6 wins, 6 losses and 6 draws in the Top 200 to finish 71st.[16]
Rybka participated in Chess War VI finishing 42nd in the D Division.[17] Rybka participated in Chess War VII finishing 48th in the C Division.[18] Rybka participated in AEGT round 3, scoring 89 wins, 28 losses and 15 draws.[19]
Note: it is now alleged that the above Rybka versions participated illegally by containing code from Crafty. See Crafty controversy below.
In December 2005, Rybka participated in the 15th International Paderborn Computer Chess Championship. Rybka won the tournament with a score of 5½ points out of 7, ahead of other engines such as Gandalf, ZappaSpikeShredder and Fruit.
5th Livingston Chess960 Computer World Championship 2009 at Mainz. The 4 programs Deep Sjeng, Shredder, Rybka and Ikarus (with the programmers).
On CCT8 in February 2006, Rybka won with a score of 8 out of 9, going undefeated. In the April 2006 PAL/CSS Freestyle main tournament, an unaided Rybka 1.1 took first place. In the final tournament, Rybka 1.1 finished in second and third place, behind Hydra. In the 6th Leiden ICT in May 2006, Rybka won with a score of 8½ out of 9, ahead of Sjeng, Gandalf and Shredder. At the 14th World Computer Chess Championship in Turin, Italy in May 2006, Rybka, playing under the name Rajlich, finished second, tied with Shredder, after Junior, the winning 2006 World champion. In the June 2006 PAL/CSS Freestyle main tournament, the Rybka team, playing under the handle Rajlich, tied for first place with Intagrand. In the final, the Rybka team took clear first place, a point ahead of the field. All 8 qualifiers for to the final were Rybka users. In the 2006 Dutch open computer chess championship, Rybka 2.2 finished in first place with a perfect score of 9 out of 9.[citation needed] In December 2006, Rybka participated in the 16th International Paderborn Computer Chess Championship. Rybka won the tournament with a score of 6½ points out of 7.[citation needed]
In February 2007, Rybka participated in the CCT9 and won with 6/7.[citation needed] In the 7th Leiden ICT in May 2007, Rybka won with a score of 7½ out of 9, ahead of Zappa and HIARCS.[citation needed] Rybka won the 15th World Computer Chess Championship in June 2007 with a score of 10 out of 11. The Rybka team, playing under the handle Rajlich, won the June 2007 PAL/CSS Freestyle final with a score of 6/9. Later that year it won again the Dutch open computer chess championship, scoring 8/9.[20]
In January 2008, Rybka tied for first place in CCT10 with 5.5/7.[citation needed] In October 2008, Rybka won the 16th World Computer Chess Championship, held in BeijingChina, scoring 8/9. A month later Rybka won the 27th Open Dutch Computer Chess Championship, held in Leiden, scoring a perfect 9/9.[21]
In March 2009, Rybka won CCT11 with 7.5/9[22] and the 17th World Computer Chess Championship, held in PamplonaSpain, with a score of 8/9.[23]
In May 2010, Rybka won the International Computer Chess Tournament in Leiden with 8/9.[24]

Odds matches versus grandmasters[edit]

Whilst Rybka has won a match with GM Jaan Ehlvest which involved giving pawn odds to the human, GM Larry Kaufman of the Rybka team has pledged his own money to a human GM who can beat Rybka in a six-game match without material odds. GM Jaan Ehlvest was again chosen to play Rybka, getting twice the thinking time and white every match, with Rybka having only a three-move opening book, limited (512MB) hash size, and no endgame tablebases (the match being dubbed "Everything but a pawn"). The match ended 4.5–1.5 after three Rybka wins and three draws.[25]
In March 2007, Rybka played an eight-game match against GM Roman Dzindzichashvili with pawn and move odds, from March 3 to 8. The result was 4–4, after two Rybka wins, four draws and two losses.[26]
In September 2008, Rybka played an odds match against Vadim Milov, its strongest opponent yet in an odds match. (Milov at the time had an Elo rating of 2705, 28th in the world). The result was a narrow victory to Milov: In two standard games (Milov played White, no odds), Milov lost the first game and drew the second one. Then they played two games at the classical "pawn and move" handicap (f7 removed). The first game ended in an early draw by perpetual check. The second game Milov won. Then they played four games at odds of the exchange (Rybka removed a1 rook, Milov b8 knight), here Rybka drew three times and lost once. Leaving the final score at 4.5–3.5 for Milov.[27]

Zappa match[edit]

In September 2007, Zappa defeated Rybka in a match, 5½–4½. A key game was the 180-move fourth game,[28] which was approaching a draw under the 50-move rule. However, due to a feature of the Rybka engine, at move 109 it moved a pawn to avoid a draw (even though Zappa could, and did, immediately take the pawn), thus resetting the counter for that rule. The loss of the pawn eventually allowed Zappa to whittle away Rybka's defenses and win the game.[29]
The match came about after Vasik Rajlich made a $100,000 publicity challenge to the FIDE champion Fritz or Junior, even offering odds of a game in a 24 game match (13 points).[30][31][32]

Versions[edit]

Version 3[edit]

Rybka 3 was released on August 6, 2008.[33] While previous versions of Rybka were released exclusively by Convekta, Rybka 3 was released by both Chessbase and Convekta.[34] Although still a UCI engine, Rybka 3 has extra features when run under the ChessBase and Convekta user interfaces.[33] In an interview with Frank Quisinsky, Vasik Rajlich revealed plans for a future GUI that would "properly display chess knowledge to the user" most likely in the form of graphical evaluation of the pieces on the board. The GUI, named Aquarium, has been released by ChessOK(formerly known as Convekta).[35]
Chess960 support was implemented for the Chess Classic Mainz 2007, where Rybka subsequently won the computer Chess960 tournament.[36][37]
There were many general playing strength improvements, including multiprocessor performance improvements, increased search efficiency, and better position evaluation. Three engine styles are supported: optimum, human, and dynamic. The opening book is now sold as a separate product.[33] Chess engine rating lists which have already published results for Rybka 3 show it topping the rating lists ahead of the previous version of Rybka, sometimes by as much as 100 Elo points.[38]

Version 4[edit]

  • Rybka 4 was released May 26, 2010. Vasik Rajlich has given the following information at the Rybka forum:[39]
    • Rybka 4 is a normal UCI engine, without copy protection.
    • There are separate single-processor and multi-processor versions.
    • Full chess analysis packages which include Rybka 4 will be made by ChessBase (www.chessbase.com) and Convekta/ChessOK (www.chessok.com).
    • Plain Rybka 4 UCI without GUI for download only is available from RybkaChess (www.rybkachess.com).
    • All of these versions of Rybka 4 will be identical and can be used in any UCI-compliant GUI.

Future versions[edit]

The following features have been confirmed for future versions:
  • Native Linux support was confirmed years ago without a specific date, but looks unlikely. Release plan for platforms other than Windows was expected to come after Rybka 3.0 is finished.[40] Rybka does, however, run under Wine, and 64-bit Rybka runs under both Linux and Mac OS Xusing an experimental, Rybka-specific translation layer called microwine.[41]
  • Support for Pocket PCs and similar mobile devices were announced in 2007.[42] But products for Pocket PCs and similar mobile devices were never released.
Rajlich has asserted that Rybka will continue to use open protocols, both for normal operations as well as for the data presented by the Rybka 3 GUI.[citation needed]
Vasik Rajlich has now released "Remote Rybka" which is a special version of Rybka (4+ or cluster) on very powerful hardware / clusters run by Lukas Cimiotti.[43] This can be rented for a specific period of time, though currently not less than 2 days due to overhead costs. Upon renting one has access to the Remote Rybka from one's PC, and all details of rentals are strictly private.
Information from the last video interview by Vasik Rajlich indicated that Rybka 5 was scheduled to arrive anywhere between the end of 2011 and the first half of 2012. This did not occur.

Controversy[edit]

Strelka controversy[edit]

In May 2007, a new chess engine called Strelka (Russian for "arrow") appeared on the scene, claimed to be written by Yuri Osipov. Soon, there were allegations that Strelka was a clone of Rybka 1.0 beta, in the sense that it was a reverse-engineered and slightly modified version of Rybka.[44] Several players found Strelka to yield identical analysis to Rybka in a variety of different situations, even having the same bugs and weaknesses in some cases. Osipov, however, stated repeatedly on discussion boards that Strelka was based on Fruit, not Rybka, and that any similarities was either because Rybka also was based on Fruit, or because he had tuned the evaluation function to be as close to Rybka as possible.[45][46]
With the release of Strelka 2.0 beta, source code was included. Rajlich stated that the source made it "obvious" that Strelka 2.0 beta was indeed a Rybka 1.0 beta clone, although not without some improvements in certain areas. On the basis of this, he claimed the source as his own and intended to re-release it under his own name,[47] although he later decided not to do so. He also made allegations that "Yuri Osipov" was a pen name.
According to Victor Zakharov (Convekta company) in his review for Arena chess website: "I consider that Yuri Osipov (Ivanovich) is real name. He didn't hide it. However I can't state this with 100% assurance." And he also has some contact with Yuri Osipov for development of mobile platforms chess program.[48]
However, Fruit author Fabien Letouzey has clearly expressed in the open letter mentioned above that Strelka 2.0 beta is a Fruit derivate with some minor changes.[49]

IPPOLIT controversy[edit]

IPPOLIT, RobboLito, Igorrit, IvanHoe, FireBird and Fire are a series of strong open source chess programs, originally developed by a team of anonymous programmers who call themselves the Decembrists, after the Decembrist revolt.[50][51]
The chess engine IPPOLIT was released in May 2009 with its source code, but due to the policy of some chess forums not to publish material of "questionable legal status" (e.g. the Talkchess charter [52]) it remained relatively unknown until October 2009. Vasik Rajlich has stated[53] that IPPOLIT is a decompiled version of Rybka, and that the people involved kept him informed of their progress via email.[54] Currently there is only circumstantial evidence for this claim. No legal charges have been filed against any of the engines in the IPPOLIT series.[citation needed]Circumstantial evidence for the claim by Vasik Rajlich is provided by the fact that the source of IPPOLIT[55] resembles the output of a decompiler and furthermore the playing style of IPPOLIT and its derivatives is close to that of Rybka 3.[56] Finally some people have expressed doubts that a super strong chess engine like IPPOLIT could simply appear out of nowhere.[57]

Crafty chess engine controversy[edit]

Early private Rybka engines have been accused of being a clone of Crafty.[58] Vasik Rajlich has not responded to these allegations.

Fruit GPL chess engine controversy[edit]

Rybka has been accused of being based on Fruit, but Rajlich has denied this categorically,[59] saying that Rybka is 100% original at the source code level. Further allegations of violating the GPL have been brought forward by chess programmer Zach Wegner based on a new decompilation effort and a one year study of the Rybka 1.0 executable.[60] Rajlich has since declined to respond to these allegations.[61] The Fruit author Fabien Letouzey has since appeared from a 5-year absence in January 2011 and published an open letter[49] asking for more information regarding Rybka and GPL violations.
The ICGA President David Levy has addressed the situation at ChessVibes and invoked a programmers forum to decide the merits.[62] The options include revoking all tournament victories of Rybka by Statute 3.h.iv.[63] Fourteen well-known chess programmers have since written an open letter to David Levy, Jaap van den Herik and the ICGA board stating that there is now "overwhelming evidence" that Rybka 1.0 beta (the first strong Rybka version) was directly derived from Fruit.[64]

WCCC disqualification and banning[edit]

On June 28, 2011, the International Computer Games Association (ICGA) concluded their investigation and determined that Vasik Rajlich in programming Rybka had plagiarized two other chess software programs: Crafty and Fruit.[65] According to ICGA, Vasik Rajlich failed to comply with the ICGA rule that each computer chess program must be the original work of the entering developer and those "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 their submission details".[66] The ICGA regarded Vasik Rajlichs' alleged violation as the most serious offence that a chess programmer and ICGA member can commit with respect to his peers and to the ICGA.[67] The ICGA sanction for Vasik Rajlich and Rybka was the disqualification from the World Computer Chess Championship (WCCC) of 2006, 2007, 2008, 2009 and 2010.[68] Vasik Rajlich is banned for life from competing in the WCCC or any other event organized by or sanctioned by the ICGA.[69] In addition, the ICGA demanded that Vasik Rajlich return to the ICGA the four replicas of the Shannon Trophy presented at the WCCC in 2007, 2008, 2009 and 2010 and to return to the ICGA all prize money awarded for Rybka's performances in those events.[70]

Response[edit]

In an interview with fan Nelson Hernandez, Raijlich responded to the ICGA's allegations in a statement, and answered questions about the controversy and his opinions on it.[71]
In January 2012, ChessBase.com published an article by Dr. Søren Riis. Riis, a computer science professor at the Queen Mary University of London and a Rybka forum moderater, which was critical of the ICGA's decision, the investigation, the methods on which the investigation was based, and the panel members themselves. Riis argued that critical portions of the ICGA panel report that appeared to show line-by-line code duplication between Rybka and Fruit were misleading or falsified, and objected to the panel's composition, suggesting that it consisted almost exclusively of rival chess programmers who had a conflict of interest in seeing Rajlich banned from competition in order to interrupt his unbroken domination of competitive computer chess.[8] ICGA President David Levy and University of Sydney research fellow in mathematics Mark Watkins responded to Riis' publication with their own statements defending the ICGA panel and findings, respectively.[72][73]
In 2012, Vasik Rajlich and Chris Whittington [1] (another chess programmer) filed a complaint[74] against these decisions to the FIDE Ethics Commission.

Rejection of the ICGA decision by the CSVN[edit]

The Computer Chess Association of the Netherlands (CSVN) has chosen "not to abide by their sanctions against Rybka", because the CSVN board "has the most serious doubts as to the rightfulness of ICGA's decision".
Those who were in favour of the sanctions were severely questioned by (e.g.) Miguel A. Ballicora, George Speight and Søren Riis. Their opposition did make an impression on us, because these people can rely upon a vast expertise in the field of chess programming, law and mathematical logic. When finally dutchman Ed Schrøder, former world computer chess champion, joined the aforementioned critics of ICGA, we no longer seemed to have a choice.[75]

David Levy interview[edit]

In February 2012, ChessBase published a two-part interview with David Levy the president of the ICGA in which he answered many questions about the ICGA's decision to ban Rybka.[76][77]
Levy was also asked about the assembling of the jury panel:
You say that the reason Vasik Rajlich had been under attack for years is that "it had been known, by some people," that he was guilty. Many them have stood to profit from his downfall. Why was it necessary to nominate exactly those people to the jury panel that would pass judgement over him. It meant that the entire investigation and sentencing would in no way represent due process, but become an ad hoc procedure put together by the ICGA, one which one must assume could come to no other conclusion than the one it reached. Are you satisfied that justice was done?
Levy explained:
... We did not nominate people to the panel. We asked for people who have an interest and relevant expertise to volunteer to join the panel. ... At most, three active competitors of Rajlich voted. None of those three panel members took an active role in the discussions so they did not influence the other members. Even if we had excluded the votes of these three, who make up fewer than one-fifth of the voting members, all the remaining voters agreed that Rajlich was guilty of violating the ICGA's Tournament Rule 2...

No comments:

Post a Comment