]>
Commit | Line | Data |
---|---|---|
3fa06793 | 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) | |
5 | ||
6 | ----- | |
7 | [1] What is Crafty? | |
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? | |
17 | ----- | |
18 | [1] What is Crafty? | |
19 | ||
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). | |
22 | ||
23 | Crafty has the following features: | |
24 | - written in C | |
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) | |
28 | - text interface | |
29 | ||
30 | Crafty is a work in progress, and is frequently updated/enhanced by Bob. | |
31 | ----- | |
32 | [1.1] What platforms can Crafty run on? | |
33 | ||
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. | |
36 | (Thanks Bob) | |
37 | ||
38 | Currently Crafty runs on: | |
39 | ||
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 | |
50 | ||
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). | |
53 | ----- | |
54 | [1.2] What is Crafty's rating/strength? | |
55 | ||
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. | |
61 | ||
62 | Crafty's computational power in nodes/sec has been measured as follows: | |
63 | ||
64 | Platform Nodes/sec | |
65 | -------- --------- | |
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) | |
70 | Pentium 100 PC 24,000 | |
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) | |
74 | ||
75 | According to the Louget Chess test, Crafty has been given the following ratings: | |
76 | ||
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 | |
83 | ||
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) | |
89 | ||
90 | For more info on the Louget Chess test, you can contact: | |
91 | Frederic Louguet (louguet@worldnet.net) | |
92 | ---- | |
93 | [1.3] Where can I get Crafty? | |
94 | ||
95 | You can get Crafty by anonymous FTP at: ftp://news.cis.uab.edu/pub/hyatt | |
96 | ||
97 | Here is a description of the files that you will probably see. | |
98 | ||
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. | |
119 | ||
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/>. | |
122 | ||
123 | ----- | |
124 | [1.4] How do I build Crafty? | |
125 | ||
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. | |
128 | ||
129 | a) Unzip/uncompress the source code. | |
130 | ||
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. | |
135 | ||
136 | c) type make | |
137 | ||
138 | ----- | |
139 | [1.5] How do I build Crafty's Book? | |
140 | ||
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 | |
144 | (unzip 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 | |
149 | build the book: | |
150 | ||
151 | crafty | |
152 | book create <filename> 60 | |
153 | quit | |
154 | ||
155 | <filename> should be replaced by the PGN filename that is created when you unzip | |
156 | the book file of your choice. | |
157 | ||
158 | Start.zip contains a small file that is used to create books.bin. | |
159 | books.bin is created as follows: | |
160 | ||
161 | crafty | |
162 | books create start.pgn 60 | |
163 | quit | |
164 | ||
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 | |
168 | alone. | |
169 | ||
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. | |
175 | ----- | |
176 | [1.6] How can I maximize Crafty's performance? | |
177 | ||
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. | |
184 | ||
185 | b) Increase the size of hash and hashp based on the following | |
186 | observations: | |
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. | |
193 | ----- | |
194 | [1.7] What are tablebases and how do I use 'em? | |
195 | ||
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. | |
200 | ||
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. | |
205 | ||
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. | |
212 | ||
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 | |
219 | space requirement. | |
220 | ||
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. :) | |
224 | ----- | |
225 | [1.8] How can I get a graphical interface with Crafty? | |
226 | ||
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 | |
230 | ----- | |
231 | [1.9] How can I use both Crafty and XBoard to analyze positions/games? | |
232 | ||
233 | It is now possible to use XBoard and Crafty together to perform | |
234 | interactive analysis of positions and stored (PGN, etc.) games. | |
235 | ||
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. | |
238 | ||
239 | For instructions, see the winboard/xboard faq, which explains how to use | |
240 | this powerful and interesting facility. | |
241 | ----- | |
242 | ** End of Crafty FAQ ** | |
243 | ||
244 |