Overall, I have achieved what I set out to do with this project. While I do not have an entirely optimized game, there have been obvious speedups thus far. At this point, my parallel algorithm can achieve a 50% speedup over the sequential version on 4 processors, with promise for much more.
One whole other area which I have yet to investigate is performance over a differing number of processors. My past experience with parallelization suggests that there will be an optimal number of processors for the game to achieve a good balance between communication overhead and load balance. However, this may be difficult to analyze because the optimal number of processors may vary with the size of the tree to be searched.
All of the changes to the code explored here concern the time performance of the game. I cannot vouch for the ability of the game against an experienced player. My own experience shows that I have learned the computer's strategy and therefore I am able to beat it when I play it at the more advanced levels. The game will soundly beat my peers when played at any level. In spite of this, there are several changes to strategy that can be implemented for improved and varied playing performance. Depending on the implementation of these improvements, the game may play faster or slower.