Mark Watson's "Practical Artificial Intelligence Programming with Java"

Read section 2.5 for a discussion of how to program searching and implement those ideas in Java programs for game playing. Min-max is a search strategy for two-person games whereby a move is selected by choosing the child node that has either the maximum (a player strives to maximize his/her advantage) or minimum (a player strives to minimize the other player's advantage). Alpha-Beta search is an improvement of min-max searching by eliminating, or pruning, branches from the search tree.