Houdini - moteur magicien - Echecs et informatique sur PC-Windows

Rechercher
Aller au contenu

Menu principal :

Moteurs

Houdini - moteur magicien


Durant des années Houdini est resté dans le peloton de tête des plus puissants moteurs d'échecs. Aujourd'hui, il marque le pas. Nombre de moteur plus récents l'on repoussé assez loin dans les classements mais la plus récente version 6 dépasse encore les 3450 Elo. Houdini est aussi intéressant pour son style de jeu très particulier, entre Kasparov et Mikhaïl Tal. Toutefois, il ne sera pas question ici d'Houdini 6 car c'est un moteur commercial, donc payant. Nous parlerons par contre de la version 1.5a, ancienne mais qui a été libéré par les ayant-droits et qui offre le style "Houdini" et une puissance qui reste très élevée.



Houdini 1.5a, version de 2011

La version 1.5a date de 2011. Elle est donc ancienne mais sa force est tout de même de l'ordre de 3100-3150 Elo. Le style d'Houdini est là avec les fonctions les plus avancées: pondération, MultiPv, mode analyse, accès EGBT... Reste à savoir à quoi il peut servir. Pour jouer ? Humm... Oui mais Houdini n'est clairement pas un moteur pour débutants aux échecs - ni même pour joueurs moyens. Par contre, il peut être un bon moteur d'analyse et de conseil, dans un registre offensif. Ses évaluations sont parfois difficilement lisibles, car c'est un moteur tactique, très fort en calcul. Mais il s'appuie néanmoins sur une très bonne connaissance de la position. D'ailleurs, de nombreux grands maîtres ont utilisé et apprécié Houdini. Même si c'est un moteur pour spécialiste, il méritait d'être dans ma sélection.



Moteur romantique, moteur magicien...

Selon ses auteurs, Houdini est l'héritier de l'époque romantique et de joueurs comme Anderssen, Spielmann, Marshall, Bogoljubov, Tal, Nezhmetdinov, Shirov ou Morozevich. Ce n'est pas faux. Houdini a effectivement un style de jeu "romantique". C'est un joueur très offensif, capable de projeter des combinaisons de long terme et de sacrifier le matériel nécessaire à les mener à terme. Il s'autorise même parfois des sacrifices purement spéculatifs. Cependant, sa capacité à comprendre les situations positionnelles - et en particulier les positions fermées - est également très importante pour un moteur tactique, ce qui en fait aussi un bon défenseur.
Son tropisme offensif peut le conduire à des situations très inconfortables du point de vue positionnel, mais il s'en sort de façon apparemment miraculeusement, obtenant au moins le nul. Cette capacité à l'échappatoire serait même à l'origine de son nom
(1) et du qualificatif de "moteur magicien". En réalité, c'est une façon positive de présenter un défaut : Houdini est un moteur tactique qui calcule très profondément, bien plus profondément que n'importe quel joueur humain. S'il a accepté de subir une situation très déséquilibrée, c'est souvent parce qu'il sait déjà comment il va en sortir. Son jeu n'est donc pas toujours facilement compréhensible. Et c'est pour cela que je trouve Komodo meilleur pour l'analyse. Reste le style, à mi-chemin entre Garry Kasparov et Mikhaïl Tal. Voilà sans doute une des raisons fortes qui expliquent pourquoi on l'aime !


Téléchargement et installation

Houdini 1.5a semble avoir disparu du site officiel. Je vous propose donc de le cueillir sur mon espace mega :

Télécharger Houdini 1.5a ?

L'archive contient deux exécutables : "Houdini_15a_w32.exe" et "Houdini_15a_x64.exe". Le premier est destiné aux vieilles machines équipées d'un Windows 32 bits et la seconde aux machines plus récentes avec Windows 64 bits. Attention : les deux fonctionnent très bien avec n'importe quel Windows 64 bits. Sauf que la version 32 bits est nettement plus lente. Ne vous trompez pas.  



Installation dans Arena

Menu "Modules" > "Installer nouveau module" et allez chercher le bon fichier exécutable. Arena vous demande si l'engine est un UCI ou un Winboard. Sélectionnez "UCI", plus performant et qui donne accès au menu de configuration.
Une fois installé, Arena vous indique qu'Houdini ne trouve pas les bases de finales Gaviota et, probablement, que trop de coeurs sont activés (8 par défaut).  Il est donc indispensable d'ouvrir le fichier de configuration (voir plus bas).





Installation dans Lucas Chess

Houdini 1.5a est déjà l'un des moteurs par défaut de Lucas Chess. Mais pour accéder au paramétrage et pour le faire tourner dans sa version 64 bits, plus performante, vous devrez le réinstaller comme moteur externe : menu "Outils" > "Moteurs" > "Configuration des moteurs" ; bouton "Nouveau" et allez chercher le bon fichier exécutable.

Installation dans PyChess

Pour PyChess :  menu "Éditer" > "Moteurs" puis bouton "Nouveau" et allez chercher le fichier exécitable du moteur. A noter : à ce stade, si vous ouvrez l'onglet "options" vous accéderez aux paramètres de configuration du moteur.

Installation dans Crafty Chess Interface

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.

Installation dans  Mayura Chess Free

Menu "Engine" > "Change Engine" > "Add or Remove Engines..." et allez chercher le bon fichier exécutable du moteur. Remarque : avec la version "free", il n'est pas possible de changer les paramètres de configuration du moteur ni de régler finement la fore d'Houdini - ce qui limite sérieusement l'intérêt d'installer le moteur dans cette interface.



Configuration

Quelque soit l'interface utilisée les paramètres à gérer seront les mêmes, seule leur présentation changera. Voyons ces paramètres en détails, en commençant par les plus importants.


Paramètres généraux (importants)

Hash : la mémoire réservée aux tables de hachage est de 128 Mo par défaut. C'est déjà bien mais comme tous les moteurs tactiques, Houdini sature assez vite les tables de hachage. Si vous avez au moins 4 Go de mémoire vive et que vous utilisez le moteur pour le conseil et l'analyse, 256 sera plus indiqué.

Threads : par défaut le chiffre est à 8. Renseignez ici le nombre de threads physiques (coeurs) de votre ordinateur.

Ponder : si vous comptez utiliser la pondération, activez là ici. Ensuite, vous l'activerez ou la désactiverez depuis l'interface d'Arena : "Modules" > "Réflexion permanente" ou Shift+Ctrl+P.

MultiPv : par défaut, une seule ligne est explorée. Le MultiPv est donc désactivé. Pour le conseil, il peut être intéressant de laisser le moteur en explorer une ou deux autres - comme toujours en augmentant fortement la durée de réflexion pour compenser le surcroit de mobilisation des coeurs de processeurs.  


Le menu de configuration d'Houdini 1.5a dans Lucas Chess


Gestion des bases de finales Gaviota

Houdini 1.5 utilise les EGBT Gaviota (voir mon article sur les tables de finales). Si vous utilisez Houdini amoindri uniquement pour jouer, vous pouvez probablement faire l'économie de lire la suite, assez rébarbative, il fait bien le dire.

GaviotaTbPath : ici vous indiquerez le chemin vers le répertoire où elles sont stockées - si vous les avez. Notez que si vous utilisez Arena, vous devriez avoir au moins les Gaviota à trois pièces. Attention : pour que ça marche, vous devez indiquer le chemin non vers le dossier général ("gtb.cp4") mais vers le sous-dossier "gtb5" si vous avez installé les fichiers à 5 pièces. Ou à défaut "gtb4" ou "gtb3", selon le ''nombre de pièces" disponible.

GaviotaTBCache : taille du cache où sont stockées les valeurs précédemment lues dans les tablebases. La valeur par défaut est de 64 Mo. Si vous avez de la mémoire à revendre, 128 Mo sera mieux.  

La fonction d'évaluation des finales par Houdini étant déjà très performante, le moteur s'efforce de ne consulter les tablebases que pour les fins de partie inhabituelles. C'est un avantage si vous avez un disque dur mécanique, car l'accès aux tables de finales est très lent et Houdini perdrait de la force au lieu d'en gagner. s'il accédait aux tables à toute occasion. Il n'en est pas de même si vous avez une machine puissante à 4 coeurs ou plus équipée d'un disque dur SSD, dont les accès sont beaucoup plus rapides. Ce sont les paramètres Hard_Pro_Depth et Soft_Prob_depth qui permettent d'adapter le recours aux tables de finales à votre matériel.

Hard_Pro_Depth :
ce paramètre fixe la profondeur de recherche la plus basse à partir de laquelle le moteur tentera un accès aux tables de finales. Plus votre disque dur est lent, moins votre processeur est puissant et moins vous avez de coeurs, plus vous avez intérêt à augmenter cette valeur (par défaut 24 1/2 coups).

Soft_Prob_depth : ce paramètre fixe la profondeur de recherche la plus basse à partir de laquelle le moteur est susceptible de recourir au cache mémoire plutôt que directement aux tables de finales. Plus votre disque dur est lent, moins votre processeur est puissant et moins vous avez de coeurs, plus vous avez intérêt à réduire cette valeur (par défaut fixée à 16 1/2 coups) et à augmenter la taille du cache.

Quelles valeurs faut-il choisir ? C'est bien difficile à dire car aucune indication ne nous est donnée. Au doigt mouillé, je dirais que les valeurs standards sont adaptées à une machine moyenne à 4 coeurs dotée d'un bon disque dur mécanique.

Autres paramètres

Split Depth : ce paramètre, que l'on pourrait traduire par "profondeur de division", gère la répartition des taches lorsque vous utilisez plusieurs coeurs. En clair, c'est la profondeur minimale à partir de laquelle le travail sera réparti entre les coeurs. Par défaut, elle est fixée à 10, valeur qui donne de bons résultats pour tout matériel moyen à 4 coeurs. Si votre matériel est moins bien doté, vous pouvez descendre à 8 ou 9. Dans le cas contraire, le moteur pourra être un peu plus performant avec des valeurs de 12 à 14 ou plus. Repères extrapolés à partir de discussions sur des forums :

➤portable standard : 8
➤machine de bureau à 2 coeur : 9
➤machine de bureau à 4 coeurs : 10 (défaut)
➤machine de jeux à 4 coeurs : 12 à 14
➤machine de jeux à 8 coeurs : 16 à 18


Menu de configuration d'Houdini 1.5a dans Arena

Bien évidemment cette discussion est sans objet si votre ordinateur n'a qu'un coeur.

Contempt et Analysis_Contempt : ces paramètres permettent de régler les conditions pour lesquelles le moteur pourrait accepter la nullité d'une partie.
Pour commencer, si vous laissez Analysis_Contempt décochée, Houdini refusera la nullité jusqu'au bout.  Si vous la cochez, vous aurez le choix ensuite entre trois niveaux de tolérance à la nullité : 0 (forte tolérance), 1 (valeur par défaut) et 2 (faible tolérance).

Accès au menu de configuration depuis Arena

Menu "Module" > "Module 1" > "Configurer". Attention : il faut préalablement qu'Houdini ait été sélectionné et démarré.

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

Accès au menu de configuration depuis Lucas Chess


Menu "Options" > "Configuration des moteurs". Cliquez sur Houdini et dans la partie droite de la page changez les paramètres à votre convenance. Il n'y a pas de sélecteur de fichiers pour indiquer le chemin vers les tables de finales. Vous devez copier manuellement le chemin complet dans le champ "GaviotaTbPath".  
Notez qu'un double-clic sur le nom du moteur ouvre un menu qui permet de choisir un alias, donner quelques informations dans un champ de texte, indiquer le niveau Elo du moteur et limiter le moteur soit en profondeur de recherche, soit en temps de réflexion par coup en secondes.

Avec PyChess

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

Avec Crafty Chess Interface, il n'est pas possible d'accéder au menu de configuration. Idem avec Mayura Chess Board Free.



Bibliothèque d'ouvertures

Houdini n'est fourni avec aucune bibliothèque d'ouvertures et ne dispose d'aucune bibliothèque interne, même rudimentaire. La plupart des interfaces permettent toutefois de lier le moteur à une bibliothèque d'ouvertures. Cependant le format utilisé est variable.

Avec Arena

Si vous utilisez Arena, forcez-le à lire l'une de ses bibliothèques : "Modules" > "Gérer" puis choix du moteur dans la liste, onglet "Détails", onglet "Bibliothèque" et cocher "Utiliser bibliothèque principale d'Arena" ou faîtes un autre choix avec le sélecteur de fichiers. Si rien ne vous convient, je peux vous en proposer quelques unes :

Avec Lucas Chess

De son coté, Lucas Chess propose avant de débuter une partie avec un moteur 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 GreKo 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).
Avec les mêmes parties de Levon Aronian je peux vous


Avec PyChess

Pour employer une bibliothèque Polyglot avec PyChess : menu "Editer" > "Préférences", s'assurer que "Utiliser la bibliothèque des ouvertures" est coché et utiliser le sélecteur de fichier pour aller chercher quelque part une bibliothèque Polyglot valide.
Attention : PyChess ne peut pas lier automatiquement un moteur et une bibliothèque. Celle qui vient d'être sélectionnée pour Houdini devient de facto la bibliothèque d'ouvertures principale de l'interface. Ne pas l'oublier !

Pour finir, voici quelques bibliothèques pouvant être utiles à Houdini :

"Perfect2018.abk". C'est une bibliothèque pour Arena axée sur la performance, qui ne propose que des lignes d'ouvertures très efficaces.
"Aronian.abk". J'ai créé cette bibliothèque pour Arena à partir de milliers de parties de Levon Aronian, certainement l'un des rares joueurs modernes à présenter un jeu très offensif ressemblant à celui d'Houdini. sa profondeur est toutefois limitée à 12
1/2 coups.
"Small_Atronian.bin" est la même bibliothèque que la précédente mais au format Polyglot - donc utilisable par exemple avec Lucas Chess ou pyChess.



Réglage de la force du moteur

S'il n'est pas utilisé pour l'analyse ou le conseil, il est évident qu'Houdini doit être limité en force. Nous n'aurions aucune chance de gagner la moindre partie contre un moteur plus fort que Magnus Carlsen.

Avec Arena

Avec Arena le mieux est d'abord désactiver la pendule (on ne peut pas se donner un bonus de temps) puis, de combiner une limitation du temps de réflexion du moteur avec un ralentissement du processeur.
➤Pour arrêter la pendule : 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).
➤Pour limiter le temps de réflexion : menu "Niveau" > "Régler" (ou Ctrl+L) et choix "Temps par coup". Indiquez ici un temps en seconde.
➤Ou bien choisir un contrôle de temps de tournoi : menu "Niveau" > "Régler" (ou Ctrl+L),  choisir "Blitz" ou "Tournoi" puis un contrôle de temps qui convient et fermer la fenêtre.
Pour ralentir le moteur : menu "Modules" > "Gérer", onglet "Détails", choisir Houdini dans la liste, onglet "Spécial" et changer la valeur de "Force (%)", par défaut à 100, vitesse maximal du moteur avec votre matériel.


Avec PyChess

Il s'agit d'abord de vérifier qu'Houdini est le moteur par défaut. Si ce n'est pas le cas, ouvrir le pop-up "Adversaire" et choisir Houdini. 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 : avec PyChess, la pondération est désactivée par défaut. Au cas où vous shouaiteriez l'activer : menu "Editer" > "Moteurs", choisir Houdini, onglet "Options". On peut d'ici activer ou désactiver la pondération mais aussi régler la force du moteur.

Avec Lucas Chess

Avec  Lucas Chess, nous avons beaucoup de possibilités 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 Houdini. 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, il s'agit du 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.

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.

Avec Mayura Chess Board Free


Avec Mayura nous ne pouvons qu'arrêter l'horloge, favoriser le joueur humain en lui accordant davantage de temps et sélectionner un temps de réflexion bref pour le moteur.
Arrêter l'horloge : menu "Clock" > "Pause". Vous arrêtez votre propre horloge, mais celle du moteur continue à fonctionner normalement.
➤Modifier les temps impartis à chacun depuis "Set Clocks". A noter : un clic-droit sur les horloges affiche le menu de réglages.


Rob Rob, juin 2019



(1) En référence à l'illusionniste Harry Houdini, spécialiste des évasions spectaculaires.


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