Change Log

Version 1.7 - August 2006 (Estimated Strength 2100 ELO on SSDF scale)

Added basic understanding of bishop and rook mobility

Change to hash tables to allow previous search results to cutoff at none PV nodes


Version 1.6 - June 2006 (Estimated Strength 2080 ELO on SSDF scale) 

Corrected bug that casued Monarch to crash when playing a tournament in Arena

Added Futility Pruning - can be enabled / disabled as a UCI option



Version 1.5 - June 2006 (Estimated Strength 2040 ELO on SSDF scale) 

Re-write of 80% of the code

Changed from a bitboard and static move table representation to an array format

Greatly simplified the code - replaced all of the color specific elements 

Removed most global variable in preparation for implementing a parallel version at some stage 

Created test routines for all procedures 

Roughly halved the nodes per second compared to version 1.0 but bugs are also greatly reduced

Fixed a nasty UCI interface bug that sometimes caused the engine to freeze up - version 1.5 seems to be 100% rock solid

Improved the stability of the search - there are now far fewer false fail highs

Add knowledge to mate with KQ v K, KR v K, KBB v K and KBN v K

Improved the time management heuristics

Added hashing at first ply of quiescent search 



VERSION 1.0 - April 2004 (Estimated Strength ELO 1990 on SSDF scale)

Complete rewrite in 'C' (was Delphi) 

Improved stability 

Added UCI 2 support (Current Line and Refutation) 

Enhancements to basic program structure 

Changed the method of draw detection from a small hash table to a move stack 

Added incremental static piece evaluation (was computed at the leaf) 

Speed up of ~80% compared to the Delphi version. I'd estimate that only 10%-15% is due to the better compiler and the remaining speed increase is due to a better structure and incremental evaluation 

Solves 283 of the 300 WAC problems in 5 seconds on a 2 GHz Pentium 4M.



