OneCompiler

Test 1

226

def alpha_beta_pruning(state, depth):
alpha = float("-inf")
beta = float("inf")
best_val = float("-inf")
best_move = None

# For all possible moves
for a in state.actions():
    # Get the state after the action is taken
    value = min_value(state.result(a), alpha, beta, depth-1)
    # Update alpha
    alpha = max(alpha, value)
    # Check if we have a new max
    if value > best_val:
        best_val = value
        best_move = a

return best_move