1 Frequently asked questions (FAQ) on Crafty.
2 Last modified on 1996.06.17
3 Send corrections/additions/comments to:
4 Anil Mungal (amungal@vnet.ibm.com)
8 [1.1] What platforms can Crafty run on?
9 [1.2] What is Crafty's rating/strength?
10 [1.3] Where can I get Crafty?
11 [1.4] How do I build Crafty?
12 [1.5] How do I build Crafty's Book?
13 [1.6] How can I maximize Crafty's performance?
14 [1.7] What are "tablebases" and how do I use 'em?
15 [1.8] How can I get a graphical interface with Crafty?
16 [1.9] How can I use both Crafty and XBoard to analyze positions/games?
20 Crafty is a chess program written by Bob Hyatt (hyatt@cis.uab.edu).
21 It is modeled after Cray Blitz (also written by Bob).
23 Crafty has the following features:
25 - can be compiled with the GNU C compiler on various platforms
26 - has a customizable opening book
27 - supports tablebases (Steven Edward's endgame database)
30 Crafty is a work in progress, and is frequently updated/enhanced by Bob.
32 [1.1] What platforms can Crafty run on?
34 The decision to write Crafty so that it compiles with the GNU C compiler
35 allows it to run on many platforms without the hassle of porting.
38 Currently Crafty runs on:
40 - DEC alpha running OSF/1-Digital Unix
41 - any Cray-1 compatible architecture including XMP, YMP, C90, etc.
42 - HP workstation running HP_UX operating system (unix)
43 - PC running DOS, Windows, or OS/2 Warp, using DJGPP port of gcc to compile
44 - RS/6000 running AIX (unix)
45 - Sun SparcStation running Solaris (SYSV/R4) Unix
46 - Sun SparcStation running SunOX (BSD) Unix
47 - Any architecture running the Linux operating system
48 - Microsoft Win95/WinNT, when compiled with Microsoft Visual C++
49 - Macintosh and other MacOS-compatible computers
51 Storage requirements range from 1Mb (small book and no tablebase) to 60Mb
52 (largest book and no tablebases) to 300Mb (largest book and all tablebases).
54 [1.2] What is Crafty's rating/strength?
56 Crafty's strength is directly dependant upon processor speed, hash table size,
57 size and content of it's opening book, and it's use of an endgame database.
58 Versions of Crafty running on ICC and FICS have ratings around 2500-2700.
59 This does not necessarily mean that Crafty will perform at this level
60 under tournament conditions.
62 Crafty's computational power in nodes/sec has been measured as follows:
66 DEC alpha running OSF/1-Digital Unix 75,000
67 Cray-1 XMP, YMP, C90, etc. ??????
68 HP workstation running HP_UX operating system 35,000
69 80X86 architecture running LINUX (unix) 30,000 (P5/133)
71 Pentium Pro 200 PC 75,000
72 RS/6000 running AIX (unix) ??????
73 Sun SparcStation running Solaris (SYSV/R4) Unix 30,000 (Sparc-20)
75 According to the Louget Chess test, Crafty has been given the following ratings:
77 Platform Hash table Louget rating (comparable to FIDE rating)
78 ======== ========== =============
79 Crafty v9.21 PP200 56 MB 2395
80 Crafty v9.21 PP150 56 MB 2365
81 Crafty v9.21 P133 14 MB 2305
82 Crafty v9.21 P90 7 MB 2235
84 Where the platforms were:
85 PP200 = Pentium Pro 200 Mhz, 16+256KB internal caches, Aurora Intel motherboard
86 PP150 = Pentium Pro 150 Mhz, 16+256KB internal caches, Asustek motherboard
87 P133 = Pentium 133 Mhz, 256 KB pipeline burst synchronous L2 cache
88 P90 = Pentium 90 Mhz, 256 KB asynchronous cache (Intel Zappa, Triton Chipset)
90 For more info on the Louget Chess test, you can contact:
91 Frederic Louguet (louguet@worldnet.net)
93 [1.3] Where can I get Crafty?
95 You can get Crafty by anonymous FTP at: ftp://news.cis.uab.edu/pub/hyatt
97 Here is a description of the files that you will probably see.
99 read.me : Read me file that Bob updates
100 crafty.exe : PC DOS executable. (needs DPMI)
101 craftyt.exe : PC DOS executable with tablebases support. (needs DPMI)
102 crafty.faq : this file
103 crafty.linux : Linux executable
104 crafty.sun : Sun Sparc-20 executable
105 crafty.zip : Crafty source code
106 crafty.tar.Z : Crafty source code
107 crafty.tar.gz : Crafty source code
108 cwsdpmi.exe : DPMI provider
109 large1.zip : Large PGN file used to create an opening book (1/4)
110 large2.zip : Large PGN file used to create an opening book (2/4)
111 large3.zip : Large PGN file used to create an opening book (3/4)
112 large4.zip : Large PGN file used to create an opening book (4/4)
113 medium.zip : Medium PGN file used to create an opening book
114 small.zip : Small PGN file used to create an opening book
115 start.zip : Tiny PGN file used to create an opening book
116 probs.Z : A test suite of chess problems
117 wcrafty.exe : Windows executable.
118 wcraftyt.exe : Windows executable with tablebases support.
120 The Macintosh port of Crafty is available from <ftp://ftp.limunltd.com/crafty/>.
121 The Mac versions are supported from <http://www.limunltd.com/crafty/>.
124 [1.4] How do I build Crafty?
126 If you wish to build Crafty for yourself, you need a copy of the source
127 and the GNU C compiler (or the djgpp compiler for DOS) to compile.
129 a) Unzip/uncompress the source code.
131 b) Follow the instructions in the Makefile. You will probably have to:
132 - comment/uncomment sections based on your hardware platform.
133 - edit the directory paths.
134 - add whatever optimization flags that you want.
139 [1.5] How do I build Crafty's Book?
141 You need an executable version of Crafty and a PGN file to build it's book.
142 Choose between large (unzip large1.zip, large2.zip, large3.zip, large4.zip
143 and append them into one file), medium (unzip medium.zip), or small.zip
145 Large produces a 90Mb-60Mb opening database with 100K GM games; medium produces
146 a 30Mb database, and small will produce a 1Mb database. Note that you will
147 need at least double this space to create the files, since temporary files
148 are written to disk, and then later deleted. Use the following commands to
152 book create <filename> 60
155 <filename> should be replaced by the PGN filename that is created when you unzip
156 the book file of your choice.
158 Start.zip contains a small file that is used to create books.bin.
159 books.bin is created as follows:
162 books create start.pgn 60
165 This file contains suggested openings that fit Crafty's "open" style of
166 play better. You can edit/modify this at will, and it takes a fraction of
167 a second to re-build after modification, so the big book file can be left
170 Note that the "60" is arbitrary, and is used to cut book lines off at roughly
171 60 plies. You "can" say 500, so that the entire games will be stored,
172 but you need even more disk space. You can also reduce this number to 30
173 (15 moves for each side) to conserve disk space as needed, since the book
174 will contain far fewer positions.
176 [1.6] How can I maximize Crafty's performance?
178 a) Compile with different combinations of the following options:
179 -DCOMPACT_ATTACKS, and -DUSE_SPLIT_SHIFTS. Then check the performance
180 of Crafty. The best test is to simply let it search to a fixed depth
181 (say sd=8 for example) from the opening position and pick the compiler
182 /optimizer options that minimize this time. Pick SD=n so that the search
183 takes at least 2 minutes.
185 b) Increase the size of hash and hashp based on the following
187 - hash is more important that hashp. the only guidance is that
188 you don't want to make hash so large things slow down due to
189 excessive paging or swapping.
190 - there's a compile option -DFAST. if you use this, crafty won't
191 report any hashing statistics, making it harder to decide when
192 to make things bigger.
194 [1.7] What are tablebases and how do I use 'em?
196 tablebases are endgame databases distributed freely by Steven Edwards
197 (sje@mv.mv.com). If you are downloading an executable, for dos you'll
198 want craftyt.exe, and for Win95/WinNT, you'll want wcraftyt.exe. If
199 you compile your own, -DTABLEBASES will do the trick.
201 Once you have an executable that expects tablebases, you typically
202 put them in a sub-directory TB that should be in the directory where
203 you normally run crafty. You can change this by editing the Makefile
204 and changing TBDIR to point to where you want 'em.
206 Next, you need the tablebase files. These are available from ftp.onenet.net
207 and other ftp sites. The files are named like this: KBNK.tbb and KBNK.tbw
208 for the KBN vs K tablebases. On some ftp machines the "." is replaced by a
209 "_". after downloading them, rename them to replace the _ by . or crafty
210 will not recognize them. These files are also available from the primary
211 Crafty site ftp.cis.uab/edu/pub/hyatt/TB.
213 The complete set takes about 260Mb, for all 4-man endings. We are working
214 on new ones for frequently encountered endings like KRP vs KR. These will
215 be made available as they are completed. There are 10 5-piece files now
216 available, KRPKR, KRNKR, KRBKR, KRRKR and KQRKR, where each has a .tbb
217 and .tbw pair. These files require about 500mb zipped, but will expand
218 to about 2.3 gigabytes when unzipped. So be prepared for a large disk
221 Note that these databases are "mate in n" type databases, so you'll see
222 some interesting mate announcements from Crafty, with Mate in 30 a very
223 common occurrence. :)
225 [1.8] How can I get a graphical interface with Crafty?
227 On Unix systems, you can use XBoard with Crafty. On Windows systems, you
228 can use WinBoard. For more information on XBoard and WinBoard, check out:
229 http://www.research.digital.com/SRC/personal/Tim_Mann/chess.html
231 [1.9] How can I use both Crafty and XBoard to analyze positions/games?
233 It is now possible to use XBoard and Crafty together to perform
234 interactive analysis of positions and stored (PGN, etc.) games.
236 To do this, you need a recent version of Crafty (12.3 or up) and
237 xboard/winboard version 3.6.1 or later.
239 For instructions, see the winboard/xboard faq, which explains how to use
240 this powerful and interesting facility.
242 ** End of Crafty FAQ **