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.