GNU Go - Le Bottin des Jeux Linux

GNU Go

🗃️ Specifications

📰 Title: GNU Go 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Puzzle 🚦 Status: 05. Tested & Working (status)
🏷️ Category: Puzzle ➤ Board Game ➤ Go ➤ Engine 🌍️ Browser version:
🔖 Tags: Puzzle; Board Game; Go Engine; GTP Protocol; Flagship 📦️ Package Name: gnugo
🐣️ Approx. start: 2001-09-06 📦️ Arch package:
🐓️ Latest: 2009-02-19 📦️ RPM package:
📍️ Version: Latest: 3.8 / Dev: 84a32e9 📦️ Deb package: ✓
🏛️ License type: 🕊️ Libre 📦️ Flatpak package:
🏛️ License: GPL-3 📦️ AppImage package:
🏝️ Perspective: First person (interface) 📦️ Snap package:
👁️ Visual: Text ⚙️ Generic binary:
⏱️ Pacing: Turn-Based 📄️ Source: ✓
👫️ Played: Single 📱️ PDA support:
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 5 stars 👫️ Contrib.: goupildb & Louis
🎰️ ID: 11286 🐛️ Created: 2010-08-20
🐜️ Updated: 2022-05-27

📖️ Summary

[en]: A libre and multi-platform AI for Go games (an AI specialized in this type of games), with a medium / human amateur level (estimated power of 1246 Elo/3k for v.3.8 lv1, ranked in the middle of the chart on GitHub in March 2021; humans reach 3800 Elo), communicating with the GTP protocol. Its strong points: it is free, simple to use ( even via an external interface), works well, its level of play/speed is adjustable. The AI provides a ncurses output by default, however it is mainly intended for use with an external GUI. [fr]: Une IA libre et multi-plateforme pour le jeu de Go (une IA spécialisée dans ce type de jeux), d'un niveau moyen / amateur humain (puissance estimée à 1246 Elo/3k pour la v.3.8 lv1, classée en milieu de tableau sur GitHub en Mars 2021 ; les humains atteignent 3800 Elo), communiquant avec le protocole GTP. Ses points forts : elle est libre, simple à mettre en œuvre (même via une interface externe), fonctionne bien, son niveau de jeu / vitesse est ajustable. L'IA fournit une sortie ncurses par défaut, néanmoins elle est surtout destinée à être utilisée avec une interface graphique externe.

🎥️ Videos


🎮️ Showcase:

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site 1 2 3] [Features/About] [Screenshots] [Videos t(202xxx) gd(202xxx) gu(202xxx) r(202xxx) lp(202xxx) g(202xxx) g(202xxx) g(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] [FAQ] [RSS] [Changelog 1 2 3]

💰 Commercial: (empty)

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

🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames] [KGS (Aide sur le classement) [fr]] [Sensei's Library (GNU Go)] [ICGA Tournaments (GNU Go)] [ICGA Tournaments (Go tournaments & Programs)] [Go AI Ratings on GitHub] [Go Ratings (humans)]

🦣️ Social
Devs (GNU Go Team [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[Wikipedia (GNU Go) [fr] [en] [de]]
[Wikipedia (Go) [fr] [en] [de]]]
[Jeux libres [fr]] [Wiki ubuntu-fr [fr]] [The Linux Game Tome] [Debian/Ubuntu]

📦️ 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]

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

🦣️ Social Networking Update (on mastodon)

🛠️ Title:
🦊️ What's:
🏡️
🐣️
🔖 #Flagship
📦️
📖 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/

📕 Description [en]

📕🐧"A libre AI for Go games with a medium / human amateur level"🐧📕.

GNU Go is a free program that plays the game of Go. GNU Go has played thousands of games on the NNGS Go server. GNU Go is now also playing regularly on the Legend Go Server in Taiwan, on the WING server in Japan, and many volunteers run GNU Go clients on KGS. GNU Go has established itself as the leading non-commercial go program in the recent tournaments that it has taken part in.

About

The challenge of Computer Go is not to beat the computer, but to program the computer.

In Computer Chess, strong programs are capable of playing at the highest level, even challenging such a player as Garry Kasparov. No Go program exists that plays at the same level as the strongest human players.

To be sure, existing Go programs are strong enough to be interesting as opponents, and the hope exists that some day soon a truly strong program can be written. This is especially true in view of the successes of Monte Carlo methods, and a general recent improvement of computer Go.

Before GNU Go, Go programs have always been distributed as binaries only. The algorithms in these proprietary programs are secret. No-one but the programmer can examine them to admire or criticise. As a consequence, anyone who wished to work on a Go program usually had to start from scratch. This may be one reason that Go programs have not reached a higher level of play.

Unlike most Go programs, GNU Go is Free Software. Its algorithms and source code are open and documented. They are free for any one to inspect or enhance. We hope this freedom will give GNU Go's descendents a certain competetive advantage.

(...)

1.3 Authors

GNU Go maintainers are Daniel Bump, Gunnar Farneback and Arend Bayer. GNU Go authors (in chronological order of contribution) are Man Li, Wayne Iba, Daniel Bump, David Denholm, Gunnar Farnebäck, Nils Lohner, Jerome Dumonteil, Tommy Thorn, Nicklas Ekstrand, Inge Wallin, Thomas Traber, Douglas Ridgway, Teun Burgers, Tanguy Urvoy, Thien-Thi Nguyen, Heikki Levanto, Mark Vytlacil, Adriaan van Kessel, Wolfgang Manner, Jens Yllman, Don Dailey, Måns Ullerstam, Arend Bayer, Trevor Morris, Evan Berggren Daniel, Fernando Portela, Paul Pogonyshev, S.P. Lee and Stephane Nicolet, Martin Holters, Grzegorz Leszczynski and Lee Fisher.

1.4 Thanks

We would like to thank Arthur Britto, David Doshay, Tim Hunt, Matthias Krings, Piotr Lakomy, Paul Leonard, Jean-Louis Martineau, Andreas Roever and Pierce Wetter for helpful correspondence.

Thanks to everyone who stepped on a bug (and sent us a report)!

Thanks to Gary Boos, Peter Gucwa, Martijn van der Kooij, Michael Margolis, Trevor Morris, Måns Ullerstam, Don Wagner and Yin Zheng for help with Visual C++.

Thanks to Alan Crossman, Stephan Somogyi, Pierce Wetter and Mathias Wagner for help with Macintosh. And thanks to Marco Scheurer and Shigeru Mabuchi for helping us find various problems.

Thanks to Jessie Annala for the Handtalk games.

Special thanks to Ebba Berggren for creating our logo, based on a design by Tanguy Urvoy and comments by Alan Crossman. The old GNU Go logo was adapted from Jamal Hannah's typing GNU: https://www.gnu.org/graphics/atypinggnu.html. Both logos can be found in ‘doc/newlogo.*’ and ‘doc/oldlogo.*’.

We would like to thank Stuart Cracraft, Richard Stallman and Man Lung Li for their interest in making this program a part of GNU, William Shubert for writing CGoban and gmp.c, Rene Grothmann for Jago and Erik van Riper and his collaborators for NNGS.


🍥️ Debian:

Play the game of Go

GNU Go is a free program that plays the game of Go. It provides a text-only user interface, have a look at the cgoban or qgo package if you want to play on a graphical board.

Go is an ancient game originated from China, with a definite history of over 3000 years, although there are historians who say that the game was invented more than 4000 years ago. The Chinese call the game Weiqi, other names for Go include Baduk (Korean), Igo (Japanese), and Goe (Taiwanese).

In this game, each player tries to exert more influence on territory than her opponent, using threats of death, capture, or isolation. It is, therefore, a symbolic representation of the relationships between nations. Go is getting increasingly popular around the world, especially in Asian, European and American countries, with many worldwide competitions being held.

The game of Go is played on a board. The Go set is comprised of the board, together with 181 black and 180 white stones. The standard board has 19 lines by 19 lines, but 13x13 and 9x9 boards can also be used. However, the 9x9 and 13x13 boards are usually for beginners; more advanced players would prefer the traditional 19x19 board.

Compared to International Chess and Chinese Chess, Go has far fewer rules. Yet this allowed for all sorts of moves to be played, so Go can be a more intellectually challenging game than the other two types of Chess. Nonetheless, Go is not a difficult game to learn, so have a fun time playing the game with your friends.

(adopted from https://senseis.xmp.net/?WhatIsGo)


🌍️ Wikipedia:

GNU Go is a free software program by the Free Software Foundation that plays Go. Its source code is quite portable, and can be easily compiled for Linux, as well as other Unix-like systems, Microsoft Windows and macOS; ports exist for other platforms.

The program plays Go against the user, at about 5 to 7 kyu strength on the 9x9 board. Multiple board sizes are supported, from 5×5 to 19×19.

Strength

At this level of performance, GnuGo was between six and seven stones weaker than the top commercial programs on good hardware as of early 2009, but comparable in strength to the strongest programs not using Monte Carlo methods. It did well at many computer Go tournaments. For instance, it took the gold medal at the 2003 and 2006 Computer Olympiad[1] and second place at the 2006 Gifu Challenge.

Protocols

Although ASCII-based, GNU Go supports two protocols — the Go Modem Protocol and the Go Text Protocol — by which GUIs can interface with it to give a graphical display. Several such GUIs exist. GTP also allows it to play online on Go servers (through the use of bridge programs), and copies can be found running on NNGS, KGS, and probably others.

📕 Description [fr]

Un moteur de jeu de Go, par la GNU Go Team.
En C.

GNU Go est une IA libre et multi-plateforme pour le jeu de Go (une IA spécialisée dans ce type de jeux), d'un niveau moyen / amateur humain (puissance estimée à 1246 Elo/3k pour la v.3.8 lv1, classée en milieu de tableau sur GitHub en Mars 2021 ; les humains atteignent 3800 Elo), communiquant avec le protocole GTP. Ses points forts : elle est libre, simple à mettre en œuvre (même via une interface externe), fonctionne bien, son niveau de jeu / vitesse est ajustable. L'IA fournit une sortie ncurses par défaut, néanmoins elle est surtout destinée à être utilisée avec une interface graphique externe.

Pour jouer avec ce moteur, il vous faudra installer une interface de jeu telle que :
ccGo, Cgoban, GlGo ,GoGui (testée & validée), JagoClient, qGo, Quarry (testée & validée), Sabaki (testée & validée),

Ressources et documentations disponibles : voir la fiche "Ressources - Jeu de Go".

Crédit image (lien ci-dessus): Debian.


GNU Go est un programme libre qui joue au jeu de Go. GNU Go a joué à des milliers de jeux sur le serveur de Go du NNGS. GNU Go joue maintenant aussi régulièrement sur le serveur Legend Go à Taiwan, sur le serveur WING au Japon, et de nombreux volontaires gèrent les clients de GNU Go sur le KGS. GNU Go s'est imposé comme le principal programme non commercial de go lors des récents tournois auxquels il a participé.

À propos

Le défi du jeu de Go sur ordinateur n'est pas de battre l'ordinateur, mais de programmer l'ordinateur.

Dans les échecs sur ordinateur, les programmes forts sont capables de jouer au plus haut niveau, même en défiant un joueur comme Garry Kasparov. Il n'existe pas de programme de Go qui joue au même niveau que les joueurs humains les plus forts.

Certes, les programmes Go existants sont assez forts pour être intéressants en tant qu'opposants, et l'espoir existe qu'un jour prochain un programme vraiment fort puisse être écrit. Ceci est particulièrement vrai compte tenu des succès des méthodes de Monte Carlo, et d'une amélioration générale récente du jeu de Go sur ordinateur.

Avant GNU Go, les programmes de Go ont toujours été distribués uniquement sous forme de binaires. Les algorithmes de ces programmes propriétaires sont secrets. Personne d'autre que le programmeur ne peut les examiner pour les admirer ou les critiquer. Par conséquent, toute personne souhaitant travailler sur un programme de Go devait généralement démarrer de zéro. Cela peut être une raison pour laquelle les programmes de Go n'ont pas atteint un niveau de jeu plus élevé.

Contrairement à la plupart des programmes de Go, GNU Go est un logiciel libre. Ses algorithmes et le code source sont ouverts et documentés. Ils sont libres pour quiconque souhaite les inspecter ou les améliorer. Nous espérons que cette liberté donnera aux descendants de GNU Go un avantage concurrentiel certain.

(...)

1.3 Auteurs

Les mainteneurs de GNU Go sont Daniel Bump, Gunnar Farneback and Arend Bayer.
Les auteurs de GNU Go sont (dans l'ordre chronologique de contribution) Man Li, Wayne Iba, Daniel Bump, David Denholm, Gunnar Farnebäck, Nils Lohner, Jerome Dumonteil, Tommy Thorn, Nicklas Ekstrand, Inge Wallin, Thomas Traber, Douglas Ridgway, Teun Burgers, Tanguy Urvoy, Thien-Thi Nguyen, Heikki Levanto, Mark Vytlacil, Adriaan van Kessel, Wolfgang Manner, Jens Yllman, Don Dailey, Måns Ullerstam, Arend Bayer, Trevor Morris, Evan Berggren Daniel, Fernando Portela, Paul Pogonyshev, S.P. Lee et Stephane Nicolet, Martin Holters, Grzegorz Leszczynski et Lee Fisher.

1.4 Remerciements

Nous aimerions remercier Arthur Britto, David Doshay, Tim Hunt, Matthias Krings, Piotr Lakomy, Paul Leonard, Jean-Louis Martineau, Andreas Roever et Pierce Wetter pour leur utile correspondance.

Merci à tous ceux qui ont rencontrés un bug (et nous ont envoyé un rapport) !

Merci à Gary Boos, Peter Gucwa, Martijn van der Kooij, Michael Margolis, Trevor Morris, Måns Ullerstam, Don Wagner and Yin Zheng pour leur aide avec Visual C++.

Merci à Alan Crossman, Stephan Somogyi, Pierce Wetter et Mathias Wagner pour leur aide avec Macintosh. Et merci à Marco Scheurer et Shigeru Mabuchi de nous avoir aidé à résoudre divers problèmes.

Un grand merci à Ebba Berggren pour avoir créé notre logo, basé sur un design de Tanguy Urvoy et des commentaires d'Alan Crossman. L'ancien logo de GNU Go a été adapté à partir du GNU de Jamal Hannah : https://www.gnu.org/graphics/atypinggnu.html. Les deux logos peuvent être trouvés dans 'doc/newlogo.*' Et 'doc/oldlogo.*'.

Nous tenons à remercier Stuart Cracraft, Richard Stallman et Man Lung Li pour avoir fait de ce programme une partie de GNU, William Shubert pour avoir écrit CGoban et gmp.c, Rene Grothmann pour Jago et Erik van Riper et ses collaborateurs pour NNGS.



🍥️ Debian:

Jouer au jeu de Go

GNU Go est un programme libre pour jouer au jeu de Go. Le programme fournit une interface texte seulement. Se référer aux paquets cgoban ou qgo pour jouer sur un plateau en mode graphique.

Le jeu de Go est un jeu ancien originaire de Chine, ayant une histoire confirmée de plus de 3000 ans, bien que certains historiens affirment que le jeu ait été inventé il y a plus de 4000 ans. Les chinois appellent ce jeu Weiqi, mais d'autres noms existent tels que Baduk (en Corée), Igo (au Japon) et Goe (à Taïwan).

Dans ce jeu, chaque joueur essaye d'exercer son influence sur plus de territoire que son adversaire, en utilisant des menaces de mort, la capture ou l'isolement. C'est donc une représente symbolique des relations entre les nations. Le Go est de plus en plus populaire à travers le monde, particulièrement dans les pays asiatiques, européens et américains. De nombreuses compétitions internationales sont organisées.

Le jeu de Go se joue sur un plateau. Il se compose d'un plateau de jeu, de 181 pierres noires et 180 blanches. Le plateau standard mesure 19 lignes par 19 lignes, mais des plateaux de 13x13 et 9x9 sont aussi utilisés, plutôt par les débutants; les joueurs plus avancés préférant le plateau traditionnel de 19x19.

Le jeu de Go a bien moins de règles que le jeu d'échecs ou le Xiangqi (« échecs chinois »). Mais cela implique une très grande liberté de mouvements, ce qui en fait donc un jeu encore plus exigeant intellectuellement. Le Go n'est cependant pas difficile à apprendre, l’utilisateur prendra donc du plaisir à y jouer avec ses amis.

(Adapté de https://senseis.xmp.net/?WhatIsGo)


🌍️ Wikipedia:

GNU Go est un logiciel libre qui joue au go. Son code source est en C portable et peut être compilé simplement sous GNU/Linux, aussi bien que sous d'autres Unix, Windows et Mac OS X ; les portages existent pour d'autres plateformes. Il est distribué selon les termes de la licence GNU GPL.

Description

Le programme permet de jouer au go contre un autre utilisateur. Des gobans de diverses tailles sont proposés, de 5×5 à 19×19.

Bien qu'il soit basé sur une interface texte ASCII, GNU Go supporte deux protocoles — le Go Modem Protocol et le Go Text Protocol — par lesquels les GUI peuvent s'interfacer avec un serveur graphique.

Communauté

Ce programme a remporté le tournoi « Computer Olympiad » en 20033 et en 20064, ainsi que la manifestation connue aux États-Unis sous l'appellation US Go Congress (en).

Juridique

Ce programme fut par ailleurs l'objet, en 2010, d'un conflit juridique entre la fondation pour le logiciel libre et Apple.

(...)

🚧️ Installation ➜ 🚀️ Launching [fr]

⚙️ Installation à partir du binaire
✔ Le moteur est en dépôt, il suffit d'installer le paquet.

📄️ Installation à partir du source

• Source non testé.


🚀️ LANCEMENT DU MOTEUR :

• Pour une utilisation en console, lancez : $ gnugo

Liste des commandes : pour obtenir de l'aide vous pouvez aussi lancer en console la commande : $ gnugo --help

• Pour une utilisation avec une interface de jeu de Go utilisant le protocole GTP (Go Text Protocol, telle que Sabaki par exemple) :

Entrer un titre : GNU Go
Répertoire du moteur (si installé depuis les dépôts, sinon à adapter): /usr/games/gnugo
Arguments : --mode gtp

🕵️ Test [fr]

🕵️ Test (3.8 des dépôts) par goupildb :

🎯️ Objectif: rédiger/mettre à jour/valider sa notice d'installation, tester son fonctionnement et partager mes premières impressions.

Je l'ai testé avec différentes interfaces, la dernière en date a été Sabaki (superbe).
Il suffit de paramétrer l'interface pour ce moteur comme suit, dans Engine ➜ Manage Engine :

Entrer un titre : GNU Go
Répertoire du moteur (si installé via les dépôts): /usr/games/gnugo
Arguments : --mode gtp

Je l'ai testé avec succès contre l'IA Pachi (dans le Bottin): elle fonctionne très bien.

Même si elle n'est clairement plus dans le haut du pavé des IA de jeu de Go (les commentaires et liens sur le site auraient besoin d'être actualisés ;), elle a un niveau qui mettra en déroute bien des joueurs amateurs, et reste simple à mettre en œuvre (en dépôt Debian notamment).
👏️ ❤️ Un grand bravo et merci à ses auteurs !