Computer Chess Club Archives


Search

Terms

Messages

Subject: Announcement: Work in progress

Author: Steven J. Edwards

Date: 04:30:55 05/27/98


Fellow programmers:

This note is to inform other computer chess researchers about some of my
current work in progress.  As I had mentioned some time ago, I have
decided to pause my efforts in tablebase design and implementation for a
while and this will continue until disk space costs drop by another
order of magnitude or so,  Of course, I welcome others' work in the area
and I hope that there will be some kind of developer consensus for
implementing six man classes in a uniform and publicly free manner.

My main effort at this point in time is the development of the Object
Chess Demonstrator (OCD).  It started out as an exercise in C++
programming efficiency study but has since turned towards a full
featured chess software delvelopment toolkit.  Like my other chess
software I have released to FTP sites, it too will be freely available
for both research and commercial purposes.

The OCD source is about 350 Kbyte long at this point and will probably
top out at about 1 Mbyte or so as more internal documentation and
features are added.  Currently, the OCD includes:

1) Compilation and execution on Linux/g++, PPC Macintosh, 68K Macintosh,
W95, and WNT.

2) Completely ANSI C++ coded.

3) Console window I/O.

4) Some graphical window output for Macintosh versions.

5) System dependent functions isolated in a single source file.

6) About 50 object classes, all but a few chess specific.

7) Dual move generators and executors (bitboard and offset methods).

8) Transposition mechanisms for pawn layout and for the entire board.

9) Complete bitboard occupancy and attack database with incremental
updating.

10)I Incremental updates of hash codes and material balance.

11) Complete SAN I/O.

12) Complete FEN I/O.

13) Complete EPD I/O.

14) PGN input (tag pairs and basic movetext only).

15 Position library compilation from a PGN input file.

16) Position library move retrieval via hash codes.

17) A simple forced mate locator.

18) EPD file processing for mate searching, enumeration (useful for
debugging) normalization, etc.

19) No limits (other than total memory) on ply depth, position count,
subtree retension, etc.

20 Organization of moves into move nodes and move lists (which are
doubly linked lists of move nodes; each move node contains a single
move.

21) Data structures for associating auxilliary information with move
nodes and move lists.

22) History heuristic implementation fro both move responses (for a
given opponent move) and more frequency usage.

23) SImple minded intreactive command text interface; command input can
be originated from a file; command files may be nested; command files
may have formal macro parameters (good for testing).

24) Lots more stuff but this message is too long already.

-- Steven (sje@mv.mv.com)





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.