************************************ *** BikMove Checkers Engine *** *** (C) 2009-2012 Aart J.C. Bik *** ************************************ *** *** The BikMove checkers engine has been developed by Aart J.C. Bik. *** This software is *not* in the public domain. However, it is *** freely available without any fee for education, research, and *** non-profit purposes. By obtaining copies of this software, you, *** the Licensee, agree to abide by the following conditions and *** understandings with respect to the copyrighted software: *** *** 1. The software is copyrighted by Aart J.C. Bik *** and he retains ownership of the software. *** *** 2. Permission to use and modify this software and its documentation *** for education, research, and non-profit purposes is hereby granted to *** Licensee, provided that the copyright notice, the original author's *** name, version identification, and this permission notice appear on *** all such works, and that no charge be made for such copies. *** *** 3. Any entity desiring permission to incorporate this software into *** commercial products should contact Aart J.C. Bik (http://www.aartbik.com/) *** *** 4. THE COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY *** OF THE SOFTWARE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS *** OR IMPLIED WARRANTY. *** *** 5. The copyright holders shall not be liable for any damages suffered *** by Licensee from the use of this software. *** *** 6. Your courtesy in mentioning the use of this checkers engine in any work *** that presents results obtained by using (extensions or modifications *** of) this software is highly appreciated. *** *** All source code of BikMove has been written by Aart Bik (except the endgame *** databases probing code, which is used with kind permission of Martin Fierz) *** as a simple after-hours project to gain experience with game programming. *** **************** *** RELEASES *** **************** *** *** v1.0 (March 2009) ***************************************************************************** *** (1) Checkerboard compliant checkers engine *** (2) Iterative deepening with alpha-beta pruning and quiescent search *** (3) Ability to query Martin Fierz' endgame databases during search *** *** v1.1 (July 2010) ***************************************************************************** *** (1) Added fixed-size transposition table *** (2) Improved evaluation function *** (3) Added "static evaluation" support for Checkerboard *** (4) Added in-memory "distance-to-win" endgame databases *** *** v1.2 (Nov 2010) ***************************************************************************** *** (1) Added internal iterative deepening to search *** (2) Configurable sizes for transposition table and endgame database cache *** (3) Improved evaluation function *** (4) Avoid querying Fierz's database when *either* side can capture *** *** v1.2.1 (Dec 2010) ***************************************************************************** *** (1) Transposition table improvements (zobrist keys and best move) *** (2) Search and evaluation function improvements *** (3) Added move ordering and tactical extensions *** *** v1.3 (April 2012) ***************************************************************************** *** (1) Added history to detect position repetition *** (2) Try to find win in known won endgames *** (3) Simple forward pruning *** (4) Evaluation function tweaks