MiniChess - Echecs et informatique sur PC-Windows

Rechercher
Aller au contenu

Menu principal :

MiniChess, petit moteur pour joueurs moyens




De nos jours on manque de petits moteurs pas trop forts et équilibrés pour joueurs petits et moyens. Des moteurs dont on n'aurait pas besoin de rogner les ailes pour qu'on puisse les affronter. MiniChess en est un.




Ce moteur de Marcin Gardyjan n'est pas très puissant : sa force est estimé à 1660 Elo. Mais il a d'autres qualités. Grâce à un algorithme de "recherche silencieuse" il explore l'arborescence des coups, parallèlement à son algorithme standard, au delà de sa profondeur d'analyse habituelle. Cette routine consomme du temps-machine mais limite le très négatif  "effet horizon", responsable de l'effondrement de beaucoup d'anciens moteurs en fin de parties. Elle contribue pour beaucoup à la qualité du jeu de MiniChess.
Autre perfectionnement intéressant et plutôt rare pour un moteur de cette génération: MiniChess peut déployer quatre tempéraments de joueur différents : calme (défensif), agressif, équilibré entre ces deux tendances ou variable en fonction de la situation dans la partie.
Un très bon moteur pour joueurs petits et moyens.



Téléchargement et installation (version Winboard)

Le mieux est de télécharger le moteur sur Echecs & Informatique, avec le fichier d'initialisation modifié (voir plus bas).

Télécharger Minichess Wb ?

Installation dans Arena : menu "Modules" > "Installer nouveau module" et allez chercher le fichier "minichessai.exe".

Installation dans Crafty Chess Interface : menu "Moteurs" > "Ajouter nouveau moteur" et allez chercher "minichessai.exe".

MiniChess ne fonctionne pas avec Lucas Chess en version Winboard.


Téléchargement et installation de la version UCI

Poursuivant mes efforts de convertion des moteurs Winboard que j'aime en moteur UCI (avec Wb2Uci), je me suis penché sur le cas de Minichess. Je peux vous proposer une version UCI fonctionnelle, que vous pourrez utiliser avec Lucas Chess, Scid vs Pc et Mayura Chess Board. C'est le seul véritable gain car il n'y a pas de paramètres vraiment utiles à afficher


Télécharger Minichess en version UCI ?


Installation dans Lucas Chess : menu "Outils" > "Moteurs" > "Moteurs externes" ; bouton "Nouveau" et allez cherchez "Minichess UCI.exe".

Installation dans Scid vs PC : menu "Outils" > "Moteur d'analyse" puis bouton "Nouvelle". Donnez un nom au moteur (par exemple "Minichess UCI") et utilisez le bouton "Parcourir" pour aller chercher "Minichess UCI.exe".

Installation dans Mayura Chess Board : menu "Engine" > "Change engine" > "Add or remove engines". Cliquez sur "Add", indiquez le nom "Minichess UCI", puis allez chercher l'exécutable "Minichess UCI.exe" là où vous l'avez stocké.



Configuration

MiniChess s'appuie pour fonctionner sur un fichier "minichessai.ini", bien documenté par l'auteur du programme. Voici les paramètres les plus importants :

Bibliothèque d'ouvertures interne

"usebook on" (active) ou "usebook off" (désactivée)
La bibliothèque interne est assez petite (71 ko) mais suffira à donner le ton de la partie. Si vous comptez utiliser le moteur avec Crafty Chess Interface il devra se contenter de cette mini-bibliothèque, faute de mieux (j'ai essayé de la remplacer par d'autres bibliothèques au format *.book mais ça n'a pas fonctionné).
Avec Arena, il suffira de désactiver la bibliothèque interne et d'aller dans le module de gestion des moteurs pour le forcer à utiliser l'une de celles de l'interface.

Algorithme de "recherche silencieuse"

"quiescentsearch on" (actif) ou "quiescentsearch off" (désactivé)
Cet algorithme ralentit le moteur mais apporte force et homogénéité à son jeu. Il ne faut surtout pas le désactiver.

Réglage du "tempérament" du moteur

Les paramètres disponibles sont :
"emotionrandom on" (choix aléatoire d'un tempérament à chaque nouvelle partie) et "emotionrandom off". Dans le second cas, vous devez indiquer au moteur laquelle des quatre personnalités vous voulez : "emotion calm" (tempérament posé et défensif), "emotion normal" (tempérament équilibré), "emotion aggressive" (tempérament offensif, voire imprudent). Enfin, si vous choisissez plutôt "emotion mixed", le style évoluera en fonction de la situation de Minichess dans la partie : s'il gagne il deviendra "confiant" et il prendra des risques; s'il perd, il se calmera et son jeu deviendra plus défensif.

Table de hachage

"sethashtable x"
x est la taille de la table de hachage en Mo. Par défaut elle est à 1 Mo, une valeur ridiculement faible, même pour un petit moteur comme MiniChess.

x doit être un chiffre en octets. Donc :
x = 16384 pour 16 Mo
x = 32768 pour 32 Mo
x = 65536 pour 64 Mo
16 Mo devrait suffire, mais à moins de faire tourner MiniChess sur un vieux riblon, vous devriez pouvoir porter la taille de la table à 32 ou même 64 Mo sans problème. Compte tenu de la force du programme, il ne me parait vraiment pas nécessaire de mobiliser davantage de mémoire vive.



Pas de menu de configuration, juste un petit fichier ini...

Paramètres de temps et de profondeur

Il est possible de régler les paramètres de temps dans le fichier "ini" mais cela ne fait pas bon ménage avec les choix faits depuis l'interface utilisée pour faire tourner MiniChess. Mieux vaut s'abstenir.
Par contre les réglages de profondeur sont pris en compte, du moins tant qu'ils n'entrent pas en conflit avec le temps déterminé pour la partie. Si vous mettez dans le fichier ini :
levelmode depth
depth 1

MiniChess jouera en ne recherchant qu'un ½ coup en avant, donc à toute vitesse, même si vous avez sélectionné une partie longue depuis l'interface.
Si vous mettez :
levelmode depth
depth 15

le moteur explorera jusqu'au 15eme ½ coup si le réglage de temps de l'interface ne l'oblige pas à jouer plus vite. Autrement dit, le réglage de profondeur est un bon moyen pour fixer un niveau de force maximum au moteur.

Voici pour finir le contenu du fichier "minichessai.ini" que vous trouverez avec l'archive :

quiescentsearch on
usebook on
emotionrandom on
sethashtable 65536
levelmode depth
depth 12


C'est un simple fichier texte. Il peut être modifié facilement en utilisant le bloc-notes de Windows.


Configuration de la version UCI


Tout ce qui a été vu pour la configuration du moteur en version Winboard reste valable pour la version UCI car le moteur va continuer à utiliser le fichier "minichessai.ini". Avec celui que je fourni, le moteur va utiliser sa bibliothèque d'ouvertures et l'algorithme de recherche silencieuse. Le style de jeu sera choisi aléatoirement au démarrage d'une partie et la taille de la table de hachage sera réglée sur 64 Mo. Vous pouvez bien sûr modifier ces paramètres en éditant le fichier avec le bloc-notes ou n'importe quel éditeur de texte.

Attention : même converti en UCI, Minichess n'accepte toujours pas le réglage au temps/coup. Si vous le faites, il dysfonctionnera.  Il faudra le gérer comme un moteur Winboard, en choisissant un temps pour toute la partie. Mais Minichess étant déjà un moteur assez faible, l'intérêt est de l'affrontrer à son niveau maximum. Donc cette petite limitation ne devrait pas être un problème.



Rob Rob, avril 2019 (révision octobre 2020)


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