Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Google+
Charivari de la société contemporaine

LCZero (Leela), une IA jouant aux jeux d’échecs sur PC

16 Décembre 2018, 11:54am

Publié par alize2769

LCZero (Leela), une IA jouant aux jeux d’échecs sur PC

Introduction :

 

Oui, Il est possible de jouer aux échecs IA de très haut niveau en simulant sur un simple PC une intelligence artificielle perfectible dans le temps. Elle est en cours d’amélioration et s’appelle LCZero, nom qui évoque celle d’AlphaZero qui a battu le meilleur logiciel d’échec du moment Stockfish 8 en Décembre 2018.

Ce logiciel est à disposition du grand public puisqu’il est distribué en tant que logiciel Open Source et donc reste disponible gratuitement sur internet.

 

Les exploits d’AlphaZero

 

Mais revenons un instant sur la performance de l’intelligence artificielle développée par DeepMind, filiale de Google, pour vaincre les meilleurs logiciels spécialisés dans les échecs, le shogi et le jeu de go. Le tout en ne connaissant au départ que les règles de base du jeu d’échecs.

 

L'originalité de l'étude réside dans le fait que l'algorithme d'apprentissage a été combiné à une « méthode de recherche » appelée recherche arborescente Monte Carlo. Cette méthode est très utilisée pour former les IA à la prise de décision dans le jeu de go. L'équipe de DeepMind a utilisé ce même système pour les échecs et le shogi, montrant qu'il pouvait être adapté à d'autres jeux complexes.

 

Il a fallu à AlphaZero des millions de parties pour y arriver. Elle a commencé par essayer des tactiques au hasard avant d'apprendre de ses erreurs et d'affiner ses stratégies, grâce à une technologie appelée apprentissage par renforcement.

Ces millions de parties auraient sans doute pris des années à des êtres humains, mais il n'a fallu à AlphaZero que neuf heures pour maîtriser les échecs, douze heures pour le shogi et treize jours pour faire de même avec le Go. Sachant qu'AlphaZero a commencé à battre des adversaires artificielles au bout de quatre heures pour Stockfish, deux heures pour Elmo et trente heures pour AlphaGo.

 

Ce ne sont pas moins de 5 000 TPU, (Tender Processing Unit), des processeurs conçus spécialement par Google pour le machine learning, qui ont été sollicités pendant cette phase d'apprentissage. Pour donner un aperçu de sa puissance, un TPU peut traiter pas moins de 100 millions d'images par jour sur les serveurs de Google Photos.

 

Le plus surprenant pour les joueurs d'échecs humains est le fait qu'AlphaZero a mis en œuvre des stratégies et des idées jamais été vues auparavant. Son style agressif et son jeu très dynamique ont surpris le grand maître Matthew Sadler, qui en a fait un commentaire sur le blog de DeepMind. Ces capacités uniques font d'AlphaZero un excellent outil d'enseignement pour les joueurs d'échecs.

 

 

La montée en puissance de LCZero

 

Bien des joueurs d’échecs ont espéré et attendu une intelligence artificielle jouant aux échecs à la fois compétitive et adaptée aux ordinateurs personnels. C’est chose faite depuis le 9 Janvier 2018, annonce faite sur le site TalkChess.com.

 

Leela Chess Zero est un moteur d'échecs gratuit et open-source et un projet informatique distribué. Le développement a été mené par le programmeur Gary Linscott, qui est aussi un développeur pour le moteur d'échecs Stockfish.

Leela Chess Zero a été adapté du moteur Leela Zero Go, qui à son tour était basé sur le projet AlphaGo Zero de Google, également pour vérifier les méthodes du projet AlphaZero appliquées au jeu d'échecs.

 

Comme pour AlphaGo Zero, Leela Chess Zero ne connaît que les règles de base et rien de plus. Leela Chess Zero est entraînée par un réseau informatique distribué coordonné sur le site web de Leela Chess Zero. En août 2018, il s'était entraîné en jouant plus de 23 millions de parties d'échecs contre lui-même.

 

Au cours des premiers mois d'entraînement, Leela Chess Zero avait déjà atteint le niveau de grand maître, surpassant la force des versions antérieures de Rybka, Stockfish et Komodo, malgré l'évaluation d'ordres de grandeur moindre qu’AlphaZero dans la recherche de positions en utilisant la méthode Monte-Carlo.

 

En informatique, la recherche dans l'arbre de Monte Carlo (MCTS) est un algorithme de recherche heuristique pour certains types de processus décisionnels, plus particulièrement ceux employés dans le jeu. Les principaux exemples de recherche dans l'arbre de Monte-Carlo sont les programmes récents de Go sur ordinateur, suivis par les échecs et le shogi, ainsi que les jeux vidéo en temps réel tels que Total War : Rome II et les jeux avec des informations incomplètes tels que bridge et poker. La recherche dans l'arbre de Monte-Carlo se concentre sur l'analyse des coups les plus prometteurs, en élargissant l'arbre de recherche basé sur un échantillonnage aléatoire dans l'espace de recherche des coups possibles.

 

Les récents tournois de Leela.

 

En septembre 2018, Leela a participé au Championnat d'échecs par ordinateur de 2018 sur Chess.com (CCCC). Au premier tour, elle s'est classée cinquième sur 24 participants. Les huit premiers moteurs se sont qualifiés pour la deuxième manche, où Leela s'est classée quatrième. Leela a ensuite remporté le tournoi de 30 matchs contre Komodo pour décrocher la troisième place du tournoi.

 

Parallèlement, Leela a participé à la coupe TCEC, un nouvel événement dans lequel des moteurs de différentes divisions TCEC peuvent jouer des matchs les uns contre les autres. Leela a battu les moteurs Laser, Ethereal et Fire, avant d'être finalement éliminée par Stockfish en demi-finales.

 

L’installation de Leela sur son ordinateur PC

 

Vous avez besoin de deux éléments pour pouvoir faire fonctionner Leela sur votre PC :

 

  • D’une interface utilisateur graphique (GUI) gratuite pour les échecs. Arena est l’un de ces logiciels qui vous aide à analyser et à jouer à des parties ainsi qu'à tester des moteurs d'échecs. Il fonctionne sous Linux ou Windows. Il est compatible avec les protocoles de communication Winboard I, II et UCI I, II.
  • Du moteur d’échec proprement dit c'est-à-dire avec LC0.exe , le moteur de Leela, qui joue sous l’interface utilisateur graphique d’Arena.

 

La dernière version d’Arena à ce jour est Arena 3.5.1 (veuillez cliquer sur le lien bleu , puis enregistrer le fichier arena_3.5.1setup.exe dans un répertoire temporaire (ex C:\TEMP) puis suivre la procédure d’installation).

 

D'autre part , il faudra installer le menu français de cette interface via en enregistrant les 2 fichiers suivants : arena35french .zip et frenchchm.zip dans le même répertoire qu'Arena. (ex C:\Program Files\arena_3.5.1\).

 

L'installation du moteur d'échec Leela

 

Il vous faudra créer un répertoire ( Nouveau dossier) nommé LcZero dans le répertoire d'installation d'Arena (ex C:\Program Files\arena_3.5.1\Engines\LcZero).

 

 

 

Le moteur d’installation de LCZero est différent selon la configuration de votre ordinateur :

 

Par défaut le fichier d’installation se nomme : lc0-windows-blas.zip qu’il faut installer dans …\arena_3.5.1\Engines\LcZero.

 

Si vous avez une carte graphique Nvidia , il vous faut le fichier suivant : lc0-windows-cuda-zip

Il faut savoir que la mémoire graphique disponible sur votre ordinateur booste énormément les performances du moteur d’échec LCZero.

 

Enfin pour les autres cartes graphiques, vous avez le fichier : lc0-windows-opencl.zip:

 

Une fois le fichier ZIP téléchargé, vous faites une extraction de ce fichier  en cliquant sur le fichier avec le bouton droit de la souris et choisir dans le Menu contextuel « Extraire ici »

 

Enfin il vous faut également télécharger le dernier paquet des mises à jour régulières du réseau de LCzero correspondant à une sorte de base de connaissance du jeu d'échecs sur le site : http://lczero.org/networks/  toujours au répertoire racine de LCZero

 

Pour le moment j'ai choisi le paquet n°  32044 correspondant environ à 3020 elo SDDF.

 

Il faut savoir que LCZero lira par défaut le dernier paquet de mise à jour sur son répertoire racine correspondant à la date de création du fichier le plus récent. Ainsi vous pouvez télécharger plusieurs paquets différents du réseau, LCZero saura qu’il faudra exploiter le dernier fichier chargé.

 

Il est possible aussi d’assigner à LCZero un n° de paquet précis. Ainsi vous pouvez remarquer dans la colonne "Elo" , une augmentation perceptible de la force du logiciel. ll existe ainsi des paquets qui correspondent à votre niveau réel du jeu d'échecs.

Cependant c'est un étalon ne correspondant pas aux élo équivalents de la FIDE ni de SDDF. 

Vous devrez peut-être aussi télécharger et installer le VC Redistributable 2015 x64. Beaucoup d'autres programmes s'appuient sur cette bibliothèque, vous l'avez peut-être déjà.

Configuration de LCZero dans l’interface graphique Arena 3.5.1 .

 

Ouvrez le programme Arena, cliquez sur "Modules" en haut de la barre de Menu puis  cliquez sur "Gérer".

interface graphique Arena

interface graphique Arena

Dans la fenêtre résultante, cliquez sur l'onglet "Détails" et cliquez sur le bouton "Nouveau" comme montré ici :

Dans la fenêtre résultante, cliquez sur l'onglet "Détails" et cliquez sur le bouton "Nouveau" comme montré ici :

Dans la fenêtre résultante, cliquez sur l'onglet "Détails" et cliquez sur le bouton "Nouveau" .

Cela ouvrira une boîte de dialogue demandant l'emplacement du moteur. Naviguez jusqu'au dossier "LCZero" que vous avez créé à l'étape précédemment, et sélectionnez "lc0.exe" comme moteur.

 

Une boite de dialogue apparaîtra vous demandant de choisir l’interface UCI ou Winboard. Il faudra donc choisir UCI.

 

 

Enfin, dans la ligne « Paramètres ligne de commandes », vous pouvez ajouter certains paramètres propres au moteur LCZero mais cela reste optionnel:

 

- t=3  ( précise le nombre de threads utilisés )

- w= [Nom du paquet] ex –w 208097b

 

Il ne reste plus qu’à cliquer sur le bouton « Démarrez ce module de suite ! » pour bénéficier du jeu de LCZero .

 

Afin de comparer les modules d’échecs entre eux, il existe une liste complète des modules d'échecs qui sont régulièrement évalués dont la plupart sont disponibles gratuitement et compatibles UCI sur le site :

 

http://www.computerchess.org.uk/ccrl/4040/rating_list_all.html

Commenter cet article

Shana 08/11/2019 17:18

Très bel article, très intéressant et bien construit. Je reviendrai me poser chez vous. N"hésitez pas à visiter mon univers (lien sur pseudo). A bientôt.