Author: Steven Edwards
Date: 00:07:13 04/04/05
Symbolic: Status report 2005.04.04 The HTML version of the move selection narrative output is now working. Being able to have a large position diagram instead of ASCII art is a great assist for those like me with somewhat impaired eyesight. I really should have done this a long time ago. I've posted a sample page at: http://www.geocities.com/chessnotation/Web.html At some point in time, I'd like to add support for figurine move output. Alas, I suspect that this point is far in the future. -------- Inside Symbolic's Lisp source there is a Narration list that is constructed during move selection whenever a post-search narrative is selected by the program's input options. This was one of the very early features of the code and its implementation was less than optimal. I have since converted the Narration list to be a list of Narration Items with each such item being an association list. This makes the code clearer and it also made it simpler to expand the narration generation to include optional paragraph alignment. The first use of the new alignment support is in generating centered text captions for diagrams in HTML output. -------- I made another brief expedition into the toolkit and made a few improvements. One of these was to eliminate the pseudo legal move generators for the bitboard database equipped positions. Prior to this change, it was possible in some cases to generate an en passant capture that left the passive side in check (this was the only time a non legal move was generated with bitboards; all others were determined legal via pin analysis prior to a trial execution). Now, all move generation output for a bitboard database equipped position are fully legal and the separate entry points for pseudo legal generators are gone. There is a very slight but noticeable speed up; the real payoff is the increased simplicity in the calling code that can now assume that all input moves are legal and the "passive in check" test can be avoided in almost all cases. The exceptions are when a move is synthesized (e.g., copied from a possibly non legal killer move record) instead of arriving in a freshly generated move list. A second improvement is the implementation of a fractional ply delta type that is used for keeping track of a fractional depth during a toolkit search. This allows experimentation with fractional extensions. Although the cognitive search, coded in Lisp, does not use fractional extensions, it does call the toolkit search at times. Note: Eventually, the number of places the traditional A/B toolkit search will be called from the Lisp program will be reduced to one; i.e., a single three ply search at the start of the cognitive search to produce a contingency move if not enough time is available for the full power pattern/plan search. Extensive testing of the above changes via movepath enumerations and test suites has been done and was successful.
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.