The board is always the same, so why wouldn't you build a tree of all possible games once, then use it to speed the calculations?
Viewing post in Alchemize AI Algorithm comments
Theoretically, building a tree of all possible games would solve this and make a perfect player.
Practically, the number of possible boards is outstandingly huge, which is very hard to compute and store. A quick lower bound I calculated is 1,542,794,480,640; meaning that if we store the next move in 6 bits (64=2^6), then it will take about 1157 GB. And that's just a lower bound.
So your solution is probably possible with a small data center and a few optimizations. It WILL create a perfect, unbeatable* player. But it will definitely not "speed up the calculations".
* Not really unbeatable, because if it plays against itself, one of them will lose. Unless, of course, every game will be a tie. We don't know. And we will probably never know.