Crafty - Le Bottin des Jeux Linux

Crafty

🗃️ Specifications

📰 Title: Crafty 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Puzzle 🚦 Status: 06. Tested & Working
🏷️ Category: Puzzle ➤ Board Game ➤ Chess ➤ Engine ➤ CECP only 🌍️ Browser-based:
🔖 Tags: Puzzle; Board Game; Chess Engine; CECP Protocol 📦️ Package Name: crafty
🐣️ Approx. start: 1968-01-01 📦️ Arch:
🐤️ Latest: 2016-10-29 🍥️ On Deb repo: ✓
📍️ Version: Latest : 25.2 📦️ Deb: ✓
🏛️ License type: Free/Free price 📦️ RPM:
🏛️ License: Free 📦️ AppImage:
🏝️ Perspective: Third person 📦️ Snap:
👁️ Visual: Text 📦️ Flatpak/Athenaeum:
⏱️ Pacing: Turn-Based ⚙️ Generic bin.: ✓
👫️ Played: Single 📄️ Source: ✓
🎖️ This record: 5 stars 📱️ PDA support:
🎖️ Game design: 5 stars 👫️ Contrib.: Goupil & Louis
🎰️ ID: 10669 🐛️ Created: 2010-08-20
🐜️ Updated: 2021-11-14

📖️ Summary

[fr]: Une IA de jeu d'échecs (une IA spécialisée dans ce type de jeux) gratuite et multi-plateforme, assez puissante (puissance estimée à 3013 Elo pour la v.25.2, classée 63ème sur 2779 candidats au CCRL 40/15, classement "CCRL 404 - All engines" du 16 janvier 2021), communiquant avec le protocole CECP (les protocoles les plus courants sont CECP aka Winboard/Xboard, et UCI). Il est dérivé de Cray Blitz, lui-même de Blitz (même auteur en 1968). Son algorithme utilise de nombreuses techniques devenues des standards (structures de données à bit tournant, élagage alpha-bêta, table de transposition, ...). [en]: A free and multi-platform chess AI (an AI specialized in this type of games), quite powerful (estimated power of 3013 Elo for v.25.2, ranked 63rd out of 2779 candidates at the CCRL 40/15, ranking "CCRL 404 - All engines" of January 16, 2021), communicating with the CECP protocol (the most common protocols are CECP aka Winboard/Xboard, and UCI). It is derived from Cray Blitz, himself from Blitz (same author in 1968). Its algorithm uses many techniques that have become standards (rotating bit data structures, alpha-beta pruning, transposition table, ...).

🎥️ Videos

🎮️ Quelques exemples / Some examples (Showcase) :


🎮️ D'autres exemples / Some other examples :

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) ts(202xxx) gd(202xxx) gu(202xxx) id(202xxx) r(202xxx) lp(202xxx) g(202xxx) g(202xxx) g(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
• Opening book files : [Crafty (Opening book files)]
🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames] [Chess Programming Wiki] [Computer Chess Rating Lists ("CCRL 404 - All engines")]

🐘 Social
Devs (Dr. Robert M. Hyatt (Bob) 1 2 [fr] [en]) : [Site 1 2] [mastodon] [twitter] [PeerTube] [YouTube] [Interview 1 2]
Game : [Blog] [Forums] [mastodon] [twitter] [PeerTube] [YouTube]

🐝️ Related
[Wikipedia (Crafty) [fr] [en] [de]]
[Wikipedia (Comparison of top chess players throughout history) [fr] [en] [de]]
[Debian] [Freecode]

📦️ Misc. repositories


🕵️ Reviews
[metacritic]

📰 News / Source of this Entry (SotE) / News (SotN)


🐘 Social Networking Update (on Mastodon)

🛠️ Title:
🦊️ What's:
🏡️
🐣️
🔖 #linux

🐧 Update:
💼️
📌️ Changes:
📖 Our entry: https://bit.ly/bottinLightOn
🐘 From:
🏝️ http://youtu.be/
🕵️ http://youtu.be/
🕹️ http://youtu.be/
🐧 http://youtu.be/

Source of this Entry:

📕 Description [fr]

Un moteur de jeu d'échecs assez puissant, par Dr. Robert M. Hyatt (Bob).
En C.

Crafty est une IA de jeu d'échecs (une IA spécialisée dans ce type de jeux) gratuite et multi-plateforme, assez puissante (puissance estimée à 3013 Elo pour la v.25.2, classée 63ème sur 2779 candidats au CCRL 40/15, classement "CCRL 404 - All engines" du 16 janvier 2021), communiquant avec le protocole CECP (les protocoles les plus courants sont CECP aka Winboard/Xboard, et UCI). Il est dérivé de Cray Blitz, lui-même de Blitz (même auteur en 1968). Son algorithme utilise de nombreuses techniques devenues des standards (structures de données à bit tournant, élagage alpha-bêta, table de transposition, ...).

Ressources et documentations disponibles : voir les fiches "Ressources - Echecs" et "Ressources - Echecs Orientaux".


Crafty est un programme d'échecs informatique gratuit et à code source ouvert développé par le Dr Robert M. (Bob) Hyatt. Crafty est constamment amélioré par une petite équipe de contributeurs, y compris le Dr Hyatt.

Échecs Informatiques (Crafty)

Cette recherche développe le programme d'échecs sur ordinateur "Crafty", descendant direct de Cray Blitz, champion du monde de l'informatique de 1983 à 1989. Ce programme est un package "gratuit" disponible sur www.cis.uab.edu/hyatt/crafty. Crafty est basé sur l'approche classique de BITMAP pour représenter l'échiquier, mais utilise une méthodologie unique appelée "rotated bitmaps" pour améliorer de manière significative les performances du moteur d'échecs. Ce programme recherche actuellement environ 100 millions de nœuds par seconde sur un double xeon 2660 (20 cœurs à 2,9 GHz/cœur). Crafty est portable et utilise xboard/winboard comme interface graphique sous les systèmes d'exploitation appropriés.

Crafty est le dérivé de "Cray Blitz", un programme d'échecs sur ordinateur lui-même dérivé du programme "Blitz" sur lequel j'ai commencé à travailler dès le premier cycle. "Blitz" a joué pour la première fois à l’automne 1968 et a été développé continuellement jusqu’à environ 1980, date à laquelle Cray Research a choisi de parrainer le programme de production des échecs informatiques à l’époque. Cray Blitz a participé à des événements d'échecs informatiques de 1980 à 1994 lorsque le dernier tournoi d'échecs d'ordinateur ACM s'est tenu à Cape May, dans le New Jersey. Cray Blitz a remporté plusieurs "ACM computer chess events", notamment deux championnats du monde d’échecs sur ordinateur consécutifs, le premier en 1983 à New York et le second en 1986 à Cologne, en Allemagne.

Le travail initial sur Crafty a commencé immédiatement après les rencontres ACM de 1994, lorsque nous avons estimé qu’il était temps de "tout recommencer" et d’essayer quelque chose de différent de ce que nous faisions depuis plus de 25 ans. J'avais toujours voulu essayer l'approche bitboard/bitmap utilisée dans Chess 4.X (le programme Northwestern Chess de Dave Slate) et avec les nouveaux processeurs 64 bits disponibles, le moment semblait propice au changement. Crafty est passé d’un simple programme PC à un programme qui s’exécute sur toutes les plates-formes informatiques universelles connues, y compris celles dotées de plusieurs processeurs (CPU). Il a participé à de nombreux événements d'échecs informatiques, principalement ceux organisés sur Internet, tels que les événements CCT organisés sur Internet Chess Club environ tous les 6 à 12 mois. Crafty a remporté le premier événement CCT et a bien fini dans la plupart des autres. Le CCT-6 a eu lieu sur Internet Chess Club les week-ends des 31 janvier et 1er février 2004. Crafty a fonctionné sur une machine AMD64 (opteron) avec quatre processeurs 848 (2,2 GHz). Il recherchait en moyenne 8 millions de nœuds par seconde et finissait en première place. Le tournoi comptait 54 participants et était un 9-round Swiss (NdT :?) et les trois meilleurs programmes disputaient un blitz à double tour pour désigner le vainqueur final. Crafty a terminé le tournoi principal avec 5 victoires et 4 nuls (aucune défaite) et a remporté deux des séries éliminatoires et a arraché les deux autres. Dans l'ensemble, c'était un excellent résultat.



🍥️ Debian (traduction du Bottin) :

Moteur d'échecs à la pointe de la technologie, compatible avec xboard

Crafty est le puissant programme d'échecs joué sur ICC. Il utilise tous les algorithmes de recherche que vous avez probablement lus et se comporte mieux que gnu-chess dans la plupart des positions. Il possède un ensemble de fonctionnalités raisonnables à utiliser et constitue un excellent point de départ pour essayer vos propres nouvelles extensions de recherche.


🌍️ Wikipedia:

Crafty est un programme d'échecs écrit par le professeur Robert Hyatt. Son prédécesseur est Cray Blitz, le gagnant des éditions 1983 et 1986 du championnat du monde d'échecs des ordinateurs (WCCC). Son code source est disponible avec des restrictions d'usage et son classement Elo est estimé à 2 700 points. Au championnat WCCC 2004, Crafty a terminé troisième ex æquo.

À proprement parler, Crafty est un moteur d'échecs : les coups sont introduits au clavier et affichés sous forme de texte. Des logiciels peuvent cependant lui servir d'interface graphique (par exemple XBoard/WinBoard, Arena, …). Crafty gère, entre autres, une bibliothèque d'ouvertures, un apprentissage de positions et les tables de finales. Son code source (écrit en langage C) est disponible avec des restrictions d'usage, pour cette raison Crafty n'est pas un logiciel libre.

📕 Description [en]

"A free, multi-platform & quite powerful chess AI " (Serge Le Tyrant, Le Bottin des Jeux Linux / The Linux Games Book).

Crafty is a free, open-source computer chess program developed by Dr. Robert M. (Bob) Hyatt. Crafty is constantly being improved by a small team of contributors, including Dr. Hyatt.

Computer Chess (Crafty)

This research is developing the computer chess program "Crafty", which is a direct descendent of Cray Blitz, the World Computer Champion from 1983 to 1989. This program is a "freeware" package available from www.cis.uab.edu/hyatt/crafty. Crafty is based on the classic BITMAP approach to representing the chess board, but uses a unique methodology called "rotated bitmaps" to significantly improve the performance of the chess engine. This program is currently searching around 100M nodes per second on a dual xeon 2660 (20 cores @ 2.9ghz/core). Crafty is portable, and uses xboard/winboard as a GUI under the appropriate operating systems.

Crafty is the derivative of "Cray Blitz", a computer chess program that itself was derived from "Blitz" a program I started to work on as an undergraduate. "Blitz" played its first move in the fall of 1968, and was developed continuously from that time until roughly 1980 when Cray Research chose to sponser the program for the publicity computer chess was producing at the time. Cray Blitz participated in computer chess events from 1980 through 1994 when the last ACM computer chess tournament was held in Cape May, New Jersey. Cray Blitz won several ACM computer chess events, and more notably, it won two consecutive World Computer Chess Championships, the first in 1983 in New York City, and the second in 1986 in Cologne, Germany.

Initial work on Crafty started immediately after the 1994 ACM event when we felt that it was time to "start over" and try something different from what we had been doing for 25+ years. I had always wanted to try the bitboard/bitmap approach used in Chess 4.X (the Northwestern Chess program by Dave Slate) and with new 64 bit processors available, it seemed like a good time for the change. Crafty has grown from a simple PC-based program to a program that runs on all known general-purpose computer platforms today, including those with multiple processors (CPUs). It has competed in many computer chess events, mainly those held over the Internet, such as the CCT events held on the Internet Chess Club approximately every 6-12 months. Crafty won the first CCT event, and has finished well in most of the others. CCT-6 was held on the Internet Chess Club the weekend of January 31 and February 1, 2004. Crafty ran on an AMD64 (opteron) machine with four 848 (2.2ghz) processors. It searched an average of 8 million nodes per second, and finished in first place. The tournament had 54 participants and was a 9-round Swiss with the top three programs playing a double-round-robin blitz event to choose the final winner. Crafty finished the main event with 5 wins and 4 draws (no losses) and won two of the playoff games and drew the other two. All in all it was an excellent result.


The current work on Crafty is concentrated in three areas:

• using parallel machines to search deeper into the game tree,
• improving the chess knowledge contained in the program so that it plays better positional chess and also so that its strategy is goal-oriented rather than random, and
• improving the search strategies so that the program analyzes deeper in those positions that require it without wasting time on deep searches for those positions that do not need it.

If you are interested in Crafty and its source code, which you can use to play chess, and its opening books, then follow this link to visit the Crafty source directories. Look at the read.me file first, then browse and download whatever interests you.

Parallel Architectures and Software

This research studies various parallel machine architectures and how they can best be used to improve the speed of software applications. These architectures pose different problems that must be addressed when developing parallel algorithms for them. Various types of parallel systems are being studied, including shared memory systems, distributed systems, and a distributed group of shared memory multiprocessors. We have several dual and quad-processor machines that are used in this research. This research has produced "Tuple-Space", a distributed processing programming environment that greatly simplifies the programming effort required to distribute an application. This system is continually being revised as it is used in various research projects.

Another interesting aspect of parallel computers is that there are now many systems available that are priced to be affordable and practical. As a result, much work has been done on the Linux kernel (and windows by Microsoft) to support these machines. There are many interesting architectural issues that offer plenty of opportunity for research. NUMA has become a common approach to connecting processors to avoid the high cost of a crossbar type connectivity, but it brings with it new issues that programmers have to work around to avoid severe performance degradation. Hyper-threading (on newer Intel processors) is another approach to make parallel programming affordable, but it too brings its own collection of unique problems to the table. All chip vendors produce chips which have multiple complete CPUs (cores) on a single chip, further driving down the cost of a parallel machine while continuing to make life interesting with NUMA, cache and memory issues. All of these offer significant performance gains, if the hardware issues can be handled efficiently.


🍥️ Debian:

State-of-the-art chess engine, compatible with xboard

Crafty is the strong chess program played on ICC. It uses all of the search algorithms you have probably read about and performs better than gnu-chess in most positions. It has a reasonable set of features to use, and offers a great starting point to try your own new search extensions.


🌍️ Wikipedia:

Crafty is a chess program written by UAB professor Dr. Robert Hyatt, with continual development and assistance from Michael Byrne, Tracy Riegle, and Peter Skinner.[2] It is directly derived from Cray Blitz, winner of the 1983 and 1986 World Computer Chess Championships. Tord Romstad, the author of Stockfish, described Crafty as "arguably the most important and influential chess program ever".

Crafty finished in second place in the 2010 Fifth Annual ACCA Americas' Computer Chess Championships. Crafty lost only one game to the first place winner Thinker.

Crafty also finished in second place in the 2010 World Computer Rapid Chess Championships. Crafty won seven out of nine games, finishing just behind the first place winner Rybka by only ½ point.

In the World Computer Chess Championships 2004, running on slightly faster hardware than all other programs, Crafty took fourth place with the same number of points as the third-place finisher, Fritz 8. On the November 2007 SSDF ratings list, Crafty was 34th with an estimated Elo rating of 2608.

Crafty uses the Chess Engine Communication Protocol and can run under the popular chess interfaces XBoard and Winboard

Crafty is written in ANSI C with assembly language routines available on some CPUs, and is very portable. The source code is available, but the software is for "personal use" only and redistribution is only allowed under certain conditions.

Crafty pioneered the use of rotated bitboard data structures to represent the chess board, and was one of the first chess programs to support multiple processors. It also includes negascout search, the killer move heuristic, static exchange evaluation, quiescence search, alpha-beta pruning, a transposition table, a refutation table, an evaluation cache, selective extensions, recursive null-move search, and many other features (cf manual[permanent dead link]). Special editions of the program include enhanced features such as an opening book, positional learning, and an endgame tablebase.

Crafty was one of the programs included in the SPEC CPU2000 benchmark test. It is also included as an additional engine in Fritz.

Graphical front-ends

• GNOME Chess

🚧️ Installation [fr]

INSTALLATION :

➥ Installation à partir du binaire du jeu :

Le jeu est en dépôt, il suffit d'installer le paquet.

➥ Installation à partir du source du jeu :

Source non testé.

LANCEMENT DU JEU :

Pour jouer avec ce moteur, utilisez une interface graphique de jeu telle que (testés & validés, dans le Bottin) :
Eboard, Glchess, Knights, Pychess, Scid,

Nota :
Sous Debian, les Moteurs de jeux d'échecs empaquetés sont installés dans /usr/games/ (information utile pour le paramétrage des interfaces graphiques).

Crafty fonctionne sans paramètres, néanmoins vous pouvez le configurer pour qu'il joue de manière plus forte en lui passant certains paramètres (non testés pour notre part).
Ces paramètres peuvent être enregistrés dans un fichier 'crafty.rc' ou passés en ligne de commande en console.

Exemples de paramètres (tirés du site, doc non traduite) :
ponder on (Allows Crafty to think on your time)
hash=256m (Increases Crafty's position hash to 256MB)
hashp=64m (Increases Crafty's pawn hash to 64MB)
egtb (Tells Crafty to use Nalimov Endgame Tables (up to 6-Men))
cache=32m (Increases Crafty's Endgame Table Cache to 32MB)
swindle on (Allows Crafty to try to win drawn games (according to Endgame Tables))
mt=2 (Increases Crafty's MaxThreads to 2 for a dual CPU computer)
timebook 80 8 (Tells Crafty to think 80% longer on the first move out of book, then decrease the time over the next 8 moves)