Crafty is a chess program written by UAB professor Dr. Robert Hyatt. It is directly derived from Cray Blitz, winner of the 1983 and 1986 World Computer Chess Championships. In the World Computer Chess Championships 2004 Crafty won the fourth place with the same number of points as the third place finisher, Fritz 8, despite running on stronger hardware than all other programs. On the November 2007 SSDF ratings list, Crafty was 34th with an estimated ELO rating of 2608.[2]
Crafty uses the Chess Engine Communication Protocol and can run under the popular chess interfaces XBoard and Arena.
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.
Crafty pioneered the use of rotated bitboard data structures to represent the chess board, and was one other 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). Special editions of the program include enhanced features such as an opening book, positional learning, and an endgame tablebase.
Crafty is one of the programs included in the SPEC-CPU benchmark test. It is also included as an additional engine in Fritz
From 1980 to 2001, there was a separate cycle of championships limited to programs running on microprocessors. Up until 1991, the winners were dedicated units. Thereafter, winners were running on state-of-the-art personal computers. The event was also run by the ICGA.
At the 14th WMCCC in Jakarta, the Israeli Junior team was denied entry to Indonesia and some other teams dropped out in protest.
The 16th WMCCC was the same as the 9th WCCC above.
Research Interests
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 ftp.cis.uab.edu/pub/hyatt. 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 2,400,000 nodes per second on a dual xeon 2.8ghz machine, and is playing on ICC regularly. Its current peak ICC ratings are 3286 (bullet), 3388 (blitz) and 2792 (standard). Crafty also plays under the "scrappy" account but only plays vs humans, where Crafty plays all opponents, human or computer. Scrappy has a bullet peak of 3321 (ICC record), blitz 3546 (ICC record) and standard (2741). 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. The tournament crosstables can be viewed by following these links: CCT-1, CCT-2, CCT-3, CCT-4, CCT-5. 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. More information on CCT-6, including the participants, the rules, and so forth can be found here.
Crafty again participated in the (now) annual World Computer Chess Championship, held in Iceland (2005). 12 programs participated, and Crafty finished in 5th place. This was one of those events where "everything that could go wrong did go wrong." For starters, this was a randomly-paired round-robin event with 12 players playing a total of 11 rounds. Crafty managed to draw to a pairing that had it playing the black pieces against all of the programs that were expected to do well at the event. Hopefully this is a once-in-a-lifetime happening, and we will have better luck next year in Spain. Crafty used a quad-processor AMD opteron 875 system, which used the new dual-core AMD-64 processors. This machine produced search speeds of 16M+ nodes per second. Click here to visit the official ICGA tournament web site for the 2005 WCCC event.
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, its source code, an executable you can use to play chess, the endgame tables, opening books, and so forth, then follow this link to visit the Crafty ftp site. Look at the read.me file first, then browse and download whatever interests you.
Selected Publications
1. Y. Wang and R.M. Hyatt, Probabilistic Algorithms for Asynchronous Information Scattering in a Cluster, submitted to Journal of Parallel and Distributed Computing in February 2003.
2. Y. Wang and R. M. Hyatt, A Scalable Algorithm of Two Choices in Randomized Dynamic Load-Balancing, Submitted to Parallel Computing in February 2003.
3. Robert Hyatt and Timothy Mann (Compaq Computer Corp) "A lock-less transposition table implementation for parallel search chess engines," Journal of the International Computer Games Association, Vol. 25, No. 2, June 2002 (63-72).
4. Yibing Wang and Robert Hyatt, "A Distributed Task Scheduler for Cluster Computing", The 2002 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'02), Las Vegas, USA, June 2002.
5. Yibing Wang and Robert Hyatt, "Nezha: Breaking The Physical Boundary for Cluster Computing"i (Fast abstract), 40th Annual ACM Southeast Conference, Raleigh, North Carolina, USA, April 2002.
6. Hyatt, R., "Rotated bitmaps, a new twist on an old idea", Journal of the International Computer Chess Association, Vol. 22, No 4, December 1999, (213-222).
7. Lewis I. Patterson, Robert M. Hyatt, Richard S. Turner, Kevin D. Reilly, "Development of a Crash-Tolerant Tuple-Space", presented at the FSU/SCRI Cluster Computing Workshop, available via anonymous FTP from SCRI (SCRI hosts this workshop annually and distributes the proceedings via anonymous FTP.)
8. Robert M. Hyatt, Lewis I. Patterson, Richard S. Turner, Kevin D. Reilly, "Tuple-Space - Future Research Plans", presented at the FSU/ SCRI Cluster Computing Workshop, available via anonymous FTP from SCRI.
9. Robert M. Hyatt, Richard S. Turner, Lewis I. Patterson, Kevin D. Reilly, "Distributed Discrete Event Simulation - Design, Implementation and Use," Proceedings of SimTec '92, (159-165).
10. Robert M. Hyatt and Harry L. Nelson, "Chess and Supercomputers, details on optimizing Cray Blitz", proceedings of Supercomputing '90 in New York (354-363).
11. Robert M. Hyatt, Harry L. Nelson, Albert E. Gower, "Cray Blitz", in Computers, Chess, and Cognition , Springer-Verlag, 1990, (111-130).
12. Robert M. Hyatt, Bruce W. Suter, and Harry Nelson, "A Parallel Alpha/Beta Tree Searching Al", Parallel Computing 10 (1989) (299-308).
13. Robert M. Hyatt, "A High-Performance Parallel Algorithm to Search Depth-First Game Trees," Ph.D. Dissertation, University of Alabama at Birmingham, 1988.
14. Harry Nelson and Robert M. Hyatt, "The Cray Blitz Draw Heuristic", Journal of the International Computer Chess Association (ICCA)". vol 11, number 1, March 1988 (3-9)
15. R. Hyatt, H. Nelson, A. Gower, "Cray Blitz - 1984 Chess Champion", Telematics and Informatics (2) (4), Pergammon Press Ltd. (1986) (299-305).
16. Hyatt, R.M., Gower, A.E., Nelson, H.L., "Cray Blitz", Advances in Computer Chess 4, Pergammon Press, 1985 (89-106).


0 comentarios:
Post a Comment