Computer Chess Club Archives


Search

Terms

Messages

Subject: Symbolic: Status report 2005.05.28

Author: Steven Edwards

Date: 12:23:36 05/28/05


Symbolic: Status report 2005.05.28

Using the 554 position mate attack Symbo1.epd test suite, I ran the GA evolution
sequence some four thousand times.  The result was an organism that matched 323
best moves (58.3%) as a best pick.  Also, the total match score was 1,684 for an
average of 3.04 points per problem (four points awarded for a top rank match,
two points for a match of the second ranked move, and one point if the third
ranked move matched).  I've saved the results and will use them when
implementing the MateAttack productions.

--------

After spending more time with Symbolic's planning facility I decided that the
plan representation was too unwieldy and it got another rewrite.  A couple of
coding sessions later, it was simplified yet again and it's now in its fourth
version.  This has been a bit frustrating, but it's often better to do a rewrite
than to allow shortcomings to perfuse into the general code base.  Fortunately
each rewrite has gone much faster than the previous attempt.

The problem is twofold.  First, there is no generally accepted abstract
representation of plans.  Second, a particular implementation of a plan
representation is dependent in part upon the actions that will access a plan,
but these in turn are difficult to define precisely until a plan representation
is chosen.  So planning to plan is itself an iterative process.

The current and hopefully final plan representation is a Lisp association list
that contains some anchor data (e.g., the associated position search tree node),
a root goal, a current goal, and a goal stack.  Each goal is also an association
list and contains items about its goal task (e.g., MateAttack) and a list of
subgoals.  The subgoal list enables a multiway recursive representation and the
plan itself maintains a state indication of the current point of exploration.
An important benefit of this arrangement is that plan editing operations such as
elaboration and cloning are now relatively simple compared to the earlier
versions.

A freshly created plan has a special current goal: the RootGoal, a placeholder
goal whose subgoals will be all of the top level goals of the plan.  Immediately
after it's made, Symbolic's planner calls AddSubGoal on the plan with a BestMove
goal as the new subgoal.  The result is the default plan for a particular node
and requires elaboration for further use.

I'm now working on the plan/goal elaboration process.  This is encapsulated in
the Lisp routine ElaborateSubGoal and it takes three arguments: the plan, the
subgoal, and an effort parameter.  A successful elaboration will remove the
subgoal and insert one or more substitute subgoals in its place.  The initial
test will be to elaborate a BestMove subgoal into top level subgoals based on
theme analysis placed in the associated IDB by the surveyor facility.  (The
theme identification process is a stub at the moment and only deposits
MateAttack and TabsMove themes; this is sufficient for early testing.)

So,

(BestMove) + [themes] -> (Theme0) (Theme1) ...

(MateAttack) + [GA analysis/effort=0] -> (PlayMove mv0) (PlayMove mv1) ...

(MateAttack) + [GA analysis/effort=1] -> (PlayMove mv0 (MateDefend)) (PlayMove
mv1(MateDefend)) ...

(TabsMove) + [TABS search/iteration-limit=effort] -> (PlayMove mv)

--------

More to come on subgoal elaboration.



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.