Author: Steven Edwards
Date: 00:22:07 08/12/03
Go up one level in this thread
On August 12, 2003 at 00:40:33, Dann Corbit wrote: >Is CT available? > >I would like to play with it. I will likely make CT available to interested testers as its classes are further elaborated. It is far from complete at this point in time. Independent reviewers are needed to test the portability of the toolkit. At the moment I am working with both iAPX86 and PowerPC hardware and with OpenBSD and Linux software. (Note: I do not use any products from Microsoft due to, in part, Microsoft's support of Palladium a.k.a., "Trusted Computing".) CT has been designed from the beginning to be mulithreaded and it relies upon the POSIX pthread library. Although the underlying thread access code is well abstracted, it may prove difficult to port to environments that do not have pthread support. CT, like all decent C++ projects, has no externally scoped variables, so its multithreaded nature makes it easy to take adavantage of SMP in a clean way, and also it allows distributed processing support in a heterogeneous environment. A number classes have their new and delete operators overridden for both efficiency and for thread safety and without the need for critical sections and their resulting runtime overhead. One of the cool things that can be done with CT is a fast cook finder. Notice that it is often faster to, say, find a mate in six than to prove that no mate in four exists. With CT, a cook search on a mate-in-N position can be performed by launching N concurrent threads each with the goal of looking for a mate in N. Such a search would also be useful for scanning GM games for missed mates. CT is divided into two parts: the foundation part and the workbench part. The foundation is fairly close to all the support routines that have come to be expected in a chess engine, and it is designed with runtime speed as one of hte primary goals. The workbench is a compiler/interpreter programmed in a Lisp subset that accesses the foundation classes. The idea is that there is a qualitative difference between low level and high level chess programming concepts; why use the same programming language for the expression of both? Bit-fiddling may be the way to stronger chessplaying programs, but it is a dead end with respect to the larger field of artificial intelligence.
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.