Fisherov uses a tree algorithm to determine what moves to analyze and which ones not to. The root of the tree represents the current position. The child node available is achieved by making legal moves. So, the trees with the child nodes offer positions that can only be made by making legal moves.