Crafty
Authors
Person | Role |
---|---|
Robert Hyatt | engine programmer |
Participations
Tournament | Participants | Score | Games |
---|---|---|---|
Chess, 2006, Turin | 18 | 6.0 | 11 |
Chess (Blitz), 2006, Turin | 14 | 6.5 | 13 |
Chess, 2005, Reykjavík | 12 | 6.5 | 11 |
Chess (Blitz), 2005, Reykjavík | 8 | 2.5 | 7 |
Chess, 2004, Ramat-Gan | 14 | 7.0 | 11 |
Chess (Blitz), 2004, Ramat-Gan | 8 | 4.5 | 7 |
Chess, 2001, Maastricht | 18 | 5.0 | 9 |
Chess (Blitz), 2001, Maastricht | 14 | 3.5 | 9 |
Chess, 2000, London | 14 | 3.5 | 9 |
Chess, 1997, Paris | 34 | 5.5 | 11 |
Chess (Blitz), 1997, Paris | 22 | 4.5 | |
Chess, 1996, Jakarta | 27 | 7.0 | 11 |
Description
Description given in 1997:Crafty is a "bitmapper" using 64 bit words to represent the chess board, along the lines of the famous Chess 4.x program from Northwestern University. It uses a traditional alpha/beta search with the PVS (null- window) enhancement, along with null-moves (R=2) and lots of search extensions including "fractional ply extensions" to drive the search deeper along interesting lines. It has a very simple quiescence search that only considers capture moves and is fairly selective about which captures are included. It does a full endpoint evaluation, with no root pre-processing nor incrementally updated scoring terms. It is currently about 37,000 lines of ANSI C with about 3,000 lines of that being evaluation. Since Crafty uses bitmaps, much of the evaluation is significantly shorter than it would be in a more traditional (array-based) board representation, so that this 3,000 lines of code is somewhat misleading (for example, to ask "can this pawn run and promote before the opposing king can get there?" only takes one line of code in Crafty.
It is still very fast, searching around 100,000 moves per second. At 60 seconds per move, it solves 297/300 of the Win At Chess tactical positions. It has a large opening database composed from 250,000 GM games, and uses 3-4-5 piece endgame databases during the search (not just at the root of the tree.) It has played over 100,000 games during the past two years, playing on various chess servers around the world, and has maintained ratings on these servers that are always near the very top.