Rybka 2.3.2a - Echecs et informatique sur PC-Windows

Rechercher
Aller au contenu

Menu principal :

Moteurs

Rybka
Le sulfureux



Rybka a été un très puissant moteur commercial,  au style froid mais efficace. Le moteur a cessé d'évoluer après la version 4.1 de 2011, qui était exceptionnellement forte pour l'époque : environ 3180 Elo. Bien sûr du temps à passé et il est très loin à présent des plus forts moteurs actuels. Pourtant, il n'a jamais été libéré. Seule la vieille version 2.3.2a est diffusée gratuitement. Elle est évidemment moins forte que la 4.1 mais le classement CCRL 40/15 l'évalue tout de même à 3000 Elo. Un niveau dont on se contente sans difficulté.




Rybka n'était pas initialement dans ma sélection, à cause de sa réputation de joueur très typé "machine".  Mais il a été un moteur très marquant des années 2006 à 2010 et la version 2.3.2a que je propose accompagne déjà les interfaces Arena, Lucas Chess et Mayura Chess Board. C'est donc un moteur déjà populaire que j'ai finalement décidé de rajouter à ma sélection.



Polémiques

Rybka a connu une histoire assez tumultueuse. En 2006 et dans les années suivantes, il s'avèra être le moteur d'échecs le plus fort. Il remporta dès 2006 le championnat du monde d'échecs des ordinateurs (WCCC) et renouvela l'exploit toutes les années jusqu'en 2011. Puis, patatras ! Au terme d'une enquête de l'International Computer Games Association (ICGA), le moteur a été déchu de tous ses titres. Selon l'ICGA, Rybka était un plagiat des moteurs libres Crafty et Fruit, faciles à étudier et à piller puisque leurs sources étaient publiques.

Ci-dessus : Rybka 4 CCWC, la grande époque du moteur avant la déchéance...

La preuve du plagiat n'a jamais été formellement établie - ni infirmée, les auteurs ayant refusé de communiquer leurs sources. Les experts de l'ICGA ont étudié avec application les résultats de la fonction d'évaluation de Rybka et ont estimé qu'ils trahissaient les emprunts. Le débat n'a donc jamais été définitivement tranché mais Rybka ne s'en est jamais relevé.


Le premier membre de la famille des moteurs à "Turbo-Recherche"


Au milieu des années 2000 sont apparus des moteurs d'échecs aux capacités tactiques impressionnantes, dopées par le recours à un module de recherche hyper-sélectif et très agressif. Cette recherche améliorée leur a permis de faire un bond en force considérable par rapport à la génération précédente. La famille a compté de nombreuses célébrités : Houdini, Critter, les premiers Stockfish, les premiers Komodo... Mais c'est bien Rybka qui a lancé le mouvement.
Ces moteurs pouvaient avoir des styles différents mais une caractéristique leur était commune - je pourrai même dire qu'ils avaient tous le même défaut : ils s'appuyaient beaucoup trop sur leur recherche "turbo" et trop peu sur leur évaluation. De sorte que lorsqu'ils jouaient à très haut niveau et avec un contrôle de temps suffisamment long, leurs coups devenaient difficilement compréhensibles. C'est exactement la raison qui m'a poussé, à la fin de cette période, à créer ce site avec la fameuse section "Moteurs d'échecs : privilégier l'humain", où je me suis mis à faire la promo des vieux moteurs Dos et de moteurs moins puissants mais plus lisibles, à échelle humaine.
Rybka ne faisait pas exception et son côté "magie noire tactique" me l'a fait très longtemps bouder. Je ne l'ai intégré à ma sélection que très tardivement, en octobre 2019. Je l'ai fait parce que rien ne nous oblige à l'affronter à son plus fort niveau et parce qu'il y a des techniques pour le priver de ses super-pouvoirs. J'y reviens plus loin...


Style de jeu : pragmatique froid

Le style de Rybka a souvent été perçu comme gris mais efficace, un peu à l'image des échecs de l'époque. Alors qu'Houdini pouvait s'enorgueillir d'une belle brillance  néo-romantique, Rybka apparaissait comme un besogneux, un pragmatique froid doté d'une défense très solide, ne sacrifiant qu'avec la certitude apportée par une évaluation sobre et pondérée soutenue par une recherche très efficace. Rybka préférait les petits avantages sûrs, n'aimait pas le chaos, savait comment presser l'adversaire en position égale ou supérieure, finissait magnifiquement en phase finale après avoir lentement étranglé son adversaire... Un style qui évoque assez bien un Vladimir Kramnik.
Vous verrez dans le chapitre sur la Configuration du moteur que vous pouvez toutefois prêter à Rybka cinq personnalités alternatives (voir le paramètre "Outlook" du menu de configuration).


Installation

On trouve Rybka 2.3.2a sur le site officiel, toujours accessible : Télécharger Rybka 2.3.2a ?
Au cas où sa disponibilité viendrait à être remise en cause, j'héberge aussi le moteur son mon espace Mega : Télécharger Rybka 2.3.2a sur Mega ?

Rybka 2.3.2a est déjà un moteur interne de Lucas Chess, mais avec cette interface vous ne pourrez pas accéder au réglage de Elo. Le mieux est de réinstaller le moteur en externe, ce qui vous permettra d'accéder au menu de configuration et au réglage de Elo.

Dans Arena, Rybka est aussi préinstallé, en version 64 bits (le dossier du moteur contient également la version 32 bits, moins rapide mais capable de fonctionner sur de vieux systèmes Windows).    

Pour Mayura, c'est l'inverse : c'est la version 32 bits qui est installée par défaut. Mais l'exécutable en version 64 bits est présent dans le dossier de l'interface. Si vous ne comptez pas utiliser le moteur à sa force maximale, vous pouvez certainement vous contenter de la version 32 bits.

Rybka 2.3.2a fonctionne bien aussi avec PyChess, pour ceux qui apprécient cette interface qui nous vient de Linux.



Configuration

Le menu de configuration de Rybka est assez copieux. Avec Arena on y accède par "Module" > "Module 1" > "Configurer".
Avec Lucas Chess, menu "Options" > "Configuration des moteurs". Choisissez Rybka et dans la partie droite de la page changez les paramètres à votre convenance.
Avec Pychess menu "Editer" > "Moteurs", choisir le moteur dans la liste, onglet "Options".
Voyons ce que nous avons en détails...


Réglages généraux importants

Hash : 32 Mo sont réservés par défaut à la table de hachage. Si vous utilisez Rybka en partie lente à un Elo élevé, 32 Mo est insuffisant. Augmenter à 64 Mo, voire  128 Mo. Mais si vous employez Rybka comme partenaire d'entraînement et que vous êtes d'un niveau moyen, 32 Mo seront certainement très suffisant. Vous auriez même sans doute intérêt à la réduire encore.
Max CPUs : c'est le nombre de cœurs de votre ordinateur à utiliser par le moteur. La valeur par défaut est de... 2048 !  Indiquez le nombre de cœurs disponibles de votre ordinateur.  Si vous n'avez pas besoin de la force maximale, un ou deux cœurs devraient suffire amplement.
CPU usage : vous pouvez d'ici ralentir le moteur en diminuant la charge de travail du processeur. Le paramètre est à 100 par défaut, soit le maximum. Mieux vaut le laisser ainsi et diminuer la force du moteur depuis le réglage UCI_Elo.
Ponder : par défaut la pondération est activée. Laissez là activée de façon à pouvoir la désactiver depuis l'interface (pour Arena, "Modules" > "Réflexion permanente", ou Shift Ctrl+P. Lorsque la pondération est activée, l'icône est entourée d'un filet bleu).
MultiPV : par défaut le moteur ne travaille que sur la variation principale. Voir "MultiPV".
Nalimov Usage : Rybka utilise les tables de finales Nalimov et propose ici de régler le niveau du recours, de fréquent ("Frequently") à jamais ("Never"), en passant par "Normally" et "Rarely". Le réglage par défaut est "Rarely", que je vous conseille de conserver.
Avec Arena, si le choix du chemin des tables n'apparaît pas c'est que l'interface est paramétrée pour guider tous les moteurs vers l'emplacement des tables.  Vérifiez que l'emplacement des tables - si vous les avez - est bien indiqué dans le paramétrage : menu "Modules" > "Gérer", onglet "UCI". "Chemin des tables communes Nalimov" doit être coché et le champ doit indiquer le dossier où se trouvent les tables.


Le menu de configuration de Rybka 2.3.2a dans Arena


Paramètres agissant sur le style

Contempt : tolérance à la nullité. Ce paramètre évolue entre -100, tolérance totale, et +100, intolérance totale. Par défaut, il est à zéro, en position moyenne.
Outlook : un paramètre des plus intéressant, qu'on pourrait traduire par "vision", celle du moteur s'entend. Vous pouvez lui imposer une "vision" parmi six :

➤Ultra-pessimistic
➤Very pessimistic
➤Pessimistic
➤Neutral (Rybka par défaut)
➤Optimistic
➤Ultra-optimistic

Avec la personnalité "Ultra-pessimistic", le style du moteur va évoluer vers Karpov, avec un jeu encore plus prophylactique et prudent.
Avec la personnalité "Ultra-optimistic", le curseur se déplace nettement dans le sens de l’initiative, des déséquilibres dynamiques et de la pression offensiv. Sans devenir Talien ni romantique, le style sera beaucoup plus agressif - quelque chose comme Veselin Topalov.


Paramètres de gestion du temps

Rate of play : règle la façon dont Rybka va "ressentir" la pression du temps. Si on l'augmente, il aura tendance à jouer plus rapidement que nécessaire. Mieux vaut laisser ce paramètre sur "Normal", valeur par défaut - sauf cas rare où Rybka perdrait au temps. Dans ce cas, qui pourrait se produire avec un vieil ordinateur, il faudrait passer à "Fast", voire "Ultra-fast". Retenez quand même que cela diminue un peu la force du moteur.
Time of play : par défaut ce paramètre est sur "Varied", ce qui signifie que Rybka va passer plus de temps sur un coup qui lui semble mériter une exploration plus profonde. Si vous le réglez sur "Constant", il consacrera le même temps à tous les coups. Laisser sur "Varied", pour ne pas altérer le jeu du moteur.
Emergency time usage : règle le temps d'urgence que le moteur se garde en réserve pour les coups suivants. Par défaut sur "Medium". Garder cette valeur, de préférence.

  

Autres paramètres

Vous laisserez généralement ces paramètres sur leur valeur standard. Certains d'entre-eux ne seront utiles que sur une interface comme Fritz.

Win percentage to hash usage : si vous cochez ce choix, l'évaluation de Rybka devrait s'afficher en pourcentage de victoire plutôt que sous la forme numérique habituelle, si l'interface gère cette présentation. Ce n'est pas le cas d'Arena.
Display PV tips : affichage des conseils du moteur relative à la variation principale (PV = principal variation). Décoché par défaut (j'ai coché et je n'ai rien vu s'afficher dans Arena).
Display current move : affichage du mouvement courant. Coché par défaut. pour Arena, le meilleur coup sélectionné en cours de réflexion s'affiche ou non dans le champ "Coup actuel").
Perserve Analysis : ce paramètre ne concerne que l'analyse d'une partie, quand on commence par la fin. Laissez décoché.
Server buffer : ne concerne que les interfaces utilisant éventuellement Rybka sur un serveur de partie en ligne. Laisser tel quel.


Bibliothèque d'ouvertures

Rybka est livré sans bibliothèque d'ouvertures. Je peux vous en proposer quelques unes adaptées à son style :


Au format Abk d'Arena

"Perfect2018", bibliothèque resserrée autour de quelques ouvertures très performantes.

"Aronian.abk" : bibliothèque réalisée à partir des jeux de Levon Aronian, joueur contemporain au style très agressif. Elle ne donnera toutefois pas plus que les 12 premiers 1/2 coups


Au format Polyglotte (*.bin)

"Small_Aronian.bin"
. La même bibliothèque que "Aronian.abk" mais au format Polyglotte.
"Ph-gambitbook.bin" et "Ph-Tal2.bin". Ces deux bibliothèques sont extraites de la collection de Pavel Hase. Elles comportent des ouvertures adaptées au style mais elles continueront à trouver des coups même si l'adversaire du moteur le contraint à sortir de son registre.
"Ph-gambitbook.bin" est une bibliothèque de joueurs de gambits tandis que "Ph-Tal2.bin" rassemble les ouvertures de Mikhaïl Tal.


Au format *.book

C'est le format utilisé par Mayura et je n'en ai pas beaucoup à proposer.  "Books for Mayura" rassemble deux petites bibliothèques, l'une obtenue à partir des jeux de Kasparov, l'autre de Shirov.


Réduction de force

Lorsque l'on souhaite employer pour jouer ou pour l'entraînement un moteur de 3000 Elo, il est indispensable de savoir comment le brider...



Principes

A priori la solution paraît simple : pour réduire la force de Rybka il suffirait de choisir un niveau Elo plus bas avec le réglage UCI_Elo. Oui, mais mon but est aussi de redonner au jeu de Rybka une lisibilité humaine. Malheureusement, le jeu du moteur ne semblera pas plus naturel abaissé à 1800 Elo qu'à pleine force avec le seul recours à UCI_Elo. Je propose une autre démarche : handicaper la recherche trop puissante de Rybka pour rééquilibrer le moteur entre tactique et stratégie. Voici les moyens d'y parvenir, en commençons par ceux qui seront communs à tous les profils d'affaiblissement :
➤Utiliser la version 32 bits, beaucoup plus lente (40% de la vitesse de la version 64 bits seulement).
➤Ne mobiliser qu'un seul coeur de votre ordinateur
➤Désactiver la pondération
➤Ne pas recourir aux tables Nalimov
➤N'employer qu'une bibliothèque d'ouvertures légère (pas  plus de 12 1/2 coups de profondeur).
Comme je souhaite que vous puissiez continuer à choisir un contrôle de temps qui vous convienne, les autres paramètres sur lesquels nous allons jouer sont :
➤La taille de la table de hachage, ramenée à une dimension assez faible (16, 8, 4 voire 2 ou 1 Mo)
➤L'utilisation modérée de UCI_Elo.



Profils d'affaiblissement

Je vais proposer ci-dessous 4 profils d'affaiblissement type pouvant rendre Rybka utilisable par toutes les catégories de joueurs (il faut bien sûr avoir préalablement mobilisé tous les moyens de base vus au dessus) :


Profil 1 - Niveau fort joueur de club ou petit maître (2100-2200 Elo)
➤Hash = 64 Mo
➤UCI_Elo désactivé (c'est-à-dire sans affaiblissement)
C'est le profil "haut-club", gardant un moteur sérieux mais plus “humain” que la version full power multicoeur.

Profil 2 - Niveau bon joueur de club (1900 - 2000 Elo)
➤Hash = 32 Mo
➤UCI_Elo : 2300-2350
Rybka sera un adversaire crédible pour les joueurs aguerris.

Profil 3 - Niveau joueur de club intermédiaire (1700 - 1800 Elo)
➤Hash = 8 Mo
➤UCI_Elo à 2100-2200 Elo
Très bon sparring pédagogique pour joueurs moyens.

Profil 4 - Niveau bon joueur amateur (1400-1500 Elo)
➤Hash = 1 Mo
➤UCI_Elo à 1900-2000 Elo

Idéal pour joueurs 1300–1600. Le moteur fera des gaffes tactiques et positionnelles mais fournira de bons coups simples paraissant naturels.


Points divers

Avec des moteurs puissants comme Rybka, il vaut mieux ne pas sélectionner des cadences supérieures à 40/15, qui apporte déjà une moyenne de plus de 22 secondes de réflexion par coup. Le moteur devient beaucoup trop fort et perd son style (voir "La convergence des moteurs").

Voici comment régler UCI_Elo avec les diverses interfaces :
➤Pour Arena,  menu "Niveau" > "Limite Elo de la force de jeu".
➤Pour Lucas Chess, menu "Options" > "Configuration des moteurs", choisir Rybka dans la liste des moteurs et dans la partie droite de la fenêtre, changer la valeur de "UCI_Elo".
➤Pour Pychess, menu "Editer" > "Moteurs", choisir Rybka dans la liste, onglet "Options" et changer la valeur d'UCI_Elo.
➤Pour Mayura, menu "Level" > "Limite engine strength".


Rob Rob, octobre 2019 (article profondément revu en janvier 2026).



 
 
 
 
 
 
Retourner au contenu | Retourner au menu _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();