Author: Steven Edwards
Date: 12:11:36 07/26/04
Symbolic: Status report 2004.07.26 There's been a bit more work on the CTXboard class and also on its base class CTContext. Specifically, support for the xboard commands "bk", "hint", "remove", and "undo" have been added. This was done in part to make the xboard interface to Symbolic more useful in manual mode, and also because xboard may at times send an "undo" command when it is running one engine against another. I've added a bit more code in the CTXboard class to process xboard's "result" command with the intent of combining the returned result code with a parse of the returned comment text to produce a mapping onto the toolkit's canonical game termination code list. Now, the toolkit makes a decent effort to distinguish among different reasons for a given result. For example, it understands the difference between a win by an opponent's time forfeit and a win by an opponent's resignation. One immediate benefit here is an accurate value for the PGN Termination tag pair value. In addition to the Termination PGN tag pair, the toolkit also emits a TimeControl tag pair for each game along with a UTC tag pair. The latter's tag value is the Universal Coordinated Time of the beginning of the game; it has the form: "YYYY.MM.DD HH:MM:SS". The UTC tag pair value observes chronological sorting collation and is useful for distinguishing among games whose other identifying tag pair values are identical. The UTC pair is also handy for unambiguously timestamping game records where the engines and a mediating chess server may each be in different time zones. Xboard interface testing is being done mostly by using xboard's match option and running Symbolic's toolkit against Crafty and Gnuchess. At the time of this writing, both Crafty and Symbolic appear to behave well under this regime without crashing; however, xboard reports that Gnuchess sometimes exits unexpectedly at the end of a game. This happens for unknown reasons about once every hundred or so blitz games. The time control allocation logic has been completed, but there is still some work to be done with handling the chess clock code for per move increment values and with transiting time control segment boundaries. The CTContext class now has the "Capablanca feature". Capablanca, a World Chess Champion from Cuba in the early part of the 20th century, was *never* checkmated. Symbolic's toolkit now automatically sees an unavoidable mate in one against it and will do the gentlemanly thing and resign in those cases. A couple of hardware misfortunes: my 80 GB Maxtor HD (containing tablebases and my MP3 collection) crashed and is not recoverable; also, the 40 GB HD in my G4 notebook just died and I doubt that I can bring it back to life. (I do have a spare 10 GB notebook drive I think I can substitute.) I have backups of most of the files, but not everything. Near future tasks include: 1. Completing the chess clock boundary/increment code. 2. Improving the hint support; only the predicted variation data is currently used. 3. Adding xboard "setboard" support. 4. More work on the opportunity search integration; I will likely use the CTOppo class for controlling both regular and ponder searches.
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.