Author: Bertil Eklund
Date: 16:19:20 03/24/00
Go up one level in this thread
On March 24, 2000 at 19:11:35, Dann Corbit wrote: >On March 24, 2000 at 18:51:27, Bertil Eklund wrote: >>I have followed Crafty for some years now even if Crafty has been a good program >>it has always been a bit after "the best professionals" but now from version >>17.x (not 17.01 that in some games played suicidal-chess according >>king-security, castling right in to an ongoing attack against its king) >>I think the latest versions is on "par" with a lot of the better commercial >>programs. I want to know what is the difference between Crafty from today and >>the earlier versions? What is the reasons for the improved play? I understand >>that Crafty plays better with the tuned books from Chessbase-engines but this is >>only a little part of Craftys better play. Craftys play with Tablebases is >>excellent, but I guess it must be a lot of other improvements as well. >> >>This is written before I know the results from our testings, but I think Craftys >>results are going to surprise many people. I have been busy with the excellent >>program Shredder4. >> >>Remember also that Crafty dislikes Amd K6-2, a K6-2 450 is about equal to a >>Pentium 333(for Crafty). The difference is about 30-35 %clockwise. > >It is never a mystery. Bob tells exactly what has happened from generation to >generation. Here is the history from 17.0 forward: > >17.0 connected passed pawn scoring modified so that connected passers > don't get any sort of bonus, except for those cases where the > opponent has a rook or more. this will avoid liking positions > where crafty has two connected passers on the d/e files, and the > opponent has passers on the b/g files. the split passers win if > all pieces are traded, while the connected passers are better > when pieces are present. a new scoring term evaluates the > "split" passers similar to outside passers, this at the request > (make that demand) of GM Roman Dzindzichashvili. Book() now finds > the most popular move as the move to ponder. this eliminated all > 'puzzling' searches which result in clearing the hash tables two > times for every book move, which can slow it down when a large > hash table is used. new book option for playing against computer > opponents was written for this version. Crafty now supports two > "books.bin" type files, books.bin and bookc.bin (the bookc create > command can be used to make bookc.bin). bookc will only be used > when crafty is playing a computer. this is supplied by xboard or > winboard when playing on a server, or can be included int the > crafty.rc/.craftyrc file when playing directly. bookc.bin will > be used when playing a computer only, and should be used to avoid > unsound lines that are fine against humans, but not against other > computers. if you don't use a bookc.bin, it will use the normal > books.bin as always. if you use both, it will only use bookc.bin > in games that have been started and then given the 'computer' > command. minor adjustment to EGTB probe code so that it will > always probe TBs at ply=2 (if the right number of pieces are on > the board) but won't probe beyond ply=2 unless the move at the > previous ply was a capture/promotion and the total pieces drops > into the proper range for TB probes. this makes the 6 piece > files far more efficient as before it would continuously probe > after reaching 6 piece endings, even if it didn't have the right > file. Now after the capture that takes us to a 6 piece ending > we probe one time... and if there is no hit we don't probe at > the next node (or any successors) unless there is another capture > or promotion that might take us to a database we have. the book > (binary) format has once again been modified, meaning that to use > 16.20 and beyond the book.bin/books.bin files must be re-built > from the raw PGN input. this new format includes an entry for > the CAP project score, so that deep searches can be used to guide > opening book lines. a new weight (bookw CAP) controls how much > this affects book move ordering/selection. a new import command > will take the raw CAPS data and merge it into the book.bin after > the file has been built. serious bug in SetBoard() would leave > old EP status set in test suites. this has been fixed. outpost > knight code was modified so that a knight in a hole is good, a > knight in a hole supported by a pawn is better, supported by two > pawns is still better, and if the opponent has no knights or a > bishop that can attack this knight it is even better. the out- > post bonus for a bishop was removed. a pretty serious parallel > search bug surfaced. in non-parallel searches, Crafty _always_ > completed the current ply=1 move after the time limit is reached, > just to be sure that this move isn't going to become a new best > move. however, when parallel searching, this was broken, and at > the moment time runs out, the search would be stopped if the > parallel split was done at the root of the tree, which means that > where the search would normally find a new best move, it would > not. this has been fixed. new "store <val>" command can be used > to make "position learning" remember the current position and the > score (val) you supply. this is useful in analyze mode to move > into the game, then let crafty know that the current position is > either lost or won (with a specific score). > >17.1 book structure fixed, since compilers can't quite agree on how > structures ought to be aligned, for reasons not clear to me. a > serious eval bug that could produce gross scores when one side > had two queens was fixed. > >17.2 isolated pawn scoring tweaked a bit, plus a couple of bugs in the > way EvaluateDevelopment() was called were fixed. > >17.3 passed pawn scores increased somewhat to improve endgame play. > >17.4 minor bug with "black" command (extra line from unknown origin) > would make "black" command fail to do anything. minor tweaks to > passed pawn scoring again... and a slight performance improve- > ment in how EvaluateKingSafety() is called. code for "bk" > from xboard was somehow lost. it now provides a book hint. > >17.4 minor bug with "black" command (extra line from unknown origin) > would make "black" command fail to do anything. minor tweaks to > passed pawn scoring again... and a slight performance improve- > >17.5 rewrite of outside passed pawn/pawn majority code. it is now > much faster by using pre-computed bitmaps to recognize the right > patterns. > >17.6 minor fix in interupt.c, which screwed up handling some commands > while pondering. minor fix to score for weak back rank. score > was in units of 'defects' but should have been in units of > "centipawns". minor bug in "drawn.c" could mis-classify some > positions as drawn when they were not. > >17.7 repair to DrawScore() logic to stop the occasional backward sign > that could create some funny-looking scores (-20 and +20 for > example). minor fix to majority code to recognize the advantage > of having a majority when the opponent has no passers or majority > even if the candidate in the majority is not an 'outside' passer > candidate. minor change to passed pawns so that a protected > passed pawn is not considered a winning advantage if the > opponent has two or more passed pawns. but in input_status > would cause an infinite loop if you reset a game to a position > that was in book, after searching a position that was not in > the book. bug in position learning fixed also. this was caused > by the new hashing scheme Tim Mann introduced to avoid locking > the hash table. I completed the changes he suggested, but forgot > about how it might affect the position learning since it is also > hash-based. needless to say, I broke it quite nicely, thank you. > >17.8 this is the version used in the first ICC computer chess > tournament. Crafty won with a score of 7.0/8.0 which included > only 2 draws and no losses. changes are minimal except for a few > non-engine syntax changes to eliminate warnings and fix a bad bug > in 'bench.c' that would crash if there was no books.bin file. > >17.9 LearnPosition() called with wrong arguments from main() which > effectively disabled position learning. this was broken in 17.7 > but is now fixed. > >17.10 minor change to "threat" extension now only extends if the null- > move search returns "mated in 1" and not "mated in N". this > tends to shrink the trees a bit with no noticable effect in > tactical strength. EvaluatePawns() was not doing a reasonable > job of recognizing blocked pawns and candidate passers. it did > not do well in recognizing that the pawn supporting a candidate > could not advance far enough to help make a real passed pawn. > minor change to RepetitionCheck() to not count two-fold repeats > as draws in the first two plies, which prevents some odd-looking > repeats at the expense of a little inefficiency. Ugly repetition > bug fixed. rephead was off by one for whatever side crafty was > playing which would screw up repetition detection in some cases. > minor bug in main() that would report stalemate on some mates > when the ponder score was forgotten. Thank you very much for the detailed information! Bertil
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.