Task structure for the problem is represented in the following picture:
For each game state we have two tasks – one game state exploration and one backtracking task. Game state exploration tasks deal with determination of possible moves from a state, and calculation of resulting states. Backtracking tasks deal with calculation of a winning player provided optimal play.
Tasks form a DAG, each task generally has several children, and several parent tasks.
Move on to Scheduling Strategy