Menu principal :
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-
Important : pour une raison que je ne m'explique toujours pas, la version 5 de Patricia issue du site officiel de Kulju ne fonctionne plus ni avec l'interface Arena, ni avec Lucas Chess. En mode console, le moteur gère l'UCI correctement. Le problème semble venir de difficultés de communication avec les interfaces. C'est pourquoi cette page est suspendue depuis 2 ou 3 mois.
Finalement, j'ai trouvé sur le site de Stefan Pohl, fervent défenseur de Patricia, un lien vers une version "patricia_5_64_ja" qui fonctionne à nouveau. J'y reviens plus bas…
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 classique dont les coefficients ont été réglés par entrainement - en l'occurrence sur 2,4 milliards de positions pour la formation générale, puis sur 50 millions de positions très offensives pour l'entraînement spécifique, afin de permettre au moteur de survivre plus facilement à ses coups aventureux (c'est le même type de procédé qui a été utilisé pour Rhetoric).
Il aurait pu être un énième moteur à 3600 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 place la v5 à 3460 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 50 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
Avant de commencer, une mise en garde : ne prêtez aucune attention aux antivirus qui veulent vous faire croire que Patricia est dangereux. Voici ce que dit l'auteur à ce sujet : "Je reçois beaucoup de signalements d'antivirus qui identifient Patricia comme un virus. Ce n'est pas un virus et ce problème affecte la plupart des moteurs d'échecs, mais il est particulièrement gênant et persistant avec elle. Si vous rencontrez des difficultés pour obtenir le fichier exécutable à cause de cela, n'hésitez pas à me le faire savoir et je verrai ce que je peux faire pour vous aider."
Mais avant de contacter l'auteur, désactivez provisoirement votre antivirus le temps de télécharger l'archive. Cela devrait suffire.
Comme spécifié plus haut la version de Patricia proposée sur l'espace GitHub de l'auteur, ne semble plus fonctionner. Je rappelle quand même l'adresse, pour ceux qui voudraient lire les explications d'Adam Kulju :
https://github.com/Adam-Kulju/Patricia/releases
Vous pourrez télécharger une version 5 qui marche depuis le Drive Proton de Stefan Pohl : https://drive.proton.me/urls/YTAHHXANQ4#HJ9O7qoQZIxH
L'archive contient cinq versions Windows : sse3_nopop, sse4, bmi2, avx512 et avx2_zen2. Pour moi, seule la moins sophistiquée (sse3_nopop) à fonctionnée. Mais l'ordinateur que j'utilise pour les échecs n'est pas une machine de concours...
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
Installation dans Arena
Pour Arena, menu "Modules" > "Installer nouveau module" et allez chercher le fichier "patricia_5_64_ja_sse3_nopop.exe" (ou une autre version). 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_5_64_ja_sse3_nopop.exe" (ou une autre version). 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_5_64_ja_sse3_nopop.exe" (ou une autre version) 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 ne sera pas possible mais le réglage de force "UCI_Elo" sera fonctionnel.
Configuration
Le menu de configuration n'est pas copieux. Il comporte seulement six paramètres à régler, tous très classiques :
➤Hash, par défaut à 32 Mo (taille de la table de hachage)
➤Threads, sur 1 (nombre de coeurs mobilisés par le moteur)
➤MultiPv sur 1 (une piste suivie seulement)
➤Skill_Level sur 21 (réglette de niveau de force, par défaut sur maxi)
➤SyzygyPath (avec son sélecteur de fichiers pour guider le moteur vers les tables Syzygy, si vous en disposez).
➤UCI_Chess960 (possibilité de jouer la variante Fischer, par défaut décoché, bien sûr).
32 Mo de Hash, c'est léger pour un moteur de plus de 3000 Elo ! Si vous employez Patricia à très haut niveau de force - par exemple pour l'analyse - n'oubliez pas d'augmenter la taille de la table de hachage en la portant à 256 Mo. 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. 
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 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 innové.
La gestion de force la plus sophistiquée
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.
En l’absence de précisions sur les conditions de test, il est raisonnable de supposer que ce calibrage est valable avec les paramètres par défaut du moteur (Hash à 32 Mo, 1 thread). Des écarts sont à prévoir si l’on modifie sensiblement ces réglages.
Il faut aussi se poser la question du contrôle de temps. Sans précisions de l'auteur, il vaut mieux privilégier un CT “moyen”, du type 40/10, 40/15, ou un blitz lent pour interpréter correctement un UCI_Elo non documenté. Si on laisse trop de temps de réflexion au moteur, il y aura d'une part "convergence", d'autre part un niveau de force bien plus élevé que prévu.
Autre point important : 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, ne sont pas de mise ici. Le système de limitation de compétence utilise le MultiPv conjointement avec un système de type "blur" qui le conduira à des imprécisions voire quelques erreurs dont l'intensité va varier avec le niveau.
Enfin, 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 - moins sophistiquée. A moins de 1500 Elo, Patricia produit un jeu plus primitif, mais toujours excessif et 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 21 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 21 conservé par erreur.
L'auteur donne par ailleurs une correspondance niveau / Elo réel, que j'ai traduite par ce graphe:

Je pense que le niveau 21, absent du graphe, devrait correspondre au niveau de force maximal du moteur. Notez que 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 !
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 20 niveaux de force (de 500 à 3000 Elo) - plus Patricia 5 Standard, avec bibliothèques d'ouvertures. Plus précisément :
➤Le moteur Patricia 5 en diverses versions : sse3_nopop, sse4, bmi2, avx512 et avx2_zen2. La version préinstallée est la plus basique : sse3_nopop. Elle sera un peu moins rapide que les autres mais fonctionnera sur tous les ordinateurs.
Si vous souihaitez lier Arena à une version plus sophistiquée : 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 bon fichier exécutable dans le répertoire "engine" d'Arena.
➤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. Les niveaux de force les plus élevée bénéficie de la bibliothèque "NoomenGambits.abk", créée par Stefan Pohl à partir de la collection de débuts de parties agressifs de J. Noomens.
Si vous souhaitez télécharger l'interface Arena avec les 20 déclinaisons de Patricia 5, 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 (révision en janvier 2026).
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