Prophet is a chess playing program written in C. Technically it requires a C++ compiler, but it’s not an object oriented program. The first version of Prophet was written around the year 2000. I released 2.0 in early 2007, but continued to work on the project until the end of 2008. In 2011 I started a rewrite of Prophet, putting much more emphasis on unit testing than I did earlier in my career. I hope to pick it back up and release a version 3.0 sometime in 2016.
As far as the core algorithms go, Prophet is very conventional. The search is a classic depth first alpha-beta search with iterative deepening. It searches interesting lines deeper, and does some very conservative pruning to avoid wasting time searching stupid lines.
In 2008 I finished an MS degree in Computer Science. As a project I implemented different types of parallel searches using Prophet. If you’re interested you can read about it in this paper. As an undergraduate I used Prophet to do some experimentation with a learning algorithm called TDLeaf (a form of temporal difference learning) and wrote about it in this abstract.
Between 2005 and 2007 Prophet participated in some online computer chess tournaments.
- Feb. 17-18, 2007: Prophet 2.0 participated in CCT9, finishing 33/52 with 3/7 points.
- Oct. 28-29, 2006: Prophet 2.0 participated in the First Annual ACCA Americas’ Computer Chess Championships, finishing 7/16 with 3/5 points.
- Aug. 12-13, 2006: Prophet 2.0 participated in the First Annual ACCA Presidents Tournament, finishing 16/18 with 2/6 points.
- Feb. 25-26, 2006: Prophet 1.0 participated in CCT8, finishing 31/38 with 3.5/9 points.
- Feb. 12-13, 2005: Prophet 0.something participated in CCT7, finishing 40/44 with 1.5/8 points.
This is one of the last releases I did of Prophet. To play it you’d have to first install Winboard.