Cdrill - Echecs et informatique sur PC-Windows

Rechercher
Aller au contenu

Menu principal :

Moteurs

CDRill, petit maître paramétrable



Ferdinand Mosca a développé ce moteur spécifiquement pour imiter le jeu humain, sans chercher à en faire une bête à concours. CDrill est aussi  l'un de ces moteurs qui autorisent la modification de leur  "personnalité", en nous laissant jouer avec six critères très classiques : l'intérêt pour le matériel, la structure de pions, la mobilité, la détection de menaces, l'attention aux pions passés et l'agressivité vis-à-vis du roi adverse.
Rapide mais de force inférieur à 2000 Elo, il sera un excellent adversaire pour joueurs moyens.



Il joue comme... à vous de choisir !

Cdrill est un moteur paramétrable. Sur son site, l'auteur propose deux exemples de modifications du moteur pour obtenir deux types opposés : un joueur positonnel et un joueur tactique. Le moteur est facilement modifiable, avec six critères qui, s'ils ne sont pas nombreux, sont faciles à comprendre et à utiliser. Six paramètres qui peuvent facilement donner à Cdrill plusieurs personnalités bien différentes. Voir ci-dessous.



Téléchargement et installation

Procurez vous le moteur de préférence sur le site officiel.
Télécharger Cdrill ?

Vous trouverez ici la dernière version de Cdrill, datant de mai 2018, livrée sous la forme d'un unique exécutable "Cdrill_1800_build_4.exe". La bibliothèque d'ouvertures n'est pas présente dans l'archive. Téléchargez-là un peu plus bas, associée à la version build 3 de Cdrill (Download book). Il s'agit d'un fichier appelé "cdrill.bin", de petite taille (31 ko) l'auteur ne souhaitant pas qu'elle aille au delà de six coups. Surtout, n'oubliez pas de copier ce fichier dans le dossier du moteur.

A noter : Cdrill existe aussi en version Androïd, téléchargeable sur la même page du site officiel.


Installation dans Arena

Pour Arena : menu "Modules" > "Installer nouveau module" et allez chercher le fichier "CDrill_1800_Build_4.exe". Rappel : n'oubliez pas d'installer la bibliothèque d'ouvertures "cdrill.bin".

Installation dans Lucas Chess


Cdrill est déjà l'un des moteurs internes de Lucas Chess. Comme toujours sans possibilité d'accès au menu de configuration, ce qui nous prive de la possibilité de configurer la personnalité du moteur. Vous pouvez cependant le réinstaller comme moteur externe : menu "Outils" > "Moteurs" > "Moteurs externes" ; bouton "Nouveau" et allez cherchez le fichier "CDrill_1800_Build_4.exe". Rappel : n'oubliez pas d'installer la bibliothèque d'ouvertures "cdrill.bin".


Configuration

Configuration depuis Arena

Il faut que le moteur soit en fonctionnement. Puis ouvrir "Module" > "Module 1" (ou "module 2" s'il fonctionne en second moteur) et "Configurer". Voyons en détails :



Cdrill : profil standard

Les paramètres

Ponder
: cochez pour activer la réflexion sur temps adverses (pondération). Le moteur continuera à réfléchir pendant que vous préparez votre coup suivant. Vous pourrez activer et désactiver la pondération depuis le menu "Modules" > "Réflexion permanente" d'Arena.

MultiPv : le MultiPv permet au moteur d'explorer plusieurs variations en même temps, en jeu comme en analyse.

Ownbook : cochez si vous souhaitez que Cdrill utilise sa bibliothèque interne, ce qui me parait le meilleur choix.  L'auteur avait une démarche particulière pour le livre d'ouvertures, toujours dans le soucis de faire paraitre son moteur humain : un maximum de six coups seulement sera pris en charge par la bibliothèque. De plus le coup joué est tiré au sort entre plusieurs possibilités et ne se contente pas d'afficher toujours la même ligne optimale. C'est la meilleur approche des bibliothèques d'ouvertures pour un moteur  destiné à servir d'adversaire.

Remarques : l'interface prime toujours sur le réglage interne du moteur. Concernant Arena, prendre soin de vérifier que dans les réglages généraux des moteurs UCI, les "paramètres commums propre biblio" et "Modules utilisent leur propre bibliothèque" sont bien cochés.
Attention également que dans l'onglet "Bibliothèque" de l'interface de gestion des moteurs, Cdrill ne soit pas forcé de lire une des bibliothèques d'Arena.
Avec Lucas Chess, c'est toujours la dernière bibliothèque d'ouvertures sélectionnée pour l'interface qui est utilisée. Pour le forcer à utiliser la bibliothèque interne de Cdrill, il n'a pas d'autre moyen que de copier le fichier "cdrill.bin" du moteur dans le répertoire "Openings" de LC puis de l'indiquer au moteur dans la zone "Répertoire" de l'onglet "Coups initiaux" (voir aussi plus bas).


Tout le reste relève des réglages de "personnalité". Six critères sont mobilisés :

➤Material weight (poids du matériel)
➤Pawn structure weight (intérêt pour la structure de pions)
➤Passed pawn weight (attention aux pions passés)
➤Mobility weight (mobilité plus ou moins grande)
➤Threat weight (attention accordée à la détection des menaces adverses)
➤King attack weight (agressivité vis-à-vis du roi adverse)
➤King shelter weight (attention prêtée à la protection de son propre roi)

Chaque paramètre doit être compris entre 0 et 1000. Il ne me parait pas très raisonnable toutefois d'aller au dela de 250. Je me trompe peut-être... Par défaut ces paramètres sont tous réglés à 100, ce qui donne à Cdrill un style neutre et équilibré, entre jeu positionnel et jeu tactique. Heureusement, l'auteur nous donne quelques exemples bien utiles pour nous aider à nous y retrouver. Il propose deux réglages, l'un pour un joueur positionnel,  un autre pour un joueur tactique. Je les rappelle ci-dessous :

Joueur positionnel

Material Weight : 80
Pawn structure Weight : 120
Passed pawn weight : 110
Mobility weight :  120
Threat Weight :  110
King attack Weight : 100
King shelter weight : 100

Joueur tactique

Material Weight : 65
Pawn structure Weight : 90
Passed pawn Weight : 100
Mobility weight :  150
Threat Weight :  150
King attack Weight : 110
King shelter weight : 100




Cdrill : menu de configuration-



Configuration depuis Lucas Chess

Cdrill est l'un des moteurs internes de  Lucas Chess. Il est donc non-réglable, à moins de le réinstaller comme moteur externe. Dans ce cas on accède à un module de configuration pratiquement identique à celui qu'affiche Arena.


Livre d'ouvertures : changer de bibliothèque "guide"

Cdrill dispose d'une bibliothèque interne au format Polyglot "*.bin". Elle ne pèse que 31 Ko et servira surtout à donner le ton de l'ouverture. Comme nous l'avons vu, l'auteur ne souhaite pas que le recours à la biblio dépasse les 12 premiers 1/2 coups, ce qui correspond bien au concept de bibliothèque "guide".

Cette bibliothèque, qui a pour nom "cdrill.bin", est "généraliste", en phase avec le profil neutre par défaut du moteur. Mais vous pourriez avoir besoin d'une autre bibliothèque pour accompagner vos modifications de personnalité.
Pour remplacer la bibliothèque interne, il y a une manip simple: changez le nom du fichier "CDrill.bin" en "xCDrill.bin" (pour le conserver) et collez dans le dossier une autre bibliothèque au format "*.bin". Puis changez son nom en "CDrill.bin".
Vous trouverez dans l'article concernant Rodent toute une collection de petites bibliothèques guide que vous pourrez accorder aux diverses personnalités de Cdrill.

Télécharger les bibliothèques-guides de Rodent ?

Vous trouverez ci-dessous les réglages pour obtenir des joueurs au style typé. Anatoli ou Rose sont des joueurs positionnels-défensifs. La bibliothèque "solid.bin" leur ira très bien.
Pour Mikhaïl, hyper-attaquant tactique, la bibliothèque "ph-gambitbook" sera parfaite.
la bibliothèque "active" conviendra bien aux joueurs tactiques comme Gary ou positionnel-offensifs comme Bobby.  
"flank.bin" est une bibliothèque d'ouvertures hypermodernes, faisant la part belle aux démarrage "de flanc". Elle peut convenir à beaucoup de joueurs différents, par exemple Viktor ou le profil Cdrill standard.
"ph-exoticbook" et "tricky" sont des bibliothèques d'ouvertures inhabituelles, voire fantaisistes (pour tricky).
Enfin, "low" est une bibliothèque minimale ne contenant que quelques mouvements, pour les tous premiers coups.

Rappel : concernant Lucas Chess, la bibliothèque ne pourra être utilisée que si elle est copiée dans le répertoire "Openings" de LC et le moteur déclaré depuis l'interface, lorsqu'une partie débute.

Voir aussi un peu plus haut les remarques concernant le paramètre "Ownbook".



Nouveaux joueurs

Les capacités de "programmation" de Cdrill sont trop frustres pour espérer simuler avec précision le style d'un joueur en particulier ; en revanche elle sont suffisantes pour créer un joueur dans quelques grands styles. Voici quelques exemples :


Mikhaïl, hyper-attaquant tactique


Joueur très mobile, concentré sur l'attaque, très peu matérialiste, attachant relativement peu d'importance à la position et à la détection des menaces de l'adversaire. Force : **



Material weight : 65 (joueur non-matérialiste, adepte du sacrifice à outrance)
Pawn structure weight : 75 (soucis faible pour une bonne position)
Passed pawn weight : 75 (la promotion d'un pion n'est pas une priorité)
Mobility weight : 175 (jeu très mobile)
Threat weight : 80 (ce joueur préfère se consacrer à sa propre attaque plutôt que de percer les intentions
offensives de l'adversaire)
King attack weight : 170 (priorité à l'attaque du roi adverse)
King shelter weight : 70 (faible souci défensif)


Gary, joueur tactique-offensif

Adepte des combinaisons tactiques brillantes, c'est un attaquant,  mais plus raisonnable que Mikhaïl. Il attache une certaine importance à ses pièces et ne néglige pas exagérément la préservation de sa position. Force : ***



Material weight : 80 (joueur peu matérialiste)
Pawn structure weight : 80 (souci modéré pour une bonne position)
Passed pawn weight : 80
(la promotion d'un pion n'est pas prioritaire)
Mobility weight : 160 (forte mobilité)
Threat weight : 80 (ce joueur préfère se consacrer à sa propre attaque plutôt que de percer les intentions offensives de l'adversaire)
King attack weight : 160
(priorité à l'attaque du roi adverse)
King shelter weight : 70
(faible souci défensif)


Viktor, joueur passif-agressif

Joueur fortement positionnel et défensif mais capable de contre-attaques agressives. Force : ****




Material weight : 110 (joueur matérialiste)
Pawn structure weight : 130 (attention élevé à maintenir une bonne structure de pions)
Passed pawn weight : 120 (prépare le passage des pions)
Mobility weight : 130 (jeu mobile)
Threat weight : 160 (joueur concentré sur la détection des menaces)
King attack weight : 130 (... mais gardant un bon coup de poing en réserve)
King shelter weight : 130 (préserve son propre roi)


Cdrill, joueur au style équilibré

C'est la configuration par défaut du moteur. Tous les paramètres sont à 100, en position moyenne. Cdrill à un jeu très équilibré entre position et attaque. Force : *** (1879 Elo sur CCRL 40/15)





Anatoli, joueur positionnel-défensif

Ce joueur cherche avant tout à obtenir un gain de position et à conserver une bonne posture défensive. Il n'attaque l'adversaire que rarement, attendant plutôt qu'il commette une faute qui mettra en péril sa position. Force : *****




Material weight : 130 (joueur très économe de ses pièces)
Pawn structure weight : 130 (attention soutenu à conserver une bonne structure)
Passed pawn weight : 130 (prépare le passage des pions pour la promotion)
Mobility weight : 90 (jeu assez lent et prudent)
Threat weight : 150 (consacre beaucoup d'effort à la détection des manoeuvres offensives de l'adversaire).
King attack weight : 70 (faible tropisme offensif)
King shelter weight : 130 (priorité à la protection de son propre roi)


Bobby, joueur positionnel offensif

Joueur positionnel mais restant mobile, pour execercer une pression constante sur l'adversaire. Jeu qui parait simple et clair. Force : ****





Material weight : 110 (poids des pièces légèrement accru)
Pawn structure weight : 110 (intérêt pour une bonne structure)
Passed pawn weight : 110 (prépare la promotion sans obsession)
Mobility weight : 140 (jeu très mobile)
Threat weight : 120 (attentif aux manoeuvres de l'adversaire)
King attack weight : 120 (tropisme anti-roi modéré)
King shelter weight : 110 (protège son roi sans obsession)


A noter : si vous cherchez à réinstaller plusieurs fois le même moteur, Arena vous proposera un nom provisoire, dans le genre "cdrill_1800_build_4 [001]". Vous pouvez ainsi, sans encombrement supplémentaire de votre disque dur, créer un nouveau Cdrill pour chaque nouvelle personnalités du moteur. Vous devrez lui donner un nom, par exemple "Cdrill Mikhaïl", et adapter les paramètres de personnalités depuis le menu de configuration du moteur, dans Arena.
Par contre, si vous souhaitez utiliser des bibliothèques d'ouvertures différentes en fonction de la personnalité, vous aurez intérêt à dupliquer le dossier du moteur et à changer dans chaque dossier la personnalité et la bibliothèque d'ouvertures.





Evaluation des personnalités

Les paramètres choisis ont un fort impact sur les performances du moteur, comme j'ai pu le vérifier en faisant jouer Cdrill, version standard, contre mes cinq autres personnalités dans un tournoi toute ronde de parties blitz, géré par Arena. 25 parties par moteur, 150 parties en tout, ce qui a mobilisé l'un de mes ordinateurs pendant plus de 24 heures. Et 50 points à glaner par candidat.

Résultats de ce tournoi :
Anatoli arrive nettement en tête avec 38 points. Viktor et Bobby sont au coude à coude, avec 34,5 et 33,5 points. Les trois autres moteurs sont nettement distancés. La surprise est de voir Cdrill en 5eme position avec seulement 21 petits points. Gary, qui était censé reproduire approximativement le jeu de Kasparov, est un peu meilleur, avec 23 points. Le plus impressionnant est la contre-performance radicale de Mikhaïl, le  joueur le plus agressif. Aucun point marqué ! Le moteur n'aura même pas réussi à obtenir une seule partie nulle !  



Au delà des dix premières parties, la hiérarchie entre les six moteurs n'a plus jamais été remise en cause, sauf pour Viktor et Bobby, qui échangeaient parfois leur place. Il me paraît évident que si Cdrill est crédité de 1879 Elo sur le site CCRL 40/15, Cdrill version Anatoli est assez nettement plus fort. Je croyais que Ferdinand Mosca avait choisi la configuration la plus performante pour son moteur, qui aurait donc naturellement un jeu équilibré entre attaque et défense, façon petit maître humain. Mais visiblement, la personnalité équilibrée du moteur n'était pas le choix optimum. Cdrill semble être en réalité un moteur positionnel et attentiste, qui a plus de mal en configuration d'attaquant. Mosca a probablement accepté un affaiblissement de son moteur afin de lui procurer le  jeu équilibré d'un petit maitre humain qu'il souhaitait pour lui. Comme il ne le voulait pas trop fort non plus, cela ne lui posait aucun problème.

Côté comportement, Anatoli est moins bloquant et défensif que je ne le pensais, acceptant un peu trop facilement l'échange et faisant preuve d'un style moins positionnel que prévu. En fait, son jeu reste encore assez équilibré. J'ai pensé qu'il y aurait peut-être intérêt à pousser un peu les paramètres pour obtenir un jeu plus tranché (voir la personnalité "Rose", plus bas).


Le profil Mikhaïl se comporte comme prévu : hyper-offensif et acceptant des échanges de pièces parfois très déséquilibrés. Contrairement à Mikhaïl Ta,l il n'est toutefois pas en mesure la plupart du temps de redresser sa situation.

Bobby correspond assez bien au joueur positionnel offensif que je voulais obtenir. Et Gary au joueur offensif, façon Kasparov. En revanche, Viktor ne reflète pas vraiment le type passif-agressif, à la Kortchnoï. Malgré son souci positionnel, il attaque assez vite, poussé par ses paramètres offensifs. Pas vraiment étonnant : ce style suppose un changement radical au cours du jeu, attentiste d'abord, puis agressif en seconde période. Un comportement que même Rodent III, avec ses 80 paramètres, peine à simuler correctement.


Révision du profil Mikhaïl

La déroute de Mikhaïl ne me surprend pas complètement. Les configurations à la Tal sont généralement associées à une perte de Elo conséquente. Toutefois, la contre-performance est vraiment trop radicale. Initialement, j'avais comme paramètres: Material weight : 50 / Pawn structure weight : 70 / Passed pawn weight : 70 / Mobility weight : 200 / Threat weight: 70 / King attack weight : 200 / King shelter weight : 70.
Pour améliorer son jeu, j'ai choisi les nouveaux paramètres suivants :
Material weight : 65 / Pawn structure weight : 75 / Passed pawn weight : 75 / Mobility weight: 175 / Threat weight : 80 / King attack weight : 170 / King shelter weight : 70.
Quelques parties contre Cdrill ont montré une nette amélioration, Mikhaïl, réussissant à obtenir quelques parties nulles. Il reste cependant le joueur le moins fort de la série.


Tournoi d'Anatoli

Pour juger du niveau d'Anatoli, je l'ai fait jouer en partie rapide (partie de tournoi de 12 mn) contre des moteurs de force voisine de 2000 Elo: AdroitChess (2080 Elo), Sissa (1950 Elo), Mustang (2040 Elo) et Chenard (1820 Elo). Un tournoi de 32 parties, soit 8 parties contre chaque moteur. Résultat final :

➤Contre Chenard, 6 parties gagnées, 2 nulles.
➤Contre Mustang, 2 gagnées, 2 nulles
➤Contre Sissa, 1 gagnée, 3 nulles
➤Contre Adroit Chess, 2 parties gagnées.

Anatoli a également joué 10 parties semi-rapides (tournoi de 15 mn) contre Sissa, toujours avec les blancs. Il a gagné 3 parties et à obtenu deux nulles. Le niveau de force d'Anatoli semble donc bien se situer entre 1900 et 1950 elo.


Rose, la plus forte

En étudiant les parties d'Anatoli, plus fort joueur de la série, je l'ai trouvé moins positionnel et défensif que je ne l'aurais voulu. J'ai alors créé Rose, avec les paramètres suivants :



Material weight : 140 (joueuse matérialiste)
Pawn structure weight : 140 (forte attention à la conservation d'une bonne position)
Passed pawn weight : 140 (prépare activement la promotion des pions)
Mobility weight : 70 (avance lentement et prudemment)
Threat weight : 150 (activité tourné vers la détection des menaces de l'adversaire)
King attack weight : 50 (faible activité offensive)
King shelter weight : 140 (fort dispositif de protection de son roi)

Surprise : Rose est sensiblement plus forte qu'Anatoli ! Dans un tournoi d'une dizaine de parties blitz contre lui, elle remporte 7 victoires et concède une nulle. Elle obtient exactement le même résultat dans un tournoi de 10 parties rapides. Sa supériorité est nette. Elle me conforte dans l'idée que Cdrill est un moteur naturellement peu enclin à l'attaque et qui se sent beaucoup mieux en défense.

Côté comportement, Rose joue comme prévu de manière positionnelle et défensive.
Force : ******, soit pas loin de 2000 Elo.



Rob Rob, avril 2019 (révision avril 2021)

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