PolyGlot - Le Bottin des Jeux Linux

PolyGlot

🗃️ Specifications

📰 Title: PolyGlot 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Puzzle 👁️ Visual: Text
🏷️ Category: Puzzle ➤ Board Game ➤ Chess ➤ Tool 🏝️ Perspective: First person (interface)
🔖 Tags: Puzzle; Board Game; Chess; Chess Tool; Chess960; CECP Protocol; UCI Protocol ⏱️ Pacing: Turn-Based
🐣️ Approx. start: 2004-04-30 👫️ Played: Single
🐓️ Latest: 2016-11-15 🚦 Status: 04. Released (status)
📍️ Version: Latest: 2.0.4 / Dev: 9fff041 (aka 2.0.4) ❤️ Like it: 9. ⏳️
🏛️ License type: 🕊️ Libre 🎀️ Quality: 7. ⏳️
🏛️ License: GPL-2+ ✨️ (temporary):
🐛️ Created: 2021-01-22 🐜️ Updated: 2024-06-22

📦️ Deliverables

📦️ Package name: polyglot ..... 📦️ Arch:
📄️ Source: ✓ ..... 📦️ RPM:
⚙️ Generic binary: ✓ ..... 📦️ Deb: ✓
🌍️ Browser version: ..... 📦️ AppImage:
📱️ PDA support: ..... 📦️ Flatpak:
✨️ Not use: ..... 📦️ Snap:

🚦 Entry status

📰 What's new?: 👔️ Already shown:
💡 Lights on: 💭️ New version published (to be updated):
🎨️ Significant improvement: 🦺️ Work in progress:
🎖️ This work: 4 stars 🚧️ Some work remains to be done:
👫️ Contrib.: goupildb & Louis 👻️ Temporary:
🎰️ ID: 15971

📖️ Summary

📜️[en]: A libre, multi-platform UCI protocol adapter. It allows to connect a UCI chess engine to a chess interface that supports only the CECP protocol (the most common protocols are CECP aka Winboard/Xboard, and UCI). PolyGlot thus behaves like a chess engine using the CECP protocol. It also provides various utilities (support for the PolyGlot opening book format, a collection of utilities for creating and analyzing opening books, a utility for analyzing epd files, and a perft counter). 📜️[fr]: Un adaptateur de protocole UCI libre et multi-plateforme. Il permet de connecter un moteur d'échecs UCI à une interface de jeu d'échecs qui ne supporte que le protocole CECP (les protocoles les plus courants sont CECP aka Winboard/Xboard, et UCI). PolyGlot se comporte ainsi comme un moteur de jeu d'échecs utilisant le protocole CECP. Il fournit aussi différents utilitaires (prise en charge du format de livre d'ouverture PolyGlot, une collection d'utilitaires pour la création et l'analyse de livres d'ouverture, un utilitaire pour l'analyse des fichiers epd, et un compteur de perft).

🎥️ Videos


🕯️ How To: (202xxx♺), (202xxx♺), (202xxx♺),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site 1 2] [Features/About 1 2] [Screenshots] [Videos t(202xxx) gd(202xxx) gu(202xxx) r(202xxx) lp(202xxx) ht(202xxx♺) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx)] [WIKI 1 2] [FAQ] [RSS: waiting] [Changelog 1 2 3 4]

💰 Commercial
• (empty)

🍩️ Resources
(empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[PCGamingWiki] [MobyGames] [Chess Programming Wiki]

🦣️ Social
Devs (PolyGlot Team 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
Devs (Fabien Letouzey [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
Devs (Fonzy Bluemers (Fonzy) [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
Devs (Harm Geert Muller 1 2 [fr] [en]): [Site 1 2 3] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[Debian/Ubuntu] [Snap] [Flatpak]

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Site (date)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title:
🦊️ What's:
🏡️
🐣️
🔖
📦️
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update:
⚗️
📌️ Changes:
🦣️ From: 🛜️

🏝️ https://www.youtube.com/embed/
🦉️ https://www.youtube.com/embed/
🦝️ https://www.youtube.com/embed/
🦝️ https://www.youtube.com/embed/
🕵️ https://www.youtube.com/embed/
🕯️https://www.youtube.com/embed/
🕯️https://www.youtube.com/embed/
🎲️ https://www.youtube.com/embed/
🎲️ https://www.youtube.com/embed/
🎲️ https://www.youtube.com/embed/
🎲️[fr] https://www.youtube.com/embed/
🎮️ https://www.youtube.com/embed/
🎮️ https://www.youtube.com/embed/
🐧https://www.youtube.com/embed/
🐧https://www.youtube.com/embed/

🕶️

📚️ Name is a

📕 Description [en]

📜️ "A libre UCI protocol adapter for chess interface that only supports the CECP protocol" 📜️ .

PolyGlot is a "UCI adapter". It connects a UCI chess engine to an xboard interface such as WinBoard.
PolyGlot tries to solve known problems with other adapters. For instance, it detects and reports draws by fifty-move rule, repetition, etc ...


PolyGlot

• Winboard protocol to UCI protocol adapter
• book engine for Polyglot books
• a collection of utilities for creating and analyzing opening books
• a utility for analyzing epd files
• a perft counter

PolyGlot as adapter and book engine

PolyGlot is a "UCI adapter". It connects a GUI interface (such as XBoard, Winboard, Arena or Chessbase) to a UCI chess engine.
By specifying an opening book (in PolyGlot book format) chess engines can transparently use such books.
PolyGlot understands the two main GUI protocols: UCI and xboard. Normally the protocol will be auto detected but this can be overridden in the configuration file.
In xboard mode PolyGlot fully translates between the xboard and UCI protocols. In addition it tries to solve known problems with other adapters. For instance, it detects and reports draws by fifty-move rule, repetition, etc ... It also supports Chess960.
When in UCI mode PolyGlot mostly passes commands from the GUI to the engine and vice versa, except that it will play book moves on behalf of the engine when the occasion arises.
The engine options are exported as UCI options in UCI mode and as "feature option=" commands in xboard mode. The latter form an extension of the xboard protocol as defined by H.G. Muller.
Options which normally appear in the [PolyGlot] section of the config file (see below) are exported as options with their name prefixed by "Polyglot". This makes it easy to filter them in the GUI.

NOTE: Not all options are exported, only those that make sense in the given mode.

Book making utilities

PolyGlot supports the "PolyGlot opening book format". This is the defacto standard non-proprietary opening book format. It is fully documented here
https://alpha.uhasselt.be/Research/Algebra/Toga/book_format.html

Roughly speaking a PolyGlot opening book is a collection of triples (position, move, weight). A "position" is represented by a 64-bit Zobrist hash key. The weight is proportional to the probability the move should be played.

Other opening book formats such as ChessBase's .ctg format and Arena's .abk format are undocumented and proprietary. They can only be used by their own GUIs.

PolyGlot can compile a pgn file into a binary PolyGlot book and furthermore it can merge two such binary books into a third one.

PolyGlot can also extract some useful information from PolyGlot books. The utility "dump-book" dumps the "lines" in a book for a given color. By definition a line is a sequence of moves (from the starting position) in which the given color makes only book moves and the other color makes arbitrary moves (i.e. not necessarily book moves).

Since a PolyGlot book is built up from positions and not lines there may be (and there usually are) many positions in the book that are not on a "line" as defined in the previous paragraph. It is convenient to call such positions "isolated" positions. The utility "info-book" counts such isolated positions.

Some of the isolated positions are provably unreachable and they could in principle be deleted from the book. For example if a book contains only the move "e4" in the starting position but also the position after
"d4 d5" then this last position is provably unreachable since it requires white to make a non-book move when a book move is available. Such situations arise frequently from the priority rules in merging books.

Unfortunately not all isolated positions are provably unreachable and it is difficult to identify the latter. If invoked with "-exact" the utility info-book will attempt to count the isolated positions which require a player to make a non-book move when a book move is available. Due to the possibility of transpositions this is not a fool proof method.

(...)


Usage
-----

PolyGlot acts as an xboard engine. There should be no difference with a normal chess program as far as the interface (e.g. WinBoard) is concerned.
PolyGlot is invoked using "polyglot ". Note that PolyGlot will look for the INI file in the current directory. If no is given, "polyglot.ini" is selected.

To use PolyGlot with XBoard, you would type something like this: > xboard -fd 'ini_dir' -fcp 'polyglot engine.ini'
Quotes are important when there is a space in the argument.


🍥️ Debian:

Chess engine protocol adaptor, connects UCI engines to xboard

Common chess frontends have a winboard/xboard input interface, modern chess engines speak the UCI "universal chess interface" protocol. This protocol adaptor makes it possible to use standard chess frontends, like xboard or scid with UCI speaking engines and play chess against them.

📕 Description [fr]

Un adaptateur de protocole UCI pour interface de jeu d'échecs ne supportant que le protocole CECP, par la PolyGlot Team (maintenance Harm Geert Muller), initié par Fabien Letouzey et modifié par Fonzy Bluemers (Fonzy).

PolyGlot est un adaptateur de protocole UCI libre et multi-plateforme. Il permet de connecter un moteur d'échecs UCI à une interface de jeu d'échecs qui ne supporte que le protocole CECP (les protocoles les plus courants sont CECP aka Winboard/Xboard, et UCI). PolyGlot se comporte ainsi comme un moteur de jeu d'échecs utilisant le protocole CECP. Il fournit aussi différents utilitaires (prise en charge du format de livre d'ouverture PolyGlot, une collection d'utilitaires pour la création et l'analyse de livres d'ouverture, un utilitaire pour l'analyse des fichiers epd, et un compteur de perft).


PolyGlot est un "adaptateur UCI". Il permet de connecter un moteur d'échecs UCI à une interface xboard comme WinBoard.
PolyGlot essaie de résoudre les problèmes connus avec d'autres adaptateurs. Par exemple, il détecte et rapporte les nulles par règle de cinquante coups, répétition, etc...


PolyGlot

• Adaptateur de protocole Winboard vers le protocole UCI
• moteur de livres pour les livres Polyglot
• une collection d'utilitaires pour la création et l'analyse de livres d'ouverture
• un utilitaire pour l'analyse des fichiers epd
• un compteur de perft

PolyGlot comme adaptateur et moteur de livre

PolyGlot est un "adaptateur UCI". Il permet de connecter une interface graphique (telle que XBoard, Winboard, Arena ou Chessbase) à un moteur d'échecs UCI.
En spécifiant un livre d'ouverture (au format livre PolyGlot), les moteurs d'échecs peuvent utiliser ces livres de manière transparente.
PolyGlot comprend les deux principaux protocoles d'interface graphique : UCI et xboard. Normalement, le protocole est détecté automatiquement, mais il est possible d'y déroger dans le fichier de configuration.
En mode xboard, PolyGlot traduit entièrement entre les protocoles xboard et UCI. En outre, il essaie de résoudre les problèmes connus avec d'autres adaptateurs. Par exemple, il détecte et signale les schémas par règle de cinquante mouvements, répétition, etc... Il supporte également Chess960.
En mode UCI, PolyGlot passe principalement les commandes de l'interface graphique au moteur et vice versa, sauf qu'il jouera les coups du livre au nom du moteur lorsque l'occasion se présentera.
Les options du moteur sont exportées sous forme d'options UCI en mode UCI et sous forme de commandes "feature option=" en mode xboard. Ces dernières forment une extension du protocole xboard tel que défini par H.G. Muller.
Les options qui apparaissent normalement dans la section [PolyGlot] du fichier de configuration (voir ci-dessous) sont exportées en tant qu'options avec leur nom préfixé par "Polyglot". Cela permet de les filtrer facilement dans l'interface graphique.

NOTE : Toutes les options ne sont pas exportées, seulement celles qui ont un sens dans le mode donné.

Utilitaires de création de livres

PolyGlot prend en charge le "format de livre d'ouverture PolyGlot". Il s'agit du format standard de facto du livre d'ouverture non propriétaire. Il est entièrement documenté ici
https://alpha.uhasselt.be/Research/Algebra/Toga/book_format.html

En gros, un livre d'ouverture PolyGlot est un recueil de triptyques (position, mouvement, poids). Une "position" est représentée par une clé de hachage Zobrist de 64 bits. Le poids est proportionnel à la probabilité que le coup soit joué.

D'autres formats de livre d'ouverture tels que le format .ctg de ChessBase et le format .abk d'Arena sont non documentés et propriétaires. Ils ne peuvent être utilisés que par leurs propres interfaces graphiques.

PolyGlot peut compiler un fichier pgn en un livre binaire PolyGlot et, de plus, il peut fusionner deux livres binaires de ce type en un troisième.

PolyGlot peut également extraire des informations utiles des livres PolyGlot. L'utilitaire "dump-book" transfère les "lignes" d'un livre pour une couleur donnée. Par définition, une ligne est une séquence de mouvements (à partir de la position de départ) dans laquelle la couleur donnée ne fait que des mouvements de livre et l'autre couleur fait des mouvements arbitraires (c'est-à-dire pas nécessairement des mouvements de livre).

Comme un livre PolyGlot est construit à partir de positions et non de lignes, il peut y avoir (et il y a généralement) de nombreuses positions dans le livre qui ne sont pas sur une "ligne" comme défini dans le paragraphe précédent. Il est pratique d'appeler de telles positions des positions "isolées". L'utilitaire "info-book" compte ces positions isolées.

Certaines de ces positions isolées sont manifestement inaccessibles et pourraient en principe être supprimées du livre. Par exemple, si un livre ne contient que le coup "e4" dans la position de départ mais aussi la position après
"d4 d5" alors cette dernière position est manifestement inaccessible puisqu'elle oblige les Blancs à effectuer un coup non-livré lorsqu'un coup-livré est disponible. De telles situations sont fréquentes en raison des règles de priorité dans la fusion des livres.

Malheureusement, les positions isolées ne sont pas toutes inaccessibles et il est difficile d'identifier ces dernières. Si le mot "-exact" est utilisé, l'info-book tentera de compter les positions isolées qui nécessitent qu'un joueur effectue un déplacement sans livre lorsqu'un déplacement avec livre est disponible. En raison de la possibilité de transpositions, il ne s'agit pas d'une méthode infaillible.

(...)


Utilisation
-----

PolyGlot fait office de moteur xboard. Il ne devrait pas y avoir de différence avec un programme d'échecs normal en ce qui concerne l'interface (par exemple WinBoard).
PolyGlot est invoqué en utilisant "polyglot". Notez que PolyGlot cherchera le fichier INI dans le répertoire courant. Si aucun n'est donné, "polyglot.ini" est sélectionné.

Pour utiliser PolyGlot avec XBoard, vous devez taper quelque chose comme ceci : xboard -fd 'ini_dir' -fcp 'polyglot engine.ini' > xboard -fd 'ini_dir' -fcp 'polyglot engine.ini
Les guillemets sont importantes lorsqu'il y a un espace dans l'argumentation.



🍥️ Debian:

Adaptateur de protocole moteur d'échecs, connecte les moteurs UCI à xboard

Les interfaces courantes de jeux d'échecs possèdent une interface d'entrée winboard/xboard, les moteurs d'échecs modernes comprennent le protocole UCI «⋅Universal Chess Interface⋅». Cet adaptateur de protocole rend possible l'usage d'interfaces d'échecs standards, comme xboard ou scid, avec les moteurs comprenant l’UCI et de jouer aux échecs contre eux.