Computer Chess Club Archives


Search

Terms

Messages

Subject: Symbolic: The TNS (Thousand Node Search)

Author: Steven Edwards

Date: 07:31:03 02/16/04


Symbolic: The TNS (Thousand Node Search)

The idea of limiting the cognitive search in Symbolic to under a thousand nodes
is based upon psychological studies that suggest top level human chessplayers
usually visualize between 100 and 1,000 positions per move in complex
middlegames.  My personal time control upper limit preference for non-blitz
chess is a minute per move, and so the resulting target figure for node
frequency is about 20 Hz.

One idea here is that the target frequency remain somewhat invariant of the host
hardware.  On faster machines, the effort expended on non-search chess knowledge
can be increased, while on slower hardware, it can be lessened.  Similar
throttling can be applied for different time controls on the same hardware.

A distinction here between the large pool of iterative A/B searchers (and their
hardware brethren) vs programs like Paradise and Symbolic is the purpose of the
search itself.  For the descendants of Slate and Atkin program Chess 4.x, the
main purpose is discovery.  For Paradise, and for Symbolic to a slightly lesser
extent, the main purpose of the search is plan verification.

It is important to note that Symbolic is not a "selective search" program is the
commonly used sense of the phrase.  A selective search program is one that
employs the Shannon type B strategy of reducing the full width search at each
node by applying a plausibility filter or by having a plausible move generator.
Shannon type B is the same as type A in that the purpose of the search is
discovery; the topography of the resulting depth first search trees may differ
in mean height and width, but the reasons for searching any particular node are
the same.

Symbolic, like Paradise, should only expand a search node (i. e, move generation
plus selection) if it has a good reason to do so.  The phrase "good reason" is
somewhat vague (at this point in development), but the one thing it does not
mean is "there's still time on the clock, so let's try another move/another
iteration".  Instead, Symbolic will always have an active plan that will
determine which nodes to expand.  In some cases, multiple moves at a given node
will be conforming to the current plan.  In others, perhaps no move will
suffice, so the plan must be modified or abandoned.  As Symbolic keeps the
entire search tree available at all times, a node may be revisited with
different plans.

And although the exact implementation details of the above phrase "good reason"
are not well defined at this point, it is guaranteed that each "good reason"
will have a natural language representation.  Thus, another reason for the TNS
node count limitation: Symbolic will produce an explanation audit trail with all
of the good reasons, in English, for each decision made during the search and
this document has to be easily readable (by me) for the purposes of tutoring the
program.  A multi-megabyte dump will not be useful, but a five or six page
synopsis should work well.



This page took 0.01 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.