Tic Tac Toe AI that will return the optimal move when given a board state and the player whose move it is. The AI will never lose (a tie is guaranteed) and will win when possible. The AI uses a minimax algorithm with alpha-beta pruning and caching for optimization.