Computer Chess Club Archives


Search

Terms

Messages

Subject: Symbolic: Status report 2005.04.27

Author: Steven Edwards

Date: 18:14:07 04/27/05


Symbolic: Status report 2005.04.27

An ICC ratings snapshot for Symbolic's toolkit:

Statistics for Symbolic(C)         On for:27:50     Idle:    0

              rating [need] win  loss  draw total   best
Bullet          2221        295    76    13   384   2392 (03-Nov-2004)
Blitz           2326       1188   342   141  1671   2443 (27-Oct-2004)
Standard        2393        387   241    51   679   2393 (27-Apr-2005)

--------

Some work in the ChessLisp interpreter:

I found and fixed some minor bugs in the stream I/O byte and character input
that unsurprisingly eluded earlier detection as the routines had not been
tested.  They were originally implemented as I wanted to be able to access PGN
and binary book files from Lisp; later, I decided to let the toolkit do the work
instead.

Q: Why was I working in the interpreter stream code?

A: Because I was implementing a new primitive: read-line-from-stream.  This was
desired because it's a lot faster going through a text file a line at a time
than a character at a time using the read-char-from-stream function.

Q: Why did I implement read-line-from-stream just now?

A: Because I want to be able to efficiently read EPD test suite files.  The
toolkit already has several test suites built in, but I wanted a more general
ability.

Q: Why do I need to read general test suite files?

A: Because I need an automated procedure to handle prior EPD analysis from Lisp.
 To assist with this, I'm working on the new primitive DecodeEPD.  There is
already a DecodeFEN function, but I need more than just a position value from a
test suite record.  Decoding the EPD operation fields (done in the toolkit and
leveraging existing code) will give a Lisp program easy access to an EPD record
as an association list.

Q: Why do I need an EPD association list originating form a test suite record?

A: Because I need Lisp to be able to quickly and in an automated fashion access
the position value (from a "fen" association binding), the "bm" best move list
(solution keys), and the "pv" move sequence (predicted variation).

Q: Why is this needed?  After all, it's not useful during a search.

A: It's not going to be used during a search.  It's going to be used for a
genetic algorithm approach for training Symbolic's production sets.
Specifically, a large test suite composed of positions all with known forced
mating sequences will be used to train the MateAttack theme move suggestion
productions.  This is required to give Symbolic's planner material for
elaborating MateAttack goals.

I'm still working on the DecodeEPD primitive.

--------

More to come.



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.