for move in game_state.get_possible_moves():
    child = game_state.get_next_state(move, True)
temp_max, _ = alphabeta(child, alpha, beta, False)
if temp_max > score:
    score = temp_max
best_move = move
alpha = max(alpha, score)
if beta <= alpha:
    break
return score, best_move
find best move using alphabeta TicTacToe