prophet

Prophet is a chess playing program that I’ve worked on in fits and starts since 2000. It’s a console based program, or “engine.” To play it you’d probably want to install Winboard or some other Winboard compatible user interface.

Download

The latest version of Prophet3 is Prophet3-20181124. I am no longer providing download links directly from this page.  You can download the source code as well as binaries for Windows, Linux and Mac from the Prophet3 Github repo:

https://github.com/jswaff/prophet3

Note, Prophet3 is no longer under active development. Prophet4 is not ready for release yet, but you can view the source from the Prophet4 Github repo:

https://github.com/jswaff/prophet4

Prophet is distributed under the MIT license.

About

The first version of Prophet was written around the year 2000 while I was an undergraduate. It was a conventional chess engine, utilizing a depth first alpha-beta search with iterative deepening. I used this version to do some not-so-successful experimentation with TDLeaf (a form of temporal difference learning) and wrote about it in this abstract.

The second version was released in early 2007. I was in graduate school at that time and was using Prophet as a test bed for various parallel search algorithms. I continued to work on this version until shortly after finishing graduate school in 2008. If you’re interested you can read about it in this paper.

After that, Prophet lie dormant for a few years until 2011 when I started a second complete rewrite. By this point I had learned the importance of test driven design and wanted to apply that to Prophet. Life got busy again and the project lie dormant for several more years before it was even released. Prophet3 never achieved functional parity with Prophet2. I never implemented the parallel search, and there are some evaluation terms that were never ported. Despite that, I think it is a better program overall.

Development on Prophet4 began in June 2019. There is still a considerable amount of work to do, but I believe the end result will be worth the effort.

How Strong is it?

While under active development, Prophet3 was regularly tested against a suite of opponents at 3 minutes per game with 0.5 second increments per move. My testing showed Prophet3 to be about 100 elo stronger than Prophet2, and very close in strength to Horizon 4.4 and TCB 0052 – see Another round of sparring partners for Prophet3.

The CCRL 40/40 list, however, shows Prophet3 to be 40-50 points weaker than Prophet2. That difference was never fully explained, but perhaps a moot point now that a rewrite is underway.

Prophet also regularly plays online at the Internet Chess Club, but those ratings tend to vary wildly. Normally the blitz ratings are in the 2100-2300 range.

Tournaments

Prophet has participated in some computer chess tournaments (TODO: get this caught up!):

  • July 2017: Prophet3 20170319 played in Sergio Martinez’s Swiss Edition Group D, finishing 18/80 with 7/12 points.
  • 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.