Experiment No: 9 TITTLE: Write A Program To Implement Game Playing Algorithms: Minimax and Alpha Beta
Experiment No: 9 TITTLE: Write A Program To Implement Game Playing Algorithms: Minimax and Alpha Beta
Experiment No: 9
TITTLE: Write a Program to implement Game Playing Algorithms: Minimax and Alpha Beta
Pruning.
EXERCISE
1. Implement Game Playing Algorithms using python and Prolog:
A) Minimax B) Alpha Beta Pruning
Ans:
player, opponent = 'x', 'o'
def isMovesLeft(board) :
for i in range(3) :
for j in range(3) :
if (board[i][j] == '_') :
return True
return False
def evaluate(b) :
for row in range(3) :
if (b[row][0] == b[row][1] and b[row][1] == b[row][2]) :
if (b[row][0] == player) :
return 10
elif (b[row][0] == opponent) :
return -10
for col in range(3) :
if (b[0][col] == b[1][col] and b[1][col] == b[2][col]) :
if (b[0][col] == player) :
return 10
elif (b[0][col] == opponent) :
return -10
not isMax) )
board[i][j] = '_'
return best
else :
best = 1000
for i in range(3) :
for j in range(3) :
if (board[i][j] == '_') :
board[i][j] = opponent
board[i][j] = '_'
return best
def findBestMove(board) :
bestVal = -1000
bestMove = (-1, -1)
for i in range(3) :
for j in range(3) :
if (board[i][j] == '_') :
board[i][j] = player
board[i][j] = '_'
board = [
[ 'x', 'o', 'x' ],
[ 'o', 'o', 'x' ],
[ '_', '_', '_' ]
]
bestMove = findBestMove(board)
print("The Optimal Move is :")
print("ROW:", bestMove[0], " COL:", bestMove[1])
Output:
The value of the best Move is : 10
The Optimal Move is :
ROW: 2 COL: 2