Patricia - Echecs et informatique sur PC-Windows

Rechercher
Aller au contenu

Menu principal :

Moteurs

Patricia
The killer engine


Plutôt que de rechercher à obtenir la force la plus élevée possible, le développeur de Patricia, Adam Kulju, a préféré produire un moteur doté d'un style hyper-agressif très spectaculaire...




Plan de l'article

Intro
Un moteur "EAS"
Téléchargement
Installation
 Installation dans Arena
 Installation dans Lucas Chess
 Installation dans PyChess
 Installation dans Mayura Chess Board
Configuration
Gestion de la force
 La gestion de force la plus sophistiquée
 UCI_Elo ou Skill Level ?
Arena "Patricia"




Patricia est un moteur très moderne, doté des fonctionnalités de recherche les plus sophistiquées et d'une évaluation neuronale, entraînée sur 2,4 milliards de positions pour la formation générale.  Il aurait pu être un énième moteur à plus de 3500 Elo, puissant mais au style fadasse. Son auteur a préféré en faire, selon ses propres mots, "le moteur d'échecs surpuissant le plus agressif jamais créé"; ce qui signifie nécessairement, compte tenu de l'état actuel des connaissances en matière de défense, une importante chute de niveau. Heureusement, Patricia en a tellement sous le capot  qu'il reste très fort. Le classement CCRL 40/15 le place à 3281 Elo à ce jour.  De quoi gagner beaucoup de parties, en beauté, contre les ténors du jour et bien assez pour écraser n'importe quel joueur humain ou tout moteur d'échecs inférieur à 3000 Elo.
Ed Schroeder, monument de la programmation de moteurs d'échecs*, estime que "Patricia est brillante". Ed lui aussi a cherché avec Rebel 14 NNUE à créer un moteur hyper-agressif, mais Patricia l'a largement dépassé sur ce plan.  Observons pour finir que pour une fois c'est un nom féminin qui s'impose.


* Voir Rebel, Rebel NNUE, Prodeo





Un moteur "EAS"

Pour permettre au moteur de survivre plus facilement à ses coups aventureux, il a, en plus de l'entraînement général, bénéficié d'un entraînement spécifique à partir de 10 millions de positions très offensives.  Pour jauger les progrès de son moteur dans le domaine de l'attaque, Adam Kulju s'est appuyé sur l'utilitaire EAS de Stefan Pohl. EAS, pour "Engine Aggressiveness Statistics", est capable d'explorer rapidement une collection de parties (nécessairement volumineuse) en collectant les signes spécifiques d'agressivité : nombre total de sacrifices, nombre de sacrifices de pièces lourdes, taux de victoires courtes, taux de parties différentes du nul, etc. Chaque collection de parties donne lieu à un score, qui évolue entre 50 et 100.000, selon les moteurs.  Stockfish, moteur moderne considéré comme très agressif, atteint 190.000. Mais Patricia, selon les chiffres que donne Stéphan Pohl, pointe à 430.000 !



Téléchargement

On trouvera la dernière version du moteur - la v3.1 au moment de la rédaction de cet article - sur le site de l'auteur.
Télécharger Patricia pour Windows ?
Préférez l'archive "patricia-v3" plutôt que l'exécutable seul.  Notez qu'il existe une version Androïd non officielle.
Télécharger Patricia pour Androïd ?
Enfin, je vous recommande de vous procurer également les bibliothèques d'ouvertures de gambits créées par Stefan Pohl à partir de la collection de débuts de parties de J. Noomens.
Télécharger les bibliothèques "Noomen_Gambits" sur la page de Stefan Pohl ?
Ces bibliothèques sont disponibles en plusieurs formats : "Abk" (Arena), "Ctg" (Chessbase / Fritz), "Bin" (Polyglot) et "Bkt" (Shredder). La probabilité de choix d'une ouverture dépendra du format et de l'interface.




Installation

Les binaires Windows sont livrés en deux versions, V3 pour systèmes récents compatibles Avx2, et V2 pour systèmes plus anciens. Si vous ne savez lequel choisir, lancer l'exécutable "patricia-v3.exe". S'il affiche "Patricia Chess Engine, written by Adam Kulju" sans planter, c'est bon. Dans le cas contraire, la v2 fonctionnera probablement.

Installation dans Arena

Pour Arena, menu "Modules" > "Installer nouveau module" et allez chercher le fichier "patricia-v3.exe" (ou "patricia-v2.exe"). Si vous souhaitez vous éviter la corvée d'installer le moteur et ses bibliothèques vous pouvez aussi tout simplement télécharger mon Arena "Patricia" (voir plus bas).

Installation dans Lucas Chess

Menu "Options" > "Configuration des moteurs" ; onglet "Moteurs externes", bouton "Nouveau" et allez chercher le fichier "patricia-v3.exe" (ou "patricia-v2.exe"). Les paramètres de configuration du moteur étant visibles ici, vous pourrez immédiatement modifier sa configuration.

Installation dans PyChess

Menu "Éditer" > "Moteurs" puis bouton "Nouveau"... Utilisez le navigateur pour localiser le fichier  "patricia-v3.exe" (ou "patricia-v2.exe") et injectez-le dans l'interface avec "Ouvrir".  Le menu de gestion des moteurs s'ouvre et si vous cliquez sur "Options" vous pourrez dès à présent modifier la configuration du moteur - notamment choisir un niveau de force.

Installation dans Mayura Chess Board

Menu "Engine" > "Change engine" > "Add or remove engines". Cliquez sur "Add", indiquez le nom "Patricia", puis allez chercher l'exécutable du moteur là où vous l'avez stocké. Si vous ne disposez que de la version "Free", l'accès au menu de configuration n'est pas possible mais le réglage de force "UCI_Elo" est fonctionnel.



Configuration

Les possibilités de configuration de Patricia sont très limitées : 4 paramètres à régler seulement : Hash, par défaut à 32 Mo, Threads, sur 1, MultiPv sur 1 et Skill_Level sur 20. Si vous utilisez Patricia à haut niveau de force, n'oubliez pas d'augmenter la taille de la table de hachage en la portant à 256 Mo, voire plus. De même, indiquez ici le nombre de Threads disponibles sur votre système. Bizarrement, pour un moteur aussi sophistiqué, Patricia ne gère pas la pondération. Et le support des tables de finales n'a jamais été ajouté.  

Rappel :
Pour Arena, on accède au menu de configuration par "Module" > "Module 1" > "Configurer" (si Hash et Threads sont absents c'est qu'Arena prend ces paramètres en compte pour tous les modules en même temps. Voir ici à ce sujet…)
Pour Lucas Chess : menu "Options" > "Configuration des moteurs". Choisissez Patricia et dans la partie droite de la page changez les paramètres à votre convenance.
Pour PyChess : menu "Editer" > "Moteurs", choisir le moteur dans la liste, onglet "Options".

Pour Skill_Level, voyons en détails comment Patricia gère la force...



Gestion de la force

La gestion de force la plus sophistiquée

La gestion de la force est toujours un sujet délicat pour les moteurs de 3000 Elo ou plus. Généralement je conseille aux débutants et aux simples amateurs de réserver les moteurs ultra-forts aux tâches d'analyse et de conseil. Jouer contre eux en mode très affaibli produit le plus souvent un résultat bien peu naturel. Or, dans ce domaine aussi, Adam Kulju a fait très fort. Pour commencer, il a fait de gros efforts pour calibrer correctement les divers niveaux de force à partir de la version 3.1 -  reconnaissant que ce n'était pas le cas précédemment. A un réglage de 1500 Elo nous avons bien 1500 Elo et pas 300 de plus.
Les systèmes d'abaissement de niveau, qui consistent trop souvent à jouer normalement avant de commettre de temps à autre un coup désastreux ou véritablement absurde, n'est pas de mise ici. Le système de limitation de compétence utilise le MultiPv et un système de type "blur" qui le conduira à sélectionner des coups moins bons, des imprécisions voire quelques erreurs dont l'intensité va varier avec le niveau.
Deux changements majeurs bénéficient aussi aux niveaux les plus faibles : premièrement le moteur sélectionnera dans la bibliothèque d'ouvertures davantage de lignes médiocres ; deuxièmement, l'évaluation est tout simplement différente. A moins de 1500 Elo, Patricia produit un jeu plus primitif, excessif mais amusant.  


UCI_Elo ou Skill Level ?

Patricia gère le mode "UCI_Elo" / "UCI_ limit_Strength", qui permet de sélectionner un niveau au Elo près entre 500 et 3000. Certaines interfaces ne gèrant pas ce système, l'auteur a développé "Skill Level", un mode de réduction alternatif qui propose 20 niveaux dans la même gamme de forces.  


Le menu de configuration de Patricia dans Lucas Chess. Il y a deux paramètres de plus : "UCI_LimitStrength" et "UCI_Elo".

Par défaut le paramètre "UCI_limitStrength" est sur "False", donc UCI_Elo est inactif. Avec Lucas Chess ou PyChess, vous devez passer le paramètre à "True" pour pouvoir utiliser le réglage de force UCI_Elo. Cette désactivation a probablement pour but d'éviter qu'une restriction supplémentaire s'ajoute avec un réglage Skill level à moins de 20 conservé par erreur.
L'auteur donne une correspondance niveau / Elo réel, que j'ai traduite par ce graphe:





La force effective du dernier niveau dépendra en grande partie de votre configuration matérielle, laquelle ne devrait pas jouer par contre pour les niveaux inférieurs, à moins que vous utilisiez un ordinateur des années 90.

Avec Arena ou Mayura, le paramètre "UCI_limitStrength" n'est pas affiché par le menu de configuration mais semble être considéré comme "True" car "UCI_Elo" fonctionne à l'évidence, en même temps que "Skill Level".  Attention au cumul de restrictions !



<a name="signet_arenapatricia" id="signet_arenapatricia"</a></a>

Arena Patricia

Comme je le fais souvent, je vous propose de télécharger ici une version portable d'Arena avec Patricia préinstallée en plusieurs niveaux de force avec bibliothèques d'ouvertures. Contenu :
Le moteur Patricia 3.1 en version standard (vieux systèmes) et Avx2 (systèmes récents), plus rapide.
Toutes les déclinaisons de Patricia renvoient à la version standard, pour que le moteur tourne sur le maximum de configuration matérielle. Le gain apporté par la version Avx2 est réel mais ne représente un petit avantage que lorsqu'on utilise le moteur pour l'analyse. Pour les niveaux les plus élevés il suffira de lier Patricia à la version Avx2 : menu "Modules" > "Gérer", choisir la version du moteur à modifier puis onglet "Général". Avec le sélecteur de fichier du champ "L.commande", allez chercher le fichier "patricia_3.1_avx2.exe".
Bibliothèques d'ouvertures : les deux bibliothèques qui accompagnent les moteurs proviennent d'une collection de plus de 40.000 débuts de parties. Stefan Pohl en avait tiré la bibliothèque "6moves_balanced", large mais limitée à 12 ½ coups de profondeur. J'ai utilisé Arena pour produire la même bibliothèque à 8½ coups seulement, afin d'accompagner les niveaux de force les plus faibles de Patricia.  
Présente, bien que non liées aux moteurs, la bibliothèque "NoomenGambits.abk" est la version pour Arena créée par Stefan Pohl à partir de la collection de débuts de parties agressifs de J. Noomens.
19 déclinaisons du moteur, de 500 Elo à la force maximale de Patricia. Les trois plus faibles emploient la mini-bibliothèque de 8 ½ coups de profondeur.




Si vous souhaitez télécharger l'interface Arena avec les 19 déclinaisons de Patricia 3.1, il vous suffira de remplir le formulaire ci-dessous pour donner une adresse mail valide ; le lien de téléchargement vous sera aussitôt renvoyé...

Rob Rob, octobre 2024





Formateur clubJoueur de clubSimple amateur
Formateur scolaireJoueur scolaireAutre
Formateur indépendantJoueur en ligne


IMPORTANT : je répond TOUJOURS aux demandes qui me sont faites. Donc si vous ne recevez rien, c'est qu'il y a eu un problème d'acheminement du message. Il se trouve probablement dans votre boîte à spams, comme quelques personnes me l'on signalé. Boîte à spams, jamais reçu ou encore oubli de ma part (ça peut arriver aussi), merci de me le faire savoir en envoyant un message à : commerobinson (arobase) franceserv.com

Rob

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