
Chess Engine: AliBaba
Author      : Dennis Breuker
Version     : 1.19wb JA
Date (orig) : 24th Jan 1995
Date (mod)  : 1st April 2010
Platform:   : Windows/Linux
Compiler    : Intel


I've finally added basic winboard protocol support to this old
chess engine (1995) which was written for testing various hashing algorithms.

Although Dennis Breuker wrote AliBaba as a testbed program, I'm pleasantly 
surprised by how well it can play as a proper chess engine. I estimate it's
strength level around 1800 elo, so should provide a challenging game to a 
club-level strength human player. 

Tested ok in Arena and Winboard chess interfaces and can use gui opening books.

                                              ---
(Note: When updating from old version replace ALL old files with new ones)
     


Changes (1.19wb ):
-------
1. Fixed resign bug
4. Tuned piece square tables




Changes (1.18wb ):
-------
1. Much better time management (adjusts for opening book moves)
2. Better King safety
3. Tuned eval



Changes (1.18wb ):
-------
1. Much better time management (adjusts for opening book moves)
2. Better King safety
3, Implemented search tree pruning.
4. Tuned eval


                                       

Changes (1.17wb - big update):
-------
1. Added wb 'edit' mode so engine can now load and start from a fen position.
2. Added wb 'analyze' function so engine can now analyze a fen position.
3. Fixed fluctuating pv score.
4. Fixed king check crash bug (again!)
5. More changable options in alibaba.ini
6. Some eval tuning.




Changes (1.16wb):
-------
1. Fixed an illegal king move (out of check) bug
2. Adjusted resign value.



Changes (1.15wb):
-------
1. Bug in mate search. Alibaba would miss e.g mate in 1,2 or 3.
2. Enhanced the check evasion. (now searches deeper when in check)



Changes (1.14wb):
-------
1. Piece square table & time control tweaks.
2. Bug in endgame piece value adjustment.
3. Cleaned up end of game/exiting.


Changes (1.13wb):
-------
1. Bug in the time control.


Changes (1.12wb):
-------
1. Fixed irregular pv output in Winboard
2. Added piece value adjustment to alibaba.ini
3. Added selectable hashtable keep method to alibaba.ini
4. Draw offer bugfix.


Changes (1.11wb):
-------
1. Introduced a bug in Arena opening book support
   when capture notation was added.



Changes (1.10wb):
-------
1. Added a configuration file (alibaba.ini)
   By editing this file you can set options for
   hash size, resign, draw offer and bookthinker support.



Changes (1.9wb):
-------
Fixed a couple of problems which were reported
here > (thanks Guenther Simon & Matthias Gemuh) 
http://www.open-aurec.com/wbforum/viewtopic.php?t=49845

1. Problem not playing as white. (max depth of search was being reset 
   to zero before start)
2. Not showing proper capture notation (ChessGui doesn't like that)
3. Added a wb2uci setup to the distribution so it can be loaded
   straight into a uci protocol chess gui.

AliBaba is initialized on the wb command 'new' so if you wish to test
on the command line that is is working correctly the sequence of commands 
to is >

xboard   > enter
protover > enter
new      > enter
go       > enter




Changes (1.8wb):
-------
1. Fixed a bug where Alibaba would make an
   illegal move when in check.




Changes (1.7wb):
-------
1. Fixed a King move crash bug.
2. Fixed error in 'offer draw' code.




Changes (1.6wb):
-------
1. Fix for engine process not terminating after game.
2. ICS support added



Changes (1.5wb):
-------
1. Added command line option to set hash size. 
  (this will override winboard 'memory' command &
   and default hash size of 32mb)

   Available hash sizes that can be set:

   These are the hash sizes when run under Winboard.
  (For some reason they are doubled when engine is 
   run under Arena gui)
   --------------------------------
   COMMAND                    SIZE
   --------------------------------
  -hash-3                 (   3mb )
  -hash-6                 (   6mb )
  -hash-12                (  12mb )
  -hash-22                (  22mb )
  -hash-32                (  32mb )
  -hash-82                (  82mb )
  -hash-164               ( 164mb )
           
           
 


Changes (1.4wb):
-------
1. P.V output/thinking lines now showing in Winboard.
2. Time control adjustments
3. Added 'ping' winboard command





Changes (1.3wb):
-------
1. Bad checkmate bug fixed. (AliBaba would crash if checkmated.)




Changes (1.2wb):
-------

1. Added piece square eval tables for each piece.
2. Small adjustments to time control
3. Fixed possible castling problem.
4. Implemented the new Winboard protocol command 'memory'.
   With the latest Winboard versions it is possible to set the hash size for the
   engine from within the gui (UCI menu).
   
   Allowed hash sizes in AliBaba >

   3mb  6mb  12mb  22mb  32mb  84mb  164mb   

   If other hash size is selected AliBaba will choose hash size
   which is closest in range > 
   e.g if 50mb is selected in Winboard, AliBaba will set the hash size to 
   the nearest it will use, 32mb.

   If memory command is not used, or AliBaba is used in another chess gui which
   doesn't support the 'memory' command such as Arena, AliBaba will used the default 
   hash which is set at 32mb.




Changes (1.1wb):
-------
1. Added better (clock-based) time control
2. Fixed reluctance of AliBaba to castle by adding big bonus incentive to the eval.
3. Increased hash table size to 40mb
4. Level and draw offer winboard commands added.
4. Tweaks to the evaluation.



Changes (1.0wb):
-------
1. Added Winboard protocol support.
2. Fixed castling bug.
3. New logo.


ToDo:
----
Add better time-controls.  (probably)
Fix bugs that I've missed. (definitely!)



Enjoy,

Jim Ablett. [31-12-08]