My chess program (before then there was a knight tour, connect4, simple othello and others to learn recursion and search etc) started as my expanded interpretation of TSCP, helped by articles on the internet (particularly Marsland's excellent summary of the anatomy of a chess program)[6]and of course by members of CCC and particulalry Bob Hyatt. Now its origins are unrecognisable, although mailbox is still used to precompute move tables - simply because I had already written that code. The last major rewrite, two years or so ago introduced bitboards (because they looked interesting and Bob is always talking about them) to use mainly in evaluation. Move generation, king attacks, is a square attacked, SEE etc is a mixture of bitboards for the easy cases (knights, pawns, king) and offset precomputed arrays for the sliders. Like Dan Newman (I think), I also use bitboards to screen for _potential_ slider attacks etc to reduce work, but do not precompute the rank, file or diagonal states to give an index to a bitboard of the first square attacked. Full and rotated bitboards implementation next time. Maybe after an IQ transplant, or to get cheap mobility. Move generation is not a massive drain in my program, so bitboards are more valuable for their other benefits. Search is pretty standard Crafty type approach. Tried and discarded Dark Thought type pruning. But will try again after listening to Bruce on CCT3. Extensions as recommended by Bob and limited as recommend by Bruce, although I still have recapture extension because it seems to help me and do a bit extra for passed pawns. Tested other and other variations of extensions without much impact. All sorts of daft ideas. Trans/ref hash and hashing of basic pawn structure elements. Nalimov EGTBs (3 years to generate all 5 man on and off, on a variety of machines. Thanks Eugene), primitive book learning and positional learning. The evaluation has become increasingly sophisticated (voluminous anyway) with time. Playing on the chess servers, even for a brief time, has certainly caused me to add stuff.
a Chess Engine Communication Protocol compliant, private [1] chess engine written by Frank Phillips. It is a bitboard engine, although it didn't used Rotated Bitboards for move generation [2]. In 2008, Frank implemented Magic Bitboards, and started to rewrite and improve his "ancient code" [3].
Table of Contents
Tournament Play
Searcher played four consecutive, strong CCT Tournaments, the CCT3 (5th/32), CCT4 (6th/46), CCT5 (15th/45), and the CCT6 (12th/54).Quotes
Frank Phillips in his CCT3 report on Searcher [5]:Selected Games
CCT4, round 11, Searcher - Goliath-Blitz [7]See also
Forum Posts
External Links
The Searchers (film) from Wikipedia
References
What links here?
Up one level