Write a Program to Implement Alpha-Beta Pruning using Python.

import math
def alpha_beta(depth, index, max_player, values, alpha, beta):
    if depth == 3:
        return values[index]
    func = max if max_player else min
    best = -math.inf if max_player else math.inf
    for i in range(2):
        val = alpha_beta(depth + 1, index * 2 + i, not max_player, values, alpha, beta)
        best = func(best, val)
        if max_player:
            alpha = max(alpha, best)
        else:
            beta = min(beta, best)
        if beta <= alpha:
            break
    return best
values = [3, 5, 6, 9, 1, 2, 0, -1]
print("Optimal Value:", alpha_beta(0, 0, True, values, -math.inf, math.inf))