Menu principal :
MiniChessAI
Petit moteur pour petits joueurs
MiniChessAI est un petit moteur pas très fort mais équilibré et au jeu de qualité dont on n'aura pas à rogner les ailes avant de l'offrir comme adversaire à des joueurs modestes.
Comme je ne manque jamais une occasion de le répéter, si l'on est un joueur de 1500 Elo ou moins, il est beaucoup plus rationnel de jouer contre un moteur de force limitée mais sérieux plutôt que de ramener à 1500 Elo un moteur surpuissant comme Stockfish. Les programmeurs de ces moteurs ne se demandent jamais comment les faire jouer faiblement de manière crédible.
MiniChessAI est justement l'un de ces vieux petits moteurs dont les joueurs modestes et les amateurs ont toujours besoin. Développé il y a bien des années par le polonais Marcin Gardyjan, il n'est pas très puissant : sa force est estimée à 1600 Elo ou un peu plus. Mais il a beaucoup de 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 heuristique, qui était rare sur des productions de programmeurs amateurs il y a 20 ans et plus, limite le très négatif effet horizon, qui conduisait les moteurs à des bévues que ne feraient pas des joueurs de club débutants. Elle contribue à l'homogénéité du jeu de MiniChessAI
Autres perfectionnements intéressants et plutôt rares pour un moteur de cette génération : la bibliothèque d'ouvertures s'améliore dans le temps par auto-
Téléchargement
MiniChessAI a disparu du Web. Je le propose donc sur mon espace Mega.
Télécharger MiniChessAI ?
L'archive du moteur contient les fichiers suivants :
"minichessai.exe" : l'exécutable du moteur
"minichessai.ini" : un fichier de configuration éditable
"minichessai.txt" : petite documentation bien utile pour comprendre le paramétrage du moteur
"minichessai.log" et "minichessai.log2" : fichiers de données
"miniailastgame.pgn" : sauvegarde des dernières parties
"minichessaimaster.book" : bibliothèque d'ouvertures
MiniChess est un moteur Winboard. J'ai proposé un temps ici une version que j'avais adapté à l'UCI avec Wb2Uci mais je l'ai supprimée en constatant qu'elle ne fonctionnait pas exactement de la manière prévue.
Installation
Installation dans Arena
Pour Arena, menu "Modules" > "Installer nouveau module" et allez chercher le fichier "minichessai.exe".
Installation dans Crafty Chess Interface
Pour Crafty Chess Interface, menu "Moteurs" > "Ajouter nouveau moteur" et allez chercher "minichessai.exe".
Installation dans PyChess
Pour PyChess, menu "Éditer" > "Moteurs" puis bouton "Nouveau"... Utilisez le navigateur pour localiser le fichier "minichessai.exe" et injectez-
Moteur Winboard, MiNiChessAI ne fonctionne ni avec Lucas Chess ni avec Mayura Chess Board.
Configuration
MiniChess s'appuie pour fonctionner sur un fichier "minichessai.ini", bien documenté par l'auteur du programme. Ce fichier est modifiable avec un simple éditeur de textes tels le bloc-
"usebook on" (active) ou "usebook off" (désactivée)
La bibliothèque interne est assez petite (71 ko) mais suffisante pour donner le ton de la partie. Elle affiche l'extension "*.ebook" mais n'est pas pour autant une eBook habituelle car il est impossible de lui substituer une autre bibliothèque à ce format. Si vous comptez utiliser le moteur avec Crafty Chess Interface il devra se contenter de cette bibliothèque. 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 de "recherche tranquille" ralentit un peu le moteur mais améliore la qualité générale de son jeu. Il ne faut surtout pas le désactiver.
Réglage du "tempérament" du moteur
Pour varier le style de jeu du moteur, il faut jouer sur les quatre paramètres suivants :
"emotionrandom on"
L'un des quatre tempéramments sera choisi aléatoirement au début de chaque nouvelle partie.
...ou "emotionrandom off"
Dans ce cas, vous devrez indiquer au moteur laquelle des quatre personnalités vous souhaitez :
➤"emotion calm" : tempérament posé et défensif
➤"emotion normal" : tempérament équilibré
➤"emotion aggressive" : tempérament offensif, voire imprudent
➤"emotion mixed" : le style évoluera en fonction de la situation de Minichess dans la partie : s'il perçoit sa position comme très bonne, il gagnera en confiance et prendra des risques ; s'il perçoit au contraire sa position comme mauvaise, il se calmera et jouera plus prudemment.
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 au maximum jusqu'au 15eme coup si le réglage de temps de l'interface ne l'oblige pas à jouer plus vite. Cela étant dit, le réglage de profondeur n'est pas recommandé en général.
Niveau de force
Il est possible de fixer dans le fichier ini des limites de temps, de profondeur ou de nombre de situations explorées, mais avec une interface performante comme Arena, il vaut mieux se contenter des 15 réglages standards du menu "Niveaux". Eviter d'utiliser le sous-
Voici pour finir le contenu du fichier "minichessai.ini" que vous trouverez avec l'archive :
usebook on
emotionrandom on
sethashtable 65536
La recherche silencieuse est activée, la bibliothèque interne aussi, le style de jeu est choisie aléatoirement à chaque nouvelle partie et la table de hachage est portée à 64 Mo.
C'est un simple texte, qui peut être modifié facilement en utilisant le bloc-
Simple Chess et Arena "Petits Moteurs"
Si l'intégration du moteur dans une interface comme Arena vous semble rebutante ou trop complexe, vous pourriez lancer le programme Simple Chess. C'est une petite interface que Marcin Gardyjan a développé parallèlement au moteur pour accompagner Minichess. Elle est assez mignone et très facile à utiliser (Voir la page "Simple Chess").
Une autre possibilité serait de télécharger la copie portable d'Arena dans laquelle j'ai pré-
Rob Rob, avril 2019 (révision approfondie en juin 2024)