Accueil » Blog » Echecs et informatique

Le jeu des échecs dans le monde de l'informatique


L'introduction du jeu d'échecs dans le monde de la programmation informatique

Par Frederic Friedel (3ème partie) - C'était au milieu des années 1990. J'étais à Londres, accompagnant le champion du monde d'échecs Garry Kasparov, comme je l'ai souvent fait, lors d'une de ses apparitions. Cette fois-ci, c'était dans Home House, une belle villa géorgienne à Marylebone, et un soir nous avons été rejoints au dîner par un ancien enfant prodige des échecs. Il avait atteint le niveau de maître (Elo 2300+) à l'âge de 13 ans et a été capitaine d'un certain nombre d'équipes d'échecs juniors anglaises. Il était également un joueur de jeux vidéo de classe mondiale. C'était une rencontre intéressante, le garçon décrivant avec enthousiasme un jeu informatique qu'il était en train de développer. Après son départ, j'ai dit à Garry : "C'est un jeune homme arrogant !" "Mais très intelligent", répondit Garry. Et nous en sommes restés là.


Jouer aux échecs en ligne sur Chess.com

Vingt ans plus tard, j'ai lu dans les journaux que Google avait acheté une société appelée DeepMind Technologies, pour 400 millions de livres. DeepMind était une entreprise britannique d'intelligence artificielle qui avait créé un logiciel de réseau neuronal qui avait appris à jouer à des jeux vidéo de génération précoce comme Pong et Space Invaders, tous seuls. Il n'a pas été programmé manuellement, mais a utilisé des méthodes qui étaient très semblables à celles d'un joueur humain acquérant des compétences dans le jeu. L'objectif, selon DeepMind, était de " créer une IA polyvalente qui peut être utile et efficace pour presque n'importe quoi ". L'un des fondateurs de la société était Demis Hassabis.

Demis ? Attendez une minute, n'était-ce pas le garçon que nous avions rencontré à Home House ? Pendant un an, j'ai observé les progrès réalisés par l'entreprise en tant que membre de la famille Google, et j'ai été particulièrement fasciné de voir comment ils ont résolu un problème qui avait nécessité des experts en informatique pendant des décennies : DeepMind a créé un programme, AlphaGo, qui a appris à jouer à l'ancien jeu de Go, l'emmenant jusqu'au niveau du championnat du monde. Les règles du Go sont d'une simplicité trompeuse, mais le facteur de ramification le rend très difficile à calculer pour les ordinateurs. Dans le premier article de cette série, j'ai décrit comment dans une partie d'échecs de 40 coups il y avait 10^128 séquences possibles de coups - beaucoup plus que le nombre d'atomes dans l'univers connu. Eh bien, au Go, il y a 10^170 configurations de plateau possibles, ce qui rend insignifiant le nombre de parties d'échecs.

Nous avons suivi la progression d'AlphaGo de près sur la page de nouvelles de ChessBase, qui partage avec DeepMind une affinité pour la capitalisation au milieu des noms. Le programme a utilisé des réseaux neuronaux profonds pour étudier un très grand nombre de jeux, développant sa propre compréhension de ce à quoi ressemble le jeu humain. Ensuite, il a affiné ses compétences en jouant différentes versions contre lui-même tout en apprenant de ses erreurs. Ce processus, connu sous le nom d'apprentissage par renforcement (reinforcement learning), a produit un logiciel de jeu de Go de niveau maître.


A ce stade, j'ai contacté Demis, qui s'est souvenu de notre rencontre à Home House et m'a invité à visiter DeepMind à Londres. Ma contre-proposition : son équipe devrait venir à Hambourg pour voir les atouts que nous avons pour les échecs. ChessBase a plus de huit millions de parties de haute qualité, 100 000 annotées par des joueurs très forts, 200 millions de positions d'échecs dans le Cloud, avec les évaluations des plus puissants ordinateurs du monde connectés à chacun, le plus grand et plus récent livre "live" des ouvertures dans le jeu, etc, etc. DeepMind pourrait utiliser ces données pour entraîner un réseau neuronal pour les échecs - plus précisément : que le réseau neuronal s'entraîne lui-même pour jouer le jeu.

Demis était ouvert à l'idée et a promis d'y réfléchir. Ce qu'il ne m'a pas dit à l'époque, c'est qu'ils étaient déjà en train de développer un moteur d'échecs qui ne ressemblait en rien à ce que l'on avait jamais vu auparavant. Les moteurs traditionnels ont leur connaissance du jeu d'échecs programmée en eux, méticuleusement, un facteur à la fois. Le réseau neuronal DeepMind a pris un chemin radicalement différent : on lui a expliqué les règles du jeu, comment les pièces bougent et le but ultime de l'échec et mat. Rien d'autre. Utilisant des techniques de pointe en intelligence artificielle, le programme AlphaZero a joué contre lui-même, des millions et des millions de fois, identifiant des modèles de son propre chef, et ajustant les valeurs comme bon lui semblait. En d'autres termes, il a produit ses propres concepts et connaissances, en utilisant la reconnaissance des formes comme le font les humains, et en s'améliorant à mesure qu'il apprenait. Et il l'a fait sans avoir besoin de toutes les données de ChessBase que j'offrais.

Comment était-ce possible ? Au début, le système jouait à des jeux absurdes, où un camp renonce à trois pièces pour rien, et l'autre camp ne peut gagner parce qu'il avait perdu quatre pièces. Mais à chaque itération, à chaque tranche d'environ 10 000 étapes d'apprentissage, il devenait plus fort. Fonctionnant sur le dernier matériel propriétaire - pour les connaisseurs de la technologie : 5.000 TPU de première génération et 64 TPU de deuxième génération - le programme a joué 44 millions de parties contre lui-même et, dans le processus, a atteint le niveau de force de classe mondiale aux échecs. Personne n'avait parlé de stratégie à AlphaZero, personne n'avait expliqué que le matériel était important, que les dames étaient plus précieuses que les fous, que la mobilité était importante. Il avait tout résolu par lui-même, tirant ses propres conclusions - des conclusions, soit dit en passant, qu'aucun être humain ne sera jamais capable de comprendre.

Au final, AlphaZero a joué un match d'essai contre un moteur open source nommé Stockfish, l'un des trois ou quatre premiers moteurs à force brute au monde. Ces programmes se situent tous autour de 3500 points ELO sur l'échelle d'évaluation, ce qui représente au moins 700 points de plus que n'importe quel grand joueur d'échecs humain. Stockfish fonctionnait sur un processeur de 64 threads et examinait 70 millions de positions par seconde ; AlphaZero fonctionnait sur une machine équipée de quatre TPU, avec seulement 80.000 positions par seconde. Elle a compensé ce désavantage de mille fois en ne recherchant que les variations les plus prometteuses - des mouvements qui, dans son propre jeu, s'étaient avérés efficaces dans des positions similaires.

Dans les 100 parties jouées contre Stockfish, AlphaZero a remporté 25 parties avec des blancs, 3 avec des noirs et les 72 autres avec des nuls. Tous les matchs ont été joués sans avoir recours à un livre d'ouvertures. En outre, une série de douze matchs de 100 parties ont été joués, à commencer par les 12 ouvertures humaines les plus populaires. AlphaZero a remporté 290 victoires, 886 nuls et 24 défaites. Certains dans la communauté traditionnelle des échecs par ordinateur qualifient les conditions du match d'"injustes" (pas de livres d'ouverture ou seulement des ouvertures limitées), mais je conclus que AlphaZero est sans aucun doute l'entité la plus forte qui ait jamais joué aux échecs. Et c'était devenu cela après avoir étudié le jeu, à partir de zéro, tout seul, sans aucun conseil extérieur, pour un total d'environ neuf heures.

Google et DeepMind se sont montrés très détendus au sujet du projet et ont révélé les méthodes qu'ils utilisaient. Un des chefs de projet est même venu visiter ChessBase à Hambourg et a tenu une conférence pour une demi-douzaine de nos jeunes programmeurs talentueux. Ils sont repartis inspirés, déterminés à en apprendre davantage sur ce type d'intelligence informatique.


The Woosh

Bien sûr, je n'ai pas pu résister. A la mi-novembre, j'ai demandé à mon fils Tommy et à mon neveu Noah de me construire une machine informatique puissante. Ils ont acheté les composants, composés d'un processeur 12 cœurs et de deux cartes graphiques à la fine pointe de la technologie qui venaient tout juste d'être lancées. Ces cartes disposent de milliers de processeurs graphiques et tenseurs (GPU et TPU), destinés à l'origine à l'affichage vidéo 3D dans les jeux. Mais il s'avère que les processeurs sont parfaitement adaptés au calcul des réseaux neuronaux.

J'ai donc maintenant une machine d'IA très puissante qui ronronne dans mon bureau à la maison. Elle ronronne ? En fait, il s'agit d'un ronflement assez fort de plusieurs ventilateurs qui dissipent la chaleur des 600 watts d'énergie consommés par l'ordinateur. Cela chauffe la pièce à une température très confortable de 23°C, avec le chauffage central éteint. En fait, on s'habitue à la constance de la machine. Il y a une chose intéressante à considérer : si j'avais eu cette machine vers l'an 2000, elle aurait été l'ordinateur le plus puissant du monde !

Qu'est-ce qu'on fait de la super-machine ? Un ami qui est un expert en échecs par ordinateur a téléchargé tous les outils nécessaires pour construire un réseau neuronal pour les échecs, et la machine s'est mise au travail en jouant en moyenne 95.000 parties par jour contre elle-même, apprenant d'eux et des autres parties. Dans quelques mois, nous espérons qu'il atteindra le niveau AlphaZero et qu'il ira peut-être même plus loin. Il est déjà capable de résister à des programmes de force brute de pointe, certains fonctionnant sur du matériel massif à 1,6 milliard de positions par seconde.

Tout ceci est exquisément excitant, pas seulement parce que notre programme d'IA peut progresser vers de nouveaux niveaux surhumains de force de jeu d'échecs. Le plus important, c'est qu'il le fait d'une manière complètement nouvelle, non pas avec des tactiques de force brute, mais avec des idées de position qu'il a trouvées, après avoir étudié des millions de jeux. Tout seul, sans intervention humaine.

Et ce n'est pas tout. Les techniques utilisées par DeepMind ne sont pas seulement applicables aux échecs. On peut utiliser les réseaux neuronaux pour apprendre toutes sortes de choses - reconnaître les images, les visages, l'écriture manuscrite ; traiter le langage naturel ; calculer le mouvement (par exemple pour les jeux informatiques avancés ou les robots) ; comprendre l'économie et les marchés boursiers, faire de meilleures prévisions que les experts humains ; et bien d'autres choses qui s'en viennent pour la prochaine décennie. Ces jeunes programmeurs veulent comprendre comment leur domaine est transformé par le passage du codage manuel explicite à l'apprentissage non supervisé par des ordinateurs qui, dans de nombreux domaines, font déjà un meilleur travail que les humains.

AlphaZero n'est qu'un des premiers exemples d'ordinateurs qui résolvent des problèmes complexes sans intervention humaine. Il a démontré de manière frappante que cela est possible - et, nous devons conclure, pas seulement pour le Go et les échecs. Nous allons voir le même processus se dérouler dans de nombreux autres domaines de l'activité humaine. C'est l'avenir de l'humanité, et nous ferions bien de nous y préparer.


Articles précédents dans cette série

- L'aventure de la programmation échiquéenne au 20ème siècle

Saviez-vous que le premier programme d'échecs a été écrit par Alan Turing quelques années avant que les premiers ordinateurs soient construits. Le premier programme d'échecs à fonctionner sur une machine a été MANIAC, écrit en 1951 par les scientifiques de la bombe atomique à Los Alamos. Cinquante ans plus tard, les ordinateurs défiaient les champions du monde, et aujourd'hui, il est inutile pour un humain de jouer contre un adversaire numérique.

- Le jeu des échecs et sa programmation informatique

Comment les ordinateurs jouent-ils aux échecs, comment "pensent-ils" ? L'auteur discute des très, très grands nombres impliqués dans l'étude de toutes les suites possibles. Malheureusement, l'effort d'élaguer l'arbre de recherche et de ne regarder que les lignes plausibles a échoué, tandis que les progrès du développement matériel et logiciel ont conduit au triomphe de la méthode de la "force brute".