AnMon - Echecs et informatique sur PC-Windows

Rechercher
Aller au contenu

Menu principal :

Moteurs


AnMon
Moitié ANge, Moitié déMON



Apparu en 1995, ce moteur français est l'un des premiers à s'être révélé compatible avec l'interface Winboard et son protocole de communication. Moteur tactique très offenssif, il a continué à évoluer jusqu'en 2009, gagant en force sans perdre son style casse-cou initial. L'ultime version, la 5.75, dépasse les 2500 Elo. Moteur très véloce, AnMon est particulièrement efficace en partie rapide ou blitz. Son point faible et d'être relativement moins bon en fin de partie s'il n'utilise pas les tables de finales Nalimov...


Plan de l'article

Un style qui évoque Mikhaïl Tal et Alexeï Shirov
  
Téléchargement et installation
  
Configuration
  Avec Arena
  Avec Lucas Chess
  Avec PyChess
  
Bibliothèque d'ouvertures
  
Gérer la force du moteur
  Avec Arena
  Avec Lucas Chess
  Avec PyChess
  Avec Crafty Chess Interface



Le français Christian Barreteau est un programmeur amateur qui, pendant huit ans, a développé et amélioré AnMon sur son temps libre.  Il a produit un engine de grande qualité, vif comme l'éclair, plus offensif que Kasparov mais dont le jeu ne ressemble pas à celui d'un bot. Je veux dire par là que même si AnMon est un moteur plus tactique que positionnel, cela reste dans des normes qui paraissent humaines.  Laissons parler Nicolas Normand,  qui a mené une exploration poussée du fonctionnement de ce moteur :
"Anmon est un programme équilibré,  mais tourné vers l'attaque. Ses évaluations de positions se basent principalement sur les considérations tactiques, et il est poussé à attaquer et prompt au sacrifice.  C'est un pur programme spéculatif, qui joue à la Tal ! (...) Il est capable de sacrifier du matériel pour obtenir des avantages positionnels. Il sait aussi quand simplifier la position avec avantages !"
Anmon joue "avec une grande précision les finales et peut appliquer les règles de bases de cette phase de jeu à savoir : garder ses pièces actives, empêcher le contre-jeu de l'adversaire, activer son roi et enfin pousser en avant ses pions passés."
Mais "sa phase de prédilection reste le milieu de jeu", l'évaluation d'une position reposant sur des critères tactiques davantage que sur des critères positionnels.
"Sa force en défense repose beaucoup sur sa capacité à identifier et prévenir les menaces."





Un style qui évoque Mikhaïl Tal et Alexeï Shirov


Inspiré sans doute par son illustre compatriote Mikhaïl Tal, "le roi des attaquants", le joueur d'échecs letton Alexeï Shirov a développé un style proche de l'ancien champion du monde ; proche mais moins extravagant. Le jeu d'AnMon a lui aussi  été comparé à Mikhaïl Tal, mais finalement, c'est à celui d'Alexeï Shirov - ou à celui de Tal dans les dix dernières de sa vie - qu'il ressemble le plus.



Téléchargement et installation


Pour vous éviter de voir un jour ou l'autre les liens de chargement renvoyer une erreur 404, et échapper aux pages de publicité, j'ai décidé d'héberger l'archive du moteur sur mon espace Mega.

Télécharger AnMon sur Mega ?

L'archive contient le moteur ("AnMon_5.75.exe"), la bibliothèque d'ouvertures ("AnMon.book"'), une petite image ("AnMon_5.75.bmp") et un texte à lire ("readme.txt").

Rien de particulier à signaler pour l'installation.

Avec Arena, menu "Modules" > "Installer nouveau module" et allez chercher le fichier "AnMon_5.75.exe"

Avec Lucas Chess, menu "Options" > "Configuration des moteurs" ; onglet "Moteurs externes", bouton "Nouveau" et allez chercher le fichier  "AnMon_5.75.exe".

Avec Mayura Chess Board, menu "Engine" > "Change engine" > "Add or remove engines". Cliquez sur "Add", indiquez le nom "AnMon", puis allez chercher l'exécutable du moteur là où vous l'avez stocké.


Avec Crafty Chess Interface, menu "Moteurs" > "Ajouter nouveau moteur". Glissez-déposez l'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.

Ci-dessus, menu de configuration d'AnMon dans Arena


Configuration

D'une interface à l'autre l'accès au menu de configuration et la présentation des données changent mais les paramètres sont toujours les mêmes. Voyons la procédure et les paramètres avec Arena :

Avec Arena

Lancer le moteur puis menu "Module" > "Module 1" > "Configurer". Le menu de configuration affiche :

Hash : la table de hachage est à 4 Mo par défaut. Bizarre une aussi petit valeur... 128 Mo me semble beaucoup mieux, pour un moteur tactique, si la performance est requise.

% de CPU : permet de réduire le temps machine consacré à AnMon. Par défaut il est à 100%, donc à sa force maxi. En théorie,  si vous le réduisez à 50%, AnMon devrait travailler deux fois plus pour arriver au même résultat. Il sera donc beaucoup affaibli (notez qu'Arena offre la même fonction depuis son interface)

NalimovPath : à l'aide du sélecteur de fichiers, allez chercher le dossier où vous avez stocké vos tables de fins de partie Nalimov, si elles sont installées (voir "Les tables de fins de parties").

NalimovCache : taille du cache des EGTB Nalimov. 32 Mo sera surement beaucoup mieux que les 4 pauvres Mo sélectionnés par défaut.

Ownbook : activation / désactivation de la bibliothèque interne.

MultiPv : par défaut le paramètre est à 1, le moteur n'examine qu'une seule variante, c'est-à-dire que le MultiPv est désactivé. Si vous portez le chiffre à x, il effectuera x recherches en même temps. AnMon n'étant pas vraiment un moteur d'analyse, je préfère pour ma part laisser le MultiPv désactivé.

DrawScore règle le niveau de tolérance à la nullité de la partie. La valeur s'échelonne  entre -1000 (n'accepte la nullité que dans des situations de grave déséquilibre matériel) et + 1000 (accepte la nullité même dans des situations proches de l'équilibre).

NullMove est un paramètre lié à un algorithme d'élagage à mouvement nul. Je suggère de ne pas modifier ce paramètre.

Si certains paramètres importantes sont absents du menu de configuration c'est certainement parce qu'Arena est paramétré pour régler ensemble tous les moteurs UCI. Voir ici à ce sujet.


Avec Lucas Chess

Menu "Options" > "Configuration des moteurs". Cliquez sur AnMon et dans la partie droite de la page changez les paramètres à votre convenance.
Notez qu'un double-clic sur le nom du moteur ouvre un menu qui permet de choisir un alias, donner quelques information dans un champ de texte, indiquer le niveau Elo du moteur (2080), et de limiter le moteur soit en profondeur de recherche, soit en temps de réflexion par coup en secondes.


Avec PyChess

Menu "Editer" > "Moteurs", choisir AnMon dans la liste, onglet "Options".


Pour Crafty Chess Interface et pour Mayura Chess Board, il n'y a pas d'accès à la configuration des moteurs (la version payante de Mayura le peut...).


Bibliothèques d'ouvertures

AnMon utilise une bibliothèque interne très performante. Un peu trop sans doute si l'on est un joueur moyen et qu'on affronte le moteur amondri. Dans ce cas nous aurons probablement intérêt à utiliser les possibilités offertes par les interfaces de lui imposer une autre bibliothèque, plus légère.


Depuis Arena

Arena permet de forcer n'importe quel moteur à employer l'une de ses bibliothèques à son format propriétaire, l'Abk. Pour Adroit Chess, voici la méthode :

Menu "Modules" > "Gérer", choissir AnMon dans la liste des moteurs, onglet "Détails", onglet "Bibliothèque" ; cocher "Utiliser bibliothèque principale d'Arena" ou faire un autre choix de bibliothèque avec le sélecteur de fichiers (ne pas oublier dans ce cas de décocher la bibliothèque principale).  


Depuis  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 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 AnMon 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).


Quelques bibliothèques adaptées

Voici quelques bibliothèques au format Abk (pour Arena) et au format Polyglot (pour Lucas Chess) obtenues à partir de quelques joueurs de diverses époques présentant un style mobile et agrssif pouvant convenir à AnMon :

Bibliothèque Abk d'Alexei Shirov
Bibliothèque Abk de MiKhaïl Tal

Bibliothèque *.bin de Levon Aronian
Bibliothèque *.bin de Larry Christiansen

Bibliothèque *.bin d'Alexei Shirov

J'ai construite toutes ces bibliothèques à partir d'un échantillon soigneusement constitué des parties des grands maîtres. Leur but n'est pas la performance mais de donner le ton de la partie ; en conséquence, leur profondeur n'est que de 12 demi-coups.

La bibliothèque "active.bin" (l'une des nombreuses bibliothèques de style de  Rodent), très généraliste, pourrait très bien convenir également.


Gérer la force du moteur

AnMon est un moteur du niveau de force d'un maître International. En partie longue et sans triche d'aucune sorte de la part du joueur humain celui-ci sera généralement perdant.  Il est donc nécessaire de déterminer comment le cantonner. A noter : AnMon ne semble pas gérer la pondération.

Avec Arena

Avec Arena le mieux est d'abord désactiver la pendule (on ne peut pas se donner un bonus de temps) puis, soit limiter le temps de réflexion du moteur (en secondes par coups), soit fixer un contrôle de temps relativement bref. Eviter de limiter la profondeur d'exploration. Rappelons-nous également que nous pouvons ralentir le moteur depuis son menu de configuration.  

➤En mode d'entraînement :
+Menu "Niveau" > "Régler" (ou Ctrl+L) et choix "Temps par coup". Indiquez ici un temps en seconde.
+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).
Ici, la pondération est automatiquement stoppée.

➤En mode tournoi, sélectionner un contrôle de temps quelconque et désactiver la pendule :
-Menu "Niveau" > "Régler" (ou Ctrl+L),  choisir "Blitz" ou "Tournoi" puis un contrôle de temps qui convient et fermer la fenêtre.
-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.

➤Handicaper le moteur.
menu "Module" > "Module 1" > "Configurer". Régler "% Cpu" à votre convenance.

Avec Lucas Chess

Avec  Lucas Chess, nous avons un choix plus grand pour avantager le joueur humain : limiter le temps de réflexion du moteur, réduire la profondeur d'exploration, bénéficier de contraintes de temps plus avantageuses que celles de l'ordinateur et enfin déroger totalement aux contraintes de temps.  Tout commence par "Jouer" > "Jouer contre un moteur" ; cliquer sur le gros bouton du moteur courant, puis "Moteur externe" et choisir AnMon. A partir de là, voici les options possibles :

➤Limiter le temps de réflexion du moteur : dans l'encadré "Limites de réflexion du moteur", choisir un temps en seconde pour chaque coup de l'ordinateur.

➤Limiter la profondeur de recherche : dans le même encadré, indiquer un chiffre disons entre 3 et 10. Mais je déconseille toujours, par principe, d'utiliser cette méthode de restriction.

➤Ne pas s'imposer de contrainte de temps : onglet "Temps". En fait c'est le choix par défaut, sur ma version de Lucas Chess. Seul l'ordinateur devra subir le temps. Le joueur humain pourra réfléchir tant qu'il voudra (assurez-vous que la pondération est désactivée sinon l'ordinateur aura tout loisir de continuer à approfondir son exploration pendant que vous réfléchissez à vos propres coups).  

➤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évue initialement mais le joueur humain bénéficiera d'un bonus de temps plus ou moins important.

N'oublions pas enfin que l'on peut aussi ralentir le moteur avec le paramètre % Cpu du menu de configuration d'AnMon.


Avec PyChess


Avec PyChess il faut d'abord s'assurer qu'Alarm est le moteur par défaut. Si ce n'est pas le cas, ouvrir le pop-up "Adversaire" et choisir Alarm.
Ensuite, démarrer une partie : menu "Partie" > "Nouvelle partie" > "Depuis la position classique de départ" (ou Ctrl+N). Un menu s'ouvre et à partir de là nous devons fixer les conditions de la partie. Avec PyChess nous n'avons pas trop de choix : il faut choisir un contrôle de temps (au besoin en modifiant le choix par défaut) 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 et la force du moteur sera maximale. A 1 le moteur sera très faible. A noter : pour AnMon, avec PyChess, la pondération semble toujours inactive.

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 intéressantes sont 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": une fenêtre 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.

Rob Rob, mai 2019 (révision approfondie en mai 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); })();