Once the board representation and the move generation are done, the very next step is to decide the right move from the possible moves and this really a tedious task to be accomplished across the chess game. All the possible moves are represented in the form of a tree and searching of the tree would result to the required and accurate move.
Nodes of the tree constructed represent the corresponding board positions and the possible moves against this position are represented by the branches of the tree. There are different tree searching algorithms that can be used to find the possible moves across the board. As per the calculation of Bean (2007), there are exactly 69,352,859,712,417 numbers of possible moves at the node depth of 10 in the search tree constructed. The tree searching algorithm based on their operation can be categorized in to two different types namely type A and type B.
Type A method deals with evaluating all the possible moves and the corresponding outcomes if the corresponding move is made and Type B deals with how good the move is based on the situation of the game. Recent developed chess games use the mix of both the Type A and Type B methods to decide the move in the computer chess game. Initially type A searching is done and then the actual refinement is done using the type B method to make the right move.
Once the possible moves are decided, the next step in the chess game design is to decide the possible moves of the opponent. The most famous algorithm that can be used for deciding the moves of the opponent is alpha-beta pruning algorithm and this algorithm can be used to estimate the moves of the opponents easily.