Greko, clone de Kasparov - Echecs et informatique sur PC-Windows

Rechercher
Aller au contenu

Menu principal :

Moteurs

GreKo


Greko appartient à la famille (nombreuse) des moteurs tactiques tels que Stockfish, Houdini, Fritz ou Rybka. Bien que moins fort (2800 Elo quand même), son jeu est plus lisible, d'apparence plus humaine. Le style ressemble à celui de Kasparov...




Sommaire

Introduction
Membre de la famille des Kasparov like
Téléchargement et installation
Configuration
Bibliothèque d'ouvertures
Gérer la force du moteur




Greko est un moteur d'échecs russe dont les caractéristiques sont proches de Fritz ou Stockfish, bien qu'il soit nettement moins fort. Tous sont des moteurs bons en stratégie positionnelle mais encore plus forts en tactique, grâce à une capacité de calcul importante. Ils sont capables de monter des attaques à long terme, mettant en péril leur situation positionnelle, concédant du matériel au besoin, tout en gardant le contrôle de la situation...
C'est un type de jeu qui ressemble à celui de Gary Kasparov. Ces moteurs n'ignorent pas les principes défensifs mais préfèrent l'attaque. Mais là ou Fritz et Stockfish sont des monstres, dont les combinaisons sont devenus incompréhensibles du commun des mortels, GreKo conserve un jeu lisible, d'apparence plus humaine, finalement plus proche du véritable Kasparov.

A noter : GreKo possédait autrefois une petite capacité de programmation de personnalité qui a disparu après la version GreKo 2015 ML. Cette ancienne version fait l'objet d'un article à part.
Par ailleurs l'auteur, Vladimir Medvedev, propose également sur son site une version expérimentale, GreKo PSQ 2.0 MP, associant une évaluation minimale à des tables de pièces/case costauds.


Membre de la famille des Kasparov like



Bien que son règne sur les échecs s'éloigne, Kasparov reste très populaire parmi les joueurs. C'est certainement aussi ce qui explique pourquoi son style de jeu est aussi bien représenté aujourd'hui parmi les moteurs d'échecs, formant même une famille dont Fritz est le père et Stockfish le fils le plus prodigieux. Tout près il y a aussi Houdini (3460 Elo) et, un peu plus loin, Rybka (3150 Elo).  
On trouve aussi dans cette famille nombre de moteurs plus modestes mais plus accessibles. Nous avons déjà vu Sissa, le "petit Kasparov" français, il y a aussi un autre russe, Obender, très proche de Sissa, en style comme en niveau de force. Autrement dit des adversaires abordables par des joueurs qui ne sont pas des grands maîtres internationaux. Greko se situe au milieu, avec un niveau de force comparable à celui de Kasparov.



Greko affronte Obender, un moteur qui a le même type de jeu.

Greko peut être utilisé pour le conseil et l'analyse, gère la pondération mais n'est pas en mesure d'utiliser les tables de fins de partie. Le MultiPV, qui était pris en charge depuis plusieurs années, a disparu des versions les plus récentes du moteur.


Téléchargement et installation

Vous trouverez la dernière version et les précédentes sur le site officiel:

Télécharger GreKo ?

L'évolue du moteur semble s'être arrêtée. La dernière version date de fin 2021.  Il est inutile de télécharger la bibliothèque d'ouvertures, elle ne fonctionne pas avec les versions récentes de GreKo.

L'archive du moteur contient deux dossiers, "bin" et "src"; dans "src" il n'y a que les sources du moteur. Vous n'en avez pas besoin (pour jouer !). Ouvrez le dossier "bin". Il contient deux exécutables pour Windows 32 et 64 bits :
"GreKo-Windows-32.exe"
"GreKo-Windows-64.exe"
Et deux autres pour Linux.
"weights.txt", fichier rassemblant les poids standards des 27 variables utilisées par l'évaluation.
Une image, "GreKo.bmp".
Dernièrement, une version Androïd a été développée.

Télécharger la version Androïd de GreKo ?

Installation dans Arena

Pour Arena, menu "Modules" > "Installer nouveau module" et allez chercher le fichier "GreKo-Windows-64.exe" (ou la version 32 bits).

Installation dans Lucas Chess

GreKo est déjà l'un des moteurs internes de Lucas Chess mais c'est une vieille version, la 12.9 qui est employée (elle a servi à créer plusieurs des joueurs fictifs proposés par l'interface). Pour profiter de la version 2021, il faut l'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 "GreKo-Windows-64.exe" (ou la version 32 bits) dans le répertoire "binaries".
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.

GreKo fonctionne avec
Mayura Chess Board Free, mais sans possibilité d'accéder au menu de configuration du moteur il ne sera pas possible de le ralentir pour qu'il joue moins fort. Ce qui rend la chose peu intéressante.


Configuration

Le menu de configutation de GreKo n'est pas très copieux. Il ne propose que cinq paramètres courants à modifier :

Hash : la table de hachage est fixée par défaut à 128 Mo. C'est suffisant pour une utilisation courante mais GreKo est un assez puissant moteur tactique qui remplit vite les tables de hash. Si vous l'utilisez à haut niveau ou comme moteur d'analyse, 256 Mo seront plus judicieux.

Threads : nombre de coeurs de processeur activés (par défaut un seul).

MultiPV : nombre de lignes suivies par le moteur (par défaut une seule - donc MultiPv désactivé)

Strenght :
la force du moteur peut-être réglée ici en choisissant une valeur entre 0 (force minimum) et 100 (force maxi, par défaut).  

Log : si coché, le moteur créera un fichier "log" dans lequel il détaillera son fonctionneement. En principe laisser décoché.

Bien qu'il soit un moteur moderne et évolué, GreKo ne semble pas gérer la pondération.


Configuration depuis Arena :

Menu "Modules" > "Module 1" > "Configurer" : le menu de configuration ne propose que cinq paramètres :



Si "Hash" et "Threads" 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.

Configuration depuis Lucas Chess :

Menu "Options" > "Configuration des moteurs". Cliquez sur GreKo et dans la partie droite de la page et changez les paramètres à votre convenance.

Configuration depuis PyChess :

Menu "Editer" > "Moteurs", choisir GreKo 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èque d'ouvertures

Jusqu'à la version 2016, Greko prenait en compte automatiquement sa propre bibliothèque d'ouvertures, "book.bin"; cette bibliothèque n'était pas débrayable. Dans les versions suivantes, la prise en charge de cette bibliothèque a disparu et je n'ai trouvé aucun moyen interne au moteur de l'obliger à en utiliser une. Malgré les apparences, ce n'est pas une bibliothèque Polyglot.
Si vous faites tourner Greko avec Arena il sera toutefois très facile de le guider vers l'une des bibliothèques d'Arena :  "Modules" > "Gérer" puis choix de GreKo dans la liste, onglet "Détails", onglet "Bibliothèque" et utilisez le sélecteur de fichiers pour aller chercher la bibliothèque qui vous convient le mieux.

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

Il est possible d'accentuer la ressemblance du jeu du moteur avec celui de Kasparov en lui fournissant une bibliothèque réalisées à partir des jeux de l'ancien champion du monde. Pour Arena je vous propose une bilbiothèque Kasparov au format abk et pour Lucas Chess ou d'autres interface acceptant les bibliothèque Polyglot une petite bibliothèque au format *.bin.

Télécharger la bibliothèque Kasparov.abk
Télécharger la bibliothèque Small_Kasparov.bin

Ce sont des bibliothèques de petite taille ne fournissant que les 12 premiers demi-coups d'une partie.


Gérer la force du moteur

Greko 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 sera presque toujours perdant.  Il est donc nécessaire de déterminer comment le cantonner.

Observons d'abord que depuis le menu de configuration de GreKo, nous pouvons ralentir le moteur pour l'affaiblir, quelque soit l'interface si elle permet d'accéder à ce menu. C'est une possibilité pratique et rapide mais pas la meilleure.

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.


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

Pour une partie sérieuse ou 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.


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 GreKo. 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 PyChess

Avec PyChess il faut d'abord s'assurer que GreKo est le moteur par défaut. Si ce n'est pas le cas, ouvrir le pop-up "Adversaire" et choisir GreKo.
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.


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 (dernière actualisation juillet 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); })();