MiniChess - Echecs et informatique sur PC-Windows

Rechercher
Aller au contenu

Menu principal :

Moteurs

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  à 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 étant un moteur Winboard, il ne fonctionne pas avec Lucas Chess.



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 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 si l'on veut obtenir de Minichess un jeu de force élevé car il tend à l'affaiblir en finale, surtout en dessous de 12.


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-menu "Régler" d'Arena, permettant des réglages plus personnalisés, car nombre d'entre-eux disfonctionnent avec Minichess. C'est le cas du réglage "Temps/par coup", par exemple. Par ailleurs,  Minichess étant un moteur assez faible, l'intérêt est de l'affronter au maximum de ses possibilités. Si vous le voulez moins fort, le plus simple est de l'affronter en désactivant la pendule pour vous et en sélectionnant une partie rapide, par exemple "Partie de tournoi en 5 minutes".

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

quiescentsearch on
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-notes ou le Wordpad de Windows. Si vous souhaitez en savoir plus sur ce qu'il est possible de modifier dans ce fichier, vous trouverez un fichier d'aide en anglais dans le répertoire du moteur.


Version UCI retirée


J'ai proposé ici pendant un temps une version de Minichess fonctionnant avec le protocole UCI, grace à Winboard To UCI. J'ai supprimé cette partie en constatant, dernièrement, qu'il ne fonctionnait pas exactement de la manière prévue.



Simple Chess

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").

Rob Rob, avril 2019 (révision novembre 2021)


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