Queen.exe is a chess program written by Leen Ammeraal
and running under Windows 95 or higher. 
Originally there were two versions: one with a graphical
user interface for human players and an engine version
machine-to-machine games using the WinBoard and UCI protocols.
For Queen 3.01 and higher, these were combined into one
version, Queen.exe, which can be used for both purposes.

Version 1.9.10, 20 March 2001:
   Principle-variation handling improved.
   Evaluation made faster by shortcutting below-alpha and
   above-beta positions.
   Match result 1.9.10 - 1.9.9: 7-0(-9).
Version 1.9.11, 21 March 2001:
   Repetition handling improved (better endgame play).
   Evaluation: value of mobility increased.
   Match result 1.9.11 - 1.9.10: 7-1(-1).
Version 1.9.12, 24 March 2001:
   Transposition table reorganized.
   Match result 1.9.12 - 1.9.11: 6-0(-4).
Version 1.9.13, 26 March 2001:
   Since Queen did not handle all
   WinBoard time control settings well
   (as George Lyapko was so kind to 
   point out to me), I made some changes
   to fix this. I also changed some code
   to improve performance.
Version 2, 29, March 2001:
   Time control improved to reduce the risk of losing on time.
   Hash table replacement scheme improved, resulting in
   increased strength. (Queen is no longer beaten
   by Quark and GnuChess in every game (although it still
   loses in most cases.)
Version 2.01, 31 March 2001:
   Queen2 sometimes reported stalemate when it actually lost a game.
   This bug, reported by Lars Hallerstrom, has been fixed.
Version 2.01a, 31 March 2001:
   Very unfortunately, there was still another bug in the reported
   result (1-0, 0-1 or 1/2-1/2), which was corrected in this version.
Version 2.02, 10 April 2001:
   Pondering implemented. Evaluation function slightly improved.
   Hashkey computation changed.
   Engine made in accordance with WinBoard2.
Version 2.03, 14 April 2001:
   Some bugs fixed.
   Search depth extended for check evasions.
Version 2.04, 20 April 2001:
   Some minor changes to increase strength. Among other
   improvements, KPK endings are now dealt with more reasonably.
   Match result 2.04-2.03: 18-6-3 (or 19.5-7.5).
   If 2.04 and 2.03 had the same strength, the probability
   of this score or better for 2.04 would be only 1.4%, so it
   is almost certain that 2.04 is stronger than 2.03.
   Hash table size can be set by using a file queen.ini,
   containing the text "ht x" (without quotation marks)
   where x is a positive integer denoting the number of MB,
   If there is no file queen.ini, or if its format is incorrect,
   the effect will be the same as with "ht 8".
   The hashtable size will be 1 MB if x is zero, so
   "ht 0" is equivalent to "ht 1". So far, I have not been able
   to detect any improvement in strength by setting x greater
   than its default value 8 (which was used in the match just
   mentioned).
   The GUI version queen.exe (not to be confused with
   the WinBoard version wbqueen.exe) now supports the
   Flip View option, after a request from Luo Wei.
Version 2.05, 23 April 2001:
   Some changes in qsearch and evaluation functions,
   resulting in increased strength.
   Match result version 2.05-version 2.04: 32-16.
Version 2.06, 26 April 2001:
   Performance improved by internal iterative deepening.
Version 2.07, 30 April 2001:
   Hashtable use improved. Move-now command implemented.
   The GUI version (not for WinBoard) can now handle
   test suites in edp format and interprets the Esc
   key as 'Move now'.
Version 2.08, 1 May 2001:
   Bug fixed with regard to hashtable size.
   Conditions for applying the null move modified.
Version 2.09, 8 May 2001:
   Built-in opening book re-organized.
   Strength possibly slightly increased by using
   special hashtable for pawn structure.
Version 2.10, 16 May 2001:
   Bitboard handling made faster by using an
   assembly routine from Dann Corbit.
   Qsearch modified.
   Analyze option added to GUI (nonWinBoard) version.
Version 2.11, 18 June 2001:
   Endgame table (EGTB) handling implemented.
   Some functions replaced with macros and many
   minor changes in the code to make it faster.
   More flexibility for ini file (queen.ini): this
   file can now contain at most three lines, such as
      ht 16
      egtbdir d:\tb
      resign 1200
   These lines can appear in any order. Explanation:
      ht <size of hashtable in MB; must be a power of 2>
      egtbdir <absolute or relative path for the egtbs>
      resign <threshold for resigning, expressed in centipawns>
   Here is another example:
      ht 64
      egtbdir nalimov
   In this case 64 MB will be used for the hashtable,
   the subdirectory nalimov of the current directory will
   be searched for egtbs, and the default resign threshold
   of 1000 will apply.
Version 2.12, 12 July 2001:
   Evaluation function improved with regard to queen mobility,
   rook attacks and isolated doubled pawns.
Version 2.13, 19 July 2001:
   Knight outposts rewarded, trapped bishops and rooks penalized.
   Improvement of the handling of pawn hashtables and enpassant
   captures. Program made suitable for Bruce Moreland's utility
   epd2wb (for testsuites).

   Patch for CM8000 users, 20 July 2001:
   As Enrico Cardelli pointed out to me, CM8000 interpreted the
   message 'We will resign if 1000 points behind' from wbQueen
   as a signal from the engine to resign. This problem was fixed 
   by replacing the word 'resign' with 'giveup'.
   Since this patch does not influence Queen's strength in
   any way, I did not change the version number. To summarize:
   wbQueen 2.13 of 19 July (like the versions 2.11 and 2.12)
   do not work with CM8000, but this problem should be fixed
   in wbQueen 2.13 of 20 July.
Version 2.14, 26 July 2001:
   Two bugs fixed, one in the search routine and the other
   in applying the 50-move rule.
Version 2.15, 22 September 2001:
   New, external opening book based on files supplied
   by Carlos Pesce. Improvement in the implementation
   of the principal variation, hashing and time control,
   all resulting in somewhat increased strength.
   You can find information about how to use the external
   opening book by reading the file readme.txt.
Version 2.16, 28 September 2001:
   wbQueen was made slightly stronger by a minor
   change in the hash probing code.
   Unlike the previous version, wbQueen now displays
   some messages about the use of an external
   opening book and/or egtbs (specified in a file
   queen.ini) when the user starts the program
   without using WinBoard, say, by doubleclicking
   on the wbQueen icon.
   The desirability of these messages was pointed out
   to me by Lars Hallerstrom in Stockholm.
Version 2.17, 5 October 2001:
   This was intended as a bug fix: in WinBoard matches,
   with the external opening book installed,
   version 2.16 used this book only for the first
   game of each match. This bug was fixed in
   version 2.17. I also made some minor changes in
   the code that deals with hashing and nullmoves,
   resulting in increased strength:
   wbQueen 2.17 vs. wbQueen 2.16: 33 - 16 =24
Version 2.18, 9 October 2001:
   Fractional extensions implemented, resulting
   in slightly stronger play.
   In older versions, wbqueen declared a draw
   when the 50-move rule applied without making
   the last move. This bug has been fixed.
Version 2.19, 12 October 2001:
   The 50-move rule was still not completely
   correctly implemented in version 2.18, so
   another bug fix was required. This new version
   might also be slightly stronger thanks to
   some changes in the treatment of 64-bit
   words (bitboards and signatures).
Version 2.20, 16 October 2001:
   Strength improved by a modification of the
   evaluation function, using bitboards for
   attacked squares.
Version 2.21, 27 October 2001:
   Improved treatment of advanced passed connected 
   pawns after a suggestion from Carlos Pesce.
   Detection of repetition improved.
   Bug with regard to 'illegal move' fixed.
   Pawn structure evaluation code changed.
Version 2.22, 8 December 2001:
   Move sorting and mobility evaluation improved.
   Egtb probing disabled when it does not work
   properly in the case of pawn promotions
   and incomplete table bases.
Version 2.22a, 19 December 2001:
   Bug fix with regard to incremental clock mode;
   this bug was pointed out to me by Gabor Szots,
   whose time control was 45 min per game plus
   15 s per move, and who observed that Queen
   used far too much time at the beginnning of
   the games (even though she never lost on time!).
   Apart from this incremental clock mode change,
   version 2.22a is identical to version 2.22.
Version 2.23, 25 February 2002:
   Bug fix with regard to incomplete endgame
   table bases. Speed up of rotated-bitboard
   handling. Some slight modifications in the
   evaluation function, such as decreasing the
   absolute score value if each side has exactly
   one bishop and these are of different colors.
   The GUI (non-WinBoard) version Queen.exe 
   has some new menu items to make working with
   epd testsuites more convenient.
Version 2.24, 28 March 2002:
   Swap-off function replaced.
   Mobility evaluation improved.
   Unnecessary move generation eliminated.
Version 2.24a, 30 March 2002:
   Bug fix, with regard to illegal moves,
   generated with ponder = on.
Version 2.25, 10 April 2002:
   As Leo Dijksman noticed by using a
   task manager, pondering did not work well
   in previous versions. I corrected this
   in version 2.23, which in some respects
   worked better than version 2.24a.
   Consequently, version 2.25 has the
   same strength as version 2.23 with
   ponder = off, but it is stronger
   with ponder = on.
Version 2.26, 18 April 2002:
   Bug fixes with regard to egtbs and
   to mating in cases where resigning
   is disabled by setting the resign
   threshold very high (for example, 50000)
   in the file queen.ini (see readme.txt).
   Slight increase in strength by improving
   SEE and move ordering.
   In the Windows version Queen, I added
   a menu option for pondering.
Version 2.27, 8 May 2002:
   Better mobility function, based on
   the control of squares.
   The most essential elements of UCI
   implemented.
   A modest way of razoring implemented
   after e-mail contact with Richard Pijl
   (author of The Baron).
Version 2.28, 17 May 2002:
   The UCI implementation corrected, thanks
   to comments by Alex Schmidt.
   Some minor changes in the handling
   of the hashtable, in the evaluation function
   and in the time control.
Version 2.29, 25 May 2002:
   The UCI command 'go infinite' is now dealt
   with properly, so that the user can
   do 'infinite analysis'.
   Evaluation function improved with regard
   to mobility and safe/unsafe squares.
   Some match results:
   v2.29 vs v2.28: 113 - 75 =142 (330 games)
   v2.29 vs v2.25:  11 -  3   =7 ( 21 games)
Version 2.30, 8 August 2002:
   Some bugs, reported by Steve Maugham, were
   corrected. There were several modifications
   of the evaluation function, especially with regard
   to the mobility evaluation and development.
   I also made time control safer in the case
   of incremental mode. Finally, I was able to
   make hash probing slightly faster.
   Roger Brown of Jamaica was an enormous help
   as a beta tester.
   According to Elostat and based only on matches
   Queen 2.30 - Queen 2.29, and therefore possibly
   unreliable, the estimated increase in strength
   is 78 points. I admit this sounds too good
   to be true, so I look forward to results
   reported by others.
Version 2.31, 28 August 2002:
   Removal of a bug (illegal mating move).
   'Analyze' implemented (for WinBoard users).
   Several modifications of the evaluation
   function, including:
   - Treatment of good/bad bishops now based on
   - blocked pawns.
   - Faster generation of pawn moves.
   - Bonus for pinning and for phalanxes.
   - The notion of opposition extended in pawn
     endgames.
   I also made a minor change in fractional
   extenstions related to threats.
   In spite of all these program changes, this
   new version has an estimated increase in
   strength of only 32 points. More precisely,
   the strength increase lies between -4 and +78,
   with 95% confidence.
Version 2.32, 21 September 2002:
   Bug fixes with regard to pondering and
   analysis output.
   Threat extension modified, after an e-mail from
   Gabor Szots about some testsuite positions.
   Evaluation function modified: bishop pair bonus
   increased and bonus values for advanced pawns
   slightly reduced, as suggested by Corniel Nobel.
   Static Exchange Evaluation (SEE) was improved.
   Strength increase estimation: 28 [+5, +55] 95%.
Version 2.33, 9 October 2002:
   Bug fixes with regard to time control management
   in conventional mode (such as 40 moves in 5'),
   to underpromotion and to endgame tablebases.
   Minor changes in evaluation function with regard
   to mobility. This version seems to be slightly
   stronger than the previous one.
Version 2.34, 26 October 2002:
   Some bugs were fixed:
   1. As reported by Guenther Simon, Queen 2.33 lost
   on time if the opponent made a move and then
   immediately proposed a draw.
   2. Using the Fritz/Shredder (UCI) interface with
   time control 60'/40 + 30'/20 + 30', Alex Schmidt
   noticed that Queen 2.33 often lost on time on
   move 39 or 40.
   3. Gabor Szots reported that Queen 2.33 made
   the very bad move a2a4 after queenside castling.
   Except for these three bug fixes, Queen 2.34 is
   the same as Queen 2.33.
Version 2.35, 27 November 2002:
   This is both a bug fix related to pondering and
   an improvement with regard to hashtable usage
   and mobility evaluation. 
   To avoid confusion with alphabetic ordering,
   I changed the filename of the WinBoard version
   into queen-wb.exe (instead of wbqueen.exe).
   Note that this exe file also supports UCI.
   The GUI version (queen.exe, not for WinBoard or
   UCI) was slightly changed to enable the user,
   after manually entering a new position, to 
   specify the side that is to move. In this 
   position-entering mode (for which the shortcut
   Ctrl+U is available), pressing the space bar
   shows the statical evaluation of the current
   position, in terms of both material (for White)
   and other positional aspects (for the side 
   to move). Any comments on the latter values
   are welcome.
Version 2.36, 27 December 2002:
   Endgame tablebases usage improved. (As usual,
   the file readme.txt shows how to specify the 
   egtb directory in the file queen.ini).
   Some knowledge about double attacks and pinning
   added. With endgame tablebases in use, this
   version is considerably stronger (by at least 
   50 points) than the previous one.
Version 2.37, 8 February 2003:
   Bug fix in endgame tablebase usage.
   Computation of mobility and x-ray attacks modified.
   Various other minor changes in evaluation function.
Version 2.38, 2 May 2003:
   Drastic modification of move sort.
   Change of evaluation function with regard to
   open files for rooks and queens.
   The specific C++ libraries for string handling and
   I/O are no longer used, resulting in a smaller
   executable file and possibly slightly faster code.
Version 2.39, 30 July 2003:
   The PV is now computed from the hash table instead of
   by using a special array. 
   Razoring was removed and move sort slightly changed.
   This gave a substantial improvement in tests with
   the wacnew testsuite. However, after a number of matches
   Queen2.39 vs. Queen2.38, including one performed
   by Roger Brown (thanks!) the total score was not very
   impressive (283 - 251 =127). I hope this new version
   will do better against some other engines than it did
   against version 2.38.
Version 2.40, 23 August 2003:
   An error with regard to pondering under UCI, as reported
   by Dieter Eberle, was corrected. I also introduced
   recapture search extension, which seems to have made
   the program a little stronger in gauntlets against
   some other engines (Baron, Terra, Amateur, KofK, List
   and Movei). Since the difference between the scores
   of the versions 2.40 and 2.39 in these gauntlets
   was very small, please do not expect too much of
   this new version.
Version 2.41, 3 Sep 2003:
   The qsearch function was made faster by using SEE
   rather than further searching in certain cases.
Version 2.42, 26 Nov 2003:
   An error related to memory usages and the
   WinBoard -mg option was corrected. There were some 
   also some changes in the evaluation function
   (pawn structure) and in the search (PVS, nullmove).
Version 2.42a, 1 Dec 2003:
   This is a bug fix in the module that deals with
   UCI commands, after a problem reported to me
   by Patrick Buchmann. This problem appeared to
   apply only to Queen running under the
   Fritz/Shredder GUI. For WinBoard users, this
   version will behave exactly the same as
   v. 2.42.
Version 2.43, 26 Mar 2004:
   Many changes were made in the evaluation function, especially
   with regard to endgames with pawns and rooks.
   Also, hashing and the computation of the principal variation 
   were improved. After long tournaments of both this version 
   and the previous one against various opponents, the strength 
   seems to have be increased by about 30 points.
Version 2.44, 22 Apr 2004:
   Some more changes were made in the evaluation function.
   Also, move sort was improved.
Version 2.45, 14 Oct 2004:
   The evaluation function was changed with regard to isolated pawns.
   The previous version of qsearch returned a value in the case
   of bad captures as decided by Static Exchange Evaluation (SEE).
   This gave sometimes bad results, so it is now done only at a somewhat
   greater depth of qsearch. In very long matches, the strength seems
   to have increased by about 30 points.

Version 3.00, 17 Feb 2005:
   The two version (one for WinBoard/UCI and one with a GUI) are now
   combined into a single program, Queen.exe. 
   If you start the program yourself, you can play against the program,
   edit positions, and so on. On the other hand, if WinBoard or a
   UCI interface program starts Queen the program behaves as 
   queen-wb.exe did in the past.
   Other changes with regard to the previous version: a bug in
   pondering was fixed and time control was slightly changed.
Version 3.01, 18 Feb 2005:
   A problem was fixed with regard to the version number 
   produced in WinBoard and UCI debug output.
Version 3.02, 22 Feb 2005:
   Queen 3.01 used as a stand-alone program suffered from timing problems
   (related to multi-threading) on some older machines, as Franz Huber reported
   in the WinBoard forum and by private e-mail.
   My attempts to fix these problems gave rise to some other versions, leading
   to Version 3.02. Many thanks to Franz who was an excellent beta tester
   (for the stand-alone version). I also fixed a bug in the qsearch function, 
   possibly resulting in slightly stronger play.
Version 3.03, 18 Mar 2005:
   Some new options and further improvements in the GUI mode of the program
   were realized, thanks to a considerable number of e-mail messages from Franz Huber.
   He surprised me by writing that he often uses this GUI mode (while I had the 
   impression that no one used Queen other than for machine-machine games).
   I also made some changes in the evaluation function to diminish Queen's eagerness
   to trade a bishop or knight for three pawns. There were also some minor changes
   in the evaluation of positions with only rooks and pawns and of those with
   only pawns and a bishop vs a knight. It looks like this made Queen stronger
   by about 28 points.
Version 3.04, 29 Mar 2005:
   I increased the value of the rook to make it less attractive to trade a rook
   for a minor piece plus pawn. I also made some changes in search extensions.
   Finally, the GUI mode was improved with regard to testsuites so that it is
   now possible to switch to the next or previous position of an epd file.
Version 3.05, 23 May 2005:
   This is mainly a bug fix: Version 3.04 sometimes made illegal moves when
   playing without its external opening book. I also tried to make the program
   stronger, but after many tournaments I can only say that it is very unlikely
   for this new version to be weaker than than the previous one.
Version 3.06, 23 July 2005:
   As Guenther Simon pointed out to me, the previous version (when playing under
   WinBoard) did not resign when it should, so this error had to be fixed.
   Thanks to Reinhard Scharnagl, I was able to speed up two bit-handling routines
   for bitboards, replacing assembly with C code.
   I also changed the evaluation function, with regard to
   open and half open files, blocked center pawns and the bishop pair.
   It looks like these changes made the engine a little stronger.
Version 3.07, 8 August 2005:
   This version differs only little from the previous one.
   A bug was fixed with regard to the WinBoard interface: after the message
   {White resigns"} no newline was given so the next command came on the same line.
   This sometimes caused Queen to refuse starting the next game of a tournament or match.
   I also made the program at least 5% faster.
Version 3.08, 28 November 2005:
   In the evaluation function, the value for rooks is now slightly higher, and
   I also made some changes in the code that deals with endgames.
   There were also some minor changes in the search function.
Version 3.09, 31 December 2005:
   I made the handling of king safety a little bit more sophisticated with regard
   to queens and rooks attacking a king at the same time.
   To avoid (or at least reduce) possible irritation of human players, I also fixed
   some minor problems in the GUI with regard to testsuites and taking moves back.
Version 4.01, 19 November 2007:
   After switching from Windows XP to Vista, Visual C++ 6.0 did not work any longer on
   my computer, so I downloaded the free version Visual C++ 2005 Express Edition. 
   This does not include the Microsoft Foundation Classes (MFC), which I had been using 
   in Queen 3.01 until 3.09. I therefore wrote a new version of the user interface part 
   (only relevant for human players), using the conventional Windows API programming style.
   As for the chess engine itself, there are some changes in the evaluation and search
   functions, but as I made most of these quite a long time ago, I cannot remember much
   of it. After playing many tournaments, under both WinBoard and Arena, this new
   version 4.01 seems to be as strong as version 3.09 or slightly stronger.
Version 4.02, 1 December 2007:
   Essentially the same as the previous version, but due to the compiler options that 
   I used, that version did not work on some computers.
   This problem is now solved. I added an option to disble the internal book by
   means of the queen.ini file, or, for human users, by using the Options menu.
Version 4.02a, 5 December 2007:
   Still the same as the previous version except for a minor multithreading programming
   detail, solving a problem with Windows 98. I am grateful to Franz Huber, who pointed 
   out that problem to me, did some tests with experimental Queen versions, and finally
   confirmed that this version also works under Windows 98.
Version 4.03, 29 December 2007:
   The same engine as the previous version, but many errors in the Graphical User Interface
   have been fixed, again thanks to Franz Huber, who spent a lot of time testing the GUI.
Version 4.03a, 17 June 2011:
   The same engine as the previous version, but I improved the Graphical User Interface
   with regard to the notation of moves. The moves of a game are now in standard PGN notation
   and displayed in a window with a vertical scrollbar.





