Author: Steven Edwards
Date: 10:24:00 12/31/03
Work on my chess playing program Symbolic continues with the integration of its Lisp interpreter. For the program to live up to its name, it has to be able to play decent chess by means of high level pattern analysis and planning, and so the need for Lisp. Symbolic's Chess Lisp is a subset of Common Lisp plus a significant number of chess specific intrinsic functions that directly connect to the C++ code. This permits the Lisp program running the search to perform low level tasks (e.g., move generation, bitboards, and attack table management) at high speed. Using Lisp opens up the chess programming domain to all sorts of interesting weapons gleaned from the AI arsenal. Wilkin's MacLisp program Paradise solved WCSAC.0398: [D] 2qrr1n1/3b1kp1/2pBpn1p/1p2PP2/p2P4/1BP5/P3Q1PP/4RRK1 w - - 0 1 using only 109 search nodes. However, it took about 45 minutes to do the search. Given that the hardware has sped up by about a factor of 100 in the past 20+ years since Paradise and that Symbolic does the low level tasks in native code, I hope that a more complete version of my program can handle the above in under one second on modest hardware. There is still a very long road ahead.
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.