Rodent III : maîtriser la création de personnalités - Echecs et informatique sur PC-Windows

Rechercher
Aller au contenu

Menu principal :

Moteurs


Rodent III : maîtriser la création de personnalités



Pour paramétrer sa fonction d'évaluation, Rodent utilise un fichier de configuration largement modifiable. C'est un fichier texte qui contient de 30 à 70 paramètres (selon l'âge du fichier), lesquels déterminent la manière dont le moteur va jouer la partie. On peut l'éditer avec le bloc-notes de Windows ou le Wordpad. Avec un peu de connaissance et d'expérience il est assez facile de créer de nouveaux personnages fictifs mais réalistes. C'est le but de ce chapitre concernant le moteur Rodent III.


IMPORTANT : Rodent III est un moteur à présent obsolète. Il a été remplacé il y déjà plus de deux ans par Rodent IV. J'ai conservé longtemps  les pages concernant Rodent III car beaucoup de simulations de grands maîtres n'étaient disponibles que pour ce moteur, les anciens profils n'étant pas compatibles avec Rodent IV. Elles ont beaucoup moins d'intérêt aujourd'hui car j'ai fini par convertir à rodent IV toutes les anciennes personnalités GM. J'invite donc ceux qui sont intéressés par ce moteur exceptionnel à lire plutôt les pages suivantes de ce site :

Rodent IV
Personnalités pour Rodent IV
Rodent IV, moteur d'échecs plastique, humain, programmable...

Les moteurs "Grand Maître"



Plan

Rodent personality creator
Les bibliothèques d'ouvertures de Rodent
Maîtriser les paramètres de l'accordeur de personnalités
Style de jeu : les grandes familles
Obtenir des profils faibles ou moyens crédibles



Rodent personality creator

Pour créer un nouveau profil en partant de zéro, Pawel Koziol a créé "Rodent personality creator" (RPC), un "tuner de configuration" de personnalités accessible en ligne - ou dans le dossier "tools" de la dernière distribution de Rodent (c'est le même outil mais qui fonctionne en local). Je l'ai peu utilisé car il a deux défauts majeurs : premièrement il n'a pas suivi l'évolution de Rodent et beaucoup de paramètres, en particulier les paramètres de milieu et de fin de partie, ne sont pas pris en compte ; deuxièmement, il ne peut pas servir à éditer un profil déjà existant, car il n'y a aucune fonction de chargement. Mais c'est un bon outil pour les débutants qui pourront créer facilement un profil simple, avec les paramètres de poids simplifiés de Rodent II - qui sont toujours pris en compte par le moteur.




Les bibliothèques d'ouvertures de Rodent

A un style de jeu correspond généralement un style d'ouverture. Pour les faire coïncider, Rodent n'utilise pas une mais 35 bibliothèques différentes ! Et chaque joueur simulé peut en utiliser deux à la fois. La première est celle qui guide le style, et voilà pourquoi on l'appelle la bibliothèque "guide". La seconde, généraliste, prend le relais quand la première est épuisée. C'est la bibliothèque principale ou "Main".


Les bibliothèques "guide" génériques

Ces huit bibliothèques sont destinées à être utilisées en conjonction avec un livre principal afin de guider le jeu d'un point de vue stylistique.

"active.bin" : cherche des positions dynamiques, basées sur les jeux de Kasparov sans QGD (Queen's gambit declined - les ouvertures reine) mais avec Benoni pour faire bouger les choses. Elle convient aux joueurs ayant un style de jeu mobile et offensif.

"flank.bin" :  joue des ouvertures de flancs, avec fianchetto des fous. Elle est basée sur des jeux de Tomasz Markowski avec quelques lignes ajoutées à la main et convient aux joueurs qui aiment jouer les ouvertures latérales et le controle à distance du centre de l'école hypermoderne.

"low.bin" : livre minimal qui essaie de commencer avec quelques mouvements n'atteignant que les 3eme ou 4eme rang.

"ph-exoticbook.bin" : cette bibliothèque rassemble des ouvertures inhabituelles, qui s'éloignent des sentiers battus.

"ph-gambitbook.bin"
: bibliothèque à offrir aux joueurs hyper-offensifs qui pratiquent intensément le sacrifice de pièces.

"solid.bin" : constituée d'ouvertures de Karpov et d'Uhlmann, afin de servir à un joueur de profil positionnel-défensif.

"tricky.bin" : les jeux de Morozevich + beaucoup "d'artisanat", pour personnalités inhabituelles, style "Fun".




Télécharger les bibliothèques guide génériques de Rodent III ?


Les bibliothèques guide des joueurs simulés

Ce sont aussi des bibliothèques guides mais constituées à partir des ouvertures d'un grand joueur émulé, afin d'en reproduire plus complètement le style. Les bibliothèques qui portent le nom d'un joueur célèbre ont été construites par Pawel Koziol ou moi même (j'ai créé celles qui manquaient). Celles qui commencent par "ph" sont de Pawel Hase. Sont disponibles :

"alekhine.bin" pour Alexandre Alekhine (P. Koziol)
"kasparov.bin" pour Garry Kasparov (P. Koziol)
"nimzowitsch.bin", pour Aaron Nimzowitsch (P. Koziol)
"petrosian.bin" pour Tigran Petrossian (P. Koziol)
"steinitz.bin" pour Wilhelm Steinitz (P. Koziol)
"morphy.bin" pour Paul Morphy (Rob Rob)
"capablanca.bin" pour José Raúl Capablanca (Rob Rob)
"lasker.bin", pour Emmanuel Lasker (Rob Rob)
"marshall.bin", pour Frank Marshall (Rob Rob)
"kortchnoï.bin", pour Viktor Kortchnoï (Rob Rob)

"ph-anderssen2.bin" pour Adolf Anderssen

"ph-karpov2.bin" pour Anatoly Karpov

"ph-anand2.bin" pour Vishy Anand
"ph-botvinnik2.bin" pour Mikhaïl Botvinnik
"ph-fischer2.bin" pour Bobby Fischer
"ph-larsen2.bin" pour Bent Larsen
"ph-reti2.bin" et "reti.bin" pour Richard Réti
"ph-rubinstein2.bin", pour Akiba Rubinstein
"ph-spassky2.bin" pour Boris Spassky
"ph-tal2.bin", pour Mikhaïl Tal
"ph-tarrasch2.bin" pour Siegbert Tarrasch

Ces bibliothèques "personnelles" sont fournies avec les profils des personnalités citées.


Les bibliothèques principales ("BookMain")

Ces bibliothèques sont utilisées en second lieu, après que le moteur a exploré les possibilités d'un livre-guide. Il y en a quatre :
"micro.bin" : minuscule, pour les joueurs de faible force.
"mini.bin" et "small.bin" : petite et un peu plus grosse, pour joueurs moyens.
"rodent.bin" : grosse bibliothèque, pour joueurs forts.

"empty.bin" est un fichier vide, comme son nom l'indique.

Télécharger les bibliothèques principales de Rodent III ?


Les bibliothèques principales "historiques"

Pawel Koziol propose aussi quatre autres bibliothèques dites "historiques", destinées à accompagner les profils de personnalités fameuses des échecs. Parce que évidemment on ne jouait pas les mêmes ouvertures au 19eme siècle, ou dans les années soixante qu'aujourd'hui. Ces bibliothèques recouvrent toute la période du début du 19eme siècle jusqu'à nos jours. Elles ont été créées par Norm Pollock.

"_pre30.bin"
: obtenue à partir de parties du 19eme siècle et du début du 20eme,  jusqu'à 1930. Son but est d'éviter que le grand maître simulé ne joue des ouvertures qui auraient l'air trop modernes.
"_31to80.bin" : pour la période entre 1931 et 1980
"_81to06.bin" : pour la période entre 1981 et 2006
"_post06.bin" : pour la période comtemporaire, à partir de 2006.

A noter : les bibliothèques de Rodent sont au format Polyglot, à l'extension ".bin". Il est donc tout à fait possible d'utiliser d'autres bibliothèques que celles de Rodent.  Mieux vaut éviter par contre de charger d'autres livres guides que ceux proposés avec le moteur, à moins de savoir ce que vous faites.
Attention : beaucoup de bibliothèques à l'extension ".bin" ne sont pas pour autant au format Polyglot.

Télécharger les bibliothèques historiques de Rodent III ?

Toutes ces bibliothèques sont aussi présentes dans le "pack" Rodent III que je vous propose plus haut.


Les paramètres de personnalités


Ce qui suit provient pour l'essentiel d'un document fourni par Pawel Koziol avec la distribution, de quelques échanges sur des forums et de mon expérience dans la modification et la création de l'accordeur de personnalités. Certains restent très peu documentés mais dans l'ensemble la programmation de nouveaux profils pour Rodent III est maintenant bien connue et relativement facile.

Important : chaque paramètres doit être précédé de "setoption name", sans quoi ils risquent de ne pas être pris en compte.

Vous trouverez sur la page "Les personnalités de Rodent" quelques exemples de l'utilisation des paramètres les plus importants. L'examen minutieux des profils, détaillés et commentés, sera également une précieuse source d'information.

Les paramètres à qui sont associés
quatre **** ou trois *** sont les plus importants. Ce sont ceux que vous devez parfaitement maîtriser pour créer un profil valable. Les paramètres ayant deux ** ou une * permettent d'affiner le profil. Leur impact sur la fonction d'évaluation est plus faible et dans un premier temps, vous pourrez les négliger (le code de couleur est également signifiant).


Paramètres du matériel

QueenValue, RookValue, BishopValue, KnightValue et PawnValue… ****


...sont les valeurs des pièces, exprimées en centième de pions, dans les anciennes versions de Rodent. Les valeurs standard sont :

QueenValue = 1000
RookValue = 500
BishopValue = 335
KnightValue = 325
PawnValue = 100

Des effets intéressants peuvent être obtenus en changeant légèrement ces valeurs.

Remarque : Rodent III utilise maintenant pour valoriser les pièces un système plus fin, qui différencie les valeurs de milieu de partie (MiddleGame - Mg) et les valeurs de fin de partie (EndGame - Eg). Mais les anciens paramètres fonctionnent toujours avec Rodent III et les profils qui les emploient sont toujours valables. Pawel Koziol continue d'ailleurs à les utiliser pour ses distributions les plus récentes.

QueenValueMg, RookValueMg, BishopValueMg, KnightValueMg, PawnValueMg, QueenValueEg, RookValueEg, BishopValueEg, KnightValueEg, PawnValueEg **


Ce sont les nouveaux paramètres de valeur des pièces. Conseils d'utilisation: En règle générale, les pions et les tours sont plus forts en fin de partie, car ils peuvent bouger plus facilement ; les cavaliers sont plus faibles, leur aptitude à passer par-dessus les pièces étant moins utile. Valeurs moyennes :

PawnValueMg = 95
PawnValueEg = 110
KnightValueMg = 325
KnightValueEg = 305
BishopValueMg =320
BishopValueEg = 335
RookValueMg = 480
RookValueEg = 530
QueenValueMg = 980
QueenValueEg = 1020

KeepQueen, KeepRook, KeepBishop, KeepKnight, KeepPawn… ***


Traduisent la préférence du moteur de réflexion pour une pièce donnée. Par défaut il n'y a pas de préférence et chacune des valeurs est à zéro. Si l'on souhaite modifier le réglage neutre, les valeurs adoptées doivent rester assez faibles. Disons entre -20 et + 20, grand maximum.
Exemple d'une configuration d'un joueur aimant les configurations fermées : KeepKnight = 0 à 5, KeepPawn = 2 ou 3 et KeepBishop = -5
Un joueur très offensif pourra choisir la valeur 20 pour  KeepQueen.
Ces paramètres peuvent être associés à une modification correspondante des valeurs QueenValue, RookValue, Bishop value, KnightValue et Pawnvalue. Exemple : si KeepQueen est à 20, mettre QueenValue à 1150…


BishopPair
**

Bonus de base pour une paire de Fou. La valeur par défaut, 50, est raisonnable.
Directives d'utilisation : Vous pourriez l'abaisser en imitant Nimzowitsch ou Tchigorin.

KnightPair
**

Pénalité pour avoir deux cavaliers. Cette valeur doit en principe être négative. Le rendre positif peut avoir des effets intéressants bien que le risque d'affaiblir le moteur soit élevé. Valeur standard : -10


RookPair *

Pénalité pour avoir deux tours. Cela semble paradoxale mais cela a un sens pour le camp qui a l'avantage du change. La deuxième tour est un peu moins utile que la première. Cela peut-être l'occasion de simplifier la position en échangeant une tour contre un autre avantage.
Valeur standard : -10

ExchangeImbalance
***

Ce bonus s'applique à un camp après un échange (par exemple obtenir une tour contre une pièce mineure). Plus la valeur est élevée plus le moteur sera enclin à exiger que l'échange soit avantageux pour lui. Si vous mettez ExchangeImbalance à 50 le moteur tendra à devenir matérialiste et frileux, refusant les échanges qui n'apporteraient pas un gain immédiat suffisant.
Inversement, si vous abaissez le paramètre à zéro, voire en lui donnant une valeur négative, le moteur sera fortement poussé au sacrifice.  Utile si vous voulez imiter Petrosian (couplé au jeu défensif et à la préférence pour les positions fermées) ou Topalov (couplé au jeu offensif).
Vous trouverez à l'examen des profils de nombreux exemples d'utilisation de ce paramètre.
Valeur standard : 25

KnightLikesClosed
***

C'est un bonus qui est donné pour chaque pion d'un même camp restant encore sur l'échiquier si au moins un cavalier est toujours présent. En pratique le cavalier n'obtient le bonus que si au moins 5 pions sont présents. En dessous, c'est le contraire : le cavalier perd de la valeur.
Par défaut, la valeur est à 6.
A quoi ça sert ? Pawel Koziol a beaucoup utilisé ce paramètre pour conduire le moteur à préférer les positions fermées ou au contraire les positions ouvertes. C'est tout à fait logique: un joueur à l'aise dans les positions fermés, avec un échiquier encombré, est forcément un joueur qui privilégie les cavaliers et maîtrise très bien leur usage.
Pratique : si vous augmentez  KnightLikesClosed à 7 ou 8, voire 9 ou 10, le moteur va kiffer ses cavaliers et chercher à maintenir le plus longtemps possible le bonus. La condition étant le nombre de pions, il va garder autant de pions que possible en vie, maintenant ainsi la position fermée. La personnalité prédéfinie de "Hérisson" fait usage de cette astuce.
Si vous recherchez pour le moteur un joueur préférant au contraire les positions ouvertes, mettre KnightLikesClosed à 0, 1, 2 ou 3. Il accordera moins d'importance aux cavaliers et davantage aux pièces plus à l'aises sur les échiquiers aérés (fous, reine, tours). Bien sûr il fera aussi moins grand cas de ses pions.
Valeur standard : 6

RookLikesOpen
**

Les tours gagnent en puissance avec plus d'espace ouverts disponibles, et donc lorsqu'il y a moins de pions sur le plateau. Ce paramètre va bien avec le précédent. Si vous lui donnez comme valeur 2, 1 voire zéro, vous favoriserez un jeu ouvert. Si vous mettez 4 ou 5 vous fermerez le  jeu
Valeur standard : 3

MinorVsQueen
*

C'est un bonus pour chaque pièce mineure adverse de la reine de l'adversaire. Une valeur plus élevée rendra le moteur plus susceptible de rechercher des positions déséquilibrée du point de vue matériel. Valeur standard : 10

MaterialValue
****

Ce paramètre attribue une valeur au matériel possédé. Si vous l'augmentez, vous renforcez le caractère matérialiste du moteur, le rendant plus ou moins rebelle à l'échange. Si vous l'abaissez, vous favoriserez au contraire une pratique beaucoup plus dynamique de l'échange. A utiliser avec prudence. A moins d'accepter une perte de niveau sensible, la valeur optimale est située entre 90 et 110. Valeur standard : 100


Paramètres de position


PiecePlacement
*

Score de position de base des tables "Piece-Square", les rois n'étant pas inclus. L'explication pour les non-programmeurs est que l'augmenter exagère l'effet défini par PstStyle, alors que l'abaisser rend le moteur plus dépendant de l'évaluation de la mobilité. J'ai peu d'éclairage sur l'utilisation de ce paramètre d'importance secondaire. Valeur standard : 100

OwnMobility
****

Pour le moteur, attention à sa propre mobilité. Valeur standard : 100

OppMobility
****

Attention du moteur aux mouvements de l'adversaire. Valeur standard : 100

OwnAttack
****

Attention du moteur à sa propre activité offensive. Valeur standard : 100

OppAttack
****

Attention du moteur à l'activité offensive de l'adversaire. Valeur standard : 100


Ces quatre derniers paramètres constituent le cœur du mécanisme d'accord de personnalité. Il est donc important de comprendre comment ils fonctionnent. Étroitement liés les uns aux autres, ils vont déterminer si le moteur aura un style de jeu offensif pur, offensif-statique, défensif-pur, défensif-mobile... ou simplement équilibré. Ou, en d'autres termes, ils vont décider des priorités du moteur : mener ses propres attaques (OppAttack élevé) ou empêcher l'agression de l'adversaire (OwnAttack élevé) ; activer ses propres pièces (OwnMobility élevé) ou bloquer les mouvements de l'adversaire (OppMobility élevé). Ou ne pas se fixer de priorité (OppAttack, OwnAttack, OppMobility et OwnMobility sur les mêmes valeurs).

Le plus important est d'abord la différence entre les deux paramètres. Si OwnAttack est beaucoup plus fort que OppAttack, cela veut dire que le moteur va consacrer davantage d'effort à son action offensive est moins à surveiller ce que fait l'adversaire, par exemple.

Pawel Koziol lui-même n'avait pas osé aller au-delà de 50 points de différence entre les deux paramètres. Mais Brendan Norman et Ferdinand Mosca (l'auteur de Cdrill) ont créés avec succès des profils hyper-offensifs efficaces avec des écarts beaucoup plus importants (profil Henny et King hunter).

OwnMobility et OppMobility fonctionnent de la même façon. Ces deux paramètres vont déterminer si le moteur va privilégier sa propre mobilité ou tenter plutôt d'empêcher l'adversaire de bouger.  


J'ai enfin compris qu'augmenter les paramètres des deux côtés peut servir aussi à traduire une suractivité des pièces en matière d'attaque ou de mobilité. Ainsi, OppAttack et Ownttack à 100, ce n'est pas tout à fait pareil que OppAttack et Ownttack à 130.

Sur la page "Les personnalités de Rodent", vous trouverez beaucoup d'exemples concrets de l'utilisation de ces 4 paramètres majeurs.


KingTropism
***

Pourcentage de la valeur attribuée pour la proximité d'une pièce par rapport au roi ennemi. Les pièces qui sont loin obtiennent une pénalité, celles qui sont proches obtiennent un bonus ; des poids différents sont utilisés pour chaque pièce et il y a deux ensembles temporels: pour le début et le milieu de partie et pour la fin de partie). Valeur standard : 20

Mode d'emploi : un tropisme du roi à zéro correspondra à une personnalité défensive, plus portée sur la stratégie positionnelle que l'attaque. Un tropisme à 50, voire même à 100, va pousser le moteur à partir à la chasse au roi adverse. Ce qui va en général avec une personnalité offensive.
Les personnalités agressives avec un tropisme élevé et un tropisme bas se comportent différemment : le premier type amasse des pièces autour du roi ennemi, l'autre tire de loin. Un tropisme négatif des rois peut avoir un sens pour certaines personnalités positionnelles (Petrosian plutôt que Nimzowitsch), mais son impact n'a pas été testé, précise Pawel Koziol.


PiecePressure
**

Poids du bonus pour l'attaque de pièces ennemies. L"augmenter accroit l'agressivité du moteur.
Valeur standard : 100

Center Control
*

Bonus de mobilité supplémentaire pour contrôler les cases centrales. La valeur par défaut est 50.

PawnStructure
****

Pourcentage de pénalité pour les pions isolés, arriérés et doublés, ainsi que pour les pions se soutenant mutuellement (défendus ou debout côte à côte).
Directives d'utilisation : si cette valeur est élevée (120 ou plus), le moteur va consacrer davantage d'efforts pour préserver ses pions et maintenir une bonne structure, en préparant les pions à passer, en évitant de laisser des pions arriérés, etc. Le jeu sera plus serré et conviendra aux personnalités positionnelles.
Une valeur faible (90 ou moins) sera habituellement choisie pour une personnalité attaquante, moins soucieuse de sa tructure de pions.
Valeur standard : 100

PassedPawns
***

Pourcentage de bonus pour les pions passés et les candidats passés. Le moteur augmente ce bonus pour les passants connectés, le diminue pour les passants bloqués et fait une correction pour le contrôle d'une case d'arrêt.
Valeur standard : 100

Outposts
**

Poids d'un bonus pour l'occupation de bonnes cases en avant-poste, à l'abri des attaques de pions ennemis ou défendus par ses propres pions. Il s'agit du positionnement des pièces mineures. Valeur standard : 100
Directives d'utilisation : augmenter pour les personnalités positionnelles, abaisser pour les personnalités tactique-offensives.

Lines
**

Poids d'un bonus pour les lignes ouvertes, semi-ouvertes et les pièces majeures au 7ème rang. Valeur standard : 100
Directives d'utilisation : diminuer pour les personnalités positionnelles, augmenter pour les personnalités tactique-offensives.

PawnShield value
**

Cette option détermine le "désir" du moteur de protéger le roi avec ses propres pions.
Valeur standard : 120

PawnStorm value
**

Cette option détermine la volonté d'attaquer le roi ennemi avec des pions.
Valeur standard : 100

Forwardness
**

Cette option détermine le bonus pour placer des pièces sur la moitié ennemie du plateau de jeu (généralement : plus il y en a, plus les pièces fortes ont de poids).
Pour un joueur attaquant aimant les positions fermées, réduire ou mettre à zéro.
Valeur standard : 100


FianchBase *

Petit bonus pour tout fou en situation de fianchetto. Valeur standard : 4

Fianchetto
*

Bonus pour un fou en situation de fianchetto près de son propre roi. Pour un joueur adepte du contrôle à distance du centre (jeu "hypermoderne"), régler Fianchetto à 6 (et jusqu'à 20).
Valeur standard : 0 (jeu normal) à 6 (jeu hypermoderne)

Returning Bish
*

Bonus pour un fou qui est retourné à sa place initiale après un roque

MinorBehindPawn
*

Bonus pour un pion au 2e, 3e ou 4e rang avec un pion devant lui.

PawnThreat
*

Bonus pour un pion pouvant attaquer une pièce ennemie.

Pst Style **

Cette option est assez difficile à décrire... Elle permet au moteur de choisir entre quatre ensembles différents de tables "pièces/cases", tables qui constituent l'information de base de la fonction d'évaluation. Quatre styles sont disponibles :


Numéro d'options de dialogue UCI

Nom dans le créateur de personnalité

Caractéristiques

0

quirky

Dynamique, jeu de flanc

1

classic

Jeu plutôt au centre

2

normal

Jeu équilibré, moyen

3

blunt

Plus faible, plus primitif, centralisateur

A noter : Pawel Koziol prévoyait depuis longtemps d'élargir ce choix, ce qui a été fait... mais uniquement pour la dernière version de Rodent, la IV. Sur celle-ci, non seulement il y a 5 styles au lieu de 4 mais il est possible de choisir un style principale et un style secondaire pour le même profil. De plus, Pawel a également établit une relation dynamique entre les tables de piece-square et la fonction d'évaluation - en lieu et place de la relation rigide qui caractérise cette relation sur Rodent III. C'est ce qui fait que Rodent IV est en pratique un nouveau moteur, sur lequel les anciens profils de personnalité de peuvent pas fonctionner. Autrement dit, nous devrons nous contenter de ce que nous avons pour Rodent III.  



MobilityStyle *

Cette option offre deux possibilités. La mobilité peut être soit linéaire (le gain de 1 à 2 déplacements possibles est le même que celui de 7 à 8), soit "autotuned" (valeurs générées en utilisant la méthode de réglage Texel, un peu étrange mais étonnamment efficace néanmoins). 0 est linéaire et 1 auto-optimisé.


Autres paramètres

BookFilter
*

Ce paramètre n'a pas d'influence sur l'évaluation. Il intervient dans la manière dont les bibliothèques Polyglot vont être utilisées, en éliminant les coups dont la valeur est inférieure à un pourcentage donné de la valeur du meilleur coup. En termes plus clairs, il sert à restreindre le choix de la séquence d'ouvertures aux lignes les plus efficaces.
Valeur par défaut : 20
Directive d'emploi : si on utilise une valeur élevée, par exemple 60%,  le choix de la séquence d'ouverture se restreindra à quelques lignes très populaires et très efficaces. Avec une valeur faible, le choix sera beaucoup plus ouvert - ce qui implique aussi un petit affaiblissement de la force du moteur.

NPS
****

NPS = Noeuds par seconde. Cette option est destinée à ralentir le moteur ; elle est utilisée pour créer des personnalités faibles. Il y a un lien assez direct entre le NPS et la force du moteur et depuis des années, l'auteur fournit un tableau de correspondance facile à comprendre entre le Elo, le NPS et le niveau d'EvalBlur. Problème : dans la dernière version de Rodent, Pawel Koziol fournit un tableau de correspondance qui s'éloigne sensiblement des valeurs fournies précédemment.


Elo

NPS

EvalBlur

 

1000

50

200

1100

130

180

1200

210

160

1300

290

140

1400

370

120

1500

450

100

1600

660

80

1700

740

60

1800

1140

40

1900

2000

20

2000

5000

0

2100

8400

-

2200

17600

-

2300

38000

-

2400

63000

-

2500

132000

-

2600

330000

-

2700

570000

-

2800

1,2 M

-

 

EvalBlur (flou) ****

Valeur aléatoirement ajoutée à la fonction d'évaluation et qui dégrade la qualité du jeu, à la manière d'un joueur qui ne connaît pas assez les échecs et joue un mauvais coup sans le savoir. Elle est utilisée pour créer des joueurs faibles.
Longtemps, Pawel Koziol réglait le blur entre 0 et 100 mais il semble avoir réévaluée cette plage qui s'étend désormais de 0 à 200 (la personnalité "Drunk" à un Blur de 1000 !).

Contempt (Mépris)
*

Représente le refus de nul. Par exemple, la valeur "12" signifie que Rodent préférera être à 11 centipawns derrière l'adversaire  plutôt que d'accepter un nul par répétition.
Valeur standard : 0

SlowMover
*

Modificateur de pourcentage pour l'utilisation du temps. Les valeurs < 100 font jouer le moteur plus vite au début du jeu, les valeurs > 100 le font utiliser plus de temps.

SearchSkill **

Une autre façon d'affaiblir le moteur. Une SearchSkill inférieure à 10 signifie que certaines techniques de recherche sont désactivées.
"Search skill 1" - tableau de transposition activé
"Search skill 2" - déplacement nul activé
"Search skill 3" - LMR des mouvements silencieux activé
"Search skill 4" - "rasoir" activé
"Search skill 5" - taille futilité activée
"Search skill 6" - élagage tardif activé
"Search skill 7" - fenêtre d'aspiration activée
"Search skill 8" - déplacement statique nul activé
"Search skill 9" - réduction des mauvaises captures
"Search skill 10" - Vérification des déplacements nuls

Si SearchSkill est à 5, cela veut dire que les algorithmes de 6 à 10 sont absents.

RiskyDepth
**

S'il est supérieur à 0, il indique la profondeur à laquelle le score est modifié par une formule qui permet au moteur d'aimer les suites risquées. Une personnalité risque-tout à la Tal aura par exemple un RiskyDepth à 6 ou plus.

Selectivity
*

Détermine la fréquence à laquelle Rodent utilise l'heuristique d'élagage et de réduction au niveau du mouvement. Cette option affecte la réduction des déplacements tardifs, l'élagage tardif et l'élagage de futilité, mais n'a aucun effet sur l'élagage et le rasage à déplacement nul. La valeur minimale de 0 désactive ces techniques, la valeur maximale de 200 signifie les utiliser sur n'importe quel coup éligible. Les valeurs intermédiaires indiquent combien de fois un coup qui a été réussi dans le passé est exempté de l'élagage.
Directives d'utilisation : des valeurs autour de 100 peuvent être utilisées pour émuler principalement des joueurs positionnels.
La valeur par défaut est 175.
Valeur de désactivation : 0

DoubledPawnMg value
*
Valeur standard :  -12

DoubledPawnEg value
*
Valeur standard :  -24

IsolatedPawnMg value
*
Valeur standard : -10

IsolatedPawnEg value
*
Valeur standard : -20

IsolatedOnOpenMg value
*
Valeur standard : -10

BackwardPawnMg value
*
Valeur standard : -8

BackwardPawnEg value
*
Valeur standard : -10

BackwardOnOpenMg value
*
Valeur standard : -8

Ces derniers paramètres concernent la situation des pions doublés, isolés ou arriérés. Ils ne sont pas commentés.




Styles de jeu : les grandes familles

Les grandes famille de style que nous connaissons chez les joueurs humains, nous les retrouvons aussi avec les profils de Rodent, ce qui n'a rien d'étonnant : il a été conçu pour jouer "humain". Finalement, elles sont assez peu nombreuses. Bien sûr il n'y a pas d'étanchéité entre ces familles et certains profils présenteront des aspects moins tranchés, empruntant à plusieurs styles.  Voilà pourquoi, afin que vous puissiez les identifier et les reconnaître, j'ai créé dans chaque groupe de niveau un représentant de chacun des sept styles, en accusant les traits principaux et en éliminant si possible tous les autres particularismes.

La possibilité de bricoler un nombre de plus en plus grand de variables, au fil des versions de Rodent,  permet aussi de faire naître des personnalités aberrantes, qui se comportent de manière étrange. L'auteur semble prendre beaucoup de plaisir à créer ces monstres. Je suis beaucoup moins intéressé mais j'en présenterai quelques uns.


Style  "hyper-attaquant tactique"

Type de jeu orienté vers les combinaisons tactiques complexes, basé sur une bonne connaissance des motifs tactiques. et sur un penchant pour les paris dont le résultat n'est pas garantie. Les joueurs de cette famille ne sont pas matérialistes et pratiquent allègrement le sacrifice, en se préoccupent relativement peu de position, même s'ils en connaissent les principes. Joueurs humains de cette famille : Mikhaïl Tal,  Alexeï Shirov.
Tous les moteurs, même largement paramétrables, ne permettent pas de créer des joueurs de ce type. Il faut en effet que la fonction d'évaluation intègre déjà la capacité à spéculer. C'est justement le cas de Rodent. C'est pourquoi ces personnalités hyper-offensives sont très crédibles.  

Joueurs Rodent de la famille "hyper-attaquant tactique" : Issa (School) / Sohan (Club) / Melina (League) / Jin (Maîtres) / Profil Tal

Moteurs de cette famille autre que les profils Rodent : Junior et Deep Junior, Open Tal (mais il s'agit en fait d'une adaptation de Rodent par Brendan Norman pour lui faire jouer uniquement le rôle de Tal), AnMon, Rhetoric...



Style "Tactique-offensif"

Les joueurs de ce type sont eux aussi mobilisés sur les combinaisons tactiques complexes. Ce sont des attaquants qui pratiquent le sacrifice et n'hésitent pas à mettre en péril leur position mais avec une prudence que n'ont pas les joueurs à la Tal. Joueurs humains de cette famille : Garry Kasparov.

Joueurs Rodent de cette famille :  Hayden (School) / Rod (Club) / Kaïs (League) / Lena (Maîtres) / et profil Garry Kasparov.

Autres moteurs de cette famille : Stockfish, Fritz, Houdini, Rybka, Sissa, GreKo, Obender…
Sans oublier le profil "Kasparov" de ProDeo.


Style passif-agressif

Les joueurs de cette famille ont un jeu positionnel mais ils sont fort aussi en tactique. A leurs adversaires, ils opposent un jeu défensif et attentiste. Matérialistes, ils répondent aux attaques par un jeu positionnel très solide. Prenant bien soin de ne pas dégrader leur position, ils attendent que l'adversaire commette une erreur pour contre-attaquer férocement, grâce à leur habileté tactique. Joueurs humains de cette famille : Viktor Kortchnoï.
Tigran Petrossian pourrait être classé dans cette catégorie en raison de ses fréquentes contre-attaques surprises mais son jeu est plus positionnel que tactique. Il me semble mieux dans la catégorie "positionnel-défensif".

Joueurs Rodent de cette famille : Askley (School) / Dylan (Club) / Anna (League) / Jules (Maîtres) / Viktor Kortchnoï.

Autre moteur de cette famille : Mustang



Style équilibré tourné vers l'attaque

Les joueurs de cette famille ne sont pas férocement agressifs mais restent mobiles et actifs. Leur jeu est tactique, sans qu'ils recherchent de complexes combinaisons. Il est positionnel sans être exagérément défensif ou bloquant. Beaucoup de maîtres humains ont ce type de jeu, qui se traduit plutôt par une absence de style bien défini. Mais s'il ne se singularise pas beaucoup, il ne  manque pas d'efficacité. Joueurs humains les plus représentatifs : Alexandre Alekhine, Boris Spassky.

Joueurs Rodent de cette famille : Fatou (School) / Ayana (Club) / Matthias (League) / Aminata (Maîtres) / Profil Alexandre Alekhine, profil Spassky.  

Autres moteurs de cette famille : Hiarcs, ProDeo, Winchess, The King (Chessmaster).



Style équilibré tourné vers la défense

Les caractéristiques sont très proches du type précédent : le joueur n'est ni strictement positionnel-défensif, ni strictement tactique-offensif mais son jeu est à l'équilibre entre ces deux écoles. Sauf que la posture est plus défensive que dans le cas précédent. L'écart est assez faible et ce sont souvent les mêmes joueurs qui, en fonction de l'adversaire, passeront d'un style à l'autre.

Joueurs Rodent de cette famille : Karl (School) / Faby (Club) / Yan (League) / Léonard (Maîtres) / Profil Wilhelm Steinitz.



Style "Positionnel-défensif"

Dans ce style de jeu, la position et la défense prend le pas sur la tactique et l'attaque. Les joueurs de cette catégorie maîtrisent parfaitement les ouvertures et ont une grande connaissance du jeu positionnel, garantie d'une bonne défense. Ils sont matérialistes, ne prennent pas de risque et tentent d'accumuler de petits avantages qui porteront leurs fruits en fin de partie, plutôt que de faire des coups. Ce sont des joueurs très difficiles à battre. On peut être plus fort mais être contraints de leur concéder le nul, surtout si on joue avec les noirs.
Joueurs humains de cette famille : Wilhelm Steinitz est celui qui a théorisé le jeu positionnel et a inauguré cette façon de jouer, mais son jeu est resté équilibré entre attaque et défense. Les plus illustres représentants de cette famille sont Tigran Petrossian, et Anatoli Karpov.
Il y a beaucoup de variantes possibles du jeu positionnel-défensif. Karpov est vu souvent comme un excessif serre-boulon mais c'est parce qu'on connaît de lui surtout ses parties contre Kasparov, un joueur très offensif qui contraint ses adversaires à la défense. Contre d'autres joueurs, Karpov lui même pourra être plus mobile, accepter davantage d'échanges, être un peu moins positionnel et un peu plus tactique qu'à l'habitude...

Joueurs Rodent de cette famille : Kirsten (School) / Jason (Club) / Marin (League) / Elisa (Maîtres) / Profil Tigran Petrossian / Profil Anatoli Karpov

Autres moteurs de cette famille : Shredder, Komodo, Chess Tiger, AdroitChess


Style "Positionnel-offensif"

C'est une famille un peu particulière, de style positionnel mais tourné vers l'attaque. Les joueurs de ce type font preuve d'une agressivité modérée mais qui ne se relache jamais. Au lieu de conserver une attitude défensive avant de passer à la contre-attaque une fois que l'adversaire a commis une erreur, ils menacent l'adversaire en permanence, exerçant sur ses défenses une pression constante. Il ne va jamais jusqu'à prendre des risques inconsidérés, et évite de se lancer dans de complexes combinaisons tactiques. Le joueur positionnel-offensif reste avant-tout un joueur positionnel ! Le jeu est classique, simple et clair. L'adversaire voit ce qui est train de se tramer mais, si le joueur est bon, n'arrive pas à reprendre l'initiative et se voit contraint de rester sur la défensive. La grande maîtrise des finales est une condition nécessaire, comme pour tout jeu positionnel, afin de transformer en victoire l'avantage de position obtenu.

C'est un style de jeu assez rare, aussi bien chez les humains que chez les moteurs. Parmis les premiers il y a essentiellement Mikhaïl Botvinnik et Robert Fischer. Et peut-être aussi d'une certaine manière Paul Morphy. Parmi les seconds je ne connais que Smarthink.

Joueurs Rodent de cette famille : Manon (School) / Juliette (Club) / Ambre (League) / Paolo (Maîtres) / Profil Botvinnik / Profil Fischer / profil Paul Morphy



A Noter : j'ai également utilisé Cdrill, petit moteur paramétrable, pour tenter de créer un joueur dans chacun des styles vus ci-dessus. Certains, comme Anatoly, joueur positionnel-défensif à la Karpov, sont assez réussis. Voir ICI.


Style de jeu : l'approche de Pawel Koziol

Le développeur de Rodent a une approche différente des styles, en ne regardant les choses que sous l'angle de vue de son moteur. Il distingue quatre types d'attaquants (Attackers), un type passif-agressif (passive-agressive), un type bloqueur (blockader) et un type farceur (Trickster)...

L'attaquant actif


Son potentiel d'attaque est élevé (OwnAttack de 120 à  250) et nettement supérieur à celui de l'adversaire (OppAttack restant à 90 ou 100). Sa mobilité également (OwnMobility de 110 à 150 pour OppMobility à 100). Ce type recoupe approximativement la famille tactique-offensive. Modèle: le profil de Kasparov.


L'attaquant anti-roi


Ayant le paramètre KingTropisme à une valeur élevée (de 50 à 150), ce type de joueur va privilégier l'attaque du roi adverse.



L'attaquant sacrificiel

Ce sont les joueurs qui privilégient l'initiative au détriment du matériel. MaterialValue sera à 90 ou moins.  La différence entre OwnAttack / OppAttack, OwnMobility et OppMobility sera très importante. De 50 à 350 de différence pour l'attaque et de 20 à 150 de différence pour la mobilité. Ce type correspond à peu près à mon hyper-attaquant tactique. Modèle : le profil de Tal.


L'attaquant modéré

Avec OwnAttack à 110 ou 120 pour OppAttack à 100, une égalité ou une légère préférence pour sa propre mobilité en matière de mobilité (OwnMobility à 105 contre 100 par exemple), un matérialisme très modéré (MaterialValue à 95) et une certaine attention à la position, avec notamment PawnStructure à 110-115 et PassedPawn à 105-110. Ce profil se rapproche de la famille équilibrée tournée vers l'attaque. Modèle : le profil d'Anand.


Le type bloqueur

Le joueur bloqueur est celui qui se sent à l'aise avec des échiquiers encombrés et des positions fermées dans lesquelles il est difficile de se mouvoir. C'est un joueur positionnel et défensif, assez peu porté sur l'échange. Bref, c'est l'équivalent de la famille positionnelle-défensive.
L'enjeu pour Pawel était d'apprendre au moteur à jouer efficacement et de manière réaliste une position fermée. Ce qui est assez difficile. Il n'est pas sûr d'y être arrivé, par pur modestie car il semble bien pourtant que ce soit le cas. Cela nécessite toutefois l'intervention de beaucoup de paramètres dont le "petit paramètre" KnightLikesClosed est le pivot. Modèle : le profil de Nimzowitsch ou le profil Karpov.


Le type passif-agressif

Le joueur passif-agressif va jouer durant un certain temps un jeu bloquant en position fermée, puis, son adversaire affaibli, lancera dans un deuxième temps une contre-attaque coup-de-poing. Le type recouvre exactement ma propre famille passive-agressive.
Là encore, c'est un type de joueur pas facile à simuler car il suppose un changement de style radical en cours de partie. Modèle : le profil de Tigran Petrossian, le profil Kortchnoï.



Comment obtenir des profils faibles ou moyens crédibles?


Quel que soit le profil utilisé, même mal fichu, il jouera probablement plus fort que vous si aucun dispositif n'est prévu pour brider sa force. Avec un bon profil et du bon matériel, Rodent III dépasse les 3000 Elo et il n'y a probablement pas d'humain au monde capable de le battre à ce niveau.
Pour obtenir des joueurs plus faibles, il faut ruser. Il est particulièrement difficile de simuler des joueurs de moins de 1500 Elo crédibles. Les ténors du moment (Stockfish, Houdini, Komodo, etc) sont conçus pour être très forts. Leurs programmeurs ne se demandent jamais comment les faire paraître faibles de façon réaliste. Or, c'est un exercice dans lequel Rodent excelle, au contraire.
Pour obtenir de bons profils faibles ou très faibles, Pawel Koziol a dû utiliser plusieurs procédés qui, à la sortie, donnent des adversaires dont les erreurs ne paraîtront légèrement artificielle que dans la mesure où les traits auront été volontairement accusés, pour des raisons pédagogiques. Employés en connaissance de cause, tous ces techniques permettront de simuler les faiblesses humaines avec une grande justesse.
Vous pouvez d'ailleurs créer vous-même facilement de tel profils.


Première méthode : ralentir la réflexion

C'est possible avec l'instruction "NpsLimit", qui détermine le nombre de noeuds que le moteur sera en mesure d'explorer en une seconde (NPS = noeuds par seconde). Quand la valeur est à zéro, il n'y a aucun ralentissement et si vous avez une bonne machine et un bon profil vous obtiendrez les 3070 Elo du moteur Rodent.

Si l'on écarte la variable "EvalBlur", qui réduit beaucoup le niveau de jeu, il y a un lien quasi-direct entre le Nps et le Elo théorique. Le problème est que Pawel Koziol ne cesse de donner des valeurs différentes à cette relation. Dernièrement, il a suggéré de prendre comme repère la valeur de 4000 Nps pour 2000 Elo. Partant de là, cela donne le tableau suivant :  


Nps

Elo théorique

 

4

1000

8

1100

16

1200

32

1300

63

1400

125

1500

250

1600

500

1700

1000

1800

2000

1900

4000

2000

8000

2100

16000

2200

32000

2300

64000

2400

128000

2500

256000

2600

512000

2700

1.04 M

2800

2.08 M

2900

-

3000

Elo

Nps

Blur

 

1000

50

200

1100

130

180

1200

210

160

1300

290

140

1400

370

120

1500

450

100

1600

660

80

1700

740

60

1800

1140

40

1900

2000

20

2000

4000

0

 


Evidemment c'est une approximation. Mais la relation restant valable, si vous trouvez que tous les profils sont trop forts ou trop faibles, il vous suffira de réduire le NPS de tous les profils en proportion (avec EvalBlur à zéro).

Si le profil intègre un EvalBlur positif, Pawel propose un nouveau tableau qui lie Elo et Nps à certaines valeurs de Blur (voir tableau ci-dessus).
Notez qu'en dessous d'EvalBlur = 60, l'effet sur le Elo devient faible à négligeable.


Deuxième méthode : introduire du flou dans le comportement du moteur


C'est le rôle dévolu à l'instruction "EvalBlur". Il s'agit de dégrader aléatoirement la fonction d'évaluation, jusqu'à donner l'impression que le joueur hésite entre plusieurs stratégies ou qu'il n'a pas du tout de stratégie. La valeur à employer s'étend habituellement de 0 (pas d'effet) à 200.
EvalBlur est parfait pour les faibles joueurs, mais il vaut mieux éviter de l'employer pour des joueurs moyens ou forts. Ou alors à une valeur faible. Les valeurs entre 100 et 200 entraînent une perte importante de qualité du jeu et de Elo. Dans le vieux profil d'Alexandre Alekhine, Pawel Koziol à réglé EvalBlur à 10%, ce qui ajoute un peu de variabilité au jeu du grand maître simulé.  Mais à ma connaissance, c'est le seul exemple de ce type.



Troisième méthode : faire jouer les paramètres afin d'induire des comportements fautifs


Les possibilités ne sont pas infinies mais nombreuses. Quelques exemples :

➤Sur-évaluer ou sous-évaluer certaines grosses pièces. Chez les débutants, sur-évaluer la reine, pièce facile à utiliser, est fréquent. Sous-évaluer les tours, pièces difficiles à utiliser sans quelques connaissances théoriques est tout aussi fréquent. Ce sont des défauts très faciles à générer avec Rodent.
➤Les joueurs débutants ignorent en général la valeur des pions et méconnaissent la notion de structure de pions. Cela aussi est facile à simuler.
➤Les joueurs débutants n'ayant pas de connaissances positionnelles, ils ne savent pas que le sacrifice de pièces peut être un bon moyen de se renforcer. Ils sont donc aussi spontanément matérialistes et refusent par principe de voir des pièces être mangées. Voilà encore un comportement très facile à reproduire…



Quatrième méthode : forcer le moteur à prendre des risques inconsidérés


C'est ce qu'on obtient avec le paramètre "RiskyDepth". Il modifie l'évaluation en lui permettant d'accepter des séquences de coups trop risquées pour être prises en compte par le moteur. On règle le paramètre en lui indiquant la profondeur en nombre de ½ coups qu'il peut accepter. Sachant que plus le chiffre est élevé, plus le risque d'échec grandit. En principe c'est un paramètre pour les joueurs à la Tal, de type hyper-attaquant tactique. Mais c'est assez efficace aussi sur les joueurs de niveau Kids ou School, du moins ceux qui ont un style - un peu ou beaucoup - offensif (perfectionnement récent : les vieux profils n'en disposaient pas).


Cinquième méthode : mettre "Nps Style" à la valeur 3


Ce qui dégrade la fonction d'évaluation et abîme le style du joueur (perfectionnement récent: les vieux profils n'en disposaient pas).


Sixième et dernière méthode : priver le moteur de certains algorithmes

"Search skil"l  a pour fonction de priver la fonction d'évaluation des algorithmes qui le rendent plus efficace. A zéro, seule l'évaluation de base est conservée. A 10 tous les algorithmes sont en service. Pawel Koziol donne les détails suivants à ce sujet :

Compétence  01 - Table de transposition activée
Compétence  02 - Mouvement nul activé
Compétence  03 - LMR des mouvements silencieux activée
Compétence  04 - Rasage activé
Compétence  05 - Élagage de futilité activé
Compétence  06 - Élagage tardif activé
Compétence  07 - Fenêtre d'aspiration activée
Compétence  08 - Déplacement nul statique activé
Compétence  09 - Réduction des mauvaises captures
Compétence  10 - Vérification du déplacement nul



Exemples : profils "Gogol"

Afin d'illustrer ce paragraphe, j'ai créé un profil "Gogol" en deux versions, l'une défensive, pour laquelle Gogol sera préoccupé surtout de se planquer, et l'autre, fortement offensive. J'ai utilisé toutes les méthodes de dégradation sauf Search skill et j'ai simulé une grosse série de défauts tactiques typiques des débutants. Testez-le et dites moi ce que vous en pensez…

Dans la section "Les personnalités fictives de Rodent", le fonctionnement des profils est détaillés. Etudiez-les et vous ferez de rapides progrès dans la maîtrise de la création de personnalités pour Rodent.

Rob Robinson, juin 2019


Avertissement : à l'exception de courtes citations créditées et mentionnant la source, les textes de Robinson Jeux ne peuvent être copiés sans mon consentement. Par contre, toutes les ressources que j'ai moi-même produites - tels les traductions en français, les fichiers de configuration modifiés et les profils de personnalité adaptés ou créés de toutes pièces - sont freeware et donc librement diffusables sans mon autorisation - du moins dans un cadre strictement non-commercial.


Tous les sujets concernant Rodent III

Article général : découverte du moteur et de ses caractéristiques, téléchargement, installation, configuration...

Maîtriser la création de personnalités : tout ce qu'il faut savoir pour modifier les profils existants ou en créer facilement de nouveaux

Obtenir des profils faibles ou moyens crédibles : créer des joueurs faibles réalistes est l'une des qualités rares de Rodent III

Les bibliothèques d'ouvertures de Rodent : une bibliothèque guide, pour le style, et une bibliothèque générale pour compléter, soit deux livres par profils et 32 livres en tout pour accompagner les profils Rodent. Qui dit mieux ?

Styles de jeu - Les grandes familles : joueurs humains ou moteurs, ils ont tous un style qui les apparente à l'une des 7 grandes familles de joueurs.

72 personnalités fictives pour Rodent III : des joueurs de tous les styles et de tous les niveaux de force...

Les grands maîtres de Rodent - 21 Famous personalities : reproduction réaliste de 19 joueurs historiques, d'Adolf Anderssen à Vishy Anand

Arena, l'interface la plus appropriée pour utiliser le moteur Rodent


 
 
 
 
 
 
 
 
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); })();