Computer Chess Club Archives


Search

Terms

Messages

Subject: Symbolic: Status report 2005.04.04

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.