Slow Chess Blitz - Echecs et informatique sur PC-Windows

Rechercher
Aller au contenu

Menu principal :

Moteurs

Slow Chess Blitz



Développé par l'américain Jonathan Kreuzer, ce moteur discret est pourtant l'un des plus puissants au monde.  Il a été optimisé pour être ultra-rapide et donne des résultats impressionnants en blitz. En contrôle de temps standard, il n'est pas en reste : il est également l'un des plus forts moteurs actuels. Mais la force n'est pas tout. Fortement enrichi en connaissances positionnelles, Slow Chess Blitz est un moteur de grande qualité sur lequel on pourra compter pour tous les usages et en particulier l'analyse.


Plan de l'article

Style : attaquant opportuniste

Téléchargement et installation

  Installation dans Arena
  Installation dans Lucas Chess
  Installation dans PyChess
  Installation dans Mayura Chess Board
  Installation dans Crafty Chess Interface

Configuration

  Paramètres généraux
  Tolérance à la nullité
  Tables de finales Syzygy
  Accès au menu de configuration

Réduire la force de Slow Chess Blitz

  Avec Arena
  Avec Lucas Chess
  Avec Crafty Chess Interface
  Avec PyChess
  Avec Mayura Chess Board

Bibliothèque d'ouvertures

  Guider le moteur vers une bibliothèque de l'interface
  Créer une nouvelle bibliothèque interne

Slow Chess Blitz comme moteur d'analyse



Jonathan Kreuzer ne se souvient plus exactement à quelle date il a commencé à développer Slow Chess, mais c'était à la fin du siècle précédent. Dès ses débuts en 2000, le moteur a été salué pour ses performances impressionnantes ; il a continué à évoluer à bon rythme pendant cinq ans puis l'auteur l'a laissé de côté 14 longues années. Il ne s'est remis au travail qu'en 2019, publiant en septembre une nouvelle version, beaucoup plus forte. La dernière modification date de juillet 2022. A ce jour (septembre 2024), le moteur est estimée au classement CCRL Blitz à 3672 Elo et au CCRL 40/15 à 3458 Elo.



Une particularité de Slow Chess Blitz est qu'il incorpore sa propre interface, qui peut-être utilisée si besoin, par exemple pour générer une nouvelle bibliothèque compatible avec le moteur. Voir la page consacrée à l'interface Slow Chess Blitz.



Style : attaquant opportuniste

Ce qui est intéressant également avec ce moteur, c'est son style. Dans son évolution, il est passé d'un jeu initialement tactique à un jeu beaucoup plus équilibré entre tactique et  position. L'auteur s'est d'abord intéressé à l'arbre de jeu et aux capacités de calcul de son moteur, mais à chaque nouvelle version il ajoutait des connaissances positionnelles. Ainsi, les valeurs de position et de protection du roi sont devenues très importantes par rapport à ce qu'elles étaient auparavant. Les versions les plus récentes explorent plus lentement mais sont positionnellement beaucoup plus solides. Si autrefois il arrivait, en partie rapide contre un fort joueur, que Slow Chess se retrouve dans des situations critiques, avec des pions bloqués et des pièces piégées, n'y comptez pas trop si vous jouez contre la dernière version.
Slow Chess a la réputation d'être agressif, mais on devrait plutôt dire que c'est un attaquant opportuniste. Le style qu'il déploie dépend beaucoup de son adversaire. Il attaque principalement lorsqu'il y a une faiblesse évidente dans la position, ce qui le rend très agressif face à un joueur faible. En présence d'un joueur fort, il est beaucoup plus sage et cherchera plutôt à forcer le jeu en fin de partie. Néanmoins, le moteur, qui  possède une forte capacité à exécuter une action tactique, n'hésitera pas à passer à l'attaque s'il trouve une faille dans le jeu de son adversaire.
Au total, nous avons un moteur au style intéressant, équilibré, parfois surprenant mais d'apparence humaine.



Téléchargement et installation

Vous trouverez le moteur sur le site officiel de Jonathan Kreuzer.  Téléchargez le programme avec son interface en version Linux ou Windows. L'archive contient deux exécutables pour la version Windows : "slow64-avx2", pour les processeurs capables de gérer les jeux d'instructions AVX, et "slow64-sse", pour les processeurs compatibles SSE, SSE2 et SSE3.  
Si vous ne savez pas lequel utiliser, lancez d'abord "slow64-avx", pour afficher l'interface dédiée, et démarrez un auto-jeu : menu "Computer" > "Start Engine Selfplay". Si le programme plante, c'est que vous devez choisir "slow64-sse". Celui-ci au moins devrait fonctionner.
Ces deux fichiers peuvent aussi bien sûr être utilisés par n'importe quelle interface graphique car le moteur est compatible Winboard et UCI.  Il fonctionne très bien avec Arena, Lucas Chess, PyChess, Crafty Chess Inrterface et Mayura Chess Board, entre autres.


Installation dans Arena

Pour utiliser Slow Chess avec Arena : menu "Modules" > "Installer nouveau module" et allez chercher le fichier "slow64-avx2" ou "slow64-sse", en fonction de votre matériel. Arena considère qu'il a affaire à un moteur UCI. Inutile de le contrarier.

Installation dans Lucas Chess

Pour Lucas Chess : menu "Options" > "Configuration des moteurs" ; onglet "Moteurs externes", bouton "Nouveau" et allez chercher le fichier "slow64-avx2" ou "slow64-sse", en fonction de votre matériel. On peut également ici accéder aux paramètres de configuration du moteur.

Installation dans PyChess

Menu "Éditer" > "Moteurs" puis bouton "Nouveau"... Utilisez le navigateur pour localiser le bon fichier exécutable et "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.

Installation dans Mayura Chess Board

Menu "Engine" > "Change engine" > "Add or remove engines". Cliquez sur "Add", indiquez le nom "Slow Chess Blitz", puis allez chercher le fichier "slow64-avx2" ou "slow64-sse", en fonction de votre matériel.

Installation dans Crafty Chess Interface

Menu "Moteurs" > "Ajouter nouveau moteur". Glissez-déposez un exécutable de moteur dans la fenêtre où allez le chercher à son emplacement. A partir de là, la prise en charge est automatique. A la fin de la procédure, CCI vous demande si vous voulez le prendre comme moteur principal (à la place de Crafty). Si oui, il devient le moteur #1. Répondez "non" car s'il y a deux moteurs actifs, vous jouez toujours contre #2. Le principe est de conserver Crafty en #1, afin de l'utiliser pour les commodités qu'il offre.
Remarque : Crafty Chess Interface estime que Slow Chess Blitz est un moteur Winboard. Ne le découragez pas.



Configuration

Le menu de configuration de Slow Chess Blitz n'est pas pléthorique...



Le menu de configuration de Slow Chess Blitz dans Arena.

Paramètres généraux

Hash : la taille de la table de hachage est fixée à 64 Mo par défaut, valeur bien faible si vous utilisez le moteur à haut niveau de force, par exemple pour l'analyse. Dans ce cas, 256 Mo me semble un minimum.

Threads : par défaut un seul cœur de votre ordinateur est mobilisé. Si vous avez besoin de puissance pour Slow Chess Blitz, mobilisez autant de cœurs que possible.

Ponder :  la pondération est désactivée. La plupart des interfaces permettent de gérer directement ce paramètre. C'est vrai en particulier pour Arena. C'est pourquoi il vaut peut être mieux l'activer d'ici pour pouvoir l'activer ou la désactiver depuis l'interface.

OwnBook :
Slow Chess Blitz utilise par défaut sa propre bibliothèque interne. sauf cas particulier, nous n'aurons pas à aller contre.

Debug Log : non coché par défaut car la plupart des utilisateurs n'auront pas besoin de remplir un fichier journal.

UCI_Chess960 : Slow Chess Blitz est capable de jouer à la variante de Fischer. Attention : il faut aussi que l'interface employée sache aussi la gérer.

MultiPv : SCB gère évidemment le MultiPV, ce qui peut être utile lors d'une analyse. Bien sûr, la fonction est désactivée par défaut.


Tolérance à la nullité

ContemptMid et ContemptEnd permettent de régler la valeur de contempt pour le milieu de partie et pour la fin de partie. Ces deux paramètres sont à zéro en mode Winboard ce qui veut dire que le moteur affichera une tolérance à la nullité moyenne. Le moteur ne cherchera pas à tout prix à poursuivre dans une situation désespérée et n'abandonnera que s'il estime être dans une situation catastrophiquement inférieure. Mais en mode UCI les valeurs sont de 12 et de 4, ce qui veut dire que le moteur sera plus pugnace. Il sera moins tolérant face au risque de finir avec un résultat nul et abandonnera moins facilement, surtout en milieu de jeu. Personnellement, j'ai gardé les valeurs 12 et 4.

Tables de finales Syzygy

Slow Chess Blitz est capable de lire les tables de finales de format Syzygy. Si vous ne les avez pas, sachez quand même que le moteur utilise un noyau neuronal pour gérer les finales.

Syzygypath : indiquez ici le chemin vers vos tables de finales Syzygy si vous en disposez (Arena offre au moins les tables à trois pièces).

SyzygyProbeDepth : règle la profondeur à partir de laquelle les tables pourront être sondées. A 2, valeur par défaut, elles seront sondées très tôt. Si vous ne disposez pas d'un disque dur SSD, il vaudra mieux porter ce paramètre à 5 ou 6.


Accès au menu de configuration

Pour Arena : menu "Module" > "Module 1" > "Configurer". Pour la pondération le mieux et de l'activer ici afin de pouvoir l'activer ou la désactiver depuis l'interface : "Modules" >"Réflexion permanente" ou Shift+Ctrl+P.

Pour Lucas Chess : menu "Options" > "Configuration des moteurs". Cliquez sur le moteur dans la liste des moteurs externes installés 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 Crafty Chess Interface :
CCC ne permet pas d'accéder au menu de configuration des moteurs. Par contre, nous pouvons créer un fichier d'initialisation Winboard. Voici comment faire : créez dans le dossier du moteur un fichier txt (clic-droit, "Nouveau" > "Document texte") que vous nommerez "engineWB.txt". Il devra contenir ces paramètres (sans les commentaires entre parenthèses) :


BookEnabled=1 (0 pour désactiver la bibliothèque interne, 1 pour l'activer)
BookLearn=1 (0 pour désactiver l'apprentissage de l'ouverture, 1 pour l'activer)
BookPath=TestBook.scb (ne pas modifier)
ContemptEnd=12 (attitude vis-à-vis de la nullité en fin de partie)
ContemptMid=4 (attitude vis-à-vis de la nullité en milieu de partie)
DebugLog=0 (Journal de débogage : 0 = non, 1 = oui)
DrawOffers=1 (offre de nullité possible : 0 = non, 1 = oui)
EvalWhitePOV=1 (évaluation par référence aux blancs)
HashMB=128 (taille de la table de hachage : choisir 32, 64, 128, 256 ou 512 Mo)
LogGames=1 (création d'un PGN de la partie en cours : 0 = non, 1 = oui)
Resign=1 (abandon possible : 0 = non, 1 = oui)
SyzygyPath= (indiquer ici un chemin vers les tables de finales Syzygy)
Threads=2 (nombre de cœurs activés)

Inscrivez les valeurs dont vous avez besoin. Une fois l'édition terminée, sauvegardez et changez l'extension "txt" du fichier pour "dft".

Pour Mayura Chess Board Free : Mayura Chess Board Free ne permet pas d'accéder au menu de configuration du moteur. La version Pro (payante) le peu. Par contre nous pouvons comme vu ci-dessus créer un fichier d'initialisation mais pour une interface UCI en créant un fichier txt appelé cette fois "engineGUI.dft". On peut y inscrire davantage de paramètres à modifier. Le principe est le même : 0 = faux, 1 = vrai.

BookEnabled=1 (0 pour désactiver la bibliothèque interne, 1 pour l'activer)
BookLearn=1
(0 pour désactiver l'apprentissage de l'ouverture, 1 pour l'activer)
BookPath=TestBook.scb
ContemptEnd=4
(attitude vis-à-vis de la nullité en fin de partie)
ContemptMid=12
(attitude vis-à-vis de la nullité en fin de partie)
DisplayInfo=1 (affichage de la réflexion du moteur : oui = 1 non = 0)
DrawOffers=1
(offre de nullité possible : 0 = non, 1 = oui)
EvalWhitePOV=1
(évaluation par référence aux blancs)
HashMB=128
(taille de la table de hachage : choisir 32, 64, 128, 256 ou 512 Mo)
LogGames=0
(création d'un PGN de la partie en cours : 0 = non, 1 = oui)
MaxDepth=100 (profondeur d'exploration maximake)
Ponder=1 (pondération activée = 1, désactivée = 0)
Resign=1
(abandon possible : 0 = non, 1 = oui)
ShowLastMove=1 (siganler le dernier coup joué oui = 1, non = 0)
SyzygyPath=
(indiquer ici un chemin vers les tables de finales Syzygy)
Threads=2
(nombre de cœurs activés)




Réduire la force de Slow Chess Blitz

A moins que vous ne soyez Magnus Carlsen en personne, affronter Slow Chess à la loyale ne peut que vous conduire qu'à…l'échec. Limiter la force sera une nécessité dès lors que le moteur est utilisé comme sparring partner. Il est dommage qu'il n'accepte pas le réglage de force UCI_Elo. Nous disposons néanmoins de nombreuses possibilités "d'arrangement".

Avec Arena

Avec Arena le mieux est d'abord de désactiver la pendule (on ne peut pas se donner un bonus de temps) puis de sélectionner un contrôle de temps relativement bref - ou un temps de réflexion par coup assez bref :
➤Menu "Options" > "Pendule arrêtée" (l'icône en forme d'horloge doit être entourée d'un filet bleu. Dans ce cas, seul le moteur subit la pression du temps.
➤Menu "Niveau" > "Régler" (ou Ctrl+L),  choisir "Blitz" ou "Tournoi" puis préciser le contrôle de temps et fermer la fenêtre. Ou :
➤Menu "Niveau" > "Régler" (ou Ctrl+L) et choix "Temps par coup". Mais on ne descendra pas en dessous d'une seconde, réglage pour lequel le moteur est encore loin d'être nul. Par ailleurs, la force finalement obtenue sera variable en fonction de la puissance de la machine utilisée.
On peut également handicaper le moteur :  
➤Menu "Module" > "Module 1" > "Configurer". Régler "% Cpu" à votre convenance (les valeurs inférieures à 100 ralentissent le moteur).
Une autre façon d'handicaper le moteur est de limiter le nombre de nœuds explorés par seconde.
➤Menu "Niveau" > "Régler" (ou Ctrl +L), sélectionnez le mode "Nodes". Par défaut, le nombre de nœuds est fixé à un million. L'avantage de cette méthode est que la force obtenue est indépendante de la puissance de la machine utilisée - du moins pour les niveaux de force inférieurs à, disons pour simplifier, 2600 Elo. Le tableau ci-dessous vous donnera une indication assez grossière du lien entre niveau Elo et nombre de nœuds explorés dans cette gamme de forces.




Pour les niveaux de force proches de la puissance maximale de la machine, la vitesse du processeur et le nombre de threads employés joueront grandement sur la force.

Avec Lucas Chess

Il faut d'abord commencer une partie : "Jouer" > "Jouer contre un moteur" ; cliquer sur le gros bouton du moteur courant, puis "Moteur externe" et choisir Slow Chess Blitz. A partir de là, voici les options possibles :
➤Ne pas s'imposer de contrainte de temps : onglet "Temps". Si "Activer le contrôle de temps" est décoché, seul l'ordinateur subira la pression du temps. Le joueur humain pourra réfléchir tant qu'il voudra.  
➤Accepter une contrainte de temps plus favorable : depuis le même onglet "Temps", cliquer sur "Activer le contrôle du temps" puis en dessous déterminer un contrôle de temps pour le moteur et indiquer ensuite à combien de minutes de jeu supplémentaire aura droit le joueur humain. Dans ce cas, le moteur se conformera aux conditions prévues initialement mais le joueur humain bénéficiera d'un bonus de temps plus ou moins important.

Avec Crafty Chess Interface

Avec Crafty Chess Interface, tout se passe dans la fenêtre "Control panel". La réglette de force n'est utilisable que par le moteur Crafty interne mais deux possibilités restent  accessibles :
➤Ne pas imposer au joueur humain la pression du temps. Il suffit de régler le contrôle de temps souhaité pour le moteur, de valider (bouton "Set") puis de cliquer sur le bouton "Go" sans avoir coché la case "On".
➤Accepter de subir la pression du temps mais en se donnant une marge supplémentaire : cocher "On",  double-cliquer sur l'horloge du joueur humain dans la fenêtre "Horloge & Statuts" et dans la fenêtre qui s'ouvre, entrez un temps sous la forme "minutes:seconde". Par exemple "30:00", pour porter à 30 minutes le temps dont le joueur humain disposera.

Avec PyChess

PyChess n'offre pas un grand choix de possibilités. Nous ne pouvons que ralentir le moteur. S'assurer d'abord que Slow Chess Blitz est le moteur par défaut. Si ce n'est pas le cas, ouvrir le pop-up "Adversaire" et choisir Slow Chess Blitz. Ensuite, démarrer une partie : menu "Partie" > "Nouvelle partie" > "Depuis la position classique de départ" (ou Ctrl+N). Un menu s'ouvre ; à partir de là, choisir un contrôle de temps et réduire la force du moteur en jouant sur la réglette de force, qui se trouve sous les joueurs. Par défaut elle est à 20 valeur pour laquelle le moteur est à sa force maximale.

Avec Mayura Chess Board

Depuis le menu "Level", choisir "Time per move", "Blitz game" ou "Long game". Comme toujours, je déconseille "Fixed depth" ; "Limit engine strenght" n'est pas fonctionnel avec Slow Chess Blitz. A partir de là, deux possibilités :
➤Suspendre l'horloge : bouton pause ("II") de la barre d'outils ou menu "Clock" > "Pause". L'horloge continue à fonctionner pour le moteur mais plus pour le joueur humain.
➤S'octroyer un volume de temps supplémentaire : menu "Clock" > "Set clock". On fixe ici le temps pour les blancs et pour les noirs.



Bibliothèque d'ouvertures

Slow Chess utilise une bibliothèque interne, qui ne rassemble que 34.000 entrées. Celles-ci sont toutefois bien adaptées au style du moteur. Dans le cas où vous voudriez en utiliser une autre, vous avez deux alternatives : utiliser les possibilités offertes par la plupart des interfaces d'imposer au moteur une bibliothèque spécifique ; ou bien employer le module de création de bibliothèques de l'interface dédiée pour doter le moteur d'une bibliothèque sur mesures.


Guider le moteur vers une bibliothèque de l'interface

Changer de bibliothèque avec Arena : ouvrez le menu de configuration du moteur (menu "Modules" > "Module1" > "Configurez" - ou Ctrl+1) et décochez "OwnBook".
Puis menu "Modules" > "Gérer" (ou F11), onglet "Détails", choisissez Slow Chess dans la liste des moteurs, onglet "Bibliothèque" et employez le sélecteur de fichiers pour adjoindre à Slow Chess l'une des bibliothèques abk d'Arena.

Pour Lucas Chess : Avant de débuter une partie avec un moteur, Lucas Chess propose un menu d'où il est possible de changer la bibliothèque utilisée. Par défaut cette interface utilise sa propre bibliothèque au format Polyglot, "GMopening.bin". Mais n'importe quelle bibliothèque Polyglot valide pourra être utilisée. La méthode a changé depuis la version "R" de Lucas Chess : menu "Jouer" > "Jouer contre un moteur" ; choisissez Adroit Chess dans la liste des moteurs installés et ouvrez l'onglet "Coups initiaux". Dans la section "Activer répertoire : adversaire" cliquez sur le petit "+" bleu et allez chercher une bibliothèque au format Polyglot (*.bin).



Sur l'exemple ci-dessous, j'ai choisi pour Lucas Chess une bibliothèque réalisée à partir des ouvertures de Boris Spassky.

Créer une nouvelle bibliothèque interne

L'autre possibilité est d'offrir à Slow Chess une autre bibliothèque interne, en utilisant le générateur de bibliothèques de l'interface dédiée. Voir "Slow Chess Blitz, bibliothèque d'ouvertures". Dans ce cas bien sûr, assurez-vous que, depuis le menu de configuration, le paramètre "OwnBook" soit bien coché.



Slow Chess Blitz comme moteur d'analyse

Ultra-fort, très rapide, bon tacticien et très bien doté en connaissances positionnelles Slow Chess Blitz sera un excellent moteur d'analyse, alternativement à Stockfish ou Komodo. A utiliser pour cet usage de préférence soit avec le module d'analyse de Lucas Chess, soit avec celui de Scid vs PC.  Ces logiciels sont vraiment les meilleurs dans cette tâche.  Pour analyser une position, Arena reste aussi un bon choix…

Rob Rob, janvier 2022 (actualisation approfondie en septembre 2024).

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