This is the Chess app that won first prize back in 2005 for the OBEA Computer Programming Contest by Arwid (Arvydas) Bancewicz at age 17.
sourceforge.net/projects/aichess (236 downloads as of Feb 23 2012)
mac.softpedia.com/get/Games/Arvydas-Chess.shtml (224 downloads as of Feb 23 2012)
mac.softpedia.com/get/Games/Bancewicz-Chess.shtml (204 downloads as of Feb 23 2012)
Extracted from javadoc.
serves as the foundation of chess programs. It is a strategy that minimizes the maximum risk for a player, going through all of the branches in the move tree and evaluating the board position.
is a refined minimax strategy that identifies unfavorable branches in the move tree and removes them early, thus speeding up the search process. This technique is called "alfa-beta pruning".
is a variation of the "alfa-beta pruning" technique.
is a variation of alpha-beta search where all nodes outside the principal variation are searched with a minimal window beta = alpha + 1. The idea is that with perfect move ordering all moves outside the principal variation will be worse than the principal variation.
is the super class for the search algorithms. It consists of all the required utilities defining a playable chess game, such as: move definitions, composing moves from move definitions, applying board position circumstances to the move definition (eg. a piece cannot move to put it's king in check), composing lists of possible moves, and board evaluations based on piece and position costs.
Copyright © 2005 Arwid (Arvydas) Bancewicz
GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
See source/chess/GNULicence.txt for details.