# Rybka

Rybka (tschechisch: Fischlein) ist ein Schachprogramm, das über einen längeren Zeitraum als das stärkste der Welt angesehen wurde. Chefentwickler des Programms, die in einer 32-Bit- und einer 64-Bit-Version verfügbar ist, ist der Internationale Meister Vasik Rajlich. Zum Team gehören bzw. gehörten auch Rajlichs Ehefrau Iweta, geborene Radziewicz, die den Titel einer Frauengroßmeisterin trägt, der Großmeister Larry Kaufman, der an den Bewertungsfunktionen des Programmes arbeitete, sowie Jeroen Noomen, der ein speziell auf Rybkas Spielstil zugeschnittenes Eröffnungsbuch gestaltet hat.
Von 2007 bis 2010 gewann Rybka viermal die Computerschachweltmeisterschaft, wurde aber im Juni 2011 aufgrund von Plagiatsvorwürfen nachträglich disqualifiziert.

## Versionsgeschichte

Eine Betaversion von Rybka 1.0 sorgte im Dezember 2005 durch hervorragende Testergebnisse für Furore. Sie spielte besser als alle damaligen kommerziellen Engines. Im März 2006 wurde die kommerzielle Version 1.2 veröffentlicht, zu der es in der Folge einige Updates bis zur Version 1.2f vom Mai 2006 gab. Seit Version 2.0 (Juni 2006) werden mehrere Prozessoren unterstützt. Die Version 2.3.2a mp (unterstützt Mehrkernprozessoren) ist mittlerweile kostenlos erhältlich. Unter dem Namen Rybka Winfinder gab es eine modifizierte Version, die taktisch und insbesondere beim Motiv "Königsangriff" stärker ist als die Standardversion von Rybka, im direkten Vergleich aber insgesamt schwächer spielt, sowie eine Version Rybka 2.3 LK, die hinsichtlich der Figurenbewertung anhand von Vorschlägen Larry Kaufmans modifiziert wurde.
Version 3 erschien am 6. August 2008. Zusammen mit der Standard-Engine wurden zusätzliche Versionen Rybka Dynamic und Rybka Human mit jeweils unterschiedlichem Spielstil sowie eine Version für Chess960 ausgeliefert. Die "Dynamic"-Version bewertet Material geringer und gewichtet positionelle Faktoren höher, die "Human"-Version beinhaltet von Larry Kaufman entwickelte Algorithmen, die zwar leicht negative Auswirkungen auf die Spielstärke hatten und daher nicht in die Standardversion übernommen wurden, aber menschlichen Erfahrungswerten entsprechen.
Bis Version 2 hatte Rybka keine eigene Benutzeroberfläche, sondern wurde als UCI-Engine in gängige Schach-Frontends wie Arena, Chess Assistant, ChessBase oder Shredder Classic eingebunden. Das Programm wird per Download sowie seit Juli 2006 auch auf DVD von der russischen Firma Convekta vertrieben. Eine eigene Oberfläche für Rybka (Aquarium) wurde von Convekta für Version 3 entwickelt. Rybka 3 wird auch von der Firma ChessBase mit einer angepassten Fritz-Benutzeroberfläche vertrieben. Die offiziellen Eröffnungsbücher für Rybka 3 werden von Jeroen Noomen geschrieben und getrennt von Rybka von Chessbase und ChessOK vertrieben. Das Eröffnungsbuch für Rybka 4 stammt von Jiri Dufek.
Rybka 4 erschien am 26. Mai 2010. Seit dem 1. Februar 2011 wird Rybka auch als Mietversion angeboten, die auf einem dedizierten Computercluster läuft.
Rybka galt lange als die stärkste Engine der Welt und führte weltweit die wichtigsten Ranglisten an (CCRL, CEGT und SSDF), wurde dann aber durch Houdini von diesem Platz verdrängt. Bis zum Juli 2014 hatten auch das kommerzielle Programm Komodo, das Freeware-Programm Critter und die Open-Source-Programme Stockfish und Gull die aktuelle Version Deep Rybka 4.1 bei kurzen und langen Bedenkzeiten überflügelt.

## Turnierergebnisse
### Computerschachturniere

Rybka konnte ab 2005 mehrere Computerschachturniere gewinnen: das 15. IPCCC Turnier in Paderborn, das CCT8 sowie das ICT6 in Leiden.
Bei der 14. Computerweltmeisterschaft 2006 in Turin belegte eine Testversion von Rybka 2 unter dem Namen Rajlich hinter einer Testversion von Junior und punktgleich mit einer Testversion von Shredder (aber mit schlechterer Feinwertung und Niederlage im direkten Vergleich) den dritten Platz. Im Juli 2006 gewann das von Großmeister Michał Krasenkow unterstützte Rybka-Team das 3. PAL/CSS Freistil-Turnier. Im November gewann Rybka 2.2 die 26. Offene Computerschachmeisterschaft der Niederlande in Leiden überlegen mit 9/9, im Dezember das 16. IPCCC mit 6,5 Punkten aus 7 Partien.
Im Mai 2007 folgte der Sieg beim ICT7 in Leiden, im Juni mit Version 2.3.2 der Gewinn der 15. Computerschach-Weltmeisterschaft in Amsterdam (10 Punkte aus 11 Partien, keine Niederlage). Im Juni gewann das Rybka-Team (IM Iweta Rajlich, IM Vasik Rajlich und Rybka) das 6. PAL/CSS Freistil-Turnier. Im August gewann Rybka in Mainz die Computerweltmeisterschaft im Chess960. Im Oktober siegte Rybka bei der 27. Offenen Niederländischen Computerschachmeisterschaft in Leiden und der 2. Americas Computer Chess Championship. Beim IPCCC 2007 musste sich Rybka wegen der schlechteren Feinwertung HIARCS geschlagen geben (beide erzielten 5,5/7 Punkte).
2008 gewann Rybka das CCT10 zusammen mit Naum sowie erneut die Computerweltmeisterschaft im Chess960. Außerdem verteidigte Rybka ihren Weltmeistertitel bei der 16. Computerschach-Weltmeisterschaft in Peking mit 8 Punkten aus 9 Partien, dabei lief das Programm auf einem Computercluster mit 40 Prozessoren. Mit dieser Hardware gewann Rybka im November auch die 28. Offene Niederländische Computerschachmeisterschaft in Leiden mit 9 Punkten aus 9 Partien.
Das Jahr 2009 begann mit einem Sieg beim CCT 11 (sowohl Blitz als auch Schnellschach) im März. Dabei wurde ein Cluster mit 52 Kernen verwendet und auch zum ersten Mal beim CCT ein Buch von Jeroen Noomen eingesetzt. Im Mai 2009 gewann Rybka mit 8 Punkten aus 9 Partien die 17. Computerschach-Weltmeisterschaft in Pamplona. Bei diesem Turnier war die Hardware auf maximal 8 Kerne beschränkt, Rybka lief auf einem Intel Xeon W5580 mit 3,2 GHz. Die Blitzmeisterschaft wurde ebenfalls von Rybka auf der gleichen Hardware gewonnen. Neben der Weltmeisterschaft wurde auch die Olympiade in Pamplona gespielt, bei der keine Hardwarebeschränkung galt. Rybka lief auf einem Cluster mit 9 Rechnern und gewann mit 5 Punkten aus 5 Partien. Im August gewann Rybka in Mainz die Computerweltmeisterschaft im Chess 960 mit 14,5 Punkten aus 16 Partien, im Oktober die 29. Offene Niederländische Computerschachmeisterschaft in Leiden mit 7,5 Punkten aus 8 Partien.
Im September 2010 gewann Rybka zum vierten Mal in Folge die Computerschach-Weltmeisterschaft in Kanazawa mit 8 Punkten aus 9 Partien. Hardware: 200 Nehalem EP Westmere, 2.93-3.6 GHz. Im November 2010 siegte Rybka bei der 30. Offenen Niederländischen Computerschachmeisterschaft in Leiden mit 8,5 Punkten aus 9 Partien.

### Ergebnisse gegen menschliche Spieler

Im Januar 2006 gewann Rybka einen Wettkampf gegen den chilenischen Großmeister Iván Morovic (Elo 2551) mit 1,5:0,5. Im März nahm Rybka an einem Turnier der Kategorie IX (Elo-Schnitt 2460) in Santiago de Chile teil und gewann überlegen mit 9 Punkten aus 10 Partien (8 Siege, 2 Remis). Im Oktober und Dezember gewann Rybka jeweils zwei über Schachserver ausgetragene Schnellschachpartien gegen Großmeister Larry Christiansen.
Im März 2007 gewann Rybka einen Handicap-Wettkampf gegen Jaan Ehlvest mit 5,5-2,5, wobei das Programm in jeder der 8 Partien mit Weiß spielte und jeweils einen Bauern vorgab. Im Juli trat Ehlvest nochmals gegen Rybka an, diesmal hatte er in jeder Partie Weiß und das Eröffnungsbuch des Programms war auf drei Züge begrenzt. Zudem hatte er die doppelte Bedenkzeit zur Verfügung. Das Match endete 4,5-1,5 zugunsten von Rybka. Im August gewann Rybka einen Wettkampf mit Bauernvorgabe gegen Joel Benjamin mit 4,5-3,5. Im Unterschied zum ersten Wettkampf gegen Ehlvest spielte das Programm abwechselnd mit Weiß und Schwarz, wobei jeweils die Bauern d2, c7, b2, a7, e2, f7, g2 und h7 vorgegeben wurden. Im September besiegte Rybka in Mexiko den Großmeister Robert Fontaine, der in jeder Partie Weiß hatte, im Schnellschach mit 2-0.
Im Januar 2008 spielte Rybka einen weiteren Wettkampf gegen Joel Benjamin, der in allen acht Partien Weiß hatte und ein Remis als Gewinn angerechnet bekam. Das Ergebnis war 6-2 zugunsten von Rybka. Im März 2008 endete ein Match über acht Partien gegen Großmeister Roman Dzindzichashvili, bei dem Rybka einen Bauern vorgab und immer Schwarz hatte, mit 4-4. Im Juli kam es zu einem weiteren Match gegen Dzindzichashvili, bei dem der Computer in vier Partien jeweils mit Schwarz den Bauern f7 vorgab. Die Bedenkzeitregelung war 30 Minuten pro Partie plus 20 Sekunden pro Zug. Rybka gewann den Wettkampf mit 2,5-1,5 (ein Sieg, drei Remis). Im September verlor Rybka ein Match auf acht Partien gegen Vadim Milov, der zu diesem Zeitpunkt eine Elo-Zahl von 2705 hatte, mit 3,5:4,5. Dabei wurden zwei normale Partien, in denen Milov Weiß hatte, zwei Partien mit Vorgabe von Bauer f7 und Zug sowie vier Partien mit Vorgabe der Qualität (Turm a1 gegen Springer b8) gespielt. Die Bedenkzeit betrug 90 Minuten pro Partie plus 30 Sekunden pro Zug. Rybka gewann eine Partie mit Schwarz, Milov jeweils eine mit Bauern- und Qualitätsvorgabe, fünf Partien endeten remis.

## Spielstil und Besonderheiten

Wie bei vielen Schachprogrammen hat sich auch Rybkas Spielstil im Laufe seiner Entwicklung verändert. Galten die Versionen 1.0 bis einschließlich 2.3.2a vor allem als positionell sehr ausgereift, aber mit kleineren taktischen Schwächen, so gilt dies seit Erscheinen von Version 3 nicht mehr. Rybka 3 ist taktisch und vor allem im Königsangriff sehr stark und gegenüber den Vorgängerversionen deutlich verbessert worden.
Rybkas Bewertungsfunktion ist sehr umfangreich und ausbalanciert, was eher zu objektiven und verlässlichen Stellungsbewertungen führt.
Aus programmiertechnischen Gründen wurden seit Rybka 2.3 einige Bewertungsfunktionen für einfachste Endspiele mit 6 oder weniger Steinen entfernt, wodurch der Einsatz von Nalimov-Endspieldatenbanken gerade bei der Analyse sinnvoll sein kann. Die reale Spielstärkesteigerung durch Verwendung von Endspieldatenbanken ist jedoch laut Autor im niedrigen zweistelligen Elo-Bereich.

## Kontroversen um Softwareplagiate

Es gibt Vorwürfe, dass die erste Version von Rybka auf dem Programmcode von Fruit beruhen soll. Fruit 2.1 war im Juni 2005 unter der GNU General Public License erschienen, sechs Monate später veröffentlichte Rajlich die Betaversion von Rybka. Die Bewertungsfunktionen der beiden Programme weisen zahlreiche Gemeinsamkeiten auf. Rajlich erklärte, er habe zwar Ideen von Fruit übernommen, seinen Programmcode jedoch eigenständig geschrieben. Im Juni 2011 wurde Rybka von künftigen Turnieren der International Computer Games Association ausgeschlossen, alle WM-Titel wurden aberkannt, wogegen 2012 Beschwerde bei der Ethikkommission des Weltschachverbands FIDE eingelegt wurde.
Rajlich beschuldigte seinerseits mehrere Programmierer, ihre Programme basierten auf dekompilierten Versionen von Rybka 3.