Stockfish 12 est sorti
-
Ô bienheureux qui jouez aux échecs, un de vos puissants adversaires algorithmique vient de sauter encore plus haut. Le logiciel libre (GPLv3+) Stockfish est devenu beaucoup plus fort dans sa nouvelle version 12 sortie le 2 septembre 2020. Combien plus fort ? « A lot! » comme disait un Monthy Python. Et en effet, les résultats des tests sont impressionnants !
D’où vient le bond soudain de Stockfish ? C’est la question que je laisse en suspens pour l’aborder en deuxième partie.
- lien nᵒ 1 : Annonce de sortie
- lien nᵒ 2 : Téléchargements
- lien nᵒ 3 : Constructions automatiques des versions de développement
- lien nᵒ 4 : Site de Stockish
- lien nᵒ 5 : Code source sur GitHub
- lien nᵒ 6 : Tout savoir sur Stockfish NNUE
Stockfish était déjà très très fort, et encore manque‑t‑on de superlatif à ce niveau du classement (environ 3 500 Elo pour Stockfish 9). Il est depuis 2005 dans le trio des meilleurs moteurs d’échecs. En 2017 le programme Alphazero l’avait toutefois écrasé, après seulement quelques heures d’apprentissage. Apprentissage ? Eh oui, comme dans Les Conquérants de l’impossible chers à ma jeunesse, vous pouvez maintenant prendre en stop un cerveau, lui apprendre les échecs et perdre à plate couture le lendemain.1
Les réseaux de neurones
On le dit, on le répète depuis des années, grâce aux réseaux de neurones l’ordinateur fera un jour les madeleines mieux que votre grand‑mère. AlphaZero en est une éclatante démonstration : initialement, le réseau de neurones ne savait rien d’autre que les règles du jeu et il a progressé en jouant contre lui‑même. Mais en attendant ma grand‑mère, l’énergie dissipée suffit à chauffer le four puisque Alphazero tourne sur une grosse bécane à base de processeurs pas très ordinaires. C’est normal, le réseau utilise TensorFlow.
Stockfish donc, utilise maintenant une double évaluation de position : celle de son moteur classique, qui a progressé, et celle apportée par un réseau de neurones actualisable efficacement (NNUE). Ces évaluations donnent une valeur de position, valeur utilisée plus tard dans une recherche de score alpha‑bêta du type PVS (Principal Variation Search) pour trouver le meilleur mouvement. C’est simple et compliqué, mais ce sont les notes du commit ! Le moteur classique calcule cette valeur en fonction de plusieurs algorithmes d’échecs conçus par des experts, testés et améliorés avec Fishtest, un outil à la SETI@home (qui est fini). L’évaluation NNUE calcule cette valeur avec un réseau de neurones basé sur des entrées simples. Le réseau est optimisé et entraîné par les évaluations de millions de positions à une profondeur modérée.
Le correctif vient du Japon, pas étonnant puisqu’il a d’abord été testé avec le jeu Shogi. L’évaluation NNUE est efficace sur des processeurs ordinaires et exploite le fait que seules des parties du réseau de neurones doivent être mises à jour après un mouvement d’échec classique. Ça ne cuira pas les madeleines mais ça tourne aussi sur vos mobiles.
- Lire Le Robot qui vivait sa vie de Philippe Ébly, publié chez Hachette — Paris (1978).
Télécharger ce contenu au format EPUB
Commentaires : voir le flux Atom ouvrir dans le navigateur
Sauf mention contraire, le site est placé sous double licence Creative Commons BY-SA et GNU Free Documentation License propulsé par NodeBB