Symbolic: Status Report 2007.05.25

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 6:43 pm

Symbolic: Status Report 2007.05.25

Post by sje » Sat May 26, 2007 12:58 am

Symbolic: Status Report 2007.05.25

Making progress two days in a row! Some kind of record for me, no doubt.

I finished the rewrite of the Lisp source for variation extension. The new code is more general in the sense that it can be potentially applied at any leaf node and not just the tail of the predicted variation. The motivational idea is that certain recognizers will properly stop an analysis along a non draw line in the main search and in at least some of these cases a full variation is wanted for a later display.

What are these recognizers? The assumption is that sufficiently strong human players can look at certain positions and can almost immediately say things like "that's a mate in two" or "that endgame is won for White". So, Symbolic has several ChessLisp primitives that mimic this behavior. Some of these built in predicates are:

Draw? MateIn1? LoseIn1? MateIn2? LoseIn2? MateIn3?

and an example non predicate:

TBProbe [tablebase access]

Symbolic can also quickly recognize that a position has only a single, non draw move available.

All of the above (and perhaps a few more in the future) are used in the new variation extension routines. Currently, only the predicted variation is eligible for extension treatment, although this is somewhat likely to change. Extending using tablebase knowledge is not very fast: it runs at only about twelve moves per second as it does it through the production system and that activates a lot of extra machinery. It would also be possible to extend using book knowledge (built in primitive BKProbe); I might add this later.

Authors of traditional A/B searchers could use a similar technique in their programs. I think Crafty already does this with respect towards tablebases.

--------

More to come on the incremental updating for determining the best permissible untried mating threat.

Dann Corbit
Posts: 10110
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: Symbolic: Status Report 2007.05.25

Post by Dann Corbit » Sat May 26, 2007 2:24 am

In Ernst Heinz's book:
http://www.amazon.com/Scalable-Search-C ... 3528057327

He uses replaceable recognizers for searching during different parts of the game for his engine DarkThought.

User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 6:43 pm

Re: Symbolic: Status Report 2007.05.25

Post by sje » Sat May 26, 2007 2:39 am

Heinz' paper used to be online at MIT/CSAIL but has been dropped for some reason.

I wonder if anyone currently at MIT is working on a chess program?

Post Reply