Recent from talks
Nothing was collected or created yet.
Rybka
View on Wikipedia
| Rybka | |
|---|---|
![]() | |
| Developer | Vasik Rajlich |
| Initial release | December 5, 2005[1] |
| Stable release | 4.1
/ March 5, 2011[2] |
| Operating system | Windows |
| Type | Chess engine |
| License | Proprietary |
| Website | rybkachess |
| This article is part of the series on |
| Chess programming |
|---|
Rybka is a computer chess engine designed by International Master Vasik Rajlich. Around 2011, Rybka was one of the top-rated engines on chess engine rating lists[3][4][5][6][7] and won many computer chess tournaments.
After Rybka won four consecutive World Computer Chess Championships from 2007 to 2010, it was stripped of these titles after the International Computer Games Association concluded in June 2011 that Rybka was plagiarized from both the Crafty and the Fruit chess engines[8][9] and so failed to meet their originality requirements.[10] In 2015, FIDE Ethics Commission, following a complaint put forward by Vasik Rajlich and chess engine developer and games publisher Chris Whittington regarding ethical breaches during internal disciplinary proceedings, ruled the ICGA guilty and sanctioned ICGA with a warning. Case 2/2012.[11][12]
ChessBase published a challenging two-part interview-article[13] about the process and verdict with ICGA spokesperson David Levy. Subsequently, ChessBase recruited Rejlich to produce Fritz 15 (released in late 2015)[14] and Fritz 16 (released in late 2017).[15]
Name
[edit]The word rybka, pronounced [ˈrɪpka] in Czech, means little fish in Czech, Polish, and in many other Slavic languages. 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."[16]
Internals
[edit]Rybka is a closed-source program, but still some details have been revealed: Rybka uses a bitboard representation,[17] and is an alpha-beta searcher with a relatively large aspiration window.[18] It uses very aggressive pruning, leading to imbalanced search trees.[19] 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.[20]
Team
[edit]
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]This section needs expansion. You can help by adding to it. (June 2008) |
Vasik Rajlich started working on his chess program at the beginning of 2003. The first Rybka beta was released on December 5, 2005.[1]
The appearance of the free Rybka 1 beta and the first commercial version, Rybka 1 end of 2005 was a sensation, and Rybka soon became the dominating program leading rating lists by a huge margin.[21]
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). [22]
In April 2004, Rybka participated in Chess War V conducted by Olivier Deville, finishing 23rd in the D Division.[23]
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.[24]
Rybka participated in Chess War VI finishing 42nd in the D Division.[25] Rybka participated in Chess War VII finishing 48th in the C Division.[26] Rybka participated in AEGT round 3, scoring 89 wins, 28 losses and 15 draws.[27]
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, Zappa, Spike, Shredder and Fruit.

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][28] 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.[29]
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 Beijing, China, scoring 8/9. A month later Rybka won the 27th Open Dutch Computer Chess Championship, held in Leiden, scoring a perfect 9/9.[30]
In March 2009, Rybka won CCT11 with 7.5/9[31] and the 17th World Computer Chess Championship, held in Pamplona, Spain, with a score of 8/9.[32]
In May 2010, Rybka won the International Computer Chess Tournament in Leiden with 8/9.[33]
Odds matches versus grandmasters
[edit]In March 2007, Rybka played an eight-game match against GM Roman Dzindzichashvili with pawn and move odds. The result was 4–4, after two Rybka wins, four draws and two losses.[34]
Whilst Rybka has won an 8 game match in March 2007 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 Archived December 16, 2008, at the Wayback Machine. 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, again played in 2007, ended 4.5–1.5 after three Rybka wins and three draws.[35]
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, ranking him 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, while the second was won by Milov. Finally they played four games at odds of the exchange (Rybka removed a1 rook, Milov b8 knight); here Rybka drew three times and lost once. The final score was 4.5–3.5 for Milov.[36]
Zappa match
[edit]In September 2007, Zappa defeated Rybka in a match, 5+1⁄2–4+1⁄2. Two famous games were played in this match. The first was the 180-move fourth game,[37] which was approaching a draw under the 50-move rule. However, due to an incorrect evaluation by 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.[38] Then in game 9, Rybka was 3 pawns up with a totally won position, but played a horrific blunder on move 71, "the worst blunder in modern computer chess",[39] as it lacked sufficient knowledge to see a draw would ensue by opposite-color bishops. Zappa had this knowledge, took advantage, and drew the game.[40] Anthony Cozzie thanked his operator Erdogan Gunes for having the wherewithal to stay until the end in these two games, rather than agree to a draw in game 4 or resign in game 9.[39]
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).[41] But negotiations between Rybka and Junior broke down due to disputes over on-site machines.[42] The match was changed to 10 games against Zappa, with $10,000 the amount eventually paid to the winner.
Versions
[edit]Version 3
[edit]Rybka 3 was released on August 6, 2008.[43] While previous versions of Rybka were released exclusively by Convekta, Rybka 3 was released by both Chessbase and Convekta.[44] Although still a UCI engine, Rybka 3 has extra features when run under the ChessBase and Convekta user interfaces.[43] 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).[45]
Version 4
[edit]Rybka 4 was released May 26, 2010. Vasik Rajlich has given the following information at the Rybka forum:[46]
- 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.
Remote Rybka
[edit]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.[47] 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.
Version 4.1
[edit]This was a version swiftly produced after the ICGA investigation was announced, to ensure no infidelities in code sourcing. It was released on March 5, 2011.
Future
[edit]Information from the last video interview by Vasik Rajlich[48] indicated that Rybka 5 was scheduled to arrive anywhere between the end of 2011 and the first half of 2012. As of November 2024, this has not occurred.
Allegations of derivative work
[edit]Strelka controversy
[edit]In May 2007, a new chess engine called Strelka 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.[49] 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.[50][51]
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,[52] 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.[53]
Fruit author Fabien Letouzey expressed in the open letter mentioned above that Strelka 2.0 beta is a Fruit derivative with some minor changes.[54]
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.[55][56]
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 [57]) it remained relatively unknown until October 2009. Vasik Rajlich has stated[58] that IPPOLIT is a decompiled version of Rybka, and that the people involved kept him informed of their progress via email.[59]
Fruit GPL chess engine controversy
[edit]Rybka has been accused of being based on Fruit, but Rajlich has denied this categorically,[60] 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.[61] Rajlich has since declined to respond to these allegations.[62] The Fruit author Fabien Letouzey has since appeared from a 5-year absence in January 2011 and published an open letter[54] 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.[63] The options include revoking all tournament victories of Rybka by Statute 3.h.iv.[64] 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.[65]
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.[66] 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".[67] The ICGA regarded Vasik Rajlich's 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.[68] 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.[69] Vasik Rajlich was also banned for life from competing in the WCCC or any other event organized or sanctioned by the ICGA.[70] 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 all prize money awarded for Rybka's performances in those events.[71]
Response
[edit]On publication of the ICGA verdict and sentence, extensive disagreement broke out on Computer Chess Forums, centering on correct application of Abstraction-Filtration-Comparison test, the differences between copying ideas and copying code and bias in investigation.[72]
Rajlich responded to the ICGA's allegations in a video interview with Nelson Hernandez, and answered questions about the controversy and his opinions on it.[48]
In January 2012, ChessBase.com published an article by Dr. Søren Riis. Riis, a computer scientist at Queen Mary University of London and a Rybka forum moderator, was critical of the ICGA's decision, the investigation, the methods on which the investigation was based, and the bias of the panel members and Secretariat. 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 and Secretariat'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.[73] 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.[74][75] ChessBase published a lengthy list of Reader Comments to the Riis article, specifically pointing to the two longest comments, one for and one against which were located at the end.[76]
In 2012, Vasik Rajlich filed a complaint[77] against the ICGA decisions, process and bias to the FIDE Ethics Commission, as co-signed by Soren Riis, Ed Schröder and Chris Whittington. In 2015, the FIDE Ethics Commission ruled the International Computer Games Association ICGA guilty of ethical breaches during internal disciplinary proceedings and sanctioned the ICGA with a warning.[78]
Rejection of the ICGA decision by the CSVN
[edit]Cock de Gorter, Chairman of Dutch Computer Chess Association (CSVN) wrote:
I need not tell you that the ICGA made a terrible mess. On our site last August we declared we will not accept the Rybka ban. The computer chess world is split in two. At this time the CSVN board has the most serious doubts as to the rightfulness of ICGA's decision. Therefore, we have chosen not to abide by their sanctions against Rybka.[79]
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.[80]
In response, 10 former participants of CSVN events published an open letter on September 21, 2011, accusing the CSVN of "lack of judgement", personally singling out and criticising the Chairman Cock de Gorter "your ... tournaments are not in good hands anymore" and announcing their withdrawal from CSVN events "under the current direction".[81]
Rybka competed in the 2012 CSVN event (ICT) and won.[82]
References
[edit]- ^ a b Rajlich, Vasik (December 5, 2005). "Subject: Rybka 1.0 Announcement". Computer Chess Club Archivesn. Archived from the original on March 2, 2021. Retrieved October 25, 2025.
[...]
The first piece of good news is that Rybka Beta 1.0 will be available for free download until midnight tonight (Dec 5) on Leo's website.
[...] - ^ Rajlich, Vasik (March 5, 2011). "Rybka 4.1 Release Notes". Rybkaforum.net. Archived from the original on March 5, 2012. Retrieved March 27, 2014.
- ^ "CCRL 40/40 – Pure list". July 3, 2010. Archived from the original on February 17, 2012. Retrieved July 12, 2010.
- ^ "CEGT 40/20". Chess Engines Grand Tournament. July 11, 2010. Archived from the original on March 8, 2011. Retrieved July 12, 2010.
- ^ "The SSDF Rating List". Swedish Chess Computer Association. March 21, 2010. Retrieved July 12, 2010.
- ^ "Bayesian Elo Ratinglist WBEC Ridderkerk edition 1 – 16". September 22, 2009. Retrieved April 27, 2010.
- ^ IPON Archived June 12, 2011, at the Wayback Machine; Ponder ON Rating list
- ^ Riis, Søren (August 1, 2014). "What makes a chess program original? Revisiting the Rybka case". Entertainment Computing. 5 (3): 189–204. doi:10.1016/j.entcom.2014.04.004.
- ^ Dailey, D.; Hair, A.; Watkins, M. (August 1, 2014). "Move similarity analysis in chess programs". Entertainment Computing. 5 (3): 159–171. doi:10.1016/j.entcom.2013.10.002.
- ^ Doggers, Peter. "Rybka disqualified and banned from World Computer Chess Championships". Chess Vibes. Archived from the original on March 30, 2014. Retrieved June 29, 2011.
- ^ "FIDE Ethics Commission Judgement Case n. 2/2012" (PDF). FIDE.
- ^ Schröder, Ed. "Rybka controversy - FIDE complaint and verdict". Archived from the original on May 18, 2015.
- ^ "ChessBase-ICGA interview". February 10, 2012.
- ^ "Come and get it – Fritz 15 released!". November 25, 2015.
- ^ "Fritz 16 - your companion and trainer". Chess News. November 12, 2017.
- ^ "Vasik Rajlich". Superchessengine.com. December 20, 2005. Archived from the original on March 5, 2011. Retrieved January 2, 2011.
- ^ rybka source code Archived September 16, 2009, at the Wayback Machine. Rybkaforum.net. Retrieved on October 12, 2013.
- ^ Rybka Chess Community Forum July 2007 Archived September 16, 2009, at the Wayback Machine. rybkaforum.net
- ^ Rybka Chess Community Forum July 2007 Archived September 16, 2009, at the Wayback Machine. rybkaforum.net
- ^ Rybka @ Amsterdam 15th WCCC Archived September 16, 2009, at the Wayback Machine. Rybkaforum.net. Retrieved on October 12, 2013.
- ^ "Rybka - Chessprogramming wiki". www.chessprogramming.org. Retrieved October 31, 2022.
- ^ Richey, Volker. "CCT6 Results". Retrieved February 22, 2011.
- ^ "Chess War V D Results". Retrieved February 22, 2011.
- ^ "Swiss System Season 3 Top 200 results". Retrieved February 22, 2011.
- ^ ChessWar VI D 40m/20' – Final standings after round 11. Open-aurec.com. Retrieved on October 12, 2013.
- ^ ChessWar VII C 40m/20' – Final standings after round 11. Open-aurec.com. Retrieved on October 12, 2013.
- ^ AEGT and Infinite Loop Series. Iggor.110mb.com. Retrieved on October 12, 2013.
- ^ "26th Dutch Open Computer Chess Championship 2006". old.csvn.nl. Archived from the original on May 12, 2021. Retrieved February 13, 2019.
- ^ "Computerschaak – ONK 2007". Csvn.nl. Retrieved January 2, 2011.
- ^ "Rybka Open Nederlands Kampioen 2008". Csvn.nl. November 16, 2008. Retrieved January 2, 2011.
- ^ CCT11 Final Scoreboard. cctchess.com
- ^ "7th World Computer Chess Championship". Grappa.univ-lille3.fr. Retrieved January 2, 2011.
- ^ van Reem, Eric (May 31, 2010). "Rybka wins ICT10 in Leiden". ChessBase. Retrieved May 31, 2010.
- ^ Rybka vs Dzindzichashvili – information center Archived April 13, 2023, at the Wayback Machine. Rybkaforum.net. Retrieved on October 12, 2013.
- ^ Rybka vs Ehlvest II – information center. Rybkaforum.net. Retrieved on October 12, 2013.
- ^ The Milov vs. Rybka Handicap Match, Chessbase, September 24, 2008
- ^ "Rybka (Computer) vs Zappa (Computer) (2007) "Mothers of Invention"". Chessgames.com. Retrieved January 2, 2011.
- ^ PGNs of game 3 and 4 with Rybka evaluation, Zappa won both Archived December 16, 2008, at the Wayback Machine. Rybkaforum.net. Retrieved on October 12, 2013.
- ^ a b Cozzie, Anthony Zappa fillets the Fish
- ^ "Zappa (Computer) vs Rybka (Computer) (2007)". Chessgames.com. Retrieved January 2, 2015.
- ^ An Open Letter and $100,000 challenge. Rybkachess.com. Retrieved on October 12, 2013.
- ^ Levy, David A Lost Opportunity. chessninja.com
- ^ a b "Rybka 3 Release Notes". August 6, 2008. Retrieved August 7, 2008.
- ^ "A 'Little Fish' (Rybka) in Corporate Waters". chessvine.com. July 19, 2008
- ^ Rybka Aquarium: Interview with the Developers. chessok.com. July 23, 2008
- ^ Rybka 4 update Archived June 10, 2010, at the Wayback Machine. Rybkaforum.net. Retrieved on October 12, 2013.
- ^ Rybka Cluster – for the elite chess player. Rybkachess.com (February 1, 2011). Retrieved on October 12, 2013.
- ^ a b "Another Conversation with Vasik Rajlich" By Nelson Hernandez (on Rybka chess). Youtube.com (July 12, 2011). Retrieved on October 12, 2013.
- ^ "Strelka 1.0 x32:Rybka clone?". Rybkaforum.net. October 12, 2013.
- ^ "Strelka = Rybka 1.0". Rybkaforum.net. 2007. Archived from the original on September 16, 2009. Retrieved October 12, 2013.
- ^ "Osipovs arguments about Strelka". Rybkaforum.net. 2008. Archived from the original on September 16, 2009. Retrieved October 12, 2013.
- ^ "Strelka 2.0". Rybkaforum.net. Retrieved October 12, 2013.
- ^ "News-Overview". playwitharena.com. Archived from the original on February 18, 2009.
- ^ a b View topic – Fabien's open letter to the community. TalkChess.com. Retrieved on October 12, 2013.
- ^ "IPPOLIT – home". Ippolit.wikispaces.com. December 26, 2010. Archived from the original on November 12, 2011. Retrieved January 2, 2011.
- ^ FireBird. chesslogik.com
- ^ Computer-Chess Club Charter – Please Read Before Posting. talkchess.com (March 6, 2006)
- ^ "ChessVibes News". Chessvibes.com. Archived from the original on May 28, 2010. Retrieved January 2, 2011.
- ^ Official statement on [Deleted]?. Rybkaforum.net (October 21, 2009). Retrieved on October 12, 2013.
- ^ Is Rybka a derivative of Fruit?. Rybkaforum.net. Retrieved on October 12, 2013.
- ^ Evaluation Archived August 11, 2011, at the Wayback Machine. Webspace.utexas.edu. Retrieved on October 12, 2013.
- ^ Rybka Chess Community Forum. Rybkaforum.net. Retrieved on October 12, 2013.
- ^ Attack of the clones Archived August 15, 2011, at the Wayback Machine. ChessVibes. Retrieved on October 12, 2013.
- ^ Levy, David. The ICGA Clone and Derivative Investigation Panel. ticc.uvt.nl
- ^ Programmers write open letter about Rybka-Fruit issue Archived July 6, 2011, at the Wayback Machine. ChessVibes. Retrieved on October 12, 2013.
- ^ ICGA Investigation Documents Archived March 3, 2016, at the Wayback Machine. None. Retrieved on October 12, 2013.
- ^ 'Cheating' computer disqualified from chess tournament. Hurriyet Daily News (June 30, 2011). Retrieved on October 12, 2013.
- ^ Rybka disqualified and banned from World Computer Chess Championships Archived March 30, 2014, at the Wayback Machine. Chess Vibes. Retrieved on October 12, 2013.
- ^ Courchane, Claire. (June 30, 2011) Computer chess champ stripped of its four titles. Washington Times. Retrieved on October 12, 2013.
- ^ Tech World: World's best chess program loses titles in plagiarism row Archived October 14, 2013, at the Wayback Machine. News.techworld.com. Retrieved on October 12, 2013.
- ^ Rybka, the world’s best chess engine, outlawed and disqualified. Extreme Tech (June 29, 2011). Retrieved on October 12, 2013.
- ^ "Example Computer Chess Forum disagreements". ComputerChessClub.
- ^ Riis, Søren (January 5, 2012). "A Gross Miscarriage of Justice in Computer Chess" (PDF). ChessBase.com. p. 31. Retrieved January 5, 2012.
- ^ Levy, David (January 9, 2012). "No Miscarriage of Justice – Just Biased Reporting". harveywilliamson.com. p. 10. Retrieved January 9, 2012.
- ^ Watkins, Mark (January 9, 2012). "A Critical Analysis Of The Four Parts Of Riis" (PDF). harveywilliamson.com. p. 16. Retrieved January 9, 2012.
- ^ "Reader Feedback on ChessBase Article". January 13, 2012.
- ^ FIDE: Complaint against ICGA Archived March 4, 2016, at the Wayback Machine (2012)
- ^ "Report Case n. 2/2012 FIDE Ethics Commission" (PDF). FIDE Ethics Commission.
- ^ "Cock de Gorter-CSVN response to ICGA demand to ban Rybka from CSVN tournaments". January 13, 2012.
- ^ Rybka en de ICGA. Computerschaak.nl. Retrieved on October 12, 2013.
- ^ Programmer's Open Letter
- ^ ICT 2012
External links
[edit]- Official website
- Official Forum Archived July 5, 2008, at the Wayback Machine
- The CCRL rating list
- The CEGT rating list Archived March 1, 2012, at the Wayback Machine
- The IPON Ponder ON rating list Archived June 12, 2011, at the Wayback Machine
- Rybka player profile and games at Chessgames.com
- Interview with Rybka Opening Book Author
Rybka
View on GrokipediaRybka is a UCI-compatible computer chess engine primarily authored by International Master Vasik Rajlich, with contributions from his wife Iweta Rajlich, designed for high-level play and analysis.[1][2]
Introduced in the mid-2000s, Rybka rapidly ascended to dominance in computer chess, securing victories in the World Computer Chess Championship (WCCC) in 2007, 2008, 2009, and 2010, as well as other events like the International CSVN Tournament and ICT in Leiden.[2][3][4]
Its innovative evaluation function and search algorithms enabled it to outperform contemporaries, earning widespread use among grandmasters for training and preparation, and establishing it as a benchmark for engine strength during its peak.[1][5]
However, in 2011, the International Computer Games Association (ICGA) investigated allegations that Rybka violated tournament rules requiring original programming, determining it incorporated substantial elements from the open-source engine Fruit—authored by Fabien Letouzey—without adequate disclosure or attribution, including matching evaluation terms and search techniques.[6][7][8]
Consequently, the ICGA revoked Rybka's WCCC titles, disqualified it from prior events, and imposed a lifetime ban on Rajlich from sanctioned competitions, a ruling Rajlich contested as flawed but which the ICGA upheld based on empirical code analysis.[6][7][8]
Development and Team
Creator and Key Contributors
Rybka was created and primarily programmed by International Master Vasik Rajlich, who handled the core software development.[1] Rajlich began work on the engine around 2003 and committed full-time to its development starting in 2005, leading to the initial beta release later that year.[9] Key contributors included Rajlich's wife, Woman Grandmaster Iweta Rajlich, who served as the main tester, providing critical feedback on the engine's performance and chess-specific evaluations. The extended team encompassed Jeroen Noomen and Jiri Dufek for authoring the opening book, and Lukas Cimiotti for hardware expertise and optimization.[10]Programming Philosophy and Methods
Vasik Rajlich's programming philosophy for Rybka emphasized constructing a holistic model of chess positions grounded in general principles rather than ad-hoc adjustments to isolated scenarios. He prioritized broad positional understanding, such as pawn structure dynamics, over fine-tuning for specific positions, arguing that true advancements stem from foundational insights derived from analyzing human-engine matches. This approach aimed to imbue the engine with intuitive decision-making akin to strong human play, focusing on long-term strategic coherence from opening preparation through endgames, while minimizing reliance on improvisation during development or play.[11][12] In terms of methods, Rybka's design centered on a conservative evaluation function that weighted classical elements like space advantage and piece development more heavily than aggressive tactical risks, enabling efficient performance without exhaustive search depths. Rajlich refined this through iterative testing against grandmaster games, enhancing evaluation accuracy and search speed—for instance, Rybka 4 featured optimized algorithms for faster node processing and precise positional scoring. The engine employed selective search techniques, including a minimal opening book limited to three moves to evade theoretical traps and promote varied, tactical play over memorized lines.[13][11][14] However, the International Computer Games Association's 2011 investigation determined that Rybka's evaluation and search structures bore substantial undisclosed similarities to the open-source Fruit engine, particularly in feature selection and weighting schemes, contravening tournament rules on originality despite Rajlich's claims of independent innovation. This finding, based on code disassembly and move-match analyses, highlighted that Rybka's strength partly derived from adapted heuristics rather than purely novel methods, though Rajlich maintained the engine's core ideas were original conceptual advances.[15][16]Technical Architecture
Core Internals and Algorithms
Rybka employs a bitboard-based board representation for efficient position handling and move generation. Early versions, including Rybka 1 through 3, utilized rotated bitboards, which precompute attacks for sliding pieces by rotating the board to align directions with bit shifts, enabling loop-free generation of rook, bishop, and queen moves.[3][17] This approach contributed to Rybka's processing speed, reportedly achieving 60% greater efficiency compared to traditional 0x88 array representations in search operations.[18] In Rybka 4, released in 2010, the engine transitioned to magic bitboards for sliding piece attacks, using multiplicative hashing to index precomputed attack sets based on occupancy, further optimizing move generation without the memory overhead of rotated variants.[3][19] The core search algorithm in Rybka is an enhanced alpha-beta minimax framework, emphasizing depth over breadth through aggressive pruning and extension techniques. It incorporates null-move pruning to reduce search space by assuming a skipped move reveals opponent responses, alongside late move reductions and killer move heuristics for ordering, which prioritize high-value captures and checks.[18] This search-heavy design, combined with bitboard efficiencies, allowed Rybka to probe deeper into tactical lines than contemporaries, often evaluating positions 2-3 plies beyond engines with similar hardware nodes per second.[20] Later iterations, such as Rybka 3 from 2008, introduced persistent hashing to retain transposition tables across sessions, preserving search history for iterative deepening and multi-processor scalability.[21] Rybka's evaluation function integrates material balance with positional heuristics, prioritizing mobility, king safety, and pawn structure to emulate human-like assessment. Attack bitboards, derived from the board representation, feed into mobility scoring and king tropism calculations, where piece activity bonuses scale with safe squares attacked.[22] The function applies quadratic scaling for imbalances, such as doubled or isolated pawns, and includes dynamic adjustments for imbalances like bishop-pair values or rook-on-open-file premiums, tuned via extensive grandmaster game databases.[22] While exact weights remain proprietary, analyses indicate a bias toward aggressive play, with contempt factors adjustable to favor complexity over material equality in unbalanced middlegames.[23] Backed-up evaluations during search refine static scores, converging on backed-up heuristics that stabilize after 10-15 plies in tactical positions.[24]Search, Evaluation, and Bitboard Implementation
Rybka employs a bitboard representation for the chessboard, utilizing 64-bit integers to encode the positions of individual piece types, such as separate bitboards for white pawns, black knights, and so forth. This structure enables efficient computation of legal moves, attacks, and board states through bitwise operations like AND, OR, and shifts, which are optimized on 64-bit architectures prevalent since the mid-2000s. Unlike mailbox representations that index squares linearly, bitboards in Rybka facilitate rapid population counts (via hardware popcnt instructions in later versions) and precomputed attack tables, contributing to its performance in generating moves and evaluating threats.[25][26] The search component of Rybka relies on a minimax framework enhanced by alpha-beta pruning to explore the game tree selectively, focusing on promising branches while discarding those unlikely to affect the outcome. Iterative deepening is implemented to progressively increase search depth within time constraints, allowing the engine to refine its best lines as computation proceeds; for instance, in tournament settings, Rybka could achieve effective depths of 20+ plies on high-end hardware by 2007. Pruning techniques, including null-move pruning—where a simulated pass by one side tests for weaknesses—and low-overhead extensions for critical lines like checks or captures, help mitigate the exponential growth of the search space. Transposition tables hash positions to reuse prior evaluations, while killer heuristics and history tables prioritize move ordering, reportedly yielding high search efficiency that prioritized depth over breadth in complex middlegames.[5] Evaluation in Rybka constitutes a hand-tuned heuristic function emphasizing positional and dynamic factors over simplistic material counts, with static assessments that evolve through search-backed refinements to capture tactical motifs and long-term imbalances. Material evaluation incorporates nuanced imbalances, refined by contributions from grandmaster Larry Kaufman starting in version 2.3.1 in 2007, accounting for factors like bishop-pair value adjustments (typically +0.5 pawns but context-dependent) and pawn structure penalties. Positional terms include king safety metrics—penalizing exposed kings via attack counts on surrounding squares—pawn structure analysis for isolated or doubled pawns, and piece mobility bonuses scaled by square control; endgame transitions blend these smoothly without abrupt shifts, as confirmed by developer Vasik Rajlich. The function outputs scores in centipawns, with search integration allowing deeper plies to override static biases, such as upgrading a seemingly poor knight outpost if future tactics emerge, enabling evaluations that adapt dynamically beyond version 1's initial numerology. Controversial reverse-engineering efforts have highlighted similarities to open-source evaluators like Fruit's, but Rybka's implementation translates these into bitboard-native computations for speed.[13][5]Release History
Early Versions and Iterations
The first public iteration of Rybka, version 1.0 beta, was released by Vasik Rajlich on December 4, 2005, as a free download that immediately demonstrated superior performance over leading engines like Fritz and Shredder on standard hardware. This beta version marked Rybka's entry into the computer chess landscape, achieving top ratings in informal tests and establishing its reputation for deep positional evaluation rather than relying solely on brute-force search.[18] Rapid iterations followed in 2006 to refine stability and strength. Rybka 1.1 appeared in April, securing first place in the unaided division of the PAL/CSS Freestyle tournament, where it outperformed competitors without human assistance.[27] By June, Rybka 1.2 introduced enhancements to multi-processor support and tactical precision, further solidifying its lead on rating lists compiled from tournament games.[18] These updates addressed initial bugs in the beta while amplifying Rybka's edge in endgame handling and pawn structure assessment. The transition to the 2.x series began with Rybka 2.0 beta on June 10, 2006, initially limited to multi-processor configurations to leverage parallel processing for deeper searches.[28] Subsequent 2.x releases, such as 2.2, extended compatibility to single-processor systems and incorporated optimizations for 64-bit architectures, boosting Elo ratings by approximately 100-150 points over the 1.x lineage in controlled tests. These early versions prioritized a "human-like" playing style, emphasizing strategic motifs over raw calculation speed, which contributed to Rybka's dominance in freestyle events where engines could pair with human operators.[29]Rybka 3 Developments
Rybka 3, released on August 1, 2008, represented a major upgrade in playing strength and functionality under lead developer International Master Vasik Rajlich.[21][30] This version incorporated sixteen engine variants, including standard chess, Fischer Random Chess (Chess960), a "Human" mode designed to emulate grandmaster decision-making by matching top player moves 20% more frequently in openings, and a "Dynamic" mode prioritizing aggressive elements like gambits and material imbalances.[30] Both 32-bit and 64-bit editions were offered, with the 64-bit versions delivering about 60% faster search speeds on supported Windows systems.[30] A key development was the collaboration with Grandmaster Larry Kaufman, who refined the engine's positional evaluation algorithms to better handle long-term strategic factors, dynamic sacrifices, and asymmetric positions such as Sicilian defenses.[21] This tuning contributed to an estimated strength gain of at least 80 Elo points over Rybka 2, pushing performance ratings above 3000 Elo and up to 3150 in tests.[21][31] Search efficiency improved through techniques like evaluation windows for faster depth attainment and Monte Carlo methods for statistical outcome prediction in complex endgames or unbalanced material scenarios.[30] The development team expanded to include International Master Iweta Rajlich for testing and Jeroen Noomen for opening theory and preparation, enhancing overall robustness and practical applicability.[21][31] While remaining a Universal Chess Interface (UCI) protocol engine, Rybka 3 integrated seamlessly with interfaces like ChessBase Aquarium, enabling advanced analysis tools such as persistent hash tables and multi-variation exploration, though these were UI-dependent extensions rather than core engine changes.[21]Rybka 4 and Subsequent Variants
Rybka 4 was released on May 26, 2010, as a commercial UCI-compatible chess engine developed by Vasik Rajlich, with versions tailored for single-processor and multi-processor (Deep Rybka 4) systems.[32][33] The engine incorporated enhancements aimed at increasing tactical sharpness and positional aggression compared to prior iterations, addressing earlier critiques of relative tactical weakness in versions up to Rybka 2.3.2.[13] Full analysis packages bundled the engine with graphical user interfaces, opening books, and tablebases, available for purchase through distributors like ChessBase.[13] An update, Rybka 4.1, followed on March 5, 2011, primarily as a bug-fix release to resolve various stability issues in the base Rybka 4 engine without introducing major algorithmic changes.[3] This version maintained compatibility with existing hardware optimizations, including support for SSE4.2 instructions in multi-processor variants.[34] No further official variants or major releases succeeded Rybka 4.1, as development efforts shifted amid ongoing scrutiny over the engine's codebase originality.[35]Competitive Achievements
World Computer Chess Championship Wins
Rybka secured victories in four consecutive World Computer Chess Championships (WCCC) organized by the International Computer Games Association (ICGA) from 2007 to 2010, establishing dominance in computer chess during that period.[7] In the 15th WCCC held in Amsterdam in June 2007, Rybka emerged as champion, outperforming competitors in a round-robin format.[36] The following year, at the 16th WCCC in Beijing from September 28 to October 5, 2008, Rybka achieved a score of 8 out of 9 points, conceding draws only to Junior and ClusterToga II, while defeating second-place Hiarcs which scored 7/9.[37] This victory highlighted Rybka's superior search and evaluation capabilities on standard hardware.[38] In 2009, Rybka won the 17th WCCC in Pamplona, Spain, from May 11 to 17, again with 8/9 points, beating key rivals including Shredder in the final round.[39] The engine's performance underscored its tactical precision and positional understanding.[40] Rybka's streak culminated in the 18th WCCC in Kanazawa, Japan, in 2010, where it scored 8/9, finishing a point and a half ahead of Rondo and Thinker, both at 6.5/9; it also claimed the associated blitz tournament.[41] These wins were later revoked by the ICGA in 2011 following an investigation into program originality, as detailed in subsequent controversies.[7]| Edition | Year | Location | Score | Key Notes |
|---|---|---|---|---|
| 15th | 2007 | Amsterdam, Netherlands | Undisclosed | First WCCC title for Rybka.[36] |
| 16th | 2008 | Beijing, China | 8/9 | Draws vs. Junior, ClusterToga; beat Hiarcs.[37] |
| 17th | 2009 | Pamplona, Spain | 8/9 | Defeated Shredder in final round.[39] |
| 18th | 2010 | Kanazawa, Japan | 8/9 | Ahead of Rondo, Thinker; won blitz event.[41] |
Matches Against Grandmasters and Other Engines
In March 2007, Rybka 2.3 participated in an eight-game handicap match against Grandmaster Jaan Ehlvest (FIDE rating 2610) in New York City, where Rybka conceded odds of one white pawn per game (h2 through a2 across the games) and played without its opening book to simulate human-like preparation challenges.[42][43] Ehlvest, granted White in all games with additional time, won two games (notably Game 6 with c2 removed) but struggled in kingside handicaps due to unfamiliar positions, resulting in a 5.5–2.5 victory for Rybka, which excelled in tactical complexities despite the material disadvantage.[44][45] Later in 2008, Rybka 3 faced Grandmaster Roman Dzindzichashvili (FIDE rating 2548, formerly top-10 strength) in another handicap series, giving pawn odds (each of the eight white pawns in turn) plus the White pieces to the human opponent, with Rybka as Black sans its f7 pawn in some configurations.[45][2] The match ended in a 4–4 draw, with two wins each, four draws, and Rybka demonstrating resilience in closed or unbalanced positions while Dzindzichashvili capitalized on occasional engine inaccuracies in handicapped openings.[46] A notable non-handicap encounter occurred in 2008 when Grandmaster Hikaru Nakamura defeated Rybka in a three-minute blitz game online via the Grob Opening (1.g4), prolonging the contest to 271 moves—among the longest recorded—by constructing an impenetrable pawn wall, sacrificing material to induce engine overextensions, and exploiting Rybka's aversion to repetition draws, ultimately winning after Rybka blundered into a losing endgame.[47][48] This informal victory highlighted rare human advantages in ultra-long games against engines under time pressure, though formal matches at standard controls overwhelmingly favored Rybka against grandmasters.[49] Beyond human opponents, Rybka engaged in exhibition matches against rival engines, such as a 2011 series versus Houdini where it secured wins in tested games, underscoring its tactical edge in private evaluations prior to broader controversies.[50] In collaborative settings, like a 2014 four-game experiment pairing an older Rybka version with grandmaster input against Stockfish 5, the team lost 3–1, reflecting Rybka's relative decline against newer engines without human aid.[51] These encounters affirmed Rybka's dominance in its peak era but illustrated evolving engine superiority in isolated tests.Performance Metrics and Ratings
Rybka's strength was quantified through Elo ratings derived from extensive matchplay in standardized testing suites, primarily the Computer Chess Rating Lists (CCRL) and the Swedish Chess Computer Association (SSDF) benchmarks, which pit engines against one another under controlled hardware and time controls.[52] These ratings, while relative and hardware-dependent, positioned Rybka as the leading engine from approximately 2007 to 2010, with peak estimates exceeding 3200 Elo on multi-core systems—far surpassing the era's top human grandmasters, who rarely exceeded 2800 Elo.[5][53] Early versions demonstrated rapid ascent: Rybka 1.0 32-bit achieved approximately 2850 Elo in CCRL 40/2 testing, reflecting its initial bitboard-based implementation on single-processor setups.[54] By Rybka 2.3.2a 64-bit, ratings climbed to 2977 Elo in the same CCRL framework, based on thousands of games against contemporaries like Hiarcs and Fritz.[55]| Version | CCRL 40/2 Elo (approx.) | SSDF Elo (select hardware) | Notes |
|---|---|---|---|
| Rybka 1.0 | 2850 | N/A | Single-processor focus; early beta testing.[54] |
| Rybka 2.x | 2977 | ~2813 (2007 list) | 64-bit optimizations; multi-processor gains up to 3000+.[55][56] |
| Rybka 3.x | ~3140 (4CPU variants) | 2920 (2008 peak) | Dramatic ~80 Elo jump over prior; human-style evaluation variants tested.[57][21][56] |
| Rybka 4.x | 3102 (64-bit) | 3201 (Deep variant, Q6600) | Multi-core scaling; first sustained >3000 Elo barrier.[58][59][5] |
